mp3解码板怎么修程序设计软件有哪些

Layer 3)格式是基于电影专家组系统(Mo

、压縮位率和声音模式的不同而有所变化MP3具有很高的压缩率,可以达到1:12一分钟左右的CD音乐经过MP3格式压缩编码后,可以压缩到1兆左右的容量其音色和音质还可以保持基本完整而不失真。随着数字音乐的不断普及现在MP3音乐已经不仅局限于MPEG视频应用中,而是以一种独立的数芓音乐压缩技术出现在

设备上目前市场流行的MP3播放器是基于DSP和专用

的解决方案,通过硬件或专用算法实现解码具有良好的实时性。而消费类电子产品正朝着多功能、低成本的方向发展随着

9功能的不断增强,利用系统本身处理器实现MP3软解码成为可能另外,软件实现更便于产品功能的升级和维护可以预见,

MP3软解码器的应用将越来越广泛这里在分析MPEG I Audio Layer3解码算法的基础上,提出基于ARM946E处理器实现解码算法的軟件优化方法

MP3解码算法流程如图1所示。


主要过程包括:数据流解码、Huffman解压缩、反量化与重排序、立体声解码、IMDCT和子带合成运算等其中Huffman解码与反量化、IMDCT和子带合成等3个过程在MP3解码过程中占用了最多的CPU和内存资源,是嵌入式系统实现软件解码的关键

ARM946E处理器属于ARM9内核带有E扩展的一个可综合版本,执行v5TE架构指令采用5级流水线,存储器系统根据哈佛体系结构重新设计独立的数据和指令总线。带有一套存储器孓系统以提高系统性能和支持大型操作系统。如图2所示存储器子系统包含1个存储器保护单元(MPU)、高速缓存(Cache)和写缓冲(Write Buffer);CPU通过该子系统与系統存储器相连。


相对于ARM7ARM9E性能上的提高主要表现在工作频率、改进的硬件特性及优化的指令执行效率。另外ARM9E集成了轻量级的DSP处理能力,鉯很小的成本(CPU增加功能需要增加硬件)换来非常实用的DSP性能充分利用好芯片资源是实现MP3解码优化的关键。

针对MP3中涉及较大运算的Huffman解码与反量化、IMDCT和子带合成分别提出算法优化处理。3.1  定长查找冗余表Huffman解码算法Huffman解码器可以通过从头至尾逐一检测各符号以查表比较的方式进行解码。即从一维的bit流中分辨出各个长度不同的Huffman码字然后进行复杂的匹配。由于LayerⅢ中的Huffman码表组长度不一会增加码字的搜索时间。定长查找冗余表法扩充Huff—man查找表每次选取定长N bit码流作为查找索引。查找表中包括跳转指针和编码值若节点索引值为跳转指针时,将通过扩充Huffman查找表得知此Huffman编码的后续bit数并跳转到另外一个节点;然后再根据后续bit数从码流中取值;接着从上次跳转节点开始查找,如此重复直到找絀对应huffman编码的内容查找表利用Union数据结构实现,可减小Huffman表占用的空间假设一Huffman编码长度为1,采用传统算法需要1次移位操作和1次比较使用萣长查找法只需[l/N]次查找和[l/N]次比较操作。表1表2是Huffman解码的举例说明:

若Huffman编码为(内容为“DAB”),定长N=3即每次从码流中取3 b数据,解码步骤如丅:(1)取3 b数据000从Huffman查找表检索,000对应为指针类型指向表项号8,标志位为0说明没有取到1个完整的Huffman编码,后续仍有3 b数据;(2)继续取3 b数据000从Huffman查找表的第8项开始检索,索引值为000对应的内容为“D”此时标志位为1,即表示已完成1次Huffman解码;(3)取3 b数据001对应表内的第1项,标志位为1说明已取唍该个Huffman编码表项内容为“A”;(4)取3 b数据010,对应表内的第2项表项内容为“B”。至此已完整从Huffman编码“”解码出“DAB”的内容。3.2 IMDCT与合成子带滤波的简化算法反离散修正余弦变换(IMDCT)是在去混叠处理之后进行的它的计算公式如式(1)所示:

    子带合成滤波在解码过程中包括了32点到64点的IMDCT处理,如式(3)所示:

由于N(i)(k)具有对称特性可以得出:

根据ARM946E处理器硬件特点,对实时性要求较高的关键程序进行C语言和ARM汇编级代码优化4.1减计数循環体IMDCT和子带合成滤波器组2个运算量最大部分中有多个循环体运算,为了提高执行效率推荐使用减计数循环体。如表3所示对于固定次数嘚循环,减计数循环比增计数循环速度快这是因为每次增计数循环体外加3条指令,而减计数循环体外只有2条指令减循环终止条件为减計数到零,而不是计数增加到某个特定的限制值由于减计数结果已存储在指令条件标志里,省去与零比较指令

4.2  内联函数和内嵌汇编MP3解碼算法中定点化乘法都是通过函数调用来实现,每次调用需要开销23~28个时钟周期其中超过15个周期用于函数调用时PC指针以及寄存器压栈保護上。采用内联函数方式(使用关键字_inline声明)或宏指令在编译阶段代码段将被直接展开。另外armcc编译器允许在C源程序中使用内嵌汇编(但代码可迻植性差)使用包括汇编的内嵌函数,可以使编译器支持通常不能有效使用的ARM指令和优化方法例如C编译器不支持的ARM v5E扩展指令。使用内联函数结合内嵌汇编实现移位乘法可使平均时钟周期缩短为6~8个。4.3  ARM DSP扩展指令的运用ARM946E处理器支持ARM (2)对原有的算术运算指令增加了饱和处理扩展;(3)前导零(CLZ)运算指令提高归一化、浮点运算以及除法操作的性能。ARM处理器不支持浮点运算经过测试及分析,定点运算中数值的截断误差選择为28 b其可以达到较好的解码音质,不会因为爆音过多而影响播放效果完成类似的乘法功能,ARM的SMULL(32×32)指令需要3个周期而ARM DSP扩展指令SMULWT(32×16)只需要1个周期。从数据的准确性上分析由于乘数的精度为16 b,最终结果有些差异但由于MP3解码运算都是基于28 b的定点数值的,所以通常的运算嘟是一个运算结果跟某一个固定定点表中的数据相乘的若选择固定定点表中数据的高16 b数据进行运算,运算的结果误差在1 b以内为了验证使用ARM DSP扩展指令的优化效果,在系统120 MHz主频下以128 Kb/s的压缩速率进行编码测试,采用的测试文件如表4所示

上述3个MP3测试文件的比特率均为128 Kb/s,使用这三首MP3歌曲进行解码分析结果如图3所示

DSP扩展指令比使用ARM一般指令解码性能平均提高17.5%,主观听觉上音质效果无差异5  结  语这里充分利用ARM946E处理器的DSP扩展指令特点提高程序代码的执行效率,对3个关键模块:Huffman解码IMDCT运算,合成子带滤波进行算法优化及简化处理减少了各模塊的运算量,同时从C语言和ARM汇编层次来优化代码取得了较好的实时MP3解码效果。

}

一是板子自身有没有问题

二是矗流供电电源滤波是否有效,特别是电源输出的电容是否有问题

四是是不是有强干扰源?

}

MP3 解码芯片全攻略之飞利浦芯片篇 解码芯片是 MP3 的处理核心其主要作用就是将存储在介质上的 MP3 文件解码。并还原 成模拟的声音然后通过耳机播放出来。它是 MP3 工作中最重要嘚一环很大程度上影响 了最终的音质表现。 由于MP3 是一种有损压缩的编码格式优秀的解码芯片能够更好地还原音频信号,可以在 很大程喥上弥补音频信号的损失相反的,低端的解码芯片会令 MP3 的编码信息进一步损 失 随着芯片技术的发展,新一代的解码芯片已经不单单只囿 MP3 解码功能而是将 MP3 的 很多扩展功能(如 Line In、USB2.0 高速传输接口等)集成在芯片内部,降低了 MP3 外围 电路的复杂性给 MP3 的小型化提供了可能,同时給 MP3 带来了越来越齐全的功能 解码芯片对于 MP3 的重要性,相当于引擎对于汽车没有好的引擎,断然造不出好车但 是有好的引擎,却不一萣代表可以造出好车还要看厂家的研发制造能力。对于 MP3 来说 电路的 PCB 设计、焊接的工艺、线路板材料和元器件的选料都是很关键的。各個厂家之间 有着很大的区别特別是大厂和一些杂牌厂家的区别就更大了。因此即便使用的是相同的 芯片,不同产品之间的价格差异还昰很大的建议大家在选购产品时除了认明芯片外,也尽 量选择一些名牌大厂的产品 目前市场上流行的MP3 解码芯片有很多,但最受推崇口碑最好的还是 PHILIPS 芯片它几 乎一向都出现在高端的 MP3 中,功能非常强大音质相对其他方案也更加的突出。可以这 么说PHILIPS 是目前最好的 MP3 芯片制慥商,它的 MP3 芯片是目前市场上音质表现最 好的 今天 PHILIPS 的 MP3 解码芯片已经发展成了一个大家族,主要有 SAA775x 系列和 PNX0 10x 系列不同型号的产品,性能和功能上都存在较大差异PHILIPS 芯片都是 BGA (Bal l Grid Array)封装,也就是球状引脚栅格阵列封装技术它是一种高密度表面装配封装技 术,在封装的底部引腳都成球状,并排列成一个矩阵 BGA 封装具有芯片面积小的特点,可以减少 PCB 板的面积但是需要非常专业的焊接设备, 无法手工焊接另外 BGA 葑装的芯片难以用双面板完成 PCB 布线,需要多层 PCB 板小 厂家是很难在 MP3 中使用 BGA 芯片的,所以 PHILIPS 芯片几乎都在进口 MP3 中使用 在这里,不得不说到 MPIO 和 iRiver 這两家韩国厂商MPIO 和 iRiver 是 MP3 市场上的专 业领导品牌,他们的产品向来都是高音质和高质高价的代名词这两个品牌共同的一个特点 就是全面采鼡了 PHILIPS 的解码芯片。他们在 MP3 高端市场的巨大成功也成就了 PHILI PS 解码芯片的高端地位。 SAA775x 是我们最常见的飞利浦 IC 芯片系列它流行了将近两年时间。在所有 SAA775x 产品中又以 SAA7750EL/N102 最为闻名,被国外许多 MP3 大厂采用我们经常在主流 产品中都可以看到它的身影。 SAA7750 的同门兄弟 SAA7751 仅有 DSP 内核和闪存没有包含音频多媒体解编码器。只 能用于本身可升级的 CD 光盘播放器上而 SAA7752 是一个低价格的解决方案,只包含了 DSP 芯片使用外置内存来存储数据,主要面向 CD 随身听的应用领域至于 SAA7753, 同样仅有 DSP 芯片而且直接用嵌入式内存代替了闪存,对应低价格的 CD 播放系统可 以提供一个附加 MP3 的功能。 SAA7750 中内含速度高达 73MIPS 的24 位 DSP (Digital Signal Processor数字信 号处理器)和 32 位 ARM RISC 处理器。它具有可编程的 DSP 架构开发者可以进行固件 升级。使播放器兼容更多的音頻格式或者支持多种国家的语言,支持的 MP3 文件解码速 率为 8Kbps - 320Kbps 兼容多段多档位 EQ 音效处理,包括 3D 定位音效和超重低音 高低音量均可任意调節。支持 MIC 录音生成 ADPCM 格式的音频文件。支持文件标签信 息ID3 v1.0-v2.40 版本,可以同步显示歌名和歌曲信息具有 Line-in 和光纤输入直录功 能,使用户无需通过电脑下载 MP3 音乐而且能够达到 8kbps-320kbps 的比特率。 在数字接口方面SAA7750 仅仅支持 USB 1.1

}

我要回帖

更多关于 mp3解码板怎么修 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信