单片机音乐频谱.docx

上传人:b****5 文档编号:3139171 上传时间:2022-11-17 格式:DOCX 页数:18 大小:536.91KB
下载 相关 举报
单片机音乐频谱.docx_第1页
第1页 / 共18页
单片机音乐频谱.docx_第2页
第2页 / 共18页
单片机音乐频谱.docx_第3页
第3页 / 共18页
单片机音乐频谱.docx_第4页
第4页 / 共18页
单片机音乐频谱.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

单片机音乐频谱.docx

《单片机音乐频谱.docx》由会员分享,可在线阅读,更多相关《单片机音乐频谱.docx(18页珍藏版)》请在冰豆网上搜索。

单片机音乐频谱.docx

单片机音乐频谱

题目:

单片机LED音乐频谱的设计

院(系):

专业:

学生姓名:

学号:

指导教师:

2011年07月07日

摘要

该系统采用增强型8051单片机STC12C5A60S2为主控制器,通过单片机内置的

ADC对音频信号进行采样、量化,然后通过快速傅里叶变换运算,在频域计算出音频

信号各个频率分量的功率,最后通过双基色LED单元板进行显示。

该方案具有电路结

构简洁,开发、生产成本低的优点。

关键词:

单片机;傅里叶;LED;

1.引言⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯1

2.方案设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯2

2.1设计要求⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯2

3.2总体方案设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3

4.3总体方案组成⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯6

3.系统电路设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯6

3.1单片机主控电路设计主控制器⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯6

4.2LED显示模块电路设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯7

4.软件设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯8

4.1软件设计流程图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯8

5.系统的测试⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯8

6.结论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯9

7.参考文献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯11

8.附录⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯14

1.引言

本文介绍的音乐频谱显示器可对mp3、手机、计算机输出的音乐信号进行实时的频

谱显示。

系统采用增强型8051单片机STC12C5A60S2为主控制芯片,通过单片机内

置的ADC对音频信号进行采样,把连续信号离散化,然后通过快速傅里叶变换(FFT)

运算,在频域计算出音频信号各个频率分量的功率,最后通过双基色LED单元板进行

显示。

在显示的频率点不多的情况下,本系统比采用DSP或ARM作为主控制芯片的设

计方案具有电路结构简洁,开发、生产成本低的优点。

2.方案设计

2.1设计要求

1.单片机自带AD转换,这样省去外围AD电路。

2.控制LED随着音乐跳动,需要理解傅里叶原理。

2.2总体方案设计

经分析,将系统分为两个部分,一个是由单片机组成的主控。

另一部分是LED显示部分,

单片机对接收到的音频进行处理经过傅里叶换算后在LED显示,5V稳压电源给各个部分供电。

该系统实现的方法有很多种,下面将列出大家最经常用到的实现方案。

系统框图如图1

所示

音频信号

图1音乐频谱总体系统框图

该系统由音频信号预处理电路、单片机STC12C5A60S2控制电路、LED频谱显

示电路等部分组成。

图l为系统整体设计原理框图。

图1系统整体设计原理框图

系统各组部分的功能:

(1)音频信号预处理电路主要对输入的音频进行电压放大

和电平提升。

(2)单片机STC12C5A60S2控制电路采用内置的ADC对音频信号进行

采样量化,然后对量化后的音频数据采用FFT算法计算其频谱值,再将各频谱值进行

32级量化。

(3)LED频谱显示电路在单片机的控制下,负责将FFT计算得到的音频

信号的各个频点的大小进行直观显示。

1.音频信号预处理电路

图2音频信号预处理电路

音频信号预处理电路见图2所示,对输入的音频进行电压放大和电平提升。

手机、

计算机输出的音频信号Vin经过RP1进行电压调节后,经集成运放LMV358反相放

大10倍(Av=-R3/R2=-10),提高系统的灵敏度。

选用单电源供电的运放LMV358,

一方面可以简化系统电源电路的设计,直接采用系统的+5V供电即可;另一方面其输出

端静态电压为VCC/2,即2.5V。

放大后的音频信号和这2.5V叠加后变为直流电压信

号,满足后面单片机内置的ADC对输入电压量程的要求。

另外,LMV358为轨到轨

输出运放,它可在+5V单电源供电条件下仍具有较大的动态输出范围。

2.单片机STC12C5A60S2控制电路

STC12C5A60S2单片机是宏晶科技生产的新一代单时钟/机器周期(1T)8051

单片机,具有高速、低功耗及超强抗干扰等特点,指令代码完全兼容传统8051,但速

度快8-12倍;内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换

(250K/S)等资源[1]。

特别是它带硬件乘法/除法指令,使乘法指令执行时间从传统

8051的48个晶振周期减少到4个晶振周期,使需要大量乘法运算的FFT运算速度得

到大幅度提高。

在本系统中,STC12C5A60S2单片机负责完成对音频信号进行A/D

变换,然后采用FFT算法计算音频信号频谱,并将计算结果输出到LED频谱显示电

路。

(1)音频信号的A/D变换

根据香农采样定理,一般采样频率至少应为所采样音频信号最高频率的2倍。

于人耳能够感受的频率为20Hz-20kHz,所以理论上采样频率最高取40kHz。

本设计

采用单片机STC12C5A60S2内置的ADC对音频信号进行采样、量化。

STC12C5A60S2单片机的A/D转换口在P1口(P1.0-P1.7),有8路10位的高速ADC,

其输入电压量程为0-Vcc,转换速度可通过ADC_CONTR特殊功能寄存器的

SPEED1,SPEED0位进行控制,速度最快可设置为每90个时钟周期转换一次。

外接晶振为24MHz时,ADC的转换速度可达到330KHZ,完全可满足对音频信号的

采样需要。

(2)音频信号频谱值的计算

我们采用快速傅里叶算法(FFT)来计算音频信号的频谱值。

根据FFT运算规律,

如ADC以fs的采样频率取N个采样点,经过FFT运算之后,就可以得到N个点的

复数序列。

通常为了方便进行FFT运算,通常N取2的整数次方:

N=2L(L为正整

数)。

这N个点的FFT结果,每一个点就对应着原始信号的一个频率点,即第n点所

表示的频率为f=n×fs/N,n=0,1,⋯,(N-1);该点的模值除以N/2就是对应该频率

下原始信号的幅度(对于第1个点则是除以N);该点的相位即是对应该频率下原始信

号的相位。

由于FFT结果的对称性,通常只使用FFT运算后的前N/2个点的数值。

本系统每隔10ms采样一次128个点,经过FFT运算后将得到128个频率点。

由于

FFT结果的对称性,我们选取前64个点进行显示。

现在FFT算法已发展出多种形式,本系统采用按时间抽选(DIT)的基-2FFT算

法,这种算法程序相对较简单,节省存储单元,运行效率较高,比较适合用单片机编

程实现。

DIT基-2FFT算法主要由倒位序运算和多级蝶形运算实现。

a.倒位序运算的实现

DIT基-2FFT算法通常将原始数据序列倒位序存储,运算后的结果则按正常顺序

输出。

一般的数字信号处理的教材都介绍雷德(Rader)算法,通过“反向进位加法”

将原始数据序列进行倒位序存储[2]。

雷德算法的灵活性较大,但在本系统中,参与运

算的数据点数只有128个,通过预先编制倒位序查询表,采用查表方式实现倒位序操

作速度会更快。

b.蝶形运算的实现

根据DIT基-2FFT算法原理,N点FFT运算由log2N级,每级N/2个蝶形运算,

共(N/2)log2N个蝶形运算构成。

每个蝶形运算结构见图3所示[2]。

图3按时间抽选蝶形运算结构

蝶形运算结构图中,m表示第m级的蝶形运算,k为蝶形运算第一节点所在行数,

b为蝶形运算两节点距离,b=2m-1,WNr为旋转因子,WNr=cos(2πr/N)-jsin(2πr/N)。

每个蝶形结构完成下述基本迭代运算[2]:

设Xm=Rm+jIm,将式

(1)转变为实部和虚部的表示形式,得到:

由上面式

(1)、

(2)可见,一个蝶形运算需要一次复数乘法Xm-1(k+b)WNr及两次复数加(减)

法。

在单片机系统中编程实现时,需把复数运算转变为实数运算。

同理,将式

(2)转变为:

将sin、cos函数做成表格sin_tab[128]、cos_tab[128],直接查表可提高运算速

度。

3.频谱值的显示

系统中采用5*11个不同颜色的草帽LED进行显示,每列显示音频信号的一个频

率点,每列LED点亮的高度表示该频率点幅度的大小。

整个显示板一共有5列,工作

的时候,可以看到每列根据频率幅度的大小在跳动。

2.3整体系统组成

本系统硬件部分由单片机主控电路、LED显示部分、音频采集等部分组成,其中单片机主

控电路有外接晶振,电源供电电路阻等部分组成。

软件部分详细见下文。

单片机全系统如下图2所示。

3.系统电路设计

3.1单片机主控电路设计

单片机主控模块包括了振落电路、音频采集电路,同时接入了各个模块的接口,保证了

整个系统的灵活性。

单片机是整个系统的控制中枢,它指挥外围器件协调工作,从而完成特定的功能。

硬件

实现上采用模块化设计,每一模块只实现一个特定功能,最后再将各个模块搭接在一起。

种设计方法可以降低系统设计的复杂性。

控制电路的核心器件是由美国Atmel公司生产的AT89S52单片机,属于MCS-51系列。

AT89S52是一种低功耗、高性能的CMOS位微控制器,具有88K在系统可编程Flash存储器,

采用的工艺是Atmel公司的高密度非易失存储器技术;片上Flash允许程序存储器在系统可

编程,亦适于常规编程器;在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得

AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案;价格低廉、性能可靠、

抗干扰能力强。

因此广泛应用于工业控制和嵌入式系统中。

单片机主控电路原理图如下所示:

4.1单片机主控电路原理图

3.2LED显示模块电路设计

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1