多语言展示
当前在线:1118今日阅读:26今日分享:39

如何使用STM32的DSP进行傅里叶

傅里叶是一位法国数学家。他所发表的傅里叶级数法,极大地推动了微分方程理论的发展。傅里叶级数拓宽了函数概念,从而推动了函数论的研究。傅里叶变换是数字信号处理领域一种很重要的算法。其表明任何连续测量的时序或信号,都可以表示为不同频率的正弦波信号的无限叠加。DSP即数字信号处理器,可以处理浮点型数据。在傅里叶中我们常常使用FFT(快速傅里叶变换), 那么如何使用STM32的DSP进行FFT呢?
工具/原料
1

STM32

2

DSP

方法/步骤
1

资源配置:下载STM32官方的DSP库文件,这个大家需要从网上去下载,小编在这里就不多做介绍了。

2

添加库文件:把自己下载的库文件添加到工程文件里面,在通过双击2或者点击1添加文件。

3

第一步点击新建文件夹,第二步添加文件【add  files】,第三步选中要添加的文件,第四步点击【add】,最后点击【OK】就行了。

4

第一步点击新建文件夹,第二步添加文件【add  files】,第三步选中要添加的文件,第四步点击【add】,最后点击【OK】就行了。

6

调用DSP函数:1、 添加完毕后,就可以使用dsp函数了。接着 我介绍一下这几个函数的作用   /* IniTIalize the CFFT/CIFFT module */   status = arm_cfft_radix4_init_f32(&S, fftSize,   ifftFlag, doBitReverse); //这里是FFT的初始化   /* Process the data through the CFFT/CIFFT module */ //FFT计算的函数 注意 tesTInput_f32_10khz 这个数组 不能是const 因为计算值是覆盖在这里面的   arm_cfft_radix4_f32(&S, tesTInput_f32_10khz);   /* Process the data through the Complex Magnitude Module for // FFT出来的是复数 这里是把复数求模 得幅值   calculaTIng the magnitude at each bin */   arm_cmplx_mag_f32(testInput_f32_10khz, testOutput,   fftSize);   /* Calculates maxValue and returns corresponding BIN value */ //这里是求FFT出来数据模的最大值   arm_max_f32(testOutput, fftSize, &maxValue, &testIndex);使用这些函数就能进行傅里叶变换了。

7

根据不同的情况使用不同的函数,继续加油吧。

注意事项

函数调用及其理解

推荐信息