二阶数字滤波器的频率响应的matlab仿真

穿精又带淫゛_ 提交于 2020-01-23 16:51:44

用MATLAB软件仿真二阶数字滤波器的频率响应,以及极点因量化位数变化而产生的影响,画出8bit量化与原系统的频率响应图,二阶数字滤波器的系统函数如下:

在这里插入图片描述

B=8;             %量化位数
Fs=1000;         %采样频率
a=[1 1.7 0.745]; %系统函数
b=[0.05];
Ps=roots(a);
[Ph,Pf]=freqz(b,a,1024,Fs);  %求频率响应

%归一化处理
c=[a b];
Max=max(abs(c));
a=a/Max;
b=b/Max;
%截尾处理
Ra=floor(a*(2^(B-1)-1));
Rb=floor(b*(2^(B-1)-1));
PRs=roots(Ra)
[PRh,PRf]=freqz(Rb,Ra,2048,Fs);  %求频率响应

%PRmag=abs(PRh);  %幅度转换成dB单位  
%Pmag=abs(Ph);    %幅度转换成dB单位  
PRmag=20*log(abs(PRh))/log(10);  %幅度转换成dB单位  
Pmag=20*log(abs(Ph))/log(10);    %幅度转换成dB单位    
plot(Pf,Pmag,'-',PRf,PRmag,'--');
legend('原系统响应','8bit量化后的响应')
xlabel('频率(Hz)'); ylabel('幅度(dB)');
grid;

在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!