[go: up one dir, main page]

CN103701475B - Decoding method for Turbo codes with word length of eight bits in mobile communication system - Google Patents

Decoding method for Turbo codes with word length of eight bits in mobile communication system Download PDF

Info

Publication number
CN103701475B
CN103701475B CN201310722093.4A CN201310722093A CN103701475B CN 103701475 B CN103701475 B CN 103701475B CN 201310722093 A CN201310722093 A CN 201310722093A CN 103701475 B CN103701475 B CN 103701475B
Authority
CN
China
Prior art keywords
decoding
array
algorithm
output
rsc
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
Application number
CN201310722093.4A
Other languages
Chinese (zh)
Other versions
CN103701475A (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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN201310722093.4A priority Critical patent/CN103701475B/en
Publication of CN103701475A publication Critical patent/CN103701475A/en
Application granted granted Critical
Publication of CN103701475B publication Critical patent/CN103701475B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

一种移动通信系统中8比特运算字长Turbo译码的实现方法,包括下列步骤:(1)初始化设置进入Turbo译码器的三个输入数据,以使其平均幅度都调整到Turbo译码的安全范围内,避免因数据过大或过小而增大溢出可能性。(2)执行具有溢出保护机制的8bit‑RSC的递归系统卷积编码RSC译码算法,获得译码输出E1。(3)按照协议规定,对译码输出E1和数组s分别执行交织算法。(4)执行具有溢出保护机制的8bit‑RSC的递归系统卷积编码RSC译码算法,获得译码输出E2。(5)执行解交织算法,判断是否终止迭代操作,并得到最终译码结果。本发明是在传统Turbo译码基础上进行改进的方法,在无明显损失译码性能前提下,大大降低Turbo译码的数据存储空间的开销,并提升了译码的运行效率和速度。

A method for realizing Turbo decoding of 8-bit operation word length in a mobile communication system, comprising the following steps: (1) initializing and setting three input data entering into a Turbo decoder, so that the average amplitude thereof is adjusted to that of Turbo decoding Within the safe range, avoid increasing the possibility of overflow due to too large or too small data. (2) Execute the 8bit-RSC recursive systematic convolution coding RSC decoding algorithm with an overflow protection mechanism to obtain the decoding output E 1 . (3) According to the agreement, execute the interleaving algorithm on the decoding output E 1 and the array s respectively. (4) Execute the 8bit‑RSC recursive systematic convolution coding RSC decoding algorithm with an overflow protection mechanism to obtain the decoding output E 2 . (5) Execute the de-interleaving algorithm, judge whether to terminate the iterative operation, and obtain the final decoding result. The present invention is an improved method on the basis of traditional turbo decoding, greatly reduces the overhead of turbo decoding data storage space, and improves the operating efficiency and speed of decoding without obvious loss of decoding performance.

Description

移动通信系统中8比特运算字长Turbo码的译码方法Decoding Method of 8-bit Operation Word Length Turbo Code in Mobile Communication System

技术领域technical field

本发明涉及一种移动通信系统中8比特运算字长Turbo码的译码方法,属于无线移动通信的技术领域。The invention relates to a decoding method of an 8-bit operation word length Turbo code in a mobile communication system, and belongs to the technical field of wireless mobile communication.

背景技术Background technique

Turbo(拓扑)码最早是在1993年的ICC国际会议上,由两位法国不列颠通信大学的教授Glavieux A、Thitimajshiwa P和他们的缅甸籍博士生Berrou C在论文《Near Shannonlimit error-correcting coding and decoding:Turbo-codes》中首次提出的。仿真结果表明,在使用容量为65536的随机交织器,进行18次译码迭代、且信噪比小于0.7dB时,码率为1/2的Turbo码在AWGN信道中的误比特率小于10-5,接近了香农限(1/2码率的香农限为0dB)。由于其优异性能,Turbo码成为第三代以及后续移动通信系统中高速数据业务的重要编码方式。Turbo (topological) codes were first presented at the ICC International Conference in 1993, by two professors Glavieux A and Thitimajshiwa P of the British University of Communications in France and their Burmese doctoral student Berrou C in the paper "Near Shannonlimit error-correcting coding and decoding :Turbo-codes" was first proposed. The simulation results show that when using a random interleaver with a capacity of 65536 and performing 18 decoding iterations and the signal-to-noise ratio is less than 0.7dB, the bit error rate of the Turbo code with a code rate of 1/2 in the AWGN channel is less than 10 - 5 , close to the Shannon limit (the Shannon limit of 1/2 code rate is 0dB). Due to its excellent performance, Turbo code has become an important coding method for high-speed data services in the third generation and subsequent mobile communication systems.

Turbo码的译码比其编码更为复杂,其核心部分是2个“软输入软输出(SISO)”译码器,通过多次迭代译码,可以显著提升误码性能。具体误码算法有:最大后验概率算法MAP及其改进算法Log-MAP算法等等。由于需要进行大量的乘法运算和指数运算,MAP算法并不适宜用硬件实现之。故有学者提出了MAP算法在对数域的简化版本:Log-MAP算法。其是通过转换到对数域运算来避免指数运算,同时将乘法转换为加法,而加法则变成Max,即取最大值运算。The decoding of Turbo codes is more complex than its encoding, and its core part is two "soft input soft output (SISO)" decoders, which can significantly improve the bit error performance through multiple iterative decoding. The specific bit error algorithms include: maximum a posteriori probability algorithm MAP and its improved algorithm Log-MAP algorithm and so on. Due to the need for a large number of multiplication and exponent operations, the MAP algorithm is not suitable for hardware implementation. Therefore, some scholars proposed a simplified version of the MAP algorithm in the logarithmic domain: the Log-MAP algorithm. It avoids exponent operations by converting to logarithmic domain operations, and at the same time converts multiplication into addition, and addition becomes Max, that is, the maximum value operation.

在定点数字信号处理器上,实现Turbo码译码极具挑战性,除了算法本身复杂度较高以外,还有一个重要原因是译码迭代计算过程中数据值不断累加、增大定点数溢出风险,从而使得译码性能显著恶化。On a fixed-point digital signal processor, it is extremely challenging to implement turbo code decoding. In addition to the high complexity of the algorithm itself, another important reason is that the data values are continuously accumulated during the decoding iterative calculation process, which increases the risk of fixed-point number overflow. , which significantly deteriorates the decoding performance.

为了防止算法迭代过程中发生定点数溢出,Turbo译码通常选择8比特以上的运算字长。以16比特字长为例,数据的取值范围在-32768~32767之间,而8bit字长的数据取值在-128~127之间,范围极小。因此8比特运算字长的Turbo译码的主要问题是:随着迭代运算的不断深入,数据值会不断增加,更容易发生溢出。In order to prevent overflow of fixed-point numbers in the iterative process of the algorithm, Turbo decoding usually chooses an operation word length of more than 8 bits. Taking the 16-bit word length as an example, the value range of the data is between -32768 and 32767, while the data value of the 8-bit word length is between -128 and 127, and the range is extremely small. Therefore, the main problem of Turbo decoding with 8-bit operation word length is: as the iterative operation continues to deepen, the data value will continue to increase, and overflow is more likely to occur.

然而使用8比特运算字长可以减小Turbo译码算法的数据存储空间,同时算法将更有利于并行处理、使得算法执行效率和速度也将大大优于8比特以上运算字长的译码算法,尤其随着移动通信系统对实时信号处理的速率和效率要求越来越高,8比特运算字长的Turbo译码具有很大的吸引力。However, using an 8-bit operation word length can reduce the data storage space of the Turbo decoding algorithm. At the same time, the algorithm will be more conducive to parallel processing, so that the algorithm execution efficiency and speed will be much better than the decoding algorithm with an operation word length of 8 bits or more. Especially as the mobile communication system has higher and higher requirements on the rate and efficiency of real-time signal processing, Turbo decoding with 8-bit operation word length is very attractive.

参见图1,介绍该图中各个字符的涵义:Ik为第k时刻从信道中获取的待译码数据中的系统比特,自然数k下标为时间序列号,为第k时刻从信道中获取的待译码数据中的第一校验比特,为第k时刻从信道中获取的待译码数据中的第二校验比特,Rk为第k时刻从信道获取的待译码数据,该待译码数据包括上述三种数据:IkE1是第一译码器输出的外信息数据,是第一译码器输出的外信息数据、再经过交织后的数据,E2是第二译码器输出的外信息数据,是第二译码器输出的外信息数据、再经过解交织后的数据。Referring to Fig. 1, the implication of each character in this figure is introduced: I k is the systematic bit in the data to be decoded that obtains from the channel at the k moment, and the natural number k subscript is the time sequence number, is the first parity bit in the data to be decoded obtained from the channel at the kth moment, is the second parity bit in the data to be decoded obtained from the channel at the kth moment, R k is the data to be decoded obtained from the channel at the kth moment, and the data to be decoded includes the above three kinds of data: I k , and E 1 is the external information data output by the first decoder, is the external information data output by the first decoder and the interleaved data, E 2 is the external information data output by the second decoder, It is the external information data output by the second decoder and the deinterleaved data.

参见图2,再介绍图2所示的一种典型Turbo码译码器结构及其译码方法:首先将接收到的待译码数据yk:即输入的信息比特Ik,第一校验比特一同送入第一译码器。将Ik经过交织后的数据和第二校验比特一同送入第二译码器。第一译码器输出的外信息数据E1经过交织后也送入第二译码器用于译码,第二译码器输出的外信息数据E2经过解交织后,送到第一译码器进行译码。Turbo码译码是一个迭代的过程,通常的迭代次数为3~8次,最后一次迭代时第二译码器将会输出对数似然比LLR(Loglikelihood Ratio),再经过解交织后,进行硬判决,就作为最终的译码结果。译码过程中,各个变量的取值均为有符号整数,在16bit字长的译码运算中的取值在-32768~32767之间,在8bit字长的译码运算中的取值在-128~127之间。Referring to Fig. 2, introduce a kind of typical Turbo code decoder structure and its decoding method shown in Fig. 2 again: at first with the received data y k to be decoded: promptly the information bit I k of input, the first verification bits together into the first decoder. The interleaved data and the second parity bits of I k together into the second decoder. The extrinsic data E 1 output by the first decoder is also sent to the second decoder for decoding after interleaving, and the extrinsic data E 2 output by the second decoder is sent to the first decoder after deinterleaving device to decode. Turbo code decoding is an iterative process, and the usual number of iterations is 3 to 8 times. In the last iteration, the second decoder will output the log likelihood ratio LLR (Loglikelihood Ratio), and after deinterleaving, perform The hard decision is used as the final decoding result. During the decoding process, the value of each variable is a signed integer, and the value in the 16-bit word-length decoding operation is between -32768 and 32767, and the value in the 8-bit word-length decoding operation is - Between 128 and 127.

译码的最后结果是要计算对数似然比LLR,对数似然比的计算公式为:式中,αk为前向度量,βk为后向度量,γ为转移概率。这样,只要计算出αk,βk和γ,就可以计算出来LLR。而且,计算αk,βk,γ的方法是采用传统的最大后验概率MAP计算方法即可,在此不再赘述。The final result of decoding is to calculate the logarithmic likelihood ratio LLR, the calculation formula of the logarithmic likelihood ratio is: In the formula, α k is the forward metric, β k is the backward metric, and γ is the transition probability. In this way, as long as α k , β k and γ are calculated, the LLR can be calculated. Moreover, the method of calculating α k , β k , and γ can be calculated by using the traditional maximum a posteriori probability MAP calculation method, which will not be repeated here.

总之,Turbo码译码是一个复杂的运算过程,不仅算法运算本身就非常复杂,还由于多次迭代递推,使得计算过程中的前向度量αk和后向度量βk不断累加、增大,给定点数溢出带来很大风险。In a word, Turbo code decoding is a complex operation process, not only the algorithm operation itself is very complicated, but also due to multiple iterations and recursion, the forward metric α k and the backward metric β k in the calculation process are continuously accumulated and increased , which poses a great risk of overflow for a given number of points.

为了降低Turbo译码算法的存储空间开销,同时提高其执行效率和速度,有效方法是选择较小的运算字长。但是,随之而来的问题是:运算字长越小,随着译码算法迭代的不断深入,数据值也不断增加,越容易发生运算字长的溢出。目前,8比特运算字长的Turbo译码是已知能够实际应用的最小字长,其数据取值范围在-128到127之间,范围极小,因此极易发生溢出。In order to reduce the storage space overhead of the Turbo decoding algorithm and improve its execution efficiency and speed, an effective method is to choose a smaller operation word length. However, the ensuing problem is: the smaller the operation word length is, the more likely the overflow of the operation word length will occur as the decoding algorithm iteratively deepens and the data value continues to increase. At present, the turbo decoding of 8-bit operation word length is known as the minimum word length that can be practically applied, and its data value range is between -128 and 127, which is extremely small, so overflow is very prone to occur.

但迄今为止,对于8比特运算字长的Turbo译码的溢出问题,还没有寻找到完善的解决方案,这也是以8比特为运算字长来实现Turbo译码最大的难点。But so far, no perfect solution has been found for the overflow problem of Turbo decoding with 8-bit operation word length, which is also the biggest difficulty in realizing Turbo decoding with 8-bit operation word length.

发明内容Contents of the invention

有鉴于此,本发明的目的是提供一种移动通信系统中8比特运算字长Turbo译码的实现方法,本发明是在传统的Turbo译码基础上进行改进的方法,很好地实现了8比特运算字长的Turbo译码,在无明显损失译码性能的前提下,大大降低了Turbo译码的数据存储空间的开销,并提升了译码的运行效率和速度。In view of this, the purpose of the present invention is to provide a method for realizing Turbo decoding of 8-bit operation word length in a mobile communication system. The present invention is an improved method based on traditional Turbo decoding, and realizes 8 bits well. The turbo decoding of the word length of the bit operation greatly reduces the overhead of the data storage space of the turbo decoding without obvious loss of decoding performance, and improves the operation efficiency and speed of the decoding.

为了达到上述目的,本发明提供了一种移动通信系统中8比特运算字长Turbo译码的实现方法,该方法是基于传统的Turbo译码MAX-Log-MAP前后向度量计算方法实现的,Turbo译码有三个分别为1×K维数组的输入数据:系统比特Rs、第一校验比特Rp1和第二校验比特Rp2,其中,K为信息比特的总数,即译码输出的数据长度,3个数组Rs,Rp1,Rp2的元素都是8比特字长;其特征在于:所述方法包括下列操作步骤:In order to achieve the above object, the present invention provides a method for realizing Turbo decoding of 8-bit operation word length in a mobile communication system. The method is realized based on the traditional Turbo decoding MAX-Log-MAP forward and backward metric calculation method. Decoding has three input data that are 1×K dimensional arrays: systematic bit Rs, first parity bit Rp 1 and second parity bit Rp 2 , where K is the total number of information bits, that is, the decoded output data Length, 3 arrays Rs, Rp 1 , the element of Rp 2 is all 8 bit word lengths; It is characterized in that: described method comprises the following operation steps:

步骤1,对准备进入Turbo译码器的数据进行初始化设置,以使该三个输入数据的平均幅度都调整到Turbo译码的安全范围内,避免因数据过大或过小而增大溢出可能性;该步骤1包括下列操作内容:Step 1. Initialize the data to be entered into the Turbo decoder, so that the average amplitudes of the three input data are all adjusted within the safe range of Turbo decoding, avoiding the possibility of overflow due to too large or too small data property; this step 1 includes the following operations:

(11)定义三个1×K维数组s,p1,p2,并分别初始化设置该三个数组s=Rs,p1=Rp1和p2=Rp2;其中,数组s用于临时存储系统比特,p1用于临时存储第一校验比特,p2用于临时存储第二校验比特;(11) Define three 1×K-dimensional arrays s, p 1 , p 2 , and initialize and set the three arrays s=Rs, p 1 =Rp 1 and p 2 =Rp 2 respectively; among them, the array s is used for temporary Storage system bits, p 1 is used to temporarily store the first parity bit, and p 2 is used to temporarily store the second parity bit;

(12)定义五个1×K维数组Δs,E1,ΔE1,E2,ΔE2,并将该五个数组的所有元素的初始值都设为零;其中,Δs是s交织后的数组,E1是输入为s,p1,ΔE2时递归系统卷积编码RSC译码算法的输出,ΔE1是E1交织后的数组,E2是输入为s,p2,ΔE1时RSC译码算法的输出,ΔE2是E2解交织后的数组;(12) Define five 1×K-dimensional arrays Δs, E 1 , ΔE 1 , E 2 , ΔE 2 , and set the initial values of all elements of the five arrays to zero; where Δs is the interleaved value of s Array, E 1 is the output of the recursive system convolution coding RSC decoding algorithm when the input is s, p 1 , ΔE 2 , ΔE 1 is the array after E 1 is interleaved, E 2 is when the input is s, p 2 , ΔE 1 The output of the RSC decoding algorithm, ΔE 2 is the array after E 2 deinterleaving;

(13)设置八个数组s,Δs,p1,p2,E1,ΔE1,E2,ΔE2的元素字长都为8比特;(13) Set the element word length of eight arrays s, Δs, p 1 , p 2 , E 1 , ΔE 1 , E 2 , ΔE 2 to 8 bits;

(14)计算经过步骤(11)初始化设置后的三个数组s,p1,p2中的所有元素平均幅度,所述平均幅度的计算方法是:先分别计算三个数组s,p1,p2中的每个数组中的所有元素的幅度和,再用该幅度和除以该数组元素个数,得到商A;然后,按照下述公式:对三个数组s,p1,p2分别进行幅度缩放,使得s,p1,p2中的所有元素的平均幅度变为32;(14) Calculate the average amplitude of all elements in the three arrays s, p 1 , p 2 after the initial setting in step (11), the calculation method of the average amplitude is: first calculate the three arrays s, p 1 , The magnitude sum of all elements in each array in p 2 , and then divide the magnitude sum by the number of elements in the array to obtain the quotient A; then, according to the following formula: Scale the amplitude of the three arrays s, p 1 and p 2 respectively, so that the average amplitude of all elements in s, p 1 and p 2 becomes 32;

步骤2,执行具有溢出保护机制的8bit-RSC的递归系统卷积编码RSC(RecursiveSystematic Convolutional code)译码算法,获得译码输出E1;该步骤2包括下列操作内容:Step 2, execute the recursive system convolution coding RSC (RecursiveSystematic Convolutional code) decoding algorithm of 8bit-RSC with overflow protection mechanism, obtain the decoding output E 1 ; This step 2 includes the following operations:

(21)判断数组ΔE2的元素中的绝对值是否超过门限值N,该门限值的数值能够灵活调整;如是,则在译码前执行除性归一化操作:将各个数组s,p1,p2,ΔE2中的所有元素都除以归一化系数μ,μ>1;如否,则不作任何处理;(21) Judge whether the absolute value in the element of the array ΔE 2 exceeds the threshold value N, and the numerical value of the threshold value can be adjusted flexibly; if so, perform a divisive normalization operation before decoding: each array s, All elements in p 1 , p 2 , ΔE 2 are divided by the normalization coefficient μ, μ>1; if not, no processing is done;

(22)以s,p1,ΔE2作为输入参数,执行以传统的MAX-Log-MAP前后向度量计算方法为基础并改进的8bit-RSC译码算法,获得译码输出E1;所述改进的8bit-RSC译码算法的关键操作是前后向度量的计算,其改进之处是:计算过程中存储的内部数据都设定为8比特字长,并在译码过程中新增减法归一化操作;(22) With s, p 1 , ΔE 2 as input parameters, execute the 8bit-RSC decoding algorithm based on the traditional MAX-Log-MAP forward and backward measurement calculation method and improve, and obtain the decoding output E 1 ; The key operation of the improved 8bit-RSC decoding algorithm is the calculation of the forward and backward metrics. The improvements are: the internal data stored in the calculation process are all set to 8-bit word length, and the subtraction return is added in the decoding process. One operation;

(22)以s,p1,ΔE2作为输入参数,执行改进的8bit-RSC译码算法,获得译码输出E1(22) With s, p 1 and ΔE 2 as input parameters, perform an improved 8bit-RSC decoding algorithm to obtain a decoding output E 1 ;

步骤3,按照3GPP协议规定,对译码输出E1和数组s分别执行交织算法;该步骤3包括下列操作内容:Step 3, according to the 3GPP protocol, perform an interleaving algorithm on the decoding output E1 and the array s respectively; this step 3 includes the following operations:

(31)以步骤(2)的译码输出E1作为交织输入,按照3GPP协议规定调用交织算法,并将交织输出赋值给ΔE1(31) using the decoding output E1 of step ( 2 ) as the interleaving input, calling the interleaving algorithm according to the 3GPP agreement, and assigning the interleaving output to ΔE1 ;

(32)以数组s作为交织输入,再次执行与步骤(31)相同的交织算法后,将交织输出赋值给Δs;(32) Using the array s as the interleaving input, after performing the same interleaving algorithm as step (31) again, assign the interleaving output to Δs;

步骤4,再次执行具有溢出保护机制的8bit-RSC的递归系统卷积编码RSC译码算法,获得译码输出E2;该步骤4包括下列操作内容:Step 4, execute the recursive systematic convolutional coding RSC decoding algorithm of 8bit-RSC with an overflow protection mechanism again, and obtain the decoding output E 2 ; this step 4 includes the following operations:

(41)判断数组ΔE1的元素中的绝对值是否超过门限值N,如果是,则在译码前执行除性归一化操作:四个数组s,p1,p2,ΔE1中的所有元素都除以归一化系数μ;(41) Determine whether the absolute value of the elements in the array ΔE 1 exceeds the threshold value N, if so, perform a divisive normalization operation before decoding: four arrays s, p 1 , p 2 , ΔE 1 All elements of are divided by the normalization coefficient μ;

(42)以s,p2,ΔE1作为输入,执行基于传统的MAX-Log-MAP前后向度量计算方法、并进行下述改进:对RSC译码算法做出新约定和引入新功能,得到8bit-RSC译码算法,其中的新约定和引入新功能包括:计算过程中存储的内部数据都是8比特字长、并在译码过程中新增减法归一化操作:(42) Take s, p 2 , ΔE 1 as input, implement the traditional MAX-Log-MAP forward and backward metric calculation method, and make the following improvements: make new conventions and introduce new functions to the RSC decoding algorithm, and get 8bit-RSC decoding algorithm, the new conventions and the introduction of new functions include: the internal data stored in the calculation process are all 8-bit word length, and the subtraction normalization operation is added in the decoding process:

具体计算方法为:先设定内部数据存储为8比特字长,再按照步骤(22)的描述分别计算前向度量值和后向度量值,然后根据获得的前后向度量值和传统的MAX-Log-MAP前后向度量计算方法计算得到译码输出值,并赋值给E2The specific calculation method is: first set the internal data storage as 8-bit word length, then calculate the forward metric value and the backward metric value respectively according to the description of step (22), and then according to the obtained forward and backward metric values and the traditional MAX- The Log-MAP forward and backward metric calculation method calculates the decoding output value and assigns it to E2 ;

步骤5,执行解交织算法,判断是否终止迭代操作,并得到最终译码结果;该步骤5包括下列操作内容:Step 5, execute the deinterleaving algorithm, judge whether to terminate the iterative operation, and obtain the final decoding result; this step 5 includes the following operations:

(51)以步骤4的输出E2作为输入,调用3GPP协议规定的解交织算法,执行解交织运算,并将输出赋值给ΔE2(51) With the output E 2 of step 4 as input, call the de-interleaving algorithm stipulated in the 3GPP protocol, perform the de-interleaving operation, and assign the output to ΔE 2 ;

(52)根据传统的Turbo译码终止策略判断是否已经满足迭代终止条件;若满足条件,则依据E2计算得到最终译码结果,并结束整个Turbo译码算法;否则,返回步骤2,重新继续执行。(52) According to the traditional Turbo decoding termination strategy, it is judged whether the iteration termination condition has been met; if the condition is satisfied, the final decoding result is obtained according to E2 calculation, and the entire Turbo decoding algorithm is ended; otherwise, return to step 2 and continue again implement.

本发明移动通信系统中8比特运算字长Turbo译码的实现方法提出一种新的解决Turbo迭代定点溢出问题的综合方案,其关键的创新技术有三个要点:The implementation method of 8-bit operation word length Turbo decoding in the mobile communication system of the present invention proposes a new comprehensive scheme for solving the Turbo iterative fixed-point overflow problem, and its key innovative technology has three main points:

1、将Turbo译码的运算字长压缩为8比特,既减小数据存储开销,还更利于并行处理。1. The operation word length of Turbo decoding is compressed to 8 bits, which not only reduces data storage overhead, but also facilitates parallel processing.

2、调整输入数据的平均幅度。2. Adjust the average magnitude of the input data.

3、在传统的Turbo译码MAX-Log-MAP前后向度量计算方法基础上,提出具有溢出保护机制的8bit-RSC译码算法。3. On the basis of the traditional Turbo decoding MAX-Log-MAP forward and backward metric calculation method, an 8bit-RSC decoding algorithm with an overflow protection mechanism is proposed.

本发明移动通信系统中8比特运算字长的Turbo译码的实现方法的优点是:相对于8比特运算字长以上的Turbo译码,本发明方法显著降低了数据存储开销,提高了运算速度和效率。对于Turbo常见的溢出问题,本发明方法的防止溢出效果明显。The advantage of the method for realizing Turbo decoding with 8-bit operation word length in the mobile communication system of the present invention is: compared with Turbo decoding with more than 8-bit operation word length, the method of the present invention significantly reduces data storage overhead, improves operation speed and efficiency. For the overflow problem common to Turbo, the overflow prevention effect of the method of the present invention is obvious.

附图说明Description of drawings

图1是传统Turbo译码实现方法的流程示意图。FIG. 1 is a schematic flowchart of a traditional turbo decoding implementation method.

图2是本发明8比特运算字长Turbo译码改进方法的流程示意图。Fig. 2 is a schematic flow chart of the improved method of turbo decoding with 8-bit operation word length according to the present invention.

图3是本发明8比特运算字长Turbo译码方法的具体操作步骤流程图。Fig. 3 is a flow chart of specific operation steps of the Turbo decoding method for 8-bit operation word length according to the present invention.

图4是本发明8比特运算字长Turbo译码方法在传统的MAX-Log-MAP前向度量计算方法基础上,新增减法归一化操作,以减小数据溢出可能性的示意图。Fig. 4 is a schematic diagram of adding a subtraction normalization operation on the basis of the traditional MAX-Log-MAP forward metric calculation method in the 8-bit operation word length Turbo decoding method of the present invention to reduce the possibility of data overflow.

图5是本发明8比特运算字长Turbo译码方法在传统的MAX-Log-MAP后向度量计算方法基础上,新增减法归一化操作,以减小数据溢出可能性的示意图。Fig. 5 is a schematic diagram of adding a subtraction normalization operation on the basis of the traditional MAX-Log-MAP backward metric calculation method in the 8-bit operation word length Turbo decoding method of the present invention to reduce the possibility of data overflow.

图6是图3和图4中的减法模块数学含义示意图。Fig. 6 is a schematic diagram of the mathematical meaning of the subtraction module in Fig. 3 and Fig. 4 .

具体实施方式detailed description

为使本发明的目的、技术方案和优点更加清楚,下面结合附图和实施例对本发明作进一步的详细描述。In order to make the object, technical solution and advantages of the present invention clearer, the present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments.

Turbo译码有三个输入数据,分别为:系统比特Rs、第一校验比特Rp1和第二校验比特Rp2,它们都是1×K维数组;其中,K为信息比特的总数,也就是译码输出的数据长度,3个数组Rs,Rp1,Rp2的元素都是8比特字长。Turbo decoding has three input data, namely: systematic bit Rs, first parity bit Rp 1 and second parity bit Rp 2 , they are all 1×K dimensional arrays; where K is the total number of information bits, also It is the data length of the decoded output, and the elements of the three arrays Rs, Rp 1 , and Rp 2 are all 8-bit words long.

参见图2和图3,介绍本发明移动通信系统中8比特运算字长Turbo译码的实现方法,它是在传统的Turbo译码MAX-Log-MAP前后向度量计算方法基础上进行改进而实现的;该方法包括下列操作步骤:Referring to Fig. 2 and Fig. 3, introduce the implementation method of 8 bit operation word length Turbo decoding in the mobile communication system of the present invention, it is to improve and realize on the basis of traditional Turbo decoding MAX-Log-MAP forward and backward metric calculation method of; the method includes the following steps:

步骤1,对准备进入Turbo译码器的数据进行初始化设置,以使该三个输入数据的平均幅度都调整到Turbo译码的安全范围内,避免因数据过大或过小而增大溢出可能性。该步骤1包括下列操作内容:Step 1. Initialize the data to be entered into the Turbo decoder, so that the average amplitudes of the three input data are all adjusted within the safe range of Turbo decoding, avoiding the possibility of overflow due to too large or too small data sex. This step 1 includes the following operations:

(11)定义三个1×K维数组s,p1,p2,并分别初始化设置该三个数组s=Rs,p1=Rp1和p2=Rp2;其中,数组s用于临时存储系统比特、p1用于临时存储第一校验比特,p2用于临时存储第二校验比特。(11) Define three 1×K-dimensional arrays s, p 1 , p 2 , and initialize and set the three arrays s=Rs, p 1 =Rp 1 and p 2 =Rp 2 respectively; among them, the array s is used for temporary Storage system bits, p 1 is used to temporarily store the first parity bit, and p 2 is used to temporarily store the second parity bit.

(12)定义五个1×K维数组Δs,E1,ΔE1,E2,ΔE2,并将该五个数组的所有元素的初始值都设为零;其中,Δs是s交织后的数组,E1是输入为s,p1,ΔE2时递归系统卷积编码RSC译码算法的输出,ΔE1是E1交织后的数组,E2是输入为s,p2,ΔE1时RSC译码算法的输出,ΔE2是E2解交织后的数组。(12) Define five 1×K-dimensional arrays Δs, E 1 , ΔE 1 , E 2 , ΔE 2 , and set the initial values of all elements of the five arrays to zero; where Δs is the interleaved value of s Array, E 1 is the output of the recursive system convolution coding RSC decoding algorithm when the input is s, p 1 , ΔE 2 , ΔE 1 is the array after E 1 is interleaved, E 2 is when the input is s, p 2 , ΔE 1 The output of the RSC decoding algorithm, ΔE 2 is the array after E 2 deinterleaving.

(13)设置八个数组s,Δs,p1,p2,E1,ΔE1,E2,ΔE2的元素字长都为8比特。(13) Set the element word lengths of the eight arrays s, Δs, p 1 , p 2 , E 1 , ΔE 1 , E 2 , ΔE 2 to 8 bits.

(14)计算经过步骤(11)初始化设置后的三个数组s,p1,p2中的所有元素平均幅度,所述平均幅度的计算方法是:先对三个数组元素分别计算其幅度和,再除以数组元素个数所得到的商;然后,按照下述公式: 对三个数组s,p1,p2分别进行幅度缩放,使得s,p1,p2中的所有元素的平均幅度变为32。(14) Calculate the average amplitude of all elements in the three arrays s, p 1 and p 2 after step (11) initialization, the calculation method of the average amplitude is: first calculate the amplitude and sum of the three array elements respectively , and then divided by the number of array elements; then, according to the following formula: Perform magnitude scaling on the three arrays s, p 1 , p 2 respectively, so that the average magnitude of all elements in s, p 1 , p 2 becomes 32.

步骤2,执行具有溢出保护机制的8bit-RSC的递归系统卷积编码RSC译码算法,获得译码输出E1。该步骤2包括下列操作内容:Step 2, execute the 8bit-RSC recursive systematic convolution coding RSC decoding algorithm with an overflow protection mechanism, and obtain the decoding output E 1 . This step 2 includes the following operations:

(21)判断数组ΔE2的元素中的绝对值是否超过门限值N,该门限值的数值能够灵活调整,通常设置门限值N为96;如是,则在译码前执行除性归一化操作:将各个数组s,p1,p2,ΔE2中的所有元素都除以归一化系数μ,μ>1,设置为2。如否,则不作任何处理。(21) Judging whether the absolute value of the elements of the array ΔE 2 exceeds the threshold value N, the value of the threshold value can be adjusted flexibly, and the threshold value N is usually set to 96; if so, perform divisive regression before decoding Normalization operation: Divide all elements in each array s, p 1 , p 2 , ΔE 2 by the normalization coefficient μ, μ>1, set to 2. If not, do nothing.

(22)以s,p1,ΔE2作为输入参数,执行具有溢出保护机制的8bit-RSC译码算法,获得译码输出E1(22) With s, p 1 and ΔE 2 as input parameters, execute the 8bit-RSC decoding algorithm with overflow protection mechanism to obtain the decoding output E 1 .

在8bit-RSC译码算法中,最关键的计算步骤是前后向度量的计算。因此该步骤(22)是本发明方法中的关键操作,其改进之处是:在传统的MAX-Log-MAP前后向度量计算方法基础上,作了新的约定和改变:一是计算过程中存储的内部数据都设定为8比特字长,二是在译码过程中新增减法归一化操作。(参见图3、图4和图5所示的新增减法归一化的操作方法和位置)。In the 8bit-RSC decoding algorithm, the most critical calculation step is the calculation of forward and backward metrics. Therefore this step (22) is the key operation in the method of the present invention, and its improvement is: on the basis of the traditional MAX-Log-MAP forward and backward measurement calculation method, new agreement and change have been made: the one, in the calculation process The stored internal data are all set to 8-bit word length, and the second is to add a subtraction normalization operation in the decoding process. (See Figure 3, Figure 4, and Figure 5 for how and where the new subtractive normalization works).

该步骤(22)包括下列具体操作内容:This step (22) includes the following specific operations:

(22a)先设定计算过程中存储的内部数据都为8比特字长;(22a) First set the internal data stored in the calculation process as 8-bit word length;

(22b)采用传统的MAX-Log-MAP前向度量计算方法计算前向度量值:因译码第i个信息比特对应有8个前向度量值,并用数组α[i][m]分别表示之;其中,α表示数组,自然数i和m分别为信息比特和前向度量值的序号,且其最大值分别为K和8;为临时数组;数组γ[i][n]为第i个信息比特的4个分支度量,式中,自然数i和n分别为另一信息比特和另一前向度量值的序号,且其最大值分别为K和4;(22b) Use the traditional MAX-Log-MAP forward metric calculation method to calculate the forward metric value: there are 8 forward metric values corresponding to the decoding of the i-th information bit, and they are represented by the array α[i][m] Among them, α represents an array, and the natural numbers i and m are the sequence numbers of information bits and forward metric values respectively, and their maximum values are K and 8 respectively; is a temporary array; the array γ[i][n] is the 4 branch metrics of the i-th information bit, where the natural numbers i and n are the sequence numbers of another information bit and another forward metric value, and the largest The values are K and 4 respectively;

改进的MAX-Log-MAP前向度量的计算方法是:按照传统的MAX-Log-MAP后向度量计算方法,先对α[i-1][m]和γ[i-1][n]进行累加、比较和选择的操作,计算得到后,再利用公式进行减法归一化操作,得到α[i][m];The calculation method of the improved MAX-Log-MAP forward metric is: according to the traditional MAX-Log-MAP backward metric calculation method, first calculate α[i-1][m] and γ[i-1][n] Perform accumulation, comparison and selection operations, and calculate Then, use the formula Perform subtraction and normalization operations to obtain α[i][m];

(22c)采用改进的MAX-Log-MAP后向度量计算方法计算后向度量值:因译码第j个信息比特对应有8个后向度量值,并用数组β[j][q]分别表示之;其中,β表示数组,自然数j和q分别为信息比特和后向度量值的序号,且其最大值分别为K和8;为临时数组;(22c) Use the improved MAX-Log-MAP backward metric calculation method to calculate the backward metric value: there are 8 backward metric values corresponding to the jth information bit after decoding, and they are respectively represented by the array β[j][q] Among them, β represents an array, and the natural numbers j and q are the sequence numbers of information bits and backward metric values respectively, and their maximum values are K and 8 respectively; is a temporary array;

改进的MAX-Log-MAP后向度量计算方法是:先按照加法操作对β[j][q]和γ[j][n]进行累加、比较和选择的操作,再按照传统的MAX-Log-MAP计算方法从β[j][q]计算得到后,再利用公式进行减法归一化操作,得到β[j-1][q];The improved MAX-Log-MAP backward metric calculation method is: first perform the operations of accumulating, comparing and selecting β[j][q] and γ[j][n] according to the addition operation, and then according to the traditional MAX-Log -MAP calculation method is calculated from β[j][q] Then, use the formula Perform subtraction and normalization operations to obtain β[j-1][q];

(22d)根据获得的前后向度量值按照传统方法计算译码输出,并赋值给E1(22d) Calculate the decoding output according to the obtained forward and backward metrics according to the traditional method, and assign it to E 1 .

步骤3,按照3GPP协议规定,对译码输出E1和数组s分别执行交织算法。该步骤3包括下列操作内容:Step 3, according to the 3GPP protocol, perform an interleaving algorithm on the decoded output E 1 and the array s respectively. This step 3 includes the following operations:

(31)以步骤(2)的译码输出E1作为交织输入,按照3GPP协议规定调用交织算法,并将交织输出赋值给ΔE1(31) Using the decoding output E 1 of step (2) as an interleaving input, calling an interleaving algorithm according to the 3GPP protocol, and assigning the interleaving output to ΔE 1 .

(32)以数组s作为交织输入,再次执行与步骤(31)相同的交织算法后,将交织输出赋值给Δs。(32) Using the array s as the interleaving input, after performing the same interleaving algorithm as in step (31) again, assign the interleaving output to Δs.

步骤4,再次执行具有溢出保护机制的8bit-RSC的递归系统卷积编码RSC译码算法,获得译码输出E2。该步骤4包括下列操作内容:Step 4, execute the 8bit-RSC recursive systematic convolution coding RSC decoding algorithm with an overflow protection mechanism again, and obtain the decoding output E 2 . This step 4 includes the following operations:

(41)判断数组ΔE1的元素中的绝对值是否超过门限值N,如果有,则在译码前执行除性归一化操作:将四个数组s,p1,p2,ΔE1中的所有元素都除以归一化系数μ;其中,门限值N为96,归一化系数μ要大于1,设置为2。(41) Determine whether the absolute value of the elements in the array ΔE 1 exceeds the threshold value N, and if so, perform a divisive normalization operation before decoding: combine the four arrays s, p 1 , p 2 , ΔE 1 All elements in are divided by the normalization coefficient μ; where, the threshold value N is 96, and the normalization coefficient μ must be greater than 1, which is set to 2.

(42)以s,p2,ΔE1作为输入,执行基于传统的MAX-Log-MAP前后向度量计算方法、并进行下述改进:作出新约定和引入新功能的8bit-RSC译码算法:计算过程中存储的内部数据都是8比特字长、并在译码过程中新增减法归一化操作:(42) With s, p 2 , ΔE 1 as input, execute the traditional MAX-Log-MAP forward and backward metric calculation method, and make the following improvements: 8bit-RSC decoding algorithm that makes new conventions and introduces new functions: The internal data stored in the calculation process are all 8-bit word length, and the subtraction normalization operation is added in the decoding process:

具体计算方法为:先设定内部数据存储为8比特字长,再按照步骤(22)的描述分别计算前向度量值和后向度量值,然后根据获得的前后向度量值和传统方法计算得到译码输出值,并赋值给E2The specific calculation method is as follows: first set the internal data storage to be 8-bit word length, then calculate the forward metric value and the backward metric value respectively according to the description of step (22), and then calculate according to the obtained forward and backward metric values and the traditional method Decode the output value and assign it to E 2 .

步骤5,执行解交织算法,判断是否终止迭代操作,并得到最终译码结果。该步骤5包括下列操作内容:Step 5, execute the de-interleaving algorithm, judge whether to terminate the iterative operation, and obtain the final decoding result. This step 5 includes the following operations:

(51)以步骤4的输出E2作为输入,调用3GPP协议规定的解交织算法,执行解交织运算,并将输出赋值给ΔE2(51) With the output E 2 of step 4 as input, call the de-interleaving algorithm stipulated in the 3GPP protocol, perform the de-interleaving operation, and assign the output to ΔE 2 ;

(52)根据传统的Turbo译码终止策略判断是否已经满足迭代终止条件;若满足条件,则依据E2计算得到最终译码结果,并结束整个Turbo译码算法;否则,返回步骤2,重新继续执行。(52) According to the traditional Turbo decoding termination strategy, it is judged whether the iteration termination condition has been met; if the condition is satisfied, the final decoding result is obtained according to E2 calculation, and the entire Turbo decoding algorithm is ended; otherwise, return to step 2 and continue again implement.

本发明已经进行了多次实施例的仿真试验,试验的结果是成功的,实现了发明目的。The present invention has carried out the simulation test of embodiment for many times, and the result of test is successful, has realized the purpose of the invention.

Claims (3)

1.一种移动通信系统中8比特运算字长Turbo译码的实现方法,是基于传统的Turbo译码MAX-Log-MAP前后向度量计算方法实现的;Turbo译码有三个分别为1×K维数组的输入数据:系统比特Rs、第一校验比特Rp1和第二校验比特Rp2,其中,K为信息比特的总数,即译码输出的数据长度,3个数组Rs,Rp1,Rp2的元素都是8比特字长;其特征在于:所述方法包括下列操作步骤:1. An implementation method of 8-bit operation word length Turbo decoding in a mobile communication system, which is based on the traditional Turbo decoding MAX-Log-MAP forward and backward metric calculation method; Turbo decoding has three 1 × K Input data of two-dimensional array: systematic bit Rs, first parity bit Rp 1 and second parity bit Rp 2 , where K is the total number of information bits, that is, the data length of decoding output, three arrays Rs, Rp 1 , the elements of Rp 2 are all 8-bit word lengths; it is characterized in that: the method comprises the following steps: 步骤1,对准备进入Turbo译码器的数据进行初始化设置,以使该三个输入数据的平均幅度都调整到Turbo译码的安全范围内,避免因数据过大或过小而增大溢出可能性;该步骤1包括下列操作内容:Step 1. Initialize the data to be entered into the Turbo decoder, so that the average amplitudes of the three input data are all adjusted within the safe range of Turbo decoding, avoiding the possibility of overflow due to too large or too small data property; this step 1 includes the following operations: (11)定义三个1×K维数组s,p1,p2,并分别初始化设置该三个数组s=Rs,p1=Rp1和p2=Rp2;其中,数组s用于临时存储系统比特,p1用于临时存储第一校验比特,p2用于临时存储第二校验比特;(11) Define three 1×K-dimensional arrays s, p 1 , p 2 , and initialize and set the three arrays s=Rs, p 1 =Rp 1 and p 2 =Rp 2 respectively; among them, the array s is used for temporary Storage system bits, p 1 is used to temporarily store the first parity bit, and p 2 is used to temporarily store the second parity bit; (12)定义五个1×K维数组Δs,E1,ΔE1,E2,ΔE2,并将该五个数组的所有元素的初始值都设为零;其中,Δs是s交织后的数组,E1是输入为s,p1,ΔE2时递归系统卷积编码RSC译码算法的输出,ΔE1是E1交织后的数组,E2是输入为s,p2,ΔE1时RSC译码算法的输出,ΔE2是E2解交织后的数组;(12) Define five 1×K-dimensional arrays Δs, E 1 , ΔE 1 , E 2 , ΔE 2 , and set the initial values of all elements of the five arrays to zero; where Δs is the interleaved value of s Array, E 1 is the output of the recursive system convolution coding RSC decoding algorithm when the input is s, p 1 , ΔE 2 , ΔE 1 is the array after E 1 is interleaved, E 2 is when the input is s, p 2 , ΔE 1 The output of the RSC decoding algorithm, ΔE 2 is the array after E 2 deinterleaving; (13)设置八个数组s,Δs,p1,p2,E1,ΔE1,E2,ΔE2的元素字长都为8比特;(13) Set the element word length of eight arrays s, Δs, p 1 , p 2 , E 1 , ΔE 1 , E 2 , ΔE 2 to 8 bits; (14)计算经过步骤(11)初始化设置后的三个数组s,p1,p2中的所有元素平均幅度,所述平均幅度的计算方法是:先分别计算三个数组s,p1,p2中的每个数组中的所有元素的幅度和,再用该幅度和除以该数组元素个数,得到商A;然后,按照下述公式: 对三个数组s,p1,p2分别进行幅度缩放,使得s,p1,p2中的所有元素的平均幅度变为32;(14) Calculate the average amplitude of all elements in the three arrays s, p 1 , p 2 after the initial setting in step (11), the calculation method of the average amplitude is: first calculate the three arrays s, p 1 , The magnitude sum of all elements in each array in p 2 , and then divide the magnitude sum by the number of elements in the array to obtain the quotient A; then, according to the following formula: Scale the amplitude of the three arrays s, p 1 and p 2 respectively, so that the average amplitude of all elements in s, p 1 and p 2 becomes 32; 步骤2,执行具有溢出保护机制的8bit-RSC的递归系统卷积编码RSC(RecursiveSystematic Convolutional code)译码算法,获得译码输出E1;该步骤2包括下列操作内容:Step 2, execute the recursive system convolution coding RSC (RecursiveSystematic Convolutional code) decoding algorithm of 8bit-RSC with overflow protection mechanism, obtain the decoding output E 1 ; This step 2 includes the following operations: (21)判断数组ΔE2的元素中的绝对值是否超过门限值N,该门限值的数值能够灵活调整;如是,则在译码前执行除性归一化操作:将各个数组s,p1,p2,ΔE2中的所有元素都除以归一化系数μ,μ>1;如否,则不作任何处理;(21) Judge whether the absolute value in the element of the array ΔE 2 exceeds the threshold value N, and the numerical value of the threshold value can be adjusted flexibly; if so, perform a divisive normalization operation before decoding: each array s, All elements in p 1 , p 2 , ΔE 2 are divided by the normalization coefficient μ, μ>1; if not, no processing is done; (22)以s,p1,ΔE2作为输入参数,执行具有溢出保护机制的8bit-RSC译码算法,获得译码输出E1(22) With s, p 1 , ΔE 2 as input parameters, execute the 8bit-RSC decoding algorithm with an overflow protection mechanism, and obtain the decoding output E 1 ; 步骤3,按照3GPP协议规定,对译码输出E1和数组s分别执行交织算法;该步骤3包括下列操作内容:Step 3, according to the 3GPP protocol, perform an interleaving algorithm on the decoding output E1 and the array s respectively; this step 3 includes the following operations: (31)以步骤(2)的译码输出E1作为交织输入,按照3GPP协议规定调用交织算法,并将交织输出赋值给ΔE1(31) using the decoding output E1 of step ( 2 ) as the interleaving input, calling the interleaving algorithm according to the 3GPP agreement, and assigning the interleaving output to ΔE1 ; (32)以数组s作为交织输入,再次执行与步骤(31)相同的交织算法后,将交织输出赋值给Δs;(32) Using the array s as the interleaving input, after performing the same interleaving algorithm as step (31) again, assign the interleaving output to Δs; 步骤4,再次执行具有溢出保护机制的8bit-RSC的递归系统卷积编码RSC译码算法,获得译码输出E2;该步骤4包括下列操作内容:Step 4, execute the recursive systematic convolutional coding RSC decoding algorithm of 8bit-RSC with an overflow protection mechanism again, and obtain the decoding output E 2 ; this step 4 includes the following operations: (41)判断数组ΔE1的元素中的绝对值是否超过门限值N,如果是,则在译码前执行除性归一化操作:四个数组s,p1,p2,ΔE1中的所有元素都除以归一化系数μ;(41) Determine whether the absolute value of the elements in the array ΔE 1 exceeds the threshold value N, if so, perform a divisive normalization operation before decoding: four arrays s, p 1 , p 2 , ΔE 1 All elements of are divided by the normalization coefficient μ; (42)以s,p2,ΔE1作为输入,执行基于传统的MAX-Log-MAP前后向度量计算方法、并进行下述改进:对译码算法作出新约定和引入新功能,得到8bit-RSC译码算法,其中的新约定和引入新功能包括:计算过程中存储的内部数据都是8比特字长、并在译码过程中新增减法归一化操作:(42) Take s, p 2 , ΔE 1 as input, execute the traditional MAX-Log-MAP forward and backward metric calculation method, and make the following improvements: make new conventions and introduce new functions to the decoding algorithm, and get 8bit- RSC decoding algorithm, the new conventions and the introduction of new functions include: the internal data stored in the calculation process are all 8-bit word length, and the subtraction normalization operation is added in the decoding process: 具体计算方法为:先设定内部数据存储为8比特字长,再按照步骤(22)的描述分别计算前向度量值和后向度量值,然后根据获得的前后向度量值和传统的MAX-Log-MAP前后向度量计算方法计算得到译码输出值,并赋值给E2The specific calculation method is: first set the internal data storage as 8-bit word length, then calculate the forward metric value and the backward metric value respectively according to the description of step (22), and then according to the obtained forward and backward metric values and the traditional MAX- The Log-MAP forward and backward metric calculation method calculates the decoding output value and assigns it to E2 ; 步骤5,执行解交织算法,判断是否终止迭代操作,并得到最终译码结果;该步骤5包括下列操作内容:Step 5, execute the deinterleaving algorithm, judge whether to terminate the iterative operation, and obtain the final decoding result; this step 5 includes the following operations: (51)以步骤4的输出E2作为输入,调用3GPP协议规定的解交织算法,执行解交织运算,并将输出赋值给ΔE2(51) With the output E 2 of step 4 as input, call the de-interleaving algorithm stipulated in the 3GPP protocol, perform the de-interleaving operation, and assign the output to ΔE 2 ; (52)根据传统的Turbo译码终止策略判断是否已经满足迭代终止条件;若满足条件,则依据E2计算得到最终译码结果,并结束整个Turbo译码算法;否则,返回步骤2,重新继续执行。(52) According to the traditional Turbo decoding termination strategy, it is judged whether the iteration termination condition has been met; if the condition is satisfied, the final decoding result is obtained according to E2 calculation, and the entire Turbo decoding algorithm is ended; otherwise, return to step 2 and continue again implement. 2.根据权利要求1所述的方法,其特征在于:所述具有溢出保护机制的8bit-RSC译码算法中的关键操作是前后向度量的计算,其改进之处是:计算过程中存储的内部数据都设定为8比特字长,并在译码过程中新增减法归一化操作;该步骤(22)包括下列具体操作内容:2. The method according to claim 1, characterized in that: the key operation in the 8bit-RSC decoding algorithm with overflow protection mechanism is the calculation of forward and backward metrics, and its improvement is: stored in the calculation process Internal data is all set to 8 bit word length, and new subtraction normalization operation is added in the decoding process; This step (22) comprises following specific operation content: (22a)先设定计算过程中存储的内部数据都为8比特字长;(22a) First set the internal data stored in the calculation process as 8-bit word length; (22b)采用改进的MAX-Log-MAP前向度量计算方法计算前向度量值:因译码第i个信息比特对应有8个前向度量值,并用数组α[i][m]分别表示之;其中,α表示数组,自然数i和m分别为信息比特和前向度量值的序号,且其最大值分别为K和8;为临时数组;数组γ[i][n]为第i个信息比特的4个分支度量,式中,自然数i和n分别为另一信息比特和另一前向度量值的序号,且其最大值分别为K和4;(22b) Use the improved MAX-Log-MAP forward metric calculation method to calculate the forward metric value: there are 8 forward metric values corresponding to the decoding of the i-th information bit, and they are represented by the array α[i][m] Among them, α represents an array, and the natural numbers i and m are the sequence numbers of information bits and forward metric values respectively, and their maximum values are K and 8 respectively; is a temporary array; the array γ[i][n] is the 4 branch metrics of the i-th information bit, where the natural numbers i and n are the sequence numbers of another information bit and another forward metric value, and the largest The values are K and 4 respectively; 改进的MAX-Log-MAP前向度量的计算方法是:按照传统的MAX-Log-MAP前向度量计算方法,先对α[i-1][m]和γ[i-1][n]进行累加、比较和选择的操作,计算得到后,再利用公式进行减法归一化操作,得到α[i][m];The calculation method of the improved MAX-Log-MAP forward metric is: according to the traditional MAX-Log-MAP forward metric calculation method, first calculate α[i-1][m] and γ[i-1][n] Perform accumulation, comparison and selection operations, and calculate Then, use the formula Perform subtraction and normalization operations to obtain α[i][m]; (22c)采用改进的MAX-Log-MAP后向度量计算方法计算后向度量值:因译码第j个信息比特对应有8个后向度量值,并用数组β[j][q]分别表示之;其中,β表示数组,自然数j和q分别为信息比特和后向度量值的序号,且其最大值分别为K和8;为临时数组;(22c) Use the improved MAX-Log-MAP backward metric calculation method to calculate the backward metric value: there are 8 backward metric values corresponding to the jth information bit after decoding, and they are respectively represented by the array β[j][q] Among them, β represents an array, and the natural numbers j and q are the sequence numbers of information bits and backward metric values respectively, and their maximum values are K and 8 respectively; is a temporary array; 改进的MAX-Log-MAP后向度量计算方法是:先按照加法操作对β[j][q]和γ[j][n]进行累加、比较和选择的操作,再按照传统的MAX-Log-MAP后向度量计算方法从β[j][q]计算得到后,再利用公式进行减法归一化操作,得到β[j-1][q];The improved MAX-Log-MAP backward metric calculation method is: first perform the operations of accumulating, comparing and selecting β[j][q] and γ[j][n] according to the addition operation, and then according to the traditional MAX-Log -MAP backward metric calculation method is calculated from β[j][q] Then, use the formula Perform subtraction and normalization operations to obtain β[j-1][q]; (22d)根据获得的前后向度量值按照传统方法计算译码输出,并赋值给E1(22d) Calculate the decoding output according to the obtained forward and backward metrics according to the traditional method, and assign it to E 1 . 3.根据权利要求1所述的方法,其特征在于:所述步骤2和步骤4中的门限值N设置为96,归一化系数μ设置为2。3. The method according to claim 1, characterized in that: the threshold value N in the step 2 and step 4 is set to 96, and the normalization coefficient μ is set to 2.
CN201310722093.4A 2013-12-24 2013-12-24 Decoding method for Turbo codes with word length of eight bits in mobile communication system Expired - Fee Related CN103701475B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310722093.4A CN103701475B (en) 2013-12-24 2013-12-24 Decoding method for Turbo codes with word length of eight bits in mobile communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310722093.4A CN103701475B (en) 2013-12-24 2013-12-24 Decoding method for Turbo codes with word length of eight bits in mobile communication system

Publications (2)

Publication Number Publication Date
CN103701475A CN103701475A (en) 2014-04-02
CN103701475B true CN103701475B (en) 2017-01-25

Family

ID=50362893

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310722093.4A Expired - Fee Related CN103701475B (en) 2013-12-24 2013-12-24 Decoding method for Turbo codes with word length of eight bits in mobile communication system

Country Status (1)

Country Link
CN (1) CN103701475B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108449092B (en) * 2018-04-03 2022-02-08 西南大学 A kind of Turbo code decoding method and device based on circular compression
CN110798229B (en) * 2018-08-01 2023-10-27 钜泉光电科技(上海)股份有限公司 Method for generating Turbo code interleaver

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1327653A (en) * 1999-10-05 2001-12-19 三星电子株式会社 Component decoder and method thereof in mobile communication system
US6510536B1 (en) * 1998-06-01 2003-01-21 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communications Research Centre Reduced-complexity max-log-APP decoders and related turbo decoders
CN1490956A (en) * 2002-10-18 2004-04-21 重庆重邮信科股份有限公司 A Decoding Method for Turbo Codes

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008137852A1 (en) * 2007-05-04 2008-11-13 Amicus Wireless Technology Ltd. Turbo decoding a double-binary circular recursive systematic convolutional encoded signal

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6510536B1 (en) * 1998-06-01 2003-01-21 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communications Research Centre Reduced-complexity max-log-APP decoders and related turbo decoders
CN1327653A (en) * 1999-10-05 2001-12-19 三星电子株式会社 Component decoder and method thereof in mobile communication system
CN1490956A (en) * 2002-10-18 2004-04-21 重庆重邮信科股份有限公司 A Decoding Method for Turbo Codes

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Precision Bits Can Be Reduced by One in Max-Log-MAP-Based Decoder;Jun Ling et al.;《Communication,Circuits,and systems Proceedings,2006 International Conference on》;20060628;第4卷;全文 *

Also Published As

Publication number Publication date
CN103701475A (en) 2014-04-02

Similar Documents

Publication Publication Date Title
CN106059596B (en) Using binary BCH code as the grouping markov supercomposed coding method and its interpretation method of composition code
WO2014075267A1 (en) Decoding processing method and decoder
CN105634508B (en) A kind of implementation method of the Turbo decoder of the nearly performance limit of low complex degree
CN104092470B (en) A kind of Turbo code code translator and method
JP2004096747A5 (en)
CN102523076A (en) Universal and configurable high-speed Turbo code decoding system and method thereof
JP2004343716A (en) Method for blind detection of transmission format of convolutionally encoded signal and decoder
Prescher et al. A parametrizable low-power high-throughput turbo-decoder
CN1157883C (en) Maximal posterior probability algorithm of parallel slide windows and its high-speed decoder of Turbo code
CN110730011A (en) A Recursive Block Markov Superposition Coding Method Based on Partial Superposition
CN103701475B (en) Decoding method for Turbo codes with word length of eight bits in mobile communication system
CN107147401B (en) A Decoding Method Based on Simplified Bibinary Turbo Code Metrics
CN113872615A (en) Variable-length Turbo code decoder device
CN102611464A (en) Turbo decoder based on external information parallel update
CN118041374A (en) Turbo code decoding method and decoder based on improved sliding window
Dong et al. Design and FPGA implementation of stochastic turbo decoder
CN107565983B (en) Turbo code decoding method and device
CN113114278B (en) Duobinary Turbo decoding implementation method, system, equipment and application
Huang et al. A high speed turbo decoder implementation for CPU-based SDR system
Chen et al. A 691 Mbps 1.392 mm 2 configurable radix-16 turbo decoder ASIC for 3GPP-LTE and WiMAX systems in 65nm CMOS
Reddy et al. A low complexity stopping criterion for reducing power consumption in turbo decoders
CN108400788A (en) The hardware implementation method of Turbo decodings
TWI569584B (en) Decoding methods using dynamic scaling factor
CN113258937B (en) Component decoder, extrinsic information storage unit, and Turbo code decoder
TWI565246B (en) Decoding method for a convolutional code

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170125

CF01 Termination of patent right due to non-payment of annual fee