TI中文支持网
TI专业的中文技术问题搜集分享网站

关于IQ格式数据乘法的汇编实现

IQ格式数据在汇编语言中是如何实现的,同时对于IQ格式数据的乘除法又是如何实现的,比如,a=iq20(0.25)  b=iq24(0.01) 那么a*b ;a/b 以及a+b分别在数据格式上有什么不同,假如我要将结果用iq22表示又该如何实现!

  请各位指教。谢谢

Young Hu:

IQ格式是通过移位实现的,您可以参考IQmath的文档学习参考一下!

IQ格式数据在汇编语言中是如何实现的,同时对于IQ格式数据的乘除法又是如何实现的,比如,a=iq20(0.25)  b=iq24(0.01) 那么a*b ;a/b 以及a+b分别在数据格式上有什么不同,假如我要将结果用iq22表示又该如何实现!

  请各位指教。谢谢

yong ouyang1:

回复 Young Hu:

整体上我大概理解,我理解成 数据换成IQ格式时,是将数据左移N位,也就是理解成将数据乘以2的N次方。是不是这样?

  我想问的是细节问题,比如一个iq20格式的数据乘以一个iq24格式的数据;

问题:1) 其结果是什么格式?

            2) 其过程,是先将数据转换成相同格式再计算,还是先计算再对结果进行格式转换?

             3) 对于问题1的附加,要是将结果的格式转换成iq22,该如何实现?

            4) 麻烦分析下面程序的处理是否正确。

  MOVW    DP,#_Temp1     MOVL    XT,@_Temp1   ;Q20  MOVW    DP,#_Temp2   ;Q24    IMPYL   P,XT,@_Temp2  ;P =  Temp1 * _Temp2[31:0]  QMPYL   ACC,XT,@_Temp2  ;ACC = _Temp1 * _Temp2[63:32]  LSL64   ACC:P,#6   ;ACC->Q22  MOVW    DP,#_Temp3  MOVL    @_Temp3,ACC   ;Q22

IQ格式数据在汇编语言中是如何实现的,同时对于IQ格式数据的乘除法又是如何实现的,比如,a=iq20(0.25)  b=iq24(0.01) 那么a*b ;a/b 以及a+b分别在数据格式上有什么不同,假如我要将结果用iq22表示又该如何实现!

  请各位指教。谢谢

Bruce Wei:

回复 yong ouyang1:

一个原则,Qn就是把1分成2^n次方份。理解这个就可以了。

IQ格式数据在汇编语言中是如何实现的,同时对于IQ格式数据的乘除法又是如何实现的,比如,a=iq20(0.25)  b=iq24(0.01) 那么a*b ;a/b 以及a+b分别在数据格式上有什么不同,假如我要将结果用iq22表示又该如何实现!

  请各位指教。谢谢

yong ouyang1:

回复 Bruce Wei:

嗯。能理解。

赞(0)
未经允许不得转载:TI中文支持网 » 关于IQ格式数据乘法的汇编实现
分享到: 更多 (0)