| FIR1 |
Mit diesem Befehl können die Filterkoeffizienten
von FIR-Filtern
berechnet werden. (Finite Impulse Response, endliche Impulsantwort)
Dabei ist
N - die Filterordnung
Wn - die Grenzfrequenz
Die Grenzfrequenz Wn ist ein Wert zwischen
0 und 1, dabei entspricht
1 der halben Abtastfrequenz.
2 * fg
Grenzfrequenz
Wn = -------
fT
Abtastfrequenz
» freqz ( fir1(32, 0.25) );
Tiefpass
» freqz( fir1(32, 0.25, 'high' ) );
Hochpass
Berechnet einen FIR-Filter 32. Ordnung.
Bei einer Abtastfrequenz von 10 kHz ist die Grenzfrequenz 1.25 kHz.
Standardmäßig wird ein Hamming-Fenster benutzt.

Tiefpass 32. Ordnung; Grenzfrequenz 0.25; Hamming-Fenster

Tiefpass 32. Ordnung; Grenzfrequenz 0.25; Hamming-Fenster
Wird für Wn ein 2-Element Vektor
angegeben, so kann ein Bandpass
oder eine Bandsperre berechnet werden.
» b=fir1( 32, [0.25 0.5 ] );
Bandpass
» b=fir1( 32, [0.25 0.5 ], 'stop' ); Bandsperre
Standardmäßig wird ein Hamming-Fenster benutzt.

Bandpass 32. Ordnung; Grenzfrequenzen 0.25 und 0.5; Hamming-Fenster

Bandsperre 32. Ordnung; Grenzfrequenz 0.25 und 0.5;
Hamming-Fenster
Andere Fensterfunktionen können wie folgt angegeben werden:
Allgemein: fir1( N, Wn, boxcar(N+1) );
» b=fir1( 32, 0.25, boxcar(33) );
» b=fir1( 32, 0.25, 'high', blackman(33) );
» b=fir1( 32, [0.25 0.5 ], 'stop', bartlett(33) );
» help fir1
FIR1 FIR filter design using the window method.
B = FIR1(N,Wn) designs an N'th order lowpass FIR digital filter
and returns the filter coefficients in length N+1 vector B.
The cut-off frequency Wn must be between 0 < Wn < 1.0, with 1.0
corresponding to half the sample rate. The filter B is real and
has linear phase, i.e., even symmetric coefficients obeying B(k) =
B(N+2-k), k = 1,2,...,N+1.
If Wn is a two-element vector, Wn = [W1 W2], FIR1 returns an
order N bandpass filter with passband W1 < W < W2.
B = FIR1(N,Wn,'high') designs a highpass filter.
B = FIR1(N,Wn,'stop') is a bandstop filter if Wn = [W1 W2].
If Wn is a multi-element vector,
Wn = [W1 W2 W3 W4 W5 ... WN],
FIR1 returns an order N multiband filter with bands
0 < W < W1, W1 < W < W2, ..., WN < W < 1.
B = FIR1(N,Wn,'DC-1') makes the first band a passband.
B = FIR1(N,Wn,'DC-0') makes the first band a stopband.
For filters with a passband near Fs/2, e.g., highpass
and bandstop filters, N must be even.
By default FIR1 uses a Hamming window. Other available windows,
including Boxcar, Hanning, Bartlett, Blackman, Kaiser and Chebwin
can be specified with an optional trailing argument. For example,
B = FIR1(N,Wn,kaiser(N+1,4)) uses a Kaiser window with beta=4.
B = FIR1(N,Wn,'high',chebwin(N+1,R)) uses a Chebyshev window.
By default, the filter is scaled so the center of the first pass band
has magnitude exactly one after windowing. Use a trailing 'noscale'
argument to prevent this scaling, e.g. B = FIR1(N,Wn,'noscale'),
B = FIR1(N,Wn,'high','noscale'), B = FIR1(N,Wn,wind,'noscale').
See also KAISERORD, FIRCLS1, FIR2, FIRLS, FIRCLS, CREMEZ,
REMEZ, FREQZ, FILTER.