WO2012163135A1 - 一种信道译码方法及译码器 - Google Patents

一种信道译码方法及译码器 Download PDF

Info

Publication number
WO2012163135A1
WO2012163135A1 PCT/CN2012/072522 CN2012072522W WO2012163135A1 WO 2012163135 A1 WO2012163135 A1 WO 2012163135A1 CN 2012072522 W CN2012072522 W CN 2012072522W WO 2012163135 A1 WO2012163135 A1 WO 2012163135A1
Authority
WO
WIPO (PCT)
Prior art keywords
path
maximum likelihood
decoding
iteration
optimal
Prior art date
Application number
PCT/CN2012/072522
Other languages
English (en)
French (fr)
Inventor
王晓涛
钱骅
徐景
黄浩
杨旸
王芳
Original Assignee
上海无线通信研究中心
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from CN201110141150.0A external-priority patent/CN102801492B/zh
Priority claimed from CN201110202238.9A external-priority patent/CN102891690B/zh
Application filed by 上海无线通信研究中心 filed Critical 上海无线通信研究中心
Priority to US13/809,932 priority Critical patent/US9083385B2/en
Priority to EP12792409.0A priority patent/EP2717477B1/en
Publication of WO2012163135A1 publication Critical patent/WO2012163135A1/zh

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3738Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/413Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors tail biting Viterbi decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/1505Golay Codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/65253GPP LTE including E-UTRA

Definitions

  • the present invention relates to the field of information technology, and relates to a decoding method, and in particular, to a channel decoding method and a decoder.
  • BACKGROUND OF THE INVENTION In existing and next generation mobile communication network systems, in order to ensure reliable transmission of data and control signaling, the tail biting convolutional code is widely used in various mobile communication systems as a highly efficient coding scheme. From the early IS-54, to the current EDGE, WiMax and LTE, the tail biting convolutional code was used.
  • the reason why the tail-biting convolutional code can be used so widely is mainly because the convolutional code encoded by the tail-biting method not only eliminates the loss of the code rate caused by initializing the encoder with the known bits, but also the tail-biting structure can be used for all.
  • the information bits provide the same protection. It is precisely because of these advantages of the tail biting convolutional code that it is widely used in various communication systems as a coding method for control signaling.
  • the bite-tail coding protects the bit rate. For example, the broadcast channel in LTE has 40 bits after adding the cyclic redundancy check bit. If the 40-bit information sequence does not need to bite the tail. If the mode is coded, the bit rate loss will reach 13%.
  • the system using the tail-biting convolutional code as the communication standard for the control channel coding mode is: EDGE, WiMax, and LTE.
  • the tail biting convolutional code has many advantages, for the decoder, since the starting state and the ending state of the decoding are not known, the optimal decoding scheme based on the Viterbi algorithm is too complicated to implement, so there is no practical yet.
  • An optimal decoding scheme based on the Viterbi algorithm A large number of existing decoding algorithms are suboptimal decoding algorithms, such as the WAVA algorithm based on cyclic Viterbi decoding.
  • the technical problem to be solved by the present invention is to provide a channel decoding method and a decoder, which can realize optimal decoding of the tail biting convolutional code under low complexity.
  • the present invention adopts the following technical solutions.
  • a channel decoding method includes the following steps:
  • a channel decoding method comprising the following steps:
  • the decoder if present, the decoder outputs it as a decoding result; otherwise, it outputs P.
  • a channel decoder comprising the following modules:
  • An iterative module which is used to perform an iterative operation, that is, the i-th>l iteration, and initializes the initial state of the current state with the cumulative metric of the path terminating at the end of the last iteration.
  • execute the modified Viterbi algorithm find ⁇ , ⁇ ), find the optimal maximum likelihood path and its metric if there is a tail-biting path ⁇ MLTB ' ⁇ MLTB ) ' If ⁇ ML7B, nei ⁇ ⁇ MLTB, ⁇ ' J update ⁇ Wl3 ⁇ 4, ⁇ ⁇ MLTB ⁇ ⁇ MLTB '
  • the result output module is used to output the decoding result, that is, when ⁇ exists, ⁇ is output as the decoding result, otherwise P is output.
  • a channel decoder, the decoder comprising the following modules:
  • the likelihood path is equal to the maximum likelihood path, ie
  • the iterative module is used to perform the iterative operation, that is, the i-th>1 iteration, and the initial state of the current state is initialized with the path cumulative metric value ending at the state at the end of the last iteration, that is, M ⁇ z Mi; 1 ( , performing correction Viterbi algorithm; find ⁇ , ⁇ ), find the optimal maximum likelihood path and its metric if there is a tail-biting path ⁇ MLTB ' ⁇ MLTB,net ) ' If ⁇ MLTB,net > ⁇ MLTB , ⁇ ' J update ⁇ MLTB, ⁇ MLTB ⁇ ⁇ MLTB '
  • An iterative decision module that is used according to preset conditions, if condition ⁇ or
  • the result output module is used to output the decoding result, that is, when / ⁇ 5 exists, / ⁇ 5 is output as the decoding result, otherwise P is output.
  • the beneficial effects of the present invention are as follows:
  • the channel decoding method of the present invention excludes all possible states by multiple iterations, and only the initial state of the tailing path which is most similar to the receiving sequence survives, and finally the algorithm converges to The optimal tail-biting path output; in addition, it updates the metric of the maximum likelihood biting path by the obtained surviving tailing path or from the starting state (excluding, effectively solving the algorithm caused by the loop trap problem)
  • the non-convergence solves the dilemma of the practical optimal decoding algorithm for the tail-biting convolutional code, reduces the complexity of the existing decoding scheme, reduces the number of iterations, and saves the storage space in the decoding process.
  • Figure 1 is a flow chart of a bite-tailed pattern.
  • Figure 2 is a flow chart of a channel decoding method according to Embodiment 2 of the present invention.
  • Figure 3 is a diagram of decoding of a bite-tail convolutional code decoding according to an embodiment of the present invention.
  • Figure 5 is an information bit length of the embodiment of the present invention and the WAVA algorithm.
  • FIG. 8 is a graph showing a comparison of block error rate performance of a grouped Golay code decoding represented by a WAVA algorithm in an embodiment of the present invention.
  • FIG. 9 is a graph comparing the block error rate performance of the grouped Golay code decoding represented by the WAVA algorithm in the embodiment of the present invention.
  • the present invention proposes a practically superior decoding algorithm based entirely on a cyclic Viterbi algorithm, namely a tail biting convolutional code decoding method.
  • the decoding method can realize the optimal decoding of the tail biting convolutional code under low complexity, and the method of the invention can also achieve the low complexity optimal for the block code which can be represented by the bite-tailed trellis diagram. Decoding.
  • the channel decoding method of the present invention is applicable to existing wireless communication systems (such as EDGE), and is also applicable to decoding of tail-biting convolutional codes in next-generation mobile communication systems (such as WiMax, LTE);
  • the block code represented by the bite-tailed grid is also valid (eg, (24, 12) Golay code).
  • the channel decoding method according to the present invention is a low complexity and practical optimal decoding scheme for the tail biting convolutional code, that is, a maximum likelihood decoding algorithm.
  • the invention is based on a circular Viterbi Algorithm (CVA), and according to the received soft information sequence, iteratively excludes the impossible starting state one by one, and finally finds the optimal tailing path.
  • CVA circular Viterbi Algorithm
  • the decoding method of the invention speeds up the convergence speed of the decoder by effectively processing the loop trap, and the algorithm is simple and easy to implement, and has important application value.
  • the initial state of the encoder is initialized with the last few bits of the information bit, so that when the encoding ends, the end state of the encoder is the same as the initial state, which is the "biting tail”. ".
  • This embodiment provides a channel decoding method for finding an optimal tailing path by executing a cyclic Viterbi algorithm. During the loop, it may happen that all the surviving paths obtained by the two loops are exactly the same. This situation is called a loop trap.
  • the channel decoding method detects the loop trap and speeds up the convergence of the algorithm by effectively processing the loop trap.
  • ⁇ ⁇ ? (represents the metric of the surviving path entering the state s at the position.
  • ⁇ ' ⁇ ( ⁇ ) indicates the state starting at the ith iteration ( , ending In the first iteration, the net increment of the surviving path ⁇ 0 ⁇ ), expressed as M ⁇ O ⁇ ), represents the metric of all branches on the path in this iteration.
  • MLP maximum likelihood path
  • MLTBP maximum likelihood tail-biting path
  • the net increment of the defined state s is,rank» ⁇ ( _ ⁇ . (. Use P TBP , M M R LTBP to record the optimal maximum likelihood biting path and its metrics found until the current iteration)
  • the path net increment of the surviving path ending in each state is greater than M rap and less than M rap .
  • the variable m (0 records the net increment of the path at the end of this iteration is greater than M The number of rap 's surviving paths.
  • the flow of the channel decoding method is as shown, and specifically includes the following steps:
  • Step 102
  • the decoding algorithm proposed in the present invention eventually converges to the optimal tailing path.
  • the decoding method of the present invention can be applied to channel decoding in existing and next generation mobile communication systems; it solves the dilemma that the tail-biting convolutional code has no practical optimal decoding algorithm, and reduces the existing decoding.
  • the channel decoding method ie, the tail-biting convolution decoding method described in the first embodiment is recorded as a reduced-complexity maximum likelihood decoder (RC-MLD), and Compare this to the WAVA algorithm, which uses a simple termination condition.
  • This embodiment compares the block error rate performance (BLER) of RC-MLD and WAVA with the required average number of iterations (ITER).
  • the simulation conditions are as follows: AWGN channel, the coded bits are modulated by quadri phase shift keying (QPSK).
  • QPSK quadri phase shift keying
  • N 20.
  • RC-MLD method since the maximum number of iterations that may be required in theory is ⁇ , different settings are made according to different application scenarios.
  • the first set of simulation experiments Compare the decoding performance of different decoding algorithms for the tail-biting convolutional code.
  • the header of the Type 5 packet data block in EDGE is coded with a bit rate of 1/3 of the bite-tail convolution.
  • the generator polynomial of the convolutional code is ⁇ 133, 171 , 145 ⁇ , and the constraint length is 7, so the maximum number of iterations of the RC-MLD is set to 64.
  • the header of the data header sent to the encoder is 36 bits, and punching is not considered here.
  • tail-biting coding can reduce the effective bit rate loss by 15%.
  • Table 1 The simulation results are shown in Table 1.
  • Table 1 Decoding performance of different decoding algorithms in EDGE scenarios Second, look at the application of the tail biting convolutional code in LTE.
  • the convolutional code of the convolutional code used in the broadcast channel in LTE is ⁇ 133, 171 , 165 ⁇ , the code rate is 1/3, and the constraint length is 7, so the maximum number of iterations of RC-MLD is set to 64; input to the encoder
  • the information sequence is 40 bits long. If the tail-biting method is not used, the effective bit rate loss of the actual transmission reaches 13%.
  • Table 2 Decoding performance of different decoding algorithms in LTE scenarios
  • the second set of simulation experiments Compare the decoding performance of different decoding algorithms for special block codes.
  • This codeword can be generated by a convolutional code encoder with a code rate of 1/2 and a constraint length of 7, generating a polynomial of ⁇ 103,166 ⁇ .
  • the maximum allowed number of iterations for RC-MLD is set to 64.
  • Figure 1 depicts a trellis diagram of a tail-biting convolutional code with a code rate of 1/2 and a polynomial of ⁇ 7,5 ⁇ .
  • the left side is a bite-tailed trellis diagram corresponding to a bite-tailed convolutional code of length 8.
  • the generator polynomial is expressed in octal as ⁇ 7, 5 ⁇ ; the right side is the butterfly diagram corresponding to the code.
  • the number next to the real circle is the status value, and the number on the line is the encoded output value.
  • the biting tail trellis diagram has a state at each position, where 0 ⁇ ⁇ L-1, V is the number of encoding registers, and L is the length of the information sequence. Use & to indicate the state space at the location.
  • the tail-biting convolutional decoding method of each cycle will get a maximum likelihood path (codeword) P ML, ⁇ ⁇ £ sometimes not optimized tail biting path, the need to enter the next iteration. The loop will continue until the preset termination condition is met.
  • P S denotes the initial state of the surviving path ending in state s , where s S L is specified.
  • This embodiment uses « to record the optimal maximum likelihood path and its metric value found until the current iteration, and uses P LTB , M TB to record the optimal maximum likelihood biting path found until the current iteration and Its metric. Finally, the maximum number of iterations allowed is .
  • the above conditions can effectively detect the occurrence of the loop and terminate the iteration in time.
  • this embodiment provides a more efficient channel decoding method (Early-terminated CVA: ET-CVA). The following specific steps of the method are given below:
  • the decoder if present, the decoder outputs it as a decoding result; otherwise, outputs P
  • This embodiment provides a third higher efficiency channel decoding method, which includes the following steps:
  • the decoder if present, the decoder outputs it as a decoding result; otherwise, it outputs P.
  • the embodiment provides a decoder for implementing the channel decoding method according to the third embodiment.
  • the decoder includes the following modules:
  • An iterative module which is used to perform an iterative operation, that is, the i-th>l iteration, and initializes the initial state of the current state with the cumulative metric of the path terminating at the end of the last iteration.
  • the result output module is used to output the decoding result, that is, when ⁇ exists, ⁇ is output as the decoding result, otherwise P is output.
  • the embodiment provides a decoder for implementing the channel decoding method according to the fourth embodiment, and the decoder includes the following modules:
  • the iterative module is used to perform the iterative operation, that is, the i-th>l iteration, and the initial state of the current state is initialized with the path cumulative metric value ending in the state of 5 at the end of the last iteration, ie ⁇ - 1 ( Modified Viterbi algorithm; find ⁇ , ⁇ ), find the optimal maximum likelihood path and its metric if there is a tail-biting path ⁇ MLTB ' ⁇ MLTB,net ) ' If ⁇ ML7B, nei ⁇ ⁇ MLTB, ⁇ ' J update ⁇ j3 ⁇ 4, ⁇ ⁇ MLTB ⁇ ⁇ MLTB '
  • the result output module is used to output the decoding result, that is, when ⁇ exists, ⁇ ⁇ is output as the decoding result, otherwise P is output.
  • the decoder of the invention significantly reduces the decoding complexity, reduces the number of iterations, reduces the complexity of decoding, and saves the storage space in the decoding process;
  • the channel decoding method and decoder are effective not only for the tail biting convolutional code, but also for the ordinary block code that can be represented by the bite-tailed trellis diagram.
  • the performance of the channel decoding methods described in Embodiments 3 and 4 will be described below by two specific simulation examples. The simulation here is based on the Additive White Gaussion Noise (AWGN) channel, which is the symbol of QPSK modulation.
  • AWGN Additive White Gaussion Noise
  • the first simulation is for a tail biting convolutional code.
  • the simulation uses the convolutional code in LTE.
  • the generator polynomial is expressed in octal as ⁇ 133, 171, 165 ⁇ , and the maximum number of iterations is 20.
  • the block error ratio (BLER) and the average number of iterations (Average Number of Iterations: AND performance comparison curves) of the method and the WAVA algorithm are given below.
  • the second simulation is for a block code that can be represented by a bite-tailed grid.
  • Golay code For the (24, 12) Golay code, we use ET-CVA (1 and 2) and the WAVA algorithm to decode the block error ratio (BLER) and the average number of iterations (Average Number of Iterations). : AND performance is shown in Figures 8 and 9.
  • the new tail-biting convolutional code decoding method not only reduces the complexity of decoding, reduces the number of iterations, but also saves the storage space in the decoding process; Not only is it effective for the tail biting convolutional code, but it is also effective for ordinary block codes that can be represented by a bite-tailed grid pattern.
  • the channel decoding method and decoder of the present invention are effective not only for the tail biting convolutional code, but also for the ordinary block code which can be represented by the bite lattice pattern.
  • the description and application of the present invention are illustrative, and are not intended to limit the scope of the present invention.

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种信道译码方法及译码器,该译码方法是基于循环维特比译码算法,根据接收到的软信息序列,通过迭代对不可能的起始状态逐一排除,最终寻找到最优咬尾路径。本发明通过多次迭代将所有不可能的状态排除,只有和接收序列最相似的咬尾路径的起始状态才幸存下来,最后算法收敛到最优的咬尾路径输出;此外,它还通过得到的幸存咬尾路径来更新最大似然咬尾路径的度量值或者从起始状态中将不可能的起始状排除,有效地解决了循环陷阱问题导致的算法不收敛性,解决了咬尾卷积码没有实用的最优译码算法的困境,降低了现有译码方案的复杂度,节省了存储空间。

Description

一种信道译码方法及译码器
技术领域 本发明属于信息技术领域, 涉及一种译码方法, 尤其涉及一种信道译码方法及译码器。 背景技术 在现有的以及下一代移动通信网络系统中, 为保证数据和控制信令的可靠传输, 咬尾卷 积码作为一种高效率的编码方案被广泛应用在各种移动通信系统中。 从早期的 IS-54, 到当 前的 EDGE、 WiMax 和 LTE 都用到了咬尾卷积码。 咬尾卷积码之所以能被如此广泛的应 用, 主要是因为采用咬尾方式编码的卷积码不仅消除了用已知比特初始化编码器所导致的码 率损失, 同时咬尾结构可以对所有的信息比特提供相同的保护能力。 正是因为咬尾卷积码的 这些优点, 它被广泛应用在各种通信系统中, 作为控制信令的编码方式。 对于较短的信息序 列, 咬尾编码对码率的保护是很可观的, 比如 LTE 中广播信道, 在加了循环冗余校验比特 之后共有 40 比特, 这 40 比特的信息序列如果不用咬尾方式编码的话, 码率损失将达到 13%。 目前采用咬尾卷积码作为控制信道编码方式通信标准的系统有: EDGE、 WiMax 和 LTE等。 咬尾卷积码虽然有很多优点, 但是对于译码器来说, 由于不知道译码的起始状态和终止 状态, 基于维特比算法的最优译码方案实现过于复杂, 因此目前还没有实用的基于维特比算 法的最优译码方案。 现有的大量译码算法都是次优译码算法, 比如基于循环维特比译码的 WAVA算法。 为了寻找咬尾卷积码的最优译码算法, 一些学者将图论中的最短路径搜索算法 用在咬尾卷积码的译码算法中, 通过合理设计启发函数 (heuristic function), 得到了一种两 步的最大似然译码算法。 算法的第一步通过修正的维特比算法得到每个时刻各条幸存路径的 累积度量值, 算法的第二步通过最短径搜索算法得到最优路径输出。 这类译码器在两个步骤 里面采用了完全不同的搜索方法, 这对实际应用来说复杂度过高。 且此类算法虽然减少了部 分计算量, 但是采用的启发式搜索需要大量的入栈、 出栈操作, 队列排序操作, 最重要的是 对存储空间的利用率低。 由于分配空间的时候必须按照最大存储空间来分配, 这就导致了大 量存储空间的低利用率。 虽然在第二步中这类算法搜索的分支相对于 WAVA 算法来说大大 减少, 但是由于是在启发函数的指导下去搜索当前 f 函数值最小的路径, 所以整个算法是串 行执行, 实际的执行周期要大于 2循环的维特比算法。 发明内容 本发明所要解决的技术问题是: 提供一种信道译码方法及译码器, 该译码方法可以在低 复杂度下实现咬尾卷积码的最优译码。
为解决上述技术问题, 本发明采用如下技术方案。
一种信道译码方法, 包括以下步骤:
5101, 第一次迭代, g^=l时, 初始化所有从位置 0 处进入到状态 s的幸存路径的度量 值 Λ^αί¾,。( 为 0, 其中 , 表示位置 0 处的状态空间, 表示迭代次数; 令最优的最 大似然咬尾路径的度量值 M rai) =0 ; 执行修正的维特比算法, 寻找最大似然咬尾路径; 对 所有
Figure imgf000004_0001
{s);
5102, 如果当前迭代找到的最大似然咬尾路径的净增量 ^^大于所述最优的最大似 然咬尾路径的度量值 M rap, 即 M^rap >M rap, 则更新所述最优的最大似然咬尾路径 为当前迭代找到的最大似然咬尾路径 , 即 P = PLTBP^^'), 更新所述 最优的最大似然咬尾路径的度量值 M rap为当前迭代找到的最大似然咬尾路径的净增量
M MLTBP, 艮卩 M MLTBP― M MLTBP (5", 5" );
5103, 对于 se , 其中 L为信息序列的长度, 表示位置 L处的状态空间, 比较状态 s的净增量 Mstafe,„rf ( 和最后更新的最大似然咬尾路径的度量值 M rap的大小, 若 M—(s)<=MM R LTBP , 则令 M „» = 0, M 。 W=0 ; 否则令 :;¾,。( = ( , 并 判断 Mstate,net (s)>M L (s)-M W是否成立, 若成立则更新状态 s的状态净增量为
M L(s -M O(S ' 统计状态净增量大于 的状态个数, 并将所述状态个数保存在 sum(i)中;
5104, 若 ^( ) = 0, 则停止迭代, 输出最优的最大似然咬尾路径 否则, 若 sumii) = sum(i-i), 则以状态 ( 作为固定的起始和终止状态作一次维特比译码, 获得咬尾 路径 ^ )及其度量值 ^;^ ^ ( ); ^Μ^β^,βί ^Μ , 则更新最优的 最大似然咬尾路径 /^^>为^0^( , ( ), 更新最优的最大似然咬尾路径的度量值 为 MTB( (s (s)); 并令状态^ ( 的状态度量值 Mstafe = 0, Μρ ι (β(8)) = 0;
5105, 令画 ( )=0, 执行下一次迭代, 即重复 S102至 S104。 种信道译码方法, 所述方法包括以下步骤: S201, 当 i=l, 即第一次迭代时, 初始化所有的起始状态的累积度量值为 0,即 M0'(s) = 0, 其中 , 执行修正的维特比算法;
5202, 如果最大似然路径等于最优咬尾路径, 即 ^=i ra, 则停止译码, 将 作为 译码结果输出; 否则保存/ ^, 使最优最大似然路径等于最大似然路径, 即 Ρ = /1;如果 Μ1 > , 今 PR = P1 , MR = M1 ·
5203, 第 i〉l次迭代, 用上次迭代结束时终止于 状态的路径累积度量值 M -1 ( 初始化 本次的起始状态 s, 即令
Figure imgf000005_0001
( , 执行修正的维特比算法; 找到( £,Μ^„), 如 果有咬尾路径则找出最优的最大似然路径及其度量值 P TB NJ; 如果
1V1 M'LTB, net - ^> 1 MV1 MRLTB, liliJl审d新j i P MRLTB, P,U^ ^ P MRLTB =― 1 P MjLTB .,
5204, 如果条件 或者 Mi t =MR 中任何一条满足, 则停止译 码, 并执行 S206, 否则继续执行 S205;
5205, , net >MR 更新 M^ra, 即令 ^^^=^ ^^; 如果没有达到最大 迭代次数, 回到 S203; 否则执行 S206;
5206, 如果 存在, 译码器将其作为译码结果输出; 否则输出 P 。 一种信道译码方法, 所述方法包括以下步骤:
5301, 当 i=l, 即第一次迭代时, 初始化所有的起始状态的累积度量值 ( =0为 0, 其中 , 执行修正的维特比算法;
5302, 如果最大似然路径等于最优咬尾路径, 即 ^=i ra, 则停止译码, 将 作为 译码结果输出; 否则保存 i^, 使最优最大似然路径等于最大似然路径, 即 = 如果
1 MV1 M1LTB > ^ 0 W ', 令 ^ 1 P MRLTB = 1 P M1LTB,, 1 MV1 MRLTB = 1 MV1 MlLTB ·,
S303, 第 i〉l次迭代, 用上次迭代结束时终止于 状态的路径累积度量值 ( 初始化 本次的起始状态
Figure imgf000005_0002
, 执行修正的维特比算法; 找到( £,Μ^„), 如 果有咬尾路径则找出最优的最大似然路径及其度量值 P TB NJ; 如果
1V1 M'LTB, net - ^> 1 MV1 MRLTB, liliJl审d新j i P MRLTB, P,U^ ^ P MRLTB =― 1 P MlLTB .,
S304, 如果条件 MMi M 或者 MMiL,net 中任何一条满足, 则停止译 码, 并执行 S306, 否则继续执行 S305; 5305, t >MR 更新 M ra, 即令 M ra=M^ra ; 如果没有达到最大 迭代次数, 回到 S303; 否则执行 S306;
5306, 如果 存在, 译码器将其作为译码结果输出; 否则输出 P 。 一种信道译码器, 所述译码器包括以下模块:
初始化模块, 用来第一次迭代时, 即当 i=l 时, 初始化所有的起始状态的累积度量值 ( =0为 0, 其中 , 执行修正的维特比算法;
判断模块, 用来判断最大似然路径是否等于最优咬尾路径, 即 PH 如果结果为 是, 则停止译码, 将 作为译码结果输出; 否则保存 i^, 使最优最大似然路径等于最大 似然路径, 即 =/ ; 如果 M^ra >0, PLTB=Pl MR =Ml
迭代模块, 用来进行迭代运算, 即第 i〉l 次迭代, 用上次迭代结束时终止于 状态的路 径累积度量值 初始化本次的起始状态 即令
Figure imgf000006_0001
, 执行修正的维特比算 法; 找到 ΟΡ^,Μ^^), 如果有咬尾路径则找出最优的最大似然路径及其度量值 ^MLTB ' ^ MLTB ) ' 如果^ ML7B,nei ^ ^ MLTB, 贝' J更新^ Wl¾, 艮卩 ^ ^MLTB― ^MLTB '
迭代判断模块, 用来根据预先设定的条件, 即如果条件
Figure imgf000006_0002
或者
Figure imgf000006_0003
中任何一条满足, 则停止译码, 并在 /^^存在时, 进行结果输出模块的结 果输出, 否则如果 ^^>^^^, 更新 M ra, 即令 M ra=M^ra 如果没有达到最 大迭代次数, 继续进行迭代模块的运算;
结果输出模块, 用来进行译码结果的输出, 即在 /^^存在时, 将 ^^^作为译码结果输 出, 否则输出 P 。 一种信道译码器, 所述译码器包括以下模块:
初始化模块, 用来第一次迭代时, 即当 i=l 时, 初始化所有的起始状态的累积度量值 ( =0为 0, 其中 , 执行修正的维特比算法;
判断模块, 用来判断最大似然路径是否等于最优咬尾路径, 即 ^ = ¾ra, 如果结果为 是, 则停止译码, 将 作为译码结果输出; 否则保存/ ^, 使最优最大似然路径等于最大 似然路径, 即
Figure imgf000006_0004
迭代模块, 用来进行迭代运算, 即第 i〉l 次迭代, 用上次迭代结束时终止于 状态的路 径累积度量值 初始化本次的起始状态 即令 M^^ z Mi;1 ( , 执行修正的维特比算 法; 找到 ΟΡ^,Μ^^), 如果有咬尾路径则找出最优的最大似然路径及其度量值 ^MLTB ' ^ MLTB,net ) ' 如果 ^ MLTB,net > ^ MLTB, 贝' J更新 ^MLTB, 艮卩令 ^MLTB ― ^MLTB '
迭代判断模块, 用来根据预设的条件, 如果条件 Μ 或者
M 中任何一条满足, 则停止译码, 并在 /^^存在时, 进行结果输出模块的结 果输出, 否则如果 ^^ > ^^^, 更新 M ra, 即令 M ra = M^ra 如果没有达到最 大迭代次数, 则继续进行迭代模块的运算;
结果输出模块, 用来进行译码结果的输出, 即在 /^ 5存在时, 将 /^ 5作为译码结果输 出, 否则输出 P 。 本发明的有益效果在于: 本发明所述的信道译码方法通过多次迭代将所有不可能的状态 排除, 只有和接收序列最相似的咬尾路径的起始状态才幸存下来, 最后算法收敛到最优的咬 尾路径输出; 此外, 它还通过得到的幸存咬尾路径来更新最大似然咬尾路径的度量值或者从 起始状态中将 ( 排除, 有效地解决了循环陷阱问题导致的算法不收敛性, 解决了咬尾卷 积码没有实用的最优译码算法的困境, 降低了现有译码方案的复杂度, 减少了迭代次数, 而 且节省了译码过程中的存储空间。 附图说明 图 1为咬尾格形图。 图 2为本发明实施例二所述的信道译码方法的流程图。 图 3为本发明实施例一种实现咬尾卷积码译码的译码器组成示意图。 图 4为本发明实施例和 WAVA算法在信息比特长度 L=24时的误块率性能比较曲线图。 图 5为本发明实施例和 WAVA算法在信息比特长度 L=24时的平均迭代次数性能比较曲 线图。 图 6为本发明实施例和 WAVA算法在信息比特长度 L=64时的误块率性能比较曲线图。 图 7为本发明实施例和 WAVA算法在信息比特长度 L=64时的平均迭代次数性能比较曲 图 8为本发明实施例和 WAVA算法对咬尾格形图表示的分组 Golay码译码的误块率性 能比较曲线图。 图 9为本发明实施例和 WAVA算法对咬尾格形图表示的分组 Golay码译码的误块率性 能比较曲线图。
具体实施方式 针对现有算法存在的这些问题, 本发明提出了一种完全基于循环维特比算法的实用的最 优的译码算法, 即咬尾卷积码译码方法。 该译码方法可以在低复杂度下实现咬尾卷积码的最 优译码, 同时对于可以用咬尾格形图表示的分组码, 本发明所述方法同样可以实现低复杂度 的最优译码。 本发明所述的信道译码方法适用于现有无线通信系统 (如 EDGE), 也适用于下一代移动 通信系统 (如 WiMax, LTE) 中咬尾卷积码的译码; 同时, 对于可以用咬尾格形图表示的分 组码也是有效的 (如 (24, 12) 的 Golay码)。
本发明所述的信道译码方法是咬尾卷积码的一种低复杂度的、 实用的最优译码方案, 即 极大似然译码算法。 本发明基于循环维特比译码算法 (Circular Viterbi Algorithm, CVA), 根据接收到的软信息序列, 通过迭代对不可能的起始状态逐一排除, 最终寻找到最优 咬尾路径。 本发明所述译码方法通过对循环陷阱的有效处理, 加快了译码器的收敛速度, 同 时算法简单、 易于实现, 有重要应用价值。
下面结合附图对本发明的具体实施方式作进一步详细说明。 实施例一
对于咬尾卷积码来说, 编码器的初始状态是用信息比特的最后几位来初始化的, 这样当 编码结束的时候, 编码器的结束状态和初始状态是一致的, 这就是 "咬尾"。
本实施例提供一种信道译码方法, 该方法通过执行循环维特比算法寻找最优的咬尾路 径。 在循环的过程中, 可能会出现两次循环得到的所有幸存路径完全一样的情况, 这种情况 被称为循环陷阱。 所述信道译码方法会对循环陷阱进行检测, 并通过对循环陷阱的有效处理 加快算法的收敛速度。
如图 1所示的格形图, 它由生成多项式为 {7, 5} (八进制) 卷积编码器得到。 其中每个 位置 处有 4个状态, 格形图总长度为 L=8, g卩 0≤ ≤7。 图中每个位置 处的状态空间为 Sk ={00,01,10,11}。
设: 格形图在每个位置 处有 个状态, 其中 0≤ ≤L-1, V为编码寄存器的个数, L 为信息序列的长度, 表示位置 处的状态空间, =L即为 =0处。
设: 在第 次迭代中, Λ^αί? ( 表示的是在位置 处进入到状态 s的幸存路径的度量 值。 Ρ'Ο^(^ )表示第 i次迭代中起始于状态 ( , 结束于状态 的幸存路径, 这里 。 在第 次迭代中, 幸存路径^0^), 的净增量表示为 M^^O^), , 它表示本次迭代中该 路径上所有分支的度量值之和, 即 ^。一0^), = »_ ^。0^))。 设第 i 次迭代 中获得的最大似然路径 (maximum likelihood path, MLP)为 ΡΜυ>(β( }, , 获得最大似然 咬尾路径 ( maximum likelihood tail-biting path, MLTBP ) 及其路径净增量分别为
P (S 'S ) ' net , S )。
同理, 定义状态 s的净增量为 ,„» ^( _ ^。 ( 。 用 P TBP,MM R LTBP、来 记录到当前迭代为止找到的最优的最大似然咬尾路径及其度量值。 第 i次迭代结束以后, 结 束于各个状态的幸存路径的路径净增量中有大于 M rap的也有小于 M rap的。 用变量 m(0记录本次迭代结束时路径净增量大于 M rap的幸存路径的条数。
所述信道译码方法的流程如所示, 具体包括以下步骤:
Step 101:
当 l, 即第一次迭代时, 初始化所有从位置 0 处进入到状态 s的幸存路径的度量值
Μίαί。( 为 0, 即 Μ^¾。( =0, 其中 , 表示位置 0 处的状态空间, 表示迭代次 数; 令最优的最大似然咬尾路径的度量值 ^为 0, 即
Figure imgf000009_0001
执行修正的维特比算 法 (Modified Viterbi Algorithm, MVA), 寻找最大似然咬尾路径 „^(^ '); 对所有 , 令状态 s的净增量 Μ^„»Μ;^ ( 。 ( 表示在第一次迭代时在位置 L处 进入到状态 s的幸存路径的度量值。
Step 102:
找到最大似然路径/ ^ , 和最大似然咬尾路径/^ , 如果当前迭代找到的 最大似然咬尾路径 的净增量 Mi^ 大于所述最优的最大似然咬尾路径的度量值
MM R LTBP , 即 M rap >M rap, 则更新所述最优的最大似然咬尾路径 为当前迭代找到的 最大似然咬尾路径 i^rai)(s '), 即
Figure imgf000010_0001
更新所述最优的最大似然咬尾路径 的度量值 MM R LTBP 为当前迭代找到的最大似然咬尾路径的净增量 NTMLTBP , 即 l Myl MRLTBP = l Μyl Μ'·ΙΤΒΡ
Figure imgf000010_0002
°
Step 103
对于 , 其中 L为信息序列的长度, 表示位置 L处的状态空间; 比较状态 s的净 增量 Μ—( )和最后更新的最大似然咬尾路径的度量值 MM R LTBP 的大小, 若 M—(s)<=MM R LTBP, 则令 0 M 。 W=0; 否则令 ,。( = ( , 并 判断 M , nJs、 M^^-M^is)是否成立, 若成立则更新状态 s的状态净增量 Μ^ ΆΜ^^-Μ^»; 统计状态净增量大于 M rap的状态个数, 并将所述状态 个数保存在 中。
Step 104
若 ^( ) = 0, 则停止迭代, 输出最优的最大似然咬尾路径 ; 否则, 若 sumii) = sum(i-i), 则以状态 ( 作为固定的起始和终止状态作一次维特比译码, 获得咬尾 路径 ^ )及其度量值 ^;^ ^ ( ); 若 ΜΤΒ(β( 、,β(^>Μκ , 则更新最优的 最大似然咬尾路径 /^^>为^0^( , ( ), 更新最优的最大似然咬尾路径的度量值 为 M s)H 并令状态 ( 的状态净增量 MstoferfW( ) =0, 令第 41次迭代中起始于 状态 A 的路径度量值 Μ 。( ( ) =0
Step 105
令™m()=0, 执行下一次迭代, 即重复 Step 102至 St印 104
下面将说明所述信道译码方法的最优性:
(1) 若第一次迭代找到的最大似然路径和最大似然咬尾路径相同, 则 step 3中计算的 sum(\) = 0 , 这样在 st印 5中可以将最大似然咬尾路径输出。
(2) 在迭代中通过检测状态净增量 Mstafe ( 和 M rap的大小关系, 将不可能的起始 状态从 中排除出去, 这样通过多次迭代, 所有不可能的状态都被排除, 只有和接收序列 最相似的咬尾路径的起始状态才幸存下来, 最后算法收敛到最优的咬尾路径输出。
(3) 当出现循环陷阱的时候, 会有方程 目( ) = 画 成立, 这时利用上次迭代中 得到的最大似然路径的起始状态 ( 作常规维特比译码, 并通过得到的幸存咬尾路径来更 新 M^rap或者从起始状态中将 ( 排除。 通过这种处理方式, 可以有效的解决循环陷阱问 题导致的算法不收敛性。
综上可见, 本发明中提出的译码算法最终会收敛到最优咬尾路径。 本发明所述译码方法 可以应用在现有的及下一代移动通信系统中的信道译码; 它解决了咬尾卷积码没有实用的最 优译码算法的困境, 降低了现有译码方案的复杂度。 实施例二
本实施例将实施例一所述的信道译码方法 (即咬尾卷积吗译码方法) 记为低复杂度最大 似然译码算法 ( reduced-complexity maximum likelihood decoder , RC-MLD ) , 并将其与 WAVA算法进行比较, WAVA算法使用简单终止条件。 本实施例比较了 RC-MLD和 WAVA的误块 率性能 (BLER)和所需的平均迭代次数 (ITER)。
仿真条件为: AWGN信道, 编码后的比特采用四相相移键控 (quadri phase shift keying, QPSK) 调制。 对 WAVA 算法, 仿真中设的最大允许迭代次数为 N = 20, 对 RC-MLD 方法来 说, 由于理论上可能需要的最大迭代次数是 Γ, 所以下面根据不同应用场景进行不同的设 置。
第一组仿真实验: 比较不同译码算法对咬尾卷积码的译码性能。
首先看咬尾卷积码在增强型数据速率 GSM 演进技术 (Enhanced Data Rate for GSM Evolution, EDGE) 中的应用。 EDGE中 Type 5的分组数据块的数据头采用码率为 1/3的咬 尾卷积编码。 卷积码的生成多项式为 { 133, 171 , 145} , 约束长度为 7, 所以 RC-MLD 的最 大迭代次数设为 64。 送入编码器的数据头的长度为 36 比特, 此处不考虑打孔。 采用咬尾方 式编码可以减少 15%的有效码率损失。 仿真结果如表 1所示。 表 1 : EDGE场景下不同译码算法的译码性能
Figure imgf000011_0001
其次, 看咬尾卷积码在 LTE 中的应用。 LTE 中广播信道使用的卷积码的生成多项式为 { 133, 171 , 165} , 码率为 1/3, 约束长度为 7, 所以 RC-MLD 的最大迭代次数设为 64; 输 入到编码器的信息序列长度为 40 比特。 如果不使用咬尾方式编码, 实际传输的有效码率损 失达到 13%。
表 2: LTE场景下不同译码算法的译码性能
Figure imgf000012_0001
第二组仿真实验: 比较不同译码算法对特殊分组码的译码性能。
可以用咬尾格形图表示的分组码, 比如 (24,12) 的 Golay 码。 这种码字可以通过码率 1/2, 约束长度为 7, 生成多项式为 { 103,166}的卷积码编码器生成。 此处 RC-MLD 的最大允 许迭代次数设为 64。
表 3. 对于 (24, 12) Golay码不同译码算法的译码性能
Figure imgf000012_0002
从以上仿真结果可以看出, 由于 RC-MLD是最优译码算法, 所以它的 BLER性能是优 于次优算法 WAVA 的; 同时由于对循环陷阱进行了有效处理, 并在译码过程中对不可能的 初始状态进行了排除, 所以 RC-MLD相对于 WAVA而言具有更快的收敛速度。
实施例三
对于咬尾卷积码来说, 编码器的初始状态是用信息比特的最后几位来初始化的, 这样当 编码结束的时候, 编码器的结束状态和初始状态是一致的, 这就是 "咬尾"。 如图 1 描绘了 一个码率为 1/2, 生成多项式为 {7,5}的咬尾卷积码的格形图。 如图 1 所示, 左边是一个长 度为 8的咬尾卷积码所对应的咬尾格形图, 其生成多项式用八进制表示为 {7, 5}; 右边是该 码对应的蝶形图, 其中实圈旁边的数字是状态值, 线上的数字是编码输出值。 咬尾格形图在 每个位置 有 个状态, 其中 0≤ ≤L-1, V为编码寄存器的个数, L为信息序列的长度。 用&表示位置 处的状态空间。
该咬尾卷积译码方法每循环一次都会得到一条最大似然路径 (码字) PML, 有时 ΡΜ£并不 是最优的咬尾路径, 所以需要进入下一次迭代。 循环会一直进行直到预设的终止条件被满 足。
在第 次迭代中, ( 表示的是在位置 处进入到状态 s的幸存路径的累积度量值, 同 时它也是状态 s在第 ί次迭代中位置 k处的累积度量值。
此处用 P S 表示结束于状态 s的幸存路径的起始状态, 这里规定 s SL
在第 次迭代中, 幸存路径 P'W) )的净增量表示为 M ), 它表示本次迭 代中该路径上所有分支的度量值之和, 即 ) =M^)-M^W)), 这样最大似 然路径 PML( S ,S 和最大似然 咬尾路径 P ( s'W) 的净增量分别 为 : MM i L^(S),S) = ML i(S)-M^(S)) , Μ^ΤΒηΛ (β^')^')=Μ^')-Μ0'(β(5'))。 此处需要注意 的是, 不是每次迭代都能找到咬尾路径。
本实施例利用 « 、 来记录到当前迭代为止找到的最优的最大似然路径及其度量 值, 用 PLTB,M TB 来记录到当前迭代为止找到的最优的最大似然咬尾路径及其度量 值。 最后设允许的最大迭代次数为 。
由于在基于循环维特比译码 (CVA, Circular Viterbi Algorithm) 的执行过程中, 会 出现循环的现象, 即两次迭代得到的幸存路径是相同的。 当循环发生的时候, 继续迭代并不 会得到更好的译码输出, 所以我们用以下两个条件中的任何一条来检测是否有循环产生:
1丄) ^ M lyl MiLTB,net =M lyl MRLTB
2) y M lyl MiL,net =Μ lyl M!·—L 1,net
上述条件可以有效的检测循环的发生, 并及时的终止迭代。
当没有循环发生的时候, 我们用条件 3) 来终止迭代:
3 ) ^ ML, net― ^ MLTB, net 基于上述条件, 本实施例给出一种更高效率的信道译码方法 (Early-terminated CVA: ET-CVA), 下面给出所述方法的以下具体步骤:
5201, 当 i=l, 即第一次迭代时, 初始化所有的起始状态的度量值为 0, 即 ( =0 其中 se ; 执行修正的维特比算法 (Modified Viterbi Algorithm: MVA)。
5202, 如果 i^=i ra, 则停止译码, 将 作为译码结果输出; 否则保存 i^, 即 pR = P1 . "//Π-5- M1 0 ^ PR = P1 MR = M1
1 ML _ 1 ML 1V1 MLTB ^ ' ^ 1 MLTB ― 1 MLTB 1V1 MLTB ― 1V1 MLTB
5203, 第 i〉l次迭代, 用上次迭代结束时终止于 状态的路径累积度量值 ( 初始化 本次的起始状态 即令
Figure imgf000014_0001
, 执行修正的维特比算法; 找到( £,Μ^„), 如 果有咬尾路径则找出 ( ^ra,M^ra^) ; 如果 M n^>M ra 更新 ΓΒ , 即令
1 p MRLTB = 1 p MiLTB
5204, 如果条件 M^M^ 或者 M MR 中任何一条满足, 则停止译 码, 并执行 S206, 否则继续执行 S205 (ET-CVA 1);
如果条件 zAf— 或者 Μ]^ 中任何一条满足, 则停止译码, 并 执行 S206, 否则继续执行 S205 (ET-CVA 2);
5205, 如 更新 M^ra, 即令 M ra=M^ra ; 如果没有达到最大 迭代次数, 回到 S203; 否则执行 S206
5206, 如果 存在, 译码器将其作为译码结果输出; 否则输出 P
为了更清楚的描绘上述方法, 我们给出对应的程序流程图如图 2所示。
实施例四
本实施例给出第三种更高效率的信道译码方法, 包括以下步骤:
5301, 当 i=l, 即第一次迭代时, 初始化所有的起始状态的累积度量值 ( =0为 0, 其中 , 执行修正的维特比算法;
5302, 如果最大似然路径等于最优咬尾路径, 即 ^=i ra, 则停止译码, 将 作为 译码结果输出; 否则保存 i^, 使最优最大似然路径等于最大似然路径, 即 = 如果
1 MV1 M1LTB > z " , 今■ ^ P MRLTB = 1 P M1LTB 1 MV1 MRLTB = 1 MV1 M1LTB ·
S303, 第 i〉l次迭代, 用上次迭代结束时终止于 状态的路径累积度量值 M-1 ( 初始化 本次的起始状态 s, 即令
Figure imgf000015_0001
( , 执行修正的维特比算法; 找到( £,Μ^„), 如 果有咬尾路径则找出最优的最大似然路径及其度量值 P TB , NJ; 如果
1V± MLTB p -
Figure imgf000015_0002
MRLTB― 1 p MlLTB .,
5304, 如果条件 T— 或者 中任何一条满足, 则停止译 码, 并执行 S306, 否则继续执行 S305;
5305, net >MR 更新 M^ra, 即令 ^^^=^ ^^; 如果没有达到最大 迭代次数, 回到 S303; 否则执行 S306;
5306, 如果 存在, 译码器将其作为译码结果输出; 否则输出 P 。
实施例五
本实施例提供了一种实现实施例三所述信道译码方法的译码器, 如图 3所示, 所述译码 器包括以下模块:
初始化模块, 用来第一次迭代时, 即当 i=l 时, 初始化所有的起始状态的累积度量值 ( =0为 0, 其中 , 执行修正的维特比算法; 判断模块, 用来判断最大似然路径是否等于最优咬尾路径, 即 PH 如果结果为 是, 则停止译码, 将 作为译码结果输出; 否则保存 i^, 使最优最大似然路径等于最大 似然路径, 即 ^= ; 如果 M^ra >0, 令 PH MM R LTB = MM L LTB
迭代模块, 用来进行迭代运算, 即第 i〉l 次迭代, 用上次迭代结束时终止于 状态的路 径累积度量值 初始化本次的起始状态 即令
Figure imgf000015_0003
( , 执行修正的维特比算 法; 找到 ΟΡ^,Μ^^), 如果有咬尾路径则找出最优的最大似然路径及其度量值 ^MLTB ' ^ MLTB, ) ' 如果^ ML7B,nei ^ ^ MLTB, 贝' J更新^ Wl¾, 艮卩 ^ ^MLTB― ^MLTB '
迭代判断模块, 用来根据预先设定的条件, 即如果条件
Figure imgf000015_0004
或者
Figure imgf000015_0005
中任何一条满足, 则停止译码, 并在 /^^存在时, 进行结果输出模块的结 果输出, 否则如果 ^^>^^^, 更新 M ra, 即令 M ra=M^ra 如果没有达到最 大迭代次数, 继续进行迭代模块的运算;
结果输出模块, 用来进行译码结果的输出, 即在 /^^存在时, 将 ^ ^作为译码结果输 出, 否则输出 P 。 实施例六
本实施例提供了一种实现实施例四所述的信道译码方法的译码器, 所述译码器包括以下 模块:
初始化模块, 用来第一次迭代时, 即当 i=l 时, 初始化所有的起始状态的累积度量值 ( =0为 0, 其中 , 执行修正的维特比算法; 判断模块, 用来判断最大似然路径是否等于最优咬尾路径, 即 ^ = ra, 如果结果为 是, 则停止译码, 将 作为译码结果输出; 否则保存/ , 使最优最大似然路径等于最大 似然路径, 即 ^= ; 如果 M^ra >0, 令 PH MM R LTB = MM L LTB
迭代模块, 用来进行迭代运算, 即第 i〉l 次迭代, 用上次迭代结束时终止于5状态的路 径累积度量值 初始化本次的起始状态 即令 Μ^^ζΛ^-1 ( , 执行修正的维特比算 法; 找到 ΟΡ^,Μ^^), 如果有咬尾路径则找出最优的最大似然路径及其度量值 ^MLTB ' ^ MLTB,net ) ' 如果^ ML7B,nei ^ ^ MLTB, 贝' J更新^ j¾, 艮卩 ^ ^MLTB ― ^MLTB '
迭代判断模块, 用来根据预设的条件, 如果条件 ΜΜ Ι 或者 Μ^^Μ^ 中任何一条满足, 则停止译码, 并在 /^5存在时, 进行结果输出模块的结 果输出, 否则如果 ^^^^>^^^, 更新 M^ra, 即令 M^ra =M ra^; 如果没有达到最 大迭代次数, 则继续进行迭代模块的运算;
结果输出模块, 用来进行译码结果的输出, 即在 /^^存在时, 将 ^ ^作为译码结果输 出, 否则输出 P 。
与现有技术相比, 本发明所述的译码器明显的降低了译码复杂度, 减少了迭代次数, 降 低了译码的复杂度, 而且节省了译码过程中的存储空间; 新的信道译码方法和译码器不仅对 咬尾卷积码有效, 而且对普通的可以用咬尾格形图表示的分组码也是有效的。 下面通过两个具体的仿真实例来说明实施例三和四所述的信道译码方法的性能。 此处仿 真基于加性高斯白噪声 (Additive White Gaussion Noise: AWGN) 信道, 信道输入是 QPSK 调制的符号。
第一个仿真针对咬尾卷积码。 仿真中采用 LTE中的卷积码, 生成多项式用八进制表示为 {133, 171, 165}, 最大迭代次数为 20。 为验证本方法对中等长度咬尾卷积码和长咬尾卷积 码都是有效的, 仿真中分别令信息比特长度 L = 24和 L = 64。 下面给出本方法和 WAVA 算法 的误块率性能 (Block Error Ratio : BLER ) 和平均迭代次数 (Average Number of Iterations : AND 性能比较曲线。
从图 4到 7的仿真结果可以看得出来, 在不同的码长条件下, ET-CVA ( 1和 2 ) 算法都 能提供近于最优的性能。 而且, 新的译码方法明显的降低了译码复杂度, 减少了迭代次数。
第二个仿真针对可以用咬尾格形图表示的分组码。 下面我们以 Golay 码为例。 对于 ( 24, 12 ) 的 Golay码, 我们使用 ET-CVA ( 1和 2 ) 和 WAVA算法进行译码, 得到的误块率 性能 ( Block Error Ratio : BLER ) 禾口平均迭代次数 ( Average Number of Iterations : AND 性能如图 8和 9所示。
从图 8 和 9 的仿真结果可以看到, 新的咬尾卷积码译码法不仅对于降低了译码的复杂 度, 减少了迭代次数, 而且节省了译码过程中的存储空间; 新方法不仅对咬尾卷积码有效, 而且对普通的可以用咬尾格形图表示的分组码也是有效的。 本发明所述的信道译码方法和译码器不仅对咬尾卷积码有效, 而且对普通的可以用咬尾 格形图表示的分组码也是有效的。 本发明的描述和应用是说明性的, 并非想将本发明的范围限制在上述实施例中。 这里所 披露的实施例的变形和改变是可能的, 对于那些本领域的普通技术人员来说实施例的替换和 等效的各种部件是公知的。 本领域技术人员应该清楚的是, 在不脱离本发明的精神或本质特 征的情况下, 本发明可以以其他形式、 结构、 布置、 比例, 以及用其他元件、 材料和部件来 实现。

Claims

权利要求书
1. 一种信道译码方法, 其特征在于, 包括以下步骤:
S101, 第一次迭代, g^=l时, 初始化所有从位置 0处进入到状态 s的幸存路径的度 量值 Μίαί,。( 为 0, 其中 , 表示位置 0 处的状态空间, 表示迭代次数; 令最优的 最大似然咬尾路径的度量值 M rap =0 ; 执行修正的维特比算法, 寻找最大似然咬尾路径; 对所有
Figure imgf000018_0001
{s);
5102, 如果当前迭代找到的最大似然咬尾路径的净增量 M^rai)大于所述最优的最大似 然咬尾路径的度量值 M rap, 即 M^rap >M rap, 则更新所述最优的最大似然咬尾路径 为当前迭代找到的最大似然咬尾路径 , 即 P = P As',s'、, 更新所述 最优的最大似然咬尾路径的度量值 M rap为当前迭代找到的最大似然咬尾路径的净增量
M MLTBP, 艮卩 M MLTBP― M MLTBP (5", 5" );
5103, 对于 s e , 其中 L为信息序列的长度, 表示位置 L处的状态空间, 比较状态 s的净增量 Mstafe,„rf ( 和最后更新的最大似然咬尾路径的度量值 M^rai)的大小, 若 M—(s)<=MM R LTBP , 则令 M „» = 0, M 。 W=0 ; 否则令 ,。( = ( , 并 判断 Mstate,net (s)>M L (s)-M W是否成立, 若成立则更新状态 s的状态净增量为
Figure imgf000018_0002
统计状态净增量大于 的状态个数, 并将所述状态个数保存在 sum(i)中;
5104, 若 ^( ) = 0, 则停止迭代, 输出最优的最大似然咬尾路径 否则, 若 sumii) = sum(i-i), 则以状态 ( 作为固定的起始和终止状态作一次维特比译码, 获得咬尾 路径 ^ )及其度量值 ^;^ ^ ( ); ^ΜτΒίβί^,βί^Μ^醫, 则更新最优的 最大似然咬尾路径 /^^>为^0^( , ( ), 更新最优的最大似然咬尾路径的度量值 为 MTB( (s (s)); 并令状态^ ( 的状态度量值 Mstafe,„ei05(s)) = 0, M^ifiis)) = 0;
5105, 令画 ( )=0, 执行下一次迭代, 即重复 S102至 S104。
2. 一种信道译码方法, 其特征在于, 所述方法包括以下步骤:
S201, 当 i=l, 即第一次迭代时, 初始化所有的起始状态的累积度量值为 0,即 Μ·^) = 0, 其中 , 执行修正的维特比算法;
5202, 如果最大似然路径等于最优咬尾路径, 即 ^=i^ra, 则停止译码, 将 作为 译码结果输出; 否则保存 i^, 使最优最大似然路径等于最大似然路径, 即 = 如果 M1 > , 今 PR = P1 , MR = M1 ·
5203, 第 i〉l次迭代, 用上次迭代结束时终止于 状态的路径累积度量值 M-1 ( 初始化 本次的起始状态 s,
Figure imgf000019_0001
, 执行修正的维特比算法; 找到( £,Μ^„), 如 果有咬尾路径则找出最优的最大似然路径及其度量值 PLTB'M NJ ; 如果
1V± MLTB,
Figure imgf000019_0002
S204, 如果条件
Figure imgf000019_0003
或者 M MR 中任何一条满足, 则停止译 码, 并执行 S206, 否则继续执行 S205;
5205, 如 更新 M^ra, 即令 M ra=M^ra ; 如果没有达到最大 迭代次数, 回到 S203; 否则执行 S206;
5206, 如果 存在, 译码器将其作为译码结果输出; 否则输出 P 。
3. 一种信道译码方法, 其特征在于, 所述方法包括以下步骤:
S301, 当 i=l, 即第一次迭代时, 初始化所有的起始状态的累积度量值 ( =0为 0, 其中 , 执行修正的维特比算法;
5302, 如果最大似然路径等于最优咬尾路径, 即 ^=i ra, 则停止译码, 将 作为 译码结果输出; 否则保存 i^, 使最优最大似然路径等于最大似然路径, 即 Ρ = / ;如果
1 ΜV1 M1LTB > z " , 今■ ^ P MRLTB = 1 P M1LTB,, 1 MV1 MRLTB = 1 MV1 M1LTB ·,
5303, 第 i〉l次迭代, 用上次迭代结束时终止于 状态的路径累积度量值 ( 初始化 本次的起始状态 s, 即令
Figure imgf000019_0004
( , 执行修正的维特比算法; 找到( £,Μ^„), 如 果有咬尾路径则找出最优的最大似然路径及其度量值 P TB NJ ; 如果
1V1 M'LTB, -> 1 MV1 M ,U^
net ^ RLTB, liliJl审d新j i P MRLTB, P ^ P MRLTB =― 1 P MlLTB .,
S304, 如果条件 MMi M 或者 MMiL,net 中任何一条满足, 则停止译 码, 并执行 S306, 否则继续执行 S305;
S305, 如 更新 M^ra, 即令 M ra=M^ra ; 如果没有达到最大 迭代次数, 回到 S303; 否则执行 S306;
S306, 如果 存在, 译码器将其作为译码结果输出; 否则输出 P 。
4. 一种信道译码器, 其特征在于, 所述译码器包括以下模块:
初始化模块, 用来第一次迭代时, 即当 i=l 时, 初始化所有的起始状态的累积度量值 ( =0为 0, 其中 , 执行修正的维特比算法;
判断模块, 用来判断最大似然路径是否等于最优咬尾路径, 即 ^ = ra, 如果结果为 是, 则停止译码, 将 作为译码结果输出; 否则保存/ ^, 使最优最大似然路径等于最大 似然路径, 即 ^ = ; 如果 M ra >0, 令 PH MM R LTB = MM l LTB
迭代模块, 用来进行迭代运算, 即第 i〉l 次迭代, 用上次迭代结束时终止于 状态的路 径累积度量值 初始化本次的起始状态 即令
Figure imgf000020_0001
( , 执行修正的维特比算 法; 找到 ΟΡ^,Μ^^), 如果有咬尾路径则找出最优的最大似然路径及其度量值 ^MLTB ' ^ MLTB ) ' 如果 ^ MLTB > ^ MLTB, 贝' J更新 ^MLTB, 艮卩令 ^MLTB― ^MLTB '
迭代判断模块, 用来根据预先设定的条件, 即如果条件
Figure imgf000020_0002
zM1 或者
Figure imgf000020_0003
中任何一条满足, 则停止译码, 并在 /^ 存在时, 进行结果输出模块的结 果输出, 否则如果 ^^>^^^, 更新 M^ra, 即令 M ra =M^ra 如果没有达到最 大迭代次数, 继续进行迭代模块的运算;
结果输出模块, 用来进行译码结果的输出, 即在 /^^存在时, 将 ^ ^作为译码结果输 出, 否则输出 P 。
5. 一种信道译码器, 其特征在于, 所述译码器包括以下模块:
初始化模块, 用来第一次迭代时, 即当 i=l 时, 初始化所有的起始状态的累积度量值 ( =0为 0, 其中 , 执行修正的维特比算法;
判断模块, 用来判断最大似然路径是否等于最优咬尾路径, 即 如果结果为 是, 则停止译码, 将 作为译码结果输出; 否则保存 i^, 使最优最大似然路径等于最大 似然路径, 即 如果 M^ra >0, 令 PH Mm r ltb = MM l LTB
迭代模块, 用来进行迭代运算, 即第 i〉l 次迭代, 用上次迭代结束时终止于 s状态的路 径累积度量值 初始化本次的起始状态^ 即令
Figure imgf000020_0004
( , 执行修正的维特比算 法; 找到 ΟΡ^,Μ^^), 如果有咬尾路径则找出最优的最大似然路径及其度量值 ^MLTB ' ^ MLTB,net ) ' 如果^ ML7B,nei ^ ^ MLTB, 贝' J更新^ l¾, 艮卩 ^ ^MLTB ― ^MLTB '
迭代判断模块, 用来根据预设的条件, 如果条件 Μ 或者 Μ^^Μ^ 中任何一条满足, 则停止译码, 并在 /^^存在时, 进行结果输出模块的结 果输出, 否则如果 ^^>^^^, 更新 M^ra, 即令 M ra =M^ra 如果没有达到最 大迭代次数, 则继续进行迭代模块的运算;
结果输出模块, 用来进行译码结果的输出, 即在 /^^存在时, 将 /^^作为译码结果输 出, 否则输出 。
PCT/CN2012/072522 2011-05-27 2012-03-19 一种信道译码方法及译码器 WO2012163135A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/809,932 US9083385B2 (en) 2011-05-27 2012-03-19 Channel decoding method and decoder for tail-biting codes
EP12792409.0A EP2717477B1 (en) 2011-05-27 2012-03-19 Channel decoding method and decoder for tail-biting codes

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201110141150.0 2011-05-27
CN201110141150.0A CN102801492B (zh) 2011-05-27 一种信道译码方法及译码器
CN201110202238.9A CN102891690B (zh) 2011-07-19 2011-07-19 一种咬尾卷积码译码方法
CN201110202238.9 2011-07-19

Publications (1)

Publication Number Publication Date
WO2012163135A1 true WO2012163135A1 (zh) 2012-12-06

Family

ID=47258351

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/072522 WO2012163135A1 (zh) 2011-05-27 2012-03-19 一种信道译码方法及译码器

Country Status (3)

Country Link
US (1) US9083385B2 (zh)
EP (1) EP2717477B1 (zh)
WO (1) WO2012163135A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104981996B (zh) * 2013-12-30 2019-04-05 华为技术有限公司 数据交换业务的信道编解码方法和设备
US10075194B2 (en) * 2016-05-13 2018-09-11 Qualcomm Incorporated Tail biting convolutional code (TBCC) enhancement with state propagation and list decoding
KR102547476B1 (ko) 2016-07-22 2023-06-27 삼성전자주식회사 경로 메트릭 값 기반의 디코딩 프로세스 제어 방법, 연산 장치 및 모바일 장치
KR102338852B1 (ko) * 2017-08-08 2021-12-13 삼성전자주식회사 무선 통신 시스템에서 신호를 복호하기 위한 장치 및 방법
CN112290957B (zh) * 2020-10-24 2023-06-09 西北工业大学 一种正交时频扩展的咬尾Turbo编译码通信方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1841546A (zh) * 2005-03-31 2006-10-04 索尼株式会社 最大似然解码装置、信号估计方法和再现装置
CN101047472A (zh) * 2006-03-31 2007-10-03 世意法(北京)半导体研发有限责任公司 使用搜索深度维特比算法对咬尾卷积码的解码方法
CN101635611A (zh) * 2009-09-02 2010-01-27 中兴通讯股份有限公司 一种信道译码方法和装置
CN101667840A (zh) * 2009-09-08 2010-03-10 华为技术有限公司 一种咬尾译码方法及装置
US20100095189A1 (en) * 2008-10-13 2010-04-15 Qualcomm Incorporated Methods and systems for modified maximum-likelihood based tbcc decoding

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5369671A (en) * 1992-05-20 1994-11-29 Hughes Aircraft Company System and method for decoding tail-biting code especially applicable to digital cellular base stations and mobile units
US5355376A (en) * 1993-02-11 1994-10-11 At&T Bell Laboratories Circular viterbi decoder
US7010052B2 (en) * 2001-04-16 2006-03-07 The Ohio University Apparatus and method of CTCM encoding and decoding for a digital communication system
US7454682B2 (en) * 2006-10-11 2008-11-18 Cisco Technology, Inc. System for identifying localized burst errors
US8219896B2 (en) * 2007-10-23 2012-07-10 Telefonaktiebolaget L M Ericsson (Publ) Reduced-complexity decoding algorithms for tail-biting convolutional codes
JP4806673B2 (ja) * 2007-12-27 2011-11-02 ルネサスエレクトロニクス株式会社 復号装置及び復号方法
US8489972B2 (en) * 2008-12-02 2013-07-16 Nec Corporation Decoding method and decoding device
US8707145B2 (en) * 2011-03-29 2014-04-22 Intel Corporation System, method and apparatus for tail biting convolutional code decoding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1841546A (zh) * 2005-03-31 2006-10-04 索尼株式会社 最大似然解码装置、信号估计方法和再现装置
CN101047472A (zh) * 2006-03-31 2007-10-03 世意法(北京)半导体研发有限责任公司 使用搜索深度维特比算法对咬尾卷积码的解码方法
US20100095189A1 (en) * 2008-10-13 2010-04-15 Qualcomm Incorporated Methods and systems for modified maximum-likelihood based tbcc decoding
CN101635611A (zh) * 2009-09-02 2010-01-27 中兴通讯股份有限公司 一种信道译码方法和装置
CN101667840A (zh) * 2009-09-08 2010-03-10 华为技术有限公司 一种咬尾译码方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2717477A4 *

Also Published As

Publication number Publication date
EP2717477A4 (en) 2015-02-25
US9083385B2 (en) 2015-07-14
US20130111305A1 (en) 2013-05-02
EP2717477B1 (en) 2016-12-21
EP2717477A1 (en) 2014-04-09

Similar Documents

Publication Publication Date Title
CN110545110B (zh) 级联极化编码和滑动窗口极化编码
KR101323444B1 (ko) 반복적 디코더 및 반복적 디코딩 방법
CN107911195B (zh) 一种基于cva的咬尾卷积码信道译码方法
CN106506009B (zh) 一种极化码的译码方法
WO2012163135A1 (zh) 一种信道译码方法及译码器
JP4777876B2 (ja) ターボデコーダの反復の早期終了
WO2015079193A1 (en) Belief propagation decoding for short algebraic codes with permutations within the code space
CN100544213C (zh) 一种咬尾卷积码的译码方法及其译码器
CN104954099B (zh) 译码迭代次数约束下累积无率码的优化设计方法
US10680749B2 (en) Early-termination of decoding convolutional codes
CN108134612B (zh) 纠正同步与替代错误的级联码的迭代译码方法
WO2016015288A1 (zh) 译码方法和译码器
CN102891690B (zh) 一种咬尾卷积码译码方法
CN111224676A (zh) 一种自适应串行抵消列表极化码译码方法及系统
TWI674765B (zh) 一種疊代解碼裝置及其控制方法
CN102832954B (zh) 一种基于软信息平均最小值的Turbo码译码迭代停止方法
GB2403106A (en) a turbo type decoder which performs decoding iterations on sub-blocks to improve convergence
TW202220389A (zh) 決定待翻轉比特位置的方法及極化碼解碼器
CN102291198B (zh) 信道译码方法和装置
CN102377438B (zh) 信道译码方法和咬尾卷积译码器
CN103944673A (zh) 一种适合无速率码的低时延渐进译码方法
JP3892471B2 (ja) 復号方法
CN108616331B (zh) 一种基于lte的无线通信系统解码方法
CN112737598B (zh) 自适应掺杂方法、系统、存储介质、计算机设备及应用
CN103701475A (zh) 移动通信系统中8比特运算字长Turbo码的译码方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 13809932

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12792409

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2012792409

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2012792409

Country of ref document: EP