采用DSP芯片的MELP声码器的算法设计方案

发布者:清新风华最新更新时间:2010-06-23 来源: 微计算机信息 关键字:MELP  声码器  算法  MS320VC5416  DSP 手机看文章 扫描二维码
随时随地手机看文章

1  引言

    1996年3月,美国政府数字语音处理协会(DDVPC)选择了2.4kbps混合激励线性预测(MELP)语音编码器作为窄带保密语音编码的产品以及各种应用的新标准由于MELP具有良好的音质、极低的码率,以及良好的抗误码特性,可以应用在IP PHONE、移动通信、卫星通信等领域,尤其在需要大量存储话音的场合和保密通信等方面,具有很好的发展前景。

    编码算法有硬件实现和软件实现两种方式,软件实现灵活性强,但处理速度较慢,一般不能满足实时处理的要求。硬件实现分为专用法和通用法两种。通用法是基于通用数字信号处理器芯片实现编码算法的,它具有体积小、功耗低、运算速度快等优点,其灵活性主要表现在软件易于更改以及对各种算法的处理和复杂算法的实现上,非常适用于语音信号、视频信号等压缩处理。

    MELP算法复杂度较高,因此实时实现必须借助于高性能的数字信号处理芯片。目前国内还没有用于研究声码器算法的专用芯片。因此,从功耗和性能多方面考虑,本文采用通用法实现MELP声码器算法,选择TI公司的TMS320VC5416 DSP芯片作为主处理器,完成声码器的主要功能。

2  MELP编解码算法

2.1 编码部分

    编码器基于线性预测分析合成技术,采样率为8kHz,以180采样值(22.5ms)为一帧进行编码,总体框图见图1。

    输入的原始语音信号经过隔直滤波(即高通滤波),得到目标信号S(n)。再对目标信号作以下处理:①低通滤波后用归一化互相关法进行基音粗估,然后根据[0Hz,500Hz]子带信号围绕粗估基音估算分数基音;②带通分析,在5个子带计算话音强度,以决定各子带的清/浊音判决,其中[0Hz,500Hz]子带强度用于确定非周期标志位;③计算LPC和尖峰值,用L-D算法提取10个LP系数,然后乘以带宽扩展系数,使用得到的系数计算残差信号,对残差信号的160个抽样计算尖峰值;④使用截止频率为1kHz的6阶巴特沃兹滤波器低通滤波残差信号,结合上一子帧的基音和当前子帧的分数基因,搜索出最终基音周期;⑤使用一个基音自适应窗采用一帧两次的方法对增益进行量化;⑥LPC分析,并转换成线谱对LSP参数量化;⑦将量化后的LSP参数转换为LPC参数并进行逆滤波操作,残差信号补0至512点,对其进行512点FFT,利用频谱峰点检测算法找到前10次谐波对应的傅立叶系数输出。

图1 MELP编码器编码原理图

2.2 解码部分

    解码器从信道接收到的数据中恢复出每帧的所有参数,经判断如果此帧是比较安静的语音帧,则增加对接触的两个子帧增益进行噪声衰减处理,同时改变噪声估计的值。所有合成的参数对其做基音同步内插处理,这些内插的参数包括基音周期、增益、LSF系数、颤动强度、量化的傅立叶幅度、用于产生混合激励信号的周期信号滤波器的系数和噪声滤波器系数、自适应增强滤波器的谱斜度系数。内插完成后,使用被子带滤波器滤波后的周期信号和噪声激励信号相加来产生混合激励信号。然后两个激励信号被分别滤波,并相加得到激励信号。合成混合激励信号后,信号经自适应谱增强滤波器处理,以改善共振峰的形状。随后,激励信号进行LPC合成得到合成语音。LPC合成用了一个直接形式的滤波器,其系数由插值后的LSP参数得到,合成的语音信号经增益调整和脉冲散布滤波后输出。总体框图见图2。

图2  MELP编码器解码原理图

3  TMS320VC5416简介

    TMS320VC5416的总体系结构图如图4所示。其内部的高性能CPU拥有算术逻辑单元ALU、2个40位累加器ACCA和ACCB、40位桶行移位寄存器、乘累加单元以及寻址单元,算术逻辑单元包括1个40位的ALU,1个比较、选择和存储单元(CSSU)和1个指数编码器,具有高度的并行性。本文采用的TMS320VC5416芯片最大可寻址能力为192K字(包括64K字的程序空间、64K字的数据空间和64K字的I/O空间),扩展寻址模式下有256K字~8M字的扩展地址空间,并拥有一套高效灵活的指令集。其指令周期为6.25ns,执行速度最高可以达到160MIPS,完全可以满足实时处理的要求。

图4  TMS320VC5416总体系结构图

4  软件设计及其关键问题

    软件设计包括编码流程和解码流程,编码流程图如图3所示。由于解码过程相对简单,故此处只给出编码流程图。

    此软件流程设计完全按照MELP原理,在实际编程过程中需要注意以下几个关键问题。

图3  MELP编码流程图

    ⑴存储器分配问题

    由于TMS320VC5416采用双总线结构,提供了许多多功能指令,在实际实现时要充分考虑到这些特点,尽量用多功能指令,并且合理分配使用各个寄存器和指针。例如:MAC指令可以在一个指令周期内完成乘加操作,还可以结合寄存器的合理安排实现连续乘加,而不需要缓存中间数据,从而大大提高了运算效率。另外,要充分利用TMS320VC5416提供的专用的硬件结构、寻址方式及特殊指令。如:环形存储器寻址方式、双操作数寻址方式、EXP指令和NORM指令、舍入操作等,恰当使用这些方式和指令可以大大提高软件效率。

    ⑵ 数的定标

    TMS320VC5416采用定点数进行数值运算,其操作数一般采用整型数表示。但它的指令支持小数模式和整数模式两种运算模式。对DSP而言,参与数值运算的数就是16位的整型数。在多数情况下,数学运算过程中的数不一定都是整数,这就需要程序员来确定小数点的位置,即数的定标。TMS320VC5416中数的定标有两种表示法:Q表示法和S表示法。在此软件中用Q表示法表示。

    在程序中需要经常判断运算结果是否溢出。TMS320VC5416芯片本身设有溢出保护功能,溢出的处理是通过设置芯片中PMST寄存器的OVM位自动执行的。可以在程序的开始就设置溢出功能有效,一旦出现溢出异常,则累加器ACC的结果置为最大的饱和值(上溢位7FFFH,下溢位8001H),从而达到防止溢出引起精度严重恶化的目的。

    ⑶防止流水线冲突

    流水线是TMS320VC5416最具特色的部分,它大大的提高了TMS320VC5416的性能,但当DSP资源同时被不在同一流水线阶段的指令使用,或在存取某些寄存器时容易引起流水线冲突。编译时会编译器将自动插入一个或几个空操作,从而增加了所需的计算量,降低了软件效率,因此软件设计开发中需要避免流水线冲突。

5  测试结果

    目前该编解码器已通过MELP的全部测试矢量验证。系统实时实现编解码时,经过非正式的主观测试结果表明,MELP算法的MOS分在3.3左右,其清晰度、自然度和抗噪声性能明显优于传统LPC算法。表1和2分别给出了在定点DSP芯片TMS320VC5416上实时实现MELP算法的编解码器所需的存储量和计算量。

    从表1可见,程序和数据存储区总存储量共25.2K字,由于TMS320VC5416内部RAM的大小为128K字,因此,程序boot时,可以一次将所有程序和数据直接搬移到芯片内部RAM里运行。表2显示了对该声码器所用资源的统计结果。在全双工时,最大运算量为39.9MIPS,完成满足实时实现的要求。

    以上分析结果显示,单片TMS320VC5416芯片最多可实现4路语音编解码,片上剩余的资源还可以实现其它附加功能。

6  总结

    创新点:本文介绍了混合激励线性预测(MELP)声码器算法,简要分析了该算法的编解码原理。同时,本文选用TI公司的TMS320VC5416 DSP芯片进行了实时实现,指出了在软件实现中需要注意的关键问题。经非正式主观测试结果表明,该算法自然度、清晰度和抗噪声性能明显优于传统LPC算法,适用于短波窄带数字保密通信、无线通信等需要低速率的语音编码场合,具有广阔的应用前景。

关键字:MELP  声码器  算法  MS320VC5416  DSP 引用地址:采用DSP芯片的MELP声码器的算法设计方案

上一篇:DSP核信号采集系统通讯接口设计
下一篇:基于TMS320VC5509A的超声波电子笔设计

推荐阅读最新更新时间:2024-05-02 21:05

基于WiFi和RFID定位技术的电子标签定位算法
引言   随着无线通信的快速发展,由此引起的关于室内定位的无线网络和RFID技术的结合也越来越受关注。人们对物品、人员位置的需求也越来越强烈。在室外的定位,如熟知的GPS定位已经做到让很多人都满意的程度,但是一旦进入到室内,由于建筑物的阻挡以及多径效应,GPS在室内的定位的效果大打折扣,所以室内定位的研究成为定位后续的研究重点。住公司中需要对人员和物品进行定位的时候范围很大。传统的标签定位的距离有缺陷,限制了其广泛的应用。所以义提出了RFID技术和无线网络结合,扩大其定位的范围。   无线WiFi在一个免费的2.4GHz频段,有很高的数据传输速度。所以选择基于WiFi网络通信的定位标签。WiFi网络有如下优势:WiFi的工作频
[安防电子]
基于WiFi和RFID定位技术的电子标签定位<font color='red'>算法</font>
自动驾驶 RRT算法原理解析
1 RRT算法的简介 天下武功唯快不破,快是 RRT 的最大优势。RRT 的思想是快速扩张一群像树一样的路径以探索空间的大部分区域,找到可行的路径。 RRT 算法是一种对状态空间随机采样的算法,通过对采样点进行碰撞检测,避免了对空间的精确建模带来的大计算量,能够有效地解决高维空间和复杂约束的路径规划问题。 与PRM类似,该方法是概率完备且非最优的。可以轻松处理障碍物和差分约束(非完整和动力学)的问题,并被广泛应用于机器人路径规划。 2 RRT算法原理 2.1 算法流程 (1)设定初始点 与目标点 ,自行设定状态采样空间 (2)进行随机采样得到采样点 ,如果采样点 在障碍物内,则重新随机采样 (3)若不在障碍物内,计算
[嵌入式]
自动驾驶 RRT<font color='red'>算法</font>原理解析
一种系统芯片的功能测试方法
一个正确的电路设计拿到工厂去制造,并不可能百分之百的正确地制造出来。总会受到种种不确定性的影响,比如制造机器的偏差、环境干扰、硅片的质量不一致甚至是一些人为的失误等等方面的影响,生产出的产品并不全都是完好的。如果芯片存在有故障,这样的芯片是绝对不允许流入市场中的。那么如何检验出有制造缺陷的芯片,这就属于测试的范畴。在深亚微米阶段,线宽非常精细,工序数量又多,更加容易受到干扰的影响,制造故障变得尤其明显。所以必须加大测试的力度,尽可能地减少次品流人市场的几率。 下面将通过设计一个系统芯片——“成电之芯”的功能测试平台来具体介绍实现系统芯片功能测试的方法。 2 评估测试需求 在进行功能测试和选用必要的工具之前,应该审定系统芯片测
[嵌入式]
一种系统芯片的功能测试方法
基于TMS320C6x11系列DSP的图像获取方案
本设计方案旨在利用上述 的有利条件,提出一套基于TMS320C6x11系列DSP的图像获取方案,利用模拟视频信号的统一性,实现随意更换带有标准模拟视频信号输出接口的图像设备而无需在图像处理系统的硬件和软件上作修改。同时,本方案还需提供一个相对通用的数字视频接口,可以适应TMS320C6xll系列DSP的接口。本设计的主要技术要求有:   ①支持标准的模拟视频输入接口,可以对标准的模拟视频信号解码得到数字图像数据;   ②在不降低图像幅面的前提下,图像采集速度快,满足一定的实时性要求;   ③占用CPU时间少,使得图像采集过程在后台自主完成;   ④数字图像接口通用性好,可以在TMS320C6u1l系列乎台上通用互换。   1
[单片机]
基于TMS320C6x11系列<font color='red'>DSP</font>的图像获取方案
华虹成功研发中国第一枚自主安全算法RFID芯片
2008年,Mifare卡被荷兰NRU大学的F.D.Garcia攻破。中国各类重要门禁、一卡通等使用M1技术的智能卡系统受到了潜在的安全威胁,各IC卡应用行业开始进行全面、系统的安全检查。 2009年,上海华虹集成电路有限责任公司研发出中国第一枚国家自主安全算法RFID芯片SHC1112(SSX0904),并已通过国家密码管理局组织的型号评审,获准进行生产与销售。 SHC1112集成了国家密码管理局提供的128位密钥SM7密码算法,该算法可保护数据交换的安全,为国家密码管理局重点推荐产品。该款芯片适用于各种证件、电子钱包、自动收费系统和公共交通自动售检票系统等应用。 M1卡的攻击者主要利用其技术的算法弱点非法获取密钥,达到复
[安防电子]
基于DSP的磁流变阻尼的控制方法
    1 引言        磁流变阻尼器是一种在磁场作用下阻尼可控的器件,在航空、汽车等领域具有广泛应用前景。与传统汽车悬架系统相比,装有磁流变阻尼器的半主动悬架系统可以根据路面状况和车辆运行状态在计算机的控制下自动调节阻尼器的阻尼力,大大提高汽车的舒适性和行车安全性 。磁流变阻尼器的工作原理是改变励磁线圈中的电流从而获得不同强度的磁场,使工作腔中的磁流变液的流动特性发生变化,从而改变阻尼力的大小。     因此,控制器只要能实时精确调节磁流变阻尼器的驱动电流,就能达到控制磁流变阻尼器的目的。经文献检索,国内外未见磁流变阻尼器的电流控制器设计的报道。根据美国LOAD公司的网站最新发布的信息,LOAD公司已经研制出了适用
[嵌入式]
第一届5G算法创新大赛推动广泛研究,助力5G发展
竞赛促进产学结合,参赛团队高质量作品凸显针对5G设计的巨大热情 。 2015年12月18日,西安 今天,Altera公司 (NASDAQ: ALTR) 公布第一届5G算法创新大赛最终结果。该大赛是业界首个旨在促进研究机构与企业结合、激发创新、推进5G研究发展的竞赛。第一届5G算法创新大赛由Altera、西安电子科技大学、友晶科技主办,华为、英特尔、展讯等公司赞助。自今年5月启动以来,大赛吸引了来自全国31个城市76所大学184支队伍,共462名学生参赛,基于Altera的FPGA开发板,完成三种5G在研的新空口核心算法,即SCMA(稀疏码多址接入)、F-OFDM(可变子载波带宽的非正交波形)和Polar Code(极化
[网络通信]
适用于单片机的FFT快速傅里叶变换算法,51单片机都能用
源码 FFT.c /********************************************************************* 快速傅里叶变换C程序包 函数简介:此程序包是通用的快速傅里叶变换C语言函数,移植性强,以下部分不依 赖硬件。此程序包采用联合体的形式表示一个复数,输入为自然顺序的复 数(输入实数是可令复数虚部为0),输出为经过FFT变换的自然顺序的 复数.此程序包可在初始化时调用create_sin_tab()函数创建正弦函数表, 以后的可采用查表法计算耗时较多的sin和cos运算,加快可计算速度.与 Ver1.1版相比较,Ver1.2版在创建正弦表时只建立了1/4个正弦波的采样值, 相比
[单片机]
适用于单片机的FFT快速傅里叶变换<font color='red'>算法</font>,51单片机都能用
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved