用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 请问各位大神结果为啥差别这么大呢? 还是说输入频率不能为浮点数? |
是模拟输入的频率为浮点数时,结果不正确,一个是50HZ,一个是52.6HZ
整个FFT运算应该都是浮点运算,结果也是浮点小数而非整数,一楼的输出显示是整数的。
评分
查看全部评分
输出那个是最后复数求模后得到的幅值