| Signal Processing Toolbox | Search  Help Desk |
| fircls1 | Examples See Also |
Constrained least square filter design for lowpass and highpass linear phase FIR filters.
Syntax
b = fircls1(n,wo,dp,ds)
b = fircls1(n,wo,dp,ds,'high')
b = fircls1(n,wo,dp,ds,wt)
b = fircls1(n,wo,dp,ds,wt,'high')
b = fircls1(n,wo,dp,ds,wp,ws,k)
b = fircls1(n,wo,dp,ds,wp,ws,k,'high')
b = fircls1(n,wo,dp,ds,,'design_flag')
Description
b = fircls1(n,wo,dp,ds)
generates a lowpass FIR filter b. n+1 is the filter length, wo is the normalized cutoff frequency in the range between 0 and 1 (where 1 corresponds to half the sampling frequency, that is, the Nyquist frequency), dp is the maximum passband deviation from 1 (passband ripple), and ds is the maximum stopband deviation from 0 (stopband ripple).
b = fircls1(n,wo,dp,ds,'high')
generates a highpass FIR filter b.
b = fircls1(n,wo,dp,ds,wt)
and
b = fircls1(n,wo,dp,ds,wt,'high')
specify a frequency wt above which (for wt>wo) or below which (for wt<wo) the filter is guaranteed to meet the given band criterion. This will help you design a filter that meets a passband or stopband edge requirement. There are four cases:
0<wt<wo<1: the amplitude of the filter is within dp of 1 over the frequency range 0 <
< wt.
0<wo<wt<1: the amplitude of the filter is within ds of 0 over the frequency range wt <
< 1.
0<wt<wo<1: the amplitude of the filter is within ds of 0 over the frequency range 0 <
< wt.
0<wo<wt<1: the amplitude of the filter is within dp of 1 over the frequency range wt <
< 1.
b = fircls1(n,wo,dp,ds,wp,ws,k)
generates a lowpass FIR filter b with a weighted function. n+1 is the filter length, wo is the normalized cutoff frequency, dp is the maximum passband deviation from 1 (passband ripple), and ds is the maximum stopband deviation from 0 (stopband ripple). wp is the passband edge of the L2 weight function and ws is the stopband edge of the L2 weight function, where wp < wo < ws. k is the ratio (passband L2 error)/(stopband L2 error):
b = fircls1(n,wo,dp,ds,wp,ws,k,'high')
generates a highpass FIR filter b with a weighted function, where ws < wo < wp.
b = fircls1(n,wo,dp,ds,,'design_flag')
enables you to monitor the filter design, where design_flag can be
trace, for a textual display of the design table used in the design
plots, for plots of the filter's magnitude, group delay, and zeros and poles
both, for both the textual display and plots
dp and ds, there may not exist a filter of the given length that meets the specifications.
Example
Design an order 55 lowpass filter with a cutoff frequency at 0.3:n = 55; wo = 0.3; dp = 0.02; ds = 0.008; b = fircls1(n,wo,dp,ds,'plots'); % plot magnitude response
![]()
Algorithm
The algorithm is a multiple exchange algorithm that uses Lagrange multipliers and Kuhn-Tucker conditions on each iteration.See Also
fircls |
Constrained least square FIR filter design for multiband filters. |
firls |
Least square linear-phase FIR filter design. |
remez |
Parks-McClellan optimal FIR filter design. |
References
[1] Selesnick, I.W., M. Lang, and C.S. Burrus. "Constrained Least Square Design of FIR Filters without Specified Transition Bands." Proceedings of the IEEE Int. Conf. Acoust., Speech, Signal Processing. Vol. 2 (May 1995). Pgs. 1260-1263. [2] Selesnick, I.W., M. Lang, and C.S. Burrus. "Constrained Least Square Design of FIR Filters without Specified Transition Bands." IEEE Transactions on Signal Processing, Vol. 44, No. 8 (August 1996).