帮忙注释一下Matlab程序(关于滤波器设计)

来源:百度知道 编辑:UC知道 时间:2024/05/27 09:38:33
clear;format long;
%To design CIC filter.
cic=1/400*ones(400,1);
cic5=conv(conv((conv(cic’,cic))’,conv(cic’,cic))’,cic);
[h,f]=freqz(cic5,1,2^20,40000000);
plot(f,20*log10(abs(h))-20*log10(max(abs(h))));
title(’Amplitude Frequence Response of CIC(Fs=40M)’);
xlabel(’frequence/Hz’);ylabel(’amplitude/dB’);
%To compute the value of |H(w)|^2 at f=0,400,99600,100000,100400Hz.
h2=(abs(h)/max(abs(h))).^2;
h2_0=h2(l);
h2_400=h2(floor(400/20000000*2^20));
h2_99600=h2(floor(99600/20000000*2^20));
h2_100000=h2(floor(100000/20000000*2^20));
h2_100400=h2(floor(100400/20000000*2^20));

clear;%清除以前所有变量
format long; %长整型
%To design CIC filter.
cic=1/400*ones(400,1); %ones(400,1)是400行1列的元素全是1的矩阵
cic5=conv(conv((conv(cic’,cic))’,conv(cic’,cic))’,cic); %conv是两个矩阵和卷积
[h,f]=freqz(cic5,1,2^20,40000000); %freqz系统的频率响应
plot(f,20*log10(abs(h))-20*log10(max(abs(h)))); %plot(x,y)作出以(x,y)的所有点图
title(’Amplitude Frequence Response of CIC(Fs=40M)’); %给作出的图写上题目
xlabel(’frequence/Hz’);ylabel(’amplitude/dB’);
%给横坐标添加标签frequence/Hz,纵坐标加上标签amplitude/dB
%To compute the value of |H(w)|^2 at f=0,400,99600,100000,100400Hz.
h2=(abs(h)/max(abs(h))).^2; %abs是求绝对值 max()是计算一组数的最大值
h2_0=h2(l); 从h2中的第一个数赋给h2_0,下面的同理
h2_400=h2(floor(400/20000000*2^20)); %floor是对元素向负方向取整
h2_99600=h2(floor(99600/20000000*2^20));
h2_100000=h2(floor(100000/20000000*2^20));
h2_100400=h2(floor(100400/20000000*2^20));