用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;
来源:CSDN
作者:里程。。
链接:https://blog.csdn.net/qq_43534451/article/details/104075644