stm32f1 DSP库做FFT变换 结果不正确
用stm32f103 的dsp库做FFT,当频率为浮点数时结果不正确。#define NPT (256)//采样点数
#define PI2 (6.28318530717959)
#define Fs (256) //采样频率
模拟输入为
fx = 1500 * sin(PI2 * i * 52 / Fs);
计算出的第53点幅值为1496;
模拟输入为:
fx = 1500 * sin(PI2 * i * 52.6 / Fs);
计算结果第54点为1130,附近幅值如下:
101
129
178
288
760
1130
321
186
131
100
81
请问各位大神结果为啥差别这么大呢?
还是说输入频率不能为浮点数?
楼主好像不是用浮点小数运算。怎么都没有小数点? wenyangzeng 发表于 2018-11-22 10:31
楼主好像不是用浮点小数运算。怎么都没有小数点?
是模拟输入的频率为浮点数时,结果不正确,一个是50HZ,一个是52.6HZ zhyue12 发表于 2018-11-22 10:44
是模拟输入的频率为浮点数时,结果不正确,一个是50HZ,一个是52.6HZ
整个FFT运算应该都是浮点运算,结果也是浮点小数而非整数,一楼的输出显示是整数的。 wenyangzeng 发表于 2018-11-22 11:58
整个FFT运算应该都是浮点运算,结果也是浮点小数而非整数,一楼的输出显示是整数的。 ...
输出那个是最后复数求模后得到的幅值
页:
[1]