请教STM32F4 的DSP库 FFT运算的问题。求高手指点。

2019-07-20 19:45发布

 本来打算玩F1的。同事说要弄F4的DSP库,项目要用到。。。折腾了几天了。。。。麻烦高手指点。。。


我直接拿官方的FFT测试实例。
修改了初始值。。。

代码如下;

int32_t main(void) 

for(index=0;index<2048;index++)
         {  
                  testInput_f32_10khz[index]= 100*sin(3.14*index/512);
        }

  arm_cfft_f32(&arm_cfft_sR_f32_len1024, testInput_f32_10khz, ifftFlag, doBitReverse);

  arm_cmplx_mag_f32(testInput_f32_10khz, testOutput, fftSize);  

  arm_max_f32(testOutput, fftSize, &maxValue, &testIndex); 

   for(index=0;index<1024;index++)
         {
           printf("index%d =%d ",index,(u32)testOutput[index]); 
         
         }

  while(1);                             /* main function does not return */



1. 如果2048个点,我直接取正弦波的值,那么打印出来是

index2 =72203
index1022 =72647
貌似是对称的。。。
for(index=0;index<2048;index++)
         {  
                  testInput_f32_10khz[index]= 100*sin(3.14*index/512);
        }



2.但是如果2048个点,我按照下面方式
        for(index=0;index<2048;index++)
         {  

        if(index%2==0)
                  testInput_f32_10khz[index]= 100*sin(3.14*index/512);
            else
             testInput_f32_10khz[index]= 100*cos(3.14*index/512);
        }
那么测试出来是 
index1022 =102399 
不对称。。。

3.如果我虚部为0,实部位正弦值:
        for(index=0;index<2048;index++)
         {  

        if(index%2==0)
                  testInput_f32_10khz[index]= 100*sin(3.14*index/512);
            else
             testInput_f32_10khz[index]= 0;
        }

出来是
index2 =51212
index1022 =51212 
是对称的。。


请问这怎么理解呢???
如果我ADC采集一个信号,我应该怎样设置这个初始值呢?请教高手
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
正点原子
1楼-- · 2019-07-20 20:07
帮顶....
lijie20022641
2楼-- · 2019-07-21 01:35
 精彩回答 2  元偷偷看……
正点原子
3楼-- · 2019-07-21 02:05
 精彩回答 2  元偷偷看……
iwater
4楼-- · 2019-07-21 07:19
arm_cfft_f32,arm_cmplx_mag_f32,这两个函数从函数名看是对复数域的值进行FFT变换,所以我认为第三种方法是正确的,不过我自己写的代码也有类似的问题,我用生成.mif波形数据文件的软件得到的值,理论上一个正弦波FFT后的频谱应该只有一条线,但是却出现了很多条线,后来我用了一个方波,软件上看的频谱和我FFT后显示在屏幕上的谱线不匹配,我也不知道是怎么回事,楼主问题解决了没?
adan8888
5楼-- · 2019-07-21 13:16
原子哥,STM32F407有没有DSP实验的教学视频???论坛里只看到PDF的教程
adan8888
6楼-- · 2019-07-21 15:35
回复【4楼】正点原子:
---------------------------------
原子哥,STM32F407有没有DSP实验的教学视频???论坛里只看到PDF的教程

一周热门 更多>