基于TMS320C5402的CVSD编解码实时实现
来源:易妖游戏网
第18卷第5期 2008年10月 北华航天工业学院学报 Journal of North China Institute of Aerospace Ent ̄ineerin V01.18 No.5 0ct.2008 基于TMS320C5402的CVSD编解码实时实现 李 利 杨红强 高 山 (1.北华航天工业学院,河北廊坊065000;2.衡水学院数学系,河北衡水053000) 摘要:本文讨论了连续可变斜率增量调制(CVSD)语音编解码算法的原理及其特点,并在MATLAB中进行 了仿真,结果表明,选择合适的量阶初值,量阶能够自动地随输入信号平均斜率的大小而连续变化,解码后的 输出能够很好的逼近原始输入语音信号。最后,讨论了连续可变斜率增量调制算法(CVSD)在TMS320C5402 实时实现过程中软、硬件的设计。 关键词:连续可变斜率增量调制;数字信号处理器;语音处理 中图分类号:TN403 文献标识码:A 文章编号:1673—7938(2008)O5—0001—03 0前言 是:用多个连续可变斜率的线段来逼近语音信号,当 线段斜率为正时,对应的数字编码为1;当线段斜率 为负时,对应的数字编码为0。CVSD编码框图如 增量调制是在PCM方式的基础上发展起来的 一种模拟信号数字传输的方法,PCM采用多位二进 制代码表示模拟信号抽样值的大小,而增量调制只 需用一位二进制码来表示相邻抽样值的相对大小, 因此可以大大降低编码速率。但是普通增量调制的 图1所示。语音信号s(t)经采样得到数字信号s ( ),数字信号s(n)与积分器输出信号g(n)比较 后输出偏差信号e(n),偏差信号经判决后输出数字 量阶在整个编码过程中是固定不变的,所以其信号 动态范围很小,而且会引起两类失真,一类是斜率过 载失真,它是由于所用量阶太小,译码波形不能充分 编码y(/t'),同时该信号作为积分器输出斜率的极 性控制信号和积分器输出斜率大小逻辑的输入信 号。在每个时钟周期内,若语音信号大于积分器输 出信号,则判决输出为1,积分器输出上升一个量阶 跟踪输入语音信号急剧的变化而必然产生的失真; 第二类为颗粒失真,在没有语音的无声状态或者信 号幅度为固定值时,量化输出将呈现0,1交替的序 列,它给人粗糙的噪声感觉。为了减小失真很好地 跟踪信号的变化,必须使用较高的采样频率,一般要 ;若语音信号小于积分器输出信号,则判决输出为 0,积分器输出下降一个量阶 。CVSD译码框图如 图2所示。在每个时钟周期内,数字编码y(n)被送 到连码检测器,然后送到斜率幅度控制电路以控制 积分器输出斜率的大小。若数字编码Y( )输人为 1,则积分器的输出上升一个量阶 ;若数字输人为 求在200kHz以上,这样势必增加语音信号编码速 率,因此减小语音编码速率和提高语音质量互相矛 盾。CVSD就是为了解决这对矛盾提出来的方法, 0,则积分器的输出下降一个量阶 ,这相当于编码 过程的逆过程。积分器的输出通过低通滤波器滤波 后将重现了输人语音信号‰(t)。 它的量阶随着输入语音信号平均斜率大小而连续变 化,使其适应信源信号的短时特性,从而可以很好地 跟踪输入信号,可以用较低的采样频率得到较好的 语音编码质量。 1 c、,sD工作原理 . CVSD是一种量阶 随着输人语音信号平均斜 率大小而连续变化的增量调制方式,它的工作原理 基金项目:河北省教育厅基金项目(2005351) 收稿日期:2008—09—02 作者简介:李利(1967一),女,教授,硕士,河北保定人,主要 图1 CVSD编码框图 1一 从事数字信号处理、通信技术方面的教学与科研工作。 一2008年1O月 北华航天工业学院学报 第18卷 编码中积分器系统函数为 ㈦= H2o(z)= 苦 (2) (3) 解码中积分器系统函数为 式中,G 、G:。和G 。为增益因子,G。、G:。设为 图2 CVSD译码框图 可见输入信号的波形上升越快,输出的连“1”码 1,G2D为1.509245;系数口l、bl、b2和c1分别为 越多,同样下降越快连“O”码越多,CVSD编码能够 0.9844964,1.270821,一0.320194,0.509245。 很好的反应输入信号的斜率大小。为使积分器的输 译码中音频滤波器用IIR数字低通滤波器来代 出能够更好的逼近输入语音信号,量阶 随着输入 替。由于音频滤波器主要考虑通带边界的下降应越 语音信号斜率变化,当信号斜率绝对值很大,编码出 快越好,所以选用5阶椭圆滤波器,其参数为:采样 现3个连1或连0码时,则量阶 加一个增量 。,当 率16kHz,通带截止频率3.4kHz,阻带截止频率3.8 不出现上述码型时,量阶则不变。语音具有很大的 kHz,阻带衰减为30.53894dB[ ][ ]『 ,得到滤波器系 相关性,即从一个样值到另一个样值,信号不发生迅 数为 速的变化,人的话音音量变化呈现频率大约为 b=[0.1082 0.1676 0.2746 0.2746 100Hz的包络,而音量的变化反映了斜率的变化,因 0.1676 0.1082] 此可以以音节为单位对话音信号进行量阶自适应。 a=[1.0000 —1.1321 1.8820 —1.1867 这里的“音节”(syllabic)是指语音斜率相对稳定的时 0.7248 —0.1873] 间,即音量变化的一个周期,大约lOres。因为最大 可以看出,CVSD采用1bit输出简化了复杂的 跟踪速度为 /Ts,其中Ts为采样频率的倒数。当 帧结构。并且由于其量阶、预测值的获得是通过积 信号斜率超过8/Ts时,信号始终大于本地译码信号 分得到,当出现比特错误时,对鳃码输出样值的影响 或小于本地译码信号(向负方向变化),所以出现连 较小。所以CVSD对于比特错误(信道噪声)的鲁 “1”或连“0”。一旦出现三个连“l”或连“0”,三连码 棒性很强。CVSD的误比特率效果可达到甚至超过 检测电路将输出一个一致脉冲送往平滑电路。平滑 PCM和ADPCM,甚至当误比特率高达10%时仍能 电路实际上是一个积分电路,它的时间常数与语音 保持较好的可懂度。CVSD的这些特点使其成为许 信号的音节相近(10ms左右)。量阶随音节时间间 多无线语音通信应用如数字无绳电话、数字陆地移 隔内信号平均斜率而变化,且随脉冲幅度调制器输 动电台等的理想选择。 出连续可变,所以则称为连续可变斜率增量调制,记 作CVSDE2]。 2 CVSD的MATLAB仿真 初始量阶 (0)和增量 的选择很重要,如果 CVSD系统的采样速率一般取32k、16k或者 (0)选择较小,会导致刚开始一段很长时间内量化 8k,其中16kCVSD的采样速率既能满足话音清晰 度的要求,又能实现较高的压缩比,广泛应用在各种 的数字信息和输入信号之间存在较大的失真,需要 通信系统中,尤其是军用通信系统中。欧洲通信组 经过较长时间才能够跟踪上输入信号,即产生过载 织给出了模拟16kHz CVSD编码中各传输函数及其 噪声。另一方面,为了减少颗粒噪声,则需要选取较 他部分的参数,音节积分器的时间常数选为4ms,主 小的 ,所有的量阶都要求满足上述条件,故 (0) 积分器时间常数约为lms,采样周期为(1/16)ms。 也必须满足,所以 (0)应取最佳的值。 不能过 用冲激不变法可以得到z域的传输函数。在设计 大或过小, 。要比 (0)小一些。仿真中 (0)取为 的16Kbps全数字CVSD中,音节平滑滤波器系统 20, 。取为 (O)/2。 函数为 利用MATLAB对CVSD的编译码过程进行仿 (1) 真,时域仿真波形如图3所示,上面为原始语音波 形,下面为译码后的语音波形。图4为语音信号频 一2一 第5期 李利等:基于TMS320C5402的CVSD编解码实时实现 2008年10月 谱图,上面为原始语音频谱,下面为译码后的语音频 之后通过中断方式传送给DSP,每一次中断直接读 谱,由仿真结果看出,经过CVSD编译码后语音信 取ADC的输出值,对其做需要的处理 ]。 号能够较好地重现输入信号。 软件编程要完成的工作包括: 1)TMS320C5402串口的初始化。首先将 DSP串口0复位,再对串口0的16个寄存器进行 编程,使DSP串口工作在以下状态:以SPI模式运 行,每帧一段,每段一个字,每字l6位,采样率发 生器由DSP内部产生,帧同步脉冲低电平有效,并 且帧同步信号和移位时钟信号由外部产生。接收 图3原始语音信号及解码后语音时域波形 A/D转换的信号和发送D/A转换的信号均采用中 断方式。 2)ADS0初始化。该初始化操作过程包括通过 TMS320C5402的同步串口发送两串16位数字信息 到AD50。第一串为0000 0000 0000 0001B,最低有 0 1000 20o0 3000 4000 x10 效位(bits0)说明下一个要传输的数据字属于二次通 信。第二个数据值用来对AD50的4个数据寄存器 的某一个进行配置。Bitsl5一l1位为0,BitslO 8 位为所选寄存器地址值,Bits7—0位为所选中寄存 图4原始语音信号及解码后语音频谱 器的编程值。在以下程序中对4个可编程寄存器编 3 CVSD的DSP实时实现 程,使AD50C工作在以下状态:选择INP/INM为工 本课题使用音频接口芯片TLC320AD50C(以 作模拟输入,15+1位ADC和l5+1位DAC模式, 下简称AD50C)采集和播放语音信号。AD50C使用 不带从机,采样频率为16KHz,模拟信号输入放大 过采样(over sampling)∑一A技术提供l6位A/D 增益12dB,输出放大增益为0dB。四个寄存器初始 和D/A低速信号转换,工作方式和采样速率均可由 化需要四个主通信和次通信。 DSP编程设置。 3)用户代码的编写。完成音频信号采集、 TMs320c5402缓冲通道串口与AD50C相连。 CVSD编解码及解码后语音的回放。 硬件连接采用AD50C为主控模式(M/S=1),向 TM¥320C5402 TLC320AD5OC C5402的McBSP0(从设备)提供SCLK(数据移位时 FSX0 FSR0 : T FS 钟)和Fs(帧同步脉冲),并控制数据的传输过程。 CLKRO TMS320VC5402工作于SPI方式的从机模式, CLKX0 二 T 一 SCLK FC CLKX0和FSX0为输入引脚,在接收数据和发送数 DX0 DIN MCLK 据时都是利用外界时钟和移位脉冲。C5402与 DRO D0UT AD50C的硬件连接如图4所示。 图5 TMS320C5402与AD50C的连接 C5402的McBSP0与AD50C间的通信信号包 4结语 括DOUT、DIN、SCLK、FS。为了使数据和控制信 本文介绍了连续可变斜率增量调制(CVSD)语 号能在同一串行口中传输,采用了两种通信模式:主 音编解码算法的原理,以16kbit/s的编码速率在 通信模式和次通信模式。主通信专用于转换数据的 MATLAB中进行了仿真,仿真结果表明,解码后的 传送,主通信发生在每个数据转换期间。次通信只 输出能够很好的逼近原始输入语音信号。最后给出 有在被请求时才会进行,本实例采用软件次通信请 了采用TI公司的TMS320C5402实现实时CVSD 求方式,所以FC端接地。 编解码的方案,实际应用表明通话效果良好。 AD50对输入的语音信号进行采集、A/D转换, (下转第17页) 一3一 第5期 戴永成等:基于DS18B20的数字温度测量仪 2o08年lO月 能较好地解决传统测温装置普遍存在的携带不便、 易损坏、易受干扰等不足,可广泛的应用于工业控制 中的各种温度监控。 参考文献: [1]陈明,邱超凡.基于DS18B20数字温度传感器的设计与 实现[J].现代电子技术,2008,(08):188—189. [2]胡辉.单片机原理与应用[M].北京:中国水利水电出版 社,2007. [3]廖琪梅,韩彬.基于单总线器件DS18B20的温度测量仪 [J].国外电子元器件,2008,(02):24—26. Digital Temperature Measuring Instrument Based on DS18B20 DAI Yong・・cheng HU Li・-ping GUO Yan (Electronics Engineering Department,North China Institute of Aerospace Engineering,Lang ̄ng 065000,China) Abstract:This paper introduces the function characteristics and structural features of one hne type digital temperature sensor, DS18B20,and analyzes its work succession.Combined with AT89S51,the system structure,hardware interface elctriec circuit and software design methods of digital temperature measuring device are proposed. Key words:DS1 8B20;temperature sensor;temperature measuring ) 、0p ) ) ) 、 ) ) (上接第3页) 参考文献: [1]李欣,臧笛,罗程.CVSD编码/译码器在语音系统中的应 用[J].电子与自动化,1999,(3):32—36. [2]杨威,金强.CVSD编码原理及其在DSP Builder下的实 现[J].通信对抗,2006,(2):62—64. [3]程佩青.数字信号处理教程[M].北京:清华大学出版 社。1997. 2003,(01):64—66. [6]汪安民.DSP嵌入式系统开发典型案例[M].北京:人民 邮电出版社,2007. [7]王歆.软件无线电台中频调制解调器的实现[D].西安: 西安电子科技大学,2004:21—28. [8]Jun Yang,Chongxi Feng,Kun Tang,Ling Nu.An Au— Digital Code Conversion Technique between 32 Kbps [4][美]拉宾lJ_R.语音信号数字处理[M].北京:科学出版 社,1983:132—185. CVSD and 64Kbps PCMl M].IEEE TENCON.Bering, 1993:37—40. [5]张璇,王福昌,童胜勤.基于DSP的CVSD与PCM编码 全数字转换技术[J].华中科技大学学报,自然科学版, (9]黄福贵,朱志国,孙波.语音编码调制的CVSD算法及实 现[J].声学与电子工程,2005,(4):19—22. Real-Time Implementation of CVSD Based on TMS320C5402 LI Li。 YANG Hong—qiang GAO Shan (1.North China Institute of Aerospace Engineering,Lang ̄ng 065000,China; 2.Department of Mathematic;Hengshui University;Hengshui 053000,China) Abstract:In this paper,the principle and advantage of CVSD speech codec(encoder and decoder)is introducd.Thee simulation experi- ments have proved that the quantiifed phase continuously changes with the mean value of the slope in the signal,which ideaUy印- proaches to the input signa1.At last,the hardware and software design of CVSD Real-Time Implementation based on TMS320C5402 chip are described in this paper. Key words:continuously variable slope delta modulation;digitl siagnal processor;speech processing 一17—