打印

gd32f303运行dsp做点乘时,,q31格式计算错误

[复制链接]
1090|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
用gd32f303做点乘,,,f32,q15,q7等都没问题,,,就q31有问题
#include "dsp_dot_prod.h"
[code]#include "dsp_dot_prod.h"


void dap_dot_prod_test(void)
{
        static float32_t pSrcA[5]={1.1f,1.2f,1.3f,1.4f,1.5f};
        static float32_t pSrcB[5]={1.5f,1.6f,1.7f,1.8f,1.9f};
        static float32_t result;
       
        static q31_t pSrcA1[5]={1,2,3,4,5};
        static q31_t pSrcB1[5]={5,4,3,2,1};
        static q63_t result1;
       
        static q15_t pSrcA2[5]={1,2,3,2,1};
        static q15_t pSrcB2[5]={3,2,1,2,3};
        static q63_t result2;
       
        static q7_t pSrcA3[5]={1,1,1,1,1};
        static q7_t pSrcB3[5]={1,1,1,1,1};
        static q31_t result3;
       
        arm_dot_prod_f32(pSrcA,pSrcB,5,&result);
        printf("1.1*1.5+1.2*1.6+...+1.5*1.9=%f\r\n",result);
       
       
        arm_dot_prod_q31(pSrcA1,pSrcB1,5,&result1);
        printf("1*5+2*4+...+5*9=%lld\r\n",result1);
       
       
        arm_dot_prod_q15(pSrcA2,pSrcB2,5,&result2);
        printf("1*3+2*2+...+5*1=%lld\r\n",result2);
       
       
        arm_dot_prod_q7(pSrcA3,pSrcB3,5,&result3);
        printf("1*1+1*1+...+1*1=%d\r\n",result3);
        printf("*********点乘测试结束!********\r\n");
}



点乘.png (26.43 KB )

点乘计算结果

点乘计算结果

使用特权

评论回复
沙发
tfqi| | 2019-5-22 14:25 | 只看该作者
q15,q7,q31 请问 这是什么意思呀

使用特权

评论回复
评论
zeshoufx 2019-5-22 14:36 回复TA
DSP的q格式(定点数) 
板凳
qcliu| | 2019-5-22 14:32 | 只看该作者
这是一种算法吗

使用特权

评论回复
评论
zeshoufx 2019-5-22 14:36 回复TA
ARM的dsp指令算法 
地板
tfqi| | 2019-5-22 15:32 | 只看该作者
tfqi 发表于 2019-5-22 14:25
q15,q7,q31 请问 这是什么意思呀

哦哦哦 我确实没有弄过dsp 感谢解答

使用特权

评论回复
5
qcliu| | 2019-5-22 15:34 | 只看该作者
qcliu 发表于 2019-5-22 14:32
这是一种算法吗

哦哦哦  感谢楼主解答

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

67

主题

1964

帖子

15

粉丝