資源簡(jiǎn)介
FFT濾波算法(FFT_CAL.c)
代碼片段和文件信息
void?FFT_cal(float32?freq_in)
{
Uint8?old_flag?i;
float32?data_in[128]?data_out_r[128]?data_out_i[128]?amp[50];
trans_fft_buf_period(data_in?fft_data_in_ptr[p_no]?fft_buf_period[p_no]?freq_in);
Uint8?x0x1x2x3x4x5x6?xx?tmp_2b?tmp_u8;
float32?TRTItmp_f32;
Uint8?Lj?k?b?p;
for(i=0;?i<128;?i++)÷÷倒序
{?
x0?=?((i&0x01)?<6);
x1?=?((i&0x02)?<4);
x2?=?((i&0x04)?<2);
x3?=?i&0x08;
x4?=?((i&0x10)?>>?2);
x5?=?((i&0x20)?>>?4);
x6?=?((i&0x40)?>>?6);
xx?=?x0?+?x1?+?x2?+?x3?+?x4?+?x5?+?x6;
data_out_r[xx]?=?data_in[i];
}
old_flag?=?fft_buf_flag[p_no];
if(old_flag?2)
{
fft_buf_flag[p_no]++;
}
else
{
fft_buf_flag[p_no]?=?0;
}
memset((void×)data_out_i?0?128×sizeof(float32));
for(L=1;?L<8;?L++)÷÷需要7層運(yùn)算?log2(128)=7
{
tmp_u8?=?1<<(7-L);
tmp_2b?=?1<
- 上一篇:YDL-TH00溫度測(cè)試代碼
- 下一篇:基于stm32的平衡車代碼
評(píng)論
共有 條評(píng)論