基于CVSD编码的无线语音通信协议方案及实现
2008-04-09
作者:罗雪松,陈向东,陈永 ,丘春
摘 要: 讨论了CVSD编码原理,针对CVSD在无线语音" title="无线语音">无线语音通信系统" title="通信系统">通信系统的应用,制定了时分双工通信协议" title="通信协议">通信协议,并通过编程实现了无线语音双工通信。
关键词: CVSD 通信协议 帧格式
在无线语音通信系统中,由于无线带宽的限制,使得语音编码及压缩技术被广泛关注和研究。常用的技术有脉冲编码调制" title="编码调制">编码调制PCM(Pulse Code Modulation)、自适应差分脉冲编码调制ADPCM(Adaptive Differential Pulse Code Modulation)、自适应增量调制ADM(Adaptive Delta Modulation)等编码方式。CVSD(Continuously Variable Slope Delta)是一种抗信道误码非常好的语音编码算法,在无线通信中得到了广泛应用。CVSD 编码擅长处理丢失和被损坏的语音采样,即使误码率达到4%,经CVSD 编码的语音仍可接受。
1 CVSD编码
1.1 CVSD与其他编码方式的比较
连续可变斜率增量调制CVSD是自适应增量调制ADM的一种,采用1位的差分波形编码方式。自适应的量阶随信号统计特性的变化而变化,在振幅较大的动态范围内,信号可获得最大信噪比。它的量化步长可以动态调节,通过对输入信号" title="输入信号">输入信号的振幅变化率调节量化步长的增量值。当输入信号的振幅变化率增大时,增量值也相应增大;当输入信号的振幅变化率减小时,增量值也相应减小。这样,它就能对输入的原始信号进行很好的跟踪、量化和编码,从而拥有很高的信号保真度。
PCM是根据输入信号的采样值,以固定的量化步长进行语音量化和编码。在采样频率一定的情况下,量化步长的选取将决定着编码的质量和最终的语音效果。由于输入信号的随机性与多样性,PCM编码的效果并不十分理想,会因为量化步长过小或过大而造成输入信号振幅的量化噪声和过载噪声,当传输中有误码发生时,将产生严重的信号失真。
ADPCM综合了自适应脉冲编码调制APCM(Adaptive Pulse Code Modulation)的自适应特性和差分脉冲编码调制DPCM(Differential Pulse Code Modulation)的差分特性,可达到较好的性能。32kbps的ADPCM是一种算法较简单的波形编码,具有良好的话音质量和抗噪性能,在卫星通信、数字话路倍增系统中得到了广泛应用。
1.2 CVSD编译码器
图1为CVSD的编码器结构。处于CVSD编码方式时,输入的语音信号和积分器的输出信号经比较器比较后输出一个偏差信号,该偏差信号被送到量化器Q。量化器输出的数字信号反映了偏差信号的极性,也就是语音信号的数字编码输出;同时该信号作为积分器输出斜率的极性控制信号和积分器输出斜率大小逻辑的输入信号。在时钟信号的各周期内,若输入语音信号大于积分器输出信号,则量化器Q输出1,控制积分器输出上升;若输入的语音信号小于积分器输出信号,则量化器Q的输出为0,控制积分器输出下降。而反馈链路上设置的延迟模块Z-1是将量化器当前的输出值与之前的若干输出值进行比较,当量化结果有3个连续的“1”或“0”出现时,即比较器检测出满足斜率过载的条件时,编码器将通过可编程步长控制模块调节量化步长以更好地跟踪输入的模拟信号。另外,反馈回路上设置有两个积分器,它们与CVSD编码相结合可以提供优良的语音质量。应用中可设置为仅使用I序积分器或者共同使用I序、II序积分器。对于等级映射转换器L,当输入为“1”时输出为“1”,当输入为“0”时输出为“-1”,它与积分器的输出相结合形成反馈信号。
图2为CVSD的译码器结构,与编码器结构类似但过程相反。在时钟的各周期内,若数字输入为1,则控制积分器的输出上升;若数字输入为0,则控制积分器输出下降。这相当于编码过程的逆过程,等级映射转换器L的输出与积分器的输出相结合,就得到译码结果。延迟模块用来测试比较最近若干次的编码量化结果,当出现3个的连续的“1”或“0”而达到斜率过载条件时,则译码器也通过可编程步长控制模块调节量化步长的值。
2 通信协议方案
2.1 空中接口规范
空中接口标准是无线通信系统中最受关注的接口之一。在空中接口方案中主要为系统的各项指标做一个整体规划,它将成为制定协议模型的基础。具体的空中接口方案见表1。
2.2 TDD帧结构
本文讨论的数字无线语音接入系统,参照时分双工无线通信系统中的物理信道,采用多个载波上的时分多址对无线频谱进行频率和时间上的两维分割,在一个载频信道上实现时分双工的通信。帧是传输信息的基本手段,一般由头域、数据域和尾域组成。本系统的首要目标是实现语音通信,在系统采用的TDD帧格式中,将每个载频信道分为2个时隙,即下行和上行信道,每一时隙包括前同步域、同步域、ID标识域、命令域、数据域以及帧保护域。TDD帧格式如图3所示。
在图3中,Head域为同步头,包含前导字段和同步字段;Data域为数据域,包含标识字段、命令字段和语音数据字段;END域用以标志数据字段的结束;Guard Space为保护时段,用于防止由于多径到达的延时所造成的时隙碰撞。下面分别对组成TDD帧的各字段定义:
(1)Preamble Bytes。前导字段,占8字节,每一字节均为交替的0和1,即0x55H或0xAAH,用于位同步。
(2)SYNC Bytes。同步字段,占2字节,为一特定的码组,用于块同步,标志着一帧数据的开始。
(3)System ID。系统识别码,占2字节,用于区别同频段的其他无线通信系统。
(4)Base ID。基站识别码,占2字节,用于标识移动终端所属的基站。
(5)Local ID。本机标识码,占2字节,用于标识移动终端本身的号码。
(6)Destination ID。目的终端标识码,占2字节,用于标识本机要发送到目的终端的号码。
(7)Command Bytes。命令字段,占2字节,用于指示通信终端所发生的行为、过程或状态。
(8)Data Bytes。数据字段,占120字节,用于存放通信过程中的语音数据。
(9)END Bytes。帧结束字段,占4字节,用于对之前的语音数据进行保护,同时也标志着一帧的结束。
由上所述,可得出一帧的长度为144字节,除去帧头10字节与帧尾4字节,数据域共130字节。系统采用的射频模块最大传输速率为76.8kbps,则传输一位的时间约为1/76.8kbps=0.01302ms,发送一帧共144字节,约需144×8×0.01302=15ms,接收一帧130字节的数据约需130×8×0.01302=13.6ms。射频模块的发送与接收模式转换过程至少需1.5ms。为了保证转换的可靠性,设置模式转换间隔为3ms,于是可得出图2中TDD帧的时间设置。
3 通信协议在系统终端的实现
以微处理器MSP430为中心的系统控制模块主要完成数据的接收控制、发送控制等工作。系统采用MSP430的USART模块的SPI同步通信模式,外围模块采用专用的CVSD语音芯片以及射频芯片,以降低微处理器的开销。在接收过程中,首先接收来自射频芯片的数据,再将接收的数据帧的同步域、尾域、ID域以及命令字节去除后送至CVSD语音芯片进行译码处理;在发送过程中,首先由CVSD语音芯片将模拟语音编码,通过微处理器MSP430F149加上头域、尾域、ID域以及命令字节形成数据帧,然后控制射频芯片将数据发送。由于使用了专用芯片,数据的处理均在专用芯片完成,因此数据是一个串入串出的过程,微处理器对数据基本不需要进行特别的处理,只需控制数据的输入与输出接口以及设置定时器控制接收与发送模式的转换。数据的收发流程如图4、图5所示。
本文针对连续可变斜率增量调制CVSD的特性进行研究,根据CVSD较低的采样频率和较好的语音编码质量、擅长处理丢失和被损坏的语音采样等优势,采用支持自适应增量调制的专用语音编码调制芯片,以MSP430为控制模块及超高频单片数传模块,构成了无线语音系统的终端;并在无线语音系统的终端硬件的基础上,制定了时分双工的通信协议,详细分析了通信协议中的TDD帧结构;最后运用IRA C430语言编程实现了本文所制定的通信协议。在实际试验中,使用868.000MHz的频率,以76.8kbps的速率、5dBm的发射功率,使用PCB单极天线,在开阔地带通信距离能达到100m,通话效果比较理想,从而验证了通信协议方案确实可行。
参考文献
1 李 欣,臧 笛,罗 程.CVSD编码译码器在语音系统中的应用[J].电子与自动化,1999;(3):32~36
2 黄福贵,高 俊,张 静.CVSD的算法、仿真及实现[J].桂林电子工业学院学报,2003;23(5):5~8
3 李振玉,卢玉民.现代通信中的编码技术[M].北京:中国铁道出版社,1996
4 沈建华, 杨艳琴,翟骁曙.MSP430系列16位超低功耗单片机原理与应用[M].北京:清华大学出版社,2004
5 胡大可.MSP430系列超低功耗16位单片机原理与应用[M].北京:北京航空航天大学出版社,2000
6 刘玉宏.MSP430单片机C语言和汇编语言混合编程[J].微计算机信息,2003;19(5):56~57