Kollade lite gamla labbar igårkväll...
lek lite med kommandot remez()
>>help remez %gäller nog här
Det är ett fiiiint verktyg för att tillverka faslinjära FIR-filter
"Parks-McClellan optimal equiripple FIR filter design.
B=REMEZ(N,F,A) returns a length N+1 linear phase (real, symmetric coefficients) FIR filter which has the best approximation to the desired frequency response described by F and A in the minimax sense."
Ett annat rätt så användbart kommando...
>>freqz
" [H,W] = FREQZ(B,A,N) returns the N-point complex frequency response
vector H and the N-point frequency vector W in radians/sample of
the filter:
jw -jw -jmw
jw B(e) b(1) + b(2)e + .... + b(m+1)e
H(e) = ---- = ------------------------------------
jw -jw -jnw
A(e) a(1) + a(2)e + .... + a(n+1)e
given numerator and denominator coefficients in vectors B and A. The
frequency response is evaluated at N points equally spaced around the
upper half of the unit circle. If N isn't specified, it defaults to
512."
Sen så finns ju färdiga funktioner för Butterworth eller Chebyshev filter.. butter() cheby1, cheby2 där man anger gränsfrekvens och ordning så får man en färdig överföringsfunktion... (simulerar analoga filter).
fir1 och fir2 är inte heller dumma....
Sen så finns ju självklart funktioner som laplace, ilaplace, ztrans och fourier för att göra livet enkelt...
Vill man veta rötterna hos ett jobbigt polynom...
skriv roots(x) och vips...
Sade jag någon gång att jag gillar Matlab
