用crc外码对多速率信号的表输出维特比解码的制作方法

文档序号:7533992阅读:174来源:国知局
专利名称:用crc外码对多速率信号的表输出维特比解码的制作方法
背景技术
I.发明领域本发明涉及数字信号处理,更具体地说,本发明涉及一种对含有冗余校验位的一帧数字数据或知道该数据的任何其它方信息进行解码的新颖的和改进的方法和装置。
II.现有技术的描述随着无线通信技术的发展,在提供的服务中用户已经开始要求更高的传输质量。为提供这样的服务,提供更高传输质量的一种手段涉及到采用数字传输技术。在现有技术中公知几种数字调制技术,包括码分多址(CDMA)、时分多址(TDMA)和频分多址(FDMA)。
CDMA的扩频调制技术比其它的数字调制技术具有更显著的优点。在题目为“利用卫星或陆上转发器的扩频多址通信系统”的美国专利号4,901,307中揭示了CDMA技术在多址通信系统中的使用,该专利已转让给本发明的受让人,这里将其引作参考。在题目为“在CDMA蜂窝网电话系统中产生信号波形的系统和方法”的美国专利号5,103,459中进一步揭示了CDMA技术在多址通信系统中的使用,该专利也转让给本发明的受让人,这里将其引作参考。利用CDMA提供数字式无线通信的方法由电信工业协会(TIA)在TIA/EIA/IS-95-A双模宽带扩频蜂窝网系统的移动台-基地台兼容标准(下文中简称IS-95)中进行标准化。
在CDMA通信系统中,由于每个用户的发射对其它用户的发射起增加噪声的作用,使每个用户仅发射必要的数据可以使CDMA系统的容量达到最大。降低用户在容量上的负担而不降低对用户的服务质量的一种十分有效的手段是采用可变速率的数据发射,这里,由用户发射的数据速率随时间而变化。在题目为“可变速率的声码器”的美国专利号5,414,796中详细描述了提供话音数据可变速率编码的方法,该专利转让给本发明的受让人,这里将其引作参考。
为了防止信道引起的误差,在无线通信系统中采用了数字误差校正技术。检测并校正信道引起的误差的一种方法是通过采用格构解码。维特比解码器是一特定类型的格构解码器,已经证明它比其它的误差校正系统更优越。在题目为“CDMA系统应用的多速率串行维特比解码器”的于1993年9月24日提交待批的美国专利申请08/126,477中详细描述进行可变速率数据的维特比解码的方法和装置,该专利申请转让给本发明的受让人,这里将其引作参考。
然而,在现有技术中仍然需要进一步提高由CDMA调制技术给予的编码增益并由此而实现系统容量增加的系统和技术。
发明概要本发明为一种对含有冗余信息的数字数据帧进行解码的新颖的和改进的方法和装置,冗余信息是为了验证解码操作有效性而提供的。本发明提高了CDMA系统的编码增益并取得扩大的系统容量。在本发明中,提供含有信息位和循环冗余校验(CRC)位的数据帧。对接收的数据帧进行解码,并且进行校验以确定CRC位是否正确地对应于已解码的信息位。如果已解码的帧通过CRC测试过程,那么,把已解码的帧提供给用户。然而,如果已解码的帧未通过CRC测试,那么,在接收的帧上至少再进行一次附加的解码过程。
在本发明的第一示例实施例中,利用格构解码器对数据进行解码,选择取得通过格构的最大可能的路径的数据。然后,在已解码的数据帧上进行CRC测试。如果CRC测试失败,那么,格构解码器确定通过格构的第二次最大可能的路径。然后对已解码的帧进行第二次CRC测试。如果已解码的帧通过CRC测试,那么,由解码器输出信息位。然而,如果已解码的帧未能通过CRC测试,那么,格构解码器选择通过格构的下一次最大可能的路径。重复进行这一过程直至成功地通过CRC测试或者直至预定次数的解码尝试未取得成功并且解码器表明不能对该帧进行解码和给出一个帧删除。
在第二个例举的实施例中,利用格构解码器对数据进行解码,和选择取得通过格构最佳路径的数据。然后在已解码的数据帧上进行CRC测试。如果CRC测试失败,那么,在与通过格构的最佳路径相关的尺度的预定阈值内格构解码器识别具有尺度的路径。然后,相对于它们找到的次最佳路径对已解码的帧进行CRC测试。如果这些路径中的任意一个通过CRC校验,那么,由解码器输出对应于最可能路径的信息位。如果没有通过,那么,给出一个差错。在较佳实施例中,采用维特比解码器进行解码,所采用的尺度是Yamamoto尺度。
附图简述从以下结合附图所作的详细描述中,本发明的特征、目的和优点将变得更加清楚,在整个附图中相似的参考符号采用相应的表示,其中

图1是按含有一组CRC位和一组信息位的帧发射数据的示例发射系统;图2A-2D是本发明的可变速率帧结构的示例表示;图3是本发明的解码器的示例实施;图4是本发明的解码系统的第一示例实施例的方框图;图5是描述第一示例实施例的对数据进行解码的方法的流程图;图6是在格构解码器中状态转移的图示;图7是在图6所示的状态转移格构中所选路径的图示;图8是通过格构解码器的路径选择的图示;图9是具有四种可能状态的解码器的图示;图10是第一示例实施例的格构解码器的方框图;图11是通过格构的最佳路径和与该路径相关的计算路径选择差值的图示;图12是按照第一实施例选择的次最佳路径的图示;图13是通过格构的第一和第二所选路径和与第三路径选择过程相关的计算出路径选择差值的图示;图14示出本发明的解码系统的第二示例实施例的装置;图15是说明本发明的第二示例实施例的方法的流程图;图16是说明本发明的选择次最佳路径的阈值技术的流程图;图17是用本发明的解码方法的第二示例实施例确定路径的格构图的图示。
较佳实施例的详细描述现在将参考附图描述例举的实施例和示例的应用,以揭示本发明的优越的技术。
虽然,这里是参考特定应用的例举实施例描述本发明的,但是,应当明白,本发明并不局限于此。对于本领域的专业人员而言,根据这里所提供的情况将能够看到在本发明的范围和本发明可能具有重要用途的相关领域内的其它改进、应用和实施例。
参考图1,数据源2提供数字数据的帧。在示例的实施例中,数据源2每20ms提供一帧,当然本发明同样可应用于其它速率。在示例的实施例中,数据源2是一个可变速率的数据源,这里,帧中的位数随时间而变化。在示例的实施例中,数据源2是可变速率的语音编码器,在上述的美国专利5,414,796中描述它的一个例子。
在美国专利5,414,796中的语音编码器选择一个速率,在该速率下根据帧中的取样能量对数字化的语音取样的帧进行编码。当用户不在说话时,这将减少发送的位数,如上所述,使用户对CDMA通信系统中其他用户的干扰减至最小。应当注意,本发明同样可应用于固定速率的数据源。此外,本发明同样可应用于语音之外的数字信息的发送,如传真、视频或其它的数字化数据。
将来自数据源2的信息位的帧提供给帧格式化器4。在示例的实施例中,帧格式化器4由CRC发生器6和尾位发生器8组成。CRC发生器6根据数据源2的帧中所提供的信息位产生一组冗余校验位并将冗余位添加到帧中。本发明可应用于其它的冗余校验位发生器,冗余位或奇偶位发生器的设计和实施是本领域人员公知的。CRC发生器6的一个示例实施例在上述的美国专利5,414,796中描述并已经按IS-95标准化。应当注意,本发明同样可应用于其它的冗余位发生器,本领域专业人员应当理解。
将由信息位和CRC位组成的帧提供给尾位发生器8,它产生一组尾位并将这些尾位添加到帧中。尾位的作用是当通过编码器的帧结束时迫使编码器10处于预定状态。在示例的实施例中,尾位发生器8产生一组0值的尾位,以致于迫使编码器10的输出处于0状态。
现在参考图2A-2D,图中示出本发明的示例帧格式。这些帧格式称为复用任选项2帧格式,按照IS-95标准进行标准化。对于本领域的专业人员而言是很显然,本发明同样可应用于利用其它帧格式发射的数据的解码。
在示例的实施例中,数据源2以四种不同速率提供数据。参考图2A,如果数据源2提供由267个信息位组成的帧,则称为全速率帧,那么,CRC发生器6按照信息位产生12个CRC位(以F表示)并将这些位添加到帧中。尾位发生器8产生8个0值的尾位(以T表示)并将这些位添加到帧中。在帧的起始处提供一个保留位(以R表示),能够将它用于例如控制发射功率。
参考图2B,如果数据源2提供由125个信息位组成的帧,称为半速率帧,那么,CRC发生器6按照信息位产生10个CRC位(以F表示)并将这些位添加到帧中。然后,尾位发生器8产生8个0值的尾位(以T表示)并将这些位添加到帧中。在帧的起始处提供一个保留位(以R表示),能够将它用于例如控制发射功率。
参考图2C,如果数据源2提供由55个信息位组成的帧,称为四分之一速率帧,那么,CRC发生器6按照信息位产生8个CRC位(以F表示)并将这些位添加到帧中。然后,尾位发生器8产生8个0值的尾位(以T表示)并将这些位添加到帧中。在帧的起始处提供一个保留位(以R表示),能够将它用于例如控制发射功率。
参考图2D,如果数据源2提供由21个信息位组成的帧,称为八分之一速率帧,那么,CRC发生器6按照信息位产生6个CRC位(以F表示)并将这些位添加到帧中。然后,尾位发生器8产生8个0值的尾位(以T表示)并将这些位添加到帧中。在帧的起始处提供一个保留位(以R表示),能够将它用于例如控制发射功率。
把帧格式化器4输出的帧提供给编码器10。在示例的实施例中,编码器10是一个具有约束长度9(k=9)的速率1/2卷积编码器。卷积编码器的设计和实施是本领域人员公知的。来自编码器10的编码符号提供给交织器12。
在示例的实施例中,交织器12有选择地提供帧中的冗余度,以致于符号数据占据帧的整个容量。如果帧小于全速率,那么,交织器12提供符号的复本。因此,如果帧是半速率,那么,交织器12提供速率2的冗余度,每一帧含有符号的单个原本和这些符号的一个复本,如果帧是四分之一速率,那么,交织器12提供速率4的冗余度,每一帧含有符号的单个原本和这些符号的三个复本,如果帧是八分之一速率,那么,交织器12提供速率8的冗余度,每一帧含有符号的单个原本和这些符号的七个复本。在符号重复后,通过每6个符号中删除2个,对它们进行截取,以获得如IS-95标准中所描述的给定个数的符号。然后,交织器12根据预定的记录格式记录这些符号。在示例的实施例中,交织器12如IS-95标准所描述的那样提供冗余度和记录帧。
将经过修改的符号提供给调制器14,它按照预定调制格式对符号进行调制。在示例的实施例中,调制器是如上述的美国专利4,901,307和5,103,459中详细描述的CDMA调制器。将经过调制的数据帧提供给发射机16,对帧进行上变频和放大,通过天线20发射帧。
参考图3,天线49接收由图1所示的发射系统1发射的信号并提供给接收机(RCVR)50。接收机50对接收信号进行下变频、滤波和放大并将其提供给解调器52。解调器52按照预定解调格式对接收信号进行解调。在示例的实施例中,解调器52是如上述美国专利4,901,307和5,103,459中详细描述的CDMA解调器。
将经过解调的数据帧提供给去交织器54,它按照预定的重新排序格式对帧中的软符号数据进行重新排序并在发射过程中符号被删除的地方增加0,以获得经过修改的帧格式。将经过修改的软判定符号数据帧提供给解码系统56。解码系统56对数据进行解码并将已解码数据提供给数据信宿58。数据信宿58可以提供在已解码的数据帧上进行的后处理。例如,如果数据是经过压缩的语音数据,那么,数据信宿58按照预定的扩展格式把语音参数转换为数字化的语音取样,例如美国专利5,414,796中所描述的。
图4示出本发明的解码系统56的第一示例实施例的装置,图5提供说明本发明第一示例实施例的方法的流程图。正如图4和5所示,在方框250中,将来自去交织器54的经修改的软符号数据的帧提供给并存储在帧缓冲器220中(图4)。
然后,在图252中,按照当前速率假设在符号合并器222中对符号进行合并。合并过程利用了这一事实的有利之处,对于小于全速率的速率,在发射的符号数据中存在冗余,所以,通过对符号的所有冗余副本的能量求和能够达到对所发射的符号数据的更好的估测。在上述的待批 美国专利申请08/126,477中详细描述了产生符号的改进估测的过程。
示例的实施例首先对以全速率发射帧的假设进行测试。在全速率假设下,不存在符号重复,所以,不进行符号数据的合并。在方框254中,把来自符号合并器222的数据提供给改进的维特比解码器224。在示例的实施例中,改进的维特比解码器224是一个维特比解码器,但是本领域的专业人员将会明白其它形式的格构解码器同样可以应用。维特比解码器的设计和实施是本领域人员公知的,在上述待批的美国专利申请08/126,477中描述了维特比解码器的一种特定的实施。
改进的维特比解码器224计算在帧中的发射信息位和CRC位的估测值,把帧估测值提供给CRC测试子系统232。在方框256中,CRC测试子系统232从已解码的信息位产生一组冗余位,正如参考CRC发生器6所描述一样。CRC测试子系统232将由信息位估测值产生的CRC位与来自改进的维特比解码器224的冗余位的估测值进行比较。将比较的结果提供给控制处理器234,它确定CRC测试是否通过。
在控制方框258中,如果CRC测试通过,那么,方法继续进行到方框266。在方框266中,符号差错率(SER)计算器228计算已解码帧的符号差错率。SER计算器228产生已接收符号数据的硬判定估测值或者接收来自改进的维特比解码器224的硬判定估测值。然后,SER计算器228从改进的维特比解码器224接收帧的已解码数据并利用与编码器10进行编码操作(图1)相同的编码操作对帧进行编码,以产生一组重新编码的符号数据。将重新编码的符号数据逐个符号地与硬判定符号数据进行比较,两组符号数据之间的不同的数目是符号差错率,在方框268中将其提供给选择器230。
在本实施例中,输出缓冲器226只有在对于速率假设的解码已经通过CRC测试后才将已解码的符号数据提供给选择器230。在一个较佳实施例中,改进的维特比解码器224把尺度数据提供给选择器230,有助于速率选择。提供给选择器的尺度数据可以是单个位的Yamamoto尺度或总尺度。
在方框258中,如果CRC测试失败,那么,在方框260中,控制处理器234在当前速率假设下在对帧进行解码时增加尝试次数的计数。在方框262中,控制处理器234确定对帧进行解码的尝试次数是否已经达到在当前速率假设下对帧进行解码的预定的最大尝试次数。如果已经达到最大尝试次数,那么,方法继续进行到方框264,控制处理器23把信号提供给选择器230,表示在当前速率假设下不能对帧进行解码。
在控制方框262中,如果未达到在当前速率下对帧进行解码的最大尝试次数,那么,控制处理器234把消息提供给改进的维特比解码器224。在方框278中,响应于来自控制处理器234的消息,改进的维特比解码器224使其路径计数(i)增加一。然后,在方框254中,改进的维特比解码器224找到通过格构的第i个最佳路径。方法继续进行到方框256,按照如上所述过程重复进行。
在方框270中,控制处理器234确定是否已经对所有可能的速率进行测试,如果不是,那么,方法继续进行到方框272,它选择下一个待测试的速率,然后,方法继续进行到方框252,对下一速率假设进行测试。响应于来自控制处理器234的信号,帧缓冲器220把帧数据提供给符号合并器222。控制处理器234把表示待测试的速率假设的信号提供给符号合并器222。在方框252中,符号合并器222按照待测试的速率假设对符号数据进行合并。方法继续进行到方框254和按照如上所述继续进行。
在方框270中,如果已经对所有的速率进行测试,那么,在方框274中,选择器230确定发射数据的最可能的速率,在方框276中提供对应于该速率的数据。选择器230可以决定删除由于测量质量差而造成的帧。在示例的实施例中,选择器230根据不同的已解码帧的符号差错率和尺度数据值确定速率。
可以采用很多的方法来进行第一示例实施例的附加路径搜索。然而,许多方法需要太多的内存作储存。在第一示例实施例的较佳方法中,应用一种减少路径搜索所需的内存量和时间的方法。例如,一种方法则是在最佳路径的特定尺度阈值内对所有的路径进行解码,最佳路径是在运行改进的维特比解码器224时碰到的。
首先,在图6、7和8中给出格构解码操作的简要概述。图6示出在约束长度k=3的格构解码器中的可能的状态跃迁。在格构解码器中可能的状态数目(S)由方程式给出S=2k-1(1)因此,在图6中,有四种状态,所以k=3。参考图9,编码器的状态可以由在点300和310处的位的值限定。存在四个这样的状态。当下一个位移到点300时,点300处的值将转移到点310中,点310的值将被丢弃。
与每个状态相关的是状态尺度,它与在此时此状态的残存序列的几率反相地相关,所以,尺度越高,几率可能越低。对于这些状态中的每一个,状态尺度在图6中起始状态上方的括号内。另外,存在一个相关分支尺度,它与从时刻N的一个状态跃迁到时刻N+1的另一个状态的状态跃迁几率反相地相关。所以,例如考虑起始状态01(点290),如果进入编码器的下一位是0,那么,编码器在时刻N+1的状态将是00(点292)。然而,如果起始状态是01(点290)和进入编码器的下一位是1,那么,在N+1的状态将是10(点294)。
通过把时刻N+1的起始状态的状态尺度与跃迁至该状态的分支相加而计算在时刻N+1的状态尺度的值。选择结果为较低状态尺度的分支而丢弃导致那个状态的另外的分支。在图7中,示出了按照图6的状态和分支尺度所选的分支。在N+1时刻,首先在括号中示出新计算的状态尺度,然后示出状态的值由此状态出现所选的跃迁。
例如,如果人们想计算在时刻N+1的状态00(点292)的状态尺度,那么,有两条路径导向状态00。注意当采用速率1/n的编码器或者基于对速率1/n编码器的数据流的穿孔的编码器时,情况总是这样。一条路径从状态01(点290)引出。在状态01(点290)上的状态尺度是6,跃迁到状态00(点292)的相关分支尺度的值为10。因此,如果选择那个分支,则点状态00在时刻N+1的状态尺度(点292)的值为16。第二条路径从状态00(点288)引出。在状态00(点288)上的状态尺度为4,跃迁到状态00(点292)的相关分支尺度的值为2。因此,如果选择那个分支,则点状态00在时刻N+1的状态尺度(点292)的值是6。所以,选择来自状态00(点288)的分支,给该状态分配状态尺度6。
图8示出一条通过格构的所选路径。由于尾位,最终状态是已知的。在示例的实施例中,因为尾位都是0,已知最终状态是全0状态。由于仅存在一条引导到那个状态的路径,选择的路径是引导到那个已知状态的路径。一旦路径已知,那么数据是通过链式返回操作的方式输出的,这里解码器沿所选路径的轨迹返回和输出导致所选跃迁的位。例如,在从状态10到状态11的跃迁中,位输出具有值1。这是用于选择通过格构最佳路径的方法。下面将更全面地讨论次最佳路径的选择。
图10示出本发明的第一示例实施例的解码器224。将来自符号合并器(未示出)的合并符号提供给分支尺度计算器350。分支尺度计算器的设计和实施是本领域人员公知的。相加比较选择(ACS)元件354按照来自分支尺度计算器350的分支尺度确定状态尺度的值,正如以上参考图10和11所述的。然后,将新计算出的状态尺度存储在状态尺度存储器352中,把所选分支的指示提供给链式返回存储器358。当计算了该帧的所有状态尺度时,链式返回存储器元件358在链式返回控制360的控制下,按照如上所述,选择通过格构的最佳路径,并将已解码数据提供给CRC位校验元件(未示出)。
如果CRC测试失败,那么,确定通过格构的次最佳路径。重新运行寻找通过格构的最佳路径的算法(即维特比算法)。然而,除了以上所述的步骤外,按照例举的实施例,计算通过格构最佳路径与每个时刻被弃路径之间的距离的量度并将其存储在Δ排序装置356中。如果选择被弃路径则ΔS,P的值是状态(S)的尺度值与在所选路径(p)上的状态的尺度值中的差值。
ΔS,P=被弃路径的状态尺度-所选路径的状态尺度图11示出DS,P值的例子。每条路径具有与其相关的值DP它是相对于最佳路径测量的。DP的值由那个路径与其合并的更好路径的DP和在合并点DS,P上尺度的差给出的。因此,最佳路径的DP的值(即维特比算法的输出)为0。
D排序装置356确定D值的最小值Dmin。在发现Dmin的点处,执行链式返回操作以确定导致岔开点的路径。参考图12,按照如上所述重新进行状态尺度计算过程,由D排序装置356发现最小路径差是在点362处的D5,1。从点362,链式返回存储器358在链式返回控制器360的控制下确定次最佳路径和相应的已解码数据序列。这是在对应于最佳路径的数据中通过替换第一N+6数据位而获得的。在较佳实施例中,链式返回操作是在路径岔开点的一个新约束长度内截取的,因为误差事件很少大于几个约束长度。在图12中,这出现在点364处。在图12中的次最佳路径是DP=D5,1。
为了找到第三最佳路径,第三次进行相同的状态尺度计算过程,按照如上所述计算DS,P值,但是这次它们是为相对于次最佳路径的路径选择而计算的。只有在次最佳路径与最佳路径合并前的时刻,需要计算这些。换句话说,在图12和13中的时刻N+5。参考图13,ACS 354计算至第二路径的必要路径差值(D0,2、D1,2、D2,2、D3,2和D4,2)。应当注意这些尺度中有一些可能以前已经计算过,但是必须再次考虑。用于比较的值不是基于至次最佳路径的距离而是基于至最佳路径的距离。因此,对于提供给D排序装置356的尺度值必须是相对于通过格构的最佳路径。例如,为了得到比较用的尺度差,对于指定D4,2的路径,必须通过使D4,2(离第二路径的距离)与D5,1(第二路径至第一路径的距离)相加而计算该路径的DP值。ACS354把算出的值提供给D排序装置356。然后,D排序装置356通过寻找与最佳和次最佳路径合并的路径的最低的DP值而寻找第三最近路径。
在例举的实施例中,D排序装置356并不存储所有的DP值,而是仅存储最低的M值,这里M是将被搜索的路径的最大数目。然后,对于接下来的每一个第i个最佳路径,仅须存储最小的M-i值。
在另一个实施例中,解码过程不是重新进行寻找每一个次最佳路径,而是为每一次路径搜索存储和重新使用状态尺度。这减少了计算的次数,但是增加了所需的存储量。应当记住,为了说明起见,大大简化了图11-13中所例举的例子。在示例的实施例中,帧的大小为288个信息位,代码的长度为9(k=9),它包括256个状态。因此,假设状态尺度的存储大约需要一个字节的信息,存储每个状态的状态尺度(假设5位状态尺度)所需的存储器则大约需要74千字节的存储器。
图14示出本发明的解码系统56的第二示例实施例的装置,图15提供说明本发明第二示例实施例的方法的流程图500。在方框550中,将来自去交织器54的已修改软符号数据的帧提供至并存储在帧缓冲器420中。
然后,在方框552中,按照当前速率假设在符号合并器422中合并符号。合并过程利用了对于小于全速率的速率在发射的符号数据中存在冗余性的事实的有利之处,所以,通过对符号的所有的冗余复本的能量求和能够实现所发射符号数据的更好的估测。在上述的待批美国专利申请08/126,477中详细描述了符号的改善估测的产生过程。
示例的实施例首先测试数据帧是以全速率发射的假设。在全速率假设下,不存在符号重复,所以不进行符号数据的合并。在方框554中,将来自符号合并器422的数据提供给改进的维特比解码器424。在示例的实施例中,改进的维特比解码器424是一种维特比解码器,但是本领域的专业人员将会明白同样可以应用其它形式的格构解码器。维特比解码器的设计和实施在本领域是公知的,在上述的待批美国专利申请08/126,477中描述了维特比解码器的一种特定的实施。在本实施例中,维特比解码器424包括分支尺度计算器450。将来自符号合并器422的合并符号提供给分支尺度计算器450。分支尺度计算器的设计和实施在本领域是众所周知的。相加比较选择(ACS)元件454按照分支尺度计算器450的分支尺度确定状态尺度的值,正如以上参考图6和7所述的。然后,将新算出的状态尺度存储在状态尺度存储器452中并将所选分支的指示提供给链式返回存储器458。当算出该帧的所有的状态尺度时,链式返回存储器元件458在链式返回控制器460的控制下按照如上所述选择通过格构的最佳路径并将解码数据输出到CRC位校验元件432。在方框554中,将计数器i和m的值设定为1。解码器运行的次数由i表示,校验其CRC的路径的个数由m表示。
改进的维特比解码器424由此计算帧中所发射的信息位和CRC位的估测值。在方框556中,CRC测试子系统432由解码信息位产生一组冗余位,正如参考图1中CRC发生器6所描述的。CRC测试子系统432将由信息位估测值产生的CRC位与由改进的维特比解码器424估测的冗余位进行比较。将比较的结果提供给控制处理器434。
在控制方框558中,如果CRC测试通过,那么,方法继续进行到方框570。在方框570中,符号差错率(SER)计算器428计算已解码帧的符号差错率。SER计算器428产生接收符号数据的硬判定估测值或者从改进的维特比解码器424接收硬判定估测值。然后,SER计算器428从改进的维特比解码器424接收该帧的已解码数据并采用同编码器10进行的相同的编码操作对该帧进行编码,以产生一组重叠编码的符号数据。将重新编码的符号数据逐个符号地与硬判定符号数据进行比较,两组符号数据之间不同的个数就是符号差错率,在方框570中将其提供给选择器430。
在示例的实施例中,只有在对于该速率假设的解码已经通过CRC测试后,输出缓冲器426才把解码符号数据提供给选择器430。在较佳实施例中,改进的维特比解码器424把尺度数据提供给选择器430,以有助于速率选择。提供给选择器的尺度数据可以是单个位的Yamamoto尺度或总尺度。
如果在方框558中CRC测试失败,那么在方框560中,改进的维特比解码器424对于给定的速率假定对符号数据422执行第二轮运行。在这一轮运行中,把改进的维特比解码器认为是对前一轮运行中由维特比解码器找出的最可能的路径进行处理。ACS块454通过格构继续按照计算出的分支尺度450对状态尺度452进行更新,但是这一标准的维特比解码过程除外,给Δ排序电路456输出由输出缓冲器426提供给ACS的与被处理路径(对于解码器的第二轮运行的最佳路径)合并的所有路径的尺度。链式返回控制460进行链式返回,以获得与这一路径相关的数据序列。如果该路径的尺度填满一些判别阈值则才进行链式返回。下面将说明这一阈值判别。把在这一过程中找到的路径存储在输出缓冲器426中。
方框562采用CRC校验器432对由块560找到并存储在缓冲器426中的路径的CRC进行校验。CRC校验的结果由控制器434记录。在方框562中,控制处理器434为这一速率假设增加所发现路径的个数m。在方框586中,控制处理器434增加由改进的维特比解码器424进行的运行次数i。
如果在控制方框556中还未达到最大的运行次数,那么,控制处理器434在方框582中检查其中是否存在已经发现的路径,这些路径还没有经改进的维特比解码器424处理(即,一直还未试图找到与它合并的路径)。如果不存在这样的路径,那么,在方框586中,控制器434指示选择器430解码器未能发现这一速率假设的路径。
如果在控制方框582中仍然存在已经发现的路径,改进的维特比解码器424还未对它们进行处理,那么解码器继续进行到方框566,检查第i个最可能路径(还未对该路径进行处理)的CRC是否具有通过的CRC。如果在控制方框558中CRC校验失败,那么,控制器434指示改进的维特比解码器424对第i个最佳路径进行处理。正如前面所述的,这是在方框560中完成的。
如果在控制方框582中不存在已经发现但是还未进行处理的路径,那么解码器继续进行到方框584,指示选择器430没有发现这一速率假设的路径。如果在控制方框566中已经达到最大的运行的次数,那么,控制处理器434在方框568中检查是否已经发现通过由CRC校验器432进行的CRC校验的路径。如果不存在这样的路径,方法继续进行到方框584。如果存在通过CRC校验的路径,那么,方法继续进行到方框570。
在方框574中,控制处理器434确定是否已经测试了所有可能的速率。如果不是,那么,方法继续进行到方框576,在这里选择下一个待测试的速率,然后方法继续进行到方框552,测试下一个速率假设。响应于来自控制处理器434的信号,帧缓冲器420把帧数据提供给符号合并器422。控制处理器434把指示待测试速率假设的信号提供给符号合并器422。在方框552中,符号合并器422按照待测试的速率假设合并符号数据。方法继续进行到方框544并按照如上所述继续进行。
如果在方框574中已经测试了所有速率,那么,在方框578中选择器430确定发射数据最可能的速率并在方框580中提供对应于该速率的数据。选择器430可以决定删除由于测量质量差而造成的帧。在示例的实施例中,选择器430确定基于不同已解码帧的符号差错率的速率和尺度数据值。
图16示出第二示例实施例的方法的流程图,它说明选择本发明的次最佳路径的阈值技术。这个流程图仅仅说明对于一种给定的速率假设的路径搜索。下列定义有助于对本发明的理解p-格构中的路径,这里它将由其信息序列给出;yp-相对于最佳路径的路径p的尺度;lp-路径p的最小岔开点;F-数据的m路径的阵列,它包含它们的信息序列(p)、它们的尺度(yp)和它们的最小岔开点(lp);Δ(p)-与路径p合并的路径的Yamamoto尺度的矢量;Δi(p)-矢量Δ(p)的第i个值;t-阈值,所考虑的所有路径将具有小于t的尺度;q-从另一个路径(p)岔开的路径,这些路径存储在阵列N中;T-路径的暂时存储器;C-具有通过CRC的路径的存储器;以及“部分链式返回”-是从岔开点的有限长度链式返回。岔开信息序列是通过仅改变从它岔开的路径中的这一有限个数的输出位而获得的。
这个实施方案的两个主要参数是t,阈值和m,重新运行ACS机构的次数。参数n通常较小,在2至4的量级上。
对于给定速率的解码,过程从方框610开始,这里,改进的维特比解码器424进行标准维特比解码。ACS454对状态尺度452进行更新并把判定位输出到链式返回存储器458。CB机构460进行链式返回,以便把解码数据序列输出到位于输出缓冲器426中的存储器阵列F。到这一点,已经采用了标准维特比解码,正如本领域专业人员将会明白的。有两个尺度与最佳路径相关即相对于最佳路径的尺度yp,它显然为0;和最小岔开点lp,它等于帧长度。这两个参数的重要性将在下文中成为显然的。
在方框612中,控制处理器434识别第一路径及其在位于输出缓冲器426的存储器阵列F中的参数。这一路径以p表示。对于解码器的第一轮运行,这是最佳路径。
在方框614中,由CRC机构432对在方框612中所识别的路径的CRC进行校验。如果CRC通过,那么,过程继续进行到方框616,终止帧的解码。尽管在图16中未特别示出,可以输出或计算涉及该帧的其它数据,例如,重新编码的SER428或已解码帧的类似的尺度。
如果方框614的CRC校验失败,那么,方框618的控制器434重新运行改进的解码器424,寻找与路径p合并的路径。ACS454进行状态尺度计算和更新452直至格构中的点lp。除了通常的相加、比较和选择外,改进的解码器424的ACS454执行附加的功能。这是向Δ排序电路456输出以q表示的路径的Yamamoto尺度的值,它和在格式中的每个指数j到最高为指数lp的路径p合并。在指数j(1≤j≤lp)与p合并的路径q的总尺度由yq=Δi(p)+yp给出。如果这个尺度yq小于某一给定阈值t,那么,链式返回控制460从格构中路径p的指数j起执行部分链式返回,这里指数j的判定位被保留。与指数大于j的路径p的位连锁的链式返回过程的结果形成新的路径q。这一路径q,与其相对于最佳路径的尺度和岔开点lq=j-1一起,存储在输出缓冲器426的阵列N中。
在方框618中,在执行部分链式返回和按照阈值获得新序列后,过程继续进行到方框620。在方框620中,控制434识别在输出缓冲器426中的序列位置。定义阵列T为以前的m条最可能路径和发现的新路径的并集,位于N中。然后把T的m条最可能路径定义为新阵列F。
然后,过程继续进行到方框622,这里对发现的所有新路径的CRC432进行校验。以前定义T中的这些新路径为阵列N。如果这些路径中的任何一条路径通过CRC校验,那么,该路径及其尺度保持在由C表示的阵列中。本领域的专业人员很清楚,在方框622中执行的过程能够同时在方框618的过程中执行。明显地,由T、F、N和C表示的阵列不需要定义为存储器分配阵列,而是指向存储在输出缓冲器中的序列的指针。这些阵列是为了清楚地说明过程而定义的。
如果在方框624中已经到达解码器的最大运行次数(m=1)或者不存在更多的与阈值判据适合的待处理的序列(F是空的),那么,控制处理器434继续进行到方框628。如果在方框628中不存在通过CRC校验的序列,即阵列C是空的,那么,控制处理器434结束当前速率假设的解码过程并给选择器430发信号,没有发现序列。控制处理器434可以向选择器430输出有关未成功地对速率假设解码的数据,例如,最佳路径的可能尺度,在其判定中有助于选择器430。
另一方面,如果在方框628中C不是空的,那么过程继续进行到方框630,这里控制处理器434向选择器430输出通过CRC校验的具有最小尺度的路径。也可以给选择器430提供有关已解码帧的其它数据,例如,SER428和路径的尺度。
如果在方框624中解码器还未达到最大运行次数(m>1)和存在待处理的序列(F不是空的),那么,控制处理器434减小m,过程继续进行到方框612,对下一个最可能的序列(F中的第一序列)继续进行处理。
图17是由本发明的解码方法的第二示例实施例所确定的路径的格构图。在图17中,最佳路径(由维特比解码器424输出的一个,不是所发射的正确的一个)以粗虚线表示。该方法可以通过假设未校验最佳路径的CRC而说明。在解码器的第一次重新运行中,发现3条路径的尺度小于阈值。它们的岔开点是i、j和k,限定信息序列。这些是曾经从最佳路径岔开一次的路径。假设在点j岔开的路径具有最小尺度和未校验其CRC。寻找从这一路径岔开的路径,发现两条路径,具有小于阈值的总尺度。这些路径是j’和j”。现在,进行解码器的第二次重新运行。这一次,对从路径i、k、j’和j”之外的具有最小尺度的路径岔开的路径进行检查。假设k路径具有最小尺度和未校验其CRC。现在寻找从k岔开的路径。在图中,存在三条尺度小于阈值的路径k’、k”和k”’。
注意对于岔开给定路径的路径的所需的搜索时间不是恒定的,,因为仅需要使解码器运行到岔开点。在下表中可以概括上述例子的解码循环次数表1
应当注意对于校验合并路径的每个路径可能需要一个附加缓冲器。对于岔开的路径需要一些附加缓冲器。如果未校验CRC能够重新使用这些缓冲器。在图17的例子中,总共发现9条路径,解码器仅运行4(n+2)次。在发现的所有9条可能性很高的路径中,仅保证它们中的4条(N+2)是最可能的。这是第二实施例相对于第一实施例的创新优点,在第一实施例中对于发现的每一条额外路径解码器需要重新运行至少一次(或者对于截取链式返回存储器是两次)。在第二示例实施例中,阈值判别允许人们有时为解码器的每一次重新运行寻找一条以上的路径,不受解码器利用截取链式返回实施的限制。
在十分可靠的CRC(若干个位)的情况中,当找到具有良好CRC的第一序列时能够停止解码过程。在不可靠的CRC的情况中,只要时间允许(下一帧的到达)将多次发现路径。将保持通过CRC校验的所有路径,解码器将决定具有良好CRC的,具有最小尺度的路径。
提供对较佳实施例的以上的描述能够使本领域的专业人员制造或使用本发明。对于本领域专业人员而言,对这些实施例的各种改进是很显然的,这里所限定的一般原理可以应用到其它实施例上,无需利用创造才能。因此,不希望将本发明限于这里所示出的实施例,而是与这里所揭示的原理和新颖特征相一致的最宽的范围。
权利要求
1.一种供多速率编码信号用的解码系统,所述解码系统包括解码器装置,用于接收多速率编码数据的帧和对所述的数据帧进行格构解码,以提供一组信息位和至少一个校验位;校验装置,用于接收所述的信息位和所述的至少一个校验位和按照所述信息位和所述至少一个校验位确定所述解码的有效性;其特征在于所述解码器装置进一步包括当所述解码的所述确定的有效性表示对所述帧正确地进行解码而失败时按照所述次最佳路径确定第二组信息位和第二至少一个校验位的装置。
2.如权利要求1所述的解码系统,其特征在于所述的解码装置包括确定所述次最佳路径的装置。
3.如权利要求2所述的解码系统,其特征在于确定所述次最佳路径的装置包括识别其尺度在与通过格构的最佳路径相关的尺度的预定阈值内的次最佳路径的装置。
4.如权利要求1所述的解码系统,其特征在于所述的校验装置包括相对于所述信息位对所述校验位进行循环冗余校验(CRC)的装置。
5.如权利要求1所述的解码系统,其特征在于所述的尺度是Yamamoto尺度。
6.一种供多速率编码信号解码用的解码系统,所述解码系统包括对可由格构表示的多速率编码信息序列进行解码,以提供与最佳路径相关的解码序列的第一装置;对与所述信息序列有关的校验位进行有效性检验的第二装置;响应于所述第二装置的用于识别通过所述格构的次最佳路径的第三装置,包括识别其尺度在与通过所述格构的最佳路径相关的尺度的预定阈值内的路径的装置。
7.如权利要求6所述的解码系统,其特征在于所述的进行解码的装置是维特比解码器。
8.如权利要求6所述的解码系统,其特征在于所述的进行有效性检验的装置包括相对于所述信息序列对所述校验位进行循环冗余校验(CRC)的装置。
9.如权利要求6所述的解码系统,其特征在于所述的第三装置包括选择所述路径中的一条路径作为次最佳路径的装置。
10.如权利要求9所述的解码系统,其特征在于进一步包括对所述次最佳路径进行循环冗余校验的装置。
11.如权利要求6所述的解码系统,其特征在于所述的尺度是Yamamoto尺度。
12.一种供多速率编码信号用的解码方法,所述解码方法包括步骤对可由格构表示的多速率编码信息序列进行解码,以提供与最佳路径相关的解码序列;对与所述信息序列有关的校验位进行有效性检验;识别通过所述格构的次最佳路径包括当所确定的校验位的有效性表示对所述序列正确地进行解码而失败时识别其尺度在与通过格构的最佳路径相关的尺度的预定阈值内的路径的步骤。
全文摘要
一种对含有冗余信息的多速率编码数字数据的帧进行解码的方法和装置,冗余信息是为了验证解码操作的有效性而提供的。接收到的数据帧含有信息位和循环冗余校验(CRC)位。根据本发明,接收到帧进行解码和进行校验,以确定CRC位是否正确地对应于解码信息位。如果已解码的帧通过CRC测试过程,那么把已解码帧提供给用户。然而如果已解码帧未通过CRC测试,那么在接收到的帧上至少再进行一次解码过程。在本发明的第一示例实施例中,在CRC校验失败时,利用格构解码器(224)对数据进行解码,选择通过格构产生次最大可能的路径的数据。在第二示例实施例中,如果CRC测试失败,那么格构解码器(224)识别所有的路径,其尺度在与通过格构最佳路径相关的尺度的预定阈值内。然后,相对于次最佳路径(从最大可能的路径开始)在已解码帧上进行CRC测试。如果这些路径中的任何一条路径通过CRC校验,那么由解码器(224)输出信息位,如果未通过,那么表明是一个差错。
文档编号H03M13/41GK1265787SQ98803554
公开日2000年9月6日 申请日期1998年3月20日 优先权日1997年3月21日
发明者J·M·施泰因, A·巴尔-达维德 申请人:夸尔柯姆股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1