Learn R Programming

signal (version 1.8-0)

fir1: FIR filter generation

Description

FIR filter coefficients for a filter with the given order and frequency cutoff.

Usage

fir1(n, w, type = c("low", "high", "stop", "pass", "DC-0", "DC-1"), 
     window = hamming(n + 1), scale = TRUE)

Value

The FIR filter coefficients, an array of length(n+1), of class Ma.

Arguments

n

order of the filter (1 less than the length of the filter)

w

band edges, strictly increasing vector in the range [0, 1], where 1 is the Nyquist frequency. A scalar for highpass or lowpass filters, a vector pair for bandpass or bandstop, or a vector for an alternating pass/stop filter.

type

character specifying filter type, one of "low" for a low-pass filter, "high" for a high-pass filter, "stop" for a stop-band (band-reject) filter, "pass" for a pass-band filter, "DC-0" for a bandpass as the first band of a multiband filter, or "DC-1" for a bandstop as the first band of a multiband filter.

window

smoothing window. The returned filter is the same shape as the smoothing window.

scale

whether to normalize or not. Use TRUE or 'scale' to set the magnitude of the center of the first passband to 1, and FALSE or 'noscale' to not normalize.

Author

Original Octave version by Paul Kienzle, pkienzle@user.sf.net. Conversion to R by Tom Short.

References

https://en.wikipedia.org/wiki/Fir_filter

Octave Forge https://octave.sourceforge.io/

See Also

filter, Ma, fftfilt, fir2

Examples

Run this code
freqz(fir1(40, 0.3))
freqz(fir1(10, c(0.3, 0.5), "stop"))
freqz(fir1(10, c(0.3, 0.5), "pass"))

Run the code above in your browser using DataLab