1
11
0
新手上路
我用定时器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 /= 512; }
//相位
for(i = 1;i<NPT/2;i++)
{
Phase = atan2(FFTin[i*2+1], FFTin[i*2+0]);
Phase = Phase*(360/PI2);//求相位
}
我来回答
使用道具 举报
16
初级会员
530
11万
34
管理员
rebirth9 发表于 2022-4-25 23:58 兄弟 我最近也在弄这个 但是我的采集就有问题 而且这个能够采集到80khz的交流信号嘛
13
202
高级会员
本版积分规则 发表回复 回帖后跳转到最后一页
查看 »
正点原子公众号
|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )
GMT+8, 2025-2-27 08:30
Powered by OpenEdv-开源电子网
© 2001-2030 OpenEdv-开源电子网