可变速率通信系统中的速率检测方法 【技术领域】
本发明涉及数字通信领域,更具体地说,本发明涉及没有速率指示的可变速率通信系统中接收数据的速率检测方法,尤其是码分多址(CDMA)通讯系统中的速率检测方法。背景技术
众所周知,CDMA系统是一个自干扰系统。来自一个用户的信号对其它用户而言则是干扰,并且整个系统的性能与系统内的干扰电平有很大的关系。如果系统内的用户在满足通讯要求的情况下,尽可能发送较低的功率,那么,系统就可以支持更多的用户,系统的容量达到最大化。
降低CDMA系统内的干扰电平,是使系统容量达到最大化的重要举措。在发射机端采用可变速率的方式进行业务的传输,是降低CDMA系统干扰的一种重要方法。比如,两种典型的CDMA系统IS-95系统和CDMA2000系统,其协议规定基本业务以四种可变的速率发送:9600bps(全速率)、4800bps(半速率)、2400bps(1/4速率)和1200bps(1/8速率)(速率集1)或者14400bps(全速率)、7200bps(全速率)、3600bps(全速率)和1800bps(全速率)(速率集2)。为了符合协议规定,系统中采用一个可变速率声码器,当用户在讲话时,声码器提供较高速率的语音数据帧,而当用户静默时,声码器则提供较低速率的语音数据帧。在CDMA2000通信系统中,当系统没有可供传输地信息或没有足够的功率传输信息时,系统还支持某些信道以零速率帧发送,如专用控制信道、补充信道和基本信道,在零速率帧发送期间,发射机不占用任何功率。采用上述方法,可以使系统内的干扰电平降低50%以上,换言之,这种根据人讲话的语音激活特性而分配不同速率的方法可以使系统的容量提高2倍以上。
但是,数据帧在发送时往往并没有附带该帧的速率信息,因此,接收机收到一帧数据后并不知道该帧的速率,为了正确的获得该帧的信息,接收机需要对该帧的速率进行准确的检测。接收机如果对接收的数据帧速率检测发生错误,不但会导致误帧率的增加,还会使接收机发出“吱吱”的啸叫声,严重影响通话的品质。因此,准确的速率检测是实现高容量、高品质CDMA通信系统的关键环节。
目前的速率检测方法有多种。一般可将它们归为两类:一类是在解码之前预先确定接收帧的速率,然后按照确定的速率进行解码;另一类是按照四种可能的速率对接收的数据同时进行解码,最后选择最可能的一组解码结果送给声码器。前者最大优点是简单,对于一帧数据,解码器只需工作一次,因此它的功率消耗和硬件实现的复杂度都比较低。但是资料表明,现有的所有在解码之前确定速率的方法都不能达到CDMA系统所要求的性能。后者对接收的一帧数据按照四种可能的情况解码,与前者相比,后者的功率消耗和硬件实现的复杂度都比较高,但是由于这种方法遍历了接收数据所有可能的速率,因此它提供的速率检测的准确度要远好于第一种方法。
中国专利99802999,“直接序列码分多址系统中的速率检测”提出一种把上述两种思想结合起来的速率检测方法:根据不同速率的重复特性粗略确定接收数据的速率,然后按照这个速率进行维特比解码,接着对解码的结果再重新编码,并考察编码符号与接收信号的相关性,如果这个相关性大于一预设的门限,就认为粗略确定的速率是正确的,否则,则再对接收的的数据按照其它可能的速率解码,分别计算它们与接收数据的相关值,从而对接收数据有一个较为准确的检测。为了获得一定的速率检测可靠度,该方法需要对一些帧进行两次检测,这就不可避免的引入延时,这对于实时性要求较高的语音业务来说是不愿看到的。
另外一个中国专利94107503.6,“在通信接收机中判定传送变化速率数据的速率的方法和装置”,它提出的方法是对接收的数据按照四种可能的速率同时解码,并提取出每种解码结果的误差量度,这些误差量度包括循环冗余校验(CRC)结果,山本质量量度及误码率,处理器对这些误差量度进行处理以确定接收数据的最大可能的速率。但是,该方法提供的误码率的计算方法并不准确,该方法中的误码率来源于两路数据,一路是对接收的数据进行维特比解码又重新编码获得的数据,另一路是对接收的数据进行硬判决获得的数据,这两路数据符号不同的个数就是误码率。由于维特比解码器的解码结果并不一定准确,再加上硬判决造成的误差,利用上述方法算出的误码率并不是真正意义上的误码率。由于误码率计算的不准确性,利用上述方法进行速率检测时会发生较多的速率误判的情况。发明内容
本发明所要解决的技术问题是克服现有的速率检测方法中实现复杂度、检测准确度的矛盾,提出用一种新的误差量度来进行速率检测的方法。
为实现发明目的,本发明提出的方法主要包括以下步骤:
1解重复器对经解交织器处理后的数据进行解重复;
2维特比解码器对经步骤1处理的数据进行解码;
3解码结果并行输出,一路发送到解码数据存储器,另外一路计算量度差值及其归一化值,然后将计算结果发送到速率检测控制器;
4速率检测控制器根据维特比解码器的输出对当前帧的速率进行检测;
5选择器根据速率检测控制器的检测结果,从解码数据存储器中选择相应速率的解码数据送给声码器。
本发明所述的方法,采用直接来源于维特比解码器的幸存量度差值进行检测,由于幸存量度差值差异显著,从而使本发明方法中的门限值容易取定,速率检测结果准确,计算简单;并且本方法在检测过程中采用并行处理,具有延时小的优点。另外,本方法中由于不采用卷积编码器,也无需计算误码率,在硬件实现上节省了宝贵的硬件资源。附图说明
图1是协议规定的CDMA2000系统配置一的前向链路发送结构示意图。
图2是与图1对应的接收结构示意图。
图3是图2中所示速率检测与解码器的内部结构示意图。
图4是本发明方法中量度差值产生示意图。
图5是采用协议规定的CDMA2000系统配置一时,图3中控制器进行速率判别的一个实施例。
图6是采用协议规定的CDMA2000系统配置二时,图3中控制器进行速率判别的一个实施例。具体实施方式
下面结合附图和实施例对本发明做详细的说明。
图1所示是协议规定的CDMA2000系统配置一的前向链路典型的发送结构示意图。声码器102首先产生20ms的语音数据帧,根据语音激活程度的不同,一帧中可以含有172、80、40和16个比特,它们分别称之为全速率帧、半速率帧、1/4速率帧和1/8速率帧。如果声码器102产生的速率是全速率帧和半速率帧,CRC和尾比特生成器104在该帧的后面添加一定数目的CRC比特和8个尾比特,如果声码器102产生的速率是1/4速率帧和1/8速率帧,CRC和尾比特生成器104只在该帧的后面添加8个尾比特。卷积编码器106对CRC和尾比特生成器104的输出数据按照1/2的方式进行卷积编码。
为了保证不同的速率有相同的调制符号,重复器108对半速率帧、1/4速率帧和1/8速率帧的编码符号分别重复1、3和7次。这样,无论声码器102产生何种速率,重复器108的输出都是384个调制符号。为了抵抗无线信道的快衰落,交织器110对调制符号作了交织处理。调制器112对交织器110的输出信号进行WALSH正交调制,长码加扰,短码相移键控(QPSK)调制处理后由发射机发送出去。
图2是与图1相对应的接收结构示意图。解调器202接收的无线信号在穿越无线信道时经历了各种损耗,如路径损耗,阴影衰落,多径衰落等,解调器202对接收数据的处理包括多径合并,QPSK解调,解长码扰码和解沃尔什(WALSH)正交调制等过程。解交织器204的作用是对解调器202的输出数据解交织。实现本发明方法的速率检测与解码器206,根据解交织器204的输出数据确定当前帧的最可能的速率并把该速率对应的解码结果送入声码器208作最后的声码变换处理。
如果是反向链路的话,解交织器204在对数据作解交织处理后,还应对数据作解穿刺处理,图中没有示出。
速率检测与解码器206的内部结构示意图如图3所示,包括解重复器302,维特比解码器304,解码数据存储器306,速率检测控制器308和选择器310组成。解重复器302按照四种可能的数据对解交织器204的输出数据同时解重复,解重复后的数据由维特比解码器304解码,由于要对四种可能的速率同时进行解码,因此该过程需要四个维特比解码器。其解码结果进行并行处理:一方面将解码结果保存在解码数据存储器306中;另一方面,维特比解码器304还对解码结果进行量度差值的计算,计算幸存路径量度与次幸存路径量度的量度差值dm1、dm2、dm4和dm8及其归一化值(以下称为“归一化量度差值”)DM1、DM2、DM4、DM8,这八个误差量度值都作为速率检测控制器308的输入。
维特比解码器304产生量度差值dm的示意图如图4所示。为方便说明,图4对应的编码器是编码比率为1/2,约束长度为3,生成多项式为(1,1,1)和(1,0,1)的卷积编码器。假设某速率下解码器的输入编码符号序列为:
X=(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10) (1)
根据维特比解码器的工作原理,维特比解码器比较在t=ti(i=1,2,3,4,5)时刻的接收序列和t=ti时刻到达同一状态的所有的网格路径。当两条路径在t=ti时刻进入同一状态,具有较大量度值的路径将被选中,被选中的路径称为幸存路径,在t=t5时刻,维特比解码器将确定唯一的一条幸存路径,设输入编码符号序列X对应的幸存路径:
SurvivingPath0=(S0,S0,S0,S0,S0,S0) (2)
维特比解码器在结束对输入编码符号序列X的解码,确定幸存路径的同时,还可以唯一的确定另外一条路径,该路径的的路径量度仅次于幸存路径的路径量度,该路径称为次幸存路径,设输入编码符号序列X对应的次幸存路径:
SurvivingPath1=(S0,S2,S3,S3,S1,S0) (3)则幸存路径SurvivingPath0对应的路径量度:
Metric0=x1+x2+x3+x4+x5+x6+x7+x8+x9+x10 (4)次幸存路径SurvivingPath1对应的路径量度:
Metric1=-x1-x2+x3-x4-x5+x6+x7-x8-x9-x10 (5)量度差值定义为幸存路径SurvivingPath0的量度与次幸存路径SurvivingPath1之差,即:
dm=Metric0-Metric1 (6)
速率检测控制器308根据输入的数据对当前帧速率进行检测,检测的原则包括:
(1)如果某速率的信息数据包含循环冗余校验比特,系统根据循环冗余校验比特和归一化量度差值确定其速率。
(2)如果某速率的信息数据不包含循环冗余校验比特,系统根据归一化量度差值及其相对关系确定其速率。
(3)如果系统根据原则(1)和原则(2)确定当前帧速率不为四种速率(全速率、半速率、1/4速率和1/8速率)之一,系统根据量度差值确定当前帧速率为零速率帧或删除帧。
选择器310根据速率检测控制器308的速率检测结果从解码数据存储器306中选择相应速率的解码数据送给声码器。这样就完成了本发明要实现的速率检测方法。
在另一个更佳的实施例中,为了保证更加精确的速率检测效果,如果某速率下的数据信息包含循环冗余校验(CRC)比特,例如,CDMA2000系统无线配置一的全速率帧和半速率帧都包含CRC比特,那么维特比解码器304的输出还包括该速率下的CRC比特校验结果,该校验结果也作为速率检测控制器的并行输入之一。下面以协议规定的CDMA2000系统无线配置一,并考虑到全速率和半速率的输出带有CRC比特信息,结合图5为例,说明速率检测控制器308的具体判定过程:
其中,Q1、Q2分别表示全速率、半速率的CRC校验结果值,若为1则表示通过CRC校验,若为0则表示没有通过。FR、HR、QR、ER、RR和ZR分别表示全速率帧、半速率帧、1/4速率帧、1/8速率帧、删除帧和零速率帧。
速率检测控制器308根据维特比解码器的输出CRC校验比特(全速率和半速率)、量度差值dm1、dm2、dm3和dm4及其归一化量度差值DM1、DM2、DM4和DM8对速率进行检测。
如果全速率CRC校验比特通过,并且全速率归一化量度差值DM1是四个速率量度差值中最大的,检测器则确定当前帧速率为全速率,如果全速率归一化量度差值DM1不是是四个速率量度差值中最大的,但是DM1大于门限T1,检测器判定当前帧速率为全速率。如果上述条件都不满足,速率检测控制器308用和检测全速率相似的方法对半速率进行检测:半速率CRC校验比特通过,并且半速率归一化量度差值DM2是四个速率量度差值中最大的,检测器确定当前帧速率为半速率,如果半速率量度差值DM2不是是四个速率归一化量度差值中最大的,但是DM2大于门限T2,检测器判定当前帧速率为半速率。如果上述条件都不满足,检测器再检测1/4速率归一化量度差值DM4是否大于门限T3且是四个速率量度差值中最大的,如果满足,则检测器判定当前帧速率为1/4速率,如果不满足,检测器再检测1/8速率归一化量度差值DM8是否大于门限T4且是四个速率量度差值中最大的,如果满足,检测器判定当前帧速率为1/8速率,如果不满足,检测器再检测全速率量度差值dm1是否大于门限T5或者半速率量度差值dm2与修正值ΔT1之和是否大于门限T5或者1/4速率量度差值dm4与修正值ΔT2之和是否大于门限T5或者1/8速率量度差值dm8与修正值ΔT3之和是否大于门限T5,如果这四项中有一项成立,检测器判定当前帧速率为删除帧,否则,检测器判定当前帧速率为零速率帧。需要指出的是,上述的门限T1、T2、T3、T4和T5的值,以及修正值ΔT1、ΔT2和ΔT3,可以通过做仿真测试得到,并且ΔT1、ΔT2和ΔT3有如下关系:
ΔT1<ΔT2<ΔT3 (7)
前面给出的是一个具体的实施例说明并描述了本发明。本领域技术人员可以在不偏离本发明宗旨和范围的前提下进行修改,将本发明可以用到CDMA系统其他无线配置的可变速率检测中。例如,对协议规定的CDMA2000系统无线配置二的情况,四种速率都有校验比特CRC,可以将上述实施例中的方案很方便地应用到本无线配置中,如图6所示,在此不作一一详述。