Learn R Programming

signal (version 1.8-0)

butter: Generate a Butterworth filter.

Description

Generate Butterworth filter polynomial coefficients.

Usage

# S3 method for default
butter(n, W, type = c("low", "high", "stop", "pass"),
plane = c("z", "s"), ...)

# S3 method for FilterOfOrder butter(n, ...)

Value

An Arma object with list elements:

b

moving average (MA) polynomial coefficients

a

autoregressive (AR) polynomial coefficients

Arguments

n

filter order or generic filter model

W

critical frequencies of the filter. W must be a scalar for low-pass and high-pass filters, and W must be a two-element vector c(low, high) specifying the lower and upper bands. For digital filters, W must be between 0 and 1 where 1 is the Nyquist frequency.

type

Filter type, one of "low" for a low-pass filter, "high" for a high-pass filter, "stop" for a stop-band (band-reject) filter, or "pass" for a pass-band filter.

plane

"z" for a digital filter or "s" for an analog filter.

...

additional arguments passed to butter, overriding those given by n of class FilterOfOrder.

Author

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

Details

Because butter is generic, it can be extended to accept other inputs, using "buttord" to generate filter criteria for example.

References

Proakis & Manolakis (1992). Digital Signal Processing. New York: Macmillan Publishing Company.

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

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

See Also

Arma, filter, cheby1, ellip, and buttord

Examples

Run this code
  bf <- butter(4, 0.1)
  freqz(bf)
  zplane(bf)

Run the code above in your browser using DataLab