硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2385|回复: 6
收起左侧

为何我的复数求模结果不对为什么??求助

[复制链接]

1

主题

3

回帖

6

积分

新手上路

积分
6
发表于 2018-9-6 15:03:54 | 显示全部楼层 |阅读模式
360截图20180906145648265.jpg
q15_t pSrc2[10] = {200, 200, 200, 200,300, 400, 400, 300, 300, 400};
q15_t pDst2[5];
q15_t pDst3[5];
void QUMO1(void)
{
   arm_cmplx_mag_q15(pSrc2, pDst2, 5);
   arm_sqrt_q15(pSrc2[0],&pDst3[0]);
}

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117546
QQ
发表于 2018-9-6 15:56:17 | 显示全部楼层
这个是源码的计算问题,如果实部和虚部的平方和小于2^17 = 131072 将按照0算。
1.png
回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2018-9-6 15:57:07 | 显示全部楼层
本帖最后由 水中的天空 于 2018-9-6 16:01 编辑

但是为何浮点运算却是正确的
而且也能正常求FFT变换
q15_t TestIn[32]={100,200,300,400,100,200,300,400,100,200,300,400,100,200,300,400,100,200,300,400,100,200,300,400,100,200,300,400,100,200,300,400};
uint8_t i;
  //q15格式的32点复数FFT
  for(i=0; i<32; i++)
        {
                testInput[i*2+1] = 0;
                testInput[i*2] = TestIn;
        }
  arm_cfft_q15(&arm_cfft_sR_q15_len32,testInput,0, 1);


3.jpg 4.jpg 5.jpg

回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2018-9-6 16:05:03 | 显示全部楼层
eric2013 发表于 2018-9-6 15:56
这个是源码的计算问题,如果实部和虚部的平方和小于2^17 = 131072 将按照0算。

大神,那你的意思就是库自己有问题或者是我有问题,我要把他放大2^15倍后再计算,还是直接转到f32型算法计算,我只想计算32点的FFT,代码效率越高越好,若浮点比定点快我宁愿浮点
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117546
QQ
发表于 2018-9-6 16:06:46 | 显示全部楼层
水中的天空 发表于 2018-9-6 15:57
但是为何浮点运算却是正确的
而且也能正常求FFT变换
q15_t TestIn[32]={100,200,300,400,100,200,300,400 ...

这就所谓的定点数。超出的他能够表示的范围。都将被刷掉。
回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2018-9-6 16:30:22 | 显示全部楼层
发现好像也有个规律
对q15格式1024求开方得到5793
(1024/32768)开方得到(5793/32768)
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117546
QQ
发表于 2018-9-6 16:37:45 | 显示全部楼层
水中的天空 发表于 2018-9-6 16:30
发现好像也有个规律
对q15格式1024求开方得到5793
(1024/32768)开方得到(5793/32768)

这就是定点,你是不是没有看我们的教程,抽空看看定点数。
https://forum.anfulai.cn/forum.ph ... 3886&extra=page%3D1

定点数就是用的整数来表示小数,看看下面的数据表就更明白了

QQ截图20180906163807.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-14 03:37 , Processed in 0.043673 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表