📄 samp8_6.m
字号:
%采用权向量和迭代次数求滤波器系数
[b,a]=butter(4,0.4); %产生4阶Butterworth滤波器
[h,w]=freqz(b,a,64); %计算频率响应
[bb,aa]=invfreqz(h,w,3,3); %采用invfreqz求解滤波器的系数
wt=ones(size(w)); %产生权向量
niter=30; %迭代次数
[bbb,aaa]=invfreqz(h,w,3,3,wt,niter); %采用权向量和迭代次数求滤波器系数
[h1,w1]=freqz(bb,aa,w); %计算模型1的频率响应
[h2,w2]=freqz(bbb,aaa,w); %计算模型2的频率响应
plot(w/pi,abs(h),'k',w1/pi,abs(h1),'k:',w2/pi,abs(h2),'b.'); %绘制频率响应
xlabel('归一化频率');ylabel('振幅')
legend('理想模型','未采用权向量和迭代次数','采用权向量和迭代次数');
grid on
sumerr1=sum(abs(h-h1).^2) %输出模型1误差
sumerr2=sum(abs(h-h2).^2) %输出模型2误差
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -