ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:536.91KB ,
资源ID:3139171      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3139171.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机音乐频谱.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机音乐频谱.docx

1、单片机音乐频谱题 目: 单片机 LED音乐频谱的设计院 (系) :专 业:学生姓名:学 号:指导教师:2011 年 07 月 07 日摘要该系统采用增强型 8051 单片机 STC12C5A60S2 为主控制器, 通过单片机内置的ADC 对音频信号进行采样、量化,然后通过快速傅里叶变换运算,在频域计算出音频信号各个频率分量的功率, 最后通过双基色 LED 单元板进行显示。 该方案具有电路结构简洁,开发、生产成本低的优点。关键词: 单片机;傅里叶; LED;1.引言 12.方案设计 221 设计要求 232 总体方案设计 343 总体方案组成 63.系统电路设计 631 单片机主控电路设计主控制

2、器 642 LED显示模块电路设计 74.软件设计 841 软件设计流程图 85系统的测试 86结论 97参考文献 118. 附录 141.引言本文介绍的音乐频谱显示器可对 mp3、 手机、 计算机输出的音乐信号进行实时的频谱显示。系统采用增强型 8051 单片机 STC12C5A60S2 为主控制芯片,通过单片机内置的 ADC 对音频信号进行采样, 把连续信号离散化, 然后通过快速傅里叶变换 ( FFT)运算,在频域计算出音频信号各个频率分量的功率,最后通过双基色 LED 单元板进行显示。在显示的频率点不多的情况下,本系统比采用 DSP 或 ARM 作为主控制芯片的设计方案具有电路结构简洁,

3、开发、生产成本低的优点。2.方案设计2.1设计要求1.单片机自带 AD转换,这样省去外围 AD电路。2.控制 LED随着音乐跳动,需要理解傅里叶原理。2.2总体方案设计经分析,将系统分为两个部分,一个是由单片机组成的主控。另一部分是 LED显示部分,单片机对接收到的音频进行处理经过傅里叶换算后在 LED显示, 5V稳压电源给各个部分供电。该系统实现的方法有很多种,下面将列出大家最经常用到的实现方案。系统框图如图 1所示音频信号图 1 音乐频谱总体系统框图该系统由音频信号预处理电路、单片机 STC12C5A60S2 控制电路、 LED 频谱显示电路等部分组成。图 l 为系统整体设计原理框图。图

4、1 系统整体设计原理框图系统各组部分的功能: ( 1 )音频信号预处理电路主要对输入的音频进行电压放大和电平提升。 ( 2) 单片机 STC12C5A60S2 控制电路采用内置的 ADC 对音频信号进行采样量化,然后对量化后的音频数据采用 FFT 算法计算其频谱值, 再将各频谱值进行32 级量化。 ( 3) LED 频谱显示电路在单片机的控制下,负责将 FFT 计算得到的音频信号的各个频点的大小进行直观显示。1.音频信号预处理电路图 2 音频信号预处理电路音频信号预处理电路见图 2 所示, 对输入的音频进行电压放大和电平提升。 手机、计算机输出的音频信号 Vin 经过 RP1 进行电压调节后,

5、经集成运放 LMV358 反相放大 10 倍( Av=-R3/R2=-10 ) ,提高系统的灵敏度。选用单电源供电的运放 LMV358 ,一方面可以简化系统电源电路的设计, 直接采用系统的 +5V 供电即可 ;另一方面其输出端静态电压为 VCC/2 ,即 2.5V。放大后的音频信号和这 2.5V 叠加后变为直流电压信号,满足后面单片机内置的 ADC 对输入电压量程的要求。另外, LMV358 为轨到轨输出运放,它可在 +5V 单电源供电条件下仍具有较大的动态输出范围。2.单片机 STC12C5A60S2 控制电路STC12C5A60S2 单片机是宏晶科技生产的新一代单时钟 /机器周期( 1T)

6、 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

7、变换根据香农采样定理,一般采样频率至少应为所采样音频信号最高频率的 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 的转换

8、速度可达到 330KHZ ,完全可满足对音频信号的采样需要。( 2)音频信号频谱值的计算我们采用快速傅里叶算法 ( FFT) 来计算音频信号的频谱值。 根据 FFT 运算规律,如 ADC 以 fs 的采样频率取 N 个采样点,经过 FFT 运算之后,就可以得到 N 个点的复数序列。通常为了方便进行 FFT 运算,通常 N 取 2 的整数次方: N=2L ( L 为正整数) 。这 N 个点的 FFT 结果,每一个点就对应着原始信号的一个频率点,即第 n 点所表示的频率为 f=nfs/N , n=0, 1 , , ( N-1 ) ;该点的模值除以 N/2 就是对应该频率下原始信号的幅度 (对于第

9、1 个点则是除以 N) ;该点的相位即是对应该频率下原始信号的相位。由于 FFT 结果的对称性,通常只使用 FFT 运算后的前 N/2 个点的数值。本系统每隔 10ms 采样一次 128 个点,经过 FFT 运算后将得到 128 个频率点。由于FFT 结果的对称性,我们选取前 64 个点进行显示。现在 FFT 算法已发展出多种形式,本系统采用按时间抽选( DIT)的基 -2FFT 算法,这种算法程序相对较简单,节省存储单元,运行效率较高,比较适合用单片机编程实现。 DIT 基 -2FFT 算法主要由倒位序运算和多级蝶形运算实现。a.倒位序运算的实现DIT 基 -2FFT 算法通常将原始数据序列

10、倒位序存储,运算后的结果则按正常顺序输出。一般的数字信号处理的教材都介绍雷德( Rader )算法,通过 “反向进位加法 ”将原始数据序列进行倒位序存储 2。雷德算法的灵活性较大,但在本系统中,参与运算的数据点数只有 128 个,通过预先编制倒位序查询表,采用查表方式实现倒位序操作速度会更快。b.蝶形运算的实现根据 DIT 基 -2 FFT 算法原理, N 点 FFT 运算由 log2N 级, 每级 N/2 个蝶形运算,共( N/2) log2N 个蝶形运算构成。每个蝶形运算结构见图 3 所示 2。图 3 按时间抽选蝶形运算结构蝶形运算结构图中, m 表示第 m 级的蝶形运算, k 为蝶形运算

11、第一节点所在行数,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_tab128 、 cos_tab128 ,直接查表可提高运算速度。3.频谱值的显示系

12、统中采用 5*11 个不同颜色的草帽 LED 进行显示,每列显示音频信号的一个频率点, 每列 LED 点亮的高度表示该频率点幅度的大小。 整个显示板一共有 5 列, 工作的时候,可以看到每列根据频率幅度的大小在跳动。2.3 整体系统组成本 系统硬件部分由单片机主控电路、 LED显示部分、音频采集等部分组成,其中单片机主控电路有外接晶振,电源供电电路阻等部分组成。软件部分详细见下文。单片机全系统如下图 2 所示。3. 系统电路设计3.1 单片机主控电路设计单片机主控模块包括了振落电路、音频采集电路,同时接入了各个模块的接口,保证了整个系统的灵活性。单片机是整个系统的控制中枢,它指挥外围器件协调工

13、作,从而完成特定的功能。硬件实现上采用模块化设计,每一模块只实现一个特定功能,最后再将各个模块搭接在一起。这种设计方法可以降低系统设计的复杂性。控制电路的核心器件是由美国 Atmel 公司生产的 AT89S52单片机,属于 MCS-51系列。AT89S52是一种低功耗、高性能的 CMOS位微控制器,具有8 8K在系统可编程 Flash 存储器,采用的工艺是 Atmel 公司的高密度非易失存储器技术;片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器;在单芯片上,拥有灵巧的 8 位 CPU和在系统可编程 Flash ,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案;价格低廉、性能可靠、抗干扰能力强。因此广泛应用于工业控制和嵌入式系统中。单片机主控电路原理图如下所示:4.1 单片机主控电路原理图3.2 LED 显示模块电路设计

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

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