打印

用FDATool设计FIR低通滤波器参数配置问题?

[复制链接]
4027|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
朝天一枪|  楼主 | 2012-10-6 11:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 朝天一枪 于 2012-10-6 11:31 编辑

  小弟正在MATLAB中用FDATool设计FIR低通滤波器,用于对ADC采样的离散数据进行滤波,单独对滤波器在simulink中进行仿真并通过,但是生成VHDL代码后在FPGA中进行实测则结果不对:

现在怀疑是不是滤波器配制时是不是有问题,基本参数配置如下 :


量化参数设置如下:







现在怀疑是不是最后面两张图的配置有问题?滤波器要求输入输出数据的长度是32位,因此设置input word length和output word length均为32,但是 fraction length则不太了解,指的是小数点的位数吗?我输出的数据就是ADC输出的原始二进制补码数据,不知道在这里设置为31位是否正确?
最后一张图是对滤波器内部参数进行设置,也不是很理解。。。。
望高人指点!










相关帖子

沙发
朝天一枪|  楼主 | 2012-10-7 11:36 | 只看该作者
经过检查  确认ADC数据的转换没有问题,应该是滤波器设置的问题,没有回答啊?

使用特权

评论回复
板凳
mr.king| | 2012-10-8 21:27 | 只看该作者
要评估乘法计算位数扩展,你是定点数吧?

使用特权

评论回复
地板
朝天一枪|  楼主 | 2012-10-9 20:10 | 只看该作者
是设置为定点计算的。
product word length 设置为输入数据宽度的两倍,应该够用吧?
这个滤波器我单独在simulink里仿真过,结果都是正确的,信号源虽然都是设置了采样率,但没有涉及到输出数据的位数。我想是不是还是设置的问题,求指教!谢谢

3# mr.king

使用特权

评论回复
5
mr.king| | 2012-10-9 21:00 | 只看该作者
两倍那够用?FIR,假设16级对称8次乘法,系数与输入一样宽度,假设为16位,第1个+第16个位宽=17位,*16位系数=23位,其他依此,8个23位相加要26位

使用特权

评论回复
6
GoldSunMonkey| | 2012-10-9 21:05 | 只看该作者
两倍那够用?FIR,假设16级对称8次乘法,系数与输入一样宽度,假设为16位,第1个+第16个位宽=17位,*16位系数=23位,其他依此,8个23位相加要26位
mr.king 发表于 2012-10-9 21:00
兄弟,谢谢啦。
我真不会这个。
他在XILINX版埋怨呢。
你帮忙回答了。谢谢啦。

使用特权

评论回复
7
朝天一枪|  楼主 | 2012-10-9 22:12 | 只看该作者
哦,我没有考虑溢出的问题,刚才直接在quartus里仿真了一下,显示滤波器是正常的,和simulink里仿真结果一致,不过我输入的波形幅度比较小。
我再试一下幅度较大的波形看下,可能还真是这个问题。
谢谢您啊!

5# mr.king

使用特权

评论回复
8
mr.king| | 2012-10-10 11:34 | 只看该作者
更正 16位*17位=33位,不是23位,之后依次改

使用特权

评论回复
9
GoldSunMonkey| | 2012-10-10 21:16 | 只看该作者
:)
Backkom80 发表于 2012-10-10 17:33
回来了?

使用特权

评论回复
10
Backkom80| | 2012-10-11 22:22 | 只看该作者
回来了?
GoldSunMonkey 发表于 2012-10-10 21:16

没呢,还在休婚假中,呵呵,
:lol

使用特权

评论回复
11
GoldSunMonkey| | 2012-10-11 22:40 | 只看该作者
没呢,还在休婚假中,呵呵,
:lol
Backkom80 发表于 2012-10-11 22:22
恭喜恭喜,结婚了?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

16

帖子

1

粉丝