资源描述
摘 要
MP3是MPEG1 Layer-3音频文件的简称。MPEG音频是普遍应用的音频压缩标准,其中层Ⅲ算法最为复杂,但是压缩比最大,效果也最好,在低码率条件下基本上能达到CD的音质效果。但略感遗憾的是除了能够选择歌曲和显示歌名外,绝大部分MP3播放器没有如随意弹奏乐曲、乐曲节奏跳动等功能。然而随着人们生活水平不断提高,单片机控制无疑是人们追求目标的手段之一。要为现代人工作、生活提供更好、更方便的服务就需要从单片机方面着手,一切向着数字化控制、智能化控制方向发展。
本设计是采用单片机为核心设计的MP3音乐播放器。硬件电路包括中心控制模块、按键模块、显示模块、扬声器播放模块以及彩灯伴奏模块。
中心控制模块是以芯片AT89C52为主,按键模块由8个按键组成,其中1个键用来实现播放器自动播放及自行弹奏两模式之间的转换,其余7个键用作音符的输入或者音乐的播放选择。显示模块采用LCD1602对当前播放的歌曲名称进行显示。彩灯伴奏模块是LED通过中心控制模块的控制伴随着音乐节奏闪亮。扬声器播放模块则是由三极管和无源蜂鸣器组成,通过中心控制模块的控制对当前音乐进行的播放。软件程序运用C语言编程实现。
关键字:MP3音乐播放器;多功能;单片机;AT89C52
i
湖南科技大学本科生毕业设计(论文)
ABSTRACT
MP3 is short for MPEG1 Layer-3 files. MPEG audio is widely used audio compression standard, including the most complex layer III algorithm but the compression ratio, the effect is the best. In low bit rate conditions basically CD quality sound effects can be achieved.But somewhat regret is in addition to select songs and display the song name, the vast majority of players not as free to play music, the rhythm of music beats, and other functions. However, with the continuous improvement of people's living standards, SCM is one of the means for people to pursue goals. To modern work and life to provide better and more convenient service need to proceed from the SCM, all toward digital control, intelligent control direction.
This design is the use of single-chip microcomputer as the core design of the MP3 music player. The hardware circuit includes a central control module, keyboard module,display module,loudspeaker module and lights accompaniment module.
Central control module is AT89C52 chip based, the key module is composed of a 8 keys, a key which is used to achieve playback and self playing the conversion between the two modes, the remaining seven key used as notes input or music playback options. Display module using LCD1602 to display the name of the currently playing song. Lantern accompaniment module is LED under the control of the central control module with the rhythm of the music of shining. Speaker playback module is composed of a triode and passive buzzer, broadcast through the central control module of the control of the music. The software program using C language programming
Keywords:MP3 music player; multi function; single chip microcomputer;AT89C52
目 录
第一章 绪论 …………………………………………………………………1
1.1 MP3播放器研究的背景……………………………………………………1
1.2 国内外状况…………………………………………………………………2
1.3 课题研究内容………………………………………………………………2
第二章 MP3播放器的编解码过程…………………………………………3
2.1 MP3的工作原理……………………………………………………………3
2.2 MP3的编码过程……………………………………………………………5
2.2.1编码分析……………………………………………………………5
2.2.2播放器编码过程……………………………………………………8
2.3 MP3播放器解码过程………………………………………………………10
2.4本章小结……………………………………………………………………11
第三章 硬件设计………………………………………………………………12
3.1 硬件电路总体框图………………………………………………………12
3.2 主芯片的选择与概述……………………………………………………12
3.3 硬件电路设计模块………………………………………………………16
3.3.1中心控制模块………………………………………………………16
3.3.2显示模块……………………………………………………………17
3.3.3扬声器播放模块……………………………………………………18
3.3.4按键模块……………………………………………………………19
3.3.5彩灯伴奏模块……………………………………………………20
3.4 本章小结…………………………………………………………………20
第四章 软件设计……………………………………………………………22
4.1 单片机发声原理………………………………………………………22
4.2 设计的相关音乐说明…………………………………………………22
4.3 播放模式切换原理……………………………………………………22
4.4 软件程序设计…………………………………………………………23
4.4.1系统主程序设计……………………………………………………23
4.4.2 LCD显示子程序设计……………………………………………24
4.4.3函数初始化子程序设计…………………………………………26
4.4.4按键扫描子程序设计………………………………………………26
4.4.5延时程序设计………………………………………………………29
4.5 本章小结…………………………………………………………………30
第五章 总结与展望……………………………………………………………32参考文献…………………………………………………………………………33致 谢……………………………………………………………………………34
附录A………………………………………………………………………………35
附录B………………………………………………………………………………36
- 1 -
第一章 绪 论
1.1 研究背景及其意义
随着电子信息技术的发展,社会生产力的快速提高,人们的生产方式和生活方式发生了日新月异的变化。生活水平的提高,人们对于音乐接触的更多了,这就触发了人们对音乐的喜爱,对音质的追求,对音乐播放器的品质、功能、品种等的要求越来越多,表现在对控制系统性能、可靠性等要求越来越高。然而品质的提高,功能的更新,可靠性的增强和品种的变化无一不与产品核心控制部分水平的提高密不可分。数字音频已经全面取代了模拟音频,在随身听世界里由CD、MD、MP3 形成三分天下的局面。
而MP3相比于CD、MD等随身听,其最大的市场优势在于独特的产品特性。它是一种采用集成芯片制成的数码产品,在产品的设计上有很大的灵活性和随意性,其产品可大可小,可设计成任意的形状,迎合了不同年龄段的审美要求。各种型号时尚个性的MP3播放器产品,创造着消费潮流,这是其最大的卖点。特别值得一提的是自从Diamond(帝盟)公司推出第一台MP3 Player后,这个比烟盒还小的精灵在过去短短两三年内改变了整个音乐市场、便携式数码音乐产品,改变了我们的生活。
MP3 播放器集电脑的新潮、网络的便捷、音乐的灵秀于一身,在过去以惊人的速度传遍世界的每个角落,曾成为今天IT界和音乐界最热门的话题之一。MP3 播放器之所以能在过去短短几年内迅速席卷全球,成为听歌者的热爱,成为便携式音频设备的主流,实在是历史发展的必然:
一方面,MP3 播放器是电脑、网络、音乐三者结合的产物。电脑是科技的骄傲,网络是时代的象征、音乐则是人类的灵魂,MP3 播放器与电脑、网络、音乐融为一体相伴相生,本身就有强大的生命力,具有革命性的意义。另一方面,作为便携式音频设备,人们要求有更轻、更小、更便捷的产品出现,这是现代快节奏快生活的时代要求。
MP3播放器虽然曾在市场上的销售呈上升趋势,但是它的功能还需要进一步完善并加以提高,使其能够给消费者提供更多的,更完善的功能服务。接着MP3播放器的发展方向便是提高便携性、实现多功能化和对应多种方式。其中,所谓对应多种方式是指对应多种音频编码方式和知识产权管理技术。所以把MP3播放器产品可以分为两大发展方向,一种是专用便携式MP3播放器,另一种是多功能MP3播放器。
专用MP3播放器发展方向是追求小、轻便和薄型化。这种便携式播放器,小到邮票大小,最大的也超不过信用卡的外形尺寸。多功能便携式播放器,它不
仅具备音频功能,而且嵌入信息处理功能。比如,融合MP3播放器、移动电话、汽车导航等为一体的便携式播放器。所以研究MP3播放器还是有一定意义的,不仅能够了解音频设备的发展,还能深刻体会快速发展的科技。
家用音乐播放器产品以及其它有关消费电器产品都是些开环或闭环控制系统,都由核心控制部分,执行部分和人机界面三部分组成。而最为重要的控制部分一般由单片机来执行完成的,这就必将促进单片机在音乐领域应用的发展。现在这些由单片机来实现的音乐播放器的功能变得越来越强、费用也变得越来越低。但这些音乐播放器同时或多或少的存在着一些问题,为了解决这些问题,非智能化的单片机莫属。
1.2 国内外状况
中国加入WTO和经济全球化的推进,使得每个企业都置身于一个全球性发展的大市场中,每一个企业都面临着激烈的市场竞争,如果要想可以取得好的收益,就不得不不断完善和改进自己产品的质量和功能,使自己的产品更受用户的喜爱,这就必须在一个市场和一个行业中取得绝对性的企业竞争力,这就是企业获胜的关键。
虽然经历了很许多次的洗礼,生产商家越来越多,市场上的MP3的竞争越来越激烈,生活的压力逼迫许多商家,为了获得更多的利益而不得不去尽量降低产品的成本,这样质量就难免会缩水,使得越来越少的人们会在技术上做出更多的进步了。
MP3市场超速增长的原因,主要有以下几点:
MP3功能的不断完善,由原来的单纯的播放音乐文件,发展到现在的录音,收音,FM等附加功能,使得更加的多功能化。与此同时,音质也在不断的提升,播放模式变的越来越多样化,以及容量的不断扩大,外表包装越来越个性创新,使得人们对其爱不释手。
但是随着国内市场闪存价格的迅速下降,使得MP3成本大幅度下降,导致MP3的价格也急剧下降。在MP3市场上,国内的品牌具有压制性的优势。爱国者、联想、等诸多国内品牌占市场销售前列,但国外品牌如三星、ipod也没有放弃对市场的竞争,他们一方面继续巩固已经拥有的优势,另一方面他们也在不断向中低端市场渗透,多方面发展。与此同时,国内品牌也不再满足低端定位,不断推出自己的高端产品。硬盘MP3、彩屏MP3也相继问世,并取得了广大消费者的支持。虽然现在是手机快速发展的时代,但是MP3的发展也给我们带来了不可磨灭的影响。所以,对于MP3的研究还将不断发展,在未来也将取得更加突破性的发展,应用也将更加广泛。
1.3 课题研究内容
随着现代电子信息工业技术的飞速发展,MP3播放器越来越受到人们的喜爱。目前单片机本的应用已经渗透到我们生活的各个领域,许多开发领域都离不开单片机,而且单片机在音乐播放器领域有很大的应用。
本设计由MP3播放器的编解码部分分析硬、件电路设计和软件程序设计三大部分组成。整个硬件电路由中心控制模块、扬声器播放模块、显示模块、按键模块及彩灯伴奏模块组成,中心控制模块是采用AT89C52单片机,扬声器播放模块由8550 NPN三极管和电磁蜂鸣器组成,采用LCD1602显示模块,按键模块设8个按键,7个作为音符输入,另1个作为模式转换按键,来实现用户的自弹作曲、彩灯伴奏。软件程序用C语言编程来实现。
本设计主要围绕以下几个部分对基于单片机的MP3播放器的控制系统进行设计:
(1)对MP3播放器的编解码部分分析。
(2)对MP3播放器的硬件部分设计。
(3)对MP3播放器的软件部分设计。
46
第二章 MP3播放器的编解码过程
2.1 MP3的工作原理
MP3的全称为MPEG1 Layer-3音频文件,MPEG(Moving Picture Experts Group)在汉语中译为活动图像专家组,特指活动影音压缩标准,MPEG音频文件是MPEG1标准中的声音部分,也叫MPEG音频层,它根据压缩质量和编码复杂程度划分为三层,即Layer-1、Layer2、Layer3,且分别对应MP1、MP2、MP3这三种声音文件,并根据不同的用途,使用不同层次的编码[16]。
MPEG音频编码的层次越高,编码器就越复杂,压缩率也就越高,MP1和MP2的压缩率分别为4:1和6:1~8:1,而MP3的压缩率则高达10:1~12:1,也就是说,一分钟CD音质的音乐,如果未经压缩需要10MB的存储空间,而经过MP3压缩编码后确只需要1MB左右。
MP3对音频信号采用的是有损压缩方式,为了降低声音的失真度,MP3采取了“感官编码技术”,即编码时先对音频文件进行频谱分析,然后用过滤器滤掉噪音电平,接着通过量化的方式将剩下的每一位打散排列,最后形成具有较高压缩比的MP3文件,并使压缩后的文件在回放时能够达到比较接近原音源的声音效果。
一个完整MP3播放机要分几个部分:中央处理器、解码器、存储设备、主机通讯端口、音频DAC和功放、显示界面和控制键[12]。
中央处理器和解码器是整个系统的核心。这里的中央处理器我们通常称为MCU(单片微处理器),简称单片机。它运行MP3的整个控制程序,也称为fireware(或者固件程序)。控制MP3的各个部件的工作:从存储设备读取数据送到解码器解码;与主机连接时完成与主机的数据交换;接收控制按键的操作,显示系统运行状态等任务。解码器是芯片中的一个硬件模块,或者说是硬件解码(有的MP3播放机是软件解码,由高速中央处理器完成)。它可以直接完成各种格式MP3数据流的解码操作,并输出PCM或I2S格式的数字音频信号。
存储设备是MP3播放机的重要部分,通常的MP3随身听都是采用半导体存储器(FLASH MEMORY)或者硬盘(HDD)作为储存设备的。它通过接受储存主机通讯端口传来的数据(通常以文件形式),回放的时候MCU读取存储器中的数据并送到解码器。数据的存储是要有一定格式的,众所周知,PC管理磁盘数据是以文件形式,MP3也不例外,最常用的办法就是直接利用PC的文件系统来管理存储器,微软操作系统采用的是FAT文件系统,这也是最广泛使用的一种。播放机其中一个任务就是要实现FAT文件系统,即可以从FAT文件系统的磁盘中按文件名访问并读出其中的数据。
主机通讯端口是MP3播放机与PC机交换数据的途径,PC通过该端口操作MP3播放机存储设备中的数据,拷贝、删除、复制文件等操作。目前最广泛使用的是USB总线,并且遵循微软定义的大容量移动存储协议规范,将MP3播放机作为主机的一个移动存储设备。这里需要遵循几个规范:USB通信协议、大容量移动存储器规范和SCSI协议。
音频DAC是将数字音频信号转换成模拟音频信号,以推动耳机、功放等模拟音响设备。这里要介绍一下数字音频信号。数字音频信号是相对模拟音频信号来说的。我们知道声音的本质是波,人说能听到的声音的频率在20Hz到20kHz之间,称为声波。
模拟信号对波的表示是连续的函数特性,基本的原理是不同频率和振幅的波叠加在一起。数字音频信号是对模拟信号的一种量化,典型方法是对时间坐标按相等的时间间隔做采样,对振幅做量化。单位时间内的采样次数称为采样频率。这样一段声波就可以被数字化后变成一串数值,每个数值对应相应抽样点的振幅值,按顺序将这些数字排列起来就是数字音频信号了。这是ADC(模拟-数字转换)过程,DAC(数字-模拟转换)过程相反,将连续的数字按采样时候的频率顺序转换成对应的电压。MP3解码器解码后的信息属于数字音频信号(数字音频信号有不同的格式,最常用的是PCM和I2S两种),需要通过DAC转换器变成模拟信号才能推动功放,被人耳所识别。
MP3播放机的显示设备通常采用LCD或者LED等来显示系统的工作状态。控制键盘通常是按钮开关。键盘和显示设备合起来构成了MP3播放机的人机交互界面。
MP3播放机的软件结构跟硬件是相对应的,即每一个硬件部分都有相应的软件代码,这是因为大多数的硬件部分都是数字可编程控制的。
总结一下, MP3播放器的工作原理可以概括如下:首先将MP3歌曲文件从存储体中读出并将数据送往解码器→解码器对数据进行解码→通过数模转换器将解码后的数字信号转换成模拟信号→再把转换后的模拟音频放大→低通滤波后到耳机输出口,输出后就是我们所听到的音乐了。
2.2 MP3的编码过程
2.2.1 编码分析
(1)音频信号数字化
信号的数字化就是将连续的模拟信号转换成离散的数字信号,一般需要完成采样、量化和编码三个步骤[10]。如图2.1所示。采样是指用每隔一定时间间隔的信号样本值序列来代替原来的时间上连续的信号;量化是用有限个幅度近似表示原来的时间上连续变化的幅度值,把模拟信号的连续幅度变为有限数量、有一定时间间隔的离散值;编码则是按照一定的规律,把量化后的离散值用二进制数码表示。上述数字化的过程又称为脉冲编码调制,通常由A/D转换器来实现。
模拟音频信号 低通滤波器 采样
数字流 编码 量化
图2.1 音频信号数字化
数字音频信号经过处理、记录或传输后,当需要重现声音时,还必须还原为连续变化的模拟信号。将数字信号转换成模拟信号为D/A转换。
数字音频的质量取决于采样频率和量化位数。采样频率越高,量化位数越多,数字化后的音频质量越高。
(2)音频采样
采样就是从一个时间上连续变化的模拟信号取出若干个有代表性的样本值,来代表这个连续变化的模拟信号。一个在时间和幅值上都连续的模拟音频信号的函数表示为,采样的过程就是在时间上将函数离散化的过程。一般的采样是按照均匀的时间间隔来进行的。设这一时间间隔为T,则取样后的信号为,n为自然数。
根据奈奎斯特采样定理:要从采样值序列完全恢复原始的波形,那么采样频率必须大于或者等于原始信号最高频率的2倍。设连续信号的频谱为,以采样间隔时间T抽样得到离散信号,如果满足时,其中是截止频率,即时,可以由完全确定连续信号,如公式(2-1)所示。
(2-1)
因此,可由离散信号完全确定频谱,如公式(2-2)所示。
(2-2)
当采样频率为1/2T时,即时,称为奈奎斯特采样频率。
(3)音频量化
采样把模拟信号变成了时间上离散的样值序列,但每个样值的幅度仍然是一个连续的模拟量,所以还必须对其进行离散化处理,将其转换为有限个离散值,才能最终与数码来表示其幅值。量化过程是将采样值在幅度上再进行离散化处理的过程。所有的采样值可能出现的范围被划分成有限多个量化阶的集合,把凡是落入某个量化阶内的采样值都赋予相同的值,即量化值。通常这个量化值用二进制来表示,用N位二进制码字可以表示2N个不同的量化电平。存储数字音频信号的比特率为:,其中的是采样率,N是每个采样值的比特数。
表示采样值的二进制的位数为量化位数,它反映出各采样值的精度,如3位能表示采样值的8个等级,8位能反映256个等级,其精度为音频信号最大振幅的1/256。量化位数越多,量化值就越接近于采样值,其净度就越高,但是要求的信息存储量就越大。
根据以上公式可知,要减小比特率I,在2s已经确定的情况下,只能去减少N的值。N的值降低会导致量化的精度降低,N的值增加又会导致信息存储量的增加。因此在编码时就需要合理地选择N的值。
均匀量化就是采用相等的量化间隔进行采样,也称为线性量化。用均匀量化来量化输入信号时,无论对大的输入信号还是小的输入信号都一律采用相同的量化间隔。因此,要想既适应幅度大的输入信号,同时又要满足精度高的要求,就需要增加采样样本的位数。
非均匀量化的基本思想是对输入信号进行量化时,大的输入信号采用大的量化间隔,小的输入信号就采用小的量化间隔,这样就可以在满足精度要求的情况下使用较少的位数来表示。其中采样输入信号幅度和量化输出数据之间一般定义了两种关系,一种成为u律压缩算法,另一种成为A律压缩算法。采用不同量化方法,量化后的数据量也就不同。因此说量化也是一种压缩数据的方法。
(4)音频编码
采样、量化后的信号还不是数字信号,需要把它转换成数字脉冲,这一过程就叫编码。最简单的编码方式是二进制编码。具体说就是用n比特的二进制编码来表示已经量化了的样值,每个二进制数对应一个量化电平,然后把它们排列,得到由二值脉冲串组成的数字信息流。用这种方式组成的二值脉冲的频率等于采样频率与量化比特数的乘积,成为数字信号的数码率。采样频率越高,量化比特数越大,数码率就越高,所需要的传输带宽就越宽。
音频编码方法归为三大类参数编码、波形编码、混合编码。
参数编码:从语音波形信号中提取生成语音的参数,然后用这些参数通过语音生成模型重构出语音,使重构的语音信号尽可能的保持原始语音信号的语意。也就是说,参数编码是通过把语音信号产生的数字模型作基础,然后求出数字模型的模型参数,再按这些参数还原数字模型,进而合成语音。
波形编码:不利用生成音频信号的任何参数,直接将时间域信号变换为数字代码,使重构的语音波形尽可能的与原始语音信号的波形形状保持一致。波形编码的基本原理就是在时间轴上对模拟语音信号按一定的速率抽样,然后将幅度样本分层量化,并用代码表示。
混合编码:同时使用两种或两种以上的编码方法进行编码。这种编码方法克服了波形编码和参数编码的弱点,并且结合了波形编码高质量和参数编码的低编码速率,能够取得比较好的效果。
2.2.2 播放器编码过程
MP3文件由一系列长度不同的帧组成,一个接着一个,就好像电影胶片一样。每一帧的前面都有一个头信息,其中就包括一些关于后继数据的额外信息。在某些编码中,这些帧可以互相影响。例如,一帧有剩余的空间,而下一帧没有,他们就可以组合起来产生一个优化的结果。在一个MP3文件的开始或者结尾,通常会存储一些额外的信息,包括歌手、曲目名、专辑名、录制时间、流派以及个人评论。这叫做“ID3”数据,当文件数目不断增长是,将会非常有用。
MP3使用两种技术获得好的压缩比:一种有损压缩,一种无损压缩。首先,压缩过程将人类根本不能听到的部分丢弃(或者至少做出可接受的折中),然后对冗余编码进一步的压缩。然而,正是第一部分的压缩做了大部分的工作,也具有更多的复杂性,这里也被更多的考虑。
MP3编码工具分析信号源,把它分解为各种数学模板,并与编码器存储的心理声学模板进行比较。编码器就可以丢弃大部分不匹配的数据。
MP3编码过程可以分成几个步骤:
第一,将信号分解成称为帧的组建片、每一帧持续不到一秒。这和电影中的帧很类似。
第二,分析信号已决定其“光谱能量分布”,也就是说,在整个可听频率的光谱范围内,找出怎样将比特流进行分布,以产生最好的音频编码。因为频率光谱的不同部分使用相同的算法,经过轻微的变换,可以进行高效编码,这一步将信号分解为子带(sub-bands),子带可以独立的进行处理以产生最优的效果(注意所有的子带都使用相同的算法,不同只是因为使用的编码器不同造成的其分配的比特流大小不同而已)。
第三,要考虑数据传输率,它决定了每一帧能够分配的比特最大值。例如,如果数据传输率是128kbit/s,那么每一帧可以分配的数据上限就确定了(除非使用变比特率方法)。这一步决定了可以存储多少可获得的数据以及有多少数据被丢弃。把每一帧的频率分布于人类心理声学的数学模板进行比较(数学模板作为一个索引表存储在编/解码器中),从这些模板中就可以决定,哪些频率应该准确的渲染表现出来,那些频率可以丢弃或者分配较少的bit。
第四,经过Huffman编码的处理,这个过程去处取样的冗余信息。Huffman编码与心理声学模型并不相关,它只是通过传统的压缩方式获得额外的压缩比。
因此,读者可以看到,整个MP3编码过程是:首先,利用所有的心理声学模板选择性的丢弃大量数据,然后压缩剩余的数据,消除冗余。其中的第二步,并不丢弃数据,它仅仅使用更小的空间存储剩余的数据。把一定数量的帧集合起来,再在每个数据帧前加上头信息,就组装成一系列的比特流,头信息主要包括一些相关帧的指令。在这个过程中,许多其他因素需要考虑,这经常在开始编码前就需要预先设定。另外,对每个单独的帧的编码算法经常还依赖于对前一帧和后一帧。整个过程包含了某种程度的同步,前面的步骤并不必须按顺序进行。
MP3的声音数据分成帧,每帧包含1152个样本的数据,由32个子带分别输出MP3的编码器输入,以12个样本为一组,每组样本经过时间-频率变换之后进行一次位分配并记录一个比例因子(scale factor)。位分配的信息告诉解码器每个样本由几位表示,比例因子用6位表示解码器,使用6位的比例因子乘以量化器的每个输出样本值,以恢复被量化的子带值。比例因子的作用是充分利用量化器的量化范围,通过位分配的比例因子相配合,可以表示的动态范围超过了120dB的样本。
MP3编码器的详细框图如图2.3所示。
MDCT动态加窗
逆比例器和量化器
数
字
通
信
MCU
边信号编码器
哈弗曼编码
逆MDCT动态加窗
合成滤波器组
边信号编码器
掩蔽域值
MCU
FFT
哈弗曼编码
比例器和量化器
分析滤波器组
图2.3 MP3编码器和解码器的结构
MP3使用了从ASPEC(Audio Spectral Perceptual Encoding)和OCF(Optimal Coding In The Frequency domain)导出的算法。在滤波器组上,MP3在使用了正交镜像滤波(和MP1和MP2相同)后,紧跟着使用了改进离散余弦变换MDCT(Modified Discrete Cosine Transform),对正交镜像滤波的不足进行了一些补偿。MDCT把子带的输出在频域里进一步细分已达到更高的频域分辨率。而且通过了对子带的进一步细分,编码器部分消除了多相滤波器组引入的混迭效果。
MP3指定了两种MDCT的块长:长块的块长为18个样本,短块的块长为6个样本,相邻变换的窗口之间有50%的重叠。长块对于平稳的声音信号可以得到更高的频域分辨率,而短块对跳变的声音信号可以得到更好的时域分辨率。在短块模式下,3个短块代替了一个长块,短块的长恰好是一个长块的1/3,所以MDCT的样本数不受块长的影响。
给定的一个帧声音信号,MDCT可以全部使用长块或全部使用短块,也可以长短块混合使用。因为低频区的频域分辨率对音质有重大影响,所以在混合块长模式下MDCT对低频的2个子带使用长块,而对其余的30个子带使用短块。这样,既能保证低频区的频域分辨率,又不会牺牲高频域的时域分辨率。
长块和短块之间的切换有一个过程,一般用一个带特殊长转短或者短转长数据窗口的长块来完成这个长短块之间的切换。除了使用MDCT外,MP3还采用了其他许多改进措施来提高压缩比而不降低音质。虽然MP3引入了许多复杂的感念,但是它的计算量并没有比MP2增加许多。增加的主要是编码器的复杂度和解码器所需要的存储容量。
2.3 MP3播放器解码过程
MP3的解码总体上可分为这样九个过程:比特流分解,霍夫曼解码,逆量化处理,立体声处理,频谱重排列,抗锯齿处理,IMDCT变换,子带合成,PCM输出[9]。为解上述9个过程的由来,简要描述mp3的压缩流程。声音是一个模拟信号,对声音进行采样,量化,编码将得到PCM数据。PCM又称为脉冲编码调制数据,是电脑可以播放的最原始的数据,也是MP3压缩的源。为达到更大的数据压缩率,MPEG标准采用子带编码技术将PCM数据分成了32个子带,每个子带都是独立编码的。然后将数据变换到频域下分析,MPEG采用的是改进的离散余弦变换,也可以使用傅利叶变换。再下来为重建立体声进行了频谱按特定规则的排列,随后立体声处理,处理后的数据按照协议定义进行量化。为达到更大的压缩,再进行霍夫曼编码。最后将一些系数与主信息融合形成mp3文件。
解码是编码的反过程大概如下:
(1)所谓比特流分解是将mp3文件以二进制方式打开,再根据其压缩格式的义依次从这个mp3文件中取出头信息,边信息,比例因子信息等。这些信息都是面的解码过程中需要的。
(2)霍夫曼编码是一种无损压缩编码,属于熵编码。MP3的解码能够通过公式实时进行数据的解码,但是往往采用的是通过查表法实现解码(节省了CPU时间资源)。
(3)逆量化处理只是几个公式的操作。
(4)立体声处理:代码中的立体声处理函数Joint Stereo是种立体声编码技巧,主要分为 Intensity Stereo(IS)和 Mid/Side (M/S) stereo两种。 IS的是在比较低流量时使用,利用了人耳对于低频讯号指向性分辨能力的不足,将音讯资料中的低频分解出来,合成单声道资料,剩余的高频资料则合成另一个单声道资料,并另外纪录高频资料的位置资讯,来重建立体声的效果。例如钢琴独奏的录音就能够利用这种方法在有限的资料流量中减少音场资讯又大幅增加音色资讯。Mid/Side (M/S) stereo 在左右声道资料相似度大时常被用到,纪录方式是将左右声道音讯合并 (L+R) 得到新的一轨,再将左右声道音讯相减 (L-R)得到另外一轨,然后再将这两轨资料用上面提到听觉心理学模型与滤波器处理。Mid/Side (M/S) stereo与 IS一样的是利用部分相位 (phase) 资讯的损失来换得较高的音色纪录资讯。一般的 MP3 是 Mid/Side stereo 和 Intensity Stereo 交替使用的。
(5)频谱重排列,抗锯齿处理,IMDCT变换。
(6)PCM的输出是与c语言对文件的处理相关的。对文件的处理在比特流分解和霍夫曼解码中最先接触到。
2.4 本章小结
本章主要阐述MP3播放器的编解码过程, 一个完整MP3播放机要分几个部分:中央处理器、解码器、存储设备、主机通讯端口、音频DAC和功放、显示界面和控制键。其中,中央处理器和解码器是整个系统的核心,存储设备是MP3播放机的重要部分,通常的MP3随身听都是采用半导体存储器或者硬盘作为储存设备的。
在第一节主要介绍MP3的工作原理其工作原理大致可以概括为:首先将MP3歌曲文件从存储体中读出并将数据送往解码器,然后解码器对数据进行解码,之后通过数模转换器将解码后的数字信号转换成模拟信号,再把转换后的模拟音频放大,最后低通滤波后到耳机输出口,输出后就是我们所听到的音乐了。
在第二节中主要介绍MP3的编码过程,包括编码分析和编码过程。其中,编码分析包括音频信号数字化、音频采样、音频量化和音频编码。信号的数字化就是将连续的模拟信号转换成离散的数字信号,一般需要完成采样、量化和编码三个步骤。采样就是从一个时间上连续变化的模拟信号取出若干个有代表性的样本值,来代表这个连续变化的模拟信号。量化过程是将采样值在幅度上再进行离散化处理的过程。所有的采样值可能出现的范围被划分成有限多个量化阶的集合,把凡是落入某个量化阶内的采样值都赋予相同的值,即量化值。采样、量化后的信号还不是数字信号,需要把它转换成数字脉冲,这一过程就叫编码。
第三节主要介绍MP3播放器解码过程, Mp3的解码总体上可分为这样九个过程:比特流分解,霍夫曼解码,逆量化处理,立体声处理,频谱重排列,抗锯齿处理,IMDCT变换,子带合成,PCM输出。
第三章 硬件设计
3.1 硬件总体框图
一个单片机应用系统的硬件电路设计包含有两个部分内容:一是系统扩展,即单片机内部的功能单元;二是系统配置,即按照系统功能的要求配置外围设备。
硬件电路如图3.1所示包括中心控制模块、按键模块、显示模块、扬声器播放模块以及彩灯伴奏模块。
彩灯伴奏模块
按键模块 中心控制模块 显示模块
扬声器播放模块
图3.1 硬件总体框图
按键模块由8个按键组成,其中1个键用来实现播放器自动播放及自行弹奏两模式之间的转换,其余7个键用作音符的输入或者音乐的播放选择。显示模块采用LCD1602对当前播放的歌曲名称进行显示。彩灯伴奏
展开阅读全文