xinyancode 发表于 2008-12-8 14:55

请教定点DSP上的浮点计算表示的问题

<br /><br />我正在用定点DSP&nbsp;(F2407A)做一个IIR数字滤波器,需要用到小数表示的浮点数。但不知在CCS的C语言该怎么表示?<br /><br /><br />例如,能直接用float&nbsp;x&nbsp;=&nbsp;0.03;这种方式吗?<br />定点dsp不是只能处理整数吗?得用Q15,&nbsp;Q14等方式表示吗。<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;<br />可是,我看到在F2812上有一段数字滤波的c程序。不过他是在simulator软件仿真环境下运行的。不是硬件仿真。&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;<br />#include&quot;math.h&quot;<br /><br />float&nbsp;IIR()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;fSum;<br />&nbsp;&nbsp;&nbsp;&nbsp;fSum=0.0;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(&nbsp;i=0;i&ltIIRNUMBER;i++&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fSum+=(fXn*fAn);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fSum+=(fYn*fBn);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return(fSum);<br />}<br /><br />不知这样的写法在硬件仿真时也行吗?<br /><br /><br /><br /><br />=========================<br /><br />非常感谢!<br />

chen3bing 发表于 2008-12-8 15:31

re

可以的。

xhjed 发表于 2008-12-9 13:16

定点DSP

如果你的是定点的DSP,你就不要出现float类型。习惯用定点的吧

xinyancode 发表于 2008-12-9 13:53

I want a reply

非常感谢!<br /><br />看了上面两位朋友的回复后,还是没有归纳出一个好的结论。<br /><br />一方面,看到TI的定点DSP书上说,浮点数都用Q15,Q14等Q表示方法。<br /><br />另一方面,也有程序上用float的表示的。<br /><br /><br />请各位继续指教,该用那种方式来表示浮点数呢。是不是在定点的DSP的C程序里就不应该出现float这个类型,是吗?<br /><br />谢谢。

mybao 发表于 2008-12-9 18:21

搜索一下定标数

定标数专门用于定点DSP的小数运算

mybao 发表于 2008-12-11 18:27

re

如果用浮点数,运算要调用子程序,编译器怎么优化也是子程序。<br />用定标数运算,小数的乘加都可以用一条指令实现。

jacky-cheung 发表于 2008-12-12 10:40

一群傻蛋

谁说定点DSP不能用浮点数?<br />206,2407,2812都可以用,5000也可以。直接定义就可以,<br />float&nbsp;x;<br />double&nbsp;y;<br />定点DSP的精度低一些而已,精确到小数后7位。

helainthus 发表于 2016-11-21 19:47

jacky-cheung 发表于 2008-12-12 10:40
谁说定点DSP不能用浮点数?206,2407,2812都可以用,5000也可以。直接定义就可以,float&nbsp;x;double&nb ...

应该是数据有效为保证7位吧???{:smile:}
页: [1]
查看完整版本: 请教定点DSP上的浮点计算表示的问题