向老师请教:
在2407中实现卷积的计算,用到了乘法器,指令是MAC。
其中相乘的两个数据一个是小数0.4830,一个是整数34
在汇编语言编写时,我将小数写成Q8格式:4830*256/10000;整数写成0022h。不理解的是,两个数是怎么相乘的?是不是DSP会将0022h当成是Q8格式来与之相乘?这样的话0022h不就成为小数了么?
一直没弄懂,请老师指点!谢谢
[ 本贴由 atuatu 于 2007-6-8 10:07 PM 最后编辑 ]
另外, 0.4830 用 Q4 格式表示好象也不妥,精度太低, 为何不用 Q 15,Q 16 呢?
[ 本贴由 mlwang_km 于 2007-6-11 05:48 PM 最后编辑 ]
谢谢你的解答!
4830*256/10000表示的实际值是0.48300000,也就是Q8格式。
选择这个精度,主要是考虑到这个小数和一个整数相乘后,它的整数部分值大于70。为了整数部分与小数部分兼顾,所以选择了Q8格式。
Q8 -128≤x≤127.9960938。
如果小数是被乘数Q8格式,整数是乘数,那这两相乘后Q0格式,结果的小数点位置和被乘数的小数点位置相同吗?也就是说,小数点还是处于第八位?
谢谢。
[ 本贴由 atuatu 于 2007-6-11 06:44 PM 最后编辑 ]
我看错了, 0.483 用 Q 8 , Q8 格式 乘 Q0 格式,结果还是 Q 8 格式.
[ 本贴由 mlwang_km 于 2007-6-12 02:30 PM 最后编辑 ]