Designs an FIR linear phase lowpass filter.

LOWPASS( |
order, rate, fc, ripple, attn, fstop, "unity_dc") |

order |
- |
Optional. An integer, the filter length. If not specified, the filter order is automatically estimated. |

rate |
- |
A real, the sample rate of the filter in Hertz. |

fc |
- |
A real, the cutoff frequency in Hertz. |

ripple |
- |
Optional. A real, the passband ripple in dB. Defaults to 3 dB. |

attn |
- |
Optional. A real, the stopband attenuation in dB. Defaults to 40 dB. |

fstop |
- |
Optional. A real, the stopband frequency
in Hertz. Defaults to |

"unity_dc" |
- |
Optional. A string, |

A series, the lowpass filter coefficients. The filter coefficients are identical to the impulse response of the FIR filter.

W1: lowpass(1000.0,100.0)

W1 creates an FIR lowpass filter with a sample rate of 1000 Hz and a cutoff frequency of 100 Hz. The stopband frequency defaults to 150 Hz. The resulting filter is 34 samples long with a passband ripple of 2.6 dB and a stopband attenuation of 49 dB.

W1: lowpass(1000.0, 100.0, 3.0, 50.0, 130.0)

W2: 20*log10(filtmag(W1, {1}, 1024))

Creates a similar filter except the desired stopband attenuation is set to 50 dB and the stopband frequency is lowered to 130 Hz. The resulting filter contains 45 samples with a passband ripple of 2.75 dB and the stopband attenuation increases to 58 dB. W2 displays the frequency response of the filter.

W1: lowpass(1000.0, 100.0, 3.0, 50.0, 130.0)

W2: gsin(1000, 1/1000, 3) + gsin(1000, 1/1000, 250)

W3: firfilterF(W2, W1)

Creates the same FIR lowpass filter as the previous example. W2 contains a series with two sinusoids and W3 applies the filter to recover the lower frequency sinewave.

The LOWPASS filter specifications are depicted as follows:

LOWPASS uses the Remez Exchange algorithm to compute the FIR filter coefficients. The Remez Exchange algorithm will attempt to meet or exceed the filter specifications with a linear phase FIR filter. Although a filter designed with the Remez Exchange algorithm exhibits passband ripple, the resulting filter generally has fewer coefficients than other FIR design methods.

The filter **order**
refers to the number of resulting filter coefficients.

The optional **"unity_dc"**
flag guarantees the resulting filter has a frequency response of 1.0 (i.e.
0 dB) at f(0).

The lowpass edges must lie between 0.0 and 0.5 * rate (the Nyquist frequency). Overlapping band edges are not permitted.

See KWLPASS to design a linear phase FIR lowpass filter with a flat passband using the Kaiser Window method.

See BESSEL, BUTTERWORTH, CHEBY1, CHEBY2 and ELLIPTIC to design IIR filters using the Bilinear Transform method.

LOWPASS requires the DADiSP/Filters Module.

Oppenheim and Schafer.

Digital Signal Processing

Prentice Hall, 1975

Digital Signal Processing Committee

Programs for Digital Signal Processing

I.E.E.E. Press, 1979