资料介绍
前言
本文目的是演示如何使用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 显示波形如下:
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 使用STM32F30x/31x PWM刹车特性进行电机控制和数字电源转换功率因数校正
- AN4277_使用STM32F30x、31x的PWM关断功能进行电机控制和数字电源转换
- 使用STM32_的DSP库进行FFT变换 0次下载
- STM32F30x禁止ADC已关闭情况下再次关闭ADC
- STM32F30x 的ADC 采样的傅立叶变换
- 浮点DSP运算效率不高 10次下载
- STM32F30X禁止 ADC 已关闭情况下再次 关闭 ADC资料下载
- 如何使用STM32提供的DSP库进行FFT资料下载
- STM32F4的DSP和标准外设库资料合集免费下载 151次下载
- 如何利用TMS320DSP平台实现实值序列的快速傅立叶变换算法的详细概述 5次下载
- F240X系列DSP内部资源介绍 21次下载
- STM32F30x 的ADC 采样的傅立叶变换 59次下载
- STM32F30x 的ADC 采样的傅立叶变换 0次下载
- 浮点 DSP 运算效率不高 0次下载
- 傅立叶变换.ppt 0次下载
- 【GD32 MCU 移植教程】9、从 STM32F10x 系列移植到 GD32F30x 系列 2.8k次阅读
- CKS32F4xx系列DSP功能介绍 2.8k次阅读
- RT-thread源码移植到STM32F10x和STM32F4xx 4.1k次阅读
- 使用傅里叶变换进行图像边缘检测 1.3k次阅读
- STM32启动文件startup_stm32f10x_hd.s的代码讲解 5.9k次阅读
- 一文快速教会你傅立叶算法 4.8k次阅读
- 关于STM32启动文件startup_stm32f10x_hd.s的代码 5.4k次阅读
- 信号时域和频域及快速傅立叶变换与加窗信号的详细讲解 1.3w次阅读
- Altera FPGA硬核浮点DSP模块解决方案提高运算性能 4.1k次阅读
- 基于TI TMS320C6748定点/浮点DSP C674x处理器 3.8k次阅读
- 可用于嵌入式系统的傅立叶变换的C语言实现方法 2k次阅读
- STM32F405xx系列芯片的特点性能介绍 2.6w次阅读
- STM32F767XX微控制器的功能及特性分析 2.4w次阅读
- ST公司STM32F334x4/6/8系列MCU开发方案 1.1w次阅读
- 进行傅立叶变换的原因、定义、物理意义简述 2.5w次阅读
下载排行
本周
- 1MDD品牌三极管BC807数据手册
- 3.00 MB | 次下载 | 免费
- 2MDD品牌三极管BC817数据手册
- 2.51 MB | 次下载 | 免费
- 3MDD品牌三极管D882数据手册
- 3.49 MB | 次下载 | 免费
- 4MDD品牌三极管MMBT2222A数据手册
- 3.26 MB | 次下载 | 免费
- 5MDD品牌三极管MMBTA56数据手册
- 3.09 MB | 次下载 | 免费
- 6MDD品牌三极管MMBTA92数据手册
- 2.32 MB | 次下载 | 免费
- 7STM32G474 HRTIME PWM 丢波问题分析与解决
- 1.00 MB | 次下载 | 3 积分
- 8新能源电动汽车高压线束的铜铝连接解决方案
- 2.71 MB | 次下载 | 2 积分
本月
- 1爱华AIWA HS-J202维修手册
- 3.34 MB | 37次下载 | 免费
- 2NB-IoT芯片厂商的资料说明
- 0.31 MB | 22次下载 | 1 积分
- 3PC5502负载均流控制电路数据手册
- 1.63 MB | 22次下载 | 免费
- 4H110主板CPU PWM芯片ISL95858HRZ-T核心供电电路图资料
- 0.63 MB | 6次下载 | 1 积分
- 5UWB653Pro USB口测距通信定位模块规格书
- 838.47 KB | 5次下载 | 免费
- 6技嘉H110主板IT8628E_BX IO电路图资料
- 2.61 MB | 4次下载 | 1 积分
- 7苏泊尔DCL6907(即CHK-S007)单芯片电磁炉原理图资料
- 0.04 MB | 4次下载 | 1 积分
- 8苏泊尔DCL6909(即CHK-S009)单芯片电磁炉原理图资料
- 0.08 MB | 2次下载 | 1 积分
总榜
- 1matlab软件下载入口
- 未知 | 935137次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420064次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233089次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191439次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183353次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81602次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73822次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65991次下载 | 10 积分
电子发烧友App





创作
发文章
发帖
提问
发资料
发视频
上传资料赚积分
评论