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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: qinlongdwtdx

[原创] 滤波器中的乘法运算设计

[复制链接]
 楼主| 发表于 2011-12-29 09:19:33 | 显示全部楼层
回复 6# doudouliu


    如果是ASIC设计该怎么处理呢?
 楼主| 发表于 2011-12-29 09:20:41 | 显示全部楼层
回复 10# qlengyu


      如果是ASIC设计该怎么处理呢?
 楼主| 发表于 2011-12-29 09:24:04 | 显示全部楼层
回复 4# shuli124


    IIR系数采用Sfix56.En54位量化,也就是要用56用的乘法,直接乘肯定是不行的。有资料说可以把定系数用CSD来表示再做乘法。
另外我做的是ASIC设计。
 楼主| 发表于 2011-12-29 09:27:32 | 显示全部楼层
回复 7# neoitachi


    如果是ASIC设计该怎么处理呢?
发表于 2011-12-29 13:46:46 | 显示全部楼层
就用组合逻辑移位就好了。
用CSD码进行计算,
例:10*0.0104=0.104
10是16位的2进制数即
0000000000001010
0.0104 的 Q=10 的定点数是11(16位)0000-0000-0000-1011
11=16-4-1=2^4-2^2-2^0
10*0.0104=(10<<4-10<<2-10)/2^10=110/1024=0.10742
10<<4=160  10<<2=40  

0.104-0.10742=-0.00342 此误差值在接受范围内。
 楼主| 发表于 2011-12-29 14:00:22 | 显示全部楼层
回复 15# laokai


    多谢你的回复。CSD果然利害啊。
    在FIR中用DA算法也是经典,不知大哥有没有研究,还想向你请教。盼回复。
发表于 2011-12-29 21:24:39 | 显示全部楼层

RE: 滤波器中的乘法运算设计

回复 16# qinlongdwtdx


    分布式算法就是乘加运算的变形。
举例
2*11=22
五位量化 11=01011(2);
假设2为不变量系数,11为变量
2^0(2*1)+2^1(2*1)+2^2(2*0)+2^3(2*1)+2^4(2*0)=2+4+0+16+0=22
如果做滤波器系数是matlab 算出来的系数,然后把系数与2^b的乘积结果算出来放到RAM里啥是运算读出来求合就好了。
发表于 2012-1-4 20:32:50 | 显示全部楼层
貌似IIR对参数精度要求好高啊~ 用定点算貌似会麻烦点~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-22 10:24 , Processed in 0.018793 second(s), 7 queries , Gzip On, Redis On.

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