butter: Generate a Butterworth filter.

View source: R/butter.R

butterR Documentation

Generate a Butterworth filter.

Description

Generate Butterworth filter polynomial coefficients.

Usage

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

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

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.

Details

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

Value

An Arma object with list elements:

b

moving average (MA) polynomial coefficients

a

autoregressive (AR) polynomial coefficients

Author(s)

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

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

  bf <- butter(4, 0.1)
  freqz(bf)
  zplane(bf)

signal documentation built on Nov. 27, 2023, 5:11 p.m.

Related to butter in signal...