OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 11092|回复: 7

stm32f407 dsp库做fft运算

[复制链接]

9

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2013-5-4
在线时间
9 小时
发表于 2015-9-13 18:13:07 | 显示全部楼层 |阅读模式
5金钱

 arm_cfft_radix4_init_f32(&scfft,FFT_LENGTH,0,1);
 while(1)
 {
      if(fill_fft_buf() == 1) // 等待采样完成,采样时间51ms
      { 
           arm_cfft_radix4_f32(&scfft, fft_inputbuf); //fft运算
           arm_cmplx_mag_f32(fft_inputbuf, fft_outputbuf, FFT_LENGTH); //求模    
           DrawAmplitudefrequencyCurve(); // 绘制频谱
           delay_ms(47); //延时!!!
      }
}

unsigned short DrawAmplitudefrequencyCurve(void)
{
 u16 i = 2;
 u16 MaxPosition;
 double lf_MaxVolt;
 u16 PiontX;
 u16 PiontY = 300;
 u16 dif = 0;
 
 LCD_Clear(WHITE);
 
 for(i = 2; i < FFT_LENGTH_DIV2;)
 {
      if(fft_outputbuf > lf_MaxVolt)
      {
          lf_MaxVolt = fft_outputbuf;
         MaxPosition = i;
  }
  
  dif = fft_outputbuf / 5;
  if(dif >= 200)
  {
     dif = 200;
  }
  iontX = 220 - dif;
  
  LCD_Line(220, PiontY, PiontX, PiontY, RED);
  iontY -= 1;
  i += 2;  
 }

 LCD_Num(2, 2, MaxPosition*20, 5, RED);
 return MaxPosition;
}

20KHz采样率,用dsp库做1024点的fft运算,然后在液晶上面简单绘制频谱。主循环中加上延时绘制的频谱是对的,不加延时绘制的频谱不对,fft算出来的数据是错误的,这是怎么回事呢? 难道两次fft运算之间要隔一段时间????

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2013-5-4
在线时间
9 小时
 楼主| 发表于 2015-9-13 18:15:14 | 显示全部楼层
求解啊   有小伙伴们这样用过么?
回复

使用道具 举报

9

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2013-5-4
在线时间
9 小时
 楼主| 发表于 2015-9-13 18:27:55 | 显示全部楼层
ad采集在定时器中完成
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2015-9-13 22:43:33 | 显示全部楼层
不加延时也可以的.
前提是你的数据没有问题.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

15

主题

866

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7523
金钱
7523
注册时间
2016-11-30
在线时间
641 小时
发表于 2018-1-22 18:16:56 | 显示全部楼层
mark,学习!
回复

使用道具 举报

7

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2018-1-3
在线时间
15 小时
发表于 2018-1-23 11:59:39 | 显示全部楼层
查一下数据源,是不是获取数据的时候有一些问题,频率之类的是否过高
回复

使用道具 举报

13

主题

186

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
441
金钱
441
注册时间
2016-6-30
在线时间
97 小时
发表于 2018-1-24 11:00:42 | 显示全部楼层
这跟fft库没关系应该是显示的问题吧?
回复

使用道具 举报

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2016-3-29
在线时间
6 小时
发表于 2018-1-24 17:17:26 | 显示全部楼层
mark一下,以后会学习到
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-20 01:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表