电子发烧友App

硬声App

扫码添加小助手

加入工程师交流群

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>DSP>如何使用STM32F30x 内部的DSP 进行浮点快速傅立叶变换资料下载

如何使用STM32F30x 内部的DSP 进行浮点快速傅立叶变换资料下载

2021-04-05 | pdf | 230.73KB | 次下载 | 3积分

资料介绍

前言 本文目的是演示如何使用STM32F30x 内部的DSP 进行浮点快速傅立叶变换(FFT),为联系实际应用,使用ADC 对波形发生器进行ADC 采样,然后对ADC 采样结果进行FFT, 与 Matlab 仿真结果进行比较察看最终结果的准确性。会使用到ARMDSP 库文件,以及STM32F30x 的浮点运算单元以及DSP指令等。 模拟ADC采样数据实现FFT 使用Matlab生成AM调制波形 波形公式为:AM_50= sin(2πfc)*(1 50%*sin(2πfm)), 其中fc 为载波频率,fm 为调制波频率,调制比50%。为了使用ADC 采样,将波形进行偏移处理,叠加1.5V 电压,最终波形展开公式如下: AM_50 = sin(2πfc) 50%*sin(2πfm))* sin(2πfc) 1.5 Matlab 程序如下: x =sin(2*pi*fm*t); % modulation wave figure; plot(t,x); y =sin(2*pi*fc*t); % carrier wave figure; plot(t,y); z1 =y.*(1 m1*x) 1.5; % AM wave with 50% depth figure; %figure 1 plot(t,z1); xlabel('Time'); ylabel('Amplitude'); title('AM with50% depth'); Z1 =z1*4096/3.3; % 12-bit ADC Value 产生波形如下: 图【一】 生成模拟ADC数据,使用STM32F30x进行FFT运算 生成数据存于AM_50_ADC_Data[]数组中,实数转换为复数,进行CFFT 的运算,调用arm_cfft_f32 库函数,1024 点FFT。 /* Real data to magnitudedata */ for(i=0; i { testInput_f32_10khz[i*2 1] =0; testInput_f32_10khz[i*2] = AM_50_ADC_Data[i]; } /* Process the data throughthe CFFT/CIFFT module */ arm_cfft_f32(&arm_cfft_sR_f32_len1024,testInput_f32_10khz, ifftFlag, doBitReverse); /* Process the data throughthe Complex Magnitude Module for calculating the magnitude ateach bin */ arm_cmplx_mag_f32(testInput_f32_10khz,testOutput, fftSize); 结果打印并和Matlab计算结果进行比较 为方便显示只取整数部分比较:图【二】为Matlab 输出,图【三】为经过STM32F30x计算后的结果. 图【二】 图【三】 从数据上看Matlab 仿真以及STM32F30x的FFT 两者非常吻合,数据可以直接使用。基于时间数据转换到频域上,理论上直流分量,频率fc处,以及频率fc-fm,fc fm 处都会有波峰出现,实际看FFT 波形如下: 实际ADC采样并进行FFT操作 使用波形发生器产生50% 调幅波,载波10KHz,调制波1KHz,调制比50%,偏移1.5V。 使用STM32F30x进行ADC 采样,采样结果存于数组,数据导入到Matlab 显示波形如下:
处理器 dsp cpu gpu
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1MDD品牌三极管BC807数据手册
  2. 3.00 MB   |  次下载  |  免费
  3. 2MDD品牌三极管BC817数据手册
  4. 2.51 MB   |  次下载  |  免费
  5. 3MDD品牌三极管D882数据手册
  6. 3.49 MB  |  次下载  |  免费
  7. 4MDD品牌三极管MMBT2222A数据手册
  8. 3.26 MB  |  次下载  |  免费
  9. 5MDD品牌三极管MMBTA56数据手册
  10. 3.09 MB  |  次下载  |  免费
  11. 6MDD品牌三极管MMBTA92数据手册
  12. 2.32 MB  |  次下载  |  免费
  13. 7STM32G474 HRTIME PWM 丢波问题分析与解决
  14. 1.00 MB   |  次下载  |  3 积分
  15. 8新能源电动汽车高压线束的铜铝连接解决方案
  16. 2.71 MB   |  次下载  |  2 积分

本月

  1. 1爱华AIWA HS-J202维修手册
  2. 3.34 MB   |  37次下载  |  免费
  3. 2NB-IoT芯片厂商的资料说明
  4. 0.31 MB   |  22次下载  |  1 积分
  5. 3PC5502负载均流控制电路数据手册
  6. 1.63 MB   |  22次下载  |  免费
  7. 4H110主板CPU PWM芯片ISL95858HRZ-T核心供电电路图资料
  8. 0.63 MB   |  6次下载  |  1 积分
  9. 5UWB653Pro USB口测距通信定位模块规格书
  10. 838.47 KB  |  5次下载  |  免费
  11. 6技嘉H110主板IT8628E_BX IO电路图资料
  12. 2.61 MB   |  4次下载  |  1 积分
  13. 7苏泊尔DCL6907(即CHK-S007)单芯片电磁炉原理图资料
  14. 0.04 MB   |  4次下载  |  1 积分
  15. 8苏泊尔DCL6909(即CHK-S009)单芯片电磁炉原理图资料
  16. 0.08 MB   |  2次下载  |  1 积分

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935137次下载  |  10 积分
  3. 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
  4. 1.48MB  |  420064次下载  |  10 积分
  5. 3Altium DXP2002下载入口
  6. 未知  |  233089次下载  |  10 积分
  7. 4电路仿真软件multisim 10.0免费下载
  8. 340992  |  191439次下载  |  10 积分
  9. 5十天学会AVR单片机与C语言视频教程 下载
  10. 158M  |  183353次下载  |  10 积分
  11. 6labview8.5下载
  12. 未知  |  81602次下载  |  10 积分
  13. 7Keil工具MDK-Arm免费下载
  14. 0.02 MB  |  73822次下载  |  10 积分
  15. 8LabVIEW 8.6下载
  16. 未知  |  65991次下载  |  10 积分