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

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

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))

[B,A]=butter(7,0.596,'s')

% 巴特沃兹低通滤波器级数7,截止频率0.596

[num,den]=impinvar(B,A,1)

% 转为数字滤波州磨,采样频率1HZ

[h,w]=freqz(num,den,512)

% 计算频率响应,用512采样值计算

plot(w/pi,20*log10(abs(h)))grid

axis([0 1 -60 5])

xlabel('\omega/\pi')ylabel('Gain,in dB')

title('Gain response')

% 画出频率响应曲线,横轴频卜悄率,单位赫型迹渣兹,纵轴幅值,单位分贝


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12449706.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存