www.gusucode.com > dsp 案例源码程序 matlab代码 > dsp/DesignOfAMultibandConstrainedArbitraryMagnitudeFilterExample.m

    %% Design Multiband Constrained Arbitrary-Magnitude Filter
% Use |fdesign.arbmag| to design a multiband constrained FIR filter.

% Copyright 2015 The MathWorks, Inc.


%%
% Force the frequency response at $0.15\pi$ rad/sample to 0 dB.

d = fdesign.arbmag('N,B,F,A,C',82,2);
d.B1Frequencies = [0 0.06 0.1];
d.B1Amplitudes = [0 0 0];
d.B2Frequencies = [0.15 1];
d.B2Amplitudes = [1 1];

%%
% Design a filter with no constraints.

Hd1 = design(d,'equiripple','B2ForcedFrequencyPoints',0.15);

%%
% Add a constraint to the first band to increase attenuation.

d.B1Constrained = true;
d.B1Ripple = 0.001;
Hd2 = design(d,'equiripple','B2ForcedFrequencyPoints',0.15);

%%
% Visualize the frequency response.

hfvt = fvtool(Hd1,Hd2);
legend(hfvt,'Original Design','Design with Constrained Stopband Ripple')