概述
方法简介
用matlab设计滤波器后,可以用fvtool来看滤波器的频响,比如根据滤波器的系数:
fircoe = [0.018641, 0.018275,-0.020377,-0.071243,-0.049673,...
0.094562, 0.28841, 0.37949, 0.28841, 0.094562,-0.049673,...
-0.071243,-0.020377, 0.018275, 0.018641];
fvtool(fircoe);
实验验证
用Fdatool工具生成低通滤波器
1、点击“文件-导出”,导出滤波器系数
滤波器系数为:
Num = [0.189743041992188 0.00287628173828125 -0.0145111083984375 -0.0372161865234375 -0.0569534301757813 -0.0644531250000000 -0.0534057617187500 -0.0215911865234375 0.0274047851562500 0.0844116210937500 0.137962341308594 0.176025390625000 0.189590454101563 0.176025390625000 0.137962341308594 0.0844116210937500 0.0274047851562500 -0.0215911865234375 -0.0534057617187500 -0.0644531250000000 -0.0569534301757813 -0.0372161865234375 -0.0145111083984375 0.00287628173828125 0.189743041992188]
根据滤波器系数
fvtool(Num);
2、保存为16进制数,用于verilog fir的设计
导出的16进制数为:
根据16进制数画滤波器
A = [hex2dec('6126'),hex2dec('0179'),hex2dec('F892'),hex2dec('ECF2'),hex2dec('E2D7'),hex2dec('DF00'),hex2dec('E4A8'),hex2dec('F4F2'),hex2dec('0E08'),hex2dec('2B38'),...
hex2dec('46A3'),hex2dec('5A20'),hex2dec('6112')]
B = fliplr(A(1:12))
data = [A,B]
for i=1:length(data)
if(data(i) > 2^16/2-1)%8位宽的数据有符号数据取值范围[-128,127],(2^8/2-1=127),根据实际位宽修改
data(i) = data(i) - 2^16;
else
data(i) = data(i);
end
end
fircoe = data./65536
fvtool(fircoe);
最后
以上就是飘逸冰棍为你收集整理的matlab fvtool 滤波器频响的全部内容,希望文章能够帮你解决matlab fvtool 滤波器频响所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复