[STM32F4] stm32f407 把运算结果复数求相位

[复制链接]
1146|6
 楼主| feiyang0725 发表于 2019-12-12 14:49 | 显示全部楼层 |阅读模式
for(int i=0;i<FFT_LENGTH;i++)//生成信号序列
           {                 fft_inputbuf[2*i]=15 + 10*arm_sin_f32(2*PI*i*100/FFT_LENGTH) + \
                                    5.5*arm_sin_f32(2*PI*i*150/FFT_LENGTH); //生成实部
               
                  fft_inputbuf[2*i+1]=0;//虚部全部为0
             }
             arm_cfft_radix4_f32(&scfft,fft_inputbuf);    //FFT计算(基4)
             arm_cmplx_mag_f32(fft_inputbuf,fft_outputbuf,FFT_LENGTH);    //把运算结果复数求模得幅值
            
             printf("FFT Result:\r\n");
            for(int i=0;i<FFT_LENGTH;i++)
           {
                printf("%f\r\n",fft_outputbuf);
            }
         }
         delay_ms(60);
     }
}
这个地方直接算出幅值,那位大神知道怎么算相位?
mmuuss586 发表于 2019-12-12 23:03 | 显示全部楼层
数学不好呢,帮不了你
 楼主| feiyang0725 发表于 2019-12-16 10:10 | 显示全部楼层
airwill 发表于 2019-12-16 22:40 | 显示全部楼层
arctg 运算吧
香水城 发表于 2019-12-19 16:40 | 显示全部楼层
可以使用函数 atan2(虚,实);

这个贴可以参考下:
基于STM32的FFT运算示例及应用提醒
磨砂 发表于 2020-1-8 12:46 | 显示全部楼层
相位是通过什么体现出来的呢
晓伍 发表于 2020-1-8 12:50 | 显示全部楼层
感谢城主分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

33

主题

128

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部