signal (version 0.7-6)

ellip: Elliptic or Cauer filter

Description

Generate an Elliptic or Cauer filter (discrete and continuous).

Usage

# S3 method for default
ellip(n, Rp, Rs, W, type = c("low", "high", "stop",
"pass"), plane = c("z", "s"), …)

# S3 method for FilterOfOrder ellip(n, Rp = n$Rp, Rs = n$Rs, W = n$Wc, type = n$type, …)

Arguments

n

filter order or generic filter model

Rp

dB of pass band ripple

Rs

dB of stop band ripple

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 ellip, overriding those given by n of class FilterOfOrder.

Value

An Arma object with list elements:

b

moving average (MA) polynomial coefficients

a

autoregressive (AR) polynomial coefficients

Details

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

References

Oppenheim, Alan V., Discrete Time Signal Processing, Hardcover, 1999.

Parente Ribeiro, E., Notas de aula da disciplina TE498 - Processamento Digital de Sinais, UFPR, 2001/2002.

http://en.wikipedia.org/wiki/Elliptic_filter

Octave Forge http://octave.sf.net

See Also

Arma, filter, butter, cheby1, and ellipord

Examples

Run this code
# NOT RUN {
  # compare the frequency responses of 5th-order Butterworth and elliptic filters.
  bf <- butter(5, 0.1)
  ef <- ellip(5, 3, 40, 0.1)
  bfr <- freqz(bf)
  efr <- freqz(ef)
  plot(bfr$f, 20 * log10(abs(bfr$h)), type = "l", ylim = c(-50, 0),
       xlab = "Frequency, radians", ylab = c("dB"))
  lines(efr$f, 20 * log10(abs(efr$h)), col = "red")
# }

Run the code above in your browser using DataCamp Workspace