在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5756|回复: 8

[求助] FPGA实现FIR滤波器时,系数位宽怎么确定

[复制链接]
发表于 2012-7-9 19:56:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
如题,一般用matlab设计滤波器的时候,得出的系数都是无限精度小数,用FPGA实现的话必须化为定点整数,那么要多少位宽是怎么确定的呢?
发表于 2012-7-9 22:07:12 | 显示全部楼层
FPGA的位宽取决于你的最终设计要求,如果你使用Mathworks HDL Design Flow,其中有一个环节就是浮点到定点的转换,Matlab会帮你算出量化误差供你选择。

如果你不用HDL Design Flow,我没用过,不过我觉得滤波器工具箱应该有Fixed Point的工具。

欢迎有经验的加入讨论。
发表于 2012-7-10 00:20:06 | 显示全部楼层
找本DSP书看看吧,一般都会讲
 楼主| 发表于 2012-7-10 11:22:40 | 显示全部楼层
我一般是这么做的,比如,量化前的系数为b,先算出在当前情况下的频率响应freqz(b,1,1024,fs),因为是用matlab算出来的,能保证此时满足指标(通带截止频率、阻带截止频率、通带最大衰减、阻带最小衰减);
    之后如果量化为n+1位(1是符号位,n为数据位),先计算B=round(b*2^n)/2^n,然后再
freqz(B,1,1024,fs),此时的频率响应肯定要比量化之前算出来的差一点。如果还没有满足指标,则慢慢的将
n往上加,直到满足。最终n+1就是所需的位宽。
    大家说说看,我这样行的通没有??
发表于 2012-7-12 23:54:34 | 显示全部楼层
给你个经验值吧18bit。是经过计算过的,对于量化引起的精度误差和截断位数都有考虑,具体怎么计算的这个比较复杂,具体使用时可以考虑这么用!
发表于 2012-12-7 20:20:28 | 显示全部楼层
正好需要。
发表于 2012-12-8 16:33:45 | 显示全部楼层
回复 4# whyyxn
发表于 2012-12-10 09:31:19 | 显示全部楼层
在fdatool中直接有量化设置。
发表于 2013-10-24 14:58:03 | 显示全部楼层
可以在量化quantity选项中设置,然后再sinmulink中仿真,看一下效果。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-7-19 03:00 , Processed in 0.030337 second(s), 10 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表