这个例子说明了如何设计出各种与FIR和IIR数字滤波器designfilt
功能在信号处理Toolbox®产物。
画廊是专为您找出关注的滤波器响应,查看代码,并在自己的项目中使用它。它包含了每个所提供的可用滤波器响应的例子designfilt
。但是请注意,这些只是一小部分,可以在其中对每个响应式设计滤波器的可能途径。为了规范集一个详尽的列表,请参阅信号处理工具箱文档。
除非另有说明,在该示例的所有频率的单位是赫兹,并且所有纹波和衰减值以分贝。
等波纹设计
Fpass = 100;FSTOP = 150;Apass = 1;ASTOP = 65;FS = 1E3;d = designfilt('lowpassfir',...'PassbandFrequency',Fpass,'StopbandFrequency',FSTOP,...'PassbandRipple',通过,'StopbandAttenuation',ASTOP,...'DesignMethod',“等波纹”,'采样率',FS);fvtool(d)
最大平设计
Fpass = 100;FSTOP = 150;Apass = 0.5;ASTOP = 65;FS = 1E3;d = designfilt('lowpassiir',...'PassbandFrequency',Fpass,'StopbandFrequency',FSTOP,...'PassbandRipple',通过,'StopbandAttenuation',ASTOP,...'DesignMethod','牛油','采样率',FS);fvtool(d)
纹波在通带和阻带
N = 8;Fpass = 100;Apass = 0.5;ASTOP = 65;FS = 1E3;d = designfilt('lowpassiir',...'FilterOrder',N,...'PassbandFrequency',Fpass,...'PassbandRipple',通过,'StopbandAttenuation',ASTOP,...'采样率',FS);fvtool(d)
等波纹设计
FSTOP = 350;Fpass = 400;ASTOP = 65;Apass = 0.5;FS = 1E3;d = designfilt('highpassfir','StopbandFrequency',FSTOP,...'PassbandFrequency',Fpass,'StopbandAttenuation',ASTOP,...'PassbandRipple',通过,'采样率',FS,'DesignMethod',“等波纹”);fvtool(d)
最大平设计
FSTOP = 350;Fpass = 400;ASTOP = 65;Apass = 0.5;FS = 1E3;d = designfilt('highpassiir','StopbandFrequency',FSTOP,...'PassbandFrequency',Fpass,'StopbandAttenuation',ASTOP,...'PassbandRipple',通过,'采样率',FS,'DesignMethod','牛油');fvtool(d)
纹波在通带和阻带
N = 8;Fpass = 400;ASTOP = 65;Apass = 0.5;FS = 1E3;d = designfilt('highpassiir',...'FilterOrder',N,...'PassbandFrequency',Fpass,...'StopbandAttenuation',ASTOP,'PassbandRipple',通过,...'采样率',FS);fvtool(d)
等波纹设计
Fstop1 = 150;Fpass1 = 200;Fpass2 = 300;Fstop2 = 350;Astop1 = 65;Apass = 0.5;Astop2 = 65;FS = 1E3;d = designfilt('bandpassfir',...'StopbandFrequency1',Fstop1,'PassbandFrequency1',Fpass1,...'PassbandFrequency2',Fpass2,'StopbandFrequency2',Fstop2,...'StopbandAttenuation1',Astop1,'PassbandRipple', 通过,...'StopbandAttenuation2',Astop2,...'DesignMethod',“等波纹”,'采样率',FS);fvtool(d)
非对称频段的衰减
N = 50;Fstop1 = 150;Fpass1 = 200;Fpass2 = 300;Fstop2 = 350;Wstop1 = 3;Wstop2 = 100;FS = 1E3;d = designfilt('bandpassfir',...'FilterOrder',N,...'StopbandFrequency1',Fstop1,'PassbandFrequency1',Fpass1,...'PassbandFrequency2',Fpass2,'StopbandFrequency2',Fstop2,...'StopbandWeight1',Wstop1,'StopbandWeight2',Wstop2,...'DesignMethod',“等波纹”,'采样率',FS);fvtool(d)
最大平设计
Fstop1 = 150;Fpass1 = 200;Fpass2 = 300;Fstop2 = 350;Astop1 = 65;Apass = 0.5;Astop2 = 65;FS = 1E3;d = designfilt('bandpassiir',...'StopbandFrequency1',Fstop1,'PassbandFrequency1',Fpass1,...'PassbandFrequency2',Fpass2,'StopbandFrequency2',Fstop2,...'StopbandAttenuation1',Astop1,'PassbandRipple', 通过,...'StopbandAttenuation2',Astop2,...'DesignMethod','牛油','采样率',FS);fvtool(d)
纹波在通带和阻带
N = 8;Fpass1 = 200;Fpass2 = 300;Astop1 = 65;Apass = 0.5;Astop2 = 65;FS = 1E3;d = designfilt('bandpassiir',...'FilterOrder',N,...'PassbandFrequency1',Fpass1,'PassbandFrequency2',Fpass2,...'StopbandAttenuation1',Astop1,'PassbandRipple', 通过,...'StopbandAttenuation2',Astop2,...'采样率',FS);fvtool(d)
等波纹设计
Fpass1 = 100;Fstop1 = 150;Fstop2 = 350;Fpass2 = 400;Apass1 = 0.5;ASTOP = 65;Apass2 = 0.5;FS = 1E3;d = designfilt('bandstopfir',...'PassbandFrequency1',Fpass1,'StopbandFrequency1',Fstop1,...'StopbandFrequency2',Fstop2,'PassbandFrequency2',Fpass2,...'PassbandRipple1',Apass1,'StopbandAttenuation',ASTOP,...'PassbandRipple2',Apass2,...'DesignMethod',“等波纹”,'采样率',FS);fvtool(d)
非对称通带波纹
N = 30;Fpass1 = 100;Fstop1 = 150;Fstop2 = 350;Fpass2 = 400;Wpass1 = 1;Wpass2 = 10;FS = 1E3;d = designfilt('bandstopfir',...'FilterOrder',N,...'PassbandFrequency1',Fpass1,'StopbandFrequency1',Fstop1,...'StopbandFrequency2',Fstop2,'PassbandFrequency2',Fpass2,...'PassbandWeight1',Wpass1,'PassbandWeight2',Wpass2,...'DesignMethod',“等波纹”,'采样率',FS);fvtool(d)
最大平设计
Fpass1 = 100;Fstop1 = 150;Fstop2 = 350;Fpass2 = 400;Apass1 = 0.5;ASTOP = 65;Apass2 = 0.5;FS = 1E3;d = designfilt('bandstopiir',...'PassbandFrequency1',Fpass1,'StopbandFrequency1',Fstop1,...'StopbandFrequency2',Fstop2,'PassbandFrequency2',Fpass2,...'PassbandRipple1',Apass1,'StopbandAttenuation',ASTOP,...'PassbandRipple2',Apass2,...'DesignMethod','牛油','采样率',FS);fvtool(d)
纹波在通带和阻带
N = 8;Fpass1 = 125;Fpass2 = 375;Apass = 0.5;ASTOP = 65;FS = 1E3;d = designfilt('bandstopiir',...'FilterOrder',N,...'PassbandFrequency1',Fpass1,'PassbandFrequency2',Fpass2,...'PassbandRipple',通过,'StopbandAttenuation',ASTOP,...'采样率',FS);fvtool(d)
单频任意幅度设计
N = 300;%频率在归一化单位F1 = 0:0.01:0.18;F2 = [0.2 0.38 0.4 0.55 0.562 0.585 0.6 0.78];F3 = 0.79:0.01:1;FreqVect = [F1 F2 F3];频率的%矢量%使用线性单位定义所需响应A1 = 0.5 + SIN(2 * PI * 7.5 * F1)/ 4;%正弦节A2 = [0.5 2.3 1 1 -.2 -.2 1 1];%分段线性部A3 = 0.2 + 18 *(1-F3)^ 2。%二次节AmpVect = [A1 A2 A3];d = designfilt('arbmagfir',...'FilterOrder',N,“振幅”,AmpVect,“频率”,FreqVect,...'DesignMethod','freqsamp');fvtool(d,'MagnitudeDisplay',“零相”)
多频段低通设计与阻带台阶的衰减水平
N = 150;B = 2;乐队的数量%%频率在归一化单位F1 = [0 0.25];%通带F2 = [0.3 0.4 0.401 0.5 0.501 0.6 0.601 0.7 0.701 0.8 0.801 0.9 0.901 1];%阻带A1 =酮(尺寸(F1));以线性单位%期望振幅用于频带1A2 =零(大小(F2));以线性单位%期望振幅为带2权重向量%W = 10 ^([0 0 5 5 10 10 15 15 20 20 25 25 30 30 35 35/20)。W1 = W(1:2);用于频带1%重量W2 = W(3:结束);用于频带2%重量d = designfilt('arbmagfir',...'FilterOrder',N,'NumBands',B,...'BandFrequencies1',F1,'BandAmplitudes1',A1,...'BandFrequencies2',F2,'BandAmplitudes2',A2,...'BandWeights1',W1,'BandWeights2',W2);fvtool(d)
全频设计
N = 41;FS = 1E3;d = designfilt('differentiatorfir',...'FilterOrder',N,'DesignMethod',“等波纹”,'采样率',FS);fvtool(d,'MagnitudeDisplay',“零相”,'OverlayedAnalysis','相')
部分频段设计
N = 40;Fpass = 100;FSTOP = 150;FS = 1E3;d = designfilt('differentiatorfir',...'FilterOrder',N,...'PassbandFrequency',Fpass,'StopbandFrequency',FSTOP,...'DesignMethod',“等波纹”,'采样率',FS);fvtool(d,'MagnitudeDisplay',“零相”,'OverlayedAnalysis','相')
等波纹设计
N = 40;总重量= 50;FS = 1E3;d = designfilt('hilbertfir',...'FilterOrder',N,'TransitionWidth',TW,...'DesignMethod',“等波纹”,'采样率',FS);fvtool(d,'MagnitudeDisplay',“零相”,'OverlayedAnalysis','相')