请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F0 FFT 请求老友的帮助,不胜感谢!!!

[复制链接]
lewe 提问时间:2019-8-19 10:00 /
请教:我这样计算出来的值是不是对的?为什么每个频率上都有值啊?
fft2.png
程序是这样子:
用ADC采集值填入fft输入buff
void ADC_proc(void)
{
    uint16_t ai,cnt;
       
    if(adc_conv_done)
    {
       adc_conv_done = 0;


            for(ai=0;ai<NPT;ai++)
                {
                      lbufin[ai*2] = (float)(adc_buf[ai*2]-2048);
                          lbufin[ai*2+1] = (float)0;
                }
          FFT_proc();      
         HAL_ADC_Start_DMA(&hadc,(uint32_t*)adc_buf,sizeof(adc_buf)/2);
    }
}



FFT处理



float  lbufin[NPT*2];                                                           /* Complex input vector */
float  lbufout[NPT];                                                          /* Complex output vector */
float  lbufmag;                                                                  /* Magnitude vector */
uint16_t fftSize = 64;


uint8_t ifftFlag = 0;
uint8_t doBitReverse = 1;
uint16_t audio_mag;
extern  uint8_t  audio_intf_flag;
//uint32_t refIndex = 213,
uint32_t testIndex = 0;
__IO uint8_t  new_mag_flag;


void FFT_proc()
{                      
    arm_cfft_f32(&arm_cfft_sR_f32_len64, lbufin, ifftFlag, doBitReverse);
        arm_cmplx_mag_f32(lbufin,lbufout,fftSize);
    arm_max_f32(lbufout, NPT, &lbufmag, &testIndex);
}  


收藏 评论4 发布时间:2019-8-19 10:00

举报

4个回答
奏奏奏 回答时间:2019-8-19 13:54:55
我觉得很奇怪的是:
F0系列没有DSP硬件,
为什么要用来做FFT运算?
lewe 回答时间:2019-8-19 15:18:49
奏奏奏 发表于 2019-8-19 13:54
我觉得很奇怪的是:
F0系列没有DSP硬件,
为什么要用来做FFT运算?

应该是成本上的考虑吧
BG4RFF 回答时间:2019-8-19 16:45:06
这组数据好熟悉啊,CTCSS吗?
lewe 回答时间:2019-8-19 17:36:02
BG4RFF 发表于 2019-8-19 16:45
这组数据好熟悉啊,CTCSS吗?

音频FFT
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版