1960.多通道扩容型数字电话.doc

上传人:laozhun 文档编号:4140742 上传时间:2023-04-07 格式:DOC 页数:21 大小:1.78MB
返回 下载 相关 举报
1960.多通道扩容型数字电话.doc_第1页
第1页 / 共21页
1960.多通道扩容型数字电话.doc_第2页
第2页 / 共21页
1960.多通道扩容型数字电话.doc_第3页
第3页 / 共21页
1960.多通道扩容型数字电话.doc_第4页
第4页 / 共21页
1960.多通道扩容型数字电话.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《1960.多通道扩容型数字电话.doc》由会员分享,可在线阅读,更多相关《1960.多通道扩容型数字电话.doc(21页珍藏版)》请在三一办公上搜索。

1、 多通道扩容型数字电话 内容目录1. 摘要2. 引言3. 系统硬件电路设计及关键技术 31 硬件电路综述32 语音信号编解码的实现33 CS4218和DSP之间的通信34 DSP与C51的通信35 MODEM与DSP的通信36模拟电话接口电路4. 系统软件设计41 软件原理介绍411 原始语音采集和合成语音回放412 语音G.729算法413 DSP与MODEM间的通信414 通信数据缓冲方法42 软件功能模块435. 结束语 1摘要: 给出了一种基于DSP技术模数兼容的多通道数字电话系统设计方案。设计中采用了DSP,低比特率语音压缩编解码,信道复用,FLASH MEMORY,DSP和调制解调

2、器通信等技术。在通用调制解调器构成的点对点通信平台上实现了两路语音的复用,传输及交换。2. 引言随着数字化时代的到来,在数字通信技术高速发展的今天,通信信道的容量和信道质量是两个关键性的问题。与此同时,各种数字终端不断地涌现,给人们的生活带来了极大的方便,而模拟电话向数字电话的过渡也是一个必然的趋势。在这个背景下,本系统给出了一种利用语音压缩技术,采用普通的调制解调器,通过PSTN电话线路就可以实现高速,多路的,兼容模拟通话的数字电话设计方案。在这个设计方案中,提出了一种以一个电话作为主机(以DSP56F826为内核),可挂接一个分机(以C51为内核)的双机数字电话小系统,在该系统中,用户可以

3、在只占用一条PSTN线路的情况下,可进行基于点对点模式的两路完全独立的数字通话。该系统支持传统的分机电话和录音电话的所有功能,还可以作为实时和非实时的数据终端使用,而且可以稍加改动升级为更多路数的电话系统,具有很好的实用价值。该小系统的总体思路如图1所示: 图1 其中,主机需要完成的任务比较重:包括用户一和用户二的语音数据的采集和编解码,两路数字话音信道的复用和交换,模拟话音通道和数字话音通道间的切换,与分机的通信以及与MODEM的通信等。而分机所要完成的任务只是完成与主机的通信和简单的键盘和显示控制。这种设计方案的特点是:能够充分的利用主机中的DSP56F826的强大的数字处理和控制的功能,

4、而又没有使系统变得异常庞大;保留了传统电话的完整电路,能够兼容和普通电话用户之间的模拟通话;利用了模拟电话的拨号,通话和振铃电路,减轻了DSP的负担。 3. 系统硬件电路设计及关键技术31硬件电路综述 该系统的硬件总体框图如图2所示: 图2硬件电路的构成大至可以分为以下几个模块:话音处理模块,电话接口模块,存储模块和基本外设模块。话音处理模块包括十六位MCU&DSP芯片DSP56F826,16位PCM编解码芯片CS4218;电话接口模块包括信号音检测电路,模拟通道和数字通道切换电路;存储模块采用大容量FLASH;基本外设模块包括键盘和LCD显示部分。其中,话音处理模块是关键的功能模块。该电话小

5、系统基本的工作原理如下所述:在送话时,话音信号经CS4218采样和量化后形成的数字话音信号通过DSP56F826的SSI口送入语音编解码模块,编码后的话音信号通过MODEM发送给通话对象;在受话方,MODEM将接收到的数字话音信号通过SCI串口传送给DSP56F826,经语音解码模块解码以后的合成数字话音信号仍然通过SSI口传送给CS4218还原。这样就完成了一路话音信号的发送与接收。当要进行两路通话或者是多路通话的时候,DSP56F826中的话路复用模块参与工作,完成多路话音信号的复用和分离的任务。另外,主机和分机之间的通信任务是通过主机里面的DSP56F826的SCI串口和分机里面的微控制

6、器C51的SCI串口之间的通信来实现的,主机和分机之间通过串口中断调用的方式来传递彼此间协同工作所需要的控制和状态信息。语音信号的采集,量化和编解码,分机和主机间的通信,以及DSP和MODEM之间的通信是该系统的关键技术部分。32 话音信号编解码的实现:为了充分利用有限的存储空间,并且能够保证话音信号的实时传输,本设计采用用了低比特率语音压缩技术。它综合了波形编码和声码器的优点,在4-16kb/s的速度上得到高质量的合成语音。其中,码本激励线形预测编码(CELP)是成功的代表。在这个系统中采用了G729A作为系统编解码的标准。G729A是ITU-T组织于1996年制定的使用于PSTN的第四代语

7、音编解码标准,该标准采用共轭结构-算术码本激励线性预测(CS-ACELP)算法,其工作速率为8Kbps,MOS分在4。0左右,达到全质语音标准。下面简述一下G729A的算法。在编码端,输入8KHZ采样的16位线性PCM语音信号,以80个样值为单位(10ms为一帧)进行编码。CS-ACELP编码器基于码激励线性预测模型,对每一帧信号进行分析抽取CELP模型参数(包括线性预测器滤波器系数,自适应码本和固定码本索引和增益),这些参数经编码后传送出去。解码端对收到的参数进行解码,重新获得激励和合成滤波器参数并重建语音。33 CS4218和DSP之间的通信硬件接口如图3所示:图3CS4218是CRYST

8、AL公司提供的16位双声道串行音频编解码芯片,可以提供4K-50KHZ的采样频率,非常适用于该多通道扩容型数字电话小系统。CS4218提供了多种工作模式给用户选择,这里采用了SM4(即Serial Mode 4)串行工作模式。在这种工作模式中主要用到了7根信号线和DSP通信:SDOUT,SDIN,SCLK和SSYNC这4根线与DSP之间进行声音数据交换:SDOUT传送经过量化编码之后的信号数据到DSP;SDIN从DSP接收经过G729A解码后的数据信息;SCLK是为CS4218提供串行时钟;SSYNC是帧开始标志信号。其中SCLK和SSYNC被配置为输出信号。CS4218工作在SM4模式下的数

9、据在SDIN和SDOUT两根信号线上分别输入和输出,帧结构都是分为两个16位WORD:WORDA是通道一的数据信息位,而WORDB是通道二的数据信息位;CCS,CCLK,CDIN是CS4218的控制口,通过与DSP的GPIO口PD0,PD1,PD2通信来传输DSP对CS4218的控制信息。当DSP中的接收寄存器满时,DSP产生一个中断读取接收到的数据并进行G729A的解码;DSP的编码工作结束后,将编码后的数据传送到发送寄存器,当发送寄存器满后,DSP会产生一个中断控制CS4218读取发送寄存器中的数据,从而完成DSP和CS4218之间的数据交换。具体的通信过程见软件部分的说明。 34 DSP

10、与C51的通信 在该小系统的设计中,分机和主机的通信分为两个信道:控制信道和话音信道。控制信道由主机中的DSP,分机中的C51以及连接它们之间的RS232连接器组成。C51微控制器只向DSP传送和接收信令控制信息,而没有语音数据的交换,因此数据量不大,而且实时性要求也不高,只需要利用常规的串口中断来实现主机和分机之间的控制信息交换即可。而话音信道则是将分机中的传统通话模拟信道与主机中CS4218的模拟信号的输入输出端通过主机内部的接口电路相连,这样可以简化设计,也就是说,分机和主机之间的话音传输是以模拟的方式进行的。图4给出了控制信道接口电路连接方式。 图435 MODEM与DSP的通信电路

11、DSP将话音数据编码之后,加上一定量的控制和状态信息,通过通用的56K的调制解调器发送出去,而接收端则将对方发送过来的打包后的数据接收并解包成原始的话音数据送到DSP进行解码,这样就完成了一个完整的远端数据的收发过程。DSP通过异步串口SCI发送AT命令来实现对MODEM控制进行串行通信,它具有与MODEM接口和控制能力,与MODEM的接口如图5。 36 模拟电话接口电路 由于要兼容传统的模拟通话电路,因此模拟通话电路和DSP之间的接口电路成为必要,包括:模拟和数字通道切换电路,信号音监测电路。模拟和数字通道切换电路主要由DSP的GPIO控制线控制模拟多路开关AD8182在模拟通道和数字通道以

12、及数字通道一和数字通道二之间进行切换;而信号音监测电路主要是监测三种主要信号音(回铃音,忙音和拨号音)的有无,从而判断话路状态,以便DSP进行相应的控制操作。信号音监测电路由LM567以及附属元器件组成,如图6所示。W1和C4组成谐振电路,中心频率F=1。1/(W1*C4)。回铃音,忙音以及拨号音信号经放大电路后,通过一个电容输入给LM567,当输入信号频率在谐振电路的频带内时,8脚为低电平,否则为高电平。该电路和软件配合可检测出以上三种信号。 图6 4系统软件设计:41 软件原理介绍软件主要完成三方面的功能:原始语音采集和合成语音回放,语音G.729a编解码算法,DSP与MODEM间的通信。

13、另外还包括液晶显示,键盘响应,主分机间的通信,录音存储等各功能子程序。411 原始语音采集和合成语音回放语音采集和回放是通过DSP与PCM编码器间通信实现的。按照G.729a算法的要求和CS4218串行数据格式(格式简图如下),CS4218的采样率设为8KHz,32位每帧。也即同步通信的帧率为8KHz,串行时钟频率为832KHz。这些通过发送控制寄存器STXCR和选项寄存器SOR设置。另外还有接收、发送的移动方向,时钟和帧源方向,时钟有效极性,帧同步有效极性,帧同步宽度,帧同步出现时刻等参数,通过控制状态寄存器SCSR和控制寄存器SCR2设置。图7 串行数据输入格式图8 串行数据输出格式通信的

14、方式是以一帧为接收发送单位,采用中断形式。具体过程是:使能SSI口的716BitTXFIFO和716Bit RXFIFO,将RXFIFO接收满的值设为4,开SSI接收中断,在接收允许的情况下,接收完一帧数据(2个字)时,产生中断申请。中断程序读出这2个字,分别存放到数据接收缓存区(8016Bit,各2个,缓存方法中有详细介绍)中。另一方面,将TXFIFO发送空值设为0,开SSI发送中断,当TXFIFO中的最后一个字送入TXSR后,产生中断申请,由中断程序从发送缓存区分别取出两路合成语音(各1字),写入STX,下一个有效帧同步到来时开始新一帧的发送。这些通过设置FIFO控制状态寄存器SFCSR,

15、控制寄存器SCR2和中断程序来实现。另外,系统开辟了两个控制字单元和两个状态字单元,用于对CS4218左右声道的控制和状态信息读取。控制字输出子程通过PD2与CDIN通路输出控制字,状态采集子程通过PD3与CDOUT通路采集CS4218的有关状态,并 作相应处理。412 语音G.729算法 G.729是“使用共轭结构代数码激励线性预测的8Kbit/s语音编码”标准,G.729a是G.729的附件A,是G.729语音编码标准减少算法复杂度的版本。这一版本的比特流与G.729版本的比特流可互操作,也就是说G.729A编码比特流可以用G.729解码器解码,反之亦可。 G.729a标准算法的大致流程是

16、:在编码端,输入8KHz采样的16位线性PCM语音信号,以80个样值为单位(10ms一帧)进行编码,CS-ACELP编码器基于码激励线性预测模型参数(包括线性预测器滤波器参数、自适应码本和固定码本索引与增益,一帧信息的参数量为80bit),这些参数经编码后传输出去。解码端对接收到的编码参数进行解码,重新获得激励和合成滤波器参数并重建语音。A. 编码原理 图9 G.729编码算法的信号流程图9是G.729编码算法中的信号流程。包含预处理,LP分析,开环基音搜索,闭环基音搜索(自适应码本搜索),代数码本搜索(固定码本搜索),存储更新六大块内容。1. 预处理预处理的任务是进行高通滤波和定标。系统函数

17、为:2. LP分析和量化 短时分析和综合滤波器是基于10阶线性预测(LP)滤波器。这个LP滤波器定义为: 这里是量化的LP系数。对每一语音帧,使用具有30ms不对称窗的自相关方法,执行一次短时预测或线性预测分析。每80个样点(10ms),计算一次加窗语音信号的自相关系数,并使用Levinson-Durbin算法把它们转换为LP系数,然后把LP系数转换到LSP域以备量化和内插。内插的量化和未量化滤波器被转变回LP滤波器系数以便对每个子帧构成合成滤波器和加权滤波器。 分析量化的结果有3类:1.当前帧LSF系数计算值和通过4阶开关MA预测器预测系数值间差值的量化索引L1,L2,L3及MA预测器位L0

18、。2.被量化和内插的LSP系数转换回的LP滤波器A(Z)。3.未量化而内插的LSP系数转换回的LP滤波器A(Z)。3. 基音开环搜索基音开环搜索的任务是计算加权语音和开环基音延迟。加权的语音信号为: 由SW(n)分段计算相关值R(k),并按选择较小基音延迟的方法计算出自适应码书延迟的候选延迟TOP。4. 闭环基音搜索自适应码书参数(或基音参数)是延迟和增益。在闭环基音搜索之前,需要计算每个子帧的加权合成滤波器W(Z)/A(Z)的冲激响应h(n)和用于自适应码书搜索的目标信号x(n)。x(n)的计算方法是从加权信号sw(n)中减去加权合成滤波器的零输入响应,这是对一个子帧进行的操作。在实现基音滤

19、波器的自适应码书方法中,对延迟小于子帧长度的情况,激励被重复。闭环基音搜索使原始语音和重建语音之间的加权均方误差最小,这可以使下面这项最大化来得到。这里x(n)是目标信号, y k(n)是延迟为k的过去已滤波的激励(过去的激励与h(n)的卷积)。搜索范围限制在一个预选值附近,它是用于第一子帧的开环基音Top和用于第二子帧的T1。如果最佳整数闭环延迟小于85,为确定T2和T1,必须按索最佳整数延迟附近的分数值,这项工作通过对上述归一化相关R(k)进行内插并搜索它的最大值来完成。进行内插使用一个FIR滤波器b12,它是基于哈明窗的正弦函数,在土11处截断,在12(b12(12)0)处填充零。在过采

20、样域3600Hz处,这个滤波器有它的截止频率(-3dB)。对于分数23,13,0,13,和23,要得到R(k)的内插值,可使用内插公式: 这里t=0,1,2分别对应分数0,13和23。为获得合适的内插,有必要在范围 内计算相关项R(k)。在计算出基音的整数延迟T和分数延迟t后,通过对过去激励信号u(n)的内插,可计算出自适应码书矢量v(n)。内插滤波器b30是基于哈明窗的正玄函数,它在29处被截断,在30处填充为0。 I自适应码书延迟的码字计算:在第一子帧里,基音延迟TI用8位编码,第二子帧的相对延迟用5位编码。分数延迟T用它的整数部分int(T)和分数部frac3(frac=-1,0,1)来

21、表示,基音索引P1现在被编码为: 参照T1值对基音延迟T2进行编码: 其中,tmin是从T1中推导出来的。 为了使这个编码器对随机误码有更强的鲁棒性,在第一子帧的延迟索引P1基础上要计算奇偶校验位P0。对Pl的6个最高有效位进行异或(XOR)运算来产生奇偶校验位。在解码端,这个奇偶校验位被重新计算,如果新计算出的值与传输的值不一致,则需要使用误差抵消方法。II自适应码书增益的计算: 自适应码书增益g p的计算公式: 这里x(n)是目标信号,y(n)是经过滤波的自适应码书矢量(W(Z)A(Z)对v(n)的零状态响应),通过计算v(n)和h(n)的卷积可求得矢量y(n):5. 固定码本搜索取一个4

22、0维的零矢量,在所找的位置上放4个单位脉冲,再乘以对应的符号,就构造了代数码书矢量c(n):其中n=0,39.固定码书搜索是使加权输入信号语音sw(n)和加权重建语音间均方误差最小。用于闭环基音搜索的目标信号通过减去自适应码书的贡献而得到更新,即:目标信号x(n)和冲激响应h(n)的卷积信号d(n)为:如果c k是第又个固定码书矢量,那么这个码书的搜索是使下面这项最大: 在码书搜索之前,先计算出信号d(n)和矩阵,注意到为加快搜索方法和速度仅计算实际需要的元素,并且设计一种有效的存储方法。I固定码书的码字计算:脉冲i0,i1和i2的脉冲位置,每个用3位编码,而i3的位置用4位编码,每个脉冲编码

23、的幅度用1位编码,对每个子帧,总共用17位。如果符号为正,定义s1,如果符号为负,定义s=0,则符号码字为:固定码书为:这里如果m33,8,38,则jx=0;如果m3=4,9,39,则jx=1。II固定码书增益计算: 固定码书增益g c能表示为: g c是基于先前的固定码书能量的预测增益,是一个相关因子。III用于增益量化的码书搜索 自适应码书增益(基音增益)和固定码书增益用7位进行矢量量化。增益码书搜索是使原始语音和重建语音之间的加权均方误差最小化,这个误差为: 这里x是目标矢量,y是已滤波的自适应码书矢量,z是固定码书矢量与h(n)的卷积。 自适应码书增益g p和因子的量化使用一个两段共扼

24、结构的码书,第一段由一个3位二维码书GA构成,第二段由一个4位二维码书GB构成。每个码书里的第一个元素表示量化自适应码书增益g p,第二个元素表示量化固定码书增益校正因子。分别用GA和GB表示码书GA和GB的索引,则量化自适应码书增益为:量化固定码书增益为: 从对应于最佳选择的索引,我们可以得到用于增益量化器的码字GA和GB,为了降低单个位误差的影响,需要对码书索引进行映射变换。6. 存储更新两个增益被量化后可获得当前帧的激励信号u(n):其中g p和g c分别是量化自适应码书增益和固定码书增益,v(n)是自适应码书矢量(内插的过去的激励),c(n)是包含了谐波增强的固定码书矢量。对40个样点

25、的子帧,让信号r(n)u(n)(残差和激励的差)通过滤波器1A(Z)和A(Z1)A(Z2)进行滤波,并保存这些滤波器的状态,这样就更新了滤波器的状态。B. 解码原理。图10 G.729解码中的信号流图G.729解码过程分成下面几个过程:LP滤波器参数的解码,奇偶校验位的计算,自适应码书矢量的解码,固定码书矢量的解码,自适应和固定码书增益的解码,重建语音的计算,后处理。解码过程的前半部分是编码过程的逆过程,原理相同。得到的重建语音通过一个后处理运算增强。后处理器包括一个自适应后滤波器,一个高通滤波器和一个幅度调节器,自适应后滤波器由三个滤波器级联而成。它们是长时后滤波器HP(Z),短时后滤波器H

26、f (Z),倾斜补偿滤波器H t(Z)。后滤波器的系数每个5ms的子帧更新一次。后滤波器的处理过程如下:对重建语音信号s(n)进行逆滤波,以产生残差信号r(n),用这个信号来计算长时后滤波器Hp(Z)的延迟T和增益g t;信号r (n)通过长时后滤波器Hp(Z)和合成滤波器1g f A(Zd)进行滤波;合成滤波器的输出信号通过倾斜补偿滤波器Ht(Z)产生后滤波的重建语音信号sf (n);对sf (n)使用自适应增益控制方法以便之与s(n)的能量相匹配,得出的信号sf (n)通过高通滤波和幅度调节,产生解码器的输出信号。413 DSP与MODEM间的通信DSP由标准串口SCI0通过电平转换后与M

27、ODEM相接。MODEM上电后即处于命令状态,由DSP通过AT命令进行初始化,然后与对方MODEM建立通路。通路建立了以后,MODEM处于在线状态,这时,便可以进行话语编码数据的传输了。结束通话前,DSP向MODEM发“”命令,MODEM由数据状态进入命令状态,用ATH实现挂机。通信之前,先初始化SCI。波特率的设置方法:经压缩编码的每帧信息量为80Bit,本系统采用每帧82字的位流文件格式;两路语音编码需要发送,帧率是8/80KHz,设置串行数据段为8位(即每串行帧10位),无奇偶校验位,则一路编码数据帧需282个串行帧才能发送完,故SCI的发送时钟应设为8/80228210KHz。波特率

28、发送时钟16。另外,设置所有参数均以MSB开始传送。数据的接收和发送采用中断的形式,并存在数据缓冲的问题。414 通信数据缓冲方法鉴于G.729编码算法的特点,语音编码前后和解码前后都存在数据缓冲的问题。下面以语音编码前和解码后(也即原始语音采集后和合成语音播放前)的情况为例,介绍本系统采用的数据缓冲方法。G.729a编码是以80个字为处理单位(一帧),AB两路语音以每次一个数据字的速率采集进来,需缓存起来,等到满一帧时才交给编码子程序处理。另外,G.729a算法还要求下一帧的40个样点来计算该帧的自相关系数,所以有额外5ms的算法延时。解码时,一帧合成语音的数据也为80字,解码过程和合成语音

29、的播放过程同时进行的,同样存在数据缓冲的问题。采用的方法是:在DSP内部数据RAM区,为每路的发送和接收各开辟两个80个字的数据缓存区:ARX-BUFF1,ARX-BUFF2,ATX-BUFF1,ATX-BUFF2,BRX-BUFF1,BRX-BUFF2,BTX-BUFF1,BTX-BUFF2,实行乒乓缓冲机制。所谓乒乓缓冲机制就是两个缓冲区交替工作,一个缓冲区满时启动另一个工作。42 软件功能模块因为时间的原因,目前本系统只完成了两大功能块,即上面介绍的DSP与PCM编码器间的通信和两路语音G.729a编解码。SSI口接收中断子程序:(图11)SSI口发送中断子程序:(图12)以一路语音的编

30、解码过程为例的主程序流程略图:(图13)编码子程序的流程略图:(图14)解码子程序的流程略图:(图15) 图11 SSI口接收中断子程序 图12 SSI口发送中断子程序 图13 主程序流程略图 图14 编码子程序略图 图15 解码子程序流图 结束语 多通道扩容型数字电话系统的设计上的特点是充分利用了DSP56F826的片上资源,同时又保留了模拟电话的拨号,振铃以及通话电路,使设计合理而紧凑。应用上的特点的是它提出了一种具有实际意义的实用性数字电话的切实可行的设计方案,可以很方便地应用于如电话采访,实时数据传输,小型电话会议等多种场合,具有广泛的应用前景。 参考文献1 杨行峻,迟惠生。语音信号数字处理。北京:电子工业出版社,19952 Motorola Inc. DSP56F826_827 Users Manual3 Motorola Inc. DSP56F800 Family Manual4 ITU-T Recommendation G.729 Annex A : Reduced complexity 8 kbit/s CS-ACELP speech codec

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号