sun_and_pen 2022-04-23 21:18 采纳率: 75%
浏览 326
已结题

stm32f103zet6 FFT测相位不准确

我用定时器2控制ADC采样,然后用dma转换,之后对得到的数据进行fft测相位,但是得到的结果非常不准确,并且大范围跳动着,这是为什么呢?
代码如下:

arm_cfft_f32(&arm_cfft_sR_f32_len1024, FFTin, 0, 1);
arm_cmplx_mag_f32(FFTin, FFTout, NPT);

//得到真实幅值
FFTout[0] /= 1024;
for ( i = 1; i < NPT; i++)//输出各次谐波幅值
{
FFTout[i] /= 512;
}

//相位
for(i = 1;i<NPT/2;i++)
{    
    Phase[i] = atan2(FFTin[i*2+1], FFTin[i*2+0]);
    Phase[i] = Phase[i]*(360/PI2);//求相位
}
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 5月1日
    • 修改了问题 4月23日
    • 修改了问题 4月23日
    • 修改了问题 4月23日
    • 展开全部

    悬赏问题

    • ¥30 为什么会失败呢,该如何调整
    • ¥50 如何在不能联网影子模式下的电脑解决usb锁
    • ¥20 服务器redhat5.8网络问题
    • ¥15 如何利用c++ MFC绘制复杂网络多层图
    • ¥20 要做柴油机燃烧室优化 需要保持压缩比不变 请问怎么用AVL fire ESE软件里面的 compensation volume 来使用补偿体积来保持压缩比不变
    • ¥15 python螺旋图像
    • ¥15 算能的sail库的运用
    • ¥15 'Content-Type': 'application/x-www-form-urlencoded' 请教 这种post请求参数,该如何填写??重点是下面那个冒号啊
    • ¥15 找代写python里的jango设计在线书店
    • ¥15 请教如何关于Msg文件解析