转载STM32频谱设计

stm32f103+FFT+OLED的音乐频谱制作(干货 只需三步即可)

效果演示:https://www.bilibili.com/video/av29366031/

制作过程:

1.准备材料:

stm32f103核心板 1块

OLED12864显示屏 1块(SPI接口)

声音检测传感器 1块 (咪头+放大电路 可以网上买现成的模块,也可根据后文提供的原理图自己做)

2.硬件连接:

(1)OLED连接:

OLED_SCLK   ————  PB7
OLED_SDIN    ————  PB6
OLED_RST     ————  PB5
OLED_RS       ————  PB4

(2)声音检测传感器连接:

直接将模块的输出接到单片机的PA0即可。

OK硬件连接完成!就这么简单!

3.程序下载

接下来将程序下载到单片机即可,音乐频谱就完成了!(别告诉我你连下载程序都不会 滑稽)

程序烧录文件 链接:https://pan.baidu.com/s/1EjKPvBFbTmYzzh6fSn0U5A 密码:o6uu

程序源码:https://download.csdn.net/download/mc_li/10601743

ps:以上就是简单的音乐频谱制作过程,下面是较为详细的制作过程,提供源码和原理图,有兴趣的同志们可以看看。

/************************分***********************************割***************************************线********************************/

整体思路:

1.使用ADC采集音频信号

2.使用官方提供的FFT函数对采集到的信号进行处理

3.量化显示

前言:

在人耳能听到的频率范围(20-20KHz)中,各类乐器和人声的频率大部分在5KHz以下。主要是在0-5KHz这段频率的频谱变化明显一些,所以观赏性更好。故我们设置采样频率为10KHz(根据采样定理,采样频率要大于信号最大频率的两倍,才能保证不失真)来采集这0-5KHz的音频信号。显示是使用的OLED12864屏,分辨率为128*64,在x轴方向上最多显示128个点,所以我们把采样点数设置为256个点,因为FFT计算出来的数据是对称的,我们只取一半,128个点刚刚好。

采样频率:Fs = 10KHz

样本数量:NPT = 256

这两个参数是FFT计算时候要用到的。

深入研究FFT可参考这位大大的博客(强烈推荐):

http://www.opticsjournal.net/Mobile/postdetails/PT160728000122iOlRn?code=3&from=singlemessage&isappinstalled=0

(一)音频信号的采集

(1)信号来源于咪头采集的声音信号,以下是原理图:

咪头放大电路

电路使用LM358搭建而成,采用单电源5V直流供电。由于单片机的ADC不能采集到负值,所以我们需要把信号加上了1/2Vcc的直流偏置,50倍增益可调。

这里如果考虑多一些,应当加一个低通滤波,去除高频信号的影响,防止出现频谱叠加,影响观赏效果。我们简单制作,就不考虑这个了。

下图是我自己做的咪头放大电路,原理图就是上面的。

咪头1

咪头2

(2)使用stm32的ADC去采集咪头电路输出的信号

因为我们的采样频率要固定在10KHz,所以这里使用定时器去触发ADC转换,再使用DMA搬运,最后使用stm32cubemx去配置这些硬件,生成基础代码即可。

1.adc配置

勾选通道
勾选ADC1的通道0 对应PA0引脚

 

 

 

选择定时器来触发ADC转换
使能DMA传输
使能DMA传输

2.定时器配置

使能定时器时钟
使能定时器3时钟
配置定时器
配置定时器

 

3.系统时钟树

时钟树
时钟树

 

到此基础配置完成,生成代码即可。这里简单的说一下流程,这里配置的定时器触发ADC转换是硬件自动触发,不会进入中断,ADC转换完直接由DMA传输到内存,只有等256点全部传输完才会进入到DMA的中断,这样保证了每个采样点的间隔时间都是一致的。

关于stm32cubemx这个工具,作为开发来说十分便捷,大大缩短开发周期,但是想学习32的朋友来说,这个就不太理想了,学习还是建议使用标注库和寄存器。这软件配置生成的代码是用的hal库,具体使用教程可以参考学习“硬石科技”的相关教程。

(二)信号处理

(1)移植官方DSP库

DSP库
标题

可参考这位大大的博客:https://www.cnblogs.com/menlsh/p/4154070.html

(2)填充数据和计算幅值

数据填充
在采集完256个点后进行FFT运算

(三)量化显示

(1)简单的GUI

GUI
ZLG_GUI方便绘图 不用GUI也可以 看自己需求

这里移植一个简单的GUI,方便绘制各种现实效果。

主界面
开机效果

(2)显示

显示

显示2

显示过程,就是把我们FFT计算出来的幅值量化显示到我们屏幕上。比如我们在填充数据的时候是填充的ADC采集到的电压对应的数字量,FFT计算出来后经过取模,得到一个该频率点对应幅值的一个数字量。我们只需要对这个数字量进行处理即可,这里处理方式每个人方法都有所不同,这里我提供的可供参考。

至此基于stm32f103的FFT音乐频谱制作流程就分享到这里,小弟才疏学浅内容中有问题的地方还望斧正。欢迎转载,请注明出处,谢谢大家。

// 2019/8/7

感谢支持,这里是两个版本的源码和资料,提供给大家学习使用!

链接:https://pan.baidu.com/s/1fP08HS4ZzPXqJA-OjOVSzA 
           提取码:t0y4 

另外一个重制的OLED265*64版本,适合有一定动手能力和编程基础的朋友。

连接如下:https://blog.csdn.net/mc_li/article/details/88761087

效果图

音乐频谱
时间显示

 

 

 

</article>
战舰V3 STM32F103ZET6 音乐频谱显示 + 音乐播放
05-06
本压缩包是战舰V3 STM32F103ZET6 音乐频谱显示 + 音乐播放 MDK5 工程文件,适用与战舰V3 STM32F103ZEET6
评论 74
还能输入1000个字符
 
表情包 插入表情
表情包 代码片
  • HTML/XML
  • objective-c
  • Ruby
  • PHP
  • C
  • C++
  • JavaScript
  • Python
  • Java
  • CSS
  • SQL
  • 其它
  • huang947
    huang947 2021.12.20
    举报
    回复
    FFT都不用自己写的吗?直接移植官方的?
  • <
  • 1
  • 2
  • 3
  • ...
  • 14
  • >
</div>
... 音乐频谱 制作( 干货 三步 即可)_编程笔记_ stm32...
3-5
这里如果考虑多一些,应当加一个低通滤波,去除高频信号 影响,防止出现 频谱叠加,影响观赏效果。我们简单 制作,就不考虑这个了。 下图是我自己做 咪头放大电路,原理图就是上面 。 (2)使用 stm32 ADC去采集咪头电路输出 信号 ...
音乐频谱显示小玩具—— FFTSTM32实现与应用_To丶...
3-21
2、 STM32实现 FFT 因为笔者做 这个玩具使用 芯片是 STM32 单片机F10系列。所以在做 FFT 时候没有官方库 支持(以前是有,但是F4系列上线后就取消了,真实万恶 资本主义\dogs)虽然网上有很多教程是直接移植或者找之前 DSP库,但是笔者觉得着...
基于 STM32 FFT算法移植 音乐频谱
07-10
该资源为,将 FFT算法移植到 STM32F1系列上,通过ADC采集例如音频信号,并将信号通过算法实时动态 显示在LCD上,实现一个动态 音乐频谱
基于 STM32 音乐频谱 64*32点阵显示 红外控制 完整可用
12-01
基于 STM32F407 音乐频谱,对音频信号进行快速傅里叶变换 FFT ,用64*32点阵显示 频谱,红外控制数字音量调节,通道选择等,驱动外部功放,通过温度传感器控制功放降温风扇转速。 完整工程代码,可直接使用。
...dsp库, 制作 音乐频谱_zhvngchvng 博客_ stm32 音乐频谱
3-7
stm32调用dsp库, 制作 音乐频谱 转载 专栏收录该内容 22 篇文章1 订阅 订阅专栏 zhvngchvng 关注 0 专栏目录 04-22 01-16 参与评论您还未登录,请先登录后发表或查看评论
STM32 音乐频谱(32*64点阵)-电路方案
04-22
采用 STM32F103C8T6作主控芯片,晶振频率8MHZ。 音乐频谱增加轨至轨运放显示效果更有动感! FFT运算采用官方 DSP库,效率非常高!适用各种风格 音乐! 程序采用 是256点 FFT,运算一次 FFT 0.437MS,非常 快! 通过红外遥控器切换64分频、32分频以及16分频显示,柱条和顶点颜色是随机切换 采用32*64红绿双色点阵,直接输入音频信号 即可将美妙 音符转变为跳动 节奏!非常富有节奏感!
STM32F4 FFT 音乐频谱 不要太easy!
热门推荐
05-31 3万+
小时候就看见听 音乐时候 音乐频谱特别炫,总之感觉屌屌 。 大学学了信号和系统,数字信号处理之后还是一头雾水。。 下面介绍一种超级赞 方法做一个用 FFT 方法做一个 音乐频谱仪。

系统采用基于ARM-Cortex M4核STM32F407ZGT6单片机,调用官方DSP库进行4096点FFT运算,后打印出频谱

本系统中采用了STM32官方DSP库,DSP库中提供了定点和浮点FF


战舰 STM32 音乐频谱显示 全网资料整合
05-06
本压缩包整合网上各类关于战舰V3 STM32F103ZET6关于 音乐播放 + 音乐频谱显示 资料,如何采集 音乐数据进行 FFT,如何在LCD屏上进行显示。
stm32f103 + OLED12864 + FFT 音乐频谱 多种显示效果 提供原理图
08-13
利用 stm32f103 + OLED12864 + FFT 制作 一款 音乐频谱,观赏性好, 制作简单。
基于 STM32F4 音乐频谱分析
05-09 2932
基于 STM32F4 音乐频谱分析** 1. 制作材料: stm32f407核心板 16*16 可见灯点阵 蓝牙音频模块及其配套运放模块 若干杜邦线等等、 2. 制作思路 ​ 先将整体电路搭建好,也就是如下图类似 电路整体图。 由于博主自己搭 卖相不是很好,所以就从网上找了一个类似 光立方图

​ 列控制采用SS8550进行频谱幅度控制,而行控制通过SS8050进行循环控制,由于人眼能够识别频率分…


基于 stm32f103c8t6 fft频率计
最新发布
基于 Stm32f103c8t6 fft频率计
基于 STM32 音乐频谱设计
01-16
基于 STM32F103 音乐频谱分析仪 设计。使用了ADC采样和 STM32自带 DSP库
基于 stm32 音乐频谱显示
06-09
这是一个基于 stm32 音乐频谱显示,最大采样频率达到6KHz,能够满足一般 音乐播放要求,其中采样 FFT变换,将音频信号转变为恁俩信号显示出来
基于 STM32 FFT 频谱分析 +波形识别
07-10 2万+
基于 STM32 FFT 频谱分析 +波形识别 1.硬件部分 信号发生器,正点原子精英板,3.5’TFTLCD,两根杜邦线 接PC1和GND 2.基本思路 1.使用ADC采集音频信号 2.使用官方提供 FFT函数 1024点 对采集到 信号进行处理 3.量化、 频谱图显示 采样频率:Fs = 2400Hz 触摸版本可以根据实际情况调整 样本数量:NPT = 1024 3.程序编写 1.ADC采样 这次...
基于 stm32 音乐频谱
05-22
基于 stm32 音乐频谱,可以在led显示屏显示获取声音频率变化
STM32F103如何实现 FFT?
引言 数字信号在我们生活中随处可见,自然而然地就会涉及到对于数字信号 处理,最为典型 一个应用就是示波器,在使用示波器 过程当中,我们会通过示波器测量到信号 频率以及幅值,同时我们也可以通过示波器对测量到 信号进行 FFT ,从而能够观察到待测信号 频谱,方便直观 看出信号 高频分量和低频分量,从而帮助我们去除信号中携带 噪声。而在嵌入式方面 应用,我们可以直接使用 DSP 芯片对信号进行处理,同时, ARM 公司推出 Cortex-M4F 内核是带有 FPU ,DSP 和 SIMD 单元 ,针对于这些单
16x16 音乐频谱
10-21
压缩包内含有程序,基于89c51编写,通过傅里叶变换完成 音乐频谱 显示,内附有电路图
基于51 单片机 音乐盒彩灯 频谱喷泉原理图方案设计
硬件电路 设计 末尾附文件 3.1系统 功能分析及体系结构设计 3.1.1系统功能分析 本设计由STC89C52 单片机电路 +水泵控制电路 +ADC0832采样电路 +LM386功率放大器电路 +LED灯显示电路 +电源电路组成。 1、本设计可以播放电脑、手机、MP3里面 音乐。 2、通过ADC0832芯片对音频信号 采集,转换为数字信号给 单片机,然后PWM脉冲宽度调制控制水泵水柱对 高低。 3、同事有流水灯表示 音乐大小情况。 3.1.2系统总体结构 本系统具体框图如下图所示:

水泵控制电路设计
微型水泵w


FFT变换-- stm32f103c8 + oled12864
10-31
stm32F103c8t6 单片机进行 FFT,液晶12864液晶屏显示,方法:定时器触发adc采集256次,dma搬运数据
STM32F103 + FFT + OLED25664 音乐频谱 制作分享 继续 干货
04-02 1万+
前言:之前,笔者设计并 制作了一个简单 FFT 音乐频谱,并且分享了 制作过程。本文是在原来 基础上做了一些修改。

效果演示:https://www.bilibili.com/video/av47915539/

成品:

音乐频谱时间显示制作过程

一、材料准备

配方略微修改,当然味道更佳!

1.STM32F103C8T6核心板一块

2.OLED256648080并口驱动

3.音频采集电…


“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
  • 8
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值