欢迎来到天天文库
浏览记录
ID:39682923
大小:1.87 MB
页数:7页
时间:2019-07-09
《STM32音乐频谱分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、STM32音乐频谱分析 2011-12-1103:06:03
2、 分类:制作类
3、 标签:
4、举报
5、字号大中小 订阅 呵呵,在昨天的基础上,进行了改进。 采样频率为12.3Khz,256点FFT。视频: 其实这玩意不难做,音频信号采集,我的方法是将电脑出来的信号用TDA2822放大,然后给单片机AD口,剩下就是软件上的了。 说起TDA2822,还是挺不错的一款功率放大芯片,本只想用来做信号放大用的,但baidu了下它和看它的数据手册,都多用来做小功率功放。呵呵,那就也做一个吧。 TDA2
6、822的典型应用电路如下: 这电路很普通,没什么特别,参数也不用调整,直接搭出来,就正常的工作。 接下来就是将放大后的信号给单片机,这里问题就来了,电路中C4,C5是干什么,给单片机的话要不要加? 于是开始baidu,google,但没找到合适解答,于是翻了翻模电书,里面还真讲到功率放大器,, TDA2822是OTL功放,输出电容起耦合作用,因为OTL功放在在静态时输出端都会有Vcc/2伏的输出,这样会搞坏喇叭,所以需要加个电容,隔离。单片机处理的话就不用输出电容了。
7、 如果用示波器一看,结果就很明显,如下图,下面的信号是加了电容,上面是没加。 做好电路后理所当然的准备将功放输出端接到单片机上,但突然一想,不对啊,功放我给11.1V供电,那输出不就有5V左右电压?而STM32是3.3V!不烧了才怪! 幸好TDA2822工作电压范围在1.8~12V间,所以就给它3.3V行了。 这样一来基本就没问题了。 第二个的输出电容还是保留,作个对比。 好了,接下来就是程序了。 首先就得确定采样率,就是间隔多久采一个点。刚开始不是很懂,
8、用的40kHz,也成,但要是做音频频谱分析没必要那么高了。 这里有些资料:音频的频率范围及表现力度音频的频率范围、音质的评价标准一般认为20Hz-20kHz是人耳听觉频带,称为“声频”。这个频段的声音称为“可闻声”,高于20kHz的称为“超声”,低于20Hz的称为“次声“。 所谓声音的质量,是指经传输、处理后音频信号的保真度。目前,业界公认的声音质量标准分为4级,即: 数字激光唱盘CD-DA质量,其信号带宽为10Hz~20kHz; 调频广播FM质量,其信号带宽为20Hz~15k
9、Hz; 调幅广播AM质量,其信号带宽为50Hz~7kHz; 电话的话音质量,其信号带宽为200Hz~3400Hz。可见,数字激光唱盘的声音质量最高,电话的话音质量最低。 除了频率范围外,人们往往还用其它方法和指标来进一步描述不同用途的音质标准。音频频率范围一般可以分为四个频段,即: 低频段(30—150HZ); 中低频段(30—150HZ); 中低频(150—500HZ); 中高频段(500—5000HZ);
10、高频段(5000—20kHZ)。30—150HZ频段:能够表现音乐的低频成分,使欣赏者感受到强劲有力的动感。150—500HZ频段:能够表现单个打击乐器在音乐中的表现力,是低频中表达力度的部分。500—5000HZ频段:主要表达演唱者或语言的清淅度及弦乐的表现力。5000—20kHZ频段:主要表达音乐的明亮度,但过多会使声音发破。 --------------------------------------------------------------------------------------------
11、---------------------------------------------------------------------------- 所以我选则12kHz左右的采样率。下面的DSP_Lib文件夹就是ST公司提供的DSP库。FFT,PID等都是用汇编写的。 将ST提供的FFT表加载到内存中,速度是快一些,1024点只需1.7ms左右,我觉得效率算是蛮高了。接下来就是代码了:#include#include#include"
12、stm32_dsp.h"#include"table_fft.h"#include"sys.h"#include"usart.h"#include"delay.h"#include"timer.h"#include"LED.h"#include"ADC.h"#include"3264LED.h"#defineNPT256 //FFTpoint#defineFAS
此文档下载收益归作者所有