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);
}
}
这个地方直接算出幅值,那位大神知道怎么算相位? |