Learn R Programming

signal (version 0.5)

ellipord: Elliptic filter order and cutoff

Description

Compute discrete elliptic filter order and cutoff for the desired response characteristics.

Usage

ellipord(Wp, Ws, Rp, Rs)

Arguments

Wp, Ws
pass-band and stop-band edges. For a low-pass or high-pass filter, Wp and Ws are scalars. For a band-pass or band-rejection filter, both are vectors of length 2. For a low-pass filter, Wp < Ws. For a high-pass
Rp
allowable decibels of ripple in the pass band.
Rs
minimum attenuation in the stop band in dB.

Value

  • An object of class FilterOfOrder with the following list elements:
  • nfilter order
  • Wccutoff frequency
  • typefilter type, one of "low", "high", "stop", or "pass"
  • RpdB of pass band ripple
  • RsdB of stop band ripple
  • This object can be passed directly to ellip to compute discrete filter coefficients.

References

Lamar, Marcus Vinicius, Notas de aula da disciplina TE 456 - Circuitos Analogicos II, UFPR, 2001/2002. Octave Forge http://octave.sf.net

See Also

Arma, filter, butter, cheby1, and ellipord

Examples

Run this code
Fs = 10000
elord = ellipord(1000/(Fs/2), 1200/(Fs/2), 0.5, 29)
plot(c(0, 1000, 1000, 0, 0), c(0, 0, -0.5, -0.5, 0),
     type = "l", xlab = "Frequency (Hz)", ylab = "Attenuation (dB)")
el1 = ellip(elord)
plot(c(0, 1000, 1000, 0, 0), c(0, 0, -0.5, -0.5, 0),
     type = "l", xlab = "Frequency (Hz)", ylab = "Attenuation (dB)",
     col = "red", ylim = c(-35,0), xlim = c(0,2000))
lines(c(5000, 1200, 1200, 5000, 5000), c(-1000, -1000, -29, -29, -1000),
      col = "red")
hf = freqz(el1, Fs = Fs)
lines(hf$f, 20*log10(abs(hf$h)))

Run the code above in your browser using DataLab