WO2018090629A1 - 一种解交织解速率匹配的方法、装置及计算机存储介质 - Google Patents
一种解交织解速率匹配的方法、装置及计算机存储介质 Download PDFInfo
- Publication number
- WO2018090629A1 WO2018090629A1 PCT/CN2017/089808 CN2017089808W WO2018090629A1 WO 2018090629 A1 WO2018090629 A1 WO 2018090629A1 CN 2017089808 W CN2017089808 W CN 2017089808W WO 2018090629 A1 WO2018090629 A1 WO 2018090629A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- rate matching
- deinterleaving
- decoded
- row
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0015—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0071—Use of interleaving
Definitions
- the present application relates to the field of communications, and in particular, to a method, an apparatus, and a computer storage medium for de-interleaving rate matching.
- LTE Long Term Evolution
- UMTS Universal Mobile Telecommunications System
- 3GPP 3rd Generation Partnership Project
- OFDM Orthogonal Frequency Division Multiplexing
- MIMO Multi-Input & Multi-Output
- LTE adopts advanced mechanisms of Turbo coding, rate matching and HARQ retransmission to ensure QOS of data services.
- the code layer processing such as code block division, code block CRC addition, TB CRC addition, Turbo coding, interleaving, rate matching, etc. at the physical layer
- the OFDM symbol is generated by the FFT module and sent to the air interface.
- the method of deinterleaving and decimation rate is mainly that the degree of parallelism of de-interlacing solution rate matching is low.
- the hardware implementation area and power consumption are large, and the current de-interleaving and de-rate matching are only applicable to the base station or the UE side.
- the purpose of the present application is to provide a method, an apparatus, and a computer storage medium for de-interleaving rate matching, which can solve at least the above problems in the prior art.
- the application provides a method for de-interleaving rate matching, the method comprising:
- the deinterleaved data and the data after the data matching are combined to obtain target data corresponding to the target to be decoded data.
- the present application provides an apparatus for deinterleaving rate matching, the apparatus comprising:
- a data buffer unit configured to cache at least one data to be decoded
- a deinterleaving solution rate matching control unit configured to read data to be decoded from a buffer area including at least one data to be decoded
- a data deinterleaving unit configured to perform deinterleaving processing on the data to be decoded, to obtain deinterleaved data
- a rate matching unit configured to perform rate de-matching processing on the data to be decoded, to obtain data after de-rate matching
- the merging unit is configured to combine the deinterleaved data and the data after the data matching to obtain target data corresponding to the target to be decoded data.
- the application also provides a computer storage medium comprising a set of meters
- the computer executable instructions are configured to perform the steps of the foregoing method.
- the application also provides an apparatus for deinterleaving rate matching, comprising: a processor and a memory for storing a computer program capable of running on the processor,
- processor is configured to perform the steps of the foregoing method when the computer program is run.
- the present application provides a method, an apparatus, and a computer storage medium for de-interleaving rate matching.
- the method of de-interleaving rate matching using high parallel processing can multiply the processing capability and reduce the processing delay.
- 1-1 is a schematic flowchart of a method for deinterleaving rate matching according to the present application
- 1-2 is a schematic structural diagram 1 of a device for deinterleaving rate matching according to the present application
- 1-3 is a schematic structural diagram 2 of a device for deinterleaving rate matching according to the present application
- FIG. 2 is a third schematic structural diagram of a device for deinterleaving and rate matching according to the present application.
- the core idea of the present application is: firstly, the decoding data of the CB block is read from the buffer area to be decoded by the TB data, and is buffered in the decoding buffer area of the CB block, and then the data of the CB decoding buffer area is deinterleaved. At the same time, the corresponding rate matching data is read out from the rate matching data buffer and the deinterleaved data is combined to complete the process of deinterleaving and rate matching.
- the present application provides a method for de-interleaving rate matching, as shown in FIG. 1-1, the method includes:
- Step 1 reading data to be decoded from a buffer area including at least one data to be decoded;
- Step 2 performing deinterleaving processing and de-rate matching on the data to be decoded of the target The data obtained after deinterleaving and the data after the rate matching are obtained;
- Step 3 Combine the deinterleaved data and the data after the data matching to obtain target data corresponding to the target to be decoded data.
- the method further includes:
- the parameters required for the deinterleaving process and the de-rate matching process are calculated.
- the calculating the parameters required for the deinterleaving process and the de-rate matching process including at least one of the following:
- the deinterleaving solution rate matches all parameters. See Table 1:
- the present application provides a method for de-interleaving rate matching, and the detailed processing procedure is as follows:
- the data buffer of the entire Transport Block generally selects L2D or DDR with large storage capacity; it can be implemented by First Input First Output (FIFO) or RAM.
- FIFO First Input First Output
- the BC cbsize size is from 40 to 6144, the length of the rate matching after encoding is e, the size of the buffer area of the FIFO can be set to e bytes, generally 1 byte is used to represent the soft information size when decoding, and when the control module has space in the FIFO,
- the external TB data is buffered into the CB data buffer.
- Receive externally configured TB tasks including key parameters k0, ncb, cbsize, e, k0 in the process of rate matching is the starting position of data encoding, ncb is in the process of rate matching
- the winding position of the data code if it reaches the ncb winding position, the data length has not reached e, then the code re-takes data from 0.
- Cbsize is the code block length of the LTE-encoded CB, which is a fixed length of 188, ranging from 40 to 6144.
- e is the length representing the data decoding, and the general unit is byte.
- the parameters required for the deinterleaving solution rate matching and the deinterleaved RAM initialization are calculated according to the following steps: wherein the initialization is to initialize the data of all the addresses of the RAM to all zeros. specific:
- Step 4 Calculate the starting position of k0 in the column number k0_col of the matrix, if k0 ⁇ 32*R, then otherwise
- Step 7 Calculate the end position of the ncb in the column number ncb_col of the matrix, if ncb ⁇ 32*R, then otherwise
- the ninth step the CB deinterleaving solution rate matching control 203 will issue all the write addresses of the CB deinterleaving solution rate matching buffer 212 for writing, and write the buffer area to 0, so that the process of the subsequent rate matching is not in the puncturing mode. Rate matching, or rate matching in repeat mode, Or the solution rate matching of multiple super cells is unified into one hardware processing unit.
- the data is sequentially read from the CB buffer area, and the length of the deblocking solution rate matching is described by the code block length of cbsize of 6144.
- the number of lines of the interleave matrix with cbsize of 6144 is 193 lines, and the read address generation module per The cycle reads 128-bit data or 256-bit data from the CB buffer 202, that is, 16 or 32 soft symbols to be deinterleaved.
- Registers are used to buffer 128-bit or 256-bit data read from the CB data buffer.
- Performing a de-rate matching process on the data to be decoded by the target including:
- Each column of data is extracted from at least one column of data of the target to be decoded; wherein the target to be decoded data is matrix data;
- the target to-be-decoded data is de-rate matched based on the increased value corresponding to each data.
- the process of de-interleaving rate matching is de-interleaving and rate matching according to columns. Since column switching is performed in the encoding process, corresponding column switching is also performed in the decoding process, and the switching method is as follows: Table 2 shows:
- the process of rate matching is performed according to the column.
- col_cnt remains unchanged, and row_cnt is fixedly increased by 16 or 32 when the system bit deinterleaves the rate matching system bits;
- row_cnt is fixed by 8 or 16.
- the above 16 and 32 correspond to two types of parallelism processing. In practical applications, one of them or a higher degree of parallelism can be used according to requirements.
- the rules for writing address generation are col_cnt_write[0]+row_cnt[7:4] (16-bit parallel processing) or col_cnt_write[0]+row_cnt[7:5] (32-bit parallel processing).
- De-interleaving the data to be decoded by the target including:
- Each column of data is extracted from at least one column of data of the target data to be decoded; wherein the target data to be decoded is matrix data; in addition, it should be noted that the number of matrix columns is fixed, and the number of rows may not be fixed;
- the data is deinterleaved and divided into two cases.
- the first type when the judgment result indicates that the data is a systematic bit, if the data is in the zeroth row, whether the number of columns in the data is less than a preset value, and if it is less than, the control will be The data location is filled with 0; if the data is in the Nth row, the read data is directly used as deinterleaved data; wherein N is an integer greater than or equal to 1.
- the process_flag is 0, which means that the currently processed data is system bits.
- the process of deinterleaving and de-rate matching mainly has three steps:
- nd the number of invalid bits to be filled in the 0th line of the interleave matrix
- row_cnt is not the last row, and the read data is 128 bits (16-bit parallel processing) or 256 bits (32-bit parallel processing) directly as deinterleaved data.
- the third step when row_cnt is the last row, the real valid data is not enough 128 bits or 256 bits, and the bits need to be padded.
- the number of filled bits is 16-R[3:0] (16-bit parallel processing) or 32-R[4:0] (32-bit parallel processing) 0, and then the padded data is taken as real write data.
- the second type when the judgment result indicates that the data is a check bit, if the data is in the zeroth line, whether the number of columns in the data is less than a preset value, if less than, the control will be The specified number of bits before the data location is filled with 0;
- the data to be read is 128 bits or 256 bits, and 64 bits or 128 bits of parity bit data are respectively generated according to the parity;
- the process_flag is 1, indicating that the currently processed data is a check bit, and the process of deinterleaving and de-rate matching mainly has three steps:
- row_cnt is not the last row, the data to be read 128 bits (16-bit parallel processing) or 256-bit (32-bit parallel processing), according to the parity byte respectively belong to the check bit 1 check bit 2 respectively
- the check bit 1 and check bit 2 data of 64 bits (16 bit parallel processing) or 128 bits (32 bit parallel processing) are generated.
- the third step when row_cnt is the last row, the real valid data is not enough 128 bits or 256 bits, and the bits need to be padded.
- the number of bits to be padded is 16-R[3:0] (16-bit parallel processing) or 32-R[4:0] (32-bit parallel processing) 0, which belong to parity bit 1 parity bits respectively according to parity bytes.
- the method of 2 produces parity bit 1 and parity bit 2 data of 64 bits (16-bit parallel processing) or 128 bits (32-bit parallel processing), respectively.
- the third type is the third type.
- the data of the de-interleaving rate matching to be merged is read out from the buffer. Sequencing the data stored in the deinterleaved data and rate matching, the processed data and the delayed list
- the address of element 210 (the delay unit is to delay the read address by a fixed four clock cycles) together writes the data into the CB deinterleaving solution rate matching buffer.
- the method of the present application can be directly applied to the design of the base station and the UE of the LTE, and the degree of parallelism can be raised to 64 or 128 with reference to the present application, and the highest parallelism can reach 193 bits, further reducing the de-interleaving solution rate matching. Processing delay.
- This embodiment provides a device for de-interleaving and rate matching.
- the schematic diagram of the implementation is shown in Figure 1-2.
- the composition is as follows:
- a data buffering unit 11 configured to buffer at least one data to be decoded
- Deinterleaving solution rate matching control unit 12 configured to read data to be decoded from a buffer area including at least one data to be decoded;
- the data deinterleaving unit 13 is configured to perform deinterleaving processing on the data to be decoded, to obtain deinterleaved data.
- the rate matching unit 14 is configured to perform de-rate matching processing on the target to-be-decoded data to obtain data after de-rate matching;
- the merging unit 16 is configured to combine the deinterleaved data and the data after the data matching to obtain target data corresponding to the target to be decoded data.
- the first part the CB decoding data buffer 102, the main function is to buffer the data before deinterleaving and de-rate matching of a certain CB, and can be moved from the external TB data buffer to the CB in advance by the de-interleaving solution rate matching control module. In the data cache.
- the second part: CB de-interlacing solution rate matching control 103 the main function is to receive the external
- the task of de-interleaving rate matching of the configured TB is split into CB de-interleaving rate matching tasks, generating an address for reading the decoded data, generating a read-write address of the de-interleaving module, and controlling the process of de-interleaving rate matching. .
- the fourth part: data deinterleaving 105 the main function is to verify the control information of the system bits, check 1 bit and check 2 bits according to the system bits provided by the control module, and separate the system bits, the check 1 bit and the check 2 bits. Separately cached into corresponding registers.
- the fifth part: rate matching 106 the main function is to saturate and accumulate the data from the rate matching and the deinterleaved data, regardless of whether the rate matching is a puncturing mode or a repeated mode, which is the same rate matching process.
- the sixth part the CB deinterleaving solution rate matching data buffer 107, the main function is to buffer the data after the deinterleaving solution rate matching, after the deinterleaving solution rate matching is completed, the data in the buffer area is the deinterleaving solution.
- the data matched by the rate matching decoding can be directly read from the buffer area to the subsequent module HARQ merge 108 for subsequent data channel processing.
- TB data cache 101 mainly used to cache multiple CB data to be decoded, generally selected to cache to a relatively large memory or DDR.
- HARQ merge 108 mainly reads the decoded data from the deinterleaving solution rate matching 107 and the data of the last HARQ retransmission, and the combined data is sent to the subsequent Turbo decoder for translation. code.
- the foregoing technical solution is applicable to the inverse process of the sub-block interleaving and rate matching that the LTE standard satisfies the 3GPP 36212 protocol, and is applicable to the de-interleaving solution rate matching of the data channel of the LTE base station and the UE side.
- the present application provides a device for de-interleaving rate matching, which implements a detailed schematic diagram such as As shown in Figure 2, the composition is as follows:
- TB data cache 201 which is the data buffer of the entire TB, generally selects L2D or DDR with large storage capacity.
- the second part: CB data buffer 202 can be implemented by FIFO or RAM, LTE cbsize size from 40 to 6144, the length of the rate matching after encoding is e, the size of the FIFO buffer can be set to e bytes, generally When decoding, the size of the soft information is represented by 1 byte, and when the control module has space in the FIFO, the external TB data buffer 201 is read into the CB data buffer 202.
- the third part CB de-interleaving rate matching control 203, receiving the externally configured TB task, including the key parameters k0, ncb, cbsize, e, k0 in the process of rate matching is the starting position of data encoding, ncb is the rate In the matching process, the winding position of the data code, if it reaches the ncb winding position, the data length has not reached e, the code re-takes data from 0.
- Cbsize is the code block length of the LTE-encoded CB, which is a fixed length of 188, ranging from 40 to 6144.
- e is the length representing the data decoding, and the general unit is byte.
- Step 4 Calculate the starting position of k0 in the column number k0_col of the matrix, if k0 ⁇ 32*R, then otherwise
- Step 7 Calculate the end position of the ncb in the column number ncb_col of the matrix, if ncb ⁇ 32*R, then otherwise
- the ninth step the CB deinterleaving solution rate matching control 203 will issue all the write addresses of the CB deinterleaving solution rate matching buffer 212 for writing, and write the buffer area to 0, so that the process of the subsequent rate matching is not in the puncturing mode. Rate matching, or rate matching in repeated mode, or solution rate matching of multiple super cell combinations, is unified into a hardware processing unit.
- the fourth part read address generation 204, the read address of the module is generated in order, read data sequentially from the CB buffer area, the length of the code block with cbsize of 6144 is used to illustrate the length of the deinterleaving solution rate matching, cbsize
- the number of rows of the interleaving matrix of 6144 is 193 rows, and the read address generation module reads 128-bit data or 256-bit data, that is, 16 or 32 soft symbols to be deinterleaved, from the CB buffer area 202 per cycle.
- the fifth part Decode data 205, mainly using registers to buffer 128-bit or 256-bit data read from the CB data buffer.
- rate matching write address 206 the process of de-interleaving rate matching is de-interleaving rate matching by column. Because column switching is performed in the encoding process, corresponding columns are also needed in the decoding process.
- the exchange and exchange methods are shown in Table 2 below:
- the rules for writing address generation are col_cnt_write[0]+row_cnt[7:4] (16-bit parallel processing) or col_cnt_write[0]+row_cnt[7:5] (32-bit parallel processing).
- Part VII Data deinterleaving 207, deinterleaving the data, divided into two cases
- process_flag is 0, which means that the currently processed data is system bits.
- process of deinterleaving and de-rate matching mainly has three steps:
- nd the number of invalid bits to be filled in the 0th line of the interleave matrix
- row_cnt is not the last row, and the read data is 128 bits (16-bit parallel processing) or 256 bits (32-bit parallel processing) directly as deinterleaved data.
- the third step when row_cnt is the last row, the real valid data is not enough 128 bits. Or 256 bits, need to fill bits.
- the number of filled bits is 16-R[3:0] (16-bit parallel processing) or 32-R[4:0] (32-bit parallel processing) 0, and then the padded data is taken as real write data.
- process_flag is 1, indicating that the currently processed data is a check bit
- process of deinterleaving and de-rate matching mainly has three steps:
- row_cnt is not the last row, the data to be read 128 bits (16-bit parallel processing) or 256-bit (32-bit parallel processing), according to the parity byte respectively belong to the check bit 1 check bit 2 respectively
- the check bit 1 and check bit 2 data of 64 bits (16 bit parallel processing) or 128 bits (32 bit parallel processing) are generated.
- the third step when row_cnt is the last row, the real valid data is not enough 128 bits or 256 bits, and the bits need to be padded.
- the number of bits to be padded is 16-R[3:0] (16-bit parallel processing) or 32-R[4:0] (32-bit parallel processing) 0, which belong to parity bit 1 parity bits respectively according to parity bytes.
- the method of 2 produces parity bit 1 and parity bit 2 data of 64 bits (16-bit parallel processing) or 128 bits (32-bit parallel processing), respectively.
- the CB deinterleaving solution rate matching control module controls the entire device, performs deinterleaving and de-rate matching according to the column, and when the number of deinterleaved columns is the same as ncb_col, ncb_row (to the position of decoding and winding), if currently decoded
- ncb_col the number of deinterleaved columns
- ncb_row the position of decoding and winding
- the third type is the third type.
- the eighth part reading the address 211, using the write address 206 as the read address, and reading out the data of the deinterleaving rate matching to be merged from the buffer of the CB block deinterleaving rate matching.
- the ninth part the rate matching data 208, the data to be merged corresponding to the selected and deinterleaved from the buffer of the CB deinterleaving solution rate matching.
- the tenth part rate matching 209, saturating the data stored in the deinterleaved data and the rate matching, and processing the data and delay unit 210 (the function of the delay unit is to delay the read address by a fixed 4 clock cycles)
- the address together writes the data into the CB de-interleaving solution rate matching buffer.
- the foregoing process specifically describes a process of de-interleaving rate matching of 16-bit or 32-bit parallel processing of a data channel of LTE.
- the method and the device are simple to implement, and the process of de-interleaving and rate-matching de-puncturing and de-interleaving and de-interleaving LTE super cell merging is simply unified into a hardware flow, and the processing delay of hardware decoding is e/16 (16-bit parallel processing) or e/32 (32-bit parallel processing) cycles, which is doubled. Saves processing delays.
- the foregoing method and device for de-interleaving rate matching can simultaneously implement decoding of a data channel on an LTE base station side, and can also decode a data channel on an LTE UE side, thereby saving hardware implementation area and power consumption.
- the method of de-interleaving rate matching using high parallel processing can multiply the processing capability and reduce the processing delay.
- the method of the present application can be directly applied to the design of the base station and the UE with LTE, and the degree of parallelism can be raised to 64 or 128 with reference to the present application, and the highest parallelism can reach 193 bits, further reducing the processing of deinterleaving and rate matching. delay.
- the present invention implements a LTE high parallelism de-interleaving solution rate matching, which effectively improves the processing capability, reduces the processing delay, and satisfies the processing requirements of the LTE base station and the UE, and the parallelism of the solution can be further improved.
- the increase can further reduce the processing delay.
- the present application also provides a computer storage medium comprising a set of computer executable instructions configured to perform:
- the deinterleaved data and the data after the data matching are combined to obtain target data corresponding to the target to be decoded data.
- the computer executable instructions are further configured to perform: calculating parameters required to obtain the deinterleaving process and the derate matching process.
- the computer executable instructions are further configured to: extract each column of data in at least one column of data of the target data to be decoded; wherein the target data to be decoded is matrix data;
- the target to-be-decoded data is de-rate matched based on the increased value corresponding to each data.
- the computer executable instructions are further configured to: extract each column of data in at least one column of data of the target data to be decoded; wherein the target data to be decoded is matrix data;
- the computer executable instructions are further configured to: when the determination result indicates that the data is a system bit, if the data is in a zeroth line, whether the number of columns in the data is less than a preset value, If less, the control fills the data location to 0;
- the read data is directly used as deinterleaved data; wherein N is an integer greater than or equal to 1.
- the computer executable instructions are further configured to: when the determination result indicates that the data is a check bit, if the data is in a zeroth line, whether the number of columns in the data is less than a preset value If less than, the control fills the specified number of bits before the data position to 0;
- the data to be read is 128 bits or 256 bits, and 64 bits or 128 bits of parity bit data are respectively generated according to the parity;
- the corresponding padding bits and the number of padding bits in the row are determined.
- an apparatus for deinterleaving rate matching includes: a processor and a memory for storing a computer program capable of running on the processor,
- processor configured to execute when the computer program is executed:
- the deinterleaved data and the data after the data matching are combined to obtain target data corresponding to the target to be decoded data.
- the computer executable instructions are further configured to perform: calculating parameters required to obtain the deinterleaving process and the derate matching process.
- Each column of data is extracted from at least one column of data of the target to be decoded; wherein the target to be decoded data is matrix data;
- the target to-be-decoded data is de-rate matched based on the increased value corresponding to each data.
- Each column of data is extracted from at least one column of data of the target to be decoded; wherein the target to be decoded data is matrix data;
- the read data is directly used as deinterleaved data; wherein N is an integer greater than or equal to 1.
- the judgment result indicates that the data is a check bit, if the data is in the zeroth line, whether the number of columns in which the data is located is less than a preset value, and if less than, the data position is controlled
- the previous specified number of bits is padded to 0;
- the data to be read is 128 bits or 256 bits, and 64 bits or 128 bits of parity bit data are respectively generated according to the parity;
- the corresponding padding bits and the number of padding bits in the row are determined.
- the integrated modules described herein may also be stored in a computer readable storage medium if implemented in the form of software functional modules and sold or used as separate products. Based on such understanding, the technical solution of the present application, which is essential or contributes to the prior art, may be embodied in the form of a software product stored in a storage medium, including a plurality of instructions for making a A computer device (which may be a personal computer, a network device, or a network device, etc.) performs all or part of the methods described in various embodiments of the present application.
- the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program codes. .
- the application is not limited to any particular combination of hardware and software.
- the present application provides a method, apparatus, and computer storage medium for deinterleaving rate matching, which can read data to be decoded from a buffer including at least one data to be decoded; The data is subjected to deinterleaving processing and de-rate matching processing to obtain deinterleaved data and data after de-rate matching; the deinterleaved data and The data after the data matching is combined to obtain the target data corresponding to the data to be decoded.
- a method of de-interleaving rate matching using high parallel processing can be realized, which can multiply the processing capability and reduce the processing delay.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本申请公开了一种解交织解速率匹配的方法、装置及计算机存储介质,方法包括:从包括有至少一个待译码数据的缓存区中,读取目标待译码数据;对所述目标待译码数据进行解交织处理以及解速率匹配处理,得到解交织后的数据、以及解速率匹配之后的数据;将解交织后的数据以及数据匹配之后的数据进行合并,得到目标待译码数据对应的目标数据。
Description
相关申请的交叉引用
本申请基于申请号为201611022892.0、申请日为2016年11月21日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。
本申请涉及通信领域,尤其涉及一种解交织解速率匹配的方法、装置及计算机存储介质。
长期演进(Long Term Evolution,LTE)是由第三代合作伙伴计划(The 3rd Generation Partnership Project,3GPP)组织制定的通用移动通信系统(Universal Mobile Telecommunications System,UMTS)技术标准的长期演进。LTE系统引入了正交频分复用(Orthogonal Frequency Division Multiplexing,OFDM)和多输入多输出(Multi-Input&Multi-Output,MIMO)等关键技术,显著增加了频谱效率和数据传输速率。
随着LTE的业务和LTE终端的不断发展,需要处理的数据流量也成倍的增加,LTE采用了Turbo编码,速率匹配和HARQ重传的先进的机制来保证数据业务的QOS。在LTE的数据信道的编码过程中,数据信道在MAC层经过处理以后,在物理层经过码块分割,码块CRC添加,TB CRC添加,Turbo编码,交织,速率匹配等符号级处理的步骤之后,在经过FFT模块生产OFDM符号发给空口。
目前,解交织和解速率的方法主要是解交织解速率匹配的并行度较低,
采用8比特或者4比特并行处理,硬件实现面积和功耗较大,目前的解交织和解速率匹配的仅仅适用于基站或者UE侧。
发明内容
有鉴于此,本申请的目的在于提供一种解交织解速率匹配的方法、装置及计算机存储介质,能至少解决现有技术中存在的上述问题。
为达到上述目的,本申请的技术方案是这样实现的:
本申请提供了一种解交织解速率匹配的方法,所述方法包括:
从包括有至少一个待译码数据的缓存区中,读取目标待译码数据;
对所述目标待译码数据进行解交织处理以及解速率匹配处理,得到解交织后的数据、以及解速率匹配之后的数据;
将解交织后的数据以及数据匹配之后的数据进行合并,得到目标待译码数据对应的目标数据。
本申请提供了一种解交织解速率匹配的装置,所述装置包括:
数据缓存单元,用于缓存至少一个待译码数据;
解交织解速率匹配控制单元,用于从包括有至少一个待译码数据的缓存区中,读取目标待译码数据;
数据解交织单元,用于对所述目标待译码数据进行解交织处理,得到解交织后的数据;
速率匹配单元,用于对所述目标待译码数据进行解速率匹配处理,得到解速率匹配之后的数据;
解交织解速率匹配数据缓存单元,用于缓存解速率匹配以及解交织后的数据;
合并单元,用于将解交织后的数据以及数据匹配之后的数据进行合并,得到目标待译码数据对应的目标数据。
本申请还提供了一种计算机存储介质,该计算机存储介质包括一组计
算机可执行指令,所述计算机可执行指令配置为执行前述方法的步骤。
本申请还提供了一种解交织解速率匹配的装置,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行前述方法的步骤。
本申请提供了一种解交织解速率匹配的方法、装置及计算机存储介质,采用高并行处理的解交织解速率匹配的方法,可以成倍的提高处理的能力,减少处理延迟。
图1-1为本申请解交织解速率匹配的方法流程示意图;
图1-2为本申请解交织解速率匹配的装置组成结构示意图一;
图1-3为本申请解交织解速率匹配的装置组成结构示意图二;
图2为本申请解交织解速率匹配的装置组成结构示意图三。
本申请的核心思想是:先从TB数据待译码的缓存区中读取CB块的译码数据缓存在CB块的译码缓存区之中,然后对CB译码缓存区的数据进行解交织,同时从速率匹配的数据缓存中把对应的速率匹配数据读出来和解交织后的数据进行合并,完成解交织和速率匹配的过程。
下面结合附图及具体实施例对本申请再作进一步详细的说明。
本申请提供一种解交织解速率匹配的方法,如图1-1所示,所述方法包括:
步骤1:从包括有至少一个待译码数据的缓存区中,读取目标待译码数据;
步骤2:对所述目标待译码数据进行解交织处理以及解速率匹配处
理,得到解交织后的数据、以及解速率匹配之后的数据;
步骤3:将解交织后的数据以及数据匹配之后的数据进行合并,得到目标待译码数据对应的目标数据。
所述对所述目标待译码数据进行解交织处理以及解速率匹配处理之前,所述方法还包括:
计算得到所述解交织处理以及解速率匹配处理所需要的参数。
所述计算得到所述解交织处理以及解速率匹配处理所需要的参数,包括以下至少之一:
计算交织矩阵的行数R;计算出交织矩阵的填充比特个数nd;计算起始位置k0所对应的类型标识k0_flag;计算k0在矩阵的列号k0_col;计算k0在矩阵的列号k0_row;速率匹配的数据的结束位置ncb所对应的类型标识ncb_flag;计算ncb的在矩阵的列号ncb_col;计算ncb在矩阵的行号ncb_row。
解交织解速率匹配所有的参数,可以参见表1:
表1
本申请提供了一种解交织解速率匹配的方法,详细的处理过程:
首先,整个传输块(Transport Block,TB)的数据缓存区,一般选择存储容量大的L2D或者DDR;可以采用先入先出(First Input First Output,FIFO)或者RAM实现,LTE的cbsize大小从40到6144,经过编码后速率匹配的长度是e,FIFO的缓存区的大小可以设置为e个byte,一般在译码的时候用1个byte来表示软信息大小,控制模块在FIFO有空间的时候,就把外部的TB数据缓存到CB数据缓存区。
接收外部配置的TB任务,包括关键的参数k0,ncb,cbsize,e,k0在速率匹配的过程之中是数据编码的开始位置,ncb是速率匹配过程之中
数据编码的卷绕位置,如果到了ncb卷绕位置,数据长度还未达到e,则编码重新从0开始取数据。Cbsize是LTE编码的CB的码块长度,是固定的188种长度,范围是40到6144,e是代表数据译码的长度,一般单位是byte。
然后按照下面步骤计算出解交织解速率匹配需要的参数和解交织的RAM初始化:其中,所述初始化就是把RAM的所有的地址的数据初始化为全0。具体的:
第一步:计算交织矩阵的行数R,R=cbsize/32+1,
第二步:计算出交织矩阵的填充比特个数nd,nd=28-cbsize[4:0]。
第三步:计算k0的起始位置在矩阵是属于系统比特还是校验比特k0_flag,如果k0<32*R,k0_flag=0,否则k0_flag=1。
第六步:ncb的结束位置在矩阵是属于系统比特还是校验比特ncb_flag,如果ncb<32*R,ncb_flag=0,否则ncb_flag=1。
第九步:CB解交织解速率匹配控制203会发出CB解交织解速率匹配缓存212的所有写地址进行写操作,把该缓存区都写成0,这样后面速率匹配的过程不管是打孔模式的速率匹配,还是重复模式的速率匹配,
还是多个超级小区合并的解速率匹配,都统一到一种硬件处理单元之中。
在解速率的过程之中,设置row_cnt和col_cnt 2个变量,初始值是k0_row和k0_col,还设置1个process_flag,初始值就是k0_flag。
然后,从CB缓存区中顺序读取数据,下面都以cbsize为6144的码块长度来说明解交织解速率匹配的长度,cbsize为6144的交织矩阵的行数是193行,读地址产生模块每个cycle从CB缓存区202中读取128比特数据或者256比特数据,也就是16或者32个待解交织的软符号。
用寄存器来缓存从CB数据缓存区读出的128比特或者256比特数据。
所述对所述目标待译码数据进行解速率匹配处理,包括:
目标待译码数据的至少一列数据中分别提取每一列数据;其中,所述目标待译码数据为矩阵数据;
针对提取到的每一列数据,根据所述列数据中每一个数据对应的行数,以及每一个数据对应的类型,确定增加的数值;
基于每一个数据对应的增加的数值,对所述目标待译码数据进行解速率匹配。
具体来说,解交织解速率匹配的过程是按列来解交织解速率匹配的,由于编码过程之中进行了列交换,在译码过程之中也要进行相应的列交换,交换的方法如下表2所示:
列 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
实际列 | 0 | 16 | 8 | 24 | 4 | 20 | 12 | 28 |
列 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
实际列 | 2 | 18 | 10 | 26 | 6 | 22 | 14 | 30 |
列 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
实际列 | 1 | 17 | 9 | 25 | 5 | 21 | 13 | 29 |
列 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
实际列 | 3 | 19 | 11 | 27 | 7 | 23 | 15 | 31 |
表2
解速率匹配的过程是按照列来进行,在某列速率匹配的过程之中,col_cnt保持不变,而row_cnt在系统比特解交织解速率匹配的系统比特的时候固定增加16或者32;而在校验比特的时候,row_cnt固定增加8或者16。上述16和32对应2种并行度的处理方式。实际应用中可以根据需求采用其中的一种或者更高并行度的处理。
写地址产生的规则就是col_cnt_write[0]+row_cnt[7:4](16比特并行处理)或者col_cnt_write[0]+row_cnt[7:5](32比特并行处理)。
所述对所述目标待译码数据进行解交织处理,包括:
目标待译码数据的至少一列数据中分别提取每一列数据;其中,所述目标待译码数据为矩阵数据;另外,需要指出的是,矩阵列数是固定的,行数可以不固定;
从所述每一列数据中提取得到每一行数据,判断所述每一行数据为系统比特或校验比特,基于所述判断结果对所述数据进行解交织。
具体来说,对数据进行解交织处理,分成2种情况
第一种:当所述判断结果表征所述数据为系统比特时,若所述数据处于第零行,则对所述数据所处的列数是否小于预设数值,若小于,则控制将所述数据位置填充为0;若所述数据处于第N行,直接将读取到的数据作为解交织后的数据;其中,N为大于等于1的整数。process_flag为0,代表当前处理的数据是系统比特,解交织和解速率匹配的的过程主要有3步骤:
第一步:row_cnt=0的时候,也就是在进行第零行的处理时,首先判断col_cnt_write是否小于nd(交织矩阵第0行需要填充的无效比特个数),
如果col_cnt_write<nd,要那么在数据前面填充1个byte的0,否则不用填充1个byte的0;然后从填充后的数据中读取128比特(16比特并行处理)或者256比特(32比特并行处理)。
第二步:row_cnt不是最后一行的情况,将读取的数据128比特(16比特并行处理)或者256比特(32比特并行处理)直接做为解交织后的数据。
第三步:row_cnt是最后一行的时候,真实有效的数据不够128比特或者256比特,需要填充比特。填充的比特个数是16-R[3:0](16比特并行处理)或者32-R[4:0](32比特并行处理)个0,然后把填充后的数据作为真实的写数据。
第二种:当所述判断结果表征所述数据为校验比特时,若所述数据处于第零行,则对所述数据所处的列数是否小于预设数值,若小于,则控制将所述数据位置之前的指定比特数填充为0;
若所述数据处于第N行、且所述数据不处于最后行,将读取的数据128比特或者256比特,按照奇偶分别产生64比特或者128比特的校验比特数据;
若所述数据处于最后行,则确定所处行中对应的填充比特以及填充比特数量。process_flag为1,代表当前处理的数据是校验比特,解交织和解速率匹配的过程主要有3步骤:
第一步:row_cnt=0的时候,判断col_cnt_write是否大于nd,如果col_cnt_write<nd,要在数据前面填充2个byte的0,否则不用填充2个byte的0.然后从填充后的数据中读取128比特(16比特并行处理)或者256比特(32比特并行处理),按照奇偶byte分别属于校验比特1校验比特2的方法分别产生64比特(16比特并行处理)或者128比特(32比特并行处理)的校验比特1和校验比特2数据。
第二步:row_cnt不是最后一行的情况,将读取的数据128比特(16比特并行处理)或者256比特(32比特并行处理),按照奇偶byte分别属于校验比特1校验比特2的方法分别产生64比特(16比特并行处理)或者128比特(32比特并行处理)的校验比特1和校验比特2数据。
第三步:row_cnt是最后一行的时候,真实有效的数据不够128比特或者256比特,需要填充比特。填充的比特个数是16-R[3:0](16比特并行处理)或者32-R[4:0](32比特并行处理)个0,按照奇偶byte分别属于校验比特1校验比特2的方法分别产生64比特(16比特并行处理)或者128比特(32比特并行处理)的校验比特1和校验比特2数据。
按照列来进行解交织和解速率匹配,当解交织的列数行数和ncb_col,ncb_row相同(到译码卷绕的位置),如果当前译码的长度还未达到e值,分成以下3情况进行卷绕:
第一种:
k0_flag=0,ncb_flag=0,process_flag为0,判断row_cnt和col_cnt是否和ncb_col,ncb_row相同,如果相同卷绕的行列号是row_cnt=0,col_cnt=0。
第二种:
k0_flag=0,ncb_flag=1,process_flag为0,不判断row_cnt和col_cnt是否和ncb_col,ncb_row相同,卷绕的行列号是row_cnt=0,col_cnt=0。
第三种:
k0_flag=1,ncb_flag=1,process_flag为1,判断row_cnt和col_cnt是否和ncb_col,ncb_row相同,卷绕的行列号是row_cnt=0,col_cnt=0。
当解交织的数据长度达到e值,数据解交织过程完成。
最后,从缓存中读出待合并的解交织解速率匹配的数据。把解交织的数据和速率匹配中存储的数据进行饱和处理,处理后的数据和延迟单
元210(延迟单元的功能就是将读地址延迟固定的4个时钟周期)的地址一起把数据写入CB解交织解速率匹配缓存之中。
可见,通过采用上述方案,就能采用高并行处理的解交织解速率匹配的方法,可以成倍的提高处理的能力,减少处理延迟。
另外,本申请的方法可以直接应用与LTE的基站和UE的设计之中,并且参考本申请并行度还可以提升到64或者128,最高的并行度可以达到193比特,进一步减少解交织解速率匹配的处理延迟。
本实施例提供了一种解交织解速率匹配的装置,其实现原理图如图1-2所示,组成如下:
数据缓存单元11,用于缓存至少一个待译码数据;
解交织解速率匹配控制单元12,用于从包括有至少一个待译码数据的缓存区中,读取目标待译码数据;
数据解交织单元13,用于对所述目标待译码数据进行解交织处理,得到解交织后的数据
速率匹配单元14,用于对所述目标待译码数据进行解速率匹配处理,得到解速率匹配之后的数据;
解交织解速率匹配数据缓存单元15,用于缓存解速率匹配以及解交织后的数据;
合并单元16,用于将解交织后的数据以及数据匹配之后的数据进行合并,得到目标待译码数据对应的目标数据。
具体来说,参见图1-3,其中:
第一部分:CB译码数据缓存102,主要的功能是缓存某个CB的解交织和解速率匹配前的数据,可以通过解交织解速率匹配控制模块提前从外部的TB数据缓存区中搬移到CB的数据缓存区之中。
第二部分:CB解交织解速率匹配控制103,主要的功能是接收外部
配置的TB的解交织解速率匹配的任务,拆分成CB解交织解速率匹配的任务,产生读译码数据的地址,同时产生解交织模块的读写地址,控制解交织解速率匹配的过程。
第三部分:速率匹配读数据104,主要的功能是根据控制模块103从速率匹配缓存区中读出对应的解交织的数据,缓存到内部的寄存器之中。
第四部分:数据解交织105,主要的功能是根据控制模块提供的系统比特,校验1比特和校验2比特等控制信息,把系统比特,校验1比特和校验2比特分分离,分别单独的缓存到对应的寄存器之中。
第五部分:速率匹配106,主要的功能是把从速率匹配的数据和解交织后的数据进行饱和累加,不管速率匹配是打孔的模式还是重复的模式,都是同样一个速率匹配的过程。
第六部分:CB解交织解速率匹配数据缓存107,主要的功能是用来缓存解交织解速率匹配后的数据,在解交织解速率匹配完成以后,该缓存区之中的数据就是解交织解速率匹配译码完成的数据,可以直接从该缓存区中读出给后面的模块HARQ合并108做后续的数据信道的处理。
第七部分:TB数据缓存101,主要是用来缓存多个CB的待译码的数据,一般选择缓存到比较大的内存或者DDR之中。
第八部分:HARQ合并108,主要是从解交织解速率匹配107中读取译码后的数据和上次HARQ重传的数据合并,合并后的数据在送给后续的Turbo译码器进行译码。
上述技术方案适用于LTE制式满足3GPP 36212协议规定的子块交织和速率匹配的逆过程,适用于LTE基站和UE侧的数据信道的解交织解速率匹配。
本申请提供了一种解交织解速率匹配的装置,其详细实现原理图如
图2所示,组成如下:
第一部分:TB数据缓存201,也就是整个TB的数据缓存区,一般选择存储容量大的L2D或者DDR。
第二部分:CB数据缓存区202,可以采用FIFO或者RAM实现,LTE的cbsize大小从40到6144,经过编码后速率匹配的长度是e,FIFO的缓存区的大小可以设置为e个byte,一般在译码的时候用1个byte来表示软信息大小,控制模块在FIFO有空间的时候,就把外部的TB数据缓存201读入到CB数据缓存区202。
第三部分:CB解交织解速率匹配控制203,接收外部配置的TB任务,包括关键的参数k0,ncb,cbsize,e,k0在速率匹配的过程之中是数据编码的开始位置,ncb是速率匹配过程之中数据编码的卷绕位置,如果到了ncb卷绕位置,数据长度还未达到e,则编码重新从0开始取数据。Cbsize是LTE编码的CB的码块长度,是固定的188种长度,范围是40到6144,e是代表数据译码的长度,一般单位是byte。
然后按照下面步骤计算出解交织解速率匹配需要的参数和解交织的RAM初始化:
第一步:计算交织矩阵的行数R,R=cbsize/32+1,
第二步:计算出交织矩阵的填充比特个数nd,nd=28-cbsize[4:0]。
第三步:计算k0的起始位置在矩阵是属于系统比特还是校验比特k0_flag,如果k0<32*R,k0_flag=0,否则k0_flag=1。
第六步:ncb的结束位置在矩阵是属于系统比特还是校验比特
ncb_flag,如果ncb<32*R,ncb_flag=0,否则ncb_flag=1。
第九步:CB解交织解速率匹配控制203会发出CB解交织解速率匹配缓存212的所有写地址进行写操作,把该缓存区都写成0,这样后面速率匹配的过程不管是打孔模式的速率匹配,还是重复模式的速率匹配,还是多个超级小区合并的解速率匹配,都统一到一种硬件处理单元之中。
在解速率的过程之中,设置row_cnt和col_cnt 2个变量,初始值是k0_row和k0_col,还设置1个process_flag,初始值就是k0_flag。
第四部分:读地址产生204,该模块的读地址是按照顺序产生,从CB缓存区中顺序读取数据,下面都以cbsize为6144的码块长度来说明解交织解速率匹配的长度,cbsize为6144的交织矩阵的行数是193行,读地址产生模块每个cycle从CB缓存区202中读取128比特数据或者256比特数据,也就是16或者32个待解交织的软符号。
第五部分:译码数据205,主要是用寄存器来缓存从CB数据缓存区读出的128比特或者256比特数据。
第六部分:速率匹配写地址206,解交织解速率匹配的过程是按列来解交织解速率匹配的,由于编码过程之中进行了列交换,在译码过程之中也要进行相应的列交换,交换的方法如下表2所示:
列 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
实际列 | 0 | 16 | 8 | 24 | 4 | 20 | 12 | 28 |
列 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
实际列 | 2 | 18 | 10 | 26 | 6 | 22 | 14 | 30 |
列 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
实际列 | 1 | 17 | 9 | 25 | 5 | 21 | 13 | 29 |
列 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
实际列 | 3 | 19 | 11 | 27 | 7 | 23 | 15 | 31 |
表2
解速率匹配的过程是按照列来进行,在某列速率匹配的过程之中,col_cnt保持不变,而row_cnt在系统比特解交织解速率匹配的系统比特的时候固定增加16或者32;而在校验比特的时候,row_cnt固定增加8或者16。
写地址产生的规则就是col_cnt_write[0]+row_cnt[7:4](16比特并行处理)或者col_cnt_write[0]+row_cnt[7:5](32比特并行处理)。
第七部分:数据解交织207,对数据进行解交织处理,分成2种情况
第一种:process_flag为0,代表当前处理的数据是系统比特,解交织和解速率匹配的的过程主要有3步骤:
第一步:row_cnt=0的时候,也就是在进行第零行的处理时,首先判断col_cnt_write是否小于nd(交织矩阵第0行需要填充的无效比特个数),如果col_cnt_write<nd,要那么在数据前面填充1个byte的0,否则不用填充1个byte的0;然后从填充后的数据中读取128比特(16比特并行处理)或者256比特(32比特并行处理)。
第二步:row_cnt不是最后一行的情况,将读取的数据128比特(16比特并行处理)或者256比特(32比特并行处理)直接做为解交织后的数据。
第三步:row_cnt是最后一行的时候,真实有效的数据不够128比特
或者256比特,需要填充比特。填充的比特个数是16-R[3:0](16比特并行处理)或者32-R[4:0](32比特并行处理)个0,然后把填充后的数据作为真实的写数据。
第二种:process_flag为1,代表当前处理的数据是校验比特,解交织和解速率匹配的过程主要有3步骤:
第一步:row_cnt=0的时候,判断col_cnt_write是否大于nd,如果col_cnt_write<nd,要在数据前面填充2个byte的0,否则不用填充2个byte的0.然后从填充后的数据中读取128比特(16比特并行处理)或者256比特(32比特并行处理),按照奇偶byte分别属于校验比特1校验比特2的方法分别产生64比特(16比特并行处理)或者128比特(32比特并行处理)的校验比特1和校验比特2数据。
第二步:row_cnt不是最后一行的情况,将读取的数据128比特(16比特并行处理)或者256比特(32比特并行处理),按照奇偶byte分别属于校验比特1校验比特2的方法分别产生64比特(16比特并行处理)或者128比特(32比特并行处理)的校验比特1和校验比特2数据。
第三步:row_cnt是最后一行的时候,真实有效的数据不够128比特或者256比特,需要填充比特。填充的比特个数是16-R[3:0](16比特并行处理)或者32-R[4:0](32比特并行处理)个0,按照奇偶byte分别属于校验比特1校验比特2的方法分别产生64比特(16比特并行处理)或者128比特(32比特并行处理)的校验比特1和校验比特2数据。
CB解交织解速率匹配控制模块控制整个装置,按照列来进行解交织和解速率匹配,当解交织的列数行数和ncb_col,ncb_row相同(到译码卷绕的位置),如果当前译码的长度还未达到e值,分成以下3情况进行卷绕:
第一种:
k0_flag=0,ncb_flag=0,process_flag为0,判断row_cnt和col_cnt是否和ncb_col,ncb_row相同,如果相同卷绕的行列号是row_cnt=0,col_cnt=0。
第二种:
k0_flag=0,ncb_flag=1,process_flag为0,不判断row_cnt和col_cnt是否和ncb_col,ncb_row相同,卷绕的行列号是row_cnt=0,col_cnt=0。
第三种:
k0_flag=1,ncb_flag=1,process_flag为1,判断row_cnt和col_cnt是否和ncb_col,ncb_row相同,卷绕的行列号是row_cnt=0,col_cnt=0。
当解交织的数据长度达到e值,数据解交织过程完成。
第八部分:读地址211,把写地址206作为读地址,从CB块解交织解速率匹配的缓存中读出待合并的解交织解速率匹配的数据。
第九部分:速率匹配数据208,从CB解交织解速率匹配的缓存中选出和解交织后对应的待合并的数据。
第十部分:速率匹配209,把解交织的数据和速率匹配中存储的数据进行饱和处理,处理后的数据和延迟单元210(延迟单元的功能就是将读地址延迟固定的4个时钟周期)的地址一起把数据写入CB解交织解速率匹配缓存之中。
上述过程具体描述一种LTE的数据信道的16比特或者32比特并行处理的解交织解速率匹配的过程,该方法和装置实现简单,解交织解速率匹配的过程把解打孔和解重复,解交织,LTE的超级小区合并都简单的统一到一个硬件流程之中,硬件的译码的处理延迟是e/16(16比特并行处理)或者e/32(32比特并行处理)个cycle,成倍的节省了处理的延迟。
上述的解交织解速率匹配的方法和装置同时可以实现LTE基站侧的数据信道的译码,也可以实现LTE UE侧的数据信道的译码,可以节省硬件的实现面积和功耗。
采用高并行处理的解交织解速率匹配的方法,可以成倍的提高处理的能力,减少处理延迟。本申请的方法可以直接应用与LTE的基站和UE的设计之中,并且参考本申请并行度还可以提升到64或者128,最高的并行度可以达到193比特,进一步减少解交织解速率匹配的处理延迟。
本申请实现了一种LTE高并行度的解交织解速率匹配,有效的提升了处理能力,降低了处理延迟,并且能满足LTE基站和UE的处理要求,参考本方案并行度还可以得到更大的提升,可以进一步降低处理延迟。
在前述实施例的基础上,本申请还提供了一种计算机存储介质,该计算机存储介质包括一组计算机可执行指令,所述计算机可执行指令配置为执行:
从包括有至少一个待译码数据的缓存区中,读取目标待译码数据;
对所述目标待译码数据进行解交织处理以及解速率匹配处理,得到解交织后的数据、以及解速率匹配之后的数据;
将解交织后的数据以及数据匹配之后的数据进行合并,得到目标待译码数据对应的目标数据。
所述计算机可执行指令还配置为执行:计算得到所述解交织处理以及解速率匹配处理所需要的参数。
所述计算机可执行指令还配置为执行:目标待译码数据的至少一列数据中分别提取每一列数据;其中,所述目标待译码数据为矩阵数据;
针对提取到的每一列数据,根据所述列数据中每一个数据对应的行
数,以及每一个数据对应的类型,确定增加的数值;
基于每一个数据对应的增加的数值,对所述目标待译码数据进行解速率匹配。
所述计算机可执行指令还配置为执行:目标待译码数据的至少一列数据中分别提取每一列数据;其中,所述目标待译码数据为矩阵数据;
从所述每一列数据中提取得到每一行数据,判断所述每一行数据为系统比特或校验比特,基于所述判断结果对所述数据进行解交织。
所述计算机可执行指令还配置为执行:当所述判断结果表征所述数据为系统比特时,若所述数据处于第零行,则对所述数据所处的列数是否小于预设数值,若小于,则控制将所述数据位置填充为0;
若所述数据处于第N行,直接将读取到的数据作为解交织后的数据;其中,N为大于等于1的整数。
所述计算机可执行指令还配置为执行:当所述判断结果表征所述数据为校验比特时,若所述数据处于第零行,则对所述数据所处的列数是否小于预设数值,若小于,则控制将所述数据位置之前的指定比特数填充为0;
若所述数据处于第N行、且所述数据不处于最后行,将读取的数据128比特或者256比特,按照奇偶分别产生64比特或者128比特的校验比特数据;
若所述数据处于最后行,则确定所处行中对应的填充比特以及填充比特数量。
进一步地,本申请提供的一种解交织解速率匹配的装置,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行:
从包括有至少一个待译码数据的缓存区中,读取目标待译码数据;
对所述目标待译码数据进行解交织处理以及解速率匹配处理,得到解交织后的数据、以及解速率匹配之后的数据;
将解交织后的数据以及数据匹配之后的数据进行合并,得到目标待译码数据对应的目标数据。
所述计算机可执行指令还配置为执行:计算得到所述解交织处理以及解速率匹配处理所需要的参数。
所述处理器用于运行所述计算机程序时,还执行:
目标待译码数据的至少一列数据中分别提取每一列数据;其中,所述目标待译码数据为矩阵数据;
针对提取到的每一列数据,根据所述列数据中每一个数据对应的行数,以及每一个数据对应的类型,确定增加的数值;
基于每一个数据对应的增加的数值,对所述目标待译码数据进行解速率匹配。
所述处理器用于运行所述计算机程序时,还执行:
目标待译码数据的至少一列数据中分别提取每一列数据;其中,所述目标待译码数据为矩阵数据;
从所述每一列数据中提取得到每一行数据,判断所述每一行数据为系统比特或校验比特,基于所述判断结果对所述数据进行解交织。
所述处理器用于运行所述计算机程序时,还执行:
当所述判断结果表征所述数据为系统比特时,若所述数据处于第零行,则对所述数据所处的列数是否小于预设数值,若小于,则控制将所述数据位置填充为0;
若所述数据处于第N行,直接将读取到的数据作为解交织后的数据;其中,N为大于等于1的整数。
所述处理器用于运行所述计算机程序时,还执行:
当所述判断结果表征所述数据为校验比特时,若所述数据处于第零行,则对所述数据所处的列数是否小于预设数值,若小于,则控制将所述数据位置之前的指定比特数填充为0;
若所述数据处于第N行、且所述数据不处于最后行,将读取的数据128比特或者256比特,按照奇偶分别产生64比特或者128比特的校验比特数据;
若所述数据处于最后行,则确定所处行中对应的填充比特以及填充比特数量。
本申请所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、网络设备、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。
本申请提供了一种解交织解速率匹配的方法、装置及计算机存储介质,能够从包括有至少一个待译码数据的缓存区中,读取目标待译码数据;对所述目标待译码数据进行解交织处理以及解速率匹配处理,得到解交织后的数据、以及解速率匹配之后的数据;将解交织后的数据以及
数据匹配之后的数据进行合并,得到目标待译码数据对应的目标数据。从而实现采用高并行处理的解交织解速率匹配的方法,可以成倍的提高处理的能力,减少处理延迟。
Claims (16)
- 一种解交织解速率匹配的方法,所述方法包括:从包括有至少一个待译码数据的缓存区中,读取目标待译码数据;对所述目标待译码数据进行解交织处理以及解速率匹配处理,得到解交织后的数据、以及解速率匹配之后的数据;将解交织后的数据以及数据匹配之后的数据进行合并,得到目标待译码数据对应的目标数据。
- 根据权利要求1所述的方法,其中,所述对所述目标待译码数据进行解交织处理以及解速率匹配处理之前,所述方法还包括:计算得到所述解交织处理以及解速率匹配处理所需要的参数。
- 根据权利要求2所述的方法,其中,所述计算得到所述解交织处理以及解速率匹配处理所需要的参数,包括以下至少之一:计算交织矩阵的行数R;计算出交织矩阵的填充比特个数nd;计算起始位置k0所对应的类型标识k0_flag;计算k0在矩阵的列号k0_col;计算k0在矩阵的列号k0_row;速率匹配的数据的结束位置ncb所对应的类型标识ncb_flag;计算ncb的在矩阵的列号ncb_col;计算ncb在矩阵的行号ncb_row。
- 根据权利要求1所述的方法,其中,所述对所述目标待译码数据进行解速率匹配处理,包括:目标待译码数据的至少一列数据中分别提取每一列数据;其中,所述目标待译码数据为矩阵数据;针对提取到的每一列数据,根据所述列数据中每一个数据对应的行数,以及每一个数据对应的类型,确定增加的数值;基于每一个数据对应的增加的数值,对所述目标待译码数据进行解 速率匹配。
- 根据权利要求1所述的方法,其中,所述对所述目标待译码数据进行解交织处理,包括:目标待译码数据的至少一列数据中分别提取每一列数据;其中,所述目标待译码数据为矩阵数据;从所述每一列数据中提取得到每一行数据,判断所述每一行数据为系统比特或校验比特,基于所述判断结果对所述数据进行解交织。
- 根据权利要求5所述的方法,其中,所述基于所述判断结果对所述数据进行解交织,包括:当所述判断结果表征所述数据为系统比特时,若所述数据处于第零行,则对所述数据所处的列数是否小于预设数值,若小于,则控制将所述数据位置填充为0;若所述数据处于第N行,直接将读取到的数据作为解交织后的数据;其中,N为大于等于1的整数。
- 根据权利要求5所述的方法,其中,所述基于所述判断结果对所述数据进行解交织,包括:当所述判断结果表征所述数据为校验比特时,若所述数据处于第零行,则对所述数据所处的列数是否小于预设数值,若小于,则控制将所述数据位置之前的指定比特数填充为0;若所述数据处于第N行、且所述数据不处于最后行,将读取的数据128比特或者256比特,按照奇偶分别产生64比特或者128比特的校验比特数据;若所述数据处于最后行,则确定所处行中对应的填充比特以及填充比特数量。
- 一种解交织解速率匹配的装置,所述装置包括:数据缓存单元,用于缓存至少一个待译码数据;解交织解速率匹配控制单元,用于从包括有至少一个待译码数据的缓存区中,读取目标待译码数据;数据解交织单元,用于对所述目标待译码数据进行解交织处理,得到解交织后的数据;速率匹配单元,用于对所述目标待译码数据进行解速率匹配处理,得到解速率匹配之后的数据;解交织解速率匹配数据缓存单元,用于缓存解速率匹配以及解交织后的数据;合并单元,用于将解交织后的数据以及数据匹配之后的数据进行合并,得到目标待译码数据对应的目标数据。
- 根据权利要求8所述的装置,其中,所述解交织解速率匹配控制单元,用于计算得到所述解交织处理以及解速率匹配处理所需要的参数。
- 根据权利要求9所述的装置,其中,所述解交织解速率匹配控制单元,用于执行以下计算至少之一:计算交织矩阵的行数R;计算出交织矩阵的填充比特个数nd;计算起始位置k0所对应的类型标识k0_flag;计算k0在矩阵的列号k0_col;计算k0在矩阵的列号k0_row;速率匹配的数据的结束位置ncb所对应的类型标识ncb_flag;计算ncb的在矩阵的列号ncb_col;计算ncb在矩阵的行号ncb_row。
- 根据权利要求8所述的装置,其中,所述速率匹配单元,用于目标待译码数据的至少一列数据中分别提取每一列数据;其中,所述目标待译码数据为矩阵数据;针对提取到的每一列数据,根据所述列数据中每一个数据对应的行数,以及每一个数据对应的类型,确定增加的数值;基于每一个数据对应的增加的数值,对所述目标待译码数据进行解速率匹配。
- 根据权利要求8所述的装置,其中,所述数据解交织单元,用于目标待译码数据的至少一列数据中分别提取每一列数据;其中,所述目标待译码数据为矩阵数据;从所述每一列数据中提取得到每一行数据,判断所述每一行数据为系统比特或校验比特,基于所述判断结果对所述数据进行解交织。
- 根据权利要求12所述的装置,其中,所述数据解交织单元,用于当所述判断结果表征所述数据为系统比特时,若所述数据处于第零行,则对所述数据所处的列数是否小于预设数值,若小于,则控制将所述数据位置填充为0;若所述数据处于第N行,直接将读取到的数据作为解交织后的数据;其中,N为大于等于1的整数。
- 根据权利要求12所述的装置,其中,所述数据解交织单元,用于当所述判断结果表征所述数据为校验比特时,若所述数据处于第零行,则对所述数据所处的列数是否小于预设数值,若小于,则控制将所述数据位置之前的指定比特数填充为0;若所述数据处于第N行、且所述数据不处于最后行,将读取的数据128比特或者256比特,按照奇偶分别产生64比特或者128比特的校验比特数据;若所述数据处于最后行,则确定所处行中对应的填充比特以及填充比特数量。
- 一种计算机存储介质,该计算机存储介质包括一组计算机可执行指令,所述计算机可执行指令配置为执行权利要求1至7任一项所述的方法的步骤。
- 一种解交织解速率匹配的装置,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行权利要求1至7任一项所述方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611022892.0A CN108092738A (zh) | 2016-11-21 | 2016-11-21 | 一种解交织解速率匹配的方法和装置 |
CN201611022892.0 | 2016-11-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018090629A1 true WO2018090629A1 (zh) | 2018-05-24 |
Family
ID=62145178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2017/089808 WO2018090629A1 (zh) | 2016-11-21 | 2017-06-23 | 一种解交织解速率匹配的方法、装置及计算机存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108092738A (zh) |
WO (1) | WO2018090629A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112865815A (zh) * | 2019-11-26 | 2021-05-28 | 广州海格通信集团股份有限公司 | Turbo译码方法、装置、Turbo译码器和存储介质 |
CN113395133A (zh) * | 2020-03-13 | 2021-09-14 | 大唐移动通信设备有限公司 | 一种解速率匹配方法及装置 |
CN113472476A (zh) * | 2020-03-31 | 2021-10-01 | 广州海格通信集团股份有限公司 | 解速率匹配方法、装置、计算机设备和存储介质 |
CN117354256A (zh) * | 2023-12-05 | 2024-01-05 | 鹏城实验室 | 速率匹配方法、装置、设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113300808B (zh) * | 2020-02-24 | 2022-07-05 | 大唐移动通信设备有限公司 | 一种解速率匹配方法、装置、电子设备及存储介质 |
CN112929127B (zh) * | 2021-01-26 | 2022-05-24 | 中国科学院计算技术研究所 | 一种用于5g nr并行解交织和解速率匹配的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101087181A (zh) * | 2007-07-11 | 2007-12-12 | 中兴通讯股份有限公司 | 一种解交织和解速率匹配的方法 |
CN101090293A (zh) * | 2006-06-15 | 2007-12-19 | 华为技术有限公司 | 传输信息的方法及系统 |
CN101499875A (zh) * | 2008-02-02 | 2009-08-05 | 三星电子株式会社 | 支持可变处理速率的lte解速率匹配与解交织的装置 |
CN101674159A (zh) * | 2009-09-28 | 2010-03-17 | 中兴通讯股份有限公司 | 一种解速率匹配的方法和装置 |
WO2015028843A1 (en) * | 2013-08-29 | 2015-03-05 | Freescale Semiconductor, Inc. | Method of estimating ber values in a wireless communication system |
-
2016
- 2016-11-21 CN CN201611022892.0A patent/CN108092738A/zh not_active Withdrawn
-
2017
- 2017-06-23 WO PCT/CN2017/089808 patent/WO2018090629A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101090293A (zh) * | 2006-06-15 | 2007-12-19 | 华为技术有限公司 | 传输信息的方法及系统 |
CN101087181A (zh) * | 2007-07-11 | 2007-12-12 | 中兴通讯股份有限公司 | 一种解交织和解速率匹配的方法 |
CN101499875A (zh) * | 2008-02-02 | 2009-08-05 | 三星电子株式会社 | 支持可变处理速率的lte解速率匹配与解交织的装置 |
CN101674159A (zh) * | 2009-09-28 | 2010-03-17 | 中兴通讯股份有限公司 | 一种解速率匹配的方法和装置 |
WO2015028843A1 (en) * | 2013-08-29 | 2015-03-05 | Freescale Semiconductor, Inc. | Method of estimating ber values in a wireless communication system |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112865815A (zh) * | 2019-11-26 | 2021-05-28 | 广州海格通信集团股份有限公司 | Turbo译码方法、装置、Turbo译码器和存储介质 |
CN112865815B (zh) * | 2019-11-26 | 2024-01-02 | 广州海格通信集团股份有限公司 | Turbo译码方法、装置、Turbo译码器和存储介质 |
CN113395133A (zh) * | 2020-03-13 | 2021-09-14 | 大唐移动通信设备有限公司 | 一种解速率匹配方法及装置 |
CN113472476A (zh) * | 2020-03-31 | 2021-10-01 | 广州海格通信集团股份有限公司 | 解速率匹配方法、装置、计算机设备和存储介质 |
CN113472476B (zh) * | 2020-03-31 | 2023-08-01 | 广州海格通信集团股份有限公司 | 解速率匹配方法、装置、计算机设备和存储介质 |
CN117354256A (zh) * | 2023-12-05 | 2024-01-05 | 鹏城实验室 | 速率匹配方法、装置、设备及存储介质 |
CN117354256B (zh) * | 2023-12-05 | 2024-03-19 | 鹏城实验室 | 速率匹配方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108092738A (zh) | 2018-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018090629A1 (zh) | 一种解交织解速率匹配的方法、装置及计算机存储介质 | |
May et al. | A 150Mbit/s 3GPP LTE turbo code decoder | |
Kim et al. | A unified parallel radix-4 turbo decoder for mobile WiMAX and 3GPP-LTE | |
JP2004531116A (ja) | ターボデコーダ用インタリーバ | |
EP2621091B1 (en) | Turbo code parallel interleaving with quadratic permutation polynomial (qpp) functions | |
JP6022085B2 (ja) | マルチモードデコーダの実現方法及び装置 | |
WO2011137749A1 (zh) | 一种lte下行业务信道解速率匹配的方法及装置 | |
CN102111162B (zh) | Turbo 分量译码方法、分量译码器、支路计算器及Turbo 译码器 | |
JP4874312B2 (ja) | ターボ符号復号装置、ターボ符号復号方法及び通信システム | |
CN102904668B (zh) | 一种用于lte的快速pbch解码方法 | |
WO2014090045A1 (zh) | Td-scdma上行传输信道处理方法 | |
CN102904667B (zh) | 一种用于lte中pbch解码的咬尾卷积码译码方法 | |
WO2011079633A1 (zh) | 码速率匹配的串行处理方法、并行处理方法及装置 | |
KR101611631B1 (ko) | 데이터 복호화 방법, 데이터 인터리브 방법, 데이터 복호화 장치, 인터리버 테이블 생성 장치 및 데이터 인터리브 장치 | |
JP5700035B2 (ja) | 誤り訂正符号復号装置、誤り訂正符号復号方法および誤り訂正符号復号プログラム | |
CN101707490A (zh) | 并行Turbo码内交织方法 | |
WO2011095115A1 (zh) | 一种解交织方法和装置 | |
CN103986557A (zh) | 低路径延迟的LTE Turbo码并行分块译码方法 | |
WO2012149741A1 (zh) | 一种解速率匹配的解交织方法和装置 | |
CN101882933B (zh) | 一种LTE中进行Turbo译码的方法及Turbo译码器 | |
CN102035558B (zh) | Turbo译码方法和装置 | |
Yoo et al. | Tail-overlapped SISO decoding for high-throughput LTE-advanced turbo decoders | |
Weithoffer et al. | Where to go from here? New cross layer techniques for LTE turbo-code decoding at high code rates | |
CN102118219A (zh) | 一种速率匹配的串行处理方法及装置 | |
CN101373977B (zh) | 并行最大后验概率译码交织去交织的装置和方法 |
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: 17872857 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: 17872857 Country of ref document: EP Kind code of ref document: A1 |