WO2017000682A1 - Decoding method and apparatus and storage medium - Google Patents

Decoding method and apparatus and storage medium Download PDF

Info

Publication number
WO2017000682A1
WO2017000682A1 PCT/CN2016/081993 CN2016081993W WO2017000682A1 WO 2017000682 A1 WO2017000682 A1 WO 2017000682A1 CN 2016081993 W CN2016081993 W CN 2016081993W WO 2017000682 A1 WO2017000682 A1 WO 2017000682A1
Authority
WO
WIPO (PCT)
Prior art keywords
decoding
input data
read
decoded input
processing
Prior art date
Application number
PCT/CN2016/081993
Other languages
French (fr)
Chinese (zh)
Inventor
王华勇
Original Assignee
深圳市中兴微电子技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳市中兴微电子技术有限公司 filed Critical 深圳市中兴微电子技术有限公司
Publication of WO2017000682A1 publication Critical patent/WO2017000682A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes

Definitions

  • the second processing module in the decoding device receives the externally transmitted decoding parameter packet, and parses the decoding parameter packet; if the decoding parameter packet is parsed into a 3G system, the PadNum is calculated according to the zero-padding formula;
  • the iteration in the embodiment of the present invention refers to performing multiple decoding on the input decoded data.

Abstract

A decoding method comprises: reading input data of decoding at a first semi-window stage of decoding, and processing the read input data to obtain a processing result (101); decoding the processing result at a second semi-window stage of decoding to obtain a decoding result (102); and packaging and outputting the decoding result when the decoding result confirms that the decoding is ended (103). Also disclosed are a corresponding decoding apparatus and a storage medium.

Description

一种译码方法、装置及存储介质Decoding method, device and storage medium 技术领域Technical field
本发明涉及无线通信技术领域,尤其涉及一种译码方法、装置及存储介质。The present invention relates to the field of wireless communications technologies, and in particular, to a decoding method, apparatus, and storage medium.
背景技术Background technique
无线通信中,2G制式、3G制式、与4G制式,乃至将来的5G制式将长期共存,用于满足不同用户的不同需求;因此,无线通信设备的多模化是无线通信设备发展的必然趋势。In wireless communication, 2G, 3G, 4G, and even 5G will coexist for a long time to meet the different needs of different users; therefore, multi-mode of wireless communication equipment is an inevitable trend in the development of wireless communication equipment.
Turbo作为一种信道编码技术,广泛应用与3G制式和4G制式的无线通信系统;Turbo编码器的编码原理示意图,如图1所示,Turbo编码器将两个简单分量编码器通过伪随机交织器并行级联来构造具有伪随机特性的长码,以最大限度地提高数据的随机性和单位比特的信息量,使其容量更接近于香农理论的极限,在信噪比较低的高噪声环境下性能更优越,并且具有更强的抗衰落和抗干扰能力。As a channel coding technology, Turbo is widely used in wireless communication systems with 3G and 4G systems. The schematic diagram of the encoding principle of Turbo encoders is shown in Figure 1. The Turbo encoder passes two simple component encoders through a pseudo-random interleaver. Parallel cascading to construct long codes with pseudo-random characteristics to maximize the randomness of data and the amount of information per bit, making its capacity closer to the limit of Shannon's theory, in a noisy environment with low signal-to-noise ratio The performance is superior and has stronger anti-fading and anti-interference ability.
Turbo译码器通过在两个软入/软出译码器之间进行多次迭代实现伪随机译码;Turbo译码器的译码原理示意图,如图2所示,两个译码器MAP0和MAP1组成一个循环迭代结构,在外部信息的作用下,一定信噪比的误比特率将随着循环次数的增加而降低,置信度也逐步增加;同时,由于外部信息的相关性也随着译码次数的增加而逐渐增加,从而外部信息所提供的纠错能力也随之减弱,在一定的循环次数之后,Turbo译码器的译码性能将不再提高。Turbo译码器不仅采用迭代循环过程,而且采用的算法不仅要能够对每比特进行译码,还要伴随着译码给出每比特译出的先验信息;因此,Turbo译码器具有实现复杂的缺点;这里,MAP1为进行交织处理的解 码器,MAP0为进行非交织处理的解码器。Turbo decoder realizes pseudo-random decoding by performing multiple iterations between two soft-in/soft-out decoders; schematic diagram of decoding principle of Turbo decoder, as shown in Fig. 2, two decoders MAP0 And MAP1 form a loop iterative structure. Under the action of external information, the bit error rate of a certain signal-to-noise ratio will decrease with the increase of the number of cycles, and the confidence will gradually increase. At the same time, the correlation of external information will also follow. As the number of decodings increases, the error correction capability provided by the external information is also weakened. After a certain number of cycles, the decoding performance of the Turbo decoder will not be improved. The Turbo decoder not only adopts an iterative loop process, but also adopts an algorithm that not only can decode each bit, but also provides a priori information for each bit of decoding along with decoding; therefore, the Turbo decoder has complex implementation. Disadvantages; here, MAP1 is the solution for interleaving The coder, MAP0, is a decoder that performs non-interleaving processing.
3G制式和4G制式采用的Turbo算法唯一的不同就在于交织器,交织器的实现通常通过控制访问数据的地址来完成;3G制式采用的多级(MIL)交织器,通过构造RxC矩阵、进行行内置换和行间置换等多级步骤来实现,其地址毫无规律性,并行操作的可能性小;而4G制式采用基于二次多项式置换(QPP)交织器,地址的规律性强,可以实现无冲突访问,并且操作简便。The only difference between the Turbo algorithm used in the 3G system and the 4G system is the interleaver. The implementation of the interleaver is usually done by controlling the address of the access data. The multi-level (MIL) interleaver used in the 3G system is constructed by constructing the RxC matrix. Multi-step steps such as permutation and inter-row permutation are implemented. The address is irregular and the possibility of parallel operation is small. The 4G system adopts a quadratic polynomial permutation (QPP) interleaver. The address is regular and can be realized. Conflict access and easy to operate.
同时,由于3G制式和4G制式采用的关键技术不同,导致其干扰类型和干扰抵消的目标有所不同;3G制式为保证可靠性,通常采用硬比特干扰抵消算法,不需要输出软符号;而4G制式为了获取更大的增益,通常采用软符号干扰抵消算法,这样在Turbo译码的过程中需要缓存软符号信息,以便输出到外部模块做干扰抵消。At the same time, because the key technologies used in the 3G system and the 4G system are different, the interference type and the interference cancellation target are different; the 3G standard is to ensure the reliability, usually adopts the hard bit interference cancellation algorithm, and does not need to output soft symbols; In order to obtain greater gain, the soft symbol interference cancellation algorithm is usually used, so that the soft symbol information needs to be buffered in the Turbo decoding process for output to the external module for interference cancellation.
为提高系统吞吐率,3G制式和4G制式通常采用基4的Turbo译码算法,即每时刻译码产生4比特的数据;但由于3G制式和4G制式在采用的交织器算法方面的差异,直接影响到其译码实现所采用的方式以及存储空间的开销;译码实现方式,如图3所示:对于4G制式,由于交织的规律性,Turbo译码器可以方便的分并行处理单元(PU)并行、分串行处理单元(WIN)串行;而对于3G制式,由于交织的无规律性,MAP1仅能分WIN串行。传统MAP流水线,如图4所示,对于MP0,由于后半窗需要读写LE,故存在读写LE冲突;而对于MAP1,除读写LE冲突外,3G制式由于交织地址的冲突性,还存在4比特的读冲突和写冲突;因此,现有技术中多模Turbo译码器的实现架构,如图5所示:通过前窗缓存、后窗使用的方式来解决后半窗的读写LE冲突;通过4份拷贝的方式来解决3G支持的4比特读冲突和写冲突;但是,该方法由于不能充分共享4G制式软符号的存储资源,从而导致存储资源开销比较大。 In order to improve the system throughput rate, the 3G system and the 4G system usually use the base 4 Turbo decoding algorithm, that is, decoding 4 bits of data at a time; however, due to the difference in the interleaver algorithms used in the 3G system and the 4G system, Affects the way of its decoding implementation and the overhead of the storage space; the decoding implementation, as shown in Figure 3: For the 4G system, due to the regularity of interleaving, the Turbo decoder can be conveniently divided into parallel processing units (PU). Parallel, serial serial processing unit (WIN) serial; for 3G system, due to the irregularity of interleaving, MAP1 can only be divided into WIN serial. The traditional MAP pipeline, as shown in Figure 4, for MP0, because the latter half of the window needs to read and write LE, there is a read and write LE conflict; and for MAP1, in addition to reading and writing LE conflict, 3G system due to the conflict of interleaved addresses, There are 4 bit read conflicts and write conflicts; therefore, the implementation architecture of the multimode Turbo decoder in the prior art is as shown in FIG. 5: the front window is read and written by the front window buffer and the back window. LE conflicts; 4-bit read conflicts and write conflicts supported by 3G are solved by 4 copies; however, this method can not fully share the storage resources of 4G standard soft symbols, resulting in relatively large storage resource overhead.
同时,Turbo译码器为提高译码性能,通常采用一定大小的重叠窗(overlap),通过固定默认初始值的方法来训练序列,从而提高译码的精度和正确性;采用固定默认初始值,重叠窗至少需要16才能满足译码的一般性能需求。这极大地增加了资源的无用开销。At the same time, in order to improve the decoding performance, the Turbo decoder usually uses a certain overlap window to train the sequence by fixing the default initial value, thereby improving the accuracy and correctness of the decoding; using a fixed default initial value, The overlap window requires at least 16 to meet the general performance requirements of the decoding. This greatly increases the useless overhead of resources.
由此可见,传统的Turbo译码器由于交织器的差异,4G并行和3G串行,存储资源受限于3G,逻辑资源受限于4G,资源共享不充分,从而导致资源利用率低,整体硬件开销和功耗都大。对于3G制式,由于没有充分利用逻辑资源,导致系统吞吐率也低。It can be seen that the traditional Turbo decoder has 4G parallel and 3G serial, the storage resources are limited to 3G, the logic resources are limited to 4G, and the resource sharing is insufficient, resulting in low resource utilization. Both hardware overhead and power consumption are large. For the 3G system, the system throughput is also low due to insufficient use of logical resources.
发明内容Summary of the invention
有鉴于此,本发明实施例期望提供一种译码方法、装置及存储介质,能够提高资源利用率和吞吐率,降低系统开销和功耗。In view of this, embodiments of the present invention are directed to providing a decoding method, apparatus, and storage medium, which can improve resource utilization and throughput, and reduce system overhead and power consumption.
本发明实施例的技术方案是这样实现的:The technical solution of the embodiment of the present invention is implemented as follows:
本发明实施例提供了一种译码方法,所述方法包括:An embodiment of the present invention provides a decoding method, where the method includes:
在译码的前半窗阶段读取译码的输入数据,并对读取的输入数据进行处理,得到处理结果;Reading the decoded input data in the first half window stage of decoding, and processing the read input data to obtain a processing result;
在译码的后半窗阶段将所述处理结果进行译码,得到译码结果;Decoding the processing result in a second half of the decoding stage to obtain a decoding result;
根据所述译码结果确认译码结束时,封装并输出译码结果。When the decoding is confirmed based on the decoding result, the decoding result is encapsulated and output.
上述方案中,所述确认接收的外部数据为前半窗数据之前,所述方法还包括:In the foregoing solution, before the confirming that the received external data is the first half of the window data, the method further includes:
接收译码参数包,根据所述译码参数包获取译码参数;Receiving a decoding parameter packet, and acquiring a decoding parameter according to the decoding parameter packet;
接收译码的输入数据,根据由所述译码参数计算得到的补零个数PadNum对所述输入数据进行处理,并存储处理后的数据。The decoded input data is received, the input data is processed according to the zero padding value PadNum calculated by the decoding parameter, and the processed data is stored.
上述方案中,所述读取译码的输入数据,包括:In the above solution, the reading and decoding input data includes:
对于3G制式,在对所述译码的输入数据进行交织处理阶段的第一个窗,先读取两组译码的输入数据,在前半窗阶段,再读取两组译码的输入 数据,获取四组译码的输入数据;或,For the 3G system, in the first window of the interleaving processing stage of the decoded input data, the two sets of decoded input data are read first, and in the first half window stage, the two sets of decoded inputs are read. Data, obtaining four sets of decoded input data; or,
对于3G制式,在对所述译码的输入数据进行非交织处理阶段直接读取四组译码的输入数据;或,For the 3G system, the four sets of decoded input data are directly read in the non-interleaved processing stage of the decoded input data; or
对于4G制式,在对所述译码的输入数据进行非交织处理阶段及在对所述译码的输入数据进行交织处理阶段,均直接读取四组译码的输入数据。For the 4G system, four sets of decoded input data are directly read during the non-interleaving process of the decoded input data and the interleaving process of the decoded input data.
上述方案中,所述对读取的输入数据进行处理,得到译码结果,包括:In the above solution, the processing of the read input data to obtain a decoding result includes:
对读取的输入数据进行gamma计算,得到gamma值。The gamma calculation is performed on the read input data to obtain a gamma value.
上述方案中,所述将所述处理结果进行译码,包括:In the above solution, the decoding the processing result includes:
对所述gamma值进行前后向碰撞计算,得到硬比特信息、先验信息、及软符号信息。The forward and backward collision calculation is performed on the gamma value to obtain hard bit information, a priori information, and soft symbol information.
本发明实施例还提供了一种译码装置,所述装置包括:第一处理模块、译码模块、和输出模块;其中,An embodiment of the present invention further provides a decoding apparatus, where the apparatus includes: a first processing module, a decoding module, and an output module;
所述第一处理模块,配置为在译码的前半窗阶段读取译码的输入数据,并对读取的输入数据进行处理,得到处理结果;The first processing module is configured to read the decoded input data in a first half window stage of decoding, and process the read input data to obtain a processing result;
所述译码模块,配置为在译码的后半窗阶段将所述处理结果进行译码,得到译码结果;The decoding module is configured to decode the processing result in a second half of the decoding stage to obtain a decoding result;
所述输出模块,配置为根据所述译码结果确认译码结束时,封装并输出译码结果。The output module is configured to, when the decoding is completed according to the decoding result, encapsulate and output the decoding result.
上述方案中,所述装置还包括:第二处理模块,配置为接收译码参数包,根据所述译码参数包获取译码参数;In the foregoing solution, the device further includes: a second processing module, configured to receive a decoding parameter packet, and obtain a decoding parameter according to the decoding parameter packet;
接收译码的输入数据,根据由所述译码参数计算得到的补零个数PadNum对所述输入数据进行处理,并存储处理后的数据。The decoded input data is received, the input data is processed according to the zero padding value PadNum calculated by the decoding parameter, and the processed data is stored.
上述方案中,所述第一处理模块,配置为对于3G制式,在对所述译码的输入数据进行交织处理阶段的第一个窗,先读取两组译码的输入数据,在前半窗阶段,再读取两组译码的输入数据,获取四组译码的输入数据; 或,对于3G制式,在对所述译码的输入数据进行非交织处理阶段直接读取四组译码的输入数据;或,In the above solution, the first processing module is configured to, for the 3G system, read the two sets of decoded input data in the first window of the interleaving processing stage of the decoded input data, in the first half window In the stage, the two sets of decoded input data are read, and four sets of decoded input data are obtained; Or, for the 3G system, directly reading the four sets of decoded input data during the non-interleaving processing stage of the decoded input data; or
对于4G制式,在对所述译码的输入数据进行非交织处理阶段及在对所述译码的输入数据进行交织处理阶段,均直接读取四组译码的输入数据。For the 4G system, four sets of decoded input data are directly read during the non-interleaving process of the decoded input data and the interleaving process of the decoded input data.
上述方案中,所述第一处理模块,配置为对读取的输入数据进行gamma计算,得到gamma值。In the above solution, the first processing module is configured to perform gamma calculation on the read input data to obtain a gamma value.
上述方案中,所述译码模块,配置为对所述gamma值进行前后向碰撞计算,得到硬比特信息、先验信息、及软符号信息。In the above solution, the decoding module is configured to perform forward and backward collision calculation on the gamma value to obtain hard bit information, a priori information, and soft symbol information.
本发明实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,该计算机程序配置为执行本发明实施例的上述译码方法。The embodiment of the present invention further provides a computer storage medium storing a computer program configured to perform the above decoding method of the embodiment of the present invention.
本发明实施例所提供的译码方法、装置及存储介质,在译码的前半窗阶段,读取译码的输入数据,并对读取的输入数据进行处理,得到处理结果;在译码的后半窗阶段,将所述处理结果进行译码,得到译码结果;根据所述译码结果确认译码结束时,封装并输出译码结果;如此,可通过前半窗阶段的读数据与后半窗阶段的写数据分离,解决了读写冲突的问题,降低了资源的功耗;同时通过对译码的输入数据进行数据对齐,将3G MAP0、4G MAP0和4G MAP1合并为无冲突通道,统一并行处理,3G MAP1为冲突通道,单独进行串行处理,提高了吞吐率。The decoding method, device and storage medium provided by the embodiments of the present invention read the decoded input data in the first half window stage of decoding, and process the read input data to obtain a processing result; In the second half window stage, the processing result is decoded to obtain a decoding result; when the decoding end is confirmed according to the decoding result, the decoding result is encapsulated and output; thus, the read data of the first half window stage can be obtained. The write data separation in the half window stage solves the problem of read and write conflicts and reduces the power consumption of resources. At the same time, 3G MAP0, 4G MAP0 and 4G MAP1 are merged into conflict-free channels by data alignment of the decoded input data. Unified parallel processing, 3G MAP1 is a collision channel, and serial processing is performed separately, which improves throughput.
附图说明DRAWINGS
图1为现有技术Turbo编码器的编码原理示意图;1 is a schematic diagram of a coding principle of a prior art Turbo encoder;
图2为现有技术Turbo译码器的译码原理示意图;2 is a schematic diagram of a decoding principle of a prior art Turbo decoder;
图3为现有技术Turbo译码器的译码实现方式示意图;3 is a schematic diagram of a decoding implementation manner of a prior art turbo decoder;
图4为现有技术MAP流水线示意图;4 is a schematic diagram of a prior art MAP pipeline;
图5为现有技术多模Turbo译码器的实现架构示意图;5 is a schematic diagram of an implementation architecture of a prior art multimode Turbo decoder;
图6为本发明实施例译码方法的基本处理流程示意图; 6 is a schematic flowchart of a basic processing process of a decoding method according to an embodiment of the present invention;
图7为本发明实施例alpha继承历史值初始化的原理示意图;FIG. 7 is a schematic diagram showing the principle of initializing alpha inheritance history values according to an embodiment of the present invention; FIG.
图8为本发明实施例beta继承历史值初始化的原理示意图;FIG. 8 is a schematic diagram of a principle of initializing a beta inheritance history value according to an embodiment of the present invention; FIG.
图9为本发明实施例读写数据的示意图;9 is a schematic diagram of reading and writing data according to an embodiment of the present invention;
图10为本发明实施例译码方法的详细处理流程示意图;FIG. 10 is a schematic flowchart of detailed processing of a decoding method according to an embodiment of the present invention; FIG.
图11为本发明实施例译码装置的组成结构示意图;11 is a schematic structural diagram of a decoding apparatus according to an embodiment of the present invention;
图12为本发明实施例译码装置的实现示意图。FIG. 12 is a schematic diagram of implementation of a decoding apparatus according to an embodiment of the present invention.
具体实施方式detailed description
在本发明实施例一种译码方法的基本处理流程,如图6所示,包括以下步骤:The basic processing flow of a decoding method in the embodiment of the present invention, as shown in FIG. 6, includes the following steps:
步骤101,在译码的前半窗阶段,读取译码的输入数据,并对读取的输入数据进行处理,得到处理结果;Step 101: In the first half window stage of decoding, reading the decoded input data, and processing the read input data to obtain a processing result;
译码装置的第一处理模块在译码的前半窗阶段读取译码的输入数据;The first processing module of the decoding device reads the decoded input data in a first half window stage of decoding;
1)对于3G制式,在对所述译码的输入数据进行交织处理MAP1阶段的第一个窗前,先从缓存中读取两组译码的输入数据,在前半窗阶段,再从缓存中读取两组译码的输入数据,获取四组译码的输入数据;每次MAP1迭代前均有半个窗的预读阶段,后半窗作为后一个窗的预读阶段;1) For the 3G system, before interleaving the decoded input data, the first window of the MAP1 phase is read, and the two sets of decoded input data are read from the buffer, in the first half window stage, and then from the cache. Reading two sets of decoded input data, and obtaining four sets of decoded input data; each time before MAP1 iteration, there is a pre-reading phase of half window, and the latter half window is used as a pre-reading stage of the latter window;
这里,所述每组译码的输入数据包括:先验值LE、系统数据S、和校验值P1;如此,通过提前半窗读的方式,即在3G MAP1的每次迭代前增加一级提前预读流水,从4比特的数据中任取2比特的数据进行提前预读并缓存,其余2比特在正常流程的前半窗读取,并与提前预读的2比特组成完整的数据;由于3G MAP1采用拷贝的方式来解决冲突,读写不会同时存在于同一存储资源空间,因此从根本上就不会发生读写冲突,提前预读流水可以和其它窗的后半窗重合。这样,通过增加少量的开销,即可实现从同时读4个数据降低到同时读2个数据,从而使相应的拷贝数也从4份降低为2份,存储资源可以完全共享4G软符号的存储资源,达到降低存储资 源开销和提高共享资源利用率的目的;Here, the input data of each group of decoding includes: a priori value LE, system data S, and check value P1; thus, by advancing half window reading, that is, adding one level before each iteration of 3G MAP1 Pre-read the pipeline ahead of time, take 2 bits of data from the 4-bit data for pre-reading and buffering, and the remaining 2 bits are read in the first half of the normal flow, and complete the data with 2 bits ahead of the pre-read; due to 3G MAP1 uses copying to resolve conflicts. Read and write will not exist in the same storage resource space at the same time. Therefore, there is no read/write conflict at all. The pre-reading pipeline can coincide with the second half of other windows. In this way, by adding a small amount of overhead, it is possible to reduce the simultaneous reading of 4 data to read 2 data at the same time, so that the corresponding copy number is also reduced from 4 copies to 2 copies, and the storage resources can completely share the storage of 4G soft symbols. Resources to reduce storage resources Source overhead and the purpose of improving shared resource utilization;
2)对于3G制式,在对所述译码的输入数据进行非交织处理MAP0阶段直接读取四组译码的输入数据;这里,所述每组译码的输入数据包括:LE、S、和P0;2) For the 3G system, the four sets of decoded input data are directly read in the non-interleaved processing MAP0 phase of the decoded input data; here, the input data of each set of decoding includes: LE, S, and P0;
3)对于4G制式,在对所述译码的输入数据进行非交织处理阶段及在对所述译码的输入数据进行交织处理阶段,均直接读取四组译码的输入数据;这里,所述每组译码的输入数据包括:LE、S、和P0,或LE、S、和P1。3) for the 4G system, the non-interleaving processing stage of the decoded input data and the interleaving processing stage of the decoded input data are directly read four sets of decoded input data; here, Each set of decoded input data includes: LE, S, and P0, or LE, S, and P1.
对读取的输入数据进行处理是指将输入的数据进行gamma计算,得到gamma值,并将所述gamma值缓存至gamma_ram;这里,gamma计算采用(1,0)的方案;由Turbo算法从理论上推到出的gamma计算的方程式,为:Processing the read input data refers to performing gamma calculation on the input data to obtain a gamma value, and buffering the gamma value to gamma_ram; here, the gamma calculation adopts the scheme of (1, 0); the theory by Turbo algorithm The equation for the gamma calculation that is pushed up is:
Figure PCTCN2016081993-appb-000001
Figure PCTCN2016081993-appb-000001
其中,
Figure PCTCN2016081993-appb-000002
among them,
Figure PCTCN2016081993-appb-000002
Figure PCTCN2016081993-appb-000003
表示从状态S2k到S2k+2的gamma值;
Figure PCTCN2016081993-appb-000003
Represents the gamma value from state S 2k to S 2k+2 ;
Figure PCTCN2016081993-appb-000004
表示编码系统比特SYS,
Figure PCTCN2016081993-appb-000005
表示编码校验比特P0或P1;
Figure PCTCN2016081993-appb-000004
Indicates the encoding system bit SYS,
Figure PCTCN2016081993-appb-000005
Representing the code check bit P0 or P1;
Figure PCTCN2016081993-appb-000006
表示接收的软系统符号,
Figure PCTCN2016081993-appb-000007
表示接收的软校验符号;
Figure PCTCN2016081993-appb-000006
Indicates the received soft system symbol,
Figure PCTCN2016081993-appb-000007
Indicates the received soft check symbol;
La(χ2k),La(χ2k+1)表示先验软信息Le。La(χ 2k ), La(χ 2k+1 ) represents the a priori soft information Le.
硬比特符号x在通信意义上仅有+1,-1之分,而0表示无信号,±1可以增大两个不同信号之间的区分度;因此,通常gamma的计算采用(1,-1)方案;gamma计算方案比较值,如表1所示:The hard bit symbol x is only +1,-1 in the sense of communication, and 0 means no signal, ±1 can increase the discrimination between two different signals; therefore, the calculation of gamma is usually adopted (1,- 1) Scheme; gamma calculation scheme comparison value, as shown in Table 1:
Figure PCTCN2016081993-appb-000008
Figure PCTCN2016081993-appb-000008
Figure PCTCN2016081993-appb-000009
Figure PCTCN2016081993-appb-000009
表1Table 1
由表1可以看出,gamma(1,-1)和gamma(1,0)两种算法的概率差相差一个整数倍数,这是由于采用gamma简化算法带来的结果;如果采用浮点算法,两种译码算法的结果一样;但是如果采用定点算法,由于定点精度问题,gamma(1,-1)算法在精度上会有损失;同时,从实现角度而言,gamma(1,0)算法也相对简化;因此,采用gamma(1,0)算法不仅能降低逻辑资源的开销,提高译码性能,而且由于前半窗需要缓存,也能降低缓存存储资源的开销;而且,由于gamma值在随后的无论是用于求硬比特符号,还是用于求先验信息,抑或用于求软符号信息,均采用的是不同组合的概率差值,因此,gamma采用(1,0)方案计算,并不会造成任何性能损失。It can be seen from Table 1 that the probability difference between the gamma(1,-1) and gamma(1,0) algorithms differs by an integer multiple, which is due to the result of using the gamma simplification algorithm; if a floating-point algorithm is used, The results of the two decoding algorithms are the same; however, if the fixed-point algorithm is used, the gamma(1,-1) algorithm will have a loss in accuracy due to the fixed-point accuracy problem; at the same time, from the implementation point of view, the gamma(1,0) algorithm It is also relatively simplified; therefore, the gamma(1,0) algorithm can not only reduce the overhead of logic resources, but also improve the decoding performance. Moreover, since the first half of the window needs to be cached, the overhead of the cache storage resource can also be reduced; and, since the gamma value is subsequently Whether it is used for hard bit symbols, for a priori information, or for soft symbol information, different combinations of probability differences are used. Therefore, gamma is calculated using the (1,0) scheme, and Does not cause any performance loss.
本发明实施例中,若不是3G制式下的MAP1阶段的第一个窗,在执行本步骤之前,则需初始化alpha或beta;若是3G制式下的MAP1阶段的第一个窗,则在缓存中读取两组译码的输入数据后,再初始化alpha或beta;In the embodiment of the present invention, if it is not the first window of the MAP1 phase in the 3G system, the alpha or beta needs to be initialized before performing this step; if it is the first window of the MAP1 phase in the 3G system, it is in the cache. After reading the two sets of decoded input data, initialize alpha or beta;
这里,如果为首次对输入的数据进行译码,即首次迭代,则采用固定的默认值初始化alpha或beta;否则,采用缓存的历史值初始化alpha或beta;其中,缓存的历史值为上一次译码产生并缓存的值;Here, if the input data is decoded for the first time, that is, the first iteration, the alpha or beta is initialized with a fixed default value; otherwise, the alpha or beta is initialized with the cached historical value; wherein the cached history value is the last translation The value generated and cached by the code;
由于Turbo碰撞译码算法通过采用增加overlap训练窗大小的方法来提高译码性能,因此,用于训练所选择的初始值不仅决定训练窗WIN的大小,而且决定其译码性能;训练窗从理论上来说是无用的,仅仅是为了训练,而不会产生有效的译码输出;因此,本申请通过采用继承历史值来初始化alpha或beta,在保证译码性能的前提下,能有效地减小训练窗WIN的大小, 从而降低无用开销;而无用开销的减少,也必然会提高系统吞吐率和降低动态功耗。Since the Turbo collision decoding algorithm improves the decoding performance by increasing the size of the overlap training window, the initial value selected for training not only determines the size of the training window WIN, but also determines its decoding performance; the training window is theoretical. It is useless for the sake of training, and does not produce effective decoding output; therefore, the present application initializes alpha or beta by using inheritance history values, and can effectively reduce the decoding performance. The size of the training window WIN, This reduces useless overhead; and the reduction in useless overhead will inevitably increase system throughput and reduce dynamic power consumption.
alpha继承历史值初始化的原理,如图7所示:由于alpha采用前向计算,各窗间可以平滑过渡,除第一个窗外的其它窗无需重叠训练,后窗可以直接采用前窗的计算结果做为训练结果继续处理,因此alpha仅各PU的第一个窗需要初始化。在第一次迭代的时候,采用传统的默认固定值初始化,并保存距离各PU末尾重叠窗WIN长度点的alpha中间计算值,用于下次迭代的初始化;除第一次迭代外的其他迭代,均采用上次迭代保存的中间值作为alpha的初始值,并保存本次计算的中间值以供下次迭代使用。The principle of alpha inheritance history value initialization, as shown in Figure 7: Since alpha uses forward calculation, each window can smoothly transition, except for the other windows outside the first window without overlapping training, the rear window can directly use the calculation result of the front window. As the training result continues processing, so alpha only the first window of each PU needs to be initialized. At the first iteration, the traditional default fixed value is initialized, and the alpha intermediate calculated value from the length of the WIN window at the end of each PU is saved for initialization of the next iteration; other iterations except the first iteration , use the intermediate value saved in the last iteration as the initial value of alpha, and save the intermediate value of this calculation for the next iteration.
beta继承历史值初始化的原理,如图8所示:由于beta由于采用反向计算,各窗间在数据上无连贯性,因此,各个窗均需要独立初始化。在第一次迭代的时候,各窗采用传统的默认固定值初始化,并保存距离各窗头部重叠窗WIN长度点的beta中间计算值,用于下次迭代的初始化;除第一次迭代外的其他迭代均采用上次迭代保存的中间值作为beta的初始值,并保存本次计算的中间值以供下次迭代使用。The principle of beta inheritance history value initialization is shown in Figure 8. Since beta uses reverse computation, there is no continuity in data between windows. Therefore, each window needs to be initialized independently. At the first iteration, each window is initialized with the traditional default fixed value, and the beta intermediate calculation value from the WIN length point of each window header overlap window is saved for initialization of the next iteration; except for the first iteration The other iterations use the intermediate value saved in the last iteration as the initial value of beta, and save the intermediate value of this calculation for the next iteration.
本发明实施例中,在执行步骤101之前,还包括:In the embodiment of the present invention, before performing step 101, the method further includes:
步骤100a,接收译码参数包,根据所述译码参数包获取译码参数;Step 100a: Receive a decoding parameter packet, and obtain a decoding parameter according to the decoding parameter packet.
译码装置中的第二处理模块接收外部发送的译码参数包,并解析所述译码参数包;如果解析所述译码参数包为3G制式,根据补零个数计算公式计算PadNum;The second processing module in the decoding device receives the externally transmitted decoding parameter packet, and parses the decoding parameter packet; if the decoding parameter packet is parsed into a 3G system, the PadNum is calculated according to the zero-padding formula;
对于3G制式,由于MAP0采用顺序地址,地址间无冲突,因此,MAP0可采用并行操作;但是,由于3G制式下交织器的无规律性,MAP1读写数据时的交织地址容易产生冲突,因此MAP1无法并行操作;对于4G制式,交织器采用无冲突的二次置换多项式(Quadratic Polynomial Permutation,QPP),因此,4G制式下的MAP0和MAP1均能并行操作。因此,把3G MAP0、 4G MAP0和4G MAP1合并为无冲突通道,统一并行处理;而3G MAP1为冲突通道,采用固定窗长的原则单独进行串行处理。这样,既能最大限度的共享其逻辑资源,达到资源利用率的最大化;同时,由于并行处理3G MAP0,也能极大提高3G系统的吞吐率。For the 3G system, since MAP0 uses sequential addresses and there is no conflict between addresses, MAP0 can operate in parallel; however, due to the irregularity of the interleaver in 3G system, the interleaved address when MAP1 reads and writes data is prone to conflict, so MAP1 It is impossible to operate in parallel; for the 4G system, the interleaver adopts Quadratic Polynomial Permutation (QPP). Therefore, both MAP0 and MAP1 in the 4G system can operate in parallel. So put 3G MAP0, 4G MAP0 and 4G MAP1 are merged into a collision-free channel and unified parallel processing; while 3G MAP1 is a collision channel, serial processing is performed separately by the principle of fixed window length. In this way, the logical resources can be shared to the maximum extent, and the resource utilization can be maximized. At the same time, the 3G MAP0 can be processed in parallel, which can greatly improve the throughput of the 3G system.
4G协议规定的Turbo码块大小K为在[40,6144]区间的188种可能取值,且每种取值在各自的区间均为N(N=8,16,32,64)的整数倍,因此能容易的均分为PU x WIN等份,利于并行处理;而3G协议中规定的Turbo码块大小K可以是[40,5114]的任意值,并不完全是PU x WIN的整数倍,为兼容4G的多PU并行处理,需要对3G的输入数据进行末尾补零对齐到与4G最接近的码块大小K;具体的补零个数计算公式如下:The Turbo code block size K specified by the 4G protocol is 188 possible values in the [40, 6144] interval, and each value is an integer multiple of N (N=8, 16, 32, 64) in each interval. Therefore, it can be easily divided into PU x WIN aliquots for parallel processing; and the Turbo code block size K specified in the 3G protocol can be any value of [40, 5114], not exactly an integer multiple of PU x WIN For 4G-compatible multi-PU parallel processing, the 3G input data needs to be padded at the end to the closest code block size K to 4G; the specific zero-padding formula is as follows:
PadNum=(8-k%8)%8,k∈[40,512]                   (2)PadNum=(8-k%8)%8,k∈[40,512] (2)
        (16-k%16)%16,k∈(512,1024](16-k%16)%16,k∈(512,1024]
        (32-k%32)%32,k∈(1024,2048](32-k%32)%32,k∈(1024,2048]
(64-k%64)%64,k∈(2048,5114];(64-k%64)%64,k∈(2048,5114];
再根据解码快大小k和PadNum分别计算出MAP0和MAP1运算所需要的并行处理单元数量(PuNum)、串行处理单元数量(WinNum)和串行处理单元大小(WinSize),K’、PuNum、WinNum和WinSize的关系,如表2所示:According to the decoding fast size k and PadNum, the number of parallel processing units (PuNum), serial processing unit number (WinNum) and serial processing unit size (WinSize), K', PuNum, WinNum, which are required for MAP0 and MAP1 operations, respectively, are calculated. The relationship with WinSize, as shown in Table 2:
K’=k+PuNumK’=k+PuNum PuNumPuNum WinNumWinNum WinSizeWinSize
[40,376][40,376] 11 11 K’%2K’%2
(376,752](376,752] 22 11 K’%4K’%4
(752,1504](752,1504) 44 11 K’%8K’%8
(1504,3072](1504,3072) 88 11 K’%16K’%16
(3072,6144](3072,6144] 88 22 K’%32K’%32
表2 Table 2
步骤100b,接收译码的输入数据,根据PadNum对所述输入数据进行处理,并存储处理后的数据;Step 100b, receiving decoded input data, processing the input data according to PadNum, and storing the processed data;
这里,译码装置的第二处理模块接收外部的译码输入数据,解析所述输入数据中的p0、p1和S,根据所述PadNum的大小在所接收的数据尾部补零对齐后存储至缓存;同时,所述第二处理模块根据k产生交织地址,并将产生的交织地址缓存至addr_ram,所述交织地址用于MAP1阶段读写数据使用;在执行该步骤后,执行初始化alpha或beta的操作。Here, the second processing module of the decoding device receives the external decoded input data, parses p0, p1, and S in the input data, and stores the buffer to the cache after the received data is zero-padded according to the size of the PadNum. At the same time, the second processing module generates an interleave address according to k, and buffers the generated interleave address to addr_ram, the interleave address is used for reading and writing data in the MAP1 phase; after performing this step, performing initialization of alpha or beta operating.
步骤102,在译码的后半窗阶段将所述处理结果进行译码,得到译码结果;Step 102: Decode the processing result in a second half of the decoding stage to obtain a decoding result.
这里,译码装置中的译码模块对步骤101中计算得到的所述gamma值基于基4碰撞MAP算法进行前后向碰撞计算,得到译码结果,并将所述译码结果进行缓存;Here, the decoding module in the decoding apparatus performs the forward-back collision calculation on the gamma value calculated in step 101 based on the base 4 collision MAP algorithm to obtain a decoding result, and caches the decoding result;
其中,所述译码结果包括:硬比特信息、LE、及软符号信息;The decoding result includes: hard bit information, LE, and soft symbol information;
相应的,所述硬比特信息存储至hd_ram,所述4G校验比特p1软符号存储至p1_le_ram,4G校验比特p0软符号存储至p0_le_ram,4G系统比特软符号存储至llrs_scpy_ram,LE存储至le_ram;Correspondingly, the hard bit information is stored to hd_ram, the 4G check bit p1 soft symbol is stored to p1_le_ram, the 4G check bit p0 soft symbol is stored to p0_le_ram, the 4G system bit soft symbol is stored to llrs_scpy_ram, and the LE is stored to le_ram;
对于非冲突通道,则将四组译码结果并行写入le_ram,如果是冲突通道,在写入译码结果的过程中若遇到地址冲突,则将有冲突的地址和数据先缓存起至delay_ram,在没有地址冲突的时候,将已经缓存的有冲突的地址和数据同其他译码结果一同写入le_ram。For non-conflicting channels, the four sets of decoding results are written to le_ram in parallel. If it is a conflicting channel, if an address conflict is encountered during the process of writing the decoding result, the conflicting address and data are first buffered to delay_ram. In the absence of an address conflict, the already cached conflicting address and data are written to le_ram along with other decoded results.
本发明实施例中,为解决4比特数据的写冲突,采用延迟写法,由于MAP的译码结果数据仅发生在后半窗,通过延迟可以扩展写到前半窗,相当于每一时刻只写2比特数据,而在无地址冲突的时候,可以同时写入多比特数据,从而,在根本上消除写冲突的问题。In the embodiment of the present invention, in order to solve the write conflict of the 4-bit data, the delayed write method is adopted. Since the decoding result data of the MAP only occurs in the second half window, the delay can be extended to the first half window, which is equivalent to writing only 2 at each moment. Bit data, and when there is no address conflict, multi-bit data can be written at the same time, thereby fundamentally eliminating the problem of write conflict.
同时,在本发明实施例中,如图9所示,在前半窗从共享存储资源读 取本窗所有需要的数据信,并对所述数据进行gamma计算后缓存,在后半窗仅从该缓存中读取相应的gamma值进行译码,并将译码结果回写到共享存储资源;如此,实现了共享存储资源的读/写完全分开,解决了读写冲突;同时,由于不需要从较大的共享存储资源二次重复读取数据和进行gamma值的二次计算,而仅从较小的缓存中直接获取gamma值降低了大RAM的读写概率和逻辑资源的翻转率,有效地降低了动态功耗。Meanwhile, in the embodiment of the present invention, as shown in FIG. 9, the first half window is read from the shared storage resource. All the required data signals of the window are taken, and the data is cached by gamma calculation. In the latter half of the window, only the corresponding gamma value is read from the cache for decoding, and the decoding result is written back to the shared storage resource. In this way, the read/write of the shared storage resource is completely separated, and the read/write conflict is solved; at the same time, since it is not necessary to repeatedly read the data from the larger shared storage resource and perform the secondary calculation of the gamma value, only Obtaining the gamma value directly from the smaller cache reduces the read/write probability of large RAM and the flip rate of logical resources, effectively reducing dynamic power consumption.
步骤103,根据所述译码结果确认译码结束时,封装并输出译码结果; Step 103, according to the decoding result, confirming that the decoding ends, encapsulating and outputting the decoding result;
译码装置中的输出模块对所述译码结果中的硬比特信息进行循环冗余校验(Cyclic Redundancy Check,CRC),或将本次译码结果中的硬比特信息与上次迭代结果中的硬比特信息进行比较,依据迭代提前停止准则及CRC结果或比较结果确定迭代是否结束;如果迭代未结束,则重复执行步骤101至步骤103;如果迭代结束,则将译码得到的硬比特信息或软比特信息封装、输出至外部;The output module in the decoding device performs a Cyclic Redundancy Check (CRC) on the hard bit information in the decoding result, or the hard bit information in the current decoding result and the last iteration result. Comparing the hard bit information, determining whether the iteration ends according to the iterative early stop criterion and the CRC result or the comparison result; if the iteration is not finished, repeating steps 101 to 103; if the iteration ends, the decoded hard bit information is decoded. Or soft bit information is encapsulated and output to the outside;
需要说明的是,本发明实施例中所述迭代是指对输入的译码数据进行多次译码。It should be noted that the iteration in the embodiment of the present invention refers to performing multiple decoding on the input decoded data.
本发明实施例一种译码方法的详细处理流程,如图10所示,包括以下步骤:A detailed processing flow of a decoding method according to an embodiment of the present invention, as shown in FIG. 10, includes the following steps:
步骤201,接收译码参数包,根据所述译码参数包获取译码参数;Step 201: Receive a decoding parameter packet, and obtain a decoding parameter according to the decoding parameter packet.
译码装置中的第二处理模块接收外部发送的译码参数包,并解析所述译码参数包;如果解析所述译码参数包为3G制式,根据补零个数计算公式计算PadNum;The second processing module in the decoding device receives the externally transmitted decoding parameter packet, and parses the decoding parameter packet; if the decoding parameter packet is parsed into a 3G system, the PadNum is calculated according to the zero-padding formula;
对于3G制式,由于MAP0采用顺序地址,地址间无冲突,因此,MAP0可采用并行操作;但是,由于3G制式下交织器的无规律性,MAP1读写数据时的交织地址容易产生冲突,因此MAP1无法并行操作;对于4G制式,交织器采用无冲突的QPP,因此,4G制式下的MAP0和MAP1均能并行操 作。因此,把3G MAP0、4G MAP0和4G MAP1合并为无冲突通道,统一并行处理;而3G MAP1为冲突通道,采用固定窗长的原则单独进行串行处理。这样,既能最大限度的共享其逻辑资源,达到资源利用率的最大化;同时,由于并行处理3G MAP0,也能极大提高3G系统的吞吐率。For the 3G system, since MAP0 uses sequential addresses and there is no conflict between addresses, MAP0 can operate in parallel; however, due to the irregularity of the interleaver in 3G system, the interleaved address when MAP1 reads and writes data is prone to conflict, so MAP1 Can not operate in parallel; for 4G system, the interleaver adopts collision-free QPP, therefore, MAP0 and MAP1 in 4G system can operate in parallel Work. Therefore, 3G MAP0, 4G MAP0 and 4G MAP1 are merged into a collision-free channel for unified parallel processing; while 3G MAP1 is a collision channel, serial processing is performed separately by the principle of fixed window length. In this way, the logical resources can be shared to the maximum extent, and the resource utilization can be maximized. At the same time, the 3G MAP0 can be processed in parallel, which can greatly improve the throughput of the 3G system.
4G协议规定的Turbo码块大小K为在[40,6144]区间的188种可能取值,且每种取值在各自的区间均为N(N=8,16,32,64)的整数倍,因此能容易的均分为PU x WIN等份,利于并行处理;而3G协议中规定的Turbo码块大小K可以是[40,5114]的任意值,并不完全是PU x WIN的整数倍,为兼容4G的多PU并行处理,需要对3G的输入数据进行末尾补零对齐到与4G最接近的码块大小K;具体的补零个数计算公式如下:The Turbo code block size K specified by the 4G protocol is 188 possible values in the [40, 6144] interval, and each value is an integer multiple of N (N=8, 16, 32, 64) in each interval. Therefore, it can be easily divided into PU x WIN aliquots for parallel processing; and the Turbo code block size K specified in the 3G protocol can be any value of [40, 5114], not exactly an integer multiple of PU x WIN For 4G-compatible multi-PU parallel processing, the 3G input data needs to be padded at the end to the closest code block size K to 4G; the specific zero-padding formula is as follows:
PadNum=(8-k%8)%8,k∈[40,512]                 (2)PadNum=(8-k%8)%8,k∈[40,512] (2)
        (16-k%16)%16,k∈(512,1024](16-k%16)%16,k∈(512,1024]
        (32-k%32)%32,k∈(1024,2048](32-k%32)%32,k∈(1024,2048]
(64-k%64)%64,k∈(2048,5114];(64-k%64)%64,k∈(2048,5114];
再根据解码快大小k和PadNum分别计算出MAP0和MAP1运算所需要的并行处理单元数量(PuNum)、串行处理单元数量(WinNum)和串行处理单元大小(WinSize),K’、PuNum、WinNum和WinSize的关系,如表2所示:According to the decoding fast size k and PadNum, the number of parallel processing units (PuNum), serial processing unit number (WinNum) and serial processing unit size (WinSize), K', PuNum, WinNum, which are required for MAP0 and MAP1 operations, respectively, are calculated. The relationship with WinSize, as shown in Table 2:
K’=k+PuNumK’=k+PuNum PuNumPuNum WinNumWinNum WinSizeWinSize
[40,376][40,376] 11 11 K’%2K’%2
(376,752](376,752] 22 11 K’%4K’%4
(752,1504](752,1504) 44 11 K’%8K’%8
(1504,3072](1504,3072) 88 21twenty one K’%16K’%16
(3072,6144](3072,6144] 88 1212 K’%32K’%32
表2 Table 2
步骤202,接收译码的输入数据,根据PadNum对所述输入数据进行处理,并存储处理后的数据;Step 202: Receive decoded input data, process the input data according to PadNum, and store the processed data.
译码装置的第二处理模块接收外部的译码输入数据,解析所述输入数据中的p0、p1和S,根据所述PadNum的大小在所接收的数据尾部补零对齐后存储至缓存;同时,所述第二处理模块根据k产生交织地址,并将产生的交织地址缓存至addr_ram,所述交织地址用于MAP1阶段读写数据使用。The second processing module of the decoding device receives the external decoded input data, parses p0, p1, and S in the input data, and stores the buffer to the buffer after the zero-order alignment of the received data according to the size of the PadNum; The second processing module generates an interleave address according to k, and buffers the generated interleave address to addr_ram, where the interleave address is used for MAP1 phase read and write data usage.
步骤203,判断是否需要进入提前预读阶段,在判断结果为是时,执行步骤204,在判断结果为否时,执行步骤205; Step 203, it is determined whether it is necessary to enter the early pre-reading stage, when the determination result is yes, step 204 is performed, and if the determination result is no, step 205 is performed;
译码装置的第一处理模块判断为3G制式,且在对所述译码的输入数据进行交织处理MAP1阶段的第一个窗时,确认需要进入提前预读阶段,否则,不需要进入提前预读阶段。The first processing module of the decoding device determines that the 3G system is, and when the first window of the MAP1 phase is interleaved for the decoded input data, it is confirmed that the advance pre-reading phase needs to be entered; otherwise, the advance pre-reading is not required. Reading stage.
步骤204,提前预读数据; Step 204, pre-reading data in advance;
这里,先从缓存中读取两组待译码的输入数据;Here, two sets of input data to be decoded are first read from the cache;
这里,所述每组译码的输入数据包括:先验值LE、系统数据S、和校验值P1;如此,通过提前半窗读的方式,即在3G MAP1的每次迭代前增加一级提前预读流水,从4比特的数据中任取2比特的数据进行提前预读并缓存,其余2比特在正常流程的前半窗读取,并与提前预读的2比特组成完整的数据;由于3G MAP1采用拷贝的方式来解决冲突,读写不会同时存在于同一存储资源空间,因此从根本上就不会发生读写冲突,提前预读流水可以和其它窗的后半窗重合。这样,通过增加少量的开销,即可实现从同时读4个数据降低到同时读2个数据,从而使相应的拷贝数也从4份降低为2份,存储资源可以完全共享4G软符号的存储资源,达到降低存储资源开销和提高共享资源利用率的目的。Here, the input data of each group of decoding includes: a priori value LE, system data S, and check value P1; thus, by advancing half window reading, that is, adding one level before each iteration of 3G MAP1 Pre-read the pipeline ahead of time, take 2 bits of data from the 4-bit data for pre-reading and buffering, and the remaining 2 bits are read in the first half of the normal flow, and complete the data with 2 bits ahead of the pre-read; due to 3G MAP1 uses copying to resolve conflicts. Read and write will not exist in the same storage resource space at the same time. Therefore, there is no read/write conflict at all. The pre-reading pipeline can coincide with the second half of other windows. In this way, by adding a small amount of overhead, it is possible to reduce the simultaneous reading of 4 data to read 2 data at the same time, so that the corresponding copy number is also reduced from 4 copies to 2 copies, and the storage resources can completely share the storage of 4G soft symbols. Resources, to achieve the purpose of reducing storage resource overhead and increasing the utilization of shared resources.
步骤205,在译码的前半窗阶段,读取译码的输入数据,并对读取的输 入数据进行处理,得到处理结果;Step 205, in the first half window stage of decoding, reading the decoded input data, and reading the input The data is processed to obtain the processing result;
这里,译码装置的第一处理模块在译码的前半窗阶段读取译码的输入数据;Here, the first processing module of the decoding device reads the decoded input data in the first half window stage of decoding;
1)对于3G制式,在对所述译码的输入数据进行交织处理MAP1阶段的第一个窗,在前半窗阶段,从缓存中读取两组译码的输入数据,与步骤204中提前预读的两组数据共同组成四组译码的输入数据;这里,所述每组译码的输入数据包括:LE、S、和P1;每次MAP1迭代前均有半个窗的预读阶段,后半窗作为后一个窗的预读阶段;1) For the 3G system, the first window of the MAP1 phase is interleaved on the decoded input data, and in the first half window phase, the two sets of decoded input data are read from the buffer, and the step 204 is advanced in advance. The two sets of data read together constitute four sets of decoded input data; here, the input data of each set of decoding includes: LE, S, and P1; each time before the MAP1 iteration, there is a half-reading stage of the window, The second half window serves as the pre-reading stage of the latter window;
2)对于3G制式,在对所述译码的输入数据进行非交织处理MAP0阶段直接读取四组译码的输入数据;这里,所述每组译码的输入数据包括:LE、S、和P0;2) For the 3G system, the four sets of decoded input data are directly read in the non-interleaved processing MAP0 phase of the decoded input data; here, the input data of each set of decoding includes: LE, S, and P0;
3)对于4G制式,在对所述译码的输入数据进行非交织处理阶段及在对所述译码的输入数据进行交织处理阶段,均直接读取四组译码的输入数据;这里,所述每组译码的输入数据包括:LE、S、和P0,或LE、S、和P1。3) for the 4G system, the non-interleaving processing stage of the decoded input data and the interleaving processing stage of the decoded input data are directly read four sets of decoded input data; here, Each set of decoded input data includes: LE, S, and P0, or LE, S, and P1.
对读取的输入数据进行处理是指将输入的数据进行gamma计算,得到gamma值,并将所述gamma值缓存至gamma_ram;这里,gamma计算采用(1,0)的方案;由Turbo算法从理论上推到出的gamma计算的方程式,为:Processing the read input data refers to performing gamma calculation on the input data to obtain a gamma value, and buffering the gamma value to gamma_ram; here, the gamma calculation adopts the scheme of (1, 0); the theory by Turbo algorithm The equation for the gamma calculation that is pushed up is:
Figure PCTCN2016081993-appb-000010
Figure PCTCN2016081993-appb-000010
其中,
Figure PCTCN2016081993-appb-000011
among them,
Figure PCTCN2016081993-appb-000011
Figure PCTCN2016081993-appb-000012
表示从状态S2k到S2k+2的gamma值;
Figure PCTCN2016081993-appb-000012
Represents the gamma value from state S 2k to S 2k+2 ;
Figure PCTCN2016081993-appb-000013
表示编码系统比特SYS,
Figure PCTCN2016081993-appb-000014
表示编码校验比特P0或P1;
Figure PCTCN2016081993-appb-000013
Indicates the encoding system bit SYS,
Figure PCTCN2016081993-appb-000014
Representing the code check bit P0 or P1;
Figure PCTCN2016081993-appb-000015
表示接收的软系统符号,
Figure PCTCN2016081993-appb-000016
表示接收的软校验符号;
Figure PCTCN2016081993-appb-000015
Indicates the received soft system symbol,
Figure PCTCN2016081993-appb-000016
Indicates the received soft check symbol;
La(χ2k),La(χ2k+1)表示先验软信息Le。La(χ 2k ), La(χ 2k+1 ) represents the a priori soft information Le.
本发明实施例中采用gamma(1,0)算法进行gamma计算。In the embodiment of the present invention, the gamma calculation is performed by using the gamma (1, 0) algorithm.
本发明实施例中,若不是3G制式下的MAP1阶段的第一个窗,在执行本步骤之前,则需初始化alpha或beta;若是3G制式下的MAP1阶段的第一个床,则在缓存中读取两组译码的输入数据后,再初始化alpha或beta;In the embodiment of the present invention, if it is not the first window of the MAP1 phase in the 3G system, the alpha or beta needs to be initialized before performing this step; if it is the first bed of the MAP1 phase in the 3G system, it is in the cache. After reading the two sets of decoded input data, initialize alpha or beta;
这里,如果为首次对输入的数据进行译码,即首次迭代,则采用固定的默认值初始化alpha或beta;否则,采用缓存的历史值初始化alpha或beta;其中,缓存的历史值为上一次译码产生并缓存的值;alpha继承历史值初始化的原理,如图7所示,beta继承历史值初始化的原理,如图8所示,在前述均有描述,这里不在赘述。Here, if the input data is decoded for the first time, that is, the first iteration, the alpha or beta is initialized with a fixed default value; otherwise, the alpha or beta is initialized with the cached historical value; wherein the cached history value is the last translation The value generated and cached by the code; the principle of alpha inheritance history value initialization, as shown in Figure 7, the principle of beta inheritance history value initialization, as shown in Figure 8, is described above, and will not be described here.
步骤206,在译码的后半窗阶段将所述处理结果进行译码,得到译码结果;Step 206: Decode the processing result in a second half of the decoding stage to obtain a decoding result.
这里,译码装置中的译码模块对步骤203中计算得到的所述gamma值基于基4碰撞MAP算法进行前后向碰撞计算,得到译码结果,并将所述译码结果进行缓存;Here, the decoding module in the decoding device performs the forward-back collision calculation on the gamma value calculated in step 203 based on the base 4 collision MAP algorithm to obtain a decoding result, and caches the decoding result;
其中,所述译码结果包括:硬比特信息、LE、及软符号信息;The decoding result includes: hard bit information, LE, and soft symbol information;
相应的,所述硬比特信息存储至hd_ram,所述4G校验比特p1软符号存储至p1_le_ram,4G校验比特p0软符号存储至p0_le_ram,4G系统比特软符号存储至llrs_scpy_ram,LE存储至le_ram;Correspondingly, the hard bit information is stored to hd_ram, the 4G check bit p1 soft symbol is stored to p1_le_ram, the 4G check bit p0 soft symbol is stored to p0_le_ram, the 4G system bit soft symbol is stored to llrs_scpy_ram, and the LE is stored to le_ram;
对于非冲突通道,则将四组译码结果并行写入le_ram,如果是冲突通道,在写入译码结果的过程中若遇到地址冲突,则将有冲突的地址和数据先缓存起至delay_ram,在没有地址冲突的时候,将已经缓存的有冲突的地址和数据同其他译码结果一同写入le_ram。For non-conflicting channels, the four sets of decoding results are written to le_ram in parallel. If it is a conflicting channel, if an address conflict is encountered during the process of writing the decoding result, the conflicting address and data are first buffered to delay_ram. In the absence of an address conflict, the already cached conflicting address and data are written to le_ram along with other decoded results.
本发明实施例中,为解决4比特数据的写冲突,采用延迟写法,由于MAP的译码结果数据仅发生在后半窗,通过延迟可以扩展写到前半窗,相 当于每一时刻只写2比特数据,而在无地址冲突的时候,可以同时写入多比特数据,从而,在根本上消除写冲突的问题。In the embodiment of the present invention, in order to solve the write conflict of the 4-bit data, the delayed write method is adopted, and since the decoding result data of the MAP only occurs in the second half window, the delay can be extended to the first half window, When only 2 bits of data are written at each moment, and when there is no address conflict, multi-bit data can be written at the same time, thereby fundamentally eliminating the problem of write conflict.
步骤207,判断是否所有窗均处理完毕,判断结果为是时,执行步骤208,判断结果为否时,执行步骤205; Step 207, it is determined whether all the windows are processed, and if the determination result is yes, step 208 is performed, and if the determination result is no, step 205 is performed;
步骤208,根据所述译码结果判断译码是否结束,判断结果为是时,执行步骤209,判断结果为否时,执行步骤203; Step 208, according to the decoding result to determine whether the decoding is over, the determination result is yes, step 209 is performed, and if the determination result is no, step 203 is performed;
这里,译码装置中的输出模块对所述译码结果中的硬比特信息进行循环冗余校验(Cyclic Redundancy Check,CRC),或将本次译码结果中的硬比特信息与上次迭代结果中的硬比特信息进行比较,依据迭代提前停止准则及CRC结果或比较结果确定迭代是否结束。Here, the output module in the decoding device performs a Cyclic Redundancy Check (CRC) on the hard bit information in the decoding result, or the hard bit information in the current decoding result and the last iteration. The hard bit information in the result is compared, and it is determined whether the iteration ends according to the iterative early stop criterion and the CRC result or the comparison result.
步骤209,封装并输出译码结果; Step 209, encapsulating and outputting the decoding result;
译码装置中的输出模块将译码得到的硬比特信息或软比特信息封装、输出至外部;The output module in the decoding device encapsulates and outputs the decoded hard bit information or soft bit information to the outside;
需要说明的是,本发明实施例中所述迭代是指对输入的译码数据进行多次译码。It should be noted that the iteration in the embodiment of the present invention refers to performing multiple decoding on the input decoded data.
为实现上述译码方法,本发明实施例提供一种译码装置,所述装置的组成结构,如图11所示,包括:第一处理模块10、译码模块20、和输出模块30;其中,In order to achieve the above decoding method, an embodiment of the present invention provides a decoding apparatus. The composition of the apparatus, as shown in FIG. 11, includes: a first processing module 10, a decoding module 20, and an output module 30; ,
所述第一处理模块10,配置为在译码的前半窗阶段读取译码的输入数据,并对读取的输入数据进行处理,得到处理结果;The first processing module 10 is configured to read the decoded input data in the first half window stage of the decoding, and process the read input data to obtain a processing result;
所述译码模块20,配置为在译码的后半窗阶段将所述处理结果进行译码,得到译码结果;The decoding module 20 is configured to decode the processing result in a second half of the decoding stage to obtain a decoding result;
所述输出模块30,配置为根据所述译码结果确认译码结束时,封装并输出译码结果。The output module 30 is configured to, when the decoding is completed according to the decoding result, encapsulate and output the decoding result.
本发明实施例中,所述装置还包括:第二处理模块40,配置为接收译 码参数包,根据所述译码参数包获取译码参数;In the embodiment of the present invention, the device further includes: a second processing module 40 configured to receive the translation a code parameter packet, which acquires a decoding parameter according to the decoding parameter packet;
接收译码的输入数据,根据所述译码参数中的PadNum对所述输入数据进行处理,并存储处理后的数据。The decoded input data is received, the input data is processed according to PadNum in the decoding parameter, and the processed data is stored.
本发明实施例中,所述第一处理模块10,配置为对于3G制式,在对所述译码的输入数据进行交织处理阶段的第一个窗,先读取两组译码的输入数据,在前半窗阶段,再读取两组译码的输入数据,获取四组译码的输入数据;或,In the embodiment of the present invention, the first processing module 10 is configured to, for the 3G system, read the two sets of decoded input data in the first window of the interleaving processing stage of the decoded input data. In the first half window stage, two sets of decoded input data are read, and four sets of decoded input data are obtained; or
对于3G制式,在对所述译码的输入数据进行非交织处理阶段直接读取四组译码的输入数据;或,For the 3G system, the four sets of decoded input data are directly read in the non-interleaved processing stage of the decoded input data; or
对于4G制式,在对所述译码的输入数据进行非交织处理阶段及在对所述译码的输入数据进行交织处理阶段,均直接读取四组译码的输入数据。For the 4G system, four sets of decoded input data are directly read during the non-interleaving process of the decoded input data and the interleaving process of the decoded input data.
本发明实施例中,所述第一处理模块10,配置为对读取的输入数据进行gamma计算,得到gamma值。In the embodiment of the present invention, the first processing module 10 is configured to perform gamma calculation on the read input data to obtain a gamma value.
本发明实施例中,所述译码模块30,配置为对所述gamma值进行前后向碰撞计算,得到硬比特信息、LE、及软符号信息。In the embodiment of the present invention, the decoding module 30 is configured to perform forward and backward collision calculation on the gamma value to obtain hard bit information, LE, and soft symbol information.
本发明实施例中,若不是3G制式下的MAP1阶段的第一个窗,在执行本步骤之前,则需初始化alpha或beta;若是3G制式下的MAP1阶段的第一个床,则在缓存中读取两组译码的输入数据后,再初始化alpha或beta;In the embodiment of the present invention, if it is not the first window of the MAP1 phase in the 3G system, the alpha or beta needs to be initialized before performing this step; if it is the first bed of the MAP1 phase in the 3G system, it is in the cache. After reading the two sets of decoded input data, initialize alpha or beta;
这里,如果为首次对输入的数据进行译码,即首次迭代,则采用固定的默认值初始化alpha或beta;否则,采用缓存的历史值初始化alpha或beta;其中,缓存的历史值为上一次译码产生并缓存的值。Here, if the input data is decoded for the first time, that is, the first iteration, the alpha or beta is initialized with a fixed default value; otherwise, the alpha or beta is initialized with the cached historical value; wherein the cached history value is the last translation The value that the code generates and caches.
本发明实施例中,所述第二处理模块40配置为接收外部的译码输入数据,解析所述输入数据中的p0、p1和S,根据所述PadNum的大小在所接收的数据尾部补零对齐后存储至缓存;同时,所述第二处理模块根据k产生交织地址,并将产生的交织地址缓存至addr_ram,所述交织地址用于 MAP1阶段读写数据使用。In the embodiment of the present invention, the second processing module 40 is configured to receive external decoding input data, parse p0, p1, and S in the input data, and fill zero in the tail of the received data according to the size of the PadNum. Aligning and storing to the cache; at the same time, the second processing module generates an interleave address according to k, and buffers the generated interleave address to addr_ram, where the interleave address is used MAP1 stage read and write data usage.
本发明实施例中,所述译码模块30,配置为对gamma值基于基4碰撞MAP算法进行前后向碰撞计算,得到译码结果,并将所述译码结果进行缓存;In the embodiment of the present invention, the decoding module 30 is configured to perform a forward-back collision calculation on the gamma value based on the base 4 collision MAP algorithm, obtain a decoding result, and cache the decoding result.
这里,对于非冲突通道,则将四组译码结果并行写入le_ram,如果是冲突通道,在写入译码结果的过程中若遇到地址冲突,则将有冲突的地址和数据先缓存起至delay_ram,在没有地址冲突的时候,将已经缓存的有冲突的地址和数据同其他译码结果一同写入le_ram;Here, for the non-conflicting channel, the four sets of decoding results are written in parallel to le_ram. If it is a conflicting channel, if an address conflict is encountered during the process of writing the decoding result, the conflicting address and data are first buffered. To delay_ram, when there is no address conflict, write the conflicted address and data that has been cached together with other decoding results to le_ram;
其中,所述译码结果包括:硬比特信息、LE、及软符号信息;The decoding result includes: hard bit information, LE, and soft symbol information;
相应的,所述硬比特信息存储至hd_ram,所述4G校验比特p1软符号存储至p1_le_ram,4G校验比特p0软符号存储至p0_le_ram,4G系统比特软符号存储至llrs_scpy_ram,LE存储至le_ram;本发明实施例中译码装置的实现示意图,如图12所示。Correspondingly, the hard bit information is stored to hd_ram, the 4G check bit p1 soft symbol is stored to p1_le_ram, the 4G check bit p0 soft symbol is stored to p0_le_ram, the 4G system bit soft symbol is stored to llrs_scpy_ram, and the LE is stored to le_ram; A schematic diagram of the implementation of the decoding apparatus in the embodiment of the present invention is shown in FIG.
本发明实施例中,为解决4比特数据的写冲突,采用延迟写法,由于MAP的译码结果数据仅发生在后半窗,通过延迟可以扩展写到前半窗,相当于每一时刻只写2比特数据,而在无地址冲突的时候,可以同时写入多比特数据,从而,在根本上消除写冲突的问题。In the embodiment of the present invention, in order to solve the write conflict of the 4-bit data, the delayed write method is adopted. Since the decoding result data of the MAP only occurs in the second half window, the delay can be extended to the first half window, which is equivalent to writing only 2 at each moment. Bit data, and when there is no address conflict, multi-bit data can be written at the same time, thereby fundamentally eliminating the problem of write conflict.
同时,在本发明实施例中,在前半窗从共享存储资源读取本窗所有需要的数据信,并对所述数据进行gamma计算后缓存,在后半窗仅从该缓存中读取相应的gamma值进行译码,并将译码结果回写到共享存储资源;如此,实现了共享存储资源的读/写完全分开,解决了读写冲突;同时,由于不需要从较大的共享存储资源二次重复读取数据和进行gamma值的二次计算,而仅从较小的缓存中直接获取gamma值降低了大RAM的读写概率和逻辑资源的翻转率,有效地降低了动态功耗。Meanwhile, in the embodiment of the present invention, all the required data messages of the window are read from the shared storage resource in the first half window, and the data is cached after gamma calculation, and only the corresponding data is read from the cache in the second half window. The gamma value is decoded, and the decoding result is written back to the shared storage resource; thus, the read/write of the shared storage resource is completely separated, and the read/write conflict is solved; at the same time, since the shared storage resource is not required from the larger The data is read twice and the second calculation of the gamma value is performed. The gamma value is directly obtained from the smaller buffer, which reduces the read/write probability of the large RAM and the flip rate of the logical resource, thereby effectively reducing the dynamic power consumption.
需要说明的是,在实际应用中,所述第一处理模块10、译码模块20、 和输出模块30和第二处理模块40执行的功能可由位于译码装置上的中央处理器(CPU)、或微处理器(MPU)、或数字信号处理器(DSP)、或可编程门阵列(FPGA)实现。It should be noted that, in practical applications, the first processing module 10, the decoding module 20, And the functions performed by output module 30 and second processing module 40 may be by a central processing unit (CPU), or a microprocessor (MPU), or a digital signal processor (DSP), or a programmable gate array located on the decoding device ( FPGA) implementation.
本发明实施例中,如果以软件功能模块的形式实现上述译码方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。In the embodiment of the present invention, if the above decoding method is implemented in the form of a software function module and sold or used as a stand-alone product, it may also be stored in a computer readable storage medium. Based on such understanding, the technical solution of the embodiments of the present invention may be embodied in the form of a software product in essence or in the form of a software product stored in a storage medium, including a plurality of instructions. A computer device (which may be a personal computer, server, or network device, etc.) is caused to perform all or part of the methods described in various embodiments of the present invention. The foregoing storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read only memory (ROM), a magnetic disk, or an optical disk. Thus, embodiments of the invention are not limited to any specific combination of hardware and software.
相应地,本发明实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机程序,该计算机程序用于执行本发明实施例的上述译码方法。Correspondingly, the embodiment of the present invention further provides a computer storage medium, where the computer storage medium stores a computer program, and the computer program is used to execute the above decoding method in the embodiment of the present invention.
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。The above is only the preferred embodiment of the present invention and is not intended to limit the scope of the present invention.
工业实用性Industrial applicability
本发明实施例中在译码的前半窗阶段,读取译码的输入数据,并对读取的输入数据进行处理,得到处理结果;在译码的后半窗阶段,将所述处理结果进行译码,得到译码结果;根据所述译码结果确认译码结束时,封装并输出译码结果;如此,可通过前半窗阶段的读数据与后半窗阶段的写数据分离,解决了读写冲突的问题,降低了资源的功耗;同时通过对译码的输入数据进行数据对齐,将3G MAP0、4G MAP0和4G MAP1合并为无冲突通道,统一并行处理,3G MAP1为冲突通道,单独进行串行处理,提 高了吞吐率。 In the embodiment of the present invention, in the first half window stage of decoding, the decoded input data is read, and the read input data is processed to obtain a processing result; in the second half of the decoding stage, the processing result is performed. Decoding, to obtain a decoding result; according to the decoding result, when decoding is completed, the decoding result is encapsulated and output; thus, the read data of the first half window stage and the write data of the second half window stage are separated, thereby solving the reading. Write conflicts, reduce the power consumption of resources; at the same time, by aligning the decoded input data, 3G MAP0, 4G MAP0 and 4G MAP1 are merged into a collision-free channel, unified parallel processing, 3G MAP1 is a conflict channel, separate Serial processing High throughput.

Claims (11)

  1. 一种译码方法,所述方法包括:A decoding method, the method comprising:
    在译码的前半窗阶段读取译码的输入数据,并对读取的输入数据进行处理,得到处理结果;Reading the decoded input data in the first half window stage of decoding, and processing the read input data to obtain a processing result;
    在译码的后半窗阶段将所述处理结果进行译码,得到译码结果;Decoding the processing result in a second half of the decoding stage to obtain a decoding result;
    根据所述译码结果确认译码结束时,封装并输出译码结果。When the decoding is confirmed based on the decoding result, the decoding result is encapsulated and output.
  2. 根据权利要求1所述的方法,其中,所述确认接收的外部数据为前半窗数据之前,所述方法还包括:The method of claim 1, wherein before the confirming that the received external data is the first half of the window data, the method further comprises:
    接收译码参数包,根据所述译码参数包获取译码参数;Receiving a decoding parameter packet, and acquiring a decoding parameter according to the decoding parameter packet;
    接收译码的输入数据,根据由所述译码参数计算得到的补零个数PadNum对所述输入数据进行处理,并存储处理后的数据。The decoded input data is received, the input data is processed according to the zero padding value PadNum calculated by the decoding parameter, and the processed data is stored.
  3. 根据权利要求1或2所述的方法,其中,所述读取译码的输入数据,包括:The method of claim 1 or 2, wherein said reading the decoded input data comprises:
    对于3G制式,在对所述译码的输入数据进行交织处理阶段的第一个窗,先读取两组译码的输入数据,在前半窗阶段,再读取两组译码的输入数据,获取四组译码的输入数据;或,For the 3G system, in the first window of the interleaving processing stage of the decoded input data, the two sets of decoded input data are read first, and in the first half window stage, the two sets of decoded input data are read. Obtaining four sets of decoded input data; or,
    对于3G制式,在对所述译码的输入数据进行非交织处理阶段直接读取四组译码的输入数据;或,For the 3G system, the four sets of decoded input data are directly read in the non-interleaved processing stage of the decoded input data; or
    对于4G制式,在对所述译码的输入数据进行非交织处理阶段及在对所述译码的输入数据进行交织处理阶段,均直接读取四组译码的输入数据。For the 4G system, four sets of decoded input data are directly read during the non-interleaving process of the decoded input data and the interleaving process of the decoded input data.
  4. 根据权利要求1或2所述的方法,其中,所述对读取的输入数据进行处理,得到译码结果,包括:The method according to claim 1 or 2, wherein said processing the read input data to obtain a decoded result comprises:
    对读取的输入数据进行gamma计算,得到gamma值。The gamma calculation is performed on the read input data to obtain a gamma value.
  5. 根据权利要求4所述的方法,其中,所述将所述处理结果进行译码,包括: The method of claim 4 wherein said decoding said processing result comprises:
    对所述gamma值进行前后向碰撞计算,得到硬比特信息、先验信息、及软符号信息。The forward and backward collision calculation is performed on the gamma value to obtain hard bit information, a priori information, and soft symbol information.
  6. 一种译码装置,所述装置包括:第一处理模块、译码模块、和输出模块;其中,A decoding device, the device comprising: a first processing module, a decoding module, and an output module; wherein
    所述第一处理模块,配置为在译码的前半窗阶段读取译码的输入数据,并对读取的输入数据进行处理,得到处理结果;The first processing module is configured to read the decoded input data in a first half window stage of decoding, and process the read input data to obtain a processing result;
    所述译码模块,配置为在译码的后半窗阶段将所述处理结果进行译码,得到译码结果;The decoding module is configured to decode the processing result in a second half of the decoding stage to obtain a decoding result;
    所述输出模块,配置为根据所述译码结果确认译码结束时,封装并输出译码结果。The output module is configured to, when the decoding is completed according to the decoding result, encapsulate and output the decoding result.
  7. 根据权利要求6所述的装置,其中,所述装置还包括:第二处理模块,配置为接收译码参数包,根据所述译码参数包获取译码参数;The apparatus according to claim 6, wherein the apparatus further comprises: a second processing module configured to receive a decoding parameter packet, and obtain a decoding parameter according to the decoding parameter packet;
    接收译码的输入数据,根据由所述译码参数计算得到的补零个数PadNum对所述输入数据进行处理,并存储处理后的数据。The decoded input data is received, the input data is processed according to the zero padding value PadNum calculated by the decoding parameter, and the processed data is stored.
  8. 根据权利要求6或7所述的装置,其中,所述第一处理模块,配置为对于3G制式,在对所述译码的输入数据进行交织处理阶段的第一个窗,先读取两组译码的输入数据,在前半窗阶段,再读取两组译码的输入数据,获取四组译码的输入数据;或,对于3G制式,在对所述译码的输入数据进行非交织处理阶段直接读取四组译码的输入数据;或,The apparatus according to claim 6 or 7, wherein said first processing module is configured to, for the 3G system, read the first two groups of the interleaving processing stage of said decoded input data Decoding input data, in the first half window stage, reading two sets of decoded input data to obtain four sets of decoded input data; or, for 3G system, performing non-interleaving processing on the decoded input data The stage directly reads four sets of decoded input data; or,
    对于4G制式,在对所述译码的输入数据进行非交织处理阶段及在对所述译码的输入数据进行交织处理阶段,均直接读取四组译码的输入数据。For the 4G system, four sets of decoded input data are directly read during the non-interleaving process of the decoded input data and the interleaving process of the decoded input data.
  9. 根据权利要求6或7所述的装置,其中,所述第一处理模块,配置为对读取的输入数据进行gamma计算,得到gamma值。The apparatus according to claim 6 or 7, wherein said first processing module is configured to perform gamma calculation on the read input data to obtain a gamma value.
  10. 根据权利要求9所述的装置,其中,所述译码模块,配置为对所述gamma值进行前后向碰撞计算,得到硬比特信息、先验信息、及软符号 信息。The apparatus according to claim 9, wherein the decoding module is configured to perform forward and backward collision calculation on the gamma value to obtain hard bit information, a priori information, and a soft symbol. information.
  11. 一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令用于执行权利要求1至5任一项所述的译码方法。 A computer storage medium having stored therein computer executable instructions for performing the decoding method of any one of claims 1 to 5.
PCT/CN2016/081993 2015-06-30 2016-05-13 Decoding method and apparatus and storage medium WO2017000682A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510374114.7 2015-06-30
CN201510374114.7A CN106330206A (en) 2015-06-30 2015-06-30 Decoding method and device

Publications (1)

Publication Number Publication Date
WO2017000682A1 true WO2017000682A1 (en) 2017-01-05

Family

ID=57607863

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/081993 WO2017000682A1 (en) 2015-06-30 2016-05-13 Decoding method and apparatus and storage medium

Country Status (2)

Country Link
CN (1) CN106330206A (en)
WO (1) WO2017000682A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113472478A (en) * 2020-03-31 2021-10-01 广州海格通信集团股份有限公司 Decoding front-end processing method, device, computer equipment and storage medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11316720B2 (en) 2020-01-13 2022-04-26 Samsung Electronics Co., Ltd. Apparatus and method for signaling of zero padding bins in fronthaul interface

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080172591A1 (en) * 2007-01-17 2008-07-17 Broadcom Corporation, A California Corporation Formulaic flexible collision-free memory accessing for parallel turbo decoding with quadratic polynomial permutation (QPP) interleave
CN101515805A (en) * 2009-03-26 2009-08-26 华为技术有限公司 Turbo encoder and encoding method thereof
CN101882933A (en) * 2010-06-11 2010-11-10 北京创毅视通科技有限公司 Method for Turbo decoding in LTE (Long Term Evolution) and Turbo decoder
CN101969310A (en) * 2010-10-22 2011-02-09 上海交通大学 QPP (Quadratic Permutation Polynomial) inner interleaver of Turbo code parallel decoder and interleaving method thereof
CN103905067A (en) * 2012-12-27 2014-07-02 中兴通讯股份有限公司 Multi-mode decoder realization method and apparatus

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8281211B2 (en) * 2008-05-15 2012-10-02 Nokia Corporation System and method for relay coding
CN103427850B (en) * 2012-05-24 2017-04-05 深圳市中兴微电子技术有限公司 Multimode Veterbi decoding device and its coding/decoding method
US9128888B2 (en) * 2012-08-30 2015-09-08 Intel Deutschland Gmbh Method and apparatus for turbo decoder memory collision resolution
EP2728755B1 (en) * 2012-11-02 2015-05-13 BlackBerry Limited Efficient implementation of a Quadratic Polynomial Permutation (QPP) interleaver for parallel processing using interleaver parameters in quotient-remainder form
CN103812510A (en) * 2012-11-15 2014-05-21 中兴通讯股份有限公司 Decoding method and device
CN103236900B (en) * 2013-04-07 2016-03-30 电子科技大学 A kind of Serial concatenated turbo codes interleaver parameter blind estimating method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080172591A1 (en) * 2007-01-17 2008-07-17 Broadcom Corporation, A California Corporation Formulaic flexible collision-free memory accessing for parallel turbo decoding with quadratic polynomial permutation (QPP) interleave
CN101515805A (en) * 2009-03-26 2009-08-26 华为技术有限公司 Turbo encoder and encoding method thereof
CN101882933A (en) * 2010-06-11 2010-11-10 北京创毅视通科技有限公司 Method for Turbo decoding in LTE (Long Term Evolution) and Turbo decoder
CN101969310A (en) * 2010-10-22 2011-02-09 上海交通大学 QPP (Quadratic Permutation Polynomial) inner interleaver of Turbo code parallel decoder and interleaving method thereof
CN103905067A (en) * 2012-12-27 2014-07-02 中兴通讯股份有限公司 Multi-mode decoder realization method and apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113472478A (en) * 2020-03-31 2021-10-01 广州海格通信集团股份有限公司 Decoding front-end processing method, device, computer equipment and storage medium
CN113472478B (en) * 2020-03-31 2023-12-12 广州海格通信集团股份有限公司 Decoding front-end processing method, decoding front-end processing device, computer equipment and storage medium

Also Published As

Publication number Publication date
CN106330206A (en) 2017-01-11

Similar Documents

Publication Publication Date Title
TWI406509B (en) Formulaic flexible collision-free memory accessing for parallel turbo decoding with quadratic polynomial permutation(qpp) interleave
US8438434B2 (en) N-way parallel turbo decoder architecture
JP5840741B2 (en) Method and apparatus for programmable decoding of multiple code types
US9374110B2 (en) Multimode decoder implementation method and device
CN102111162A (en) Turbo component decoding method, component decoder, branch calculator and Turbo decoder
WO2017000682A1 (en) Decoding method and apparatus and storage medium
TW201340622A (en) Memory architecture for turbo decoder
Lee et al. Design space exploration of the turbo decoding algorithm on GPUs
US8650468B2 (en) Initializing decoding metrics
WO2012146124A1 (en) Turbo decoding method and device
CN103812510A (en) Decoding method and device
CN108270452B (en) Turbo decoder and decoding method
US9319181B2 (en) Parallel decoder for multiple wireless standards
CN101882933B (en) Method for Turbo decoding in LTE (Long Term Evolution) and Turbo decoder
US9130728B2 (en) Reduced contention storage for channel coding
WO2018229064A1 (en) Polar encoder, communication unit, integrated circuit and method therefor
US9325351B2 (en) Adaptive multi-core, multi-direction turbo decoder and related decoding method thereof
US9015551B2 (en) Decoding apparatus with de-interleaving efforts distributed to different decoding phases and related decoding method thereof
US9866240B2 (en) Map algorithm-based turbo decoding method and apparatus, and computer storage medium
CN111600613B (en) Verification method, verification device, decoder, receiver and computer storage medium
Roth et al. Performance optimization and parallelization of turbo decoding for software-defined radio
Raymond et al. Design and VLSI implementation of a high throughput turbo decoder
KR20140128605A (en) Method of parallel calculation for turbo decoder and apparatus for performing the same

Legal Events

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

Ref document number: 16817046

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16817046

Country of ref document: EP

Kind code of ref document: A1