账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
剖析GSM系统之嵌入式设计
MOV编解码器技术架构

【作者: Ethan Bordeaux】2004年11月04日 星期四

浏览人次:【5789】

从1990年代开始半导体产业的快速进步使设计师能够用功能强大的DSP和微处理器晶片来解决非常复杂即时的软体应用。电信产业便是由这些发展成果大幅得到好处的重要领域之一。有许多标准化团体和特殊利益论坛主动形成并发展新的应用方案所需的专门知识。


本文提供读者对于典型以软体为主的产品,如行动电话的语音编解码器,其发展方法的实务概论。特别对GSM行动电话应用的适应性多重速率(Adaptive Multirate;AMR)编解码器软体发展作简介,包括发展经过、硬体使用,以及使用标准化团体所开发的参考程式码。虽然讨论的部份只针对此演算法和架构,移植和测试程式码的基本步骤其实可应用到所有的嵌入式演算法和硬体平台。参考资料[1]是实用的概论。如果想要了解DSP处理器架构概念,可以参阅参考资料[2]。


AMR语音编解码器与GSM环境

在新的千禧年开始之初,超过六亿的GSM用户以使用语音为主要服务项目。电信业者的挑战在增进通话品质的同时还要将频谱效率最佳化,在用户密集的市区尤其如此。 1990年代后期GSM业者和开发人员建立了一套语音处理标准,用以处理非最佳分割的来源和频道编码速率。在固定频道编码速率下,想要最佳使用错误校正(Error Correction)是不可能的。当频道状况差时,频道加密器所加入的多余位元可能不足以改正传输错误。同样地,当频道状况好时,在来源编码多加入一些位元能够改善语音品质。 AMR标准采用一种智慧的结合方法解决此问题。


(图一)描述AMR语音传输系统的基本概念。基地台(Base Station;BS)和行动台(Mobile Station;MS)都是由下列主体所组成:


  • ●可变位元速率的语​​音编解码器(语音编码器SP-Enc和语音解码器SP-Dec);


  • ●可变错误保护率的频道编解码器,配合语音编解码器的位元率[频道编码器(CH-Enc)和频道解码器(CH-Dec)];


  • ●频道估计主体(CHEst);


  • ●速率适应控制单元。




《图一 GSM AMR概念方块图》
《图一 GSM AMR概念方块图》

基地台是系统中的主宰,决定了上传(UL)和下载(DL)的速率。有一个用来控制编解码器速率的频道品质参数是来自于行动台上的等化器(Equalizer)所产生的软式输出(Soft Output)。行动台在上传方向的讯务频道(TCH)传送模式位元(Mode bits;频道速率资讯),而DL频道量度(DL Channel Metric;下载频道品质资讯)则使用控制频道(SACCH)传送到CH- Dec。在接收方首先作频道解码,接着是语音解码。在同时BS频道量测器会对UL频道作出测量。量到的UL频道品质和DL频道量度(从MS接收)送到BS控制单元,在那里会决定现行的DL速率和所需要的UL速率。


在DL方向中,现行DL模式和所需要的UL速率会在下载方向的TCH频道里一起传送到MS。与上传相似的是,MS的频道量测器对DL频道品质作出测量,而所需要的UL速率会从接收到的位元串流(Bitstream)中解码得出。 MS控制单元由测量到的DL频道品质计算出DL频道量度,再经由SACCH传送到BS。此时语音编码器是以新获得的UL速率在运作。 AMR的概念允许在频道状况差的时候能有接近固网的通话品质,而当状况好的时候品质会更好。如果想知道更多关于AMR和可变速率编解码器的细节,可以参阅参考资料[3]和[4]。


数位讯号处理器架构概论

微处理器和微控制器通常用于需要处理有共同顺序活动的应用程式,而有时候要能将不论频繁与否的通话分离成不尽相同的顺序。举例来说,在一具行动电话上输入一组号码,则微处理器子系统内部的号码处理演算法会负责此行为并掌控整个过程。当接到一通来电时,手机的微处理器与基地台之间会启动多项程序,然后开始语音交谈。在这个例子里,处理器子系统等待与按键活动相关的打断动作,或是射频(RF)系统侦测到来电。


DSP是一种特别的微处理器,其架构特地针对嵌入式系统内的即时信号处理演算和应用程式所调整。这跟「通用型」微处理器的架构有所不同,微处理器通常是设计来处理很多不同种类的应用程式,且其系统通常能够容许较大程度的总执行时间不确定性。例如说,在微处理器上花上19.9ms跟20.1ms的时间来执行一个与使用者介面有关工作的差异性很小,而且一般来说不太重要。然而这种因为计算上的延迟对DSP来说可能就代表着讯框中的资料顺利进行处理或缓冲器溢出的差异。后者将导致输出资料损坏或是通讯频道中断。


由于DSP被设计为一定要能以快速和有弹性的方式处理许多不同种类的数学运算,DSP的运算是采用同步双资料存取的乘法累加(Multiply/Accumulate;MAC)的方式。除此之外,这种指令多半涵盖在回路(Loop)以内。所以DSP也包括对零负担(Zero-overhead)回路的准备(回路计数器是由硬体而非软体处理)。


MAC指令为诸如自动校正、有限脉冲响应(Finite Impulse Response;FIR)滤波,和回旋(convolution)等演算法的系统核心,这些对于信号调变与分析都是非常重要的。一个简单的回路内含MAC指令范例(以C语言写成)如下所示:


long correlate(short *input, short *coeff, int corrlen) {


long result = 0;


int i;


for (i=0; i<corrlen; i++) {


result=result+(((*input)++)*((*coeff)++));}


return result;}


此功能相乘input和coeff阵列并将累计总和当成变数result的值。在DSP上​​可以在一个循环之内执行MAC指令再加上维护回路计数器的程式码(忽略其他或许需要用来启动硬体回路计数器的周期)。 DSP的累加器通常都会比乘积结果要大得多,这样才能在一个回路中执行多个MAC指令而不会使输出暂存器发生溢流(Overflow)的现象。


通用型微处理器当然也可以计算上述的功能。但是微处理器原本并不是设计来运算信号处理密集的应用程式。较早期的微处理器在信号处理的演算效能极差。最近的主流桌上型处理器在DSP处理能力上已经有所改进,如Pentium产品加入的SIMD(Single Instruction Multiple Data;单一指令多重资料)和SSE(Streaming SIMD Extensions,串流SIMD延伸)以及PowerPC架构的AltiVec。实际上在从64位元的超纯量(Superscalar)架构一直到最基本的8位元大众化微控制器等许多微处理器的产品线中,均可看到以信号处理为中心的改善。然而即便如此,DSP在执行信号处理演算时经常还是比微处理器要有效率的多,在低电力的应用方案尤其明显。


AMR语音编解码器概论

适应性多重速率(AMR)语音编解码器在1998年底推出时被视为是GSM无线网路的新型编解码器和第三代WCDMA(Wideband Code Division Multiple Access;宽频分码多工存取)系统的内建语音编解码器。到了2003年初时,AMR已经广泛应用在现有的GSM系统中。这种语音编解码器的一些特色包括:


  • ●根据频道特性和系统负载情形的不同,有8种介于4.75 kbps和12.2kbps之间的适应性资料速率可以选择[5]。


  • ●声音讯息侦测(Voice Activity Detection;VAD)、?音描述(Silence Description;SID)、杂讯降低(Comfort Noise Generation;CNG),与在交谈静默时降低资料速率的不连续传输(Discontinuous Transmission; DTX)功能。


  • ●因讯务频道的误差而产生讯框遗漏时替代或消音功能。


  • ●定点DSP架构的有效实行方式。



AMR语音编解码器的规格是由特别行动通讯团体(Special Mobile Group),一个欧洲电信标准组织(European telecommunications Standards Institute;ETSI)的次级团体所制定,ETSI为一个非营利组织,负责制定和维持欧洲专用的电信标准,而这些标准也有可能用于全世界。 AMR语音编解码器的全部技术规格都可以在ETSI的网站上找到[6]。


AMR语音编码器技术

AMR语音编码器被设计为将160组16位元的字元输入编译成95到244位元之间的编码参数输出,输出的长度视编码器的运算模式而定。以AMR为基础的应用程式所要求的ADC/DAC取样率是8KHz。因此AMR语音编码器持续地以20ms(160 x 125μs)的速率处理资料讯框。处理路径可以大致区分成下列的功能方块:前置处理(Pre-processing)、线性预测分析和量化(Linear predictive analysis and quantization)、开放回圈音调与增益分析(Open loop pitch and gain analysis)也就是适应型代码簿搜寻(Adaptive codebook search)、以及代数型代码簿搜寻。部份功能方块是以20ms的资料讯框来计算,其他的演算则以5ms或10ms的取样资料子讯框(Subframe)为基准(通常称为子讯框回圈;Subframe Loop)。


AMR语音编码器也可以执行VAD计算以判断现有的讯框是否含有语音和背景杂讯,以及在解码时的DTX模式以降低当编码器中没有语音时的集结传输需求。 AMR语音编码器的资料流程方块如(图二)所示。



《图二 AMR语音编码器简易方块图》
《图二 AMR语音编码器简易方块图》

这里有一段对于AMR编码所需要的演算法和计算形式的摘要,并未对演算法作最详尽的解释。为了简单起见,以下仅对4.75kbps的编码模式作说明。八种运算模式的计算大多类似,而在某些模式中会增减部份的步骤。请参考以下的规格以获得完整的AMR语音编码器技术资讯(可以在ETSI的网站下载):


《表一 ETSI的AMR语音编译码器规格》
《表一 ETSI的AMR语音编译码器规格》

前置处理(Preprocessing)

一旦装满输入缓冲器的160个样本,AMR语音编解码器就对资料进行前置处理。首先是去掉输入样本的最小三位有效位元(Least Significant Bit;LSB),使得一组16位元的输入信号只剩下13位元的资料。在多数的情形下因为电信ADC的低SNR和压缩方法原本具有的失真,这些资料损失是听不见的。处理过的输入资料接着以80Hz的截止频率,经过一组二阶无限脉冲响应(Infinite Impulse Response;IIR)高通滤波器(Highpass Filter;HPF)。此滤波过程是可接受的,因为在电信系统中的基频为300~3400Hz。此外输入信号会下降两级,减少因进行16位元定点计算产生的饱和或溢流所引发的误差或失真的机会。


声音讯息侦测(VAD)

在语音编码器产出参数之前,输入语音先要进行VAD演算来判断取样缓冲器内是否为有效的语音或者只是背景杂讯。假使输入资料判定为语音,则进行编码步骤。不然则进行DTX演算来决定缓冲器是否仍当成是语音来完全编码,或是传输一个简化的资料讯框(称为静音描述符号;Silence Descriptor,或是SID讯框)。


AMR语音编解码器包括两种不同的VAD演算法,VAD1和VAD2。只有一种VAD演算法会被编译进入完整的AMR语音编解码器。两种VAD演算法的输出信号都是一样的;会有一个旗标(Flag)表示现在的输入信号是否含有语音。系统设计师决定那一种演算法较适合其应用方案。因为在GSM无线通讯中VAD1比较常用,在以下仅对此演算法作说明。


VAD1演算法对输入信号进行跨九个频带的功率分析。除此之外,VAD1使用音调延迟(Pitch Delay,从开放与封闭回路音调分析收集得来)对之前的编码器计算结果侦测额外的周期信号,以及音色侦测(Tone Dectection)来判断之前的编码器计算结果中是否有带有讯息的音调,如DTMF。也会执行复杂信号侦测以寻找开放回路音调分析结果中的复杂关连信号,如音乐。 VAD1演算法使用这些资料与背景杂讯的估计值得到背景杂讯功率与信号功率在9个频带中的比值。这个比值会与一个适应性界限作比较,如果超过界限则判定输入信号为杂讯。最终的VAD结果会视杂讯信号的复杂度分析(信号可以经由CNG适当处理),与是否应该有「移换手(Hangover)」而定,有「移换手」时语音编码器会在语音突波(burst)结束时继续把信号当成语音作解析。


不连续传输(DTX)

DTX功能方块决定现有的讯框是否要处理,不论是语音或杂讯。注意这和VAD有所不同,VAD决定现有的讯框是否要当成语音或是杂讯。在AMR语音编码器由处理语音资料切换到处理杂讯之前一定要有一长串连续的杂讯讯框。这么做的用意是避免编码器快速切换不同模式而产生恼人的噪音。一旦有足够的讯框被辨识为杂讯,语音编码器会进入较少参数的简单模式。编码器会尝试将抽样杂讯的频谱品质作比对,并将此讯框设为SID_FIRST_FRAME。如果信号继续是杂讯,则开始从SID_FIRST_FRAME之后的第三个讯框开始每隔8个讯框传送一个SID_UPDATE讯框以提供杂讯的最新情况。


DTX处理基本上是一种状态机制,控制是否计算全部编码参数(语音),计算一部份的参数(SID_FIRST或SID_UPDATE),或是否不需要计算(NO_DATA)。 DTX处理要在想要较低的频?需求和可理解的语音中取得平衡,特别是在开始点时(一个新的语音突波开始时)。 DTX处理在无线应用方案中特别有意义,因其非常希望避免连续传送信号。传送较少的信号不但可降低在空气介质中的整体干扰,同时可节省无线通讯装置的电力。


线性预测分析和量化

线性预测编码(Linear Predictive Coding;LPC)是一种表示和压缩语音成为一组参数的常用方法。简单地说,LPC演算法将声音束的行为当作是一连串的共鸣管和气流经过声带的模型,产生准周期冲击(Quasi-periodic Impulses;发声信号)或是白色噪音(White Noise;不出声的信号)。 LPC模型以全极滤波器(共振峰滤波器)的滤波系数计算出声音束的共振频率。 AMR使用一组10阶的全极滤波器来表示和估计声音束的共振频率。滤波器系数可以用不同的方法计算出来。AMR语音编码采用自我相关(Autocorrelation)法与Levinson-Durbin递回来计算线性预测(LP)系数[7,8,9,10,11]。


一旦系数计算出来后会转换成线频谱对(Line Spectral Pairs;LSPs)。作这个转换有三个理由:第一,LSP易于用来评量该LP滤波器是否有任何共振。其次,量化LSP所产生的误差要比量化LP系数来得小,因为对频谱的敏感度较低。此外,因为LSP与共振峰滤波器的共振频率有直接关系,LSP极适合作为讯框到讯框之间的插入(Interpolating)系数。对LSP作一阶移动平均预测值(Moving Average Predictor),再用分割矩阵量化法量化残余向量[12]。量化指数将被当作编码参数的一部份来传输。


开放与封闭回路的Pitch分析

开放回路pitch分析是用来找出输入向量pitch的估计值。这个估计是用来封闭回路pitch分析,是用来找出少数的pitch延迟。封闭回路的pitch分析计算整数和小数的延迟。这个延迟是透过对特定范围当中的所有延迟的处理,然后找出原始和合成语音间最小的平均平方误差(mean squared error)的pitch延迟。在此,一个pitch增益(gain)是透过计算已筛选过的适应性代码簿的取得和比例,及其和已筛选的适应性代码簿与目标信号间相关程度的比例。这样的言词和pitch都会被编码且成为被传输参数的一部分。


几何代码簿查询

几何代码簿的查询,是将已加权的​​输入信号与已加权的合成语音信号之间的平均平方误差的最小化来进行。目标信号是在计算所需的几何程式码前,与来自适应性程式码的贡献一起更新的。代码簿的基本想法是找出一系列的脉冲,在通过合成筛选装置时加入先前的语音信号估计值,这么一来将减少这个新的信号和目标输入信号间的误差。在AMR的4.75kbps模式当中,每次讯框的两个脉冲是用来励磁(excitation)之用。再次讯框中脉冲的位置和信号会被编码,这么一来,需要36个位元来代表所有四个次讯框当中脉冲的位置与信号 。


不同子讯框之间的资料处理有一些微小但明显的差异。其中之一是部份参数是以之前的数值差异作编码而非绝对值。这样可以减少传输所需的总位元数而不致?牲语音品质。在处理语音讯框结束时,AMR语音编码器亦会更新状态(静态)变数。


语音解码器技术概论

AMR语音解码器与编码器的技术架构类似,只是需要计算的部份较少。主要原因是语音解码器着重于由已计算出的参数合成信号,而不必分析输入信号及判断参数是否能充分描述信号。 AMR解码器的基本处理方块为LP滤波器解码、解译适应性与代数密码簿向量和增益,以及计算合成的语音,如(图三)所示。 AMR语音解码器也包括DTX处理演算。



《图三 语音译码器简易方块图》
《图三 语音译码器简易方块图》

DTX处理

从AMR编码器对已接收的参数进行解码的第一步骤,是决定所接收的框架是否包含语音或是一个DTX框架一部分。此一步骤是随着分析以往框架类型所产生的参数,分析现有框架类型所达成。如果输入向量确定不是语音的话,该参数会通过一个DTX解码器。 DTX解码器是用来当作一个简化的语音合成器,在没有语音的存在下,从已接收的信号当中产生一个一致性噪音(conform estimate)的估计值。 DTX处理运算的发生原因有许多种。如果DTX处理器决定将该输入资料视为一个SID框架,它们会被DTX编码器进行处理且会产生一致性噪音。除此之外,如果输入资料被中断了,这也将会引起DTX动作,以避免来自语音解码器,令人懊恼且断章取义(annoying garbled)的输出。


LP滤波器的编码运算

LSP相关系数是跨越四个次框架的内插(interpolated)结果,并被转换成LP滤波器的相关系数。这些相关系数是用来创造重组输出语音向量的合成滤波器之用。


几何与适应性代码簿向量与增益的解码(Decoding the Algebraic and Adaptive Codebook Vectors and Gains)

在计算LP滤波器相关系数之后,适应性代码簿向量是经由对所接受的pitch索引进行解码运算而被发现的。对这个索引的解码运算造成整数和分数的延迟。利用pitch延迟,透过对过去excitation所进行的内插,可以发现适应性代码簿向量。几何代码簿向量可以透过脉冲位置和利用几何代码簿索引输入参数的信号,来加以撷取。


适应性和几何代码簿的增益是从已接收的代码簿索引计算而来的,这样的索引直接提供适应性代码簿增益和几何代码簿增益修正的因子(factor)。几何代码簿增益是经由修正的因子来估计和表示(scaled)的。


代码簿增益和向量接着会经过后处理(post processing)路径。代码簿增益通过一个流畅的滤波器,以避免不自然变动。可以流畅处理的量是依靠接收器频道(channel)的状态与信号上是否有背景噪音来决定的。一个反稀少(anti-sparseness)的滤波器也在AMR的低位元速率的模式上执行;因为较低的速率只能针对在固定的(fixed)代码簿上的一些非零的脉冲,因此这么做是必要的。代码簿向量是与三个预先储存的脉冲回应当中的一个一起旋绕(convolved)。脉冲回应是根据绝对增益和是否有一个起始(onset)在语音信号上被侦测,来加以选择的。基本上,固定的代码簿变小,必须应用在代码簿向量的反稀少滤波器就越强。


计算已合成的语音

已合成的语音的运算,是减去来自已计算的励磁(excitation)的合成器当中那些已筛选过、过往的输出。如果合成滤波器超过容量时,这个励磁(excitation)的规模就会变小,然后其输出会再一次地被合成。这个输出是馈入到一个适应性的后部滤波器(postfilter)而最终将透过一个高通滤波器,来移除任何低于60Hz的疏漏输出。这个时候,语音解码工作已经完成而其输出将被传送到一个​​DAC(数位类比转换器)上。


小结

本文对GSM行动电话应用的适应性多重速率(Adaptive Multirate;AMR)编解码器软体发展作简介,包括发展经过、硬体使用,以及使用标准化团体所开发的参考程式码;并针对此演算法和架构深入介绍。另外,我们将在下期介绍移植和测试程式码的基本步骤,以提供读者在使用或设计这类嵌入式演算法和硬体平台时的完整参考。


(作者为美商ADI DSP软体工程师)


<参考资料:


[1] Nihal Kularatna, “Modern Component Families and Circuit Block Design”, Butterworth-Heinemann, 2000


[2] Phil Lapsley, Jeff Bier, Amit Shoham, Edward A. Lee: “DSP Processor ​​Fundamentals”, Berkeley Design Technology, 1994-1996


[3] Heinen, S. et el: “A 6.1 to 13.3 kb/s variable rate CELP codec (VR-CELP) for AMR speech coding”, 49th IEEE-ICASSP ’99 Conference Proceedings, 1999, pg 9-12


[4] Corbun, O, Almgren, M and Svanbro, K: “Capacity and speech quality aspects using adaptive multirate (AMR)”, 9th IEEE Intl' Syposium on Personal, Indoor and Mobile radio Communications, Sept 1998, pg 1535-1539 .


[5] Hindelang, T.,et al,: “Improved channel coding and estimation for adaptive multirate (AMR) transmission”, Vehicular Technology Conf Proc., 2000, Tokyo, pp 1210-1214.


[6] http://www.etsi.org


[7] Digital Processing of Speech Signals, L. R. Rabiner, R. W. Schafer, pg 82, Prentice Hall, 1978


[8] Digital Processing of Speech Signals, L. R. Rabiner, R. W. Schafer, pg 398-404, Prentice Hall, 1978


[9] Digital Processing of Speech Signals, L. R. Rabiner, R. W. Schafer, pg 411-413, Prentice Hall, 1978


[10] Digital Coding of waveforms: Principles and Applications to Speech and Video, N. S. Jayant and P. Noll, Prentice Hall, 1984.


[11] Digital Speech, A. M. Kondoz, John Wiley and Sons, 1994.>


延 伸 阅 读

: 随着 IP 电话的广泛应用以及 3G 无线手持终端即将大量投产,通过 " 新型 " 分组电话网络提供优于普通长话音质的音频性能面临巨大机遇。我们可利用数据网络不受目前电话网络 8KHz 采样率( 4 KHz 通频带)限制的功能来实现优于普通长话音质的语音。相关介绍请见「Wideband Voice Coding──Opportunities and Implementation Challenges」一文。

行动通讯市场正迈入快速变迁的时代,新服务的问世衍生出各种新应用与新功能,而手机的硬体与软体架构也因此历经大幅度改变,以因应业者与使用者对市场、成本、功能等方面的不同需求。你可在「新一代智慧型手机晶片设计挑战」一文中得到进一步的介绍。

EDGE 即增强型全球数据发展速率是一种软硬体升级技术,旨在从现有的 GPRS 基础设施获取更大容量和更高性能,使用同样的“带内” GSM 频谱。在「EDGE:3G网路的引爆手」一文为你做了相关的评析。

相关组织网站
美商亚德诺ADI网站
欧洲电信标准组织(ETSI)网站
GSM讯息网站
相关文章
具备超载保护USB 供电ISM无线通讯
以GMSL取代GigE Vision的相机应用方案
运用PassThru技术延长储能系统寿命
巨磁阻多圈位置感测器的磁体设计
为新一代永续应用设计马达编码器
comments powered by Disqus
相关讨论
  相关新闻
» 工研院主办VLSI TSA研讨会登场 聚焦异质整合与小晶片、高速运算、AI算力
» 国科会扩大国际半导体人才交流 首座晶创海外基地拍板布拉格
» SEMI:2023年全球半导体设备市况 出货微降至1,063亿美元
» TrendForce:台湾强震过後 半导体、面板业尚未见重大灾损
» 亚湾2.0以智慧科技领航国际 加速产业加值升级


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK84P59XO3QSTACUK9
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw