使用先验信息对接收到的消息进行解码的装置及方法

申请号 CN200680045116.0 申请日 2006-11-30 公开(公告)号 CN101322318B 公开(公告)日 2012-05-09
申请人 摩托罗拉移动公司; 发明人 杰弗里C·斯莫林斯克; 迈克尔·E·巴克利; 肯尼斯·A·斯图尔特;
摘要 一种无线通信设备利用一种用于在控制信道上接收消息流的方法。根据一个 实施例 ,无线通信设备在该控制信道上接收消息。无线通信设备尝试对该信息进行解码,如果该消息被成功解码,则该成功解码消息的比特被添加到消息属性列表。此后,无线通信设备尝试解码在控制信道上接收到的随后的消息,如果在对随后的消息进行解码期间检测到差错,使用消息属性列表中的比特来取代随后的消息中的比特,以产生 修改 过的消息。无线设备随后尝试解码该修改过的消息。
权利要求

1.一种用于无线通信设备在无线控制信道上接收消息流的方法,该方法包括:
在所述控制信道上接收至少一个消息;
尝试对所述至少一个消息进行解码;
如果所述至少一个消息被成功解码,则将所述至少一个消息的比特添加到消息属性列表;
在所述控制信道上接收随后的消息;
尝试对随后的消息进行解码;
如果在对随后的消息进行解码期间检测到差错,使用所述消息属性列表中的比特来取代随后的消息中的比特,以产生修改过的消息;
尝试对修改过的消息进行解码。
2.根据权利要求1所述的方法,其中,在所述控制信道上接收消息包括在慢相关控制信道上接收消息。
3.根据权利要求1所述的方法,
其中所述消息属性列表包括消息原型列表,
其中所述至少一个消息的比特形成所述消息原型列表的至少一个原型消息,以及其中使用所述消息属性列表中的比特来取代随后的消息中的比特包括使用所述消息原型列表中存储的至少一个原型消息来取代随后的消息中的比特,以产生修改过的消息。
4.根据权利要求3所述的方法,
其中所述至少一个原型消息包括从至少一个消息的物理层之上的通信协议层中的比特得到的至少一个上层原型消息,以及
其中使用所述消息属性列表中的比特来取代随后的消息中的比特包括:
使用至少一个上层原型消息来取代随后的消息中的比特,以产生修改过的消息。
5.根据权利要求4所述的方法,其中,使用至少一个上层原型消息来取代随后的消息中的比特包括:使用从所述至少一个消息的层2通信协议层和层3通信协议层中至少一个中的比特得到的至少一个原型消息来取代所述随后的消息中的比特。

说明书全文

使用先验信息对接收到的消息进行解码的装置及方法

技术领域

[0001] 本公开涉及一种使用先验信息对接收到的消息进行解码的方法及装置。更特别地,本公开涉及基于来自先前消息流的属性而对控制信道上接收到的消息进行解码。

背景技术

[0002] 目前,无线广域网可包括全球移动通信系统(GSM)网、时分多址(TDMA)网、码分多址(CDMA)网、蜂窝网、以及多种其它无线广域网。这些网络使用业务信道来移动站向使用诸如蜂窝电话的移动终端的用户发送或从该用户接收诸如语音数据的数据移动站。这些网络还可使用控制信道来发送和接收控制信号。该控制信道可与特定的用户业务量相关联,或者更通常地可被映射到专用的物理层资源上,可典型地用于从网络向移动终端传送控制信息,或者从移动终端向网络报告测量信息。例如,GSM网可使用慢相关控制信道(SACCH)来发送控制信号。该SACCH具有低比特率,与特定的移动终端唯一关联,并被周期性地传送且在传送之间具有相对较大的时间。该SACCH可向移动终端发送关于更高协议的特定的控制信息及消息,例如邻近小区信息。移动终端与网络的连接质量,例如信道质量,可基于控制信道的信号质量。
[0003] 在某些网络中,包括全球移动通信系统(GSM)网,控制信道质量的测量,包括控制信道比特或代码误率,经常被用于确定通信链路的基本质量,并被用于判定是应该维持链路还是基于不充分的性能而终止链路。不幸的是,由于分别可用于控制信道及业务信道的信息传输速率、调制类型及差错控制编码方法可能无法良好匹配,因而对控制信道性能的观察不总是伴随业务信道的性能的有用引导。例如,对于给定的信干噪声比,控制信道误码率或块误码率可显著超过相关的业务信道的误码率或块误码率。如在GSM业务信道及相关控制信道的情况下,如果无线电信道的质量度量控制维持基于控制信道块误码率,则即使业务信道的块误码率满足期望的业务质量,也可利用网络或移动站来终止该无线电链路。
[0004] 因此,控制信道的信道质量不可能总是精确地反映业务信道的信道质量。因此,如果控制信道体验非常差的信道质量,即使移动终端正接收好的业务信号且用户正体验到良好的通信,也可终止链路或呼叫。
[0005] 因而,存在对信道上接收到的消息的解码进行改进的需要。发明内容
[0006] 一种用于对在控制信道上接收到的消息的解码进行改进的方法和装置。在控制信道上接收消息。该消息可基于有关成功解码消息的比特的信息被解码。附图说明
[0007] 将参考附图描述本公开的实施例,其中相同的数字代表相同的元素,并且其中:
[0008] 图1是根据一个实施例的系统的例示结构图;
[0009] 图2是根据一个实施例的移动通信设备的例示结构图;
[0010] 图3是一个示例性的流程图,其例示了根据一个实施例的移动通信设备的操作;
[0011] 图4是一个示例性的流程图,其例示了根据另一实施例的移动通信设备的操作;
[0012] 图5是一个示例性的流程图,其例示了根据另一实施例的移动通信设备的操作;及
[0013] 图6是一个示例性的流程图,其例示了根据另一实施例的移动通信设备的操作。

具体实施方式

[0014] 本文中,关系术语,例如“第一”、“第二”等,可仅用于将一个实体或动作与另一实体或动作进行区别,不一定要求或暗示在这些实体或动作间有任何实际的这种关系或次序。术语“包括”及其任何其它变化意图覆盖非排他性的包括,以便包括一系列元素的处理、方法、物品或装置不仅包括这些元素,还可以包括其它未明确列出的元素或该处理、方法、物品或装置固有的其它元素。“个”等后面的元素没有更多约束的情况下不排除包括该元素的处理、方法、物品或装置中其它相同元素的存在。同样,术语“另外”定义为至少第二个或更多。在此使用的“包含”、“具有”等术语被定义为“包括”。
[0015] 图1是根据一个实施例的系统100的例示结构图。该系统100可包括网络110、终端120及基站130。基站130和终端120可使用业务信道140和控制信道150互相通信。例如,基站130可在控制信道150上向终端120发送消息160。该控制信道可以是慢相关控制信道(SACCH)、快相关控制信道(FACCH)或任何其它控制信道。消息160可包括信息位。
例如,消息160可包括层2消息中的比特164、层1块中的比特162及另外比特166。层1可以是物理层,层2可以是数据链路层、媒体访问控制层(medium access control layer)等。终端120可以是移动通信设备,例如无线电话、移动终端、移动站、蜂窝电话、个人数字助理、寻呼机、个人电脑、选择性呼叫接收机、或者任何其它能够在包括无线网的网络上发送和接收通信信号的设备。网络110可包括能够发送和接收诸如无线信号的信号的任何类型的网络。例如,网络110可包括无线电信网、蜂窝电话网、卫星通信网、无线局域网、全球移动通信系统(GSM)网、时分多址(TDMA)网、码分多址(CDMA)网、和/或其它类似通信系统。
[0016] 在操作中,终端120可接收消息160。终端120可基于有关成功解码消息的比特的信息来尝试解码消息160。该信息可以是基于先前解码消息的原型消息。该原型消息可以是上层信息,例如来自先前解码消息的层2比特164。该原型消息可以是224比特先前接收消息的184比特层1块162中的168层2比特164。尝试解码消息160可包括用原型消息来取代终端120中的前向纠错解码器的输出的至少一部分。尝试解码消息160还可包括利用原型消息来减少卷积解码期间的相关阶段上的可能状态数目。尝试对消息解码还可包括利用Fire代码的一部分冗余来对接收到的消息160进行纠错。
[0017] 该信息还可以是从先前成功解码的消息识别的接收到的消息160中的消息比特的统计先验知识。术语“先验”可表示从先前已知信息获得的知识。例如,可在控制信道150上发送冗余的层2消息,其可用于帮助解码随后的消息、稍后的冗余消息、先前缓冲的消息、或者任何其它消息。因此,尽管不能从冗余消息获得新的层2信息,也可确定其它信息,例如信道质量。无线链路超时(RLT)计时器可计算在控制信道上接收正确解码消息的故障数。例如,无线链路故障标准可基于该RLT。如果终端120不能解码SACCH消息,则RLT可减1。在成功接收SACCH消息的情况下,RLT可加2。在任何情况下,RLT不能超过称为RADIO_LINK_TIMEOUT的阈值。如果RLT达到了0,则可宣布无线链路故障。
[0018] 尝试解码消息160可进一步包括加强卷积解码处理期间的度量计算。先验知识可以消息的选择位是1或0的概率,基于先前正确解码消息的消息的位是1或0的概率,基于其它相关位的消息的位是1或0的概率和/或其它可用的先验知识。如果消息160被成功解码,则终端120可将有关成功解码消息的比特添加到消息属性。可基于观察良好消息的频率、基于协议架构中的消息的色的知识,基于消息是经常被使用的类型的了解,基于多新近地接收列表中的消息,或基于任何其它有用的列表构成(list population)方法,来构成消息属性列表。
[0019] 为了根据另一相关实施例详细描述,终端120可使用更高层的消息原型来帮助较低层解码消息。例如,终端120可使用层2/3消息原型来帮助层1解码SACCH消息。由于更高层接收可能被重复的正确解码的SACCH消息,其可向层1发送包括层1、层2及层3的头部的全部消息的复本或者消息的一部分来作为原型消息。例如,可能被重复的SACCH消息可包括系统信息5、系统信息6、系统信息5bis、系统信息5ter、系统信息10、测量信息、或者任何其它控制信道消息。根据相关实例,层3可观测正确解码的层3SACCH消息的到达,并将观察到的原型消息的相关发生频率告知层1。层1然后可区分存储原型的优先次序,以及层1假设原型消息的次序。
[0020] 更高层可根据良好的Fire代码症状(syndrome)、良好的组合Fire代码加上卷积代码度量、或者任何其它用于判定正确解码消息的方法来判定SACCH消息已经被正确解码。例如,Fire代码是循环冗余校验(CRC)编码的特定类,其允许有效的突发差错校正。用于很多循环代码的权重分布及偶最小距离可能难以计算,该循环代码包括包括用于SACCH23 17 3
的Fire代码。给出Fire代码发生器多项式g(D)=g1(D)g2(D)=(D +1)(D +D+1),可对于SACCH Fire代码的能做出两个有意义的注释来检测差错。第一个注释是二进制循环代码,具有m次的发生器多项式可检测长度为m或更少的所有突发差错图案。第二个注释k-n
是,有效的n比特字对于所有可能的n比特字的漏检概率或比率是2 ,这里k是信息位的数目,n是码字长度。因此,如果SACCH Fire代码通常仅用于差错检测,则其可检测所有的-40
差错图案,例如,高达40个突发长度的差错图案,且可具有2 的漏检概率。
[0021] 因此,当层1接收到包括SACCH消息的4个SACCH突发时,可首先尝试对该消息进行常规解码。如果解码失败,然后可使用来自已知有效的第一原型消息的比特来替换卷积解码器的硬判决输出。例如,层1可使用层2及层3的头部以及层3的内容,但无需使用层1头部的2个字节。然后可检查Fire代码症状。如果成功,则消息已经被解码,并向层2传递结果。如果Fire代码失败,则检查下一原型消息,直到检查完所有原型消息为止。如果已经使用了所有原型,则终端120可宣布该消息为坏SACCH块。
[0022] 作为卷积解码的一个例子,典型地,可在Ninfo个阶段的每一个内,经由具有2v种状态的Viterbi网格来执行对卷积代码的解码,这里,v是代码的限制长度,Ninfo是信息及尾部符号的数目。解码处理可包括对后面接着追溯操作的每个网格的度量计算。度量计算可以是递归的,并可基于卷积代码、接收到的代码字、以及后面接着追溯操作的先前状态度量计算。当假设层2SACCH消息时,典型地,仅保留40个奇偶性符号及16个层1头部符号由限制长度为4的代码来解码。通过推断,得知追溯操作在Vitcrbi网格的阶段20(16+4)到183和阶段227中应该跨经的状态。相反地,对于阶段1至15及184至226中跨经的状态可能有怀疑。因此,为了实现最佳解码,有用的是,在追溯操作期间跨经网格中的一些或所有已知状态。此外,根据执行,还有用的是,修改状态度量计算,以利用已知跨经状态的信息来实现最佳解码。
[0023] 因此,以上操作可改进终端120处的SACCH消息的解码,并减小无线链路超时,而不需要对网络进行修改。终端120可使用层2消息原型来帮助层1对SACCH消息进行解码。终端120还可基于观察质量指示器,例如良好的Fire代码症状或者良好组合Fire加上卷积代码度量,来组装或学习一组层2原型消息。终端120还可使用观察到的“良好”层2原型消息的相关频率来区分存储用于解码的特定原型消息的优先次序,以及层1假定每个层2原型消息的次序。终端120还可另外依次使用每个原型消息来取代前向纠错解码器的输出的至少一部分,然后检查每一个上的Fire代码直到消息被正确解码、原型消息被耗尽、或者完成了阈值数目的尝试为止。
[0024] 该处理可应用于在任何通信网络中接收消息,其中从消息的有限集中选择的特定消息被周期性地插入到消息流中。该处理还可应用于广播网络,其中发送头部消息,或者任何类型的缓慢改变周期系统信息。
[0025] 图2是根据一个实施例的例如终端120的移动通信设备200的示例性结构图。移动通信设备200可包括机壳210、耦合到机壳210的控制器220、耦合到机壳210的输入及输出电路230、耦合到机壳210的显示器240、耦合到机壳210的收发机250、耦合到收发机250的解码器255、耦合到机壳210的用户接口260、耦合到机壳210的存储器270、驻留在存储器270中的消息属性列表275以及耦合到机壳210及收发机250的天线280。该移动通信设备200还可包括列表构成(population)模块290。该列表构成模块290可耦合到控制器220,可驻留在控制器220内,可驻留在存储器270内,可以是独立模块,可以是软件,可以是硬件,或者可以是对于移动通信设备200上的模块有用的任何其它格式。
[0026] 显示器240可以是液晶显示器(LCD)、发光二极管(LED)显示器、等离子显示器、或者任何其它用于显示信息的装置。收发机250可包括发射机和/或接收机。音频输入及输出电路230可包括麦克、扬声器、变频器、或者任何其它音频输入及输出电路。用户接口260可包括键盘、按钮、触摸板、操纵杆、附加显示器、或者任何其它用于在用户和电子设备间提供接口的设备。存储器270可包括随机访问存储器、只读存储器、光存储器、用户识别模块存储器、或者任何其它可耦合到移动通信设备的存储器。
[0027] 在操作中,控制器220可控制移动通信设备200的操作。收发机250的接收机部分可接收控制信道上的消息。例如,接收机可接收慢相关控制信道上的消息。解码器255可解码该消息。如果该消息被成功解码,则列表构成模块290可将成功解码消息的属性添加到消息属性列表275。如果在先前解码消息时有差错,则解码器255可尝试基于消息属性列表275中的属性来解码消息。该属性可以是基于成功解码消息的原型消息。该原型消息可以是来自成功解码消息的上层信息。解码器255还可尝试基于包括由原型消息替代的比特的消息来对消息解码。控制器220还可利用fire代码的一部分冗余来对接收到的消息进行纠错。该属性还可以是由消息流的先前观察而识别到的接收消息中的消息位的统计先验知识。
[0028] 图3是根据另一实施例例示终端120操作的示例性流程图。在步骤310,该流程图开始。在步骤320,终端120可在控制信道150上接收消息。该控制信道150可以是慢相关控制信道。在步骤330,终端120可尝试对该消息解码。如果在解码原始消息中有差错,则终端120可基于消息属性列表中的信息来尝试解码该消息。在步骤340,如果该消息被成功解码,则终端120可将有关成功解码消息的比特的信息添加到消息属性列表。该消息属性列表可以是消息原型列表。因而,在步骤330,终端可基于消息属性列表中存储的至少一个原型消息来尝试解码随后的消息。并且,在步骤340,如果消息被成功解码,则终端120可将从成功解码消息的接收消息解码得到的原型消息添加到消息原型列表。例如,该原型消息可以是上层消息。因而,在步骤330,终端120可检测解码随后消息中的差错,以及,如果检测到差错,则基于消息原型列表中存储的至少一个原型消息来尝试解码随后的消息。此外,在步骤330,如果检测到差错,则终端120可使用消息原型列表中存储的原型消息来取代随后消息中的比特,并基于具有取代比特的随后消息来对消息解码。
[0029] 图4是根据另一相关实施例例示终端120的操作的例示性流程图400。例如,该流程图400可例示终端120在控制信道150上接收到帧中的4个慢相关控制信道(SACCH)突发中的消息之后的操作。在步骤410,终端120可初始化计数器,例如原型索引计数器。在步骤415,终端120可均衡该消息来得到对接收数据的估计。在步骤420,终端120可组合来自该消息的估计。在步骤425,终端120可对组合的估计解交织来得到SACCH块。在步骤430,终端120可尝试对SACCH块进行卷积解码。在步骤435,如果计数器大于0,则表示在最初解码消息时有差错,终端120可使用来自消息原型列表的原型消息M取代消息中的更高层消息字段,并可尝试对修改过的消息进行卷积解码。例如,终端120可使用来自消息原型列表的原型消息M来取代消息中的层2消息字段。在步骤440,终端120可检查SACCH块fire代码。如果消息通过了fire代码检查,则终端120可宣布SACCH块“良好”,并前进到更高层处理。在步骤445,如果消息通过了fire代码检查,则终端120可使用原型消息来更新消息原型列表中的更高层原型消息集S。例如,终端120可使用原型消息来更新消息原型列表中的层2原型消息集S。如果消息没有通过fire代码检查,则在步骤450,终端120可对计数器递增。在步骤455,终端120可判定计数器是否已经超过了阈值。如果是,则终端120可宣布消息是坏的。该阈值可以是任何可用的阈值。例如,该阈值可以是消息原型列表中存储的消息数。如果计数器没有超过阈值,则在步骤460,终端120可从消息原型列表选择层2原型消息M来用于取代消息中的层2消息字段,并继续到步骤435。例如,终端120可根据计数器增加地选择用于取代的层2原型消息。
[0030] 图5是根据另一相关实施例例示终端120的操作的示例性流程图500。例如,流程图500可例示终端120在接收到消息并使用层1头部假设测试之后的操作。在步骤510,终端120可初始化计数器,例如原型索引计数器。在步骤515,终端120可均衡消息来获得对接收数据的估计。在步骤520,终端120可组合来自消息的估计。在步骤525,终端120可对组合的估计解交织来获得SACCH块。在步骤530,终端120可尝试对SACCH块进行卷积解码。在步骤535,如果计数器大于0,则表示在初始解码消息时有差错,终端120可使用来自消息原型列表的原型消息M来取代消息中的层2消息字段,并可以尝试解码修改后的消息。在步骤540,终端120可初始化第二计数器。在步骤545,终端120可检查SACCH块fire代码。如果该消息通过了fire代码检查,则终端120可前进到更高层处理。终端120还可在步骤550更新原型消息集,该原型消息例如层1头部信息。该层1头部信息可以是移动功率级字段、定时提前字段(timing advance field)或者任何其它层1头部信息。例如,某些字段在随后的消息中不会大大改变。因此,实际值连同可能的取值范围可被存储在原型消息集或属性列表的任何一个中。在步骤555,如果消息通过了fire代码检查,则终端120还可使用原型消息来更新消息原型列表中的层2原型消息集合S。如果消息没有通过fire代码检查,则在步骤560,终端120可对第二计数器递增。在步骤565,终端120可判定计数器是否已经超过了阈值。该阈值可基于可用原型头部的数目。如果没有超过阈值,则在步骤570,终端120可从头部原型消息集合S1选择头部原型消息来取代头部字段,并可在步骤545再次检查fire代码。如果第二计数器已经超过了阈值,则在步骤575,终端120可对计数器递增。在步骤580,终端120可判定计数器是否已经超过了阈值。如果是,则终端
120可宣布消息是坏的。如果计数器没有超过阈值,则在步骤585,终端120可从原型消息列表S2选择更高层原型消息M来取代消息中的层2消息字段,并继续到步骤535。例如,终端120可根据计数器增加地选择层2原型消息。
[0031] 图6是根据另一相关实施例例示终端120的操作的示例性流程图600。例如,流程图600可例示终端120在接收到消息并修改了卷积解码器路径初始及终止状态、路径度量计算及以更高层消息为条件的追溯处理后的操作。在步骤610,终端120可初始化计数器,例如原型索引计数器。在步骤615,终端120可均衡消息来得到接收数据的估计。在步骤620,终端120可组合来自消息的估计。在步骤625,终端120可对组合过的估计解交织来得到SACCH块。在步骤630,终端120可使用卷积解码方法对SACCH块卷积解码。在步骤635,终端120可检查SACCH块fire代码。如果该消息通过了fire代码检查,则终端120可宣布该SACCH块“良好”,并前进到更高层的处理。在步骤640,如果消息通过了fire代码检查,则终端120可使用原型消息来更新消息原型列表中的更高层原型消息集S。例如,终端
120可使用原型消息来更新消息原型列表中的层2原型消息集S。如果消息没有通过fire代码检查,则在步骤645,终端120可对计数器递增。在步骤650,终端120可判定计数器是否已经超过了阈值。如果是,则终端120可宣布该SACCH块是坏的。该阈值可以是任何有用的阈值。例如,该阈值可以是消息原型列表中存储的消息数目。如果计数器没有超过阈值,则在步骤655,终端120可从消息原型列表选择层2原型消息M来取代消息中的层2消息字段。例如,终端120可根据计数器选择层2原型消息。在步骤660,终端可使用修改后的网格,并追溯SACCH块上的解码方法,以及返回到步骤635。例如,修改后的网格构成可意味着更新前向纠错解码器的网格状态度量,例如Viterbi算法或者其它有限状态假设设备,来仅允许与原型消息M一致的状态转换或符号假设。类似地,追溯解码可意味着根据网格状态度量来选择解码后的序列,但仅允许根据原型消息M通过网格的所考虑的路径。
[0032] 根据可选的相关实施例,在步骤660期间或之后,终端可允许fire解码器校正层1头部或奇偶性字段内的17比特或更少的突发差错序列。
[0033] 本公开的方法优选地在编程的处理器上实现。然而,也可在通用或专用计算机、编程的微处理器微控制器及外围集成电路元件、ASIC或其它集成电路、例如分立元件电路的硬件电子或逻辑电路、例如PLD、PLA、FPGA或PAL等的可编程逻辑设备上实现控制器、流程图及模块。通常,上面驻留有能够实现附图所示流程图的有限状态机的任何设备可用于实现本公开的处理器功能。
[0034] 虽然已经通过本公开的特定实施例描述了本公开,但很明显,多种替代、修改及变化对于本领域技术人员是显而易见的。例如,实施例的各个部分在其它实施例中可被交换、增加或替代。同样,每个附图的所有元素对于所公开的实施例的操作不是必要的。例如,所公开实施例的本领域普通技术人员应能够通过简单地执行独立权利要求的元素来制造并使用本公开的教导。因而,在此阐述的本公开的优选实施例期望是例示性的,而非限制性的。可做出不超出本公开精神和范围的各种改变。
QQ群二维码
意见反馈