DADiSP Worksheet Functions > Function Categories > Fourier Transforms and Signal Processing > FIRSAMP
Designs an arbitrary FIR filter using frequency sampling.
FIRSAMP(f, m)
f |
- |
An XY series specifying the desired frequencies (in Hertz) and magnitudes of the filter or an explicit series specifying the frequencies only. |
m |
- |
Optional. A series, the explicit desired magnitudes. |
A series.
W1: {0, 1, 10, 20, 30}
W2: {1, 1, 2, 0, 0}
W3: xy(W1, W2)
W4: firsamp(W3)
W5: mag(fft(W4, bestpow2(length(W4))))
W4 contains a 61 point linear phase FIR filter. The filter has unity gain from 0 through 1 Hz and a gain of 2 at 10 Hz. W5 shows the magnitude response of the filter.
firsamp(W1, W2)
same as above except the frequencies and magnitudes are specified explicitly.
FIRSAMP sorts the input frequencies in ascending order. If a frequency of 0 Hz is not specified, a 0 Hz term equal to the magnitude of the frequency nearest 0 is added to the list.
FIRSAMP produces non-causal filters with linear phase.
See ZPFCOEF to convert an analog filter specification to a digital filter.