CN101431388B - 译码编码数据帧的方法及其译码器 - Google Patents
译码编码数据帧的方法及其译码器 Download PDFInfo
- Publication number
- CN101431388B CN101431388B CN200810135051.XA CN200810135051A CN101431388B CN 101431388 B CN101431388 B CN 101431388B CN 200810135051 A CN200810135051 A CN 200810135051A CN 101431388 B CN101431388 B CN 101431388B
- Authority
- CN
- China
- Prior art keywords
- bit
- coded
- decoding
- sequence
- border
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3746—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
- H03M13/6356—Error control coding in combination with rate matching by repetition or insertion of dummy data, i.e. rate reduction
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明提供了一种译码编码数据帧的方法,编码数据帧包括多个虚拟比特序列,虚拟比特序列中的每一个均产生于编码一个预设字节模式,该方法包含:判断编码数据帧中的虚拟比特序列的边界;以及根据一部分译码结果以及多个预设字节模式产生译码数据帧,预设字节模式中的每一个对应于该边界内的虚拟比特序列中的一个,其中,根据预设字节模式,通过译码边界外的已编码比特产生部分译码结果。本发明提供的译码编码数据帧的方法及其译码器,通过预设字节模式直接替换编码数据帧中的每个虚拟比特序列,以保证虚拟比特序列的译码结果是正确的,也提高了成功获得编码数据帧的可能性。
Description
技术领域
本发明是有关于数据译码,特别是有关于译码包括虚拟比特(dummy bit)序列的编码数据帧的方法及其装置,其中,虚拟比特序列是由编码预设字节模式(predetermined bits pattern)而产生的(例如,由最低有效比特(least significant bit,以下简称为LSB)至最高有效比特(most significant bit,以下简称为MSB)的0x2B),且编码数据帧可以是已编码快速相关控制信道(fast associated controlchannel,以下简称为FACCH)帧。
背景技术
在数字通信系统中,最大似然译码(maximum likely-hood decoding)是应用于多种不同架构的通信系统中的常用的技术。维特比(Viterbi)译码器为用于译码接收到的数据帧的通用功能模块,接收到的数据帧可能会包含由多种因素引起的错误。正如本领域内技术人员所知道的,在一般的通信信道中,通常存在加成性白高斯噪声(additive white Gaussian noise,AWGN)以及多种干扰源。为了减少信号侦测的错误率,大多数通信系统会将数据进行编码后再传输,而不是直接传输原始数据。编码程序包含根据特定编码算法对数据进行卷积,其中,编码后的数据的比特数量多于原始数据的比特数量。例如,卷积码是通过以编码率k/n来编码原始数据而产生的,其中,n表示输出比特的数量,以及k表示输入比特的数量。当接收端译码接收到的编码数据时,接收端通过使用最大似然译码(也就是,维特比译码)计算每个信道的度量值(metric value),来校验所接收到的编码数据的准确度,接着,根据累计的信道度量值做出决定。因为维特比译码是本领域内技术人员所知道的,所以在此省略更详细的描述。
对于通信系统中的某些通信信道,当数据比特的数据长度短于预定值时,会将虚拟比特或填充比特(filling bit)填充到将要传输的数据比特中。也就是,当将要经由通信信道传输的信息不够多时,就会加入填充比特。以全球移动通信系统中的FACCH为例,每个已编码FACCH帧是由456个已编码的比特组成。请参考图1,图1为用于FACCH帧的编码架构方框图。信息源12提供将要经由FACCH信道传输的数据比特(184比特或23字节)。接下来,错误校验模块14根据数据比特计算循环冗余校验(cyclic redundancy check,以下简称为CRC)比特(40比特或5字节),接着在数据比特后添加CRC比特以产生具有224比特的最终数据帧。最后,编码率为1/2的卷积编码模块16对原始数据帧(224比特)以及4个尾比特执行卷积编码,以输出卷积编码结果(例如,已编码FACCH帧)。当数据比特的数据长度短于184时,会重复地加入填充比特的预设字节模式,直到数据长度达到184。关于FACCH帧,以上预设字节模式为由LSB至MSB的0x2B,也就是(1,1,0,1,0,1,0,0)。请参考图2,图2为最终数据帧的示意图,其中,最终数据帧包括被添加到原始数据帧中的填充比特。
对于传统的译码器架构,维特比译码器用于译码具有456比特的已编码FACCH帧,以获取已编码FACCH帧所承载的控制信息。然而,在某些情况下,如果错误比特出现在已编码FACCH帧的中间,可能使译码器由已编码FACCH帧恢复原始FACCH帧的运作失败,其中,已编码FACCH帧是由编码填充比特产生。因此,传统的维特比译码器丢弃已编码FACCH帧的译码结果,从而指示译码失败。需要注意的是,上述已编码FACCH帧可以包括对应于原始数据比特以及CRC比特的正确编码比特;然而,译码失败会因为对应于填充比特部分的错误比特而发生。因此,需要一种可以校正已编码FACCH帧的方法以及装置,以增加成功获取已编码FACCH帧的可能性,其中,已编码FACCH帧包括出现于填充比特部分的错误比特。
发明内容
为解决以上技术问题,本发明提供了一种译码编码数据帧的方法及其译码器。
本发明提供了一种译码编码数据帧的方法,编码数据帧包括多个虚拟比特序列,虚拟比特序列中的每一个均产生于编码预设字节模式,该方法包含:判断编码数据帧中的虚拟比特序列的边界,其中该边界包含开始位置与结束位置,判断该边界的步骤为已知该结束位置来估计该开始位置,或者先估计该开始位置然后得到该结束位置;以及根据部分译码结果以及多个预设字节模式产生译码数据帧,预设字节模式中的每一个对应于边界内的虚拟比特序列中的一个,其中,根据预设字节模式,通过译码边界外的已编码比特产生部分译码结果。
本发明另提供了一种译码编码数据帧的方法,编码数据帧包括多个虚拟比特序列,虚拟比特序列中的每一个均产生于编码一预设字节模式,该方法包含:通过译码编码数据帧,产生初始译码数据帧;判断编码数据帧中虚拟比特序列的边界,其中该边界包含开始位置与结束位置,判断该边界的步骤为已知该结束位置来估计该开始位置,或者先估计该开始位置然后得到该结束位置;以及通过替换初始译码数据帧中每一虚拟比特序列产生已更新译码数据帧。
本发明提供了一种用于译码编码数据帧的译码器,包括多个虚拟比特序列,虚拟比特序列中的每一个均产生于编码预设字节模式,该译码器包含:边界侦测模块,用以判断编码数据帧中虚拟比特序列的开始位置与结束位置其中之一,其中该多个虚拟比特序列的该边界,其中该边界包含开始位置与结束位置,判断该边界的步骤为已知该结束位置来估计该开始位置,或者先估计该开始位置然后得到该结束位置;译码模块,耦接于边界侦测模块,用于根据预设字节模式,译码位于边界外的已编码比特,以产生部分译码结果;以及控制模块,耦接于边界侦测模块以及译码模块,用以根据部分译码结果以及多个预设字节模式产生译码数据帧,其中,预设字节模式中的每一个对应于边界内的虚拟比特序列中的一个。
本发明另提供了一种用于译码编码数据帧的译码器,包括多个虚拟比特序列,虚拟比特序列中的每一个均产生于编码预设字节模式,该译码器包含:译码模块,用以通过译码编码数据帧产生初始译码数据帧;边界侦测模块,用以判断编码数据帧的虚拟比特序列的边界,其中该边界包含开始位置与结束位置,判断该边界的步骤为已知该结束位置来估计该开始位置,或者先估计该开始位置然后得到该结束位置;以及控制模块,耦接于译码模块以及边界侦测模块,用以通过替换初始译码数据帧中每一虚拟比特序列产生已更新译码数据帧。
本发明提供的译码编码数据帧的方法及其译码器,通过预设字节模式直接替换编码数据帧中的每个虚拟比特序列,以保证虚拟比特序列的译码结果是正确的,也提高了成功获得编码数据帧的可能性。
附图说明
图1为用于FACCH帧的编码架构的方框图。
图2为最终数据帧的示意图,其中,最终数据帧包括被添加到原始数据帧中的填充比特。
图3为根据本发明实施例的译码器的方框图。
图4为用于图3所示的译码器的第一译码方法的流程图。
图5为用于估计对应于添加到原始数据比特中填充比特的虚拟比特序列的开始位置的步骤406的第一实施例的流程图。
图6为用于估计编码数据帧的虚拟比特序列的开始位置的步骤406的第二实施例的流程图。
图7用于估计编码数据帧的虚拟比特序列的开始位置的步骤406的第三实施例的流程图。
图8为用于图3所示的译码器的第二译码方法的流程图。
具体实施方式
图3为根据本发明实施例的译码器300的方框图。于此实施例中,译码器300包括:均衡模块302,译码模块304,边界侦测模块306,以及控制模块308。需要注意的是,图3中仅显示了与本发明有关的组件。另外,图3所示的功能方块可以由硬件组件,软件组件或其结合来实施。这些变化设计均属于本发明的范围。在以下的描述中,译码器300用于译码已编码FACCH帧;然而,其仅为说明的目的,并非用以限定本发明。
均衡模块302位于内部接收器(图中未显示)中,用于处理输入编码数据帧Din,接着为编码数据帧Din的每个比特输出一个软判决值或一个硬判决值。于此实施例中,均衡模块302可以使用任何传统的均衡器架构。换句话说,均衡模块302是一个包含用于产生所需的软判决值或硬判决值的组件的通用功能方块。简单来说,任何可以提供编码数据帧Din的软判决值或硬判决值的均衡器架构均可适用。
边界侦测模块306用于侦测对应于被添加到原始数据比特中的填充比特的已编码比特的边界。以已编码FACCH帧为例,因为根据图2所示的帧格式可以知道对应于所添加的填充比特的已编码比特(也就是,编码数据帧中包括虚拟比特序列)的结束位置,所以边界侦测模块306仅用于估计对应于所添加的填充比特的已编码比特的开始位置。换句话说,因为CRC比特被定义为具有长度为40的比特,且已知信道编码算法的的编码率等于1/2,所以可以很快地判断出对应于所添加的填充比特的已编码比特的结束位置。边界信息BI由边界侦测模块306输出至译码模块304以及控制模块308,以用于接下来的译码处理。
于本发明的一实施例中,译码模块304接收到边界信息BI后,可以译码对应于填充比特的虚拟比特序列的估计的开始位置之前的已编码比特,以及译码对应于填充比特的虚拟比特序列的结束位置之后的已编码比特,以产生部分译码结果。接下来,控制模块308通过来自译码模块304的部分译码结果以及多个预设字节模式产生译码数据帧Dout,其中,多个预设字节模式(例如,前述应用于FACCH帧的字节模式“0x2B”)中的每一个对应于开始位置以及结束位置之间的虚拟比特序列中的一个。于另一实施例中,控制模块308接收到边界信息BI后,通过更新初始译码数据帧产生译码数据帧Dout,其中,初始译码数据帧是由译码模块304根据多个预设字节模式而更新。以下将进行更详细的描述。
请同时参考图3以及图4。图4为图3所示的译码器300的第一译码方法的流程图。于本发明一实施例中,第一译码方法包括以下步骤。于步骤400,流程开始。于步骤402,译码模块304根据均衡模块302的软判决或硬判决输出对编码数据帧Din(例如,已编码FACCH帧)执行第一环形(first-round)维特比译码,接着,产生编码数据帧Din的译码结果。换句话说,通过应用于具有456已编码比特的FACCH帧的维特比译码,可以获得具有228比特的初始译码数据帧,其中,根据图2所示的帧格式,228比特的后40个比特被认为是错误校验信息(也就是,CRC比特)。于步骤404,根据CRC比特对初始译码数据帧执行完整性校验(integrity check)。如果初始译码数据帧通过完整性校验,表示初始译码数据帧中没有错误,流程进行至步骤414,将初始译码数据帧作为编码数据帧Din的译码结果输出。也就是,因为维特比译码可以输出品质优良的FACCH帧,所以译码数据帧Dout直接作为初始译码数据帧。然而,如果初始译码数据帧没有通过完整性校验,就表示初始译码数据帧仍然包括错误,则流程进行至步骤406。
步骤406被用于定位编码数据帧Din中虚拟比特序列的边界。如上所述,根据图2所示的预设帧格式以及编码率等于1/2的预设信道编码算法,对应于填充比特的虚拟比特序列的结束位置可以很容易地得知。因此,于此实施例中,步骤406的重点在于估计对应于添加到原始数据比特中的填充比特的虚拟比特序列的开始位置。以下,将对判断编码数据帧Din的虚拟比特序列的边界的流程做详细描述。
请参考图5。图5为用于估计对应于添加到原始数据比特中填充比特的虚拟比特序列的开始位置的步骤406的第一实施例的流程图。于步骤500,流程开始。于步骤502,获得对应于预设字节模式(例如,从LSB到MSB的0x2B)的理想虚拟比特序列。例如,因为用于FACCH帧的信道编码算法是已知的,可以使用相同的信道编码算法来编码预设字节模式,其中,信道编码算法具有被0x2设置的初始状态,也就是,从LSB到MSB的(0,1,0,0)。因此,可以获得作为理想虚拟比特序列的16个已编码比特,以用于接下来的步骤。于步骤504,根据编码数据帧Din的软判决值以及于步骤502获得的理想虚拟数据帧,可以获得多个软相关值(soft correlation value)。一个软相关值可以通过将编码数据帧Din的软判决值乘与于步骤502获得的理想虚拟数据帧的相应比特来获得。类似的,于步骤506,根据相应于软判决值的硬判决值以及上述理想虚拟比特序列获得多个硬相关值,其中,每个硬判决值是通过根据软判决值的极性将相应软判决值改变为,“1”或“0”,或“1”或“-1”来计算的。硬相关值可以通过将编码数据帧Din的硬判决值乘与于步骤502获得的理想虚拟数据帧的相应位来获得。于此实施例中,如果没有添加到数据比特中的填充比特,因为数据比特的总数为为184,所以数据比特的最大字节长度等于23;然而,如果有添加到数据比特中的填充比特,由于存在用于提供辅助信息(例如,长度指示)的标头字节,因此,数据比特的最小字节长度为2或3。因此,出现在编码数据帧Din中的虚拟比特序列的数量为0至21。于一较佳实施例中,根据已知的虚拟比特序列的结束位置,分别根据软相关方案以及硬相关方案,将理想虚拟比特序列与编码数据帧Din的21个已编码字节相关,以产生21个软相关值以及21个硬相关值。然而,此并非为本发明的限制。例如,在不脱离本发明范围的情况下,于另一实施例中,于已知虚拟比特序列的结束位置的情况下,理想虚拟比特序列可以与编码数据帧Din的23个已编码字节相关,以产生23个软相关值以及23个硬相关值。
于步骤507以及步骤508中,设置第一临界值soft_TH以及第二临界值hard_TH。因为软判决值是由通信信道所决定的,于此实施例中,第一临界值soft_TH被动态地设定,其值等于最大值Max_soft乘与缩放因子(scaling factor)R,例如,0.8,也就是,soft_TH=Max_soft*R,其中,最大值Max_soft是由已计算的软相关值中得出的。关于第二临界值hard_TH,因为每个硬判决值为“1”或“0”,或“1”或“-1”,因此,第二临界值hard_TH可以通过预定值被直接设定。因为产生于编码预设字节模式的理想虚拟比特序列具有16个比特,可知可能的最大硬相关值将为16。于此实施例中,根据设计上的需求,第二临界值hard_TH被设置为大于10的值。需要注意的是,以上关于第一临界值soft_TH以及第二临界值hard_TH的设置仅是用于说明的目的,且并非用以限制本发明。
于步骤510,特定软相关值SC是由已计算的软相关值中选取。于此实施例中,由多个连续的软相关值中确认的特定软相关值SC不小于第一临界值soft_TH,且包括对应于直接位于已编码比特前的虚拟比特序列的软相关值,其中,已编码比特是对应于原始(未编码)CRC比特。当于对应连续的软相关值的虚拟比特序列中找到特定软相关值SC后,可以确认最接近于原始数据比特的已编码比特的第一特定虚拟比特序列。
类似的,于步骤511,特定硬相关值HC可由已计算的硬相关值中选择。于此实施例中,由多个连续的硬相关值中确认的特定硬相关值HC不小于第二临界值hard_TH,且包括对应于直接位于已编码比特前的虚拟比特序列的硬相关值,其中,已编码比特是对应于原始(未编码)CRC比特。当于对应连续的硬相关值的虚拟比特序列中找到特定硬相关值HC后,也可以确认最接近于原始数据比特的已编码比特的第二特定虚拟比特序列。
于步骤512,可以比较特定软相关值SC的位置以及特定硬相关值HC的位置。当第一特定虚拟比特序列比第二特定虚拟比特序列更接近于对应于原始CRC比特的已编码比特时,流程进行至步骤516以决定虚拟比特序列的估计的开始位置为第一特定虚拟比特序列的引导比特(leading bit)。换句话说,可以判断虚拟比特序列的边界开始于第一特定虚拟比特序列的引导比特,且结束于对应于直接位于已编码比特前的虚拟比特序列的终止比特,其中,已编码比特是对应于原始(未编码)CRC比特。否则,流程进行至步骤514以决定虚拟比特序列的估计开始位置为第二特定虚拟比特序列的引导比特。也就是,可以判断虚拟比特序列的边界为开始于第二特定虚拟比特序列的引导比特,且结束于对应于直接位于已编码比特前的虚拟比特序列的终止比特,其中,已编码比特是对应于原始(未编码)CRC比特。于步骤518,确认边界的流程完成。
于以上实施例中,软相关值以及硬相关值均被用于估计编码数据帧Din中的虚拟比特序列的开始位置;然而,此并非为本发明的限制,其它的设计也是可行的。请参考图6以及图7。图6为本发明步骤406用于估计编码数据帧中的虚拟比特序列的开始位置的第二实施例的流程图。图7为本发明步骤406用于估计编码数据帧中的虚拟比特序列的开始位置的第三实施例的流程图。对图5所示的流程做适当的修改,可以获得通过软相关值估计虚拟比特序列的开始位置的变化设计;类似的,可以获得通过硬相关值估计虚拟比特序列的开始位置的变化设计。因为以上已经对图6所示的步骤600,602,604,607,610,616,618以及图7所示的步骤700,702,706,708,711,714,718做了详细的描述,在此为了简要,省略详细的描述。
以上直接确认了已编码FACCH帧中的虚拟比特序列的开始位置。步骤510,511,610,以及711采用了保护机制以避免选择错误的开始位置,其中,错误的开始位置是定位于对应于原始(未编码)数据比特的任何已编码比特的比特位置。需要注意的是,此处的边界确认机制仅用于说明的目的,并非用以限定本发明。简单来说,使用软相关值,硬相关值或其结合来估计编码数据帧中的虚拟比特序列的开始位置以及结束位置的任何边界确认机制均属于本发明的保护范围。
另外,所提供的编码数据帧Din(例如,已编码FACCH帧)于标头字节承载了长度指示LI,用于指示原始数据比特的数据长度,长度指示LI可存取至初始译码数据帧,初始译码数据帧产生于步骤402,以及通过边界侦测模块306。根据长度指示LI所给的信息,可以估计出对应于添加到数据比特中的填充比特的虚拟比特序列的开始位置,其中,长度指示LI是读取至译码模块304所产生的初始译码数据帧。
请再次参考图4。于得知虚拟比特序列的边界后(例如,开始位置以及结束位置),流程进行至步骤408以使能第二环形维特比译码。于此实施例中,第二环形维特比译码包括译码位于虚拟比特序列的开始位置之前的已编码比特,以及译码位于虚拟比特序列的结束位置后的已编码比特。请参考图2中的FACCH帧,每个插入数据字节以及CRC字节之间的填充字节具有从LSB至MSB的预设字节模式0x2B。因此,于第二环形维特比译码的过程中,当译码虚拟比特序列的开始位置前的已编码比特时,译码模块304直接使用(1,1,0,1)作为结束状态,且当译码虚拟比特序列的结束位置后的已编码比特时,直接使用(0,1,0,0)作为开始状态。因为维特比译码算法是所属技术领域技术人员所知道的,所以省略对以上第二环形维特比译码的详细描述。
接下来,通过译码模块304输出部分译码结果至控制模块308。于步骤410,控制模块308通过组合部分译码结果重建原始FACCH帧,其中,部分译码结果包括对应于数据比特以及CRC比特的译码比特,以及多个预设字节模式,多个预设字节模式中的每一个对应于从开始位置至结束位置的边界内的虚拟比特序列。
于步骤412,根据其包括的错误校验信息(也就是,CRC比特),对于步骤410中产生的译码数据帧做完整性校验。如果译码数据帧(也就是,重建的FACCH帧)通过了完整性校验,表示译码数据帧中没有错误比特,流程进行至步骤414以输出译码数据帧作为编码数据帧Din的译码结果。也就是,因为重建FACCH帧被认为是品质优良的FACCH帧,所以输出的译码数据帧Dout是步骤410产生的重建FACCH帧。然而,如果译码数据帧没有通过完整性校验,表示译码数据帧仍然包括错误比特,则因为于步骤410产生的重建FACCH帧为品质不佳的FACCH帧,流程进行至步骤416以指示译码失败。于步骤418,用于译码编码数据帧Din的流程结束。
于以上实施例中,于第一环形维特比译码失败后,使能第二环形维特比译码以产生正确的译码结果。然而,根据设计需要,第一环形维特比译码于本发明其它实施例中是可选的。例如,当译码输入编码数据帧Din时,译码器300首先判断虚拟比特序列的边界,接着根据步骤406-414应用前述第二环形维特比译码。在此情况下,就不需要第一环形维特比译码。因为编码数据帧被分为已编码比特以及虚拟比特序列,其中,已编码比特将通过维特比译码被译码,而根据虚拟比特序列的边界确认的虚拟比特序列不需要维特比译码,译码模块304仅译码位于虚拟比特序列边界以外的已编码比特,而不是译码整个编码数据帧Din。通过这种方式,因为需要译码的已编码比特的数量减少了,所以维特比译码的效能提高了。需要注意的是,当虚拟比特序列的边界是由长度指示作为参考来判断时,需要第一环形维特比译码来产生初始译码数据帧,以提供通过原始FACCH帧的标头字节所承载的所需的长度指示信息,其中,虚拟比特序列是包括于已编码数据字节中。
另外,于以上实施例的流程中,在已知开始状态以及结束状态的情况下,根据虚拟比特序列边界以外的已编码比特使能第二环形维特比译码,以提高译码效能,其中,开始状态以及结束状态是通过预设字节模式(例如,从LSB至MSB的0x2B)给出的。然而,因为预设字节模式是已知的,通过预设字节模式直接替换编码数据帧中的每个虚拟比特序列,以保证虚拟比特序列的译码结果是正确的。这也提高了成功获得编码数据帧的可能性。在此变化设计中,译码模块304可以不执行第二环形维特比译码,且控制模块308根据多个预设字节模式通过更新第一环形维特比译码的译码结果产生译码数据帧Dout,其中,多个预设字节模式中的每一个对应于所确认的边界内的虚拟比特序列中的一个。请参考图8。图8为用于图3所示的译码器300的第二译码方法的流程图。图8所示的步骤类似于图4所示的步骤。对于以上的描述,步骤800,802,804,806以及步骤810,812,814,816的操作不需要解释,因此,在此省略更详细的描述。关于步骤808,对应于从开始位置至结束位置边界内的虚拟比特序列的部分译码结果被预设字节模式所替代,以直接移除数据比特中存在的任何错误比特。
需要注意的是,本发明的译码方案并不限于仅应用于FACCH帧。例如,上述译码方案可以应用于呼叫信道(paging channel,PCH)帧或封包数据传输信道(packet data traffic chanel,PDTCH)帧。简单来说,对于例如2G或3G系统的通信系统来说,本发明的译码方案可以应用于任何将填充比特添加到数据比特的两层帧。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中的技术人员,在不脱离本发明的范围内,可以做一些改动,因此本发明的保护范围应与权利要求所界定的范围为准。
Claims (21)
1.一种译码编码数据帧的方法,该编码数据帧包括多个虚拟比特序列,该多个虚拟比特序列中的每一个均产生于编码一预设字节模式,该方法包含:
利用软判决值、硬判决值或者长度指示来判断该编码数据帧中的该多个虚拟比特序列的边界,其中该边界包含开始位置与结束位置,判断该边界的步骤为已知该结束位置来估计该开始位置,或者先估计该开始位置然后得到该结束位置;
依据该多个虚拟比特序列来译码该边界外的已编码比特,并产生一部分译码结果,其中该边界外的已编码比特是根据维特比译码被译码,该边界内的该多个虚拟比特序列位于该多个已编码比特的第一部分以及该多个已编码比特的第二部分之间,该多个已编码比特的该第一部分以及该第二部分位于该边界外,以及该译码该边界外的该多个已编码比特的步骤包含:
根据作为该维特比译码的结束状态的该预设字节模式的第一部分,译码该多个已编码比特的该第一部分;以及
根据作为该维特比译码的开始状态的该预设字节模式的第二部分,译码该多个已编码比特的该第二部分;以及
根据该一部分译码结果以及多个预设字节模式产生译码数据帧,该多个预设字节模式中的每一个对应于该边界内的该多个虚拟比特序列中的一个。
2.根据权利要求1所述的译码编码数据帧的方法,其特征在于,该译码数据帧包含错误校验信息,以及该产生该译码数据帧的步骤进一步包含:
根据该错误校验信息,对该译码数据帧执行完整性校验;
当该译码数据帧通过该完整性校验,输出该译码数据帧作为该编码数据帧的译码结果;以及
当该译码数据帧没有通过该完整性校验,指示译码失败。
3.根据权利要求1所述的译码编码数据帧的方法,其特征在于,进一步包含:
译码该编码数据帧以产生初始译码数据帧,该初始译码数据帧包括错误校验信息;
根据该错误校验信息,对该初始译码数据帧执行完整性校验;
当该初始译码数据帧通过该完整性校验时,输出该初始译码数据帧作为该编码数据帧的译码结果;以及
当该初始译码数据帧没有通过该完整性校验时,执行判断该多个虚拟比特序列的该边界的该步骤以及产生该译码数据帧。
4.根据权利要求3所述的译码编码数据帧的方法,其特征在于,该编码数据帧是根据维特比译码被译码。
5.根据权利要求3所述的译码编码数据帧的方法,其特征在于,该多个虚拟比特序列被定义为添加到该多个已编码比特的第一部分且其后具有该多个已编码比特的第二部分,以及该判断该多个虚拟比特序列的该边界的步骤包含:
自该初始译码数据帧读取该长度指示,其中该长度指示表示多个原始比特的数据长度,该多个原始比特是对应于该多个已编码比特的该第一部分;以及
参考该长度指示,判断该边界开始于特定虚拟比特序列的引导比特,且结束于另一特定虚拟比特序列的终止比特,其中,该特定虚拟比特序列是紧邻于该多个已编码比特的该第一部分后,以及该另一特定虚拟比特序列是紧邻于该多个已编码比特的该第二部分前。
6.根据权利要求1所述的译码编码数据帧的方法,其特征在于,该判断该多个虚拟比特序列的该边界的步骤包含:
判断对应于该预设字节模式的理想虚拟比特序列;
获取该编码数据帧中每一比特的软判决值;
根据该理想虚拟比特序列以及该编码数据帧的多个软判决值获取多个软相关值;以及
根据该多个软相关值判断该边界。
7.根据权利要求6所述的译码编码数据帧的方法,其特征在于,该多个虚拟比特序列被定义为添加到该多个已编码比特的第一部分且其后具有该多个已编码比特的第二部分,以及该根据该多个软相关值判断该边界的步骤包含:
于不小于临界值的多个连续的软相关值以及包括对应于紧邻于该多个已编码比特的该第二部分前的虚拟比特序列的软相关值中,确定对应于最接近该多个已编码比特的该第一部分的特定虚拟比特序列的特定软相关值;以及
判断该边界开始于该特定虚拟比特序列的引导比特以及结束于另一特定虚拟比特序列的终止比特,其中,该另一特定虚拟比特序列紧邻于该多个已编码比特的该第二部分前。
8.根据权利要求1所述的译码编码数据帧的方法,其特征在于,该判断该多个虚拟比特序列的该边界的步骤包含:
判断对应于该预设字节模式的理想虚拟比特序列;
根据该编码数据帧中每一比特的软判决值,获取每一比特的硬判决值;
根据该理想虚拟比特序列以及该编码数据帧的多个硬判决值,获取多个硬相关值;以及
根据该多个硬相关值以决定该边界。
9.根据权利要求8所述的译码编码数据帧的方法,其特征在于,该多个虚拟比特序列被定义为添加到该多个已编码比特的第一部分且其后具有该多个已编码比特的第二部分,以及该根据该多个硬相关值判断该边界的步骤包含:
于不小于临界值的多个连续的硬相关值以及包括对应于紧邻于该多个已编码比特的该第二部分前的虚拟比特序列的硬相关值中,确定对应于最接近该多个已编码比特的该第一部分的特定虚拟比特序列的特定硬相关值;以及
判断该边界开始于该特定虚拟比特序列的引导比特以及结束于另一特定虚拟比特序列的终止比特,其中,该另一特定虚拟比特序列紧邻于该多个已编码比特的该第二部分前。
10.根据权利要求1所述的译码编码数据帧的方法,其特征在于,该判断该多个虚拟比特序列的该边界的步骤包含:
判断对应于该预设字节模式的理想虚拟比特序列;
获取该编码数据帧的每一比特的软判决值;
根据该编码数据帧的多个软判决值获取多个硬判决值;
根据该理想虚拟比特序列以及该编码数据帧的该多个软判决值,获取多个软相关值;
根据该理想虚拟比特序列以及该编码数据帧的该多个硬判决值,获取多个硬相关值;以及
根据该多个软相关值以及该多个硬相关值判断该边界。
11.根据权利要求10所述的译码编码数据帧的方法,其特征在于,该多个虚拟比特序列被定义为添加到该多个已编码比特的第一部分且其后具有该多个已编码比特的第二部分,以及该根据该多个软相关值以及该多个硬相关值以判断该边界的步骤包含:
于不小于第一临界值的多个连续的软相关值以及包括对应于紧邻于该多个已编码比特的该第二部分前的虚拟比特序列的软相关值中,确定对应于最接近该多个已编码比特的该第一部分的第一特定虚拟比特序列的特定软相关值;
于不小于第二临界值的多个连续的硬相关值以及包括对应于紧邻于该多个已编码比特的该第二部分前的虚拟比特序列的硬相关值中,确定对应于最接近该多个已编码比特的该第一部分的第二特定虚拟比特序列的特定硬相关值;
当该第一特定虚拟比特序列更接近于该多个已编码比特的该第二部分,而不是更接近于该第二特定虚拟比特序列时,判断该边界开始于该第一特定虚拟比特序列的引导比特以及结束于另一特定虚拟比特序列的终止比特,其中,该另一特定虚拟比特序列紧邻于该多个已编码比特的该第二部分前;以及
当该第二特定虚拟比特序列更接近于该多个已编码比特的该第二部分,而不是更接近于该第一特定虚拟比特序列时,判断该边界开始于该第二特定虚拟比特序列的引导比特以及结束于另一特定虚拟比特序列的终止比特,其中,该另一特定虚拟比特序列紧邻于该多个已编码比特的该第二部分前。
12.根据权利要求1所述的译码编码数据帧的方法,其特征在于,该编码数据帧是经由无线通信信道接收。
13.一种译码编码数据帧的方法,该编码数据帧包括多个虚拟比特序列,该多个虚拟比特序列中的每一个均产生于编码预设字节模式,该方法包含:
通过译码该编码数据帧,产生初始译码数据帧;
判断该编码数据帧中该多个虚拟比特序列的边界,其中该边界包含开始位置与结束位置,判断该边界的步骤为已知该结束位置来估计该开始位置,或者先估计该开始位置然后得到该结束位置,该多个虚拟比特序列被定义为添加到该多个已编码比特的第一部分且其后具有该多个已编码比特的第二部分,;以及该判断该多个虚拟比特序列的该边界的步骤包含:
从该初始译码数据帧中读取该长度指示,其中该长度指示表示多个原始比特的数据长度,该多个原始比特是对应于该多个已编码比特的该第一部分,以及
参考该长度指示,判断该边界开始于特定虚拟比特序列的引导比特,且结束于另一特定虚拟比特序列的终止比特,其中,该特定虚拟比特序列是紧邻于该多个已编码比特的该第一部分后以及该另一特定虚拟比特序列是紧邻于该多个已编码比特的该第二部分前;以及
通过替换该初始译码数据帧中每一虚拟比特序列产生已更新译码数据帧。
14.根据权利要求13所述的译码编码数据帧的方法,其特征在于,该初始译码数据帧包括错误校验信息,以及该产生该初始译码数据帧的步骤进一步包含;
根据该错误校验信息,对该初始译码数据帧执行完整性校验;
当该初始译码数据帧通过该完整性校验,输出该初始译码数据帧作为该编码数据帧的译码结果;以及
当该初始译码数据帧没有通过该完整性校验,执行判断该多个虚拟比特序列的该边界的该步骤以及产生该已更新译码数据帧。
15.一种译码编码数据帧的方法,该编码数据帧包括多个虚拟比特序列,该多个虚拟比特序列中的每一个均产生于编码预设字节模式,该方法包含:
通过译码该编码数据帧,产生初始译码数据帧;
判断该编码数据帧中该多个虚拟比特序列的边界,其中该边界包含开始位置与结束位置,判断该边界的步骤为已知该结束位置来估计该开始位置,或者先估计该开始位置然后得到该结束位置,以及该判断该多个虚拟比特序列的该边界的步骤包含:
判断对应于该预设字节模式的理想虚拟比特序列;
获取该编码数据帧的每一比特的软判决值;
根据该理想虚拟比特序列以及该编码数据帧的多个软判决值,获取多个软相关值;以及
根据该多个软相关值以判断该边界;以及
通过替换该初始译码数据帧中每一虚拟比特序列产生已更新译码数据帧。
16.根据权利要求15所述的译码编码数据帧的方法,其特征在于,该多个虚拟比特序列被定义为添加到该多个已编码比特的第一部分且其后具有该多个已编码比特的第二部分,以及该根据该多个软相关值以判断该边界的步骤包含:
确定特定软相关值,该特定软相关值不小于临界值且对应于最接近该多个已编码比特的该第二部分的特定虚拟比特序列;以及
判断该边界开始于该特定虚拟比特序列的引导比特以及结束于另一特定虚拟比特序列的终止比特,其中,该另一特定虚拟比特序列紧邻于该多个已编码比特的该第二部分前。
17.一种译码编码数据帧的方法,该编码数据帧包括多个虚拟比特序列,该多个虚拟比特序列中的每一个均产生于编码预设字节模式,该方法包含:
通过译码该编码数据帧,产生初始译码数据帧;
判断该编码数据帧中该多个虚拟比特序列的边界,其中该边界包含开始位置与结束位置,判断该边界的步骤为已知该结束位置来估计该开始位置,或者先估计该开始位置然后得到该结束位置,以及该判断该多个虚拟比特序列的该边界的步骤包含:
判断对应于该预设字节模式的理想虚拟比特序列;
根据该编码数据帧的每一比特的软判决值,获取每一比特的硬判决值;
根据该理想虚拟比特序列以及该编码数据帧的多个硬判决值,获取多个硬相关值;以及
根据该多个硬相关值以判断该边界;以及
通过替换该初始译码数据帧中每一虚拟比特序列产生已更新译码数据帧。
18.根据权利要求17所述的译码编码数据帧的方法,其特征在于,该多个虚拟比特序列被定义为添加到该多个已编码比特的第一部分且其后具有该多个已编码比特的第二部分,以及该根据该多个硬相关值以判断该边界的步骤包含:
确定特定硬相关值,该特定硬相关值不小于临界值以及对应于最接近该多个已编码比特的该第二部分的特定虚拟比特序列;以及
判断该边界开始于该特定虚拟比特序列的引导比特以及结束于另一特定虚拟比特序列的终止比特,其中,该另一特定虚拟比特序列紧邻于该多个已编码比特的该第二部分前。
19.一种译码编码数据帧的方法,该编码数据帧包括多个虚拟比特序列,该多个虚拟比特序列中的每一个均产生于编码预设字节模式,该方法包含:
通过译码该编码数据帧,产生初始译码数据帧;
判断该编码数据帧中该多个虚拟比特序列的边界,其中该边界包含开始位置与结束位置,判断该边界的步骤为已知该结束位置来估计该开始位置,或者先估计该开始位置然后得到该结束位置,以及该判断该多个虚拟比特序列的该边界的步骤包含:
判断对应于该预设字节模式的理想虚拟比特序列;
获取该编码数据帧的每一比特的软判决值;
根据该编码数据帧的多个软判决值,获取多个硬判决值;
根据该理想虚拟比特序列以及该编码数据帧的该多个软判决值,获取多个软相关值;
根据该理想虚拟比特序列以及该编码数据帧的该多个硬判决值,获取多个硬相关值;以及
根据该多个软相关值以及该多个硬相关值判断该边界;以及
通过替换该初始译码数据帧中每一虚拟比特序列产生已更新译码数据帧。
20.根据权利要求19所述的译码编码数据帧的方法,其特征在于,该多个虚拟比特序列被定义为添加到该多个已编码比特的第一部分且其后具有该多个已编码比特的第二部分,以及该根据该多个软相关值以及该多个硬相关值判断该边界的步骤包含:
确定特定软相关值,该特定软相关值不小于第一临界值且对应于最接近该多个已编码比特的该第二部分的第一特定虚拟比特序列;
确定特定硬相关值,该特定硬相关值不小于第二临界值以及对应于最接近该多个已编码比特的该第二部分的第二特定虚拟比特序列;
当该第一特定虚拟比特序列更接近于该多个已编码比特的该第二部分,而不是更接近于该第二特定虚拟比特序列时,判断该边界开始于该第一特定虚拟比特序列的引导比特以及结束于另一特定虚拟比特序列的终止比特,其中,该另一特定虚拟比特序列紧邻于该多个已编码比特的该第二部分前;以及
当该第二特定虚拟比特序列更接近于该多个已编码比特的该第二部分,而不是更接近于该第一特定虚拟比特序列,判断该边界开始于该第二特定虚拟比特序列的引导比特以及结束于另一特定虚拟比特序列的终止比特,其中,该另一特定虚拟比特序列紧邻于该多个已编码比特的该第二部分前。
21.一种用于译码编码数据帧的译码器,包括多个虚拟比特序列,该多个虚拟比特序列中的每一个均产生于编码预设字节模式,该译码器包含:
边界侦测模块,用以利用软判决值、硬判决值或者长度指示来判断该编码数据帧中该多个虚拟比特序列的边界,其中该边界包含开始位置与结束位置,判断该边界的步骤为已知该结束位置来估计该开始位置,或者先估计该开始位置然后得到该结束位置;
译码模块,耦接于该边界侦测模块,用于根据该预设字节模式,译码位于该边界外的该多个已编码比特,以产生一部分译码结果,依据该多个虚拟比特序列来译码该边界外的已编码比特,并产生一部分译码结果,其中该边界外的已编码比特是根据维特比译码被译码,该边界内的该多个虚拟比特序列位于该多个已编码比特的第一部分以及该多个已编码比特的第二部分之间,该多个已编码比特的该第一部分以及该第二部分位于该边界外,该译码模块更根据作为该维特比译码的结束状态的该预设字节模式的第一部分,译码该多个已编码比特的该第一部分;以及根据作为该维特比译码的开始状态的该预设字节模式的第二部分,译码该多个已编码比特的该第二部分;以及
控制模块,耦接于该边界侦测模块以及该译码模块,用以根据该一部分译码结果以及多个预设字节模式产生译码数据帧,其中,该多个预设字节模式中的每一个对应于该边界内的该多个虚拟比特序列中的一个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/936,795 US7924950B2 (en) | 2007-11-08 | 2007-11-08 | Method and apparatus of decoding encoded data frame having dummy bit sequences included therein |
US11/936,795 | 2007-11-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101431388A CN101431388A (zh) | 2009-05-13 |
CN101431388B true CN101431388B (zh) | 2014-03-12 |
Family
ID=40530726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810135051.XA Expired - Fee Related CN101431388B (zh) | 2007-11-08 | 2008-07-29 | 译码编码数据帧的方法及其译码器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7924950B2 (zh) |
CN (1) | CN101431388B (zh) |
DE (1) | DE102008010293A1 (zh) |
TW (1) | TWI365616B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2337227A1 (en) * | 2009-11-09 | 2011-06-22 | Research in Motion Limited | System and method for decoding a message using a priori information |
US8365050B2 (en) * | 2009-11-09 | 2013-01-29 | Research In Motion Limited | System and method for decoding a message using a priori information |
JP2012252530A (ja) * | 2011-06-03 | 2012-12-20 | Fujitsu Ltd | メモリコントローラ及び制御方法 |
CN102624493B (zh) * | 2012-04-20 | 2015-07-01 | 京信通信系统(中国)有限公司 | 接收机解码方法及装置 |
KR101950863B1 (ko) * | 2013-01-16 | 2019-02-22 | 삼성전자주식회사 | 무선 통신 시스템에서 신호 수신 장치와 블록 디코딩 유닛 및 그 제어 방법 |
CN106817192B (zh) * | 2015-11-30 | 2020-08-14 | 华为技术有限公司 | 一种错误估计的方法、基站及终端 |
US10340950B2 (en) * | 2017-08-21 | 2019-07-02 | Qualcomm Incorporated | Reducing the search space of maximum-likelihood decoding for polar codes |
BR112021009397A2 (pt) | 2018-11-14 | 2021-08-10 | Skywave Networks Llc | método para enquadramento de dados de baixa latência e baixo overhead para a comunicação de longa distância de capacidade limitada e sensível a atrasos |
CN111064782B (zh) * | 2019-12-12 | 2021-09-03 | 腾讯科技(深圳)有限公司 | 传输数据的方法、装置、电子设备及存储介质 |
CN114157395B (zh) * | 2021-11-05 | 2023-08-08 | 在线途游(北京)科技有限公司 | 一种基于变长整数编码的数据通信方法、装置及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7515658B2 (en) * | 2004-06-29 | 2009-04-07 | Stmicroelectronics Asia Pacific Pte. Ltd. | Method to adaptively scale the input to a channel decoder |
US7415041B2 (en) * | 2004-12-31 | 2008-08-19 | Motorola, Inc. | Method and apparatus for decoding data in a wireless communication system |
KR100826511B1 (ko) | 2006-06-27 | 2008-05-02 | 삼성전자주식회사 | 스터핑 바이트를 이용하여 에러정정 능력을 높일 수 있는장치와 방법 |
-
2007
- 2007-11-08 US US11/936,795 patent/US7924950B2/en not_active Expired - Fee Related
-
2008
- 2008-02-21 DE DE102008010293A patent/DE102008010293A1/de not_active Withdrawn
- 2008-07-23 TW TW097127942A patent/TWI365616B/zh not_active IP Right Cessation
- 2008-07-29 CN CN200810135051.XA patent/CN101431388B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
TW200922154A (en) | 2009-05-16 |
US20090122921A1 (en) | 2009-05-14 |
DE102008010293A1 (de) | 2009-05-14 |
US7924950B2 (en) | 2011-04-12 |
CN101431388A (zh) | 2009-05-13 |
TWI365616B (en) | 2012-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101431388B (zh) | 译码编码数据帧的方法及其译码器 | |
CA2273592C (en) | Processing of state histories in viterbi decoding | |
KR100292309B1 (ko) | 데이터 전송 방법, 데이터 전송 시스템과 송신기및 수신기 | |
EP0413505B1 (en) | Generalized viterbi decoding algorithms | |
US7765459B2 (en) | Viterbi decoder and viterbi decoding method | |
JP5180319B2 (ja) | 伝送されたメッセージについて複数の仮説を使用して復号する方式 | |
US7587005B2 (en) | Exploiting known padding data to improve block decode success rate | |
JPH0555932A (ja) | 誤り訂正符復号化装置 | |
JP2001007784A (ja) | データ伝送方法、データ伝送システム、送信装置および受信装置 | |
US6363513B1 (en) | Transmission system with adaptive channel encoder and decoder | |
GB2428545A (en) | Blind transport format detection with cyclic redundancy check and a variable threshold value | |
US7644346B2 (en) | Format detection | |
US10826541B2 (en) | Convolutional code decoder and convolutional code decoding method | |
US10720944B2 (en) | Convolutional code decoder and convolutional code decoding method | |
EP0981863B1 (en) | Method and apparatus for enhanced performance in a system employing convolutional decoding | |
WO1999062185A2 (en) | Transmission system having a simplified channel decoder | |
CN112073071B (zh) | 卷积码的编码、译码及信号传输方法 | |
JP4606852B2 (ja) | ビタービデコーダーを簡素化する方法 | |
US6842490B1 (en) | Viterbi decoder with adaptive traceback | |
CA2582043C (en) | Exploiting known padding data to improve block decode success rate | |
JP3445279B6 (ja) | データ伝送方法,データ伝送システムおよび送信装置,受信装置 | |
US8503585B2 (en) | Decoding method and associated apparatus | |
CN114337690A (zh) | 数据译码电路及方法 | |
KR100811376B1 (ko) | 통신시스템에서의 부호화 및 복호화 방법 | |
JPH04329026A (ja) | ビタビ復号器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140312 Termination date: 20180729 |