buttord
Design a Butterworth filter.
Syntax
[n,Wn] = buttord(Wp,Ws,Rp,Rs,domain)
Inputs
- Wp
- A scalar specifying the passband frequency of a low or high pass filter, or a two element vector specifying the passband frequencies of a bandpass or bandstop filter. For a digital filter the values (in Hz) are normalized relative to the Nyquist frequency. For an analog filter the values are in radians/sec.
- Ws
- A scalar specifying the stopband frequency of a low or high pass filter, or a two element vector specifying the stopband frequencies of a bandpass or bandstop filter. For a digital filter the values (in Hz) are normalized relative to the Nyquist frequency. For an analog filter the values are in radians/sec.
- Rp
- The maximum attenuation in decibels at Wp.
- Rs
- The minimum attenuation in decibels at Ws.
- domain
-
- Use 'z' for digital filters (default).
- Use 's' for analog filters.
Outputs
- n
- The lowest filter order that will meet the requirements.
- Wn
- Normalized frequency input for which the requirement is met.
Example
Design a digital Butterworth filter with no more than 1 dB attenuation at 100 Hz and at least 20 dB attenuation at 200 Hz, with a 1000 Hz sampling frequency.
[n,Wn] = buttord(100/500, 200/500, 1, 20)
n = 4
Wn = 0.2338
Comments
In general, there are a range of corner frequencies for which the requirements can be met at the lowest order. If Rp ~= 3.0103 (the half-power point) then Wp is the smallest passband meeting the design requirement. Wn is the largest passband meeting the design requirement.