[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: More Fun With Filters



PureBytes Links

Trading Reference Links

There is a BESSEL filter generator in Matlab.

Looks like an exponential moving average for the 1-st
order. The B vector has all components equal to zero
except for the last one for Bessel filter.

My understanding is that Bessel filter best preserves
the waveform and has little ringing and overshoot. It
is interesting what one gets if he cascades Bessel
filters... T3 is cascaded EMA's, but EMA is 1-st order
Bessel filter. What about higher order?

Sergey Efremov


 help besself

 BESSELF  Bessel analog filter design.
    [B,A] = BESSELF(N,Wn) designs an N'th order
lowpass analog
    Bessel filter and returns the filter coefficients
in length
    N+1 vectors B and A.  The cut-off frequency Wn
must be
    greater than 0.
 
    If Wn is a two-element vector, Wn = [W1 W2],
BESSELF returns an 
    order 2N bandpass filter with passband  W1 < W <
W2.
    [B,A] = BESSELF(N,Wn,'high') designs a highpass
filter.
    [B,A] = BESSELF(N,Wn,'stop') is a bandstop filter
if Wn = [W1 W2].
    
    When used with three left-hand arguments, as in
    [Z,P,K] = BESSELF(...), the zeros and poles are
returned in
    length N column vectors Z and P, and the gain in
scalar K. 
 
    When used with four left-hand arguments, as in
    [A,B,C,D] = BESSELF(...), state-space matrices are
returned.
 
    See also BESSELAP, BUTTER, CHEBY1, CHEBY2, FREQZ
and FILTER.

 help filter

 FILTER One-dimensional digital filter.
    Y = FILTER(B,A,X) filters the data in vector X
with the
    filter described by vectors A and B to create the
filtered
    data Y.  The filter is a "Direct Form II
Transposed"
    implementation of the standard difference
equation:
 
    a(1)*y(n) = b(1)*x(n) + b(2)*x(n-1) + ... +
b(nb+1)*x(n-nb)
                          - a(2)*y(n-1) - ... -
a(na+1)*y(n-na)
 
    If a(1) is not equal to 1, FILTER normalizes the
filter
    coefficients by a(1). 
 
    When X is a matrix, FILTER operates on the columns
of X.  When X
    is an N-D array, FILTER operates along the first
non-singleton
    dimension.
 
    [Y,Zf] = FILTER(B,A,X,Zi) gives access to initial
and final
    conditions, Zi and Zf, of the delays.  Zi is a
vector of length
    MAX(LENGTH(A),LENGTH(B))-1 or an array of such
vectors, one for
    each column of X.
 
    FILTER(B,A,X,[],DIM) or FILTER(B,A,X,Zi,DIM)
operates along the
    dimension DIM.
 
    See also FILTER2, FILTFILT (in the Signal
Processing Toolbox).