[go: up one dir, main page]

CN102142848A - Decoding method and decoder of tail-biting convolutional code - Google Patents

Decoding method and decoder of tail-biting convolutional code Download PDF

Info

Publication number
CN102142848A
CN102142848A CN201010106526XA CN201010106526A CN102142848A CN 102142848 A CN102142848 A CN 102142848A CN 201010106526X A CN201010106526X A CN 201010106526XA CN 201010106526 A CN201010106526 A CN 201010106526A CN 102142848 A CN102142848 A CN 102142848A
Authority
CN
China
Prior art keywords
state
module
sequence
reference state
submodule
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.)
Granted
Application number
CN201010106526XA
Other languages
Chinese (zh)
Other versions
CN102142848B (en
Inventor
黄东晓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
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
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201010106526.XA priority Critical patent/CN102142848B/en
Publication of CN102142848A publication Critical patent/CN102142848A/en
Application granted granted Critical
Publication of CN102142848B publication Critical patent/CN102142848B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明涉及一种咬尾卷积码的译码方法及译码器,上述方法对待译码序列执行维特比(VA)算法,从得到的累积度量中找出预设个数个累积度量,并对其结束状态进行回溯,从得到的开始状态中确定参考状态;通过比较上述参考状态对应的结束状态是否与上述参考状态相同,决定是直接得到译码序列,还是对上述待译码序列再次执行VA算法,之后通过回溯得到译码序列;所述译码器包括VA算法模块、查找模块、回溯模块、状态选择模块以及比较模块。本发明不仅简化了译码复杂度,减小了译码花费,具有更强的译码性能。

Figure 201010106526

The present invention relates to a decoding method and a decoder of a tail-biting convolutional code. The above method performs a Viterbi (VA) algorithm on a sequence to be decoded, finds a preset number of cumulative metrics from the obtained cumulative metrics, and Backtrack its end state, and determine the reference state from the obtained start state; by comparing whether the end state corresponding to the above reference state is the same as the above reference state, decide whether to directly obtain the decoding sequence, or execute the above sequence to be decoded again VA algorithm, and then obtain the decoding sequence by backtracking; the decoder includes a VA algorithm module, a search module, a backtracking module, a state selection module and a comparison module. The invention not only simplifies the decoding complexity, reduces the decoding cost, but also has stronger decoding performance.

Figure 201010106526

Description

一种咬尾卷积码的译码方法及译码器A decoding method and decoder for tail-biting convolutional codes

技术领域technical field

本发明涉及通信技术领域,尤其涉及一种咬尾卷积码的译码方法及译码器。The invention relates to the field of communication technology, in particular to a decoding method and a decoder of a tail-biting convolutional code.

背景技术Background technique

数字通信系统中,纠正发射机和接收机之间由于信道干扰和噪声带来的差错,是非常重要的任务。信道编码器通过人为增加冗余信息,使系统具有检错纠错的能力。全球移动通讯系统(Global System for MobileCommunications,GSM)增强型数据速率(Enhanced Data Rate for GSMEvolution,EDGE)无线接入网(GSM EDGE Radio Access Network,GERAN)演进过程中,始终关注这一问题,其中一种差错纠正的技术是使用卷积码对发送的数据进行编码。In digital communication systems, it is a very important task to correct the errors caused by channel interference and noise between the transmitter and receiver. The channel coder makes the system have the ability of error detection and error correction by artificially adding redundant information. During the evolution of Global System for Mobile Communications (GSM) Enhanced Data Rate for GSMEvolution (EDGE) Radio Access Network (GSM EDGE Radio Access Network, GERAN), we have always paid attention to this issue, one of which is One technique for error correction is to encode the transmitted data using a convolutional code.

卷积码使用寄存器来增加码元间的相关性,从而获得更高的编码增益。卷积码可以用一个三元有序组(n,k,m)表示。其中,n是一个单位时间编码输出的比特数;k是信息码元比特数,它表示一个单位时间输入至卷积码编码器的信息比特的个数;m表示卷积码的编码寄存长度,它等于卷积码编码器的最大移位寄存器长度。编码约束长度N=m+1。如图1所示,是(2,1,2)编码器框图,图中,D为移位寄存器,⊕为加法器,编码输入1个比特,输出2个比特。其网格图如图2所示,2个寄存器0/1内容组合构成4个状态(即:00、01、10、11),图中,实线代表编码输入0时的状态转移,虚线代表编码输入1时的状态转移。Convolutional codes use registers to increase the correlation between symbols, resulting in higher coding gain. Convolutional codes can be represented by a ternary ordered group (n, k, m). Among them, n is the number of bits encoded by a unit time; k is the number of information symbol bits, which represents the number of information bits input to the convolutional code encoder per unit time; m represents the coded storage length of the convolutional code, It is equal to the maximum shift register length of the convolutional code encoder. Encoding constraint length N=m+1. As shown in Figure 1, it is a (2, 1, 2) encoder block diagram. In the figure, D is a shift register, ⊕ is an adder, and the encoding inputs 1 bit and outputs 2 bits. Its grid diagram is shown in Figure 2. The contents of two registers 0/1 are combined to form 4 states (ie: 00, 01, 10, 11). In the figure, the solid line represents the state transition when the code input is 0, and the dotted line represents Encodes the state transition on input 1.

卷积码的译码技术维特比算法(Viterbi Algorithm,VA)以网格图为基础,其译码过程就是沿着网格图按照最大似然准则寻找出最佳译码序列。当-1代表二进制“1”,+1代表二进制“0”时,即寻找与接收序列相关函数(累计度量)最大的序列。其中累积度量的计算采用加比选方法,如图3所示,是维特比算法中加比选过程示意图,在时刻k+1,对指向状态i两支路上的当前累积度量(即前一时刻(k)的旧累积度量加上当前分支度量)进行比较,度量较大则作为幸存路径,记录相应的支路判决值。VA算法就是从某个(或所有)状态开始进行度量累积,计算到最后时刻就得到所有状态的累积度量并记录相应的幸存路径,从某特定结束状态就可根据幸存路径回溯而得到译码输出序列。The decoding technique of convolutional code, Viterbi algorithm (Viterbi Algorithm, VA) is based on trellis graph, and its decoding process is to find the best decoding sequence along the trellis graph according to the maximum likelihood criterion. When -1 represents a binary "1" and +1 represents a binary "0", that is to find the sequence with the largest correlation function (cumulative measure) with the received sequence. The calculation of the cumulative measure adopts the method of adding and comparing, as shown in Figure 3, which is a schematic diagram of the process of adding and comparing in the Viterbi algorithm. (k) old cumulative metric plus the current branch metric) for comparison, if the metric is larger, it will be used as a surviving path, and the corresponding branch decision value will be recorded. The VA algorithm is to accumulate metrics from a certain (or all) state, and at the end of the calculation, the cumulative metrics of all states are obtained and the corresponding survival path is recorded. From a specific end state, the decoding output can be obtained according to the survival path backtracking sequence.

卷积码最终状态有两种策略:零尾法(zero termination)和咬尾法(tailbiting)。零尾法将固定尾比特(通常用全0)添加到信息比特后面,保证编码器以特定状态(通常即状态0)结束。因此回溯必然是从该状态开始,能比较容易和可靠地译码。但附加的尾部降低了比特率,所以GERAN中,零尾法一般用于信息比特较多的数据分组。而对于报文中包含重要信息、信息比特较少的头部,协议规范中使用咬尾卷积码来编码。咬尾法通过在编码输出0时刻前预输入与结束状态相同的各比特,保证编码器的开始状态和结束状态一致。因此咬尾卷积码译码器在回溯前所依据的结束状态对译码器而言是未知的。There are two strategies for the final state of convolutional codes: zero termination and tailbiting. The zero-tail method adds fixed tail bits (usually all 0s) to the end of the information bits to ensure that the encoder ends in a specific state (usually state 0). Therefore, backtracking must start from this state, which can be decoded relatively easily and reliably. But the additional tail reduces the bit rate, so in GERAN, the zero tail method is generally used for data packets with more information bits. As for the header containing important information and less information bits in the message, tail-biting convolutional codes are used for encoding in the protocol specification. The tail-biting method ensures that the start state of the encoder is consistent with the end state by pre-inputting the bits that are the same as the end state before the code output 0 time. Therefore the end state to which a tail-biting convolutional code decoder is based before backtracking is unknown to the decoder.

VA算法所占的时间和空间复杂度是咬尾卷积码译码器的主要花费。然而由于首末状态未知,现有技术或者多次(一般大于两次)地执行VA算法,或者使用多倍重复输入序列长度来进行更长的VA,大大增加了计算复杂度和存储器使用率。The time and space complexity occupied by the VA algorithm is the main cost of the tail-biting convolutional code decoder. However, since the first and last states are unknown, the prior art either executes the VA algorithm multiple times (generally greater than twice), or uses multiple repetitions of the input sequence length to perform longer VA, which greatly increases the computational complexity and memory usage.

现有技术中通常根据咬尾卷积码首末状态一致的特征,把开始状态和结束状态一致作为译码成功的判定标志。但是,如果某次VA算法后得到的最大累积度量的结束状态不是真实的结束状态,而其回溯后得到的错误的开始状态却仍有一定可能和该结束状态相同,显然,这样得出的输出序列并不是正确的译码结果。In the prior art, the consistency of the start state and the end state is usually used as the judging sign of successful decoding according to the characteristic that the first and last states of the tail-biting convolutional code are consistent. However, if the end state of the maximum cumulative metric obtained after a certain VA algorithm is not the real end state, but the wrong start state obtained after backtracking may still be the same as the end state, obviously, the output obtained in this way sequence is not the correct decoding result.

发明内容Contents of the invention

本发明的目的之一是提供一种咬尾卷积码的译码方法及译码器,以减小译码花费和复杂度;本发明实现简单。One of the objectives of the present invention is to provide a tail-biting convolutional code decoding method and decoder to reduce decoding cost and complexity; the present invention is simple to implement.

本发明提出了一种咬尾卷积码的译码方法,The present invention proposes a decoding method of a tail-biting convolutional code,

从所有状态开始,对待译码序列执行VA算法,得到所有状态的累积度量及幸存路径;Starting from all states, execute the VA algorithm on the sequence to be decoded to obtain the cumulative metrics and survival paths of all states;

从所述累积度量中找出预设个数个较大的累积度量,并记录所述累积度量的结束状态;Find a preset number of larger cumulative metrics from the cumulative metrics, and record the end status of the cumulative metrics;

根据所述幸存路径,按照累积度量从大到小的顺序,分别对所述记录的结束状态进行回溯,得到相应的开始状态和输出序列;According to the surviving path, according to the order of cumulative metrics from large to small, respectively trace back the end states of the records to obtain the corresponding start states and output sequences;

从所述得到的开始状态中选出参考状态;selecting a reference state from said derived starting states;

比较与所述参考状态对应的结束状态是否与所述参考状态相同,若是,则译码序列等于所述结束状态回溯得到的输出序列;否则,从所述参考状态开始,再次对所述待译码序列执行VA算法,得到新的所有状态的累积度量及幸存路径;根据所述幸存路径,以所述参考状态作为结束状态进行回溯,得到的输出序列即为译码序列。Comparing whether the end state corresponding to the reference state is the same as the reference state, if so, the decoding sequence is equal to the output sequence obtained by backtracking the end state; otherwise, starting from the reference state, the to-be-decoded The code sequence executes the VA algorithm to obtain new cumulative metrics and survival paths of all states; according to the survival path, the reference state is used as the end state for backtracking, and the obtained output sequence is the decoding sequence.

优选地,上述从所有状态开始,对待译码序列执行VA算法前,首先将上述所有状态的累积度量初始化为相同值。Preferably, starting from all states above, before performing the VA algorithm on the sequence to be decoded, the cumulative metrics of all states above are first initialized to the same value.

优选地,上述预设个数大于等于3。Preferably, the aforementioned preset number is greater than or equal to three.

优选地,上述从得到的开始状态中选出参考状态步骤具体包括:Preferably, the above-mentioned step of selecting a reference state from the obtained starting state specifically includes:

判断上述开始状态中是否有重复出现的开始状态,若是,则上述参考状态为重复出现次数最多的开始状态,若所述重复出现次数最多的开始状态大于一个,则所述参考状态为所述重复出现次数最多的开始状态中较早回溯得到的开始状态;否则,上述参考状态为最大的累积度量的结束状态回溯得到的开始状态。Judging whether there is a repeated start state in the above-mentioned start state, if so, the above-mentioned reference state is the start state with the largest number of repeated occurrences, and if the start state with the largest number of repeated occurrences is more than one, then the reference state is the repeated start state. The start state backtracked earlier among the start states with the most occurrences; otherwise, the above reference state is the start state backtracked from the end state with the largest cumulative metric.

优选地,上述再次对上述待译码序列执行VA算法前,还执行如下步骤:Preferably, before performing the VA algorithm on the above-mentioned sequence to be decoded again, the following steps are also performed:

将上述参考状态的累积度量初始化为0,将其余状态的累积度量初始化为相应累积度量的数据格式表示的负最小值。Initialize the cumulative metrics of the above reference state to 0, and initialize the cumulative metrics of the remaining states to the negative minimum value represented by the data format of the corresponding cumulative metrics.

本发明还提出了一种实现上述方法的译码器,包括VA算法模块、查找模块、回溯模块、状态选择模块以及比较模块,The present invention also proposes a decoder for realizing the above method, including a VA algorithm module, a search module, a backtracking module, a state selection module and a comparison module,

上述VA算法模块,用于对待译码序列执行VA算法;The above VA algorithm module is used to execute the VA algorithm on the sequence to be decoded;

上述查找模块,用于从所有状态的累积度量中找出预设个数个较大的累积度量,并记录上述累积度量的结束状态;The above-mentioned search module is used to find a preset number of larger cumulative metrics from the cumulative metrics of all states, and record the end state of the above-mentioned cumulative metrics;

上述回溯模块,用于对结束状态进行回溯,得到输出序列;The above-mentioned backtracking module is used to backtrack the end state to obtain the output sequence;

上述状态选择模块,用于确定参考状态;The above state selection module is used to determine the reference state;

上述比较模块,用于比较与上述参考状态对应的结束状态是否与上述参考状态相同,并根据比较结果确定译码序列。The comparison module is configured to compare whether the end state corresponding to the reference state is the same as the reference state, and determine a decoding sequence according to the comparison result.

优选地,上述VA算法模块,还用于初始化各状态的累积度量。Preferably, the above-mentioned VA algorithm module is also used to initialize the cumulative metrics of each state.

优选地,上述查找模块包括选取子模块和记录子模块,Preferably, the above search module includes a selection submodule and a recording submodule,

上述选取子模块,用于从上述所有累积度量中找出预设个数个较大的累积度量;The above selection sub-module is used to find a preset number of larger cumulative metrics from all the above cumulative metrics;

上述记录子模块,用于记录上述找出的累积度量的结束状态。The recording sub-module is configured to record the end status of the accumulated metrics found above.

优选地,上述状态选择模块包括判断子模块和参考状态确定子模块,Preferably, the above state selection module includes a judgment submodule and a reference state determination submodule,

上述判断子模块,用于判断所有开始状态中是否有重复出现的开始状态;The above judging sub-module is used to judge whether there are repeated starting states in all starting states;

上述参考状态确定子模块,用于根据上述判断子模块的判断结果,确定参考状态。The reference state determination submodule is configured to determine the reference state according to the judgment result of the judgment submodule.

优选地,上述比较模块包括状态对比子模块、译码序列确定子模块,Preferably, the comparison module includes a state comparison submodule, a decoding sequence determination submodule,

上述状态对比子模块,用于比较与上述参考状态对应的结束状态是否与上述参考状态相同;The above-mentioned state comparison sub-module is used to compare whether the end state corresponding to the above-mentioned reference state is the same as the above-mentioned reference state;

上述译码序列确定子模块,用于根据上述状态对比子模块的比较结果,确定译码序列。The decoding sequence determination sub-module is used to determine the decoding sequence according to the comparison result of the state comparison sub-module.

与传统的方法相比,本发明最多仅需执行两次VA算法,且不需要扩展输入序列及进行更长的VA,不仅简化了译码复杂度,减小了译码花费,并且具有不弱于甚至更强的译码性能。本发明适合对通信系统中的咬尾卷积码进行译码,比如应用于GERAN系统中。Compared with the traditional method, the present invention only needs to execute the VA algorithm twice at most, and does not need to extend the input sequence and perform longer VA, which not only simplifies the decoding complexity and reduces the decoding cost, but also has strong for even stronger decoding performance. The present invention is suitable for decoding tail-biting convolutional codes in communication systems, such as being applied in GERAN systems.

附图说明Description of drawings

图1是卷积码编码器结构示意图;Fig. 1 is a schematic structural diagram of a convolutional code encoder;

图2是卷积码编码网格图;Fig. 2 is a convolutional code encoding lattice diagram;

图3是VA算法中加比选过程示意图;Fig. 3 is a schematic diagram of the process of adding, comparing and selecting in the VA algorithm;

图4是本发明所述方法的优选实施例流程图;Fig. 4 is a flow chart of a preferred embodiment of the method of the present invention;

图5是译码误帧率(Frame Error Rate,FER)性能曲线对比图;Figure 5 is a comparison chart of decoding frame error rate (Frame Error Rate, FER) performance curve;

图6是本发明所述译码器的第一实施例原理框图;Fig. 6 is a functional block diagram of the first embodiment of the decoder of the present invention;

图7是本发明所述译码器的第二实施例原理框图。Fig. 7 is a functional block diagram of the second embodiment of the decoder of the present invention.

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。The realization of the purpose of the present invention, functional characteristics and advantages will be further described in conjunction with the embodiments and with reference to the accompanying drawings.

具体实施方式Detailed ways

下面结合附图和优选实施例,对本发明提出的咬尾卷积码的译码方法及译码器作进一步的详细说明。The tail-biting convolutional code decoding method and decoder proposed by the present invention will be further described in detail below in conjunction with the accompanying drawings and preferred embodiments.

如图4所示,是本发明所述方法优选实施例流程图,包括:As shown in Figure 4, it is a flow chart of a preferred embodiment of the method of the present invention, including:

S401:将所有状态的累积度量初始化为相同值,即初始化所有状态的累积度量;S401: Initialize the cumulative metrics of all states to the same value, that is, initialize the cumulative metrics of all states;

上述相同值一般为0;The same value above is generally 0;

S402:从所有状态开始,对待译码序列执行VA算法,得到所有状态的累积度量及幸存路径;S402: Starting from all states, execute the VA algorithm on the sequence to be decoded to obtain the cumulative metrics and survival paths of all states;

在译码开始时,因开始状态未知,故需要从所有状态开始。At the beginning of decoding, since the starting state is unknown, it is necessary to start from all states.

S403:从上述得到的累积度量中找出预设个数M个较大的累积度量,记录上述找出的累积度量的结束状态;S403: Find a larger preset number of accumulated metrics from the accumulated metrics obtained above, and record the end status of the accumulated metrics found above;

上述预设个数一般大于等于3;The above preset number is generally greater than or equal to 3;

S404:根据幸存路径,按照累积度量从大到小的顺序,分别对上述各结束状态进行回溯,得到各自的开始状态和输出序列;S404: According to the surviving path, according to the order of the accumulated metrics from large to small, respectively trace back the above-mentioned end states to obtain their respective start states and output sequences;

因有M个结束状态,故本步骤得到M个开始状态;Since there are M end states, this step obtains M start states;

S405:从上述得到的开始状态中选出参考状态;S405: Select a reference state from the above obtained start states;

本步骤通过如下方法实现:This step is achieved by the following methods:

S4051:判断上述得到的开始状态中是否有重复出现的开始状态,若是,则执行S4052;否则,执行S4053;S4051: Determine whether there are repeated start states in the start states obtained above, if yes, execute S4052; otherwise, execute S4053;

S4052:令参考状态为重复出现次数最多的开始状态;若上述重复出现次数最多的开始状态大于一个,则令参考状态为上述重复出现次数最多的开始状态中较早回溯得到的开始状态;S4052: Let the reference state be the start state with the largest number of repetitions; if the above-mentioned start state with the largest number of repetitions is more than one, set the reference state to be the start state obtained earlier from the start state with the largest number of repetitions;

S4053:令参考状态为最大的累积度量的结束状态回溯得到的开始状态。S4053: Let the reference state be the start state obtained by backtracking the end state of the largest cumulative metric.

S406:比较与上述参考状态对应的结束状态是否与上述参考状态相同,若是,则执行S407;否则,执行S408;S406: Compare whether the end state corresponding to the above reference state is the same as the above reference state, if yes, execute S407; otherwise, execute S408;

S407:令译码序列等于上述结束状态回溯得到的输出序列,译码结束;S407: Make the decoding sequence equal to the output sequence obtained by backtracking the above-mentioned end state, and the decoding ends;

S408:将上述参考状态的累积度量初始化为0,其余状态(即除了上述参考状态以外的所有状态)的累积度量初始化为相应累积度量的数据格式表示的负最小值;S408: Initialize the cumulative metric of the above reference state to 0, and initialize the cumulative metric of the remaining states (ie all states except the above reference state) to the negative minimum value represented by the data format of the corresponding cumulative metric;

S409:从上述参考状态开始,再次对待译码序列执行VA算法,得到新的所有状态的累积度量及幸存路径;S409: Starting from the above reference state, execute the VA algorithm again on the sequence to be decoded to obtain new cumulative metrics and survival paths of all states;

S410:根据幸存路径,以上述参考状态作为结束状态进行回溯,得到输出序列;S410: According to the surviving path, perform backtracking with the above reference state as the end state, and obtain the output sequence;

S411:令译码序列等于上述参考状态回溯得到的输出序列,译码结束。S411: Make the decoding sequence equal to the output sequence obtained by backtracking the above reference state, and the decoding ends.

如图5所示,是使用本发明所述方法得到的译码FER性能曲线与使用现有技术得到的译码FER曲线对比图;本实施例以GERAN系统中分组业务(假设该分组业务简称为SCHM)头部使用(3,1,6)咬尾卷积码编码后,在信噪比(Signal to Noise Ratio,SNR)为SNR的信道中传输后的待译码序列的译码FER性能曲线为例,对本发明所述方法及现有技术的两种方法进行比较说明,图中,As shown in Figure 5, it is a comparison diagram of the decoding FER performance curve obtained by using the method of the present invention and the decoding FER curve obtained by using the prior art; After the SCHM) head is encoded with a (3, 1, 6) tail-biting convolutional code, the decoding FER performance curve of the sequence to be decoded after transmission in a channel with a Signal to Noise Ratio (SNR) of SNR As an example, the method of the present invention and two methods of the prior art are compared and illustrated, among the figures,

SCHM-Max1曲线为现有技术中,从执行VA算法得到的累积度量中选取1个最大的累积度量,对上述最大的累积度量的结束状态进行回溯得到输出序列,并以该输出序列为最终译码序列情况下的译码FER性能曲线;The SCHM-Max1 curve is in the prior art, selects one of the largest cumulative metrics from the cumulative metrics obtained by executing the VA algorithm, backtracks the end state of the largest cumulative metric to obtain an output sequence, and uses this output sequence as the final translation The decoding FER performance curve under the code sequence situation;

SCHM-Max3曲线为现有技术中,从执行VA算法得到的累积度量中选取3个较大的累积度量,依次对上述累积度量的结束状态进行回溯,得到当前结束状态的开始状态和输出序列,比较上述开始状态与结束状态是否相同,若相同,则以当前结束状态回溯得到的输出序列为最终的译码序列;若不同,则对下一个累积度量的开始状态进行回溯情况下的译码FER性能曲线;The SCHM-Max3 curve is in the prior art, selects 3 larger cumulative metrics from the cumulative metrics obtained by executing the VA algorithm, and then backtracks the end states of the above cumulative metrics in turn to obtain the start state and output sequence of the current end state, Compare whether the above start state and end state are the same, if they are the same, the output sequence obtained by backtracking from the current end state is the final decoding sequence; if they are different, the decoding FER in the case of backtracking the start state of the next cumulative metric performance curve;

SCHM-TrcE曲线为使用本发明所述方法得到的译码FER性能曲线;The SCHM-TrcE curve is the decoding FER performance curve obtained using the method of the present invention;

从图上可以看出,使用本发明所述方法的FER低于使用现有技术方法的FER。As can be seen from the figure, the FER using the method of the present invention is lower than the FER using the prior art method.

如图6所示,是本发明所述译码器的第一实施例原理框图,包括VA算法模块100、查找模块200、回溯模块300、状态选择模块400以及比较模块500,As shown in FIG. 6 , it is a functional block diagram of the first embodiment of the decoder of the present invention, including a VA algorithm module 100, a search module 200, a backtracking module 300, a state selection module 400 and a comparison module 500,

VA算法模块100,用于初始化各状态的累积度量;用于对待译码序列执行VA算法,得到所有状态的累积度量及幸存路径;本发明中,VA算法模块100会执行一次或者两次VA算法,第一次从所有状态开始,第二次从上述参考状态开始。The VA algorithm module 100 is used to initialize the cumulative metrics of each state; it is used to execute the VA algorithm for the sequence to be decoded to obtain the cumulative metrics and survival paths of all states; in the present invention, the VA algorithm module 100 will execute the VA algorithm once or twice , the first time starts from all states, and the second time starts from the above reference state.

查找模块200,用于从上述VA算法模块100得到的累积度量中找出预设个数M个较大的累积度量,并记录找出的累积度量的结束状态;The search module 200 is used to find out the preset number M larger cumulative metrics from the cumulative metrics obtained by the above-mentioned VA algorithm module 100, and record the end status of the found cumulative metrics;

回溯模块300,用于根据上述VA算法模块100得到的幸存路径,对结束状态(包括上述查找模块200记录的结束状态,以及参考状态作为结束状态时的结束状态)进行回溯,得到相应结束状态的开始状态和输出序列;The backtracking module 300 is used for backtracking the end state (including the end state recorded by the above-mentioned search module 200 and the end state when the reference state is used as the end state) according to the survival path obtained by the above-mentioned VA algorithm module 100, to obtain the corresponding end state start state and output sequence;

状态选择模块400,用于从上述回溯模块300得到的开始状态中选出参考状态;A state selection module 400, configured to select a reference state from the starting states obtained by the above-mentioned backtracking module 300;

比较模块500,用于比较与上述参考状态对应的结束状态是否与上述参考状态相同,并根据比较结果确定译码序列。The comparison module 500 is configured to compare whether the end state corresponding to the above reference state is the same as the above reference state, and determine a decoding sequence according to the comparison result.

如图7所示,是本发明所述译码器的第二实施例原理框图,本实施例与第一实施例相同之处在于,均包括VA算法模块100、查找模块200、回溯模块300、状态选择模块400以及比较模块500;不同之处在于:As shown in FIG. 7 , it is a functional block diagram of the second embodiment of the decoder of the present invention. This embodiment is the same as the first embodiment in that they both include a VA algorithm module 100, a search module 200, a backtracking module 300, State selection module 400 and comparison module 500; the difference is:

查找模块200包括选取子模块201、记录子模块202;状态选择模块400包括判断子模块401和参考状态确定子模块402;比较模块500包括状态对比子模块501、译码序列确定子模块502,其中,The search module 200 includes a selection submodule 201 and a recording submodule 202; the state selection module 400 includes a judgment submodule 401 and a reference state determination submodule 402; the comparison module 500 includes a state comparison submodule 501 and a decoding sequence determination submodule 502, wherein ,

选取子模块201,用于从上述VA算法模块100得到的所有累积度量中找出预设个数M个较大的累积度量;Selecting a submodule 201 for finding a preset number M larger cumulative metrics from all the cumulative metrics obtained by the above-mentioned VA algorithm module 100;

记录子模块202,用于记录上述选取子模块201找出的累积度量的结束状态;A record submodule 202, configured to record the end status of the accumulated metrics found by the selection submodule 201;

判断子模块401,用于判断上述回溯模块300得到的所有开始状态中是否有重复出现的开始状态;Judgment sub-module 401, for judging whether there is a repeated start state among all the start states obtained by the above-mentioned backtracking module 300;

参考状态确定子模块402,用于根据判断子模块401的判断结果,确定参考状态,即:当上述回溯模块300得到的开始状态中有重复出现的开始状态时,令参考状态为重复出现次数最多的开始状态;当上述回溯模块300得到的开始状态互不相同时,令参考状态为最大的累积度量的结束状态回溯得到的开始状态;The reference state determination submodule 402 is used to determine the reference state according to the judgment result of the judgment submodule 401, that is, when there is a repeated start state in the start state obtained by the above-mentioned backtracking module 300, the reference state is the most repeated occurrence The start state; when the start state obtained by the above-mentioned backtracking module 300 is different from each other, let the reference state be the start state obtained by backtracking the end state of the largest cumulative metric;

状态对比子模块501,用于比较与上述参考状态对应的结束状态是否与上述参考状态相同;The state comparison sub-module 501 is used to compare whether the end state corresponding to the above-mentioned reference state is the same as the above-mentioned reference state;

译码序列确定子模块502,用于根据状态对比子模块501的比较结果,生成译码序列,即:当参考状态对应的结束状态与上述参考状态相同时,令译码序列等于上述结束状态回溯得到的输出序列;当参考状态对应的结束状态均与上述参考状态不相同时,令译码序列等于从上述参考状态开始,对待译码序列再次执行VA算法,并以上述参考状态作为结束状态进行回溯得到的输出序列。The decoding sequence determination sub-module 502 is used to generate a decoding sequence according to the comparison result of the state comparison sub-module 501, that is, when the end state corresponding to the reference state is the same as the above-mentioned reference state, make the decoding sequence equal to the above-mentioned end state backtracking The obtained output sequence; when the end state corresponding to the reference state is different from the above reference state, make the decoding sequence equal to start from the above reference state, execute the VA algorithm again on the sequence to be decoded, and proceed with the above reference state as the end state The output sequence obtained by backtracking.

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均包括在本发明的专利保护范围内。The above are only preferred embodiments of the present invention, and are not intended to limit the patent scope of the present invention. Any equivalent structure or equivalent process conversion made by using the description of the present invention and the contents of the accompanying drawings, or directly or indirectly used in other related technical fields , are included in the patent protection scope of the present invention.

Claims (10)

1. the interpretation method of a tail-biting convolutional code is characterized in that, described method is:
From all states, sequence to be decoded is carried out Viterbi (VA) algorithm, obtain the cumulative metric and the survivor path of all states;
From described cumulative metric, find out default several bigger cumulative metrics, and write down the done state of described cumulative metric;
According to described survivor path, according to cumulative metric order from big to small, respectively the done state of described record is recalled, obtain corresponding initial state and output sequence;
From the described initial state that obtains, select reference state;
Relatively whether more identical with described reference state with the corresponding done state of described reference state, if then decipher sequence and equal described done state and recall the output sequence that obtains; Otherwise, from described reference state, once more described sequence to be decoded is carried out the VA algorithm, obtain the cumulative metric and the survivor path of all new states; According to described survivor path, to recall as done state with described reference state, the output sequence that obtains is the decoding sequence.
2. the interpretation method of tail-biting convolutional code as claimed in claim 1 is characterized in that, and is described from all states, and before sequence execution VA algorithm to be decoded, at first the cumulative metric with described all states is initialized as identical value.
3. the interpretation method of tail-biting convolutional code as claimed in claim 1 is characterized in that, described default number is more than or equal to 3.
4. the interpretation method of tail-biting convolutional code as claimed in claim 1 is characterized in that, the described reference state step of selecting from the initial state that obtains specifically comprises:
Judge in the described initial state that obtains whether the initial state that repeats is arranged, if, then described reference state is the maximum initial state of frequency of occurrence, if the maximum initial state of described frequency of occurrence is greater than one, then described reference state is early to recall the initial state that obtains in the maximum initial state of described frequency of occurrence; Otherwise described reference state is recalled the initial state that obtains for the done state of maximum cumulative metric.
5. the interpretation method of tail-biting convolutional code as claimed in claim 1 is characterized in that, and is described from reference state, to before the described sequence execution VA algorithm to be decoded, also carries out following steps once more:
The cumulative metric of described reference state is initialized as 0, the cumulative metric of all the other states is initialized as the negative minimum value that the data format of corresponding cumulative metric is represented.
6. a decoder is characterized in that, comprise the VA algoritic module, search module, recall module, state selects module and comparison module,
Described VA algoritic module is used for sequence to be decoded is carried out the VA algorithm;
The described module of searching is used for finding out default several bigger cumulative metrics from the cumulative metric of all states, and writes down the done state of described cumulative metric;
Describedly recall module, be used for done state is recalled;
Described state is selected module, is used for determining reference state;
Described comparison module, whether with described reference state identical, and determine the decoding sequence according to comparative result if being used for the corresponding done state of comparison and described reference state.
7. decoder as claimed in claim 6 is characterized in that, described VA algoritic module also is used for the cumulative metric of each state of initialization.
8. decoder as claimed in claim 6 is characterized in that, the described module of searching comprises and choose submodule and record sub module,
The described submodule of choosing is used for finding out default several bigger cumulative metrics from described all cumulative metrics;
Described record sub module is used to write down the done state of the described cumulative metric of finding out.
9. decoder as claimed in claim 6 is characterized in that, described state selects module to comprise to judge submodule and reference state to determine submodule,
Described judgement submodule is used for judging whether all initial states have the initial state that repeats;
Described reference state is determined submodule, is used for the judged result according to described judgement submodule, determines reference state.
10. as claim 6,8 or 9 described decoders, it is characterized in that described comparison module comprises that state contrasts submodule, the decoding sequence is determined submodule,
Described state contrast submodule, whether be used for the corresponding done state of comparison and described reference state identical with described reference state;
The decoding sequence is determined submodule, is used for the comparative result according to described state contrast submodule, determines the decoding sequence.
CN201010106526.XA 2010-01-28 2010-01-28 Decoding method and decoder of tail-biting convolutional code Expired - Fee Related CN102142848B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010106526.XA CN102142848B (en) 2010-01-28 2010-01-28 Decoding method and decoder of tail-biting convolutional code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010106526.XA CN102142848B (en) 2010-01-28 2010-01-28 Decoding method and decoder of tail-biting convolutional code

Publications (2)

Publication Number Publication Date
CN102142848A true CN102142848A (en) 2011-08-03
CN102142848B CN102142848B (en) 2014-03-12

Family

ID=44410119

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010106526.XA Expired - Fee Related CN102142848B (en) 2010-01-28 2010-01-28 Decoding method and decoder of tail-biting convolutional code

Country Status (1)

Country Link
CN (1) CN102142848B (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104242957A (en) * 2013-06-09 2014-12-24 华为技术有限公司 Decoding processing method and decoder
CN104796160A (en) * 2014-01-22 2015-07-22 华为技术有限公司 Decoding method and device
WO2016183749A1 (en) * 2015-05-15 2016-11-24 华为技术有限公司 Sub-signaling segment processing method, processing device, access point, and station
CN106301392A (en) * 2016-08-09 2017-01-04 西安电子科技大学 The interpretation method of tail-biting convolutional code
CN106301392B (en) * 2016-08-09 2019-07-16 西安电子科技大学 The interpretation method of tail-biting convolutional code
CN112367086A (en) * 2020-11-12 2021-02-12 山东云海国创云计算装备产业创新中心有限公司 Decoding method, device and equipment based on LDPC and storage medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100544213C (en) * 2005-04-25 2009-09-23 中兴通讯股份有限公司 A kind of interpretation method of tail-biting convolutional code and decoder thereof
CN101047472B (en) * 2006-03-31 2013-02-06 世意法(北京)半导体研发有限责任公司 Decoding method for tail-biting CC using search deep viterbi algorithm
CN101369817B (en) * 2008-09-27 2011-10-26 华为技术有限公司 Interpretation method and apparatus for tail-biting convolutional code

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104242957A (en) * 2013-06-09 2014-12-24 华为技术有限公司 Decoding processing method and decoder
CN104242957B (en) * 2013-06-09 2017-11-28 华为技术有限公司 Decoding process method and decoder
CN104796160A (en) * 2014-01-22 2015-07-22 华为技术有限公司 Decoding method and device
WO2015109741A1 (en) * 2014-01-22 2015-07-30 华为技术有限公司 Decoding method and device
CN104796160B (en) * 2014-01-22 2019-04-12 华为技术有限公司 Interpretation method and device
WO2016183749A1 (en) * 2015-05-15 2016-11-24 华为技术有限公司 Sub-signaling segment processing method, processing device, access point, and station
CN107615839A (en) * 2015-05-15 2018-01-19 华为技术有限公司 Handle method, processing unit, access point and the website of sub- signaling section
CN107615839B (en) * 2015-05-15 2020-03-31 华为技术有限公司 Method for processing sub-signaling segment, processing device, access point and station
US10623140B2 (en) 2015-05-15 2020-04-14 Huawei Technologies Co., Ltd. Method for processing signaling sub-segment, processing apparatus, access point, and station
CN106301392A (en) * 2016-08-09 2017-01-04 西安电子科技大学 The interpretation method of tail-biting convolutional code
CN106301392B (en) * 2016-08-09 2019-07-16 西安电子科技大学 The interpretation method of tail-biting convolutional code
CN112367086A (en) * 2020-11-12 2021-02-12 山东云海国创云计算装备产业创新中心有限公司 Decoding method, device and equipment based on LDPC and storage medium

Also Published As

Publication number Publication date
CN102142848B (en) 2014-03-12

Similar Documents

Publication Publication Date Title
US7765459B2 (en) Viterbi decoder and viterbi decoding method
JP2009535939A (en) Viterbi decoding apparatus and technology
JPH1070471A (en) Soft discrimination viterbi decoding effective for the case of having long limitation length
CN101997553A (en) Method and device for decoding convolution code
CN107911195A (en) A kind of tail-biting convolutional code channel decoding method based on CVA
JP4806673B2 (en) Decoding device and decoding method
WO2008048723A2 (en) Method and system for improving decoding efficieny in wireless receivers
KR19990077972A (en) Viterbi decoding apparatus and viterbi decoding method
US8904266B2 (en) Multi-standard viterbi processor
KR100853139B1 (en) Transmission format detection apparatus and method
EP2339757B1 (en) Power-reduced preliminary decoded bits in viterbi decoder
JP3756525B2 (en) Decoding method of data signal using fixed length decision window
KR101612294B1 (en) Apparatus and method for decoding in communication system
CN102142848A (en) Decoding method and decoder of tail-biting convolutional code
US8009773B1 (en) Low complexity implementation of a Viterbi decoder with near optimal performance
CN101969308B (en) Decoding method and device for tail-biting convolutional code
KR101212856B1 (en) Method and apparatus for decoding data in communication system
JP2008118327A (en) Viterbi decoding method
JP2005294898A (en) Viterbi decoding method, decoder, mobile station radio device, base station radio device and mobile communication system
CN104796160B (en) Interpretation method and device
JP5169771B2 (en) Decoder and decoding method
CN102291198B (en) Channel decoding method and device
CN108471341B (en) A method of convolutional encoding and decoding
US8055986B2 (en) Viterbi decoder and method thereof
US7404139B2 (en) Decoder with M-AT-A-Time Traceback

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