完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
// Q21 = Q21*(GLOBAL_Q-GLOBAL_Q)
Tmp1 = _IQmpy(v->K1,(v->ElecTheta - v->OldElecTheta)); K1是Q21格式的,后面是Q15格式,看IQMath文档_IQmpy是两个Q格式相同的数相乘的,请问不同Q格式的用这个相乘怎么理解?? |
|
相关推荐
5 个讨论
|
|
你好。 Q格式的数相乘,实际上是两个整数相乘,被乘的两个数可以是不同的Q格式的。 IQmath库函数没有开放源码,所以无法知道其具体怎么操作的,但是有一点,就是用_IQmpy做两数乘法时,至少其中一个数是Global_Q的,两乘得到的结果是另一个数的Q格式。因此,才有例程中// Q21 = Q21*(GLOBAL_Q-GLOBAL_Q)的注释说明。 事实上,我们可以简单地想一想Q格式计算的过程。比如,我们做Q15*Q21,Q15为Global_Q,那么得到的中间结果应该是Q36(需要注意在做乘法时,必须考虑使结果不溢出,两个32位整数表示的Q格式数相乘,中间结果必然需要用64位整数存储,这样Q36也是有意义的)。然后,我们把中间结果右移Global_Q(15)位,你会发现得到了一个Q21的数。当然,此时这个数用32位整数已经能够表示了。 Q格式计算两数据相乘的原理应该类似上述例子,IQmath的具体操作过程可能涉及一些优化而略有不同。 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
404 浏览 0 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
930 浏览 1 评论
537 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
413 浏览 1 评论
969 浏览 0 评论
63浏览 3评论
CC3100BOOST使用CC3200lunchXL进行烧录
912浏览 2评论
156浏览 2评论
197浏览 2评论
175浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-29 06:45 , Processed in 0.715030 second(s), Total 53, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号