新手上路
- 积分
- 35
- 金钱
- 35
- 注册时间
- 2014-8-13
- 在线时间
- 0 小时
|
发表于 2014-8-14 07:06:32
|
显示全部楼层
回复【3楼】lsj9383:
---------------------------------
老师,你好,如果用STM32做FFT对音频信号处理,在频域中找到啸叫频率,那对应的幅值应该怎样做处理好?我的处理函数如下,可是结果都不成功,还请老师帮忙解决下,谢谢!其中,Frequency是啸声频率,complex f[]是音频信号经过FFT处理的数据。亟待解决,麻烦老师了!
void notice_freq(int N, complex f[])
{
uint16_t i,j,count,flag;
float freq[1024];
for(count=0;count<1024;count++) //分离出频率数据
{
freq[count]=f[count].imag;
}
for(j=0;j<1024-1;j++) //检测啸声频率
{
if(freq[j]==Frequency)
flag = j;
}
//啸声频率附近的幅值衰减
for(i=flag-200;i<=flag+200;i++)
{
f.real = f.real/2;
f.real = f.real/2;
}
} |
|