WO2022178790A1 - Common mode decoding circuit, digital baseband, radio frequency transceiver, and decoding method - Google Patents

Common mode decoding circuit, digital baseband, radio frequency transceiver, and decoding method Download PDF

Info

Publication number
WO2022178790A1
WO2022178790A1 PCT/CN2021/077984 CN2021077984W WO2022178790A1 WO 2022178790 A1 WO2022178790 A1 WO 2022178790A1 CN 2021077984 W CN2021077984 W CN 2021077984W WO 2022178790 A1 WO2022178790 A1 WO 2022178790A1
Authority
WO
WIPO (PCT)
Prior art keywords
turbo
interleaving
data
odd
ldpc
Prior art date
Application number
PCT/CN2021/077984
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 华为技术有限公司
Priority to CN202180094310.2A priority Critical patent/CN117296252A/en
Priority to PCT/CN2021/077984 priority patent/WO2022178790A1/en
Publication of WO2022178790A1 publication Critical patent/WO2022178790A1/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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits

Definitions

  • the present application relates to the field of communications, and in particular, to a common mode decoding circuit, a digital baseband, a radio frequency transceiver and a decoding method.
  • the data channel coding scheme of the fourth generation (4th generation, 4G) communication technology adopts the Turbo code
  • the data channel coding scheme of the fifth generation (5th generation, 5G) communication technology adopts the low density parity check (low density parity). check, LDPC) code.
  • LDPC low density parity check
  • the principle of decoding the Turbo code is to first calculate the Turbo interleaving sequence, and then interleave and de-interleave the data to be decoded according to the Turbo interleaving sequence to obtain the decoding result; the principle of decoding the LDPC code is to cyclically shift the data to be decoded through a cyclic shifter. bits to get the decoded result.
  • the above two decoding processes are independent of each other in hardware implementation, which wastes resources.
  • Embodiments of the present application provide a common-mode decoding circuit, a digital baseband, a radio frequency transceiver, and a decoding method, which are used to implement multiplexing and decoding of LDPC codes and Turbo codes, so as to save resources.
  • a decoding circuit comprising: a cyclic shift network for selectively receiving LDPC decoding information and performing cyclic shift calculation to output LDPC data, or receiving Turbo decoding information and performing cyclic shifting Bit calculation to output the Turbo interleaved sequence; wherein, the LDPC decoding information includes: LDPC posterior data and LDPC cyclic shift value; Shift value and Turbo offset value, the base sequence is the result of taking the quotient of the value of an even column or an odd column in the Turbo interleaving sequence, and L is the length of one row of the Turbo interleaving sequence; interleaving/deinterleaving circuit, use After receiving the Turbo a posteriori data and the Turbo interleaving sequence, the interleaving and de-interleaving process is performed to obtain the Turbo data; the decoding circuit is used for selectively decoding the LDPC data or the Turbo data.
  • the cyclic shift network can selectively receive LDPC decoding information and perform cyclic shift calculation to output LDPC data, or receive Turbo decoding information and perform cyclic shift calculation to output Turbo interleaved sequence.
  • the interleaving/de-interleaving circuit receives the Turbo a posteriori data and the Turbo interleaving sequence, performs interleaving and de-interleaving processing, and obtains Turbo data.
  • the decoding circuit selectively decodes the LDPC data or the Turbo data. Realize LDPC code and Turbo code multiplexing cyclic shift network for decoding, so resources are saved.
  • the turbo cyclic shift value and the turbo offset value are respectively the odd numbers of the turbo interleaved sequence.
  • the columns correspond to the even columns, because there is a cyclic shift relationship between the interleaving positions located in the odd columns, and there is also a cyclic shift relationship between the interleaving positions located in the even columns, so that the common mode decoding circuit can be applied to high parallelism. degree of turbo interleaving sequence.
  • the cyclic shift network includes a first cyclic shifter and a second cyclic shifter.
  • the first cyclic shifter is used to input a base sequence corresponding to one odd-numbered column of the turbo interleaving sequence and a plurality of odd-numbered columns of the turbo interleaving sequence.
  • Turbo cyclic shift value and perform cyclic shift calculation to output the interleaving positions of multiple odd-numbered columns
  • the second cyclic shifter is used to input a base sequence corresponding to an even-numbered column of the turbo interleaving sequence and multiple even-numbered columns of the turbo interleaving sequence
  • the cyclic shift network further includes a first adder and a second adder, where the first adder is configured to input the interleaving positions of the plurality of odd-numbered columns and the turbo offset values of the plurality of odd-numbered columns, and output the The odd-numbered columns of the turbo interleaving sequence; the second adder is used to input the interleaving positions of the multiple even-numbered columns and the turbo offset values of the multiple even-numbered columns, and output the even-numbered columns of the Turbo interleaving sequence. That is, the odd and even columns of the turbo interleaved sequence are calculated separately.
  • the common mode decoding circuit further includes a parameter generator, a first locator and a second locator: the parameter generator is used to calculate a row, an even column and an odd column of the turbo interleaved sequence The value of the column; take the value of a row modulo L to obtain the turbo offset value corresponding to the odd column and the turbo offset value corresponding to the even column; take the value of an even column to L to obtain the base sequence corresponding to the even column, The value of an odd column is quotient to L to obtain the base sequence corresponding to the odd column; the value of a row is quotient to L to obtain the shift reference value corresponding to the odd column and the shift reference value corresponding to the even column; the first locator, It is used to input the shift reference value and base sequence corresponding to the odd-numbered columns, and output the Turbo cyclic shift value corresponding to the odd-numbered columns; the second locator is used to input the shift reference value and base sequence corresponding to the even-numbered columns, and output the even-numbered columns.
  • the interleaving/deinterleaving circuit includes a first interleaving/deinterleaving unit and a second interleaving/deinterleaving unit; the first interleaving/deinterleaving unit is configured to receive turbo a posteriori data and odd numbers of the turbo interleaving sequence
  • the second interleaving/deinterleaving device is used to receive the turbo posterior data and the even columns of the Turbo interleaving sequence, and perform interleaving and deinterleaving to obtain the turbo data of the even columns. That is to say, the interleaving and deinterleaving processing is also performed separately for odd-numbered columns and even-numbered columns.
  • the decoding circuit is configured to combine the turbo data of the odd-numbered columns and the turbo data of the even-numbered columns, and decode the combined turbo data. That is, the turbo data of the odd-numbered columns and the turbo data of the even-numbered columns are combined first, and then decoded.
  • the first cyclic shifter is configured to input odd-numbered LDPC posterior data and corresponding LDPC cyclic shift values and perform cyclic shift calculation, to output odd-numbered LDPC data;
  • the second cyclic shifter is used to input even-numbered LDPC posterior data and corresponding LDPC cyclic shift values and perform cyclic shift calculation to output even-numbered LDPC data. That is to say, LDPC data is also calculated separately for parity and even.
  • the decoding circuit is configured to combine odd-numbered LDPC data and even-numbered LDPC data, and decode the combined LDPC data. That is, the odd-numbered LDPC data and the even-numbered LDPC data are first combined, and then decoded.
  • a digital baseband including a digital processing circuit and the common-mode decoding circuit according to the first aspect and any of the embodiments thereof, the digital processing circuit is used for digitally processing a digital signal of a receiving link to obtain a digital signal based on The data to be decoded of the Turbo code or the data to be decoded based on the LDPC code of the low density parity check code, and the common mode decoding circuit is used for decoding the data to be decoded to output a decoding result.
  • a radio frequency transceiver including a receiving analog baseband and the digital baseband described in the second aspect; the receiving analog baseband is used to perform analog-to-digital conversion on a low-frequency modulated signal of a receiving link to obtain a digital receiving link. signal, the digital baseband is used to digitally process and decode the digital signal to obtain the decoded result.
  • a fourth aspect provides a decoding method, which is applied to the common-mode decoding circuit of the first aspect and any one of the embodiments thereof, the method comprising: selectively receiving low-density parity-check code LDPC decoding information and performing a cyclic shift Bit calculation to output LDPC data, or, receiving image dial Turbo decoding information and performing cyclic shift calculation to output Turbo interleaved sequence; wherein, LDPC decoding information includes: LDPC posterior data and LDPC cyclic shift value; Turbo decoding The information includes: the base sequence, the turbo cyclic shift value, and the turbo offset value corresponding to the odd and even columns of the turbo interleaving sequence, respectively, and the base sequence is the value of an even column or an odd column in the turbo interleaving sequence to take the quotient of L As a result, L is the length of one line of the Turbo interleaving sequence; receive the Turbo a posteriori data and the Turbo interleaving sequence, perform interleaving and deinterleaving processing, and obtain
  • receiving image dial turbo decoding information and performing cyclic shift calculation to output a turbo interleaving sequence including: inputting the interleaving positions of multiple odd-numbered columns and the turbo offset values of multiple odd-numbered columns, and outputting Odd-numbered columns of the turbo interleaving sequence; input the interleaving positions of multiple even-numbered columns and the turbo offset values of multiple even-numbered columns, and output the even-numbered columns of the turbo interleaving sequence.
  • the method further includes: calculating the values of a row, an even column and an odd column of the Turbo interleaving sequence; taking the value of a row modulo L to obtain the Turbo offset value corresponding to the odd column and the corresponding value of the even column
  • the Turbo offset value of take the value of an even column to L to get the base sequence corresponding to the even column, take the value of an odd column to L to obtain the base sequence corresponding to the odd column; take the value of a row to L to take the quotient
  • receiving Turbo a posteriori data and a Turbo interleaving sequence performing interleaving and deinterleaving processing to obtain Turbo data, including: receiving Turbo a posteriori data and an odd-numbered column of the Turbo interleaving sequence, performing interleaving and deinterleaving processing, Turbo data of odd-numbered columns is obtained; Turbo a posteriori data and even-numbered columns of the Turbo interleaving sequence are received, and interleaving and de-interleaving processing is performed to obtain Turbo data of even-numbered columns.
  • selectively decoding the LDPC data or the turbo data includes: combining the turbo data of the odd-numbered columns and the turbo data of the even-numbered columns, and decoding the combined turbo data.
  • receiving low density parity check code LDPC decoding information and performing cyclic shift calculation to output LDPC data including: inputting odd-numbered LDPC posterior data and corresponding The LDPC cyclic shift value and the cyclic shift calculation are performed to output the odd-numbered LDPC data; the even-numbered LDPC posterior data and the corresponding LDPC cyclic shift value are input and the cyclic shift calculation is performed to output the even-numbered LDPC data.
  • selectively decoding LDPC data or Turbo data includes: combining odd-numbered LDPC data and even-numbered LDPC data, and decoding the combined LDPC data.
  • a computer-readable storage medium in which a computer program is stored, which, when executed on a computer, causes the computer to perform the method of the fourth aspect and any one of the embodiments thereof.
  • a computer program product comprising instructions which, when run on a computer or processor, cause the computer or processor to perform the method of the fourth aspect and any one of the embodiments.
  • FIG. 1 is a schematic structural diagram of a radio frequency transceiver according to an embodiment of the present application
  • FIG. 2 is a schematic structural diagram of a DBB according to an embodiment of the present application.
  • FIG. 3 is a schematic diagram of a base sequence, a Turbo cyclic shift value, and a Turbo offset value of a Turbo interleaved sequence inversely deduced by a Turbo interleaved sequence provided by an embodiment of the present application;
  • FIG. 4 is a schematic structural diagram 1 of a common-mode decoding circuit provided by an embodiment of the present application.
  • FIG. 5 is a second schematic structural diagram of a common-mode decoding circuit according to an embodiment of the present application.
  • FIG. 6 is a schematic flowchart 1 of a decoding method provided by an embodiment of the present application.
  • FIG. 7 is a second schematic flowchart of a decoding method provided by an embodiment of the present application.
  • FIG. 8 is a third schematic flowchart of a decoding method provided by an embodiment of the present application.
  • FIG. 9 is a third schematic structural diagram of a common-mode decoding circuit according to an embodiment of the present application.
  • the transceiver includes: a phase locked loop (PLL) 10, a local oscillator (local oscillator generator, LO) 11, digital base band (DBB) 12 and radio frequency circuit
  • the radio frequency circuit includes receive analog base band (receive analog base band, RX ABB) 13, transmit analog base band (transmit analog base band, TX ABB) 14, low A low noise amplifier (LNA) 15 , a power amplifier (PA) 16 , an antenna 17 , a first mixer 18 , a second mixer 19 and an antenna switch 20 .
  • the output of PLL 10 is coupled to the input of LO 11 , the output of which may be coupled to the first input of first mixer 18 and the first input of second mixer 19 .
  • the antenna 17 is coupled to the input terminal of the LNA 15 through the first path of the antenna switch 20, and the output terminal of the LNA 15 is coupled to the second input terminal of the first mixer 18, and the first mixer
  • the output of 18 is coupled to the input of RX ABB 13, and the output of RX ABB 13 is coupled to DBB 12.
  • DBB 12 is coupled to the input of TX ABB 14, the output of TX ABB 14 is coupled to the second input of second mixer 19, and the output of second mixer 19 is coupled to The input of the PA 16, the output of the PA 16 is coupled to the antenna 17 through the second path of the antenna switch 20.
  • the PLL 10 is used to output a first oscillation signal of a fixed clock frequency for each channel to the LO 11.
  • LO 11 is used to process the first oscillating signal (optional frequency division, and optional output quadrature phase) and output transmit oscillating signals of multiple local oscillator frequencies, or process the first oscillating signal ( Optional frequency division, and optional output quadrature phase) and output receiving oscillating signals of multiple local oscillator frequencies, the transmitting oscillating signal and the receiving oscillating signal may be the same or different.
  • the LNA 15 is used to amplify the high frequency analog signal received through the antenna 17 with the low frequency modulated signal.
  • the first mixer 18 is used to mix the received oscillating signal and the signal output by the LNA 15, and output it to the RX ABB 13.
  • the RX ABB 14 is used for analog-to-digital conversion of the low frequency modulated signal of the receive chain to obtain a digital signal of the receive chain.
  • the RX ABB 14 filters, amplifies, and analog-to-digital converts the signal output from the first mixer 18 to obtain a digital signal.
  • the DBB 12 is used for digitally processing and decoding the digital signal corresponding to the low-frequency modulation signal received by the receiving link to obtain a decoding result, or sending the digital signal to the transmitting link.
  • the TX ABB 13 is used to filter and amplify the digital signal from the DBB 12.
  • the second mixer 19 is used to mix the transmit oscillating signal (optionally, and the signal output by the TX ABB 13 ) and output it to the PA 16 .
  • PA 16 is used to amplify the high frequency signal after mixing.
  • the communication apparatus involved in the embodiment of the present application may be a device including a wireless transceiver function.
  • a communication apparatus may also be referred to as terminal equipment, user equipment (UE), access terminal, subscriber unit, subscriber station, mobile station, mobile station, remote station, remote terminal, mobile equipment, user terminal, terminal, wireless communication device, user agent, or user device.
  • the communication device may be a cell phone, smart speaker, smart watch, handheld device with wireless communication capabilities, computing device or other processing device connected to a wireless modem, robot, drone, smart driving vehicle, smart home, in-vehicle device, Medical equipment, smart logistics equipment, wearable equipment, Wi-Fi equipment, terminal equipment in a future 5G network or a network after 5G, etc., are not limited in this embodiment of the present application.
  • the DBB 12 includes a digital processing circuit 121 and a common-mode decoding circuit 122.
  • the digital processing circuit 121 is used to digitally process the digital signal of the receiving chain to obtain a turbo-based digital signal.
  • the common mode decoding circuit 122 is used for decoding the data to be decoded to output the decoding result.
  • the digital processing circuit 121 includes a coupled de-offset and de-cyclic prefix (cyclic prefix, CP) circuit 1211, a fast Fourier transform (fast Fourier transform, FFT) and a user separation circuit 1212, Channel estimation circuit 1213 , equalizer 1214 , inverse discrete Fourier transform (IDFT) circuit 1215 , channel compensation circuit 1216 , demodulator 1217 , descrambler 1218 .
  • CP de-offset and de-cyclic prefix
  • FFT fast Fourier transform
  • IDFT inverse discrete Fourier transform
  • the de-offset and de-CP circuit 1211 is used to mitigate inter-symbol interference caused by wireless transmission multipath fading.
  • the FFT and user separation circuit 1212 is used to perform time-frequency domain transformation, and obtain frequency domain information by separation.
  • the channel estimation circuit 1213 is used for estimating the time domain or frequency domain response of the channel to correct and recover the received data.
  • the equalizer 1214 is used to generate the opposite characteristic of the channel to cancel the intersymbol interference caused by the time-varying multipath propagation characteristic of the channel.
  • the IDFT circuit 1215 is configured to restore the uplink received orthogonal frequency division multiplexing (OFDM) carrier signal to a single carrier frequency division multiple access (SC-FDMA) carrier signal.
  • OFDM orthogonal frequency division multiplexing
  • SC-FDMA single carrier frequency division multiple access
  • the channel compensation circuit 1216 is used for compensating errors introduced by operations such as receiver channel estimation.
  • the demodulator 1217 is used to restore the information in the modulation symbols into bit stream information.
  • the descrambler 1218 is used to remove the user scramble information contained in the bit stream to obtain the original user bit stream.
  • the common mode decoding circuit 122 is used for decoding LDPC codes or decoding Turbo codes.
  • the process of decoding the LDPC code by the common-mode decoding circuit 122 and the process of decoding the Turbo code are independent of each other in terms of hardware implementation, which wastes resources. Therefore, in order to perform resource multiplexing for these two processing procedures, in one embodiment, the cyclic shift of the interleaving address in the quadratic polynomial permutation (QPP) interleaving of the Turbo code under low parallelism can be performed.
  • QPP quadratic polynomial permutation
  • the base sequence, Turbo offset value and Turbo cyclic shift value of the Turbo interleaving sequence can be pre-stored in the memory.
  • the cyclic shifter inputs the base sequence and Turbo cyclic shift value of the Turbo interleaving sequence and performs cyclic shifting to obtain each column of Turbo interleaving.
  • the adder inputs the interleaving position and Turbo offset value of each column of Turbo interleaving sequences, and outputs the Turbo interleaving sequence. In this way, resource utilization is improved by multiplexing resources with LDPC codes and Turbo codes.
  • the base sequence, the turbo cyclic shift value and the turbo offset value of the turbo interleaved sequence will be described later.
  • K represents the code length of the Turbo code, that is, the number of values in the Turbo interleaved sequence.
  • x represents the position before interleaving, and the value range is K natural numbers (for example, 0, 1, 2, 3... K-1).
  • f 1 and f 2 are coefficients, and their values correspond to K according to the protocol.
  • f(x) represents the output turbo interleaved sequence.
  • the first section of turbo interleaving sequence corresponds to x value of 0-1535
  • the second section of turbo interleaving sequence corresponds to x value of 1536-3071
  • the third section of turbo interleaving sequence corresponds to x value of 1536-3071
  • the sequence corresponds to x values of 3072-4607
  • the fourth segment of the turbo interleaved sequence corresponds to x values of 4608-6143.
  • the degree of parallelism refers to the amount of data that can be processed at the same time.
  • the columns are 0, 3, 2, 1, the second column is 0, 3, 2, 1 from the first column plus a turbo cyclic shift value of 0, and the third column is the first column plus a turbo cyclic shift value of 3 (rotate up by 3) to get 1, 0, 3, 2, and so on.
  • the Turbo cyclic shift value of the interleaving position of , the interleaving position of any column of Turbo interleaving sequences can be obtained.
  • any value of the Turbo interleaving sequence can be derived without storing all the interleaving sequences, thus reducing resource overhead. Therefore, the interleaving position of the first column of the turbo interleaving sequence can be called the base sequence of the turbo interleaving sequence.
  • the embodiments of the present application provide a common-mode decoding circuit as shown in FIG. 4 , which can implement the decoding of Turbo codes and the decoding of LDPC codes.
  • the common mode decoding circuit includes a plurality of selectors 41 , a cyclic shifter 42 , an adder 43 , an interleaver/deinterleaver 44 , a memory (eg read-only memory (ROM)) 45 and a decoding circuit 46 .
  • ROM read-only memory
  • the selector 41 is used to select one output from two inputs.
  • cyclic shifter 42 In LDPC mode (selector 41 is switched to state "1"), cyclic shifter 42 selectively inputs LDPC a posteriori data (also called LDPC a posteriori information or LDPC data to be decoded), and reads from memory 45 The LDPC cyclic shift value is cyclically shifted to output LDPC data (also called routing a posteriori information), and the decoding circuit 46 decodes the LDPC data to output a decoded result (also called decoded LDPC code).
  • LDPC a posteriori data also called LDPC a posteriori information or LDPC data to be decoded
  • the LDPC cyclic shift value is cyclically shifted to output LDPC data (also called routing a posteriori information)
  • the decoding circuit 46 decodes the LDPC data to output a decoded result (also called decoded LDPC code).
  • the cyclic shifter 42 inputs the base sequence of the turbo interleaved sequence read from the memory 45, the turbo cyclic shift value for cyclic shifting, and sends them to the adder 43 outputs the interleaving position of the Turbo interleaving sequence, and the adder 43 also reads the Turbo offset value from the memory 45, according to the aforementioned formula "interleaving position * length L+Turbo offset value of each Turbo interleaving sequence" to the interleaving value.
  • the interleaver/deinterleaver 44 outputs the Turbo interleaved sequence, and the interleaver/deinterleaver 44 additionally inputs Turbo a posteriori data (also referred to as Turbo data to be decoded), and outputs Turbo data (also referred to as Turbo data to be decoded) after interleaving and deinterleaving processing by the interleaver/deinterleaver 24 routing a posteriori information), the decoding circuit 46 decodes the turbo data to output a decoded result (also called a decoded turbo code).
  • a posteriori data also referred to as Turbo data to be decoded
  • Turbo data also referred to as Turbo data to be decoded
  • the above common-mode decoding circuit is only suitable for Turbo codes with low parallelism (small number of segments). Due to the shift characteristics, the cyclic shifter used in the decoding process of the non-reusable LDPC code lacks universality.
  • the first stage of Turbo interleaving sequence corresponds to x value of 0-759
  • the second stage of Turbo interleaving sequence corresponds to x value of 760-1519
  • the third stage of Turbo interleaving sequence corresponds to the x value of 1520-2279
  • the fourth segment of the Turbo interleaved sequence corresponds to the x value of 2280-3039
  • the fifth segment of the Turbo interleaved sequence corresponds to the x value of 3040-3799
  • the sixth segment of the Turbo interleaved sequence corresponds to the x value of 3040-3799.
  • the value is 3800-4559
  • the seventh segment of the turbo interleaved sequence corresponds to the x value of 4560-5319
  • the eighth segment of the turbo interleaved sequence corresponds to the x value of 5320-6079.
  • Table 6 shows the code lengths corresponding to the interleaving positions that satisfy the cyclic shift relationship when the parallelism is 12, and the remaining codes None of the long interleaving positions satisfy the cyclic shift relationship.
  • the base sequences of the turbo interleaving sequences of different code lengths are also different, and the higher the degree of parallelism, the greater the number of base sequences of the turbo interleaving sequences.
  • the base sequences of all Turbo interleaving sequences of the same code length are stored in advance through the memory, and the base sequence of one of the Turbo interleaving sequences is selected by the selector during use, which has a large resource overhead; and if the Turbo interleaving sequence is directly calculated by formula 1, the computational complexity high.
  • the Turbo interleaving sequence forming the matrix pattern is divided into odd-numbered columns and even-numbered columns, and the turbo offset value and interleaving position of the odd-numbered or even-numbered columns are calculated respectively, and the Turbo offset value and the interleaving position of the odd-numbered or even-numbered columns are calculated respectively.
  • the adder restores the original Turbo interleaved sequence for odd or even columns, respectively.
  • the common mode decoding circuit includes a cyclic shift network 51, an interleaving/deinterleaving circuit 52, a decoding circuit 53, a parameter generator 54, a first locator 55, a second locator 56 and multiple selector 57.
  • the selector 57 is optional and is used to select one output from the two inputs.
  • the cyclic shift network 51 includes a first cyclic shifter 511 , a second cyclic shifter 512 , a first adder 513 and a second adder 514 .
  • the interleaving/deinterleaving circuit 52 includes a first interleaving/deinterleaving unit 521 and a second interleaving/deinterleaving unit 522 .
  • the common-mode decoding circuit is used to implement the decoding method shown in FIG. 6 , and the functions of the above modules will be described below with reference to FIG. 6 .
  • the decoding method includes steps S601-S603:
  • the cyclic shift network 51 selectively receives LDPC decoding information and performs cyclic shift calculation to output LDPC data, or receives Turbo decoding information and performs cyclic shift calculation to output a Turbo interleaved sequence.
  • cyclic shift network 51 selectively receives LDPC decoding information and performs cyclic shift calculations to output LDPC data.
  • the LDPC decoding information includes: LDPC posterior data and LDPC cyclic shift value.
  • the LDPC posterior data is the LDPC data to be decoded, and the LDPC cyclic shift value is determined by the protocol and can be stored in the memory.
  • the first cyclic shifter 511 inputs odd LDPC posterior data and corresponding LDPC cyclic shift values and performs cyclic shift calculation to output odd LDPC data .
  • the second cyclic shifter 512 inputs even-numbered LDPC posterior data and corresponding LDPC cyclic shift values and performs cyclic shift calculation to output even-numbered LDPC data.
  • turbo mode switch 57 switches to state "0"
  • cyclic shift network 51 selectively receives turbo decoded information and performs cyclic shift calculations to output a turbo interleaved sequence.
  • the turbo decoding information includes: a base sequence, a turbo cyclic shift value and a turbo offset value corresponding to the odd-numbered columns and the even-numbered columns of the turbo interleaving sequence, respectively.
  • the parameter generator 54 calculates the values of one row, one even column and one odd column in the turbo interleaving sequence of W rows and L columns.
  • the Turbo interleaving sequence is represented in the form of a matrix pattern of W rows and M*L*2 ⁇ n columns
  • the Turbo interleaving sequence of W rows and M*L*2 ⁇ n columns can be split continuously by column by using the dichotomy method until W rows are obtained.
  • a turbo interleaving sequence of W rows and L columns may be obtained by splitting the Turbo interleaving sequence of W rows and M*L*2 ⁇ n columns according to parity columns.
  • the Turbo interleaved sequence of 4 rows and 1520 columns shown in Table 7 is split according to the odd and even columns to obtain two Turbo interleaved sequences of 4 rows and 760 columns, wherein the Turbo interleaved sequences of 4 rows and 760 columns corresponding to the odd columns are shown in Table 8 , the turbo interleaving sequence of 4 rows and 760 columns corresponding to the even columns is shown in Table 9.
  • the Turbo interleaved sequence of 4 rows and 760 columns shown in Table 8 is split according to the odd and even columns to obtain two Turbo interleaved sequences of 4 rows and 380 columns, wherein the Turbo interleaved sequences of 4 rows and 380 columns corresponding to the odd columns are shown in Table 10 , the turbo interleaving sequence of 4 rows and 380 columns corresponding to the even columns is shown in Table 11.
  • the Turbo interleaved sequence of 4 rows and 760 columns shown in Table 9 is split according to the odd and even columns to obtain two Turbo interleaved sequences of 4 rows and 380 columns, wherein the Turbo interleaved sequences of 4 rows and 380 columns corresponding to the odd columns are shown in Table 12 , the turbo interleaving sequence of 4 rows and 380 columns corresponding to the even columns is shown in Table 13.
  • the Turbo interleaving sequence of W rows and L columns can be any of the Turbo interleaving sequences shown in Table 10-Table 13.
  • the Turbo interleaving sequence of W rows and M*L*2 ⁇ n columns may be split in half by column to obtain the Turbo interleaving sequence of W rows and L columns.
  • the Turbo interleaving sequence of 4 rows and 1520 columns shown in Table 7 is still used as an example for description. Split it in half by column to obtain two Turbo interleaving sequences of 4 rows and 760 columns. Among them, the Turbo interleaving sequence of the first half of 4 rows and 760 columns is shown in Table 14, and the Turbo interleaved sequence of the second half of 4 rows and 760 columns is shown in Table 1. 15 shown.
  • the Turbo interleaved sequence of 4 rows and 760 columns shown in Table 14 is split in half by column to obtain two Turbo interleaved sequences of 4 rows and 380 columns, wherein the first half of the Turbo interleaved sequences of 4 rows and 380 columns are shown in Table 16, The Turbo interleaving sequence of the second half with 4 rows and 380 columns is shown in Table 17.
  • the Turbo interleaved sequence of 4 rows and 760 columns shown in Table 15 is split in half to obtain two Turbo interleaved sequences of 4 rows and 380 columns, wherein the first half of the Turbo interleaved sequences of 4 rows and 380 columns are shown in Table 18, The Turbo interleaving sequence of 4 rows and 380 columns in the second half is shown in Table 19.
  • the Turbo interleaving sequence of W rows and L columns can be any of the Turbo interleaving sequences shown in Table 16-Table 19.
  • the Turbo interleaving sequence of W rows and L columns is divided into odd and even columns, which includes L/2 even columns and L/2 odd columns, that is, the Turbo interleaving sequence of W rows and L columns is divided into odd columns and L/2 odd columns. Even columns are treated separately.
  • the parameter generator 54 does not need to store or calculate all the values in Table 20 and Table 21 according to Formula 1, but only needs to store or calculate according to Formula 1 in Table 20 and Table 21
  • the value of one column and the value of one row (for example, the bolded values in Table 20 and Table 21), then the value of one row in Table 20 and Table 21 is the value of one row in the turbo interleaving sequence of W row and L column, in Table 20
  • the value of one column is the value of an odd-numbered column of the turbo interleaving sequence of W rows and L columns
  • the value of one column in Table 21 is the value of an even-numbered column of the turbo interleaved sequence of W rows and L columns.
  • Table 20 and Table 21 can be derived by using a cyclic shifter and an adder, thus saving occupied storage resources or reducing computational complexity. Further, it is even only necessary to store or calculate the two values of one column (which can be two adjacent values or non-adjacent two values) and the value of one row according to formula 1, so as to further save the occupied storage resources or reduce the calculation the complexity.
  • the parameter generator 54 modulates the value of one row of the Turbo interleaving sequence of the W row and L column to L to obtain the turbo offset value corresponding to the odd column and the turbo offset value corresponding to the even column; Take the quotient to get the base sequence corresponding to the even column, take the quotient of the value of an odd column to L to get the base sequence corresponding to the odd column; take the value of a row to L to get the shift reference value corresponding to the odd column and the corresponding to the even column. Shift reference value.
  • the Turbo offset value represents the relative position within a row of the values of a row in the Turbo interleaved sequence.
  • the parameter generator 54 may modulo L the values of a row of L/2 odd columns in the turbo interleaving sequence to obtain L/2 turbo offset values corresponding to the odd columns, and the parameter generator 54 may The value of one row of L/2 even-numbered columns is modulo L to obtain L/2 Turbo offset values corresponding to the even-numbered columns.
  • the values of one row in the Turbo interleaving sequence of W rows and L columns can be stored or calculated according to formula 1, instead of storing or calculating all the values, which can save occupied storage resources or reduce computational complexity.
  • the parameter generator 54 may modulo L(760) on the value of the first row in Table 20 to obtain L/2 turbo offsets corresponding to the odd-numbered column as shown in Table 22. value.
  • the parameter generator 54 may modulo L(760) on the values in the first row in Table 21 to obtain L/2 turbo offset values corresponding to the even-numbered columns as shown in Table 23.
  • the base sequence of the turbo interleaved sequence represents the relative position of the values of a column in the turbo interleaved sequence within a column.
  • the parameter generator 54 may obtain a set of base sequences (with W values) by quoting the value of an odd-numbered column in the turbo interleaving sequence to L, and use an even-numbered sequence in the turbo interleaving sequence to obtain a set of base sequences (with W values). Quoting the values of the columns against L yields another set of basis sequences (with W values).
  • the values of one even column and one odd column in the turbo interleaving sequence of W rows and L columns can be stored or calculated according to formula 1, instead of storing or calculating all the values, which can save occupied storage resources or reduce computational complexity .
  • the parameter generator 54 may obtain a set of base sequences as shown in Table 24 by taking the quotient of the value of the first column in Table 20 against L(760). For even columns, parameter generator 54 may modulo L(760) the values of the first column in Table 20 to obtain another set of basis sequences as shown in Table 25.
  • the parameter generator 54 may obtain two base sequences by taking the quotient of two values in an odd-numbered column of the turbo interleaving sequence against L, and according to the two base sequences (which may be adjacent or not Adjacent) of the modulo (modulo W) difference to obtain the step value of the adjacent base sequences in the same column, and then obtain a set of base sequences according to the step value of the adjacent base sequences and one of the two base sequences base sequence (with W values).
  • the parameter generator 54 can obtain two base sequences by taking the quotient of two values in an even-numbered column of the Turbo interleaved sequence to L, and according to the modulo (The modulo is W) difference value to obtain the step value of adjacent base sequences in the same column, and then another group of base sequences is obtained according to the step value of adjacent base sequences and one of the two base sequences (as a benchmark) (with W values).
  • the modulo is W
  • W the modulo difference value difference value
  • another group of base sequences is obtained according to the step value of adjacent base sequences and one of the two base sequences (as a benchmark) (with W values).
  • two values and step values in one column of the turbo interleaving sequence of W rows and L columns can be stored or calculated according to formula 1, instead of storing or calculating all the values, which can save occupied storage resources or reduce computational complexity .
  • phi_ini represents a base sequence as a benchmark
  • step is the step value of the adjacent base sequence
  • a is the row where the base sequence to be calculated is located and the base sequence used as the benchmark The difference in the row.
  • the difference value of the modulo (modulo W) of two adjacent base sequences is equal to the step value of the adjacent base sequence; the difference value of the modulo (modulo W) of two non-adjacent base sequences , equal to b times the step value of adjacent base sequences, where b is the difference between the rows where the two base sequences are located.
  • the occupied storage resources can be saved or the computational complexity can be reduced.
  • the odd step value refers to the step value of adjacent base sequences in the odd-numbered column
  • the even-step value refers to the step value of the adjacent sequence in the even-numbered column.
  • the shift reference value represents the relative position of a column of values in a row of the turbo interleaved sequence.
  • the parameter generator 54 can obtain L/2 shift reference values corresponding to the odd-numbered columns by taking the quotient of the value of a row of the odd-numbered columns in the turbo interleaving sequence to L; the parameter generator 54 can The value of a row is quotient to L to obtain L/2 shift reference values corresponding to the even columns.
  • the values of one row in the Turbo interleaving sequence of W rows and L columns can be stored or calculated according to formula 1, instead of storing or calculating all the values, which can save occupied storage resources or reduce computational complexity.
  • the parameter generator 54 can obtain L/2 shift references corresponding to the odd-numbered column as shown in Table 27 by taking the quotient of the value of the first row in Table 20 against L (760). value.
  • the parameter generator 54 may obtain L/2 shift reference values corresponding to the even-numbered columns as shown in Table 28 by taking the quotient of the values in the first row in Table 21 against L (760).
  • the first locator 55 inputs the shift reference value and the base sequence corresponding to the odd-numbered columns, and outputs L/2 Turbo cyclic shift values corresponding to the odd-numbered columns;
  • the second locator 56 inputs the shift reference value corresponding to the even-numbered columns value and base sequence, output the L/2 turbo cyclic shift values corresponding to the even columns.
  • the first locator 55 compares the value in Table 27 with the value in Table 24, thereby determining the L/2 turbo cycle shifts corresponding to the odd-numbered column as shown in Table 29. bit value.
  • the value 1 in the column "2" in Table 27 is obtained by rotating the value 1 in Table 24 upward by 7 bits, so the corresponding turbo cyclic shift value is 7. And so on.
  • the second locator 56 compares the values in Table 28 with the values in Table 25 to determine the L/2 turbo cycle shifts corresponding to the even-numbered columns as shown in Table 30. bit value.
  • the 2 in the "3" column in Table 28 is obtained by rotating the value 2 in Table 25 upward by 6 bits, so the corresponding turbo cyclic shift value is 6. And so on.
  • Step S601 will be described below with reference to FIG. 8. As shown in FIG. 8, step S601 includes S6011-S6012.
  • the first cyclic shifter 511 inputs the base sequence corresponding to one odd-numbered column of the turbo interleaved sequence and the turbo of multiple (L/2) odd-numbered columns of the turbo interleaved sequence The cyclic shift value and the cyclic shift calculation are performed to output the interleaving positions of more than (L/2) odd columns.
  • the second cyclic shifter 512 inputs the base sequence corresponding to one even-numbered column of the turbo interleaved sequence and the turbo cyclic shift values of multiple (L/2) even-numbered columns of the turbo interleaved sequence, and performs cyclic shift calculation to output multiple (L/2) even-numbered columns of the turbo interleaved sequence. L/2) interleaving positions of even columns.
  • the base sequence is calculated according to Turbo
  • the interleaving position of any column can be obtained by cyclically shifting the cyclic shift value.
  • the first cyclic shifter 511 performs a cyclic shift on the base sequence in Table 24 according to the Turbo cyclic shift value in Table 29, so as to obtain the corresponding odd-numbered column as shown in Table 31.
  • the L/2 column interleaving position For example, for the base sequences 0, 7, 6, 5, 4, 3, 2, and 1 in Table 24, according to the Turbo cyclic shift value 7 located in the "2" column in Table 29, rotate up 7 bits to obtain the "2" column in Table 31. 2" column for interleaving positions 1, 0, 7, 6, 5, 4, 3, 2. And so on.
  • the second cyclic shifter 512 performs a cyclic shift on the base sequence in Table 25 according to the Turbo cyclic shift value in Table 30, so as to obtain the corresponding even-numbered column as shown in Table 32.
  • the L/2 column interleaving position For example, the base sequences 0, 3, 6, 1, 4, 7, 2, and 5 in Table 25 are rotated upward by 6 bits according to the Turbo cyclic shift value 6 located in the "3" column in Table 30 to obtain the "3" column in Table 32. Interleave positions 2, 5, 0, 3, 6, 1, 4, 7 for 3" columns. And so on.
  • the first adder 513 inputs the interleaving positions of the multiple (L/2) odd-numbered columns and the turbo offset values of the multiple (L/2) odd-numbered columns, and outputs the output Odd columns of the turbo interleaved sequence.
  • the second adder 514 inputs the interleaving positions of the multiple (L/2) even-numbered columns and the turbo offset values of the multiple (L/2) even-numbered columns, and outputs the even-numbered columns of the turbo interleaved sequence.
  • any turbo offset value in the first row represents the turbo offset value of the same column.
  • the first adder 513 multiplies the values of the interleaving positions in Table 32 by L(760) respectively to obtain the values shown in Table 33, and then divides the values shown in Table 33 by column. Adding the Turbo offset values shown in Table 22, the odd-numbered columns of the Turbo interleaved sequence shown in Table 20 are obtained.
  • the second adder 514 multiplies the values of the interleaving positions in Table 33 by L(760) respectively to obtain the values shown in Table 34, and then divides the values shown in Table 34 by column. Adding the Turbo offset values shown in Table 23, the even-numbered columns of the Turbo interleaving sequence shown in Table 21 are obtained.
  • the interleaving/de-interleaving circuit 52 receives the Turbo a posteriori data and the Turbo interleaving sequence, performs interleaving and de-interleaving processing, and obtains Turbo data.
  • the interleaving/deinterleaving circuit 52 receives the turbo posterior data and the turbo interleaving sequence, performs interleaving and deinterleaving processing, and obtains turbo data.
  • the first interleaver/deinterleaver 521 receives the turbo posterior data and the odd columns of the turbo interleaving sequence, performs interleaving and deinterleaving processing, and obtains the turbo data of the odd columns.
  • the second interleaver/deinterleaver 522 receives the turbo a posteriori data and the even columns of the turbo interleaving sequence, performs interleaving and deinterleaving processing, and obtains turbo data of the even columns.
  • the decoding circuit 53 selectively decodes the LDPC data or the Turbo data.
  • the decoding circuit 53 In the LDPC mode (the selector 57 is switched to the state "1"), the decoding circuit 53 combines the odd-numbered LDPC data and the even-numbered LDPC data, and decodes the combined LDPC data.
  • the decoding circuit 53 In the turbo mode (the selector 57 is switched to the state "0"), the decoding circuit 53 combines the turbo data of the odd-numbered columns and the turbo data of the even-numbered columns, and decodes the combined turbo data.
  • the common mode decoding circuit shown in Figure 5 can decode the data to be decoded according to the even and odd columns of the turbo interleaving sequence. If the number of turbo interleaving sequences is large, the turbo interleaving sequence can also be divided into multiple sections, and a common mode decoding circuit can be added. The number of , each common-mode decoding circuit is used to process even and odd columns in a Turbo interleaved sequence.
  • M*2 ⁇ (n+1) sub-circuits in the common-mode decoding circuit shown in The sub-circuits include a first cyclic shifter 511, a first adder 513, a first interleaver/de-interleaver 521, and a first locator 55. These sub-circuits are commonly coupled to the same decoding circuit 53 and belong to a common-mode decoding The two sub-circuits of the circuit are used to process a section of Turbo interleaving sequence of W rows and L columns in the Turbo interleaving sequence whose code length is M*W*L*2 ⁇ n. One of the two sub-circuits is used to process a section of Turbo interleaving.
  • the odd-numbered column of the sequence, and the other is used to process the even-numbered column of a Turbo interleaved sequence.
  • the decoding circuit 53 decodes the data output by all the subcircuits after combining, so as to realize the code length of M*W*L*2 ⁇ n
  • the Turbo interleaved sequence is decoded.
  • the cyclic shift network can selectively receive LDPC decoding information and perform cyclic shift calculation to output LDPC data, or receive Turbo decoding code information and perform a cyclic shift calculation to output a turbo interleaved sequence.
  • the interleaving/de-interleaving circuit receives the Turbo a posteriori data and the Turbo interleaving sequence, performs interleaving and de-interleaving processing, and obtains Turbo data.
  • the decoding circuit selectively decodes the LDPC data or the Turbo data. Realize LDPC code and Turbo code multiplexing cyclic shift network for decoding, so resources are saved.
  • the turbo cyclic shift value and the turbo offset value are respectively the odd numbers of the turbo interleaved sequence.
  • the columns correspond to the even columns, because there is a cyclic shift relationship between the interleaving positions located in the odd columns, and there is also a cyclic shift relationship between the interleaving positions located in the even columns, so that the common mode decoding circuit can be applied to high parallelism. degree of turbo interleaving sequence.
  • Embodiments of the present application also provide a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and when it runs on a computer or a processor, the computer or the processor causes the computer or the processor to execute the steps in FIGS. 6 to 8 . corresponding method.
  • Embodiments of the present application also provide a computer program product containing instructions, when the instructions are executed on a computer or a processor, the computer or the processor causes the computer or processor to execute the corresponding methods in FIGS. 6-8 .
  • the size of the sequence numbers of the above-mentioned processes does not mean the sequence of execution, and the execution sequence of each process should be determined by its functions and internal logic, and should not be dealt with in the embodiments of the present application. implementation constitutes any limitation.
  • the disclosed systems, devices and methods may be implemented in other manners.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the above-mentioned embodiments it may be implemented in whole or in part by software, hardware, firmware or any combination thereof.
  • a software program it can be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, all or part of the processes or functions described in the embodiments of the present application are generated.
  • the computer may be a general purpose computer, special purpose computer, computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be downloaded from a website site, computer, server, or data center Transmission to another website site, computer, server or data center via wired (eg coaxial cable, optical fiber, Digital Subscriber Line, DSL) or wireless (eg infrared, wireless, microwave, etc.) means.
  • the computer-readable storage medium can be any available medium that can be accessed by a computer or data storage devices including one or more servers, data centers, etc. that can be integrated with the medium.
  • the usable medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a DVD), or a semiconductor medium (eg, a Solid State Disk (SSD)), and the like.
  • a magnetic medium eg, a floppy disk, a hard disk, a magnetic tape
  • an optical medium eg, a DVD
  • a semiconductor medium eg, a Solid State Disk (SSD)

Landscapes

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

Abstract

The present application relates to the field of communications. Disclosed are a common mode decoding circuit, a digital baseband, a radio frequency transceiver, and a decoding method, used for implementing multiplexing of an LDPC code and a Turbo code for decoding, so as to save resources. The common mode decoding circuit comprises: a cyclic shift network used for selectively receiving low density parity check (LDPC) code decoding information and performing cyclic shift calculation to output LDPC data, or, receiving Turbo decoding information and performing cyclic shift calculation to output a Turbo interleaving sequence, the LDPC decoding information comprising LDPC posteriori data and an LDPC cyclic shift value, and the Turbo decoding information comprising a basic sequence, a Turbo cyclic shift value, and a Turbo offset value respectively corresponding to odd columns and even columns of the Turbo interleaving sequence; an interleaving/de-interleaving circuit used for receiving Turbo posteriori data and the Turbo interleaving sequence, and performing interleaving and de-interleaving processing to obtain Turbo data; and a decoding circuit used for selectively decoding the LDPC data or the Turbo data.

Description

共模解码电路、数字基带、射频收发机和解码方法Common mode decoding circuit, digital baseband, radio frequency transceiver and decoding method 技术领域technical field
本申请涉及通信领域,尤其涉及一种共模解码电路、数字基带、射频收发机和解码方法。The present application relates to the field of communications, and in particular, to a common mode decoding circuit, a digital baseband, a radio frequency transceiver and a decoding method.
背景技术Background technique
第四代(4th generation,4G)通信技术的数据信道编码方案采用图拨(Turbo)码,第五代(5th generation,5G)通信技术的数据信道编码方案采用低密度奇偶校验(low density parity check,LDPC)码。对于同时支持4G通信技术和5G通信技术的设备来说,要支持既能对Turbo码进行解码也能对LDPC码进行解码。The data channel coding scheme of the fourth generation (4th generation, 4G) communication technology adopts the Turbo code, and the data channel coding scheme of the fifth generation (5th generation, 5G) communication technology adopts the low density parity check (low density parity). check, LDPC) code. For devices that support both 4G communication technology and 5G communication technology, it is necessary to support decoding both Turbo codes and LDPC codes.
对Turbo码进行解码的原理是首先计算Turbo交织序列,然后根据Turbo交织序列对待解码数据进行交织和解交织以得到解码结果;对LDPC码进行解码的原理是通过循环移位器对待解码数据进行循环移位以得到解码结果。目前上述两种解码过程在硬件实现上是相互独立的,浪费了资源。The principle of decoding the Turbo code is to first calculate the Turbo interleaving sequence, and then interleave and de-interleave the data to be decoded according to the Turbo interleaving sequence to obtain the decoding result; the principle of decoding the LDPC code is to cyclically shift the data to be decoded through a cyclic shifter. bits to get the decoded result. Currently, the above two decoding processes are independent of each other in hardware implementation, which wastes resources.
发明内容SUMMARY OF THE INVENTION
本申请实施例提供一种共模解码电路、数字基带、射频收发机和解码方法,用于实现LDPC码和Turbo码复用进行解码,以节省资源。Embodiments of the present application provide a common-mode decoding circuit, a digital baseband, a radio frequency transceiver, and a decoding method, which are used to implement multiplexing and decoding of LDPC codes and Turbo codes, so as to save resources.
为达到上述目的,本申请的实施例采用如下技术方案:To achieve the above object, the embodiments of the present application adopt the following technical solutions:
第一方面,提供了一种解码电路,包括:循环移位网络,用于选择性地接收LDPC译码信息并进行循环移位计算以输出LDPC数据,或者,接收Turbo译码信息并进行循环移位计算以输出Turbo交织序列;其中,LDPC译码信息包括:LDPC后验数据和LDPC循环移位值;Turbo译码信息包括:Turbo交织序列的奇数列和偶数列分别对应的基序列、Turbo循环移位值和Turbo偏移值,基序列为Turbo交织序列中的一个偶数列或一个奇数列的值对L取商的结果,L为Turbo交织序列的一行的长度;交织/解交织电路,用于接收Turbo后验数据以及Turbo交织序列,进行交织解交织处理,得到Turbo数据;译码电路,用于选择性地对LDPC数据或Turbo数据进行译码。In a first aspect, a decoding circuit is provided, comprising: a cyclic shift network for selectively receiving LDPC decoding information and performing cyclic shift calculation to output LDPC data, or receiving Turbo decoding information and performing cyclic shifting Bit calculation to output the Turbo interleaved sequence; wherein, the LDPC decoding information includes: LDPC posterior data and LDPC cyclic shift value; Shift value and Turbo offset value, the base sequence is the result of taking the quotient of the value of an even column or an odd column in the Turbo interleaving sequence, and L is the length of one row of the Turbo interleaving sequence; interleaving/deinterleaving circuit, use After receiving the Turbo a posteriori data and the Turbo interleaving sequence, the interleaving and de-interleaving process is performed to obtain the Turbo data; the decoding circuit is used for selectively decoding the LDPC data or the Turbo data.
本申请实施例提供的共模解码电路,循环移位网络可以选择性地接收LDPC译码信息并进行循环移位计算以输出LDPC数据,或者,接收Turbo译码信息并进行循环移位计算以输出Turbo交织序列。交织/解交织电路接收Turbo后验数据以及Turbo交织序列,进行交织解交织处理,得到Turbo数据。译码电路选择性地对LDPC数据或Turbo数据进行译码。实现了LDPC码和Turbo码复用循环移位网络进行解码,所以节省了资源。并且,在通过输入的基序列、Turbo循环移位值和Turbo偏移值还原得到Turbo交织序列的过程中,输入的基序列、Turbo循环移位值和Turbo偏移值分别与Turbo交织序列的奇数列和偶数列相对应,原因在于位于奇数列的交织位置之间存在循环移位的关系,位于偶数列的交织位置之间也存在循环移位的关系,使得共模解码电路可以适用于高并行度的Turbo交织序列。In the common-mode decoding circuit provided by the embodiments of the present application, the cyclic shift network can selectively receive LDPC decoding information and perform cyclic shift calculation to output LDPC data, or receive Turbo decoding information and perform cyclic shift calculation to output Turbo interleaved sequence. The interleaving/de-interleaving circuit receives the Turbo a posteriori data and the Turbo interleaving sequence, performs interleaving and de-interleaving processing, and obtains Turbo data. The decoding circuit selectively decodes the LDPC data or the Turbo data. Realize LDPC code and Turbo code multiplexing cyclic shift network for decoding, so resources are saved. In addition, in the process of obtaining the Turbo interleaved sequence by restoring the input base sequence, the turbo cyclic shift value and the turbo offset value, the input base sequence, the turbo cyclic shift value and the turbo offset value are respectively the odd numbers of the turbo interleaved sequence. The columns correspond to the even columns, because there is a cyclic shift relationship between the interleaving positions located in the odd columns, and there is also a cyclic shift relationship between the interleaving positions located in the even columns, so that the common mode decoding circuit can be applied to high parallelism. degree of turbo interleaving sequence.
在一种可能的实施方式中,循环移位网络包括第一循环移位器和第二循环移位器。In a possible implementation, the cyclic shift network includes a first cyclic shifter and a second cyclic shifter.
在一种可能的实施方式中,当循环移位网络接收Turbo译码信息时:第一循环移位器用于输入Turbo交织序列的一个奇数列对应的基序列和Turbo交织序列的多个奇数列的Turbo循环移位值并进行循环移位计算,以输出多个奇数列的交织位置;第二循环移位器用于输入Turbo交织序列的一个偶数列对应的基序列和Turbo交织序列的多个偶数列的Turbo循环移位值并进行循环移位计算,以输出多个偶数列的交织位置。也就是说,交织位置是分奇数列和偶数列分别计算的。In a possible implementation manner, when the cyclic shift network receives the turbo decoding information: the first cyclic shifter is used to input a base sequence corresponding to one odd-numbered column of the turbo interleaving sequence and a plurality of odd-numbered columns of the turbo interleaving sequence. Turbo cyclic shift value and perform cyclic shift calculation to output the interleaving positions of multiple odd-numbered columns; the second cyclic shifter is used to input a base sequence corresponding to an even-numbered column of the turbo interleaving sequence and multiple even-numbered columns of the turbo interleaving sequence Turbo cyclic shift value and perform cyclic shift calculation to output the interleaving positions of multiple even columns. That is, the interleaving positions are calculated separately for odd-numbered columns and even-numbered columns.
在一种可能的实施方式中,循环移位网络还包括第一加法器和第二加法器,第一加法器用于输入多个奇数列的交织位置和多个奇数列的Turbo偏移值,输出Turbo交织序列的奇数列;第二加法器用于输入多个偶数列的交织位置和多个偶数列的Turbo偏移值,输出Turbo交织序列的偶数列。也就是说,Turbo交织序列的奇数列和偶数列是分别计算的。In a possible implementation manner, the cyclic shift network further includes a first adder and a second adder, where the first adder is configured to input the interleaving positions of the plurality of odd-numbered columns and the turbo offset values of the plurality of odd-numbered columns, and output the The odd-numbered columns of the turbo interleaving sequence; the second adder is used to input the interleaving positions of the multiple even-numbered columns and the turbo offset values of the multiple even-numbered columns, and output the even-numbered columns of the Turbo interleaving sequence. That is, the odd and even columns of the turbo interleaved sequence are calculated separately.
在一种可能的实施方式中,共模解码电路还包括参数生成器、第一寻位器和第二寻位器:参数生成器,用于计算Turbo交织序列的一行、一个偶数列和一个奇数列的值;将一行的值对L取模得到奇数列对应的Turbo偏移值以及偶数列对应的Turbo偏移值;将一个偶数列的值对L取商得到偶数列对应的基序列,将一个奇数列的值对L取商得到奇数列对应的基序列;将一行的值对L取商得到奇数列对应的移位基准值和偶数列对应的移位基准值;第一寻位器,用于输入奇数列对应的移位基准值和基序列,输出奇数列对应的Turbo循环移位值;第二寻位器,用于输入偶数列对应的移位基准值和基序列,输出偶数列对应的Turbo循环移位值。也就是说,基序列、Turbo偏移值和Turbo循环移位值是分奇数列和偶数列分别计算的。In a possible implementation, the common mode decoding circuit further includes a parameter generator, a first locator and a second locator: the parameter generator is used to calculate a row, an even column and an odd column of the turbo interleaved sequence The value of the column; take the value of a row modulo L to obtain the turbo offset value corresponding to the odd column and the turbo offset value corresponding to the even column; take the value of an even column to L to obtain the base sequence corresponding to the even column, The value of an odd column is quotient to L to obtain the base sequence corresponding to the odd column; the value of a row is quotient to L to obtain the shift reference value corresponding to the odd column and the shift reference value corresponding to the even column; the first locator, It is used to input the shift reference value and base sequence corresponding to the odd-numbered columns, and output the Turbo cyclic shift value corresponding to the odd-numbered columns; the second locator is used to input the shift reference value and base sequence corresponding to the even-numbered columns, and output the even-numbered columns The corresponding turbo cyclic shift value. That is, the base sequence, the turbo offset value, and the turbo cyclic shift value are calculated separately for odd-numbered columns and even-numbered columns.
在一种可能的实施方式中,交织/解交织电路包括第一交织/解交织器和第二交织/解交织器;第一交织/解交织器用于接收Turbo后验数据以及Turbo交织序列的奇数列,进行交织解交织处理,得到奇数列的Turbo数据;第二交织/解交织器用于接收Turbo后验数据以及Turbo交织序列的偶数列,进行交织解交织处理,得到偶数列的Turbo数据。也就是说,交织解交织处理也是分奇数列和偶数列分别处理的。In a possible implementation, the interleaving/deinterleaving circuit includes a first interleaving/deinterleaving unit and a second interleaving/deinterleaving unit; the first interleaving/deinterleaving unit is configured to receive turbo a posteriori data and odd numbers of the turbo interleaving sequence The second interleaving/deinterleaving device is used to receive the turbo posterior data and the even columns of the Turbo interleaving sequence, and perform interleaving and deinterleaving to obtain the turbo data of the even columns. That is to say, the interleaving and deinterleaving processing is also performed separately for odd-numbered columns and even-numbered columns.
在一种可能的实施方式中,译码电路用于合并奇数列的Turbo数据和偶数列的Turbo数据,并对合并后的Turbo数据进行译码。也就是说,先对奇数列的Turbo数据和偶数列的Turbo数据进行合并,后进行译码。In a possible implementation manner, the decoding circuit is configured to combine the turbo data of the odd-numbered columns and the turbo data of the even-numbered columns, and decode the combined turbo data. That is, the turbo data of the odd-numbered columns and the turbo data of the even-numbered columns are combined first, and then decoded.
在一种可能的实施方式中,当循环移位网络接收LDPC译码信息时,第一循环移位器用于输入奇数的LDPC后验数据和对应的LDPC循环移位值并进行循环移位计算,以输出奇数的LDPC数据;第二循环移位器用于输入偶数的LDPC后验数据和对应的LDPC循环移位值并进行循环移位计算,以输出偶数的LDPC数据。也就是说,LDPC数据也是分奇偶分别计算的。In a possible implementation manner, when the cyclic shift network receives LDPC decoding information, the first cyclic shifter is configured to input odd-numbered LDPC posterior data and corresponding LDPC cyclic shift values and perform cyclic shift calculation, to output odd-numbered LDPC data; the second cyclic shifter is used to input even-numbered LDPC posterior data and corresponding LDPC cyclic shift values and perform cyclic shift calculation to output even-numbered LDPC data. That is to say, LDPC data is also calculated separately for parity and even.
在一种可能的实施方式中,译码电路用于合并奇数的LDPC数据和偶数的LDPC数据,并对合并后的LDPC数据进行译码。也就是说,先对奇数的LDPC数据和偶数的LDPC数据进行合并,后进行译码。In a possible implementation, the decoding circuit is configured to combine odd-numbered LDPC data and even-numbered LDPC data, and decode the combined LDPC data. That is, the odd-numbered LDPC data and the even-numbered LDPC data are first combined, and then decoded.
第二方面,提供了一种数字基带,包括数字处理电路以及如第一方面及其任一实施方式的共模解码电路,数字处理电路用于对接收链路的数字信号进行数字处理以得到基于Turbo码的待解码数据或者基于低密度奇偶校验码LDPC码的待解码数据,共 模解码电路用于对待解码数据进行解码以输出解码结果。In a second aspect, a digital baseband is provided, including a digital processing circuit and the common-mode decoding circuit according to the first aspect and any of the embodiments thereof, the digital processing circuit is used for digitally processing a digital signal of a receiving link to obtain a digital signal based on The data to be decoded of the Turbo code or the data to be decoded based on the LDPC code of the low density parity check code, and the common mode decoding circuit is used for decoding the data to be decoded to output a decoding result.
第三方面,提供了一种射频收发机,包括接收模拟基带以及第二方面所述的数字基带;接收模拟基带用于对接收链路的低频调制信号进行模数转换以得到接收链路的数字信号,数字基带用于对数字信号进行数字处理和解码以得到解码结果。In a third aspect, a radio frequency transceiver is provided, including a receiving analog baseband and the digital baseband described in the second aspect; the receiving analog baseband is used to perform analog-to-digital conversion on a low-frequency modulated signal of a receiving link to obtain a digital receiving link. signal, the digital baseband is used to digitally process and decode the digital signal to obtain the decoded result.
第四方面,提供了一种解码方法,应用于第一方面及其任一实施方式的共模解码电路,该方法包括:选择性地接收低密度奇偶校验码LDPC译码信息并进行循环移位计算以输出LDPC数据,或者,接收图拨Turbo译码信息并进行循环移位计算以输出Turbo交织序列;其中,LDPC译码信息包括:LDPC后验数据和LDPC循环移位值;Turbo译码信息包括:Turbo交织序列的奇数列和偶数列分别对应的基序列、Turbo循环移位值和Turbo偏移值,基序列为Turbo交织序列中的一个偶数列或一个奇数列的值对L取商的结果,L为Turbo交织序列的一行的长度;接收Turbo后验数据以及Turbo交织序列,进行交织解交织处理,得到Turbo数据;选择性地对LDPC数据或Turbo数据进行译码。A fourth aspect provides a decoding method, which is applied to the common-mode decoding circuit of the first aspect and any one of the embodiments thereof, the method comprising: selectively receiving low-density parity-check code LDPC decoding information and performing a cyclic shift Bit calculation to output LDPC data, or, receiving image dial Turbo decoding information and performing cyclic shift calculation to output Turbo interleaved sequence; wherein, LDPC decoding information includes: LDPC posterior data and LDPC cyclic shift value; Turbo decoding The information includes: the base sequence, the turbo cyclic shift value, and the turbo offset value corresponding to the odd and even columns of the turbo interleaving sequence, respectively, and the base sequence is the value of an even column or an odd column in the turbo interleaving sequence to take the quotient of L As a result, L is the length of one line of the Turbo interleaving sequence; receive the Turbo a posteriori data and the Turbo interleaving sequence, perform interleaving and deinterleaving processing, and obtain Turbo data; selectively decode the LDPC data or the Turbo data.
在一种可能的实施方式中,接收图拨Turbo译码信息并进行循环移位计算以输出Turbo交织序列,包括:输入多个奇数列的交织位置和多个奇数列的Turbo偏移值,输出Turbo交织序列的奇数列;输入多个偶数列的交织位置和多个偶数列的Turbo偏移值,输出Turbo交织序列的偶数列。In a possible implementation manner, receiving image dial turbo decoding information and performing cyclic shift calculation to output a turbo interleaving sequence, including: inputting the interleaving positions of multiple odd-numbered columns and the turbo offset values of multiple odd-numbered columns, and outputting Odd-numbered columns of the turbo interleaving sequence; input the interleaving positions of multiple even-numbered columns and the turbo offset values of multiple even-numbered columns, and output the even-numbered columns of the turbo interleaving sequence.
在一种可能的实施方式中,还包括:计算Turbo交织序列的一行、一个偶数列和一个奇数列的值;将一行的值对L取模得到奇数列对应的Turbo偏移值以及偶数列对应的Turbo偏移值;将一个偶数列的值对L取商得到偶数列对应的基序列,将一个奇数列的值对L取商得到奇数列对应的基序列;将一行的值对L取商得到奇数列对应的移位基准值和偶数列对应的移位基准值;输入奇数列对应的移位基准值和基序列,输出奇数列对应的Turbo循环移位值;输入偶数列对应的移位基准值和基序列,输出偶数列对应的Turbo循环移位值。In a possible implementation manner, the method further includes: calculating the values of a row, an even column and an odd column of the Turbo interleaving sequence; taking the value of a row modulo L to obtain the Turbo offset value corresponding to the odd column and the corresponding value of the even column The Turbo offset value of ; take the value of an even column to L to get the base sequence corresponding to the even column, take the value of an odd column to L to obtain the base sequence corresponding to the odd column; take the value of a row to L to take the quotient Obtain the shift reference value corresponding to the odd-numbered column and the shift reference value corresponding to the even-numbered column; input the shift reference value and base sequence corresponding to the odd-numbered column, and output the turbo cycle shift value corresponding to the odd-numbered column; input the shift corresponding to the even-numbered column Reference value and base sequence, output the turbo cyclic shift value corresponding to the even-numbered column.
在一种可能的实施方式中,接收Turbo后验数据以及Turbo交织序列,进行交织解交织处理,得到Turbo数据,包括:接收Turbo后验数据以及Turbo交织序列的奇数列,进行交织解交织处理,得到奇数列的Turbo数据;接收Turbo后验数据以及Turbo交织序列的偶数列,进行交织解交织处理,得到偶数列的Turbo数据。In a possible implementation manner, receiving Turbo a posteriori data and a Turbo interleaving sequence, performing interleaving and deinterleaving processing to obtain Turbo data, including: receiving Turbo a posteriori data and an odd-numbered column of the Turbo interleaving sequence, performing interleaving and deinterleaving processing, Turbo data of odd-numbered columns is obtained; Turbo a posteriori data and even-numbered columns of the Turbo interleaving sequence are received, and interleaving and de-interleaving processing is performed to obtain Turbo data of even-numbered columns.
在一种可能的实施方式中,选择性地对LDPC数据或Turbo数据进行译码,包括:合并奇数列的Turbo数据和偶数列的Turbo数据,并对合并后的Turbo数据进行译码。In a possible implementation manner, selectively decoding the LDPC data or the turbo data includes: combining the turbo data of the odd-numbered columns and the turbo data of the even-numbered columns, and decoding the combined turbo data.
在一种可能的实施方式中,当接收LDPC译码信息时,接收低密度奇偶校验码LDPC译码信息并进行循环移位计算以输出LDPC数据,包括:输入奇数的LDPC后验数据和对应的LDPC循环移位值并进行循环移位计算,以输出奇数的LDPC数据;输入偶数的LDPC后验数据和对应的LDPC循环移位值并进行循环移位计算,以输出偶数的LDPC数据。In a possible implementation manner, when receiving LDPC decoding information, receiving low density parity check code LDPC decoding information and performing cyclic shift calculation to output LDPC data, including: inputting odd-numbered LDPC posterior data and corresponding The LDPC cyclic shift value and the cyclic shift calculation are performed to output the odd-numbered LDPC data; the even-numbered LDPC posterior data and the corresponding LDPC cyclic shift value are input and the cyclic shift calculation is performed to output the even-numbered LDPC data.
在一种可能的实施方式中,选择性地对LDPC数据或Turbo数据进行译码,包括:合并奇数的LDPC数据和偶数的LDPC数据,并对合并后的LDPC数据进行译码。In a possible implementation manner, selectively decoding LDPC data or Turbo data includes: combining odd-numbered LDPC data and even-numbered LDPC data, and decoding the combined LDPC data.
第五方面,提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如第四方面及其任一项实施方式的 方法。In a fifth aspect, a computer-readable storage medium is provided, in which a computer program is stored, which, when executed on a computer, causes the computer to perform the method of the fourth aspect and any one of the embodiments thereof.
第六方面,提供了一种包含指令的计算机程序产品,当指令在计算机或处理器上运行时,使得计算机或处理器执行如第四方面及任一项实施方式所述的方法。In a sixth aspect, there is provided a computer program product comprising instructions which, when run on a computer or processor, cause the computer or processor to perform the method of the fourth aspect and any one of the embodiments.
关于第二方面至第六方面的技术效果参照第一方面及其任一实施方式的技术效果。For the technical effects of the second to sixth aspects, refer to the technical effects of the first aspect and any of its embodiments.
附图说明Description of drawings
图1为本申请实施例提供的一种射频收发机的结构示意图;FIG. 1 is a schematic structural diagram of a radio frequency transceiver according to an embodiment of the present application;
图2为本申请实施例提供的一种DBB的结构示意图;2 is a schematic structural diagram of a DBB according to an embodiment of the present application;
图3为本申请实施例提供的一种通过Turbo交织序列反推出Turbo交织序列的基序列、Turbo循环移位值和Turbo偏移值的示意图;3 is a schematic diagram of a base sequence, a Turbo cyclic shift value, and a Turbo offset value of a Turbo interleaved sequence inversely deduced by a Turbo interleaved sequence provided by an embodiment of the present application;
图4为本申请实施例提供的一种共模解码电路的结构示意图一;FIG. 4 is a schematic structural diagram 1 of a common-mode decoding circuit provided by an embodiment of the present application;
图5为本申请实施例提供的一种共模解码电路的结构示意图二;FIG. 5 is a second schematic structural diagram of a common-mode decoding circuit according to an embodiment of the present application;
图6为本申请实施例提供的一种解码方法的流程示意图一;6 is a schematic flowchart 1 of a decoding method provided by an embodiment of the present application;
图7为本申请实施例提供的一种解码方法的流程示意图二;FIG. 7 is a second schematic flowchart of a decoding method provided by an embodiment of the present application;
图8为本申请实施例提供的一种解码方法的流程示意图三;FIG. 8 is a third schematic flowchart of a decoding method provided by an embodiment of the present application;
图9为本申请实施例提供的一种共模解码电路的结构示意图三。FIG. 9 is a third schematic structural diagram of a common-mode decoding circuit according to an embodiment of the present application.
具体实施方式Detailed ways
如图1所示,该图示出了一种射频收发机的结构,可以应用于通信装置中,该收发机包括:锁相环(phase locked loop,PLL)10、本振(local oscillator generator,LO)11、数字基带(digital base band,DBB)12以及射频电路,射频电路包括接收模拟基带(receive analog base band,RX ABB)13、发射模拟基带(transmit analog base band,TX ABB)14、低噪声放大器(low noise amplifier,LNA)15、功率放大器(power amplifier,PA)16、天线17、第一混频器18、第二混频器19和天线开关20。As shown in FIG. 1, the figure shows the structure of a radio frequency transceiver, which can be applied to a communication device. The transceiver includes: a phase locked loop (PLL) 10, a local oscillator (local oscillator generator, LO) 11, digital base band (DBB) 12 and radio frequency circuit, the radio frequency circuit includes receive analog base band (receive analog base band, RX ABB) 13, transmit analog base band (transmit analog base band, TX ABB) 14, low A low noise amplifier (LNA) 15 , a power amplifier (PA) 16 , an antenna 17 , a first mixer 18 , a second mixer 19 and an antenna switch 20 .
首先对上述各器件的连接关系进行说明:First, the connection relationship of the above components is explained:
PLL 10的输出端耦合至LO 11的输入端,LO 11的输出端可以耦合至第一混频器18的第一输入端以及第二混频器19的第一输入端。The output of PLL 10 is coupled to the input of LO 11 , the output of which may be coupled to the first input of first mixer 18 and the first input of second mixer 19 .
对于射频电路的接收链路,天线17通过天线开关20的第一通路耦合至LNA 15的输入端,LNA 15的输出端耦合至第一混频器18的第二输入端,第一混频器18的输出端耦合至RX ABB 13的输入端,RX ABB 13的输出端耦合至DBB 12。For the receiving chain of the radio frequency circuit, the antenna 17 is coupled to the input terminal of the LNA 15 through the first path of the antenna switch 20, and the output terminal of the LNA 15 is coupled to the second input terminal of the first mixer 18, and the first mixer The output of 18 is coupled to the input of RX ABB 13, and the output of RX ABB 13 is coupled to DBB 12.
对于射频电路的发射链路,DBB 12耦合至TX ABB 14的输入端,TX ABB 14的输出端耦合至第二混频器19的第二输入端,第二混频器19的输出端耦合至PA 16的输入端,PA 16的输出端通过天线开关20的第二通路耦合至天线17。For the transmit chain of the radio frequency circuit, DBB 12 is coupled to the input of TX ABB 14, the output of TX ABB 14 is coupled to the second input of second mixer 19, and the output of second mixer 19 is coupled to The input of the PA 16, the output of the PA 16 is coupled to the antenna 17 through the second path of the antenna switch 20.
下面对上述各器件的功能进行描述:The functions of the above devices are described below:
PLL 10用于向LO 11输出每个信道固定的时钟频率的第一振荡信号。The PLL 10 is used to output a first oscillation signal of a fixed clock frequency for each channel to the LO 11.
LO 11用于对第一振荡信号进行处理(可选的分频,以及,可选的输出正交相位)并输出多个本振频率的发射振荡信号,或者,对第一振荡信号进行处理(可选的分频,以及,可选的输出正交相位)并输出多个本振频率的接收振荡信号,发射振荡信号和接收振荡信号可以相同或不同。 LO 11 is used to process the first oscillating signal (optional frequency division, and optional output quadrature phase) and output transmit oscillating signals of multiple local oscillator frequencies, or process the first oscillating signal ( Optional frequency division, and optional output quadrature phase) and output receiving oscillating signals of multiple local oscillator frequencies, the transmitting oscillating signal and the receiving oscillating signal may be the same or different.
LNA 15用于放大通过天线17接收的带有低频调制信号的高频模拟信号。The LNA 15 is used to amplify the high frequency analog signal received through the antenna 17 with the low frequency modulated signal.
第一混频器18用于对接收振荡信号以及LNA 15输出的信号进行混频,并输出给 RX ABB 13。The first mixer 18 is used to mix the received oscillating signal and the signal output by the LNA 15, and output it to the RX ABB 13.
RX ABB 14用于对接收链路的低频调制信号进行模数转换以得到接收链路的数字信号。例如,RX ABB 14对第一混频器18输出的信号进行滤波、放大处理以及模数转换以得到数字信号。The RX ABB 14 is used for analog-to-digital conversion of the low frequency modulated signal of the receive chain to obtain a digital signal of the receive chain. For example, the RX ABB 14 filters, amplifies, and analog-to-digital converts the signal output from the first mixer 18 to obtain a digital signal.
DBB 12用于对接收链路接收的低频调制信号对应的数字信号进行数字处理和解码以得到解码结果,或者,向发射链路发送数字信号。The DBB 12 is used for digitally processing and decoding the digital signal corresponding to the low-frequency modulation signal received by the receiving link to obtain a decoding result, or sending the digital signal to the transmitting link.
TX ABB 13用于对来自DBB 12的数字信号进行滤波及放大处理。The TX ABB 13 is used to filter and amplify the digital signal from the DBB 12.
第二混频器19用于对发射振荡信号(可选的,以及TX ABB 13输出的信号)进行混频,并输出给PA 16。The second mixer 19 is used to mix the transmit oscillating signal (optionally, and the signal output by the TX ABB 13 ) and output it to the PA 16 .
PA 16用于放大混频之后的高频信号。 PA 16 is used to amplify the high frequency signal after mixing.
本申请实施例涉及的通信装置可以为包含无线收发功能的设备。通信装置也可以称为终端设备、用户设备(user equipment,UE)、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信装置、用户代理或用户装置。例如,通信装置可以是手机、智能音箱、智能手表、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、机器人、无人机、智能驾驶车辆、智能家居、车载设备、医疗设备、智慧物流设备、可穿戴设备、Wi-Fi设备,未来5G网络或5G之后的网络中的终端设备等,本申请实施例对此不作限定。The communication apparatus involved in the embodiment of the present application may be a device including a wireless transceiver function. A communication apparatus may also be referred to as terminal equipment, user equipment (UE), access terminal, subscriber unit, subscriber station, mobile station, mobile station, remote station, remote terminal, mobile equipment, user terminal, terminal, wireless communication device, user agent, or user device. For example, the communication device may be a cell phone, smart speaker, smart watch, handheld device with wireless communication capabilities, computing device or other processing device connected to a wireless modem, robot, drone, smart driving vehicle, smart home, in-vehicle device, Medical equipment, smart logistics equipment, wearable equipment, Wi-Fi equipment, terminal equipment in a future 5G network or a network after 5G, etc., are not limited in this embodiment of the present application.
如图2所示,示出了DBB 12的一种结构,DBB 12包括数字处理电路121和共模解码电路122,数字处理电路121用于对接收链路的数字信号进行数字处理以得到基于Turbo码的待解码数据或者基于LDPC码的待解码数据,共模解码电路122用于对待解码数据进行解码以输出解码结果。As shown in FIG. 2, a structure of the DBB 12 is shown. The DBB 12 includes a digital processing circuit 121 and a common-mode decoding circuit 122. The digital processing circuit 121 is used to digitally process the digital signal of the receiving chain to obtain a turbo-based digital signal. The common mode decoding circuit 122 is used for decoding the data to be decoded to output the decoding result.
在一种可能的实施方式中,数字处理电路121包括耦合的去频偏和去循环前缀(cyclic prefix,CP)电路1211、快速傅里叶变换(fast Fourier transform,FFT)和用户分离电路1212、信道估计电路1213、均衡器1214、离散傅里叶逆变换(inverse discrete Fourier transform,IDFT)电路1215、信道补偿电路1216、解调器1217、解扰器1218。DBB 12输入来自TX ABB的IO数据后,通过各个电路的处理,由共模解码电路122输出解码结果。In a possible implementation, the digital processing circuit 121 includes a coupled de-offset and de-cyclic prefix (cyclic prefix, CP) circuit 1211, a fast Fourier transform (fast Fourier transform, FFT) and a user separation circuit 1212, Channel estimation circuit 1213 , equalizer 1214 , inverse discrete Fourier transform (IDFT) circuit 1215 , channel compensation circuit 1216 , demodulator 1217 , descrambler 1218 . After the DBB 12 inputs the IO data from the TX ABB, the decoding result is output by the common mode decoding circuit 122 through the processing of each circuit.
去频偏和去CP电路1211用于缓解无线传输多径衰落引起的符号间干扰。The de-offset and de-CP circuit 1211 is used to mitigate inter-symbol interference caused by wireless transmission multipath fading.
FFT和用户分离电路1212用于进行时频域变换,分离得到频域信息。The FFT and user separation circuit 1212 is used to perform time-frequency domain transformation, and obtain frequency domain information by separation.
信道估计电路1213用于估计信道的时域或频域响应,以对接收到的数据进行校正和恢复。The channel estimation circuit 1213 is used for estimating the time domain or frequency domain response of the channel to correct and recover the received data.
均衡器1214用于产生与信道相反的特性,用来抵消信道的时变多径传播特性引起的码间干扰。The equalizer 1214 is used to generate the opposite characteristic of the channel to cancel the intersymbol interference caused by the time-varying multipath propagation characteristic of the channel.
IDFT电路1215用于将上行接收的正交频分复用(orthogonal frequency division multiplexing,OFDM)载波信号还原为单载波频分多址(single carrier frequency division multiple access,SC-FDMA)载波信号。The IDFT circuit 1215 is configured to restore the uplink received orthogonal frequency division multiplexing (OFDM) carrier signal to a single carrier frequency division multiple access (SC-FDMA) carrier signal.
信道补偿电路1216用于补偿接收机信道估计等运算引入的误差。The channel compensation circuit 1216 is used for compensating errors introduced by operations such as receiver channel estimation.
解调器1217用于将调制符号中信息还原成比特流信息。The demodulator 1217 is used to restore the information in the modulation symbols into bit stream information.
解扰器1218用于将比特流包含的用户加扰信息去除,得到用户原始比特流。The descrambler 1218 is used to remove the user scramble information contained in the bit stream to obtain the original user bit stream.
共模解码电路122用于对LDPC码进行解码或者对Turbo码进行解码。The common mode decoding circuit 122 is used for decoding LDPC codes or decoding Turbo codes.
如前文所述的,目前,共模解码电路122对LDPC码进行解码过程和对Turbo码进行解码过程在硬件实现上是相互独立的,浪费了资源。因此,为了对这两种处理过程进行资源复用,在一种实施方式中,可以根据Turbo码在低并行度下的二次多项式置换(quadratic polynomial permutation,QPP)交织中交织地址的循环移位规律,用存储器、加法器、LDPC码解码过程中采用的循环移位器,代替Turbo码解码过程中采用的QPP交织器。存储器中可以预先存储Turbo交织序列的基序列、Turbo偏移值和Turbo循环移位值,循环移位器输入Turbo交织序列的基序列和Turbo循环移位值并进行循环移位得到各列Turbo交织序列的交织位置,加法器输入各列Turbo交织序列的交织位置以及Turbo偏移值,输出Turbo交织序列。以此通过LDPC码和Turbo码复用资源来提高资源利用率。As mentioned above, currently, the process of decoding the LDPC code by the common-mode decoding circuit 122 and the process of decoding the Turbo code are independent of each other in terms of hardware implementation, which wastes resources. Therefore, in order to perform resource multiplexing for these two processing procedures, in one embodiment, the cyclic shift of the interleaving address in the quadratic polynomial permutation (QPP) interleaving of the Turbo code under low parallelism can be performed. As a rule, the memory, the adder, and the cyclic shifter used in the LDPC code decoding process are used to replace the QPP interleaver used in the Turbo code decoding process. The base sequence, Turbo offset value and Turbo cyclic shift value of the Turbo interleaving sequence can be pre-stored in the memory. The cyclic shifter inputs the base sequence and Turbo cyclic shift value of the Turbo interleaving sequence and performs cyclic shifting to obtain each column of Turbo interleaving. For the interleaving position of the sequence, the adder inputs the interleaving position and Turbo offset value of each column of Turbo interleaving sequences, and outputs the Turbo interleaving sequence. In this way, resource utilization is improved by multiplexing resources with LDPC codes and Turbo codes.
关于,Turbo交织序列的基序列、Turbo循环移位值和Turbo偏移值后文会进行描述。Regarding, the base sequence, the turbo cyclic shift value and the turbo offset value of the turbo interleaved sequence will be described later.
原来通过QPP交织器计算得到Turbo交织序列的公式如下:The original formula for calculating the Turbo interleaved sequence through the QPP interleaver is as follows:
f(x)=(f 2x 2+f 1x)modK           公式1 f(x)=(f 2 x 2 +f 1 x)modK Equation 1
其中,K表示Turbo码的码长,即Turbo交织序列中值的个数。x表示交织前位置,取值范围为K个自然数(例如0、1、2、3……K-1)。f 1和f 2为系数,根据协议其取值与K相对应。f(x)表示输出的Turbo交织序列。 Among them, K represents the code length of the Turbo code, that is, the number of values in the Turbo interleaved sequence. x represents the position before interleaving, and the value range is K natural numbers (for example, 0, 1, 2, 3... K-1). f 1 and f 2 are coefficients, and their values correspond to K according to the protocol. f(x) represents the output turbo interleaved sequence.
下面结合图3,说明如何通过Turbo交织序列反推出Turbo交织序列的基序列、Turbo循环移位值和Turbo偏移值:In the following, in conjunction with Fig. 3, it is explained how to deduce the base sequence, Turbo cyclic shift value and Turbo offset value of the Turbo interleaved sequence through the Turbo interleaved sequence:
示例性的,假设Turbo码的码长K=6144,根据公式1得到有K个值的Turbo交织序列f(x),并按照并行度W=4将Turbo交织序列分成四段,每段Turbo交织序列的长度L=K/W=1536,得到如表1所示的4*L矩阵图案。其中,公式1的f 2=480,f 1=343,第一段Turbo交织序列对应于x取值0-1535,第二段Turbo交织序列对应于x取值1536-3071,第三段Turbo交织序列对应于x取值3072-4607,第四段Turbo交织序列对应于x取值4608-6143。其中,并行度指同时可以处理的数据的数量。 Exemplarily, assuming that the code length of the Turbo code is K=6144, a Turbo interleaving sequence f(x) with K values is obtained according to formula 1, and the Turbo interleaving sequence is divided into four segments according to the parallelism W=4, and each segment of Turbo interleaving is interleaved. The length of the sequence is L=K/W=1536, resulting in a 4*L matrix pattern as shown in Table 1. Among them, f 2 =480 and f 1 =343 in formula 1, the first section of turbo interleaving sequence corresponds to x value of 0-1535, the second section of turbo interleaving sequence corresponds to x value of 1536-3071, and the third section of turbo interleaving sequence corresponds to x value of 1536-3071 The sequence corresponds to x values of 3072-4607, and the fourth segment of the turbo interleaved sequence corresponds to x values of 4608-6143. Among them, the degree of parallelism refers to the amount of data that can be processed at the same time.
表1Table 1
   00 11 22 33 44 55 66 77 15341534 15351535
第一段 first paragraph 00 743743 24462446 51095109 25882588 10271027 426426 785785 60026002 48254825
第二段second paragraph 46084608 53515351 910910 35733573 10521052 56355635 50345034 53935393 44664466 32893289
第三段third paragraph 30723072 38153815 55185518 20372037 56605660 40994099 34983498 38573857 29302930 17531753
第四段 fourth paragraph 15361536 22792279 39823982 501501 41244124 25632563 19621962 23212321 13941394 217217
将表1的所有值对L取模,得到如表2所示的Turbo偏移值(OFFSET)。从中可以看出,同一列Turbo交织序列的Turbo偏移值相同,即各段Turbo交织序列中相同位置的值在交织后,在本段Turbo交织序列中的相对位置仍相同。All the values in Table 1 are modulo L to get the Turbo offset value (OFFSET) shown in Table 2. It can be seen from this that the Turbo offset values of the same column of Turbo interleaved sequences are the same, that is, the values at the same position in each segment of the Turbo interleaved sequence are still at the same relative position in this segment of the Turbo interleaved sequence after interleaving.
表2Table 2
   00 11 22 33 44 55 66 77 15341534 15351535
第一段 first paragraph 00 743743 910910 501501 10521052 10271027 426426 785785 13941394 217217
第二段 second paragraph 00 743743 910910 501501 10521052 10271027 426426 785785 13941394 217217
第三段 third paragraph 00 743743 910910 501501 10521052 10271027 426426 785785 13941394 217217
第四段 fourth paragraph 00 743743 910910 501501 10521052 10271027 426426 785785 13941394 217217
将表1的Turbo交织序列的所有值对L求商,得到如表3所示的交织位置(PHI值),交织位置指同一列值的交换序号。从中可以看出,各列Turbo交织序列的交织位置之间存在循环移位的关系,即都可通过首列Turbo交织序列的交织位置加上某一Turbo循环移位值推导得到,例如,第一列是0、3、2、1,第二列是第一列加上Turbo循环移位值0得到的0、3、2、1,第三列是第一列加上Turbo循环移位值3(向上循环移位3)得到的1、0、3、2,依此类推。All values of the Turbo interleaving sequence in Table 1 are quotient to L to obtain the interleaving position (PHI value) shown in Table 3, where the interleaving position refers to the exchange sequence number of the same column value. It can be seen from this that there is a cyclic shift relationship between the interleaving positions of each column of Turbo interleaving sequences, that is, they can be derived by adding a certain Turbo cyclic shift value to the interleaving position of the first column of Turbo interleaving sequences. The columns are 0, 3, 2, 1, the second column is 0, 3, 2, 1 from the first column plus a turbo cyclic shift value of 0, and the third column is the first column plus a turbo cyclic shift value of 3 (rotate up by 3) to get 1, 0, 3, 2, and so on.
表3table 3
   00 11 22 33 44 55 66 77 15341534 15351535
第一段 first paragraph 00 00 11 33 11 00 00 00 33 33
第二段second paragraph 33 33 00 22 00 33 33 33 22 22
第三段 third paragraph 22 22 33 11 33 22 22 22 11 11
第四段 fourth paragraph 11 11 22 00 22 11 11 11 00 00
原Turbo交织序列中任一值都可以通过=PHI*L+OFFSET得到,即“交织位置*每段Turbo交织序列的长度L+Turbo偏移值”。由于各列Turbo交织序列的交织位置之间存在循环移位的关系,所以只要存储第一列Turbo交织序列的交织位置,以及,其他各列Turbo交织序列的交织位置相对于第一列Turbo交织序列的交织位置的Turbo循环移位值,即可得到任一列Turbo交织序列的交织位置。再结合第一段Turbo交织序列的Turbo偏移值,便可推导出Turbo交织序列的任一值,而不必存储所有交织序列,因此降低了资源开销。所以可以将第一列Turbo交织序列的交织位置称为Turbo交织序列的基序列。Any value in the original Turbo interleaving sequence can be obtained by =PHI*L+OFFSET, that is, "interleaving position*length of each Turbo interleaving sequence L+Turbo offset value". Since there is a cyclic shift relationship between the interleaving positions of the turbo interleaving sequences in each column, only the interleaving positions of the turbo interleaving sequences in the first column and the interleaving positions of the turbo interleaving sequences in the other columns are stored relative to the turbo interleaving sequences in the first column. The Turbo cyclic shift value of the interleaving position of , the interleaving position of any column of Turbo interleaving sequences can be obtained. Combined with the Turbo offset value of the first Turbo interleaving sequence, any value of the Turbo interleaving sequence can be derived without storing all the interleaving sequences, thus reducing resource overhead. Therefore, the interleaving position of the first column of the turbo interleaving sequence can be called the base sequence of the turbo interleaving sequence.
基于上述原理,本申请实施例提供了如图4所示的共模解码电路,可以实现Turbo码的解码以及LDPC码的解码。该共模解码电路包括多个选择器41、循环移位器42、加法器43、交织/解交织器44、存储器(例如只读存储器(read-only memory,ROM))45和译码电路46。Based on the above principles, the embodiments of the present application provide a common-mode decoding circuit as shown in FIG. 4 , which can implement the decoding of Turbo codes and the decoding of LDPC codes. The common mode decoding circuit includes a plurality of selectors 41 , a cyclic shifter 42 , an adder 43 , an interleaver/deinterleaver 44 , a memory (eg read-only memory (ROM)) 45 and a decoding circuit 46 .
其中,选择器41用于从两个输入中选择一个输出。Among them, the selector 41 is used to select one output from two inputs.
在LDPC模式(选择器41切换至状态“1”)下,循环移位器42选择性地输入LDPC后验数据(也称LDPC后验信息或LDPC待解码数据),并从存储器45中读取LDPC循环移位值来进行循环移位以输出LDPC数据(也称路由后验信息),译码电路46对LDPC数据进行译码以输出解码结果(也称解码后的LDPC码)。In LDPC mode (selector 41 is switched to state "1"), cyclic shifter 42 selectively inputs LDPC a posteriori data (also called LDPC a posteriori information or LDPC data to be decoded), and reads from memory 45 The LDPC cyclic shift value is cyclically shifted to output LDPC data (also called routing a posteriori information), and the decoding circuit 46 decodes the LDPC data to output a decoded result (also called decoded LDPC code).
在Turbo模式(选择器41切换至状态“0”)下,循环移位器42输入从存储器45中读取Turbo交织序列的基序列、Turbo循环移位值来进行循环移位,并向加法器43输出Turbo交织序列的交织位置,加法器43还从存储器45中读取Turbo偏移值,根据前文所述的公式“交织位置*每段Turbo交织序列的长度L+Turbo偏移值”向交织/解交织器44输出Turbo交织序列,交织/解交织器44另外输入Turbo后验数据(也称Turbo待解码数据),经过交织/解交织器24进行交织和解交织处理后输出Turbo数据(也称路由后验信息),译码电路46对Turbo数据进行译码以输出解码结果(也称解 码后的Turbo码)。In the turbo mode (the selector 41 is switched to the state "0"), the cyclic shifter 42 inputs the base sequence of the turbo interleaved sequence read from the memory 45, the turbo cyclic shift value for cyclic shifting, and sends them to the adder 43 outputs the interleaving position of the Turbo interleaving sequence, and the adder 43 also reads the Turbo offset value from the memory 45, according to the aforementioned formula "interleaving position * length L+Turbo offset value of each Turbo interleaving sequence" to the interleaving value. The interleaver/deinterleaver 44 outputs the Turbo interleaved sequence, and the interleaver/deinterleaver 44 additionally inputs Turbo a posteriori data (also referred to as Turbo data to be decoded), and outputs Turbo data (also referred to as Turbo data to be decoded) after interleaving and deinterleaving processing by the interleaver/deinterleaver 24 routing a posteriori information), the decoding circuit 46 decodes the turbo data to output a decoded result (also called a decoded turbo code).
上述共模解码电路仅适用于低并行度(分段数少)的Turbo码,对于高并行度(例如并行度为8或16等),并非所有码长的Turbo交织序列的交织位置都具备循环移位特性,导致不可复用LDPC码解码过程中采用的循环移位器,缺乏普适性。The above common-mode decoding circuit is only suitable for Turbo codes with low parallelism (small number of segments). Due to the shift characteristics, the cyclic shifter used in the decoding process of the non-reusable LDPC code lacks universality.
示例性的,假设Turbo码的码长K=6080,根据公式1得到Turbo交织序列f(x),并按照并行度W=8将Turbo交织序列分成八段,每段Turbo交织序列的长度L=K/W=760,得到如表4所示的8*L矩阵图案。其中,公式1的f 2=190,f 1=47,第一段Turbo交织序列对应于x取值0-759,第二段Turbo交织序列对应于x取值760-1519,第三段Turbo交织序列对应于x取值1520-2279,第四段Turbo交织序列对应于x取值2280-3039,第五段Turbo交织序列对应于x取值3040-3799,第六段Turbo交织序列对应于x取值3800-4559,第七段Turbo交织序列对应于x取值4560-5319,第八段Turbo交织序列对应于x取值5320-6079。 Exemplarily, assuming that the code length of the Turbo code is K=6080, the Turbo interleaving sequence f(x) is obtained according to formula 1, and the Turbo interleaving sequence is divided into eight segments according to the degree of parallelism W=8, and the length of each segment of the Turbo interleaving sequence is L= K/W=760, an 8*L matrix pattern as shown in Table 4 is obtained. Among them, f 2 =190, f 1 =47 in formula 1, the first stage of Turbo interleaving sequence corresponds to x value of 0-759, the second stage of Turbo interleaving sequence corresponds to x value of 760-1519, the third stage of Turbo interleaving sequence The sequence corresponds to the x value of 1520-2279, the fourth segment of the Turbo interleaved sequence corresponds to the x value of 2280-3039, the fifth segment of the Turbo interleaved sequence corresponds to the x value of 3040-3799, and the sixth segment of the Turbo interleaved sequence corresponds to the x value of 3040-3799. The value is 3800-4559, the seventh segment of the turbo interleaved sequence corresponds to the x value of 4560-5319, and the eighth segment of the turbo interleaved sequence corresponds to the x value of 5320-6079.
表4Table 4
   00 11 22 33 44 55 66 77 758758 759759
第一段 first paragraph 00 237237 854854 18511851 32283228 49854985 10421042 35593559 59865986 24232423
第二段second paragraph 53205320 25172517 9494 41314131 24682468 11851185 282282 58395839 52265226 47034703
第三段third paragraph 45604560 47974797 54145414 331331 17081708 34653465 56025602 20392039 44664466 903903
第四段fourth paragraph 38003800 997997 46544654 26112611 648648 57455745 48424842 43194319 37063706 31833183
第五段fifth paragraph 30403040 32773277 38943894 48914891 188188 19451945 40824082 519519 29462946 54635463
第六段sixth paragraph 22802280 55575557 31343134 10911091 55085508 42254225 33223322 27992799 21862186 16631663
第七段paragraph 7 15201520 17571757 23742374 33713371 47484748 425425 25622562 50795079 14261426 39433943
第八段eighth paragraph 760760 40374037 16141614 56515651 39883988 27052705 18021802 12791279 666666 143143
将表4的Turbo交织序列的所有值对L求商,得到如表5所示的交织位置(PHI值)。从中可以看出,各列Turbo交织序列的交织位置之间不存在循环移位的关系,即不可以通过首列Turbo交织序列的交织位置加上Turbo移位值推导得到。All the values of the Turbo interleaving sequence in Table 4 are quotient to L to obtain the interleaving positions (PHI values) shown in Table 5. It can be seen from this that there is no cyclic shift relationship between the interleaving positions of each column of Turbo interleaving sequences, that is, it cannot be derived by adding the Turbo shift value to the interleaving positions of the first column of Turbo interleaving sequences.
表5table 5
   00 11 22 33 44 55 66 77 758758 759759
第一段 first paragraph 00 00 11 22 44 66 11 44 77 33
第二段second paragraph 77 33 00 55 33 11 00 77 66 66
第三段third paragraph 66 66 77 00 22 44 77 22 55 11
第四段 fourth paragraph 55 11 66 33 11 77 66 55 44 44
第五段fifth paragraph 44 44 55 66 00 22 55 00 33 77
第六段sixth paragraph 33 77 44 11 77 55 44 33 22 22
第七段paragraph 7 22 22 33 44 66 00 33 66 11 55
第八段 eighth paragraph 11 55 22 77 55 33 22 11 00 00
并且更高并行度的Turbo交织序列,交织位置不满足循环移位关系的码长数目越多,表6示出了并行度为12时满足循环移位关系的交织位置对应的码长,其余码长的交织位置皆不满足循环移位关系。And the Turbo interleaving sequence with higher parallelism, the more the number of code lengths whose interleaving positions do not satisfy the cyclic shift relationship, Table 6 shows the code lengths corresponding to the interleaving positions that satisfy the cyclic shift relationship when the parallelism is 12, and the remaining codes None of the long interleaving positions satisfy the cyclic shift relationship.
表6Table 6
Figure PCTCN2021077984-appb-000001
Figure PCTCN2021077984-appb-000001
另外,各码长的Turbo交织序列的基序列也不相同,且并行度越高,Turbo交织序列的基序列个数越多。通过存储器提前存储同一码长的所有Turbo交织序列的基序列,使用时通过选择器选择其中一个Turbo交织序列的基序列,资源开销较大;而如果直接通过公式1计算Turbo交织序列,运算复杂度高。In addition, the base sequences of the turbo interleaving sequences of different code lengths are also different, and the higher the degree of parallelism, the greater the number of base sequences of the turbo interleaving sequences. The base sequences of all Turbo interleaving sequences of the same code length are stored in advance through the memory, and the base sequence of one of the Turbo interleaving sequences is selected by the selector during use, which has a large resource overhead; and if the Turbo interleaving sequence is directly calculated by formula 1, the computational complexity high.
虽然上述表5示例中Turbo交织序列相邻两列的交织位置之间不存在循环移位的关系,但是可以看出,位于奇数列的交织位置之间存在循环移位的关系,位于偶数列的交织位置之间也存在循环移位的关系。例如,表5第一列是0、7、6、5、4、3、2、1,第三列是第一列加上Turbo循环移位值7(向上循环移位7)得到的1、0、7、6、5、4、3、2,依此类推。同样地,表5第二列是0、3、6、1、4、7、2、5,第四列是第二列加上Turbo循环移位值6(向上循环移位6)得到的2、5、0、3、6、1、4、7,依此类推。Although there is no cyclic shift relationship between the interleaving positions of the two adjacent columns of the turbo interleaving sequence in the example of Table 5 above, it can be seen that there is a cyclic shift relationship between the interleaving positions located in the odd-numbered columns, and the interleaving positions located in the even-numbered columns have a cyclic shift relationship. There is also a cyclic shift relationship between the interleaving positions. For example, the first column of Table 5 is 0, 7, 6, 5, 4, 3, 2, 1, and the third column is 1, which is obtained by adding the turbo cyclic shift value of 7 (upward cyclic shift by 7) to the first column. 0, 7, 6, 5, 4, 3, 2, and so on. Similarly, the second column of Table 5 is 0, 3, 6, 1, 4, 7, 2, 5, and the fourth column is the second column plus the turbo cyclic shift value of 6 (upward cyclic shift of 6) to get 2 , 5, 0, 3, 6, 1, 4, 7, and so on.
因此,本申请实施例的共模解码电路中将形成矩阵图案的Turbo交织序列分成奇数列和偶数列,并分别计算奇数列或偶数列的Turbo偏移值、交织位置,并通过循环移位器和加法器分别针对奇数列或偶数列还原原来的Turbo交织序列。Therefore, in the common-mode decoding circuit of the embodiment of the present application, the Turbo interleaving sequence forming the matrix pattern is divided into odd-numbered columns and even-numbered columns, and the turbo offset value and interleaving position of the odd-numbered or even-numbered columns are calculated respectively, and the Turbo offset value and the interleaving position of the odd-numbered or even-numbered columns are calculated respectively. And the adder restores the original Turbo interleaved sequence for odd or even columns, respectively.
如图5所示,该共模解码电路包括循环移位网络51、交织/解交织电路52、译码电路53、参数生成器54、第一寻位器55、第二寻位器56以及多个选择器57。As shown in FIG. 5 , the common mode decoding circuit includes a cyclic shift network 51, an interleaving/deinterleaving circuit 52, a decoding circuit 53, a parameter generator 54, a first locator 55, a second locator 56 and multiple selector 57.
其中,选择器57是可选的,用于从两个输入中选择一个输出。Among them, the selector 57 is optional and is used to select one output from the two inputs.
循环移位网络51包括第一循环移位器511、第二循环移位器512、第一加法器513和第二加法器514。交织/解交织电路52包括第一交织/解交织器521和第二交织/解交织器522。The cyclic shift network 51 includes a first cyclic shifter 511 , a second cyclic shifter 512 , a first adder 513 and a second adder 514 . The interleaving/deinterleaving circuit 52 includes a first interleaving/deinterleaving unit 521 and a second interleaving/deinterleaving unit 522 .
该共模解码电路用于执行图6所示的解码方法,下面结合图6来说明上述各模块的功能。The common-mode decoding circuit is used to implement the decoding method shown in FIG. 6 , and the functions of the above modules will be described below with reference to FIG. 6 .
如图6所示,该解码方法包括步骤S601-S603:As shown in Figure 6, the decoding method includes steps S601-S603:
S601、循环移位网络51选择性地接收LDPC译码信息并进行循环移位计算以输出LDPC数据,或者,接收Turbo译码信息并进行循环移位计算以输出Turbo交织序列。S601. The cyclic shift network 51 selectively receives LDPC decoding information and performs cyclic shift calculation to output LDPC data, or receives Turbo decoding information and performs cyclic shift calculation to output a Turbo interleaved sequence.
在LDPC模式(选择器57切换至状态“1”)下,循环移位网络51选择性地接收LDPC译码信息并进行循环移位计算以输出LDPC数据。LDPC译码信息包括:LDPC后验数据和LDPC循环移位值。LDPC后验数据即为LDPC待解码数据,LDPC循环移 位值由协议确定,可以存储在存储器中。In LDPC mode (selector 57 switches to state "1"), cyclic shift network 51 selectively receives LDPC decoding information and performs cyclic shift calculations to output LDPC data. The LDPC decoding information includes: LDPC posterior data and LDPC cyclic shift value. The LDPC posterior data is the LDPC data to be decoded, and the LDPC cyclic shift value is determined by the protocol and can be stored in the memory.
其中,当循环移位网络51接收LDPC译码信息时,第一循环移位器511输入奇数的LDPC后验数据和对应的LDPC循环移位值并进行循环移位计算,以输出奇数的LDPC数据。第二循环移位器512输入偶数的LDPC后验数据和对应的LDPC循环移位值并进行循环移位计算,以输出偶数的LDPC数据。Wherein, when the cyclic shift network 51 receives the LDPC decoding information, the first cyclic shifter 511 inputs odd LDPC posterior data and corresponding LDPC cyclic shift values and performs cyclic shift calculation to output odd LDPC data . The second cyclic shifter 512 inputs even-numbered LDPC posterior data and corresponding LDPC cyclic shift values and performs cyclic shift calculation to output even-numbered LDPC data.
在Turbo模式(选择器57切换至状态“0”)下,循环移位网络51选择性地接收Turbo译码信息并进行循环移位计算以输出Turbo交织序列。Turbo译码信息包括:Turbo交织序列的奇数列和偶数列分别对应的基序列、Turbo循环移位值和Turbo偏移值。In turbo mode (selector 57 switches to state "0"), cyclic shift network 51 selectively receives turbo decoded information and performs cyclic shift calculations to output a turbo interleaved sequence. The turbo decoding information includes: a base sequence, a turbo cyclic shift value and a turbo offset value corresponding to the odd-numbered columns and the even-numbered columns of the turbo interleaving sequence, respectively.
首先结合图7说明如何得到基序列、Turbo循环移位值、Turbo偏移值。First, how to obtain the base sequence, the turbo cyclic shift value, and the turbo offset value will be described with reference to FIG. 7 .
S701、参数生成器54计算W行L列的Turbo交织序列中的一行、一个偶数列和一个奇数列的值。S701. The parameter generator 54 calculates the values of one row, one even column and one odd column in the turbo interleaving sequence of W rows and L columns.
首先结合表7-表19说明如何获取W行L列的Turbo交织序列:First, combine Table 7-Table 19 to illustrate how to obtain the Turbo interleaving sequence of W rows and L columns:
假设Turbo交织序列的码长K为M*W*L*2^n,其中,L、W为正整数,且L为2的倍数;M、n为正整数。也就是说,通过公式1计算Turbo交织序列时,输入的参数K=M*W*L*2^n。It is assumed that the code length K of the Turbo interleaving sequence is M*W*L*2^n, where L and W are positive integers, and L is a multiple of 2; M and n are positive integers. That is to say, when calculating the Turbo interleaving sequence by formula 1, the input parameter K=M*W*L*2^n.
当Turbo交织序列以W行M*L*2^n列矩阵图案的形式表示时,可以采用二分法将W行M*L*2^n列的Turbo交织序列不断按列拆分直至得到W行L列的Turbo交织序列。When the Turbo interleaving sequence is represented in the form of a matrix pattern of W rows and M*L*2^n columns, the Turbo interleaving sequence of W rows and M*L*2^n columns can be split continuously by column by using the dichotomy method until W rows are obtained. Turbo interleaved sequence of L columns.
在一种可能的实施方式中,可以对W行M*L*2^n列的Turbo交织序列按照奇偶列拆分得到W行L列的Turbo交织序列。In a possible implementation manner, a turbo interleaving sequence of W rows and L columns may be obtained by splitting the Turbo interleaving sequence of W rows and M*L*2^n columns according to parity columns.
示例性的,假设Turbo码的码长K=6080,根据公式1得到Turbo交织序列f(x),并按照并行度W=4将Turbo交织序列分成四段,每段Turbo交织序列的长度K/W=1520,得到如表7所示的4*1520矩阵图案。假设M=1,n=2,则有L=380。其中,公式1的f 2=190,f 1=47,第一段Turbo交织序列对应于x取值0-1519,第二段Turbo交织序列对应于x取值1520-3039,第三段Turbo交织序列对应于x取值3040-4559,第四段Turbo交织序列对应于x取值4560-6079。 Exemplarily, assuming that the code length of the Turbo code is K=6080, the Turbo interleaving sequence f(x) is obtained according to formula 1, and the Turbo interleaving sequence is divided into four segments according to the degree of parallelism W=4, and the length of each segment of the Turbo interleaving sequence is K/ W=1520, a 4*1520 matrix pattern as shown in Table 7 is obtained. Assuming M=1 and n=2, there are L=380. Among them, f 2 =190 and f 1 =47 in formula 1, the first section of Turbo interleaving sequence corresponds to x value of 0-1519, the second section of Turbo interleaving sequence corresponds to x value of 1520-3039, and the third section of Turbo interleaving sequence The sequence corresponds to x values of 3040-4559, and the fourth segment of the Turbo interleaved sequence corresponds to x values of 4560-6079.
表7Table 7
   00 11 22 33 44 55 66 77 15181518 15191519
第一段 first paragraph 00 237237 854854 18511851 32283228 49854985 10421042 35593559 52265226 47034703
第二段second paragraph 45604560 47974797 54145414 331331 17081708 34653465 56025602 20392039 37063706 31833183
第三段third paragraph 30403040 32773277 38943894 48914891 188188 19451945 40824082 519519 21862186 16631663
第四段fourth paragraph 15201520 17571757 23742374 33713371 47484748 425425 25622562 50795079 666666 143143
对表7所示的4行1520列的Turbo交织序列按照奇偶列拆分得到两个4行760列的Turbo交织序列,其中,奇数列对应的4行760列的Turbo交织序列如表8所示,偶数列对应的4行760列的Turbo交织序列如表9所示。The Turbo interleaved sequence of 4 rows and 1520 columns shown in Table 7 is split according to the odd and even columns to obtain two Turbo interleaved sequences of 4 rows and 760 columns, wherein the Turbo interleaved sequences of 4 rows and 760 columns corresponding to the odd columns are shown in Table 8 , the turbo interleaving sequence of 4 rows and 760 columns corresponding to the even columns is shown in Table 9.
表8Table 8
   00 22 44 66 15181518
第一段 first paragraph 00 854854 32283228 10421042 52265226
第二段second paragraph 45604560 54145414 17081708 56025602 37063706
第三段third paragraph 30403040 38943894 188188 40824082 21862186
第四段fourth paragraph 15201520 23742374 47484748 25622562 666666
表9Table 9
   11 33 55 77 15191519
第一段first paragraph 237237 18511851 49854985 35593559 47034703
第二段second paragraph 47974797 331331 34653465 20392039 31833183
第三段third paragraph 32773277 48914891 19451945 519519 16631663
第四段fourth paragraph 17571757 33713371 425425 50795079 143143
对表8所示的4行760列的Turbo交织序列按照奇偶列拆分得到两个4行380列的Turbo交织序列,其中,奇数列对应的4行380列的Turbo交织序列如表10所示,偶数列对应的4行380列的Turbo交织序列如表11所示。The Turbo interleaved sequence of 4 rows and 760 columns shown in Table 8 is split according to the odd and even columns to obtain two Turbo interleaved sequences of 4 rows and 380 columns, wherein the Turbo interleaved sequences of 4 rows and 380 columns corresponding to the odd columns are shown in Table 10 , the turbo interleaving sequence of 4 rows and 380 columns corresponding to the even columns is shown in Table 11.
表10Table 10
   00 44 15161516
第一段 first paragraph 00 32283228 13321332
第二段second paragraph 45604560 17081708 58925892
第三段third paragraph 30403040 188188 43724372
第四段fourth paragraph 15201520 47484748 28522852
表11Table 11
   22 66 15181518
第一段first paragraph 854854 10421042 52265226
第二段second paragraph 54145414 56025602 37063706
第三段third paragraph 38943894 40824082 21862186
第四段fourth paragraph 23742374 25622562 666666
对表9所示的4行760列的Turbo交织序列按照奇偶列拆分得到两个4行380列的Turbo交织序列,其中,奇数列对应的4行380列的Turbo交织序列如表12所示,偶数列对应的4行380列的Turbo交织序列如表13所示。The Turbo interleaved sequence of 4 rows and 760 columns shown in Table 9 is split according to the odd and even columns to obtain two Turbo interleaved sequences of 4 rows and 380 columns, wherein the Turbo interleaved sequences of 4 rows and 380 columns corresponding to the odd columns are shown in Table 12 , the turbo interleaving sequence of 4 rows and 380 columns corresponding to the even columns is shown in Table 13.
表12Table 12
   11 55 15171517
第一段first paragraph 237237 49854985 4949
第二段second paragraph 47974797 34653465 46094609
第三段third paragraph 32773277 19451945 30893089
第四段fourth paragraph 17571757 425425 15691569
表13Table 13
   33 77 15191519
第一段first paragraph 18511851 35593559 47034703
第二段second paragraph 331331 20392039 31833183
第三段third paragraph 48914891 519519 16631663
第四段fourth paragraph 33713371 50795079 143143
则W行L列的Turbo交织序列可以是表10-表13所示的任一Turbo交织序列。Then the Turbo interleaving sequence of W rows and L columns can be any of the Turbo interleaving sequences shown in Table 10-Table 13.
在另一种可能的实施方式中,可以对W行M*L*2^n列的Turbo交织序列按列对半拆分得到W行L列的Turbo交织序列。In another possible implementation manner, the Turbo interleaving sequence of W rows and M*L*2^n columns may be split in half by column to obtain the Turbo interleaving sequence of W rows and L columns.
示例性的,仍以表7所示的4行1520列Turbo交织序列为例进行说明。对其按列对半拆分得到两个4行760列的Turbo交织序列,其中,前一半4行760列的Turbo交织序列如表14所示,后一半4行760列的Turbo交织序列如表15所示。Exemplarily, the Turbo interleaving sequence of 4 rows and 1520 columns shown in Table 7 is still used as an example for description. Split it in half by column to obtain two Turbo interleaving sequences of 4 rows and 760 columns. Among them, the Turbo interleaving sequence of the first half of 4 rows and 760 columns is shown in Table 14, and the Turbo interleaved sequence of the second half of 4 rows and 760 columns is shown in Table 1. 15 shown.
表14Table 14
   00 11 759759
第一段 first paragraph 00 237237 24232423
第二段second paragraph 45604560 47974797 903903
第三段third paragraph 30403040 32773277 54635463
第四段fourth paragraph 15201520 17571757 39433943
表15Table 15
   760760 761761 15191519
第一段first paragraph 53205320 25172517 47034703
第二段second paragraph 38003800 997997 31833183
第三段third paragraph 22802280 55575557 16631663
第四段fourth paragraph 760760 40374037 143143
对表14所示的4行760列的Turbo交织序列按列对半拆分得到两个4行380列的Turbo交织序列,其中,前一半4行380列的Turbo交织序列如表16所示,后一半4行380列的Turbo交织序列如表17所示。The Turbo interleaved sequence of 4 rows and 760 columns shown in Table 14 is split in half by column to obtain two Turbo interleaved sequences of 4 rows and 380 columns, wherein the first half of the Turbo interleaved sequences of 4 rows and 380 columns are shown in Table 16, The Turbo interleaving sequence of the second half with 4 rows and 380 columns is shown in Table 17.
表16Table 16
   00 11 379379
第一段 first paragraph 00 237237 43234323
第二段second paragraph 45604560 47974797 28032803
第三段third paragraph 30403040 32773277 12831283
第四段fourth paragraph 15201520 17571757 58435843
表17Table 17
   380380 381381 759759
第一段first paragraph 26602660 13771377 24232423
第二段second paragraph 11401140 59375937 903903
第三段third paragraph 57005700 44174417 54635463
第四段fourth paragraph 41804180 28972897 39433943
对表15所示的4行760列的Turbo交织序列按列对半拆分得到两个4行380列的Turbo交织序列,其中,前一半4行380列的Turbo交织序列如表18所示,后一半4行380列的Turbo交织序列如表19所示。The Turbo interleaved sequence of 4 rows and 760 columns shown in Table 15 is split in half to obtain two Turbo interleaved sequences of 4 rows and 380 columns, wherein the first half of the Turbo interleaved sequences of 4 rows and 380 columns are shown in Table 18, The Turbo interleaving sequence of 4 rows and 380 columns in the second half is shown in Table 19.
表18Table 18
   760760 761761 11391139
第一段first paragraph 53205320 25172517 523523
第二段second paragraph 38003800 997997 50835083
第三段third paragraph 22802280 55575557 35633563
第四段fourth paragraph 760760 40374037 20432043
表19Table 19
   11401140 11411141 15191519
第一段first paragraph 19001900 36573657 47034703
第二段second paragraph 380380 21372137 31833183
第三段third paragraph 49404940 617617 16631663
第四段fourth paragraph 34203420 51775177 143143
则W行L列的Turbo交织序列可以是表16-表19所示的任一Turbo交织序列。Then the Turbo interleaving sequence of W rows and L columns can be any of the Turbo interleaving sequences shown in Table 16-Table 19.
如前面针对表5所描述的,虽然Turbo交织序列相邻两列的交织位置之间不存在循环移位的关系,但是位于奇数列的交织位置之间存在循环移位的关系,位于偶数列的交织位置之间也存在循环移位的关系。As described above for Table 5, although there is no cyclic shift relationship between the interleaving positions of the two adjacent columns of the turbo interleaving sequence, there is a cyclic shift relationship between the interleaving positions located in the odd-numbered columns. There is also a cyclic shift relationship between the interleaving positions.
因此本申请实施例中,将W行L列的Turbo交织序列按奇偶列划分,则包括L/2个偶数列和L/2个奇数列,即将W行L列的Turbo交织序列按奇数列和偶数列分别处理。Therefore, in the embodiment of the present application, the Turbo interleaving sequence of W rows and L columns is divided into odd and even columns, which includes L/2 even columns and L/2 odd columns, that is, the Turbo interleaving sequence of W rows and L columns is divided into odd columns and L/2 odd columns. Even columns are treated separately.
示例性的,仍以表4所示的Turbo交织序列为例,W=8,L=760,其Turbo交织序列的奇数列如表20所示,Turbo交织序列的偶数列如表21所示。Exemplarily, still taking the Turbo interleaving sequence shown in Table 4 as an example, W=8, L=760, the odd-numbered columns of the Turbo interleaving sequence are shown in Table 20, and the even-numbered columns of the Turbo interleaving sequence are shown in Table 21.
表20Table 20
   00 22 44 66 758758
第一段 first paragraph 00 854854 32283228 10421042 59865986
第二段second paragraph 53205320 9494 24682468 282282 52265226
第三段third paragraph 45604560 54145414 17081708 56025602 44664466
第四段fourth paragraph 38003800 46544654 648648 48424842 37063706
第五段fifth paragraph 30403040 38943894 188188 40824082 29462946
第六段sixth paragraph 22802280 31343134 55085508 33223322 21862186
第七段paragraph 7 15201520 23742374 47484748 25622562 14261426
第八段eighth paragraph 760760 16141614 39883988 18021802 666666
表21Table 21
   11 33 55 77 759759
第一段first paragraph 237237 18511851 49854985 35593559 24232423
第二段second paragraph 25172517 41314131 11851185 58395839 47034703
第三段third paragraph 47974797 331331 34653465 20392039 903903
第四段fourth paragraph 997997 26112611 57455745 43194319 31833183
第五段fifth paragraph 32773277 48914891 19451945 519519 54635463
第六段sixth paragraph 55575557 10911091 42254225 27992799 16631663
第七段paragraph 7 17571757 33713371 425425 50795079 39433943
第八段eighth paragraph 40374037 56515651 27052705 12791279 143143
需要说明的是,在本申请实施例中,参数生成器54并不需要存储或根据公式1计算出表20和表21中所有值,只需要存储或根据公式1计算出表20和表21中一列的值和一行的值(例如表20和表21中加粗的值),则表20和表21中一行的值即为W行L列的Turbo交织序列中的一行的值,表20中一列的值即为W行L列的Turbo交织序列的一个奇数列的值,表21中一列的值即为W行L列的Turbo交织序列的一个偶数列的值。表20和表21中其他值可以通过循环移位器和加法器推导得出,因此可以节省占用的存储资源或者降低计算复杂度。进一步地,甚至只需要存储或根据公式1计算出其中一列的两个值(可以是相邻两个值或不相邻两个值)和一行的值,以进一步节省占用的存储资源或者降低计算复杂度。It should be noted that, in this embodiment of the present application, the parameter generator 54 does not need to store or calculate all the values in Table 20 and Table 21 according to Formula 1, but only needs to store or calculate according to Formula 1 in Table 20 and Table 21 The value of one column and the value of one row (for example, the bolded values in Table 20 and Table 21), then the value of one row in Table 20 and Table 21 is the value of one row in the turbo interleaving sequence of W row and L column, in Table 20 The value of one column is the value of an odd-numbered column of the turbo interleaving sequence of W rows and L columns, and the value of one column in Table 21 is the value of an even-numbered column of the turbo interleaved sequence of W rows and L columns. Other values in Table 20 and Table 21 can be derived by using a cyclic shifter and an adder, thus saving occupied storage resources or reducing computational complexity. Further, it is even only necessary to store or calculate the two values of one column (which can be two adjacent values or non-adjacent two values) and the value of one row according to formula 1, so as to further save the occupied storage resources or reduce the calculation the complexity.
S702、参数生成器54将W行L列的Turbo交织序列的一行的值对L取模得到奇数列对应的Turbo偏移值以及偶数列对应的Turbo偏移值;将一个偶数列的值对L取商得到偶数列对应的基序列,将一个奇数列的值对L取商得到奇数列对应的基序列;将一行的值对L取商得到奇数列对应的移位基准值和偶数列对应的移位基准值。S702, the parameter generator 54 modulates the value of one row of the Turbo interleaving sequence of the W row and L column to L to obtain the turbo offset value corresponding to the odd column and the turbo offset value corresponding to the even column; Take the quotient to get the base sequence corresponding to the even column, take the quotient of the value of an odd column to L to get the base sequence corresponding to the odd column; take the value of a row to L to get the shift reference value corresponding to the odd column and the corresponding to the even column. Shift reference value.
Turbo偏移值表示Turbo交织序列中一行的值在一行中的相对位置。具体的,参数生成器54可以将Turbo交织序列中L/2个奇数列的一行的值对L取模得到奇数列对应的L/2个Turbo偏移值,参数生成器54可以将Turbo交织序列中L/2个偶数列的一行的值对L取模得到偶数列对应的L/2个Turbo偏移值。此时,可以存储或根据公式1计算出W行L列的Turbo交织序列中一行的值,而不必存储或计算出所有值,可以节省占用的存储资源或者降低计算复杂度。The Turbo offset value represents the relative position within a row of the values of a row in the Turbo interleaved sequence. Specifically, the parameter generator 54 may modulo L the values of a row of L/2 odd columns in the turbo interleaving sequence to obtain L/2 turbo offset values corresponding to the odd columns, and the parameter generator 54 may The value of one row of L/2 even-numbered columns is modulo L to obtain L/2 Turbo offset values corresponding to the even-numbered columns. At this time, the values of one row in the Turbo interleaving sequence of W rows and L columns can be stored or calculated according to formula 1, instead of storing or calculating all the values, which can save occupied storage resources or reduce computational complexity.
示例性的,对于奇数列来说,参数生成器54可以对表20中的第一行的值对L(760)取模得到如表22所示的奇数列对应的L/2个Turbo偏移值。对于偶数列来说,参数生成器54可以对表21中的第一行的值对L(760)取模得到如表23所示的偶数列对应的L/2个Turbo偏移值。Exemplarily, for an odd-numbered column, the parameter generator 54 may modulo L(760) on the value of the first row in Table 20 to obtain L/2 turbo offsets corresponding to the odd-numbered column as shown in Table 22. value. For even-numbered columns, the parameter generator 54 may modulo L(760) on the values in the first row in Table 21 to obtain L/2 turbo offset values corresponding to the even-numbered columns as shown in Table 23.
表22Table 22
   00 22 44 66 758758
Turbo偏移值Turbo offset value 00 9494 188188 282282 666666
表23Table 23
   11 33 55 77 759759
Turbo偏移值Turbo offset value 237237 331331 425425 519519 143143
Turbo交织序列的基序列表示Turbo交织序列中一列的值在一列中的相对位置。The base sequence of the turbo interleaved sequence represents the relative position of the values of a column in the turbo interleaved sequence within a column.
具体的,在一种可能的实施方式中,参数生成器54可以将Turbo交织序列中一个奇数列的值对L取商得到一组基序列(有W个值),将Turbo交织序列中一个偶数列的值对L取商得到另一组基序列(有W个值)。此时,可以存储或根据公式1计算出W行L列的Turbo交织序列中一个偶数列和一个奇数列的值,而不必存储或计算出所有值,可以节省占用的存储资源或者降低计算复杂度。Specifically, in a possible implementation manner, the parameter generator 54 may obtain a set of base sequences (with W values) by quoting the value of an odd-numbered column in the turbo interleaving sequence to L, and use an even-numbered sequence in the turbo interleaving sequence to obtain a set of base sequences (with W values). Quoting the values of the columns against L yields another set of basis sequences (with W values). At this time, the values of one even column and one odd column in the turbo interleaving sequence of W rows and L columns can be stored or calculated according to formula 1, instead of storing or calculating all the values, which can save occupied storage resources or reduce computational complexity .
示例性的,对于奇数列来说,参数生成器54可以将表20中的第一列的值对L(760) 取商得到如表24所示的一组基序列。对于为偶数列来说,参数生成器54可以将表20中的第一列的值对L(760)取模得到如表25所示的另一组基序列。Exemplarily, for an odd-numbered column, the parameter generator 54 may obtain a set of base sequences as shown in Table 24 by taking the quotient of the value of the first column in Table 20 against L(760). For even columns, parameter generator 54 may modulo L(760) the values of the first column in Table 20 to obtain another set of basis sequences as shown in Table 25.
表24Table 24
   00
第一段 first paragraph 00
第二段second paragraph 77
第三段third paragraph 66
第四段 fourth paragraph 55
第五段fifth paragraph 44
第六段sixth paragraph 33
第七段paragraph 7 22
第八段 eighth paragraph 11
表25Table 25
   11
第一段 first paragraph 00
第二段second paragraph 33
第三段third paragraph 66
第四段 fourth paragraph 11
第五段fifth paragraph 44
第六段sixth paragraph 77
第七段paragraph 7 22
第八段 eighth paragraph 55
在另一种可能的实施方式中,参数生成器54可以将Turbo交织序列的一个奇数列中的两个值对L取商得到两个基序列,根据这两个基序列(可以相邻或不相邻)的取模(模为W)差值得到同一列中相邻基序列的步进值,再根据相邻基序列的步进值和这两个基序列中的一个基序列得到一组基序列(有W个值)。同理,参数生成器54可以将Turbo交织序列的一个偶数列中的两个值对L取商得到两个基序列,根据这两个基序列(可以相邻或不相邻)的取模(模为W)差值得到同一列中相邻基序列的步进值,再根据相邻基序列的步进值和这两个基序列中的一个基序列(作为基准)得到另一组基序列(有W个值)。此时,可以存储或根据公式1计算出W行L列的Turbo交织序列中一列中两个值以及步进值,而不必存储或计算出所有值,可以节省占用的存储资源或者降低计算复杂度。In another possible implementation, the parameter generator 54 may obtain two base sequences by taking the quotient of two values in an odd-numbered column of the turbo interleaving sequence against L, and according to the two base sequences (which may be adjacent or not Adjacent) of the modulo (modulo W) difference to obtain the step value of the adjacent base sequences in the same column, and then obtain a set of base sequences according to the step value of the adjacent base sequences and one of the two base sequences base sequence (with W values). Similarly, the parameter generator 54 can obtain two base sequences by taking the quotient of two values in an even-numbered column of the Turbo interleaved sequence to L, and according to the modulo ( The modulo is W) difference value to obtain the step value of adjacent base sequences in the same column, and then another group of base sequences is obtained according to the step value of adjacent base sequences and one of the two base sequences (as a benchmark) (with W values). At this time, two values and step values in one column of the turbo interleaving sequence of W rows and L columns can be stored or calculated according to formula 1, instead of storing or calculating all the values, which can save occupied storage resources or reduce computational complexity .
具体公式为(phi_ini+a*step)mod W,其中,phi_ini表示作为基准的一个基序列,step为相邻基序列的步进值,a为待计算的基序列所在行与作为基准的基序列所在行的差值。The specific formula is (phi_ini+a*step) mod W, where phi_ini represents a base sequence as a benchmark, step is the step value of the adjacent base sequence, and a is the row where the base sequence to be calculated is located and the base sequence used as the benchmark The difference in the row.
需要说明的是,相邻两个基序列的取模(模为W)差值,与相邻基序列的步进值相等;不相邻两个基序列的取模(模为W)差值,等于b倍的相邻基序列的步进值,b为两个基序列所在行的差值。It should be noted that the difference value of the modulo (modulo W) of two adjacent base sequences is equal to the step value of the adjacent base sequence; the difference value of the modulo (modulo W) of two non-adjacent base sequences , equal to b times the step value of adjacent base sequences, where b is the difference between the rows where the two base sequences are located.
示例性的,如表24中所示的,模为8,第二个值与第一个值的取模差值为7-0=7, 第三个值与第二个值的取模差值为6+8-7=7,第四个值与第三个值的取模差值为5+8-6=7,依此类推,相邻两个值之间的取模差值为7,即相邻基序列的步进值为7。因此,可以通过相邻基序列的步进值7和第一个基序列0推导到这一组基序列为0、7、6、5、4、3、2、1,同样可以得到表24。Exemplarily, as shown in Table 24, the modulo is 8, the modulo difference between the second value and the first value is 7-0=7, and the modulo difference between the third value and the second value is The value is 6+8-7=7, the modulo difference between the fourth value and the third value is 5+8-6=7, and so on, the modulo difference between two adjacent values is 7, that is, the step value of the adjacent base sequence is 7. Therefore, it can be deduced that this group of base sequences is 0, 7, 6, 5, 4, 3, 2, and 1 through the step value 7 of the adjacent base sequence and the first base sequence 0, and Table 24 can also be obtained.
示例性的,如表25中所示的,模为8,第二个值与第一个值的取模差值为3-0=3,第三个值与第二个值的取模差值为6-3=3,第四个值与第三个值的取模差值为1+8-6=3,依此类推,相邻两个值之间的取模差值为3,即相邻基序列的步进值为3。因此,可以通过相邻基序列的步进值3和第一个基序列0推导到这一组基序列为0、3、6、1、4、7、2、5,同样可以得到表25。Exemplarily, as shown in Table 25, the modulo is 8, the modulo difference between the second value and the first value is 3-0=3, and the modulo difference between the third value and the second value is The value is 6-3=3, the modulo difference between the fourth value and the third value is 1+8-6=3, and so on, the modulo difference between two adjacent values is 3, That is, the step value of adjacent base sequences is 3. Therefore, it can be deduced that this group of base sequences is 0, 3, 6, 1, 4, 7, 2, and 5 through the step value 3 of the adjacent base sequence and the first base sequence 0, and Table 25 can also be obtained.
通过存储步进值可以节省占用的存储资源或者降低计算复杂度。如表26所示,列出了W=8时的各码长奇偶步进值关系。其中,奇步进值指奇数列中相邻基序列的步进值,偶步进值指偶数列中相邻序列的步进值。By storing the step value, the occupied storage resources can be saved or the computational complexity can be reduced. As shown in Table 26, the relationship between the parity step values of each code length when W=8 is listed. The odd step value refers to the step value of adjacent base sequences in the odd-numbered column, and the even-step value refers to the step value of the adjacent sequence in the even-numbered column.
表26Table 26
Figure PCTCN2021077984-appb-000002
Figure PCTCN2021077984-appb-000002
移位基准值表示Turbo交织序列中一行的值在一列的相对位置。具体的,参数生成器54可以将Turbo交织序列中奇数列的一行的值对L取商得到奇数列对应的L/2个移位基准值;参数生成器54可以将Turbo交织序列中偶数列的一行的值对L取商得到 偶数列对应的L/2个移位基准值。此时,可以存储或根据公式1计算出W行L列的Turbo交织序列中一行的值,而不必存储或计算出所有值,可以节省占用的存储资源或者降低计算复杂度。The shift reference value represents the relative position of a column of values in a row of the turbo interleaved sequence. Specifically, the parameter generator 54 can obtain L/2 shift reference values corresponding to the odd-numbered columns by taking the quotient of the value of a row of the odd-numbered columns in the turbo interleaving sequence to L; the parameter generator 54 can The value of a row is quotient to L to obtain L/2 shift reference values corresponding to the even columns. At this time, the values of one row in the Turbo interleaving sequence of W rows and L columns can be stored or calculated according to formula 1, instead of storing or calculating all the values, which can save occupied storage resources or reduce computational complexity.
示例性的,对于奇数列来说,参数生成器54可以对表20中的第一行的值对L(760)取商得到如表27所示的奇数列对应的L/2个移位基准值。对于偶数列来说,参数生成器54可以对表21中的第一行的值对L(760)取商得到如表28所示的偶数列对应的L/2个移位基准值。Exemplarily, for an odd-numbered column, the parameter generator 54 can obtain L/2 shift references corresponding to the odd-numbered column as shown in Table 27 by taking the quotient of the value of the first row in Table 20 against L (760). value. For even-numbered columns, the parameter generator 54 may obtain L/2 shift reference values corresponding to the even-numbered columns as shown in Table 28 by taking the quotient of the values in the first row in Table 21 against L (760).
表27Table 27
   00 22 44 66 758758
移位基准值 Shift reference value 00 11 44 11 77
表28Table 28
   11 33 55 77 759759
移位基准值 Shift reference value 00 22 66 44 33
S703、第一寻位器55输入奇数列对应的移位基准值和基序列,输出奇数列对应的L/2个Turbo循环移位值;第二寻位器56输入偶数列对应的移位基准值和基序列,输出偶数列对应的L/2个Turbo循环移位值。S703, the first locator 55 inputs the shift reference value and the base sequence corresponding to the odd-numbered columns, and outputs L/2 Turbo cyclic shift values corresponding to the odd-numbered columns; the second locator 56 inputs the shift reference value corresponding to the even-numbered columns value and base sequence, output the L/2 turbo cyclic shift values corresponding to the even columns.
示例性的,对于奇数列来说,第一寻位器55将表27中的值与表24中的值进行比较,从而确定如表29所示的奇数列对应的L/2个Turbo循环移位值。例如,表27中位于“2”列的值1是表24中的值1向上循环7位得到,因此对应的Turbo循环移位值为7。以此类推。Exemplarily, for an odd-numbered column, the first locator 55 compares the value in Table 27 with the value in Table 24, thereby determining the L/2 turbo cycle shifts corresponding to the odd-numbered column as shown in Table 29. bit value. For example, the value 1 in the column "2" in Table 27 is obtained by rotating the value 1 in Table 24 upward by 7 bits, so the corresponding turbo cyclic shift value is 7. And so on.
示例性的,对于偶数列来说,第二寻位器56将表28中的值与表25中的值进行比较,从而确定如表30所示的偶数列对应的L/2个Turbo循环移位值。例如,表28中位于“3”列的2是表25中的值2向上循环6位得到,因此对应的Turbo循环移位值为6。以此类推。Exemplarily, for even-numbered columns, the second locator 56 compares the values in Table 28 with the values in Table 25 to determine the L/2 turbo cycle shifts corresponding to the even-numbered columns as shown in Table 30. bit value. For example, the 2 in the "3" column in Table 28 is obtained by rotating the value 2 in Table 25 upward by 6 bits, so the corresponding turbo cyclic shift value is 6. And so on.
表29Table 29
   00 22 44 66 758758
Turbo循环移位值Turbo cyclic shift value 00 77 44 77 11
表30Table 30
   11 33 55 77 759759
Turbo循环移位值Turbo cyclic shift value 00 66 22 44 11
下面结合图8对步骤S601进行说明,如图8所示,步骤S601包括S6011-S6012。Step S601 will be described below with reference to FIG. 8. As shown in FIG. 8, step S601 includes S6011-S6012.
S6011、当循环移位网络51接收Turbo译码信息时,第一循环移位器511输入Turbo交织序列的一个奇数列对应的基序列和Turbo交织序列的多(L/2)个奇数列的Turbo循环移位值并进行循环移位计算,以输出多(L/2)个奇数列的交织位置。第二循环移位器512输入Turbo交织序列的一个偶数列对应的基序列和Turbo交织序列的多(L/2)个偶数列的Turbo循环移位值并进行循环移位计算,以输出多(L/2)个偶数列的交织位置。S6011. When the cyclic shift network 51 receives the turbo decoding information, the first cyclic shifter 511 inputs the base sequence corresponding to one odd-numbered column of the turbo interleaved sequence and the turbo of multiple (L/2) odd-numbered columns of the turbo interleaved sequence The cyclic shift value and the cyclic shift calculation are performed to output the interleaving positions of more than (L/2) odd columns. The second cyclic shifter 512 inputs the base sequence corresponding to one even-numbered column of the turbo interleaved sequence and the turbo cyclic shift values of multiple (L/2) even-numbered columns of the turbo interleaved sequence, and performs cyclic shift calculation to output multiple (L/2) even-numbered columns of the turbo interleaved sequence. L/2) interleaving positions of even columns.
由于位于奇数列的交织位置之间存在循环移位的关系,位于偶数列的交织位置之间也存在循环移位的关系,并且都可以通过基序列进行循环移位得到,所以对基序列 按照Turbo循环移位值进行循环移位即可以得到任一列的交织位置。Because there is a cyclic shift relationship between the interleaving positions located in odd columns, and there is also a cyclic shift relationship between interleaving positions located in even columns, and both can be obtained by cyclic shift of the base sequence, so the base sequence is calculated according to Turbo The interleaving position of any column can be obtained by cyclically shifting the cyclic shift value.
示例性的,对于奇数列来说,第一循环移位器511根据表29中的Turbo循环移位值对表24中的基序列进行循环移位,从而得到如表31所示的奇数列对应的L/2列交织位置。例如,表24中的基序列0、7、6、5、4、3、2、1,按照表29中位于“2”列的Turbo循环移位值7向上循环7位得到表31中位于“2”列的交织位置1、0、7、6、5、4、3、2。以此类推。Exemplarily, for an odd-numbered column, the first cyclic shifter 511 performs a cyclic shift on the base sequence in Table 24 according to the Turbo cyclic shift value in Table 29, so as to obtain the corresponding odd-numbered column as shown in Table 31. The L/2 column interleaving position. For example, for the base sequences 0, 7, 6, 5, 4, 3, 2, and 1 in Table 24, according to the Turbo cyclic shift value 7 located in the "2" column in Table 29, rotate up 7 bits to obtain the "2" column in Table 31. 2" column for interleaving positions 1, 0, 7, 6, 5, 4, 3, 2. And so on.
示例性的,对于偶数列来说,第二循环移位器512根据表30中的Turbo循环移位值对表25中的基序列进行循环移位,从而得到如表32所示的偶数列对应的L/2列交织位置。例如,表25中的基序列0、3、6、1、4、7、2、5,按照表30中位于“3”列的Turbo循环移位值6向上循环6位得到表32中位于“3”列的交织位置2、5、0、3、6、1、4、7。以此类推。Exemplarily, for an even-numbered column, the second cyclic shifter 512 performs a cyclic shift on the base sequence in Table 25 according to the Turbo cyclic shift value in Table 30, so as to obtain the corresponding even-numbered column as shown in Table 32. The L/2 column interleaving position. For example, the base sequences 0, 3, 6, 1, 4, 7, 2, and 5 in Table 25 are rotated upward by 6 bits according to the Turbo cyclic shift value 6 located in the "3" column in Table 30 to obtain the "3" column in Table 32. Interleave positions 2, 5, 0, 3, 6, 1, 4, 7 for 3" columns. And so on.
表31Table 31
   00 22 44 66 758758
交织位置(第一段)Interleaving position (first segment) 00 11 44 11 77
交织位置(第二段Interleaving position (second paragraph 77 00 33 00    66
交织位置(第三段)Interleaving position (third paragraph) 66 77 22 77    55
交织位置(第四段)Interleaving position (fourth segment) 55 66 11 66    44
交织位置(第五段)Interleaving position (fifth paragraph) 44 55 00 55    33
交织位置(第六段)Interleaving position (sixth paragraph) 33 44 77 44    22
交织位置(第七段)Interleaving position (seventh paragraph) 22 33 66 33    11
交织位置(第八段)Interleaving position (section 8) 11 22 55 22    00
表32Table 32
   11 33 55 77 759759
交织位置(第一段)Interleaving position (first segment) 00 22 66 44 33
交织位置(第二段)Interleaving Position (Second Section) 33 55 11 77    66
交织位置(第三段)Interleaving position (third paragraph) 66 00 44 22    11
交织位置(第四段)Interleaving position (fourth segment) 11 33 77 55    44
交织位置(第五段)Interleaving position (fifth paragraph) 44 66 22 00    77
交织位置(第六段)Interleaving position (sixth paragraph) 77 11 55 33    22
交织位置(第七段)Interleaving position (seventh paragraph) 22 44 00 66    55
交织位置(第八段)Interleaving position (section 8) 55 77 33 11    00
S6012、当循环移位网络51接收Turbo译码信息时,第一加法器513输入多(L/2)个奇数列的交织位置和多(L/2)个奇数列的Turbo偏移值,输出Turbo交织序列的奇数列。第二加法器514输入多(L/2)个偶数列的交织位置和多(L/2)个偶数列的Turbo偏移值,输出Turbo交织序列的偶数列。S6012, when the cyclic shift network 51 receives the turbo decoding information, the first adder 513 inputs the interleaving positions of the multiple (L/2) odd-numbered columns and the turbo offset values of the multiple (L/2) odd-numbered columns, and outputs the output Odd columns of the turbo interleaved sequence. The second adder 514 inputs the interleaving positions of the multiple (L/2) even-numbered columns and the turbo offset values of the multiple (L/2) even-numbered columns, and outputs the even-numbered columns of the turbo interleaved sequence.
由于前文已经说明了同一列Turbo交织序列的Turbo偏移值是相同的,因此,第一行的任一Turbo偏移值即代表了同一列的Turbo偏移值。Since it has been explained above that the turbo offset values of the same column of Turbo interleaving sequences are the same, any turbo offset value in the first row represents the turbo offset value of the same column.
示例性的,对于奇数列来说,第一加法器513将表32中的交织位置的值分别乘以L(760)得到如表33所示的值,再将表33所示的值按列加上如表22所示的Turbo 偏移值,即得到如表20所示的Turbo交织序列的奇数列。Exemplarily, for odd-numbered columns, the first adder 513 multiplies the values of the interleaving positions in Table 32 by L(760) respectively to obtain the values shown in Table 33, and then divides the values shown in Table 33 by column. Adding the Turbo offset values shown in Table 22, the odd-numbered columns of the Turbo interleaved sequence shown in Table 20 are obtained.
示例性的,对于偶数列来说,第二加法器514将表33中的交织位置的值分别乘以L(760)得到如表34所示的值,再将表34所示的值按列加上如表23所示的Turbo偏移值,即得到如表21所示的Turbo交织序列的偶数列。Exemplarily, for an even-numbered column, the second adder 514 multiplies the values of the interleaving positions in Table 33 by L(760) respectively to obtain the values shown in Table 34, and then divides the values shown in Table 34 by column. Adding the Turbo offset values shown in Table 23, the even-numbered columns of the Turbo interleaving sequence shown in Table 21 are obtained.
表33Table 33
   00 22 44 66 758758
第一段 first paragraph 00 760760 30403040 760760 53205320
第二段second paragraph 53205320 00 22802280 00 45604560
第三段third paragraph 45604560 53205320 15201520 53205320 38003800
第四段fourth paragraph 38003800 45604560 760760 45604560 30403040
第五段fifth paragraph 30403040 38003800 00 38003800 22802280
第六段sixth paragraph 22802280 30403040 53205320 30403040 15201520
第七段paragraph 7 15201520 22802280 45604560 22802280 760760
第八段eighth paragraph 760760 15201520 38003800 15201520 00
表34Table 34
   11 33 55 77 759759
第一段 first paragraph 00 15201520 45604560 30403040 22802280
第二段second paragraph 22802280 38003800 760760 53205320 45604560
第三段third paragraph 45604560 00 30403040 15201520 760760
第四段fourth paragraph 760760 22802280 53205320 38003800 30403040
第五段fifth paragraph 30403040 45604560 15201520 00 53205320
第六段sixth paragraph 53205320 760760 38003800 22802280 15201520
第七段paragraph 7 15201520 30403040 00 45604560 38003800
第八段eighth paragraph 38003800 53205320 22802280 760760 00
S602、交织/解交织电路52接收Turbo后验数据以及Turbo交织序列,进行交织解交织处理,得到Turbo数据。S602. The interleaving/de-interleaving circuit 52 receives the Turbo a posteriori data and the Turbo interleaving sequence, performs interleaving and de-interleaving processing, and obtains Turbo data.
在Turbo模式(选择器57切换至状态“0”)下,交织/解交织电路52接收Turbo后验数据以及Turbo交织序列,进行交织解交织处理,得到Turbo数据。In the turbo mode (the selector 57 is switched to the state "0"), the interleaving/deinterleaving circuit 52 receives the turbo posterior data and the turbo interleaving sequence, performs interleaving and deinterleaving processing, and obtains turbo data.
其中,第一交织/解交织器521接收Turbo后验数据以及Turbo交织序列的奇数列,进行交织解交织处理,得到奇数列的Turbo数据。第二交织/解交织器522接收Turbo后验数据以及Turbo交织序列的偶数列,进行交织解交织处理,得到偶数列的Turbo数据。The first interleaver/deinterleaver 521 receives the turbo posterior data and the odd columns of the turbo interleaving sequence, performs interleaving and deinterleaving processing, and obtains the turbo data of the odd columns. The second interleaver/deinterleaver 522 receives the turbo a posteriori data and the even columns of the turbo interleaving sequence, performs interleaving and deinterleaving processing, and obtains turbo data of the even columns.
S603、译码电路53选择性地对LDPC数据或Turbo数据进行译码。S603. The decoding circuit 53 selectively decodes the LDPC data or the Turbo data.
在LDPC模式(选择器57切换至状态“1”)下,译码电路53合并奇数的LDPC数据和偶数的LDPC数据,并对合并后的LDPC数据进行译码。In the LDPC mode (the selector 57 is switched to the state "1"), the decoding circuit 53 combines the odd-numbered LDPC data and the even-numbered LDPC data, and decodes the combined LDPC data.
在Turbo模式(选择器57切换至状态“0”)下,译码电路53合并奇数列的Turbo数据和偶数列的Turbo数据,并对合并后的Turbo数据进行译码。In the turbo mode (the selector 57 is switched to the state "0"), the decoding circuit 53 combines the turbo data of the odd-numbered columns and the turbo data of the even-numbered columns, and decodes the combined turbo data.
图5所示的共模解码电路可以根据Turbo交织序列的偶数列和奇数列对待解码数据进行解码,如果Turbo交织序列的数量很大,还可以将Turbo交织序列分成多段, 并增加共模解码电路的数目,每个共模解码电路用于处理一段Turbo交织序列中的偶数列和奇数列。The common mode decoding circuit shown in Figure 5 can decode the data to be decoded according to the even and odd columns of the turbo interleaving sequence. If the number of turbo interleaving sequences is large, the turbo interleaving sequence can also be divided into multiple sections, and a common mode decoding circuit can be added. The number of , each common-mode decoding circuit is used to process even and odd columns in a Turbo interleaved sequence.
示例性的,如图9所示,可以采用M*2^(n+1)个图5所示的共模解码电路中的一个子电路(分别处理奇数列或偶数列的部分),例如一个子电路包括第一循环移位器511、第一加法器513、第一交织/解交织器521、第一寻位器55,这些子电路共同耦合至同一译码电路53,属于一个共模解码电路的两个子电路用于处理码长为M*W*L*2^n的Turbo交织序列中的一段W行L列的Turbo交织序列,这两个子电路中一个子电路用于处理一段Turbo交织序列的奇数列,另一个用于处理一段Turbo交织序列的偶数列,译码电路53对所有子电路输出的数据合并后进行译码,以实现对码长为M*W*L*2^n的Turbo交织序列进行解码。Exemplarily, as shown in FIG. 9, M*2^(n+1) sub-circuits in the common-mode decoding circuit shown in The sub-circuits include a first cyclic shifter 511, a first adder 513, a first interleaver/de-interleaver 521, and a first locator 55. These sub-circuits are commonly coupled to the same decoding circuit 53 and belong to a common-mode decoding The two sub-circuits of the circuit are used to process a section of Turbo interleaving sequence of W rows and L columns in the Turbo interleaving sequence whose code length is M*W*L*2^n. One of the two sub-circuits is used to process a section of Turbo interleaving. The odd-numbered column of the sequence, and the other is used to process the even-numbered column of a Turbo interleaved sequence. The decoding circuit 53 decodes the data output by all the subcircuits after combining, so as to realize the code length of M*W*L*2^n The Turbo interleaved sequence is decoded.
本申请实施例提供的共模解码电路、数字基带、射频收发机和解码方法,循环移位网络可以选择性地接收LDPC译码信息并进行循环移位计算以输出LDPC数据,或者,接收Turbo译码信息并进行循环移位计算以输出Turbo交织序列。交织/解交织电路接收Turbo后验数据以及Turbo交织序列,进行交织解交织处理,得到Turbo数据。译码电路选择性地对LDPC数据或Turbo数据进行译码。实现了LDPC码和Turbo码复用循环移位网络进行解码,所以节省了资源。并且,在通过输入的基序列、Turbo循环移位值和Turbo偏移值还原得到Turbo交织序列的过程中,输入的基序列、Turbo循环移位值和Turbo偏移值分别与Turbo交织序列的奇数列和偶数列相对应,原因在于位于奇数列的交织位置之间存在循环移位的关系,位于偶数列的交织位置之间也存在循环移位的关系,使得共模解码电路可以适用于高并行度的Turbo交织序列。In the common-mode decoding circuit, digital baseband, radio frequency transceiver, and decoding method provided by the embodiments of this application, the cyclic shift network can selectively receive LDPC decoding information and perform cyclic shift calculation to output LDPC data, or receive Turbo decoding code information and perform a cyclic shift calculation to output a turbo interleaved sequence. The interleaving/de-interleaving circuit receives the Turbo a posteriori data and the Turbo interleaving sequence, performs interleaving and de-interleaving processing, and obtains Turbo data. The decoding circuit selectively decodes the LDPC data or the Turbo data. Realize LDPC code and Turbo code multiplexing cyclic shift network for decoding, so resources are saved. In addition, in the process of obtaining the Turbo interleaved sequence by restoring the input base sequence, the turbo cyclic shift value and the turbo offset value, the input base sequence, the turbo cyclic shift value and the turbo offset value are respectively the odd numbers of the turbo interleaved sequence. The columns correspond to the even columns, because there is a cyclic shift relationship between the interleaving positions located in the odd columns, and there is also a cyclic shift relationship between the interleaving positions located in the even columns, so that the common mode decoding circuit can be applied to high parallelism. degree of turbo interleaving sequence.
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机或处理器上运行时,使得计算机或处理器执行图6-图8中对应的方法。Embodiments of the present application also provide a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and when it runs on a computer or a processor, the computer or the processor causes the computer or the processor to execute the steps in FIGS. 6 to 8 . corresponding method.
本申请实施例还提供了一种包含指令的计算机程序产品,当指令在计算机或处理器上运行时,使得计算机或处理器执行图6-图8中对应的方法。Embodiments of the present application also provide a computer program product containing instructions, when the instructions are executed on a computer or a processor, the computer or the processor causes the computer or processor to execute the corresponding methods in FIGS. 6-8 .
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。It should be understood that, in various embodiments of the present application, the size of the sequence numbers of the above-mentioned processes does not mean the sequence of execution, and the execution sequence of each process should be determined by its functions and internal logic, and should not be dealt with in the embodiments of the present application. implementation constitutes any limitation.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。Those of ordinary skill in the art can realize that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Skilled artisans may implement the described functionality using different methods for each particular application, but such implementations should not be considered beyond the scope of this application.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the above-described systems, devices and units may refer to the corresponding processes in the foregoing method embodiments, which will not be repeated here.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执 行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods may be implemented in other manners. For example, the device embodiments described above are only illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented. On the other hand, the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。In the above-mentioned embodiments, it may be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using a software program, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, all or part of the processes or functions described in the embodiments of the present application are generated. The computer may be a general purpose computer, special purpose computer, computer network, or other programmable device. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be downloaded from a website site, computer, server, or data center Transmission to another website site, computer, server or data center via wired (eg coaxial cable, optical fiber, Digital Subscriber Line, DSL) or wireless (eg infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that can be accessed by a computer or data storage devices including one or more servers, data centers, etc. that can be integrated with the medium. The usable medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a DVD), or a semiconductor medium (eg, a Solid State Disk (SSD)), and the like.
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。The above are only specific embodiments of the present application, but the protection scope of the present application is not limited to this. should be covered within the scope of protection of this application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims (19)

  1. 一种共模解码电路,其特征在于,包括:A common-mode decoding circuit, characterized in that it includes:
    循环移位网络,用于选择性地接收低密度奇偶校验码LDPC译码信息并进行循环移位计算以输出LDPC数据,或者,接收图拨Turbo译码信息并进行循环移位计算以输出Turbo交织序列;其中,所述LDPC译码信息包括:LDPC后验数据和LDPC循环移位值;所述Turbo译码信息包括:所述Turbo交织序列的奇数列和偶数列分别对应的基序列、Turbo循环移位值和Turbo偏移值,所述基序列为所述Turbo交织序列中的一个偶数列或一个奇数列的值对L取商的结果,L为所述Turbo交织序列的一行的长度;A cyclic shift network for selectively receiving low density parity check code LDPC decoding information and performing cyclic shift calculation to output LDPC data, or, receiving image dial Turbo decoding information and performing cyclic shift calculation to output Turbo Interleaving sequence; wherein, the LDPC decoding information includes: LDPC posterior data and LDPC cyclic shift value; the Turbo decoding information includes: the base sequence, Turbo A cyclic shift value and a Turbo offset value, the base sequence is the result of taking a quotient between the values of an even column or an odd column in the Turbo interleaving sequence, where L is the length of one row of the Turbo interleaving sequence;
    交织/解交织电路,用于接收Turbo后验数据以及所述Turbo交织序列,进行交织解交织处理,得到Turbo数据;Interleaving/de-interleaving circuit for receiving Turbo a posteriori data and the Turbo interleaving sequence, performing interleaving and de-interleaving processing to obtain Turbo data;
    译码电路,用于选择性地对所述LDPC数据或Turbo数据进行译码。A decoding circuit for selectively decoding the LDPC data or the Turbo data.
  2. 根据权利要求1所述的共模解码电路,其特征在于,所述循环移位网络包括第一循环移位器和第二循环移位器。The common mode decoding circuit according to claim 1, wherein the cyclic shift network comprises a first cyclic shifter and a second cyclic shifter.
  3. 根据权利要求2所述的共模解码电路,其特征在于,当所述循环移位网络接收所述Turbo译码信息时:The common-mode decoding circuit according to claim 2, wherein when the cyclic shift network receives the turbo decoding information:
    所述第一循环移位器用于输入所述Turbo交织序列的一个奇数列对应的基序列和所述Turbo交织序列的多个奇数列的Turbo循环移位值并进行循环移位计算,以输出所述多个奇数列的交织位置;The first cyclic shifter is configured to input a base sequence corresponding to one odd-numbered column of the turbo interleaved sequence and turbo cyclic shift values of a plurality of odd-numbered columns of the turbo interleaved sequence, and perform a cyclic shift calculation to output the Describe the interleaving positions of a plurality of odd-numbered columns;
    所述第二循环移位器用于输入所述Turbo交织序列的一个偶数列对应的基序列和所述Turbo交织序列的多个偶数列的Turbo循环移位值并进行循环移位计算,以输出所述多个偶数列的交织位置。The second cyclic shifter is configured to input a base sequence corresponding to one even-numbered column of the Turbo interleaved sequence and the turbo cyclic shift values of a plurality of even-numbered columns of the Turbo interleaved sequence, and perform cyclic shift calculation to output the The interleaving positions of the multiple even-numbered columns are described.
  4. 根据权利要求3所述的共模解码电路,其特征在于,所述循环移位网络还包括第一加法器和第二加法器,The common-mode decoding circuit according to claim 3, wherein the cyclic shift network further comprises a first adder and a second adder,
    所述第一加法器用于输入所述多个奇数列的交织位置和所述多个奇数列的Turbo偏移值,输出所述Turbo交织序列的奇数列;The first adder is configured to input the interleaving positions of the plurality of odd-numbered columns and the Turbo offset values of the plurality of odd-numbered columns, and output the odd-numbered columns of the Turbo interleaving sequence;
    所述第二加法器用于输入所述多个偶数列的交织位置和所述多个偶数列的Turbo偏移值,输出所述Turbo交织序列的偶数列。The second adder is configured to input the interleaving positions of the multiple even-numbered columns and the turbo offset values of the multiple even-numbered columns, and output the even-numbered columns of the turbo interleaving sequence.
  5. 根据权利要求3或4所述的共模解码电路,其特征在于,所述共模解码电路还包括参数生成器、第一寻位器和第二寻位器:The common-mode decoding circuit according to claim 3 or 4, wherein the common-mode decoding circuit further comprises a parameter generator, a first locator and a second locator:
    所述参数生成器,用于计算所述Turbo交织序列的一行、一个偶数列和一个奇数列的值;将所述一行的值对L取模得到奇数列对应的Turbo偏移值以及偶数列对应的Turbo偏移值;将所述一个偶数列的值对L取商得到偶数列对应的基序列,将所述一个奇数列的值对L取商得到奇数列对应的基序列;将所述一行的值对L取商得到奇数列对应的移位基准值和偶数列对应的移位基准值;The parameter generator is used to calculate the values of a row, an even column and an odd column of the Turbo interleaving sequence; the value of the row is modulo L to obtain the Turbo offset value corresponding to the odd column and the corresponding Turbo offset of the even column. Turbo offset value; take the quotient of the value of the even column to L to obtain the basis sequence corresponding to the even column, and take the quotient of the value of the odd column to L to obtain the basis sequence corresponding to the odd column; The value of L takes the quotient to obtain the shift reference value corresponding to the odd column and the shift reference value corresponding to the even column;
    所述第一寻位器,用于输入奇数列对应的移位基准值和基序列,输出奇数列对应的Turbo循环移位值;The first locator is used to input the shift reference value and the base sequence corresponding to the odd-numbered column, and output the Turbo cyclic shift value corresponding to the odd-numbered column;
    所述第二寻位器,用于输入偶数列对应的移位基准值和基序列,输出偶数列对应的Turbo循环移位值。The second locator is used for inputting the shift reference value and base sequence corresponding to the even-numbered columns, and outputting the turbo cyclic shift value corresponding to the even-numbered columns.
  6. 根据权利要求3-5任一项所述的共模解码电路,其特征在于,所述交织/解交织电路包括第一交织/解交织器和第二交织/解交织器;The common-mode decoding circuit according to any one of claims 3-5, wherein the interleaving/deinterleaving circuit comprises a first interleaving/deinterleaving device and a second interleaving/deinterleaving device;
    所述第一交织/解交织器用于接收Turbo后验数据以及所述Turbo交织序列的奇数列,进行交织解交织处理,得到奇数列的Turbo数据;The first interleaving/deinterleaving device is used for receiving Turbo a posteriori data and odd columns of the Turbo interleaving sequence, and performing interleaving and deinterleaving processing to obtain the Turbo data of the odd columns;
    所述第二交织/解交织器用于接收Turbo后验数据以及所述Turbo交织序列的偶数列,进行交织解交织处理,得到偶数列的Turbo数据。The second interleaver/deinterleaver is configured to receive turbo a posteriori data and even columns of the turbo interleaving sequence, perform interleaving and deinterleaving processing, and obtain even columns of turbo data.
  7. 根据权利要求6所述的共模解码电路,其特征在于,所述译码电路用于合并所述奇数列的Turbo数据和所述偶数列的Turbo数据,并对合并后的Turbo数据进行译码。The common-mode decoding circuit according to claim 6, wherein the decoding circuit is configured to combine the turbo data of the odd-numbered columns and the turbo data of the even-numbered columns, and decode the combined turbo data .
  8. 根据权利要求2所述的共模解码电路,其特征在于,当所述循环移位网络接收所述LDPC译码信息时,所述第一循环移位器用于输入奇数的LDPC后验数据和对应的LDPC循环移位值并进行循环移位计算,以输出奇数的LDPC数据;所述第二循环移位器用于输入偶数的LDPC后验数据和对应的LDPC循环移位值并进行循环移位计算,以输出偶数的LDPC数据。The common-mode decoding circuit according to claim 2, wherein when the cyclic shift network receives the LDPC decoding information, the first cyclic shifter is configured to input odd-numbered LDPC posterior data and corresponding The LDPC cyclic shift value and the cyclic shift calculation are performed to output odd-numbered LDPC data; the second cyclic shifter is used to input the even-numbered LDPC posterior data and the corresponding LDPC cyclic shift value and perform cyclic shift calculation. , to output even-numbered LDPC data.
  9. 根据权利要求8所述的共模解码电路,其特征在于,所述译码电路用于合并所述奇数的LDPC数据和所述偶数的LDPC数据,并对合并后的LDPC数据进行译码。The common-mode decoding circuit according to claim 8, wherein the decoding circuit is configured to combine the odd-numbered LDPC data and the even-numbered LDPC data, and decode the combined LDPC data.
  10. 一种数字基带,其特征在于,包括数字处理电路以及如权利要求1-9任一项所述的共模解码电路,所述数字处理电路用于对接收链路的数字信号进行数字处理以得到基于Turbo码的待解码数据或者基于低密度奇偶校验码LDPC码的待解码数据,所述共模解码电路用于对所述待解码数据进行解码以输出解码结果。A digital baseband, characterized in that it includes a digital processing circuit and the common-mode decoding circuit according to any one of claims 1-9, wherein the digital processing circuit is used for digitally processing digital signals of a receiving link to obtain Based on the data to be decoded based on the Turbo code or the data to be decoded based on the low density parity check code (LDPC) code, the common mode decoding circuit is configured to decode the data to be decoded to output a decoding result.
  11. 一种射频收发机,其特征在于,包括接收模拟基带以及如权利要求10所述的数字基带;所述接收模拟基带用于对接收链路的低频调制信号进行模数转换以得到接收链路的数字信号,所述数字基带用于对所述数字信号进行数字处理和解码以得到解码结果。A radio frequency transceiver, characterized in that it includes a receiving analog baseband and a digital baseband as claimed in claim 10 ; the receiving analog baseband is used to perform analog-to-digital conversion on a low-frequency modulated signal of a receiving link to obtain a signal of the receiving link. A digital signal, and the digital baseband is used to digitally process and decode the digital signal to obtain a decoding result.
  12. 一种解码方法,其特征在于,应用于如权利要求1-9任一项所述的共模解码电路,所述方法包括:A decoding method, characterized in that, applied to the common-mode decoding circuit according to any one of claims 1-9, the method comprising:
    选择性地接收低密度奇偶校验码LDPC译码信息并进行循环移位计算以输出LDPC数据,或者,接收图拨Turbo译码信息并进行循环移位计算以输出Turbo交织序列;其中,所述LDPC译码信息包括:LDPC后验数据和LDPC循环移位值;所述Turbo译码信息包括:所述Turbo交织序列的奇数列和偶数列分别对应的基序列、Turbo循环移位值和Turbo偏移值,所述基序列为所述Turbo交织序列中的一个偶数列或一个奇数列的值对L取商的结果,L为所述Turbo交织序列的一行的长度;Selectively receive low-density parity check code LDPC decoding information and perform cyclic shift calculation to output LDPC data, or receive image dial Turbo decoding information and perform cyclic shift calculation to output Turbo interleaved sequence; wherein, the The LDPC decoding information includes: LDPC posterior data and LDPC cyclic shift value; the Turbo decoding information includes: the base sequence, the Turbo cyclic shift value and the Turbo offset corresponding to the odd and even columns of the Turbo interleaved sequence, respectively. Shift value, the base sequence is the result of taking a quotient between the values of an even column or an odd column in the Turbo interleaving sequence, where L is the length of a row of the Turbo interleaving sequence;
    接收Turbo后验数据以及所述Turbo交织序列,进行交织解交织处理,得到Turbo数据;Receive Turbo a posteriori data and the Turbo interleaving sequence, perform interleaving and de-interleaving processing, and obtain Turbo data;
    选择性地对所述LDPC数据或Turbo数据进行译码。The LDPC data or the Turbo data is selectively decoded.
  13. 根据权利要求12所述的方法,其特征在于,当接收所述Turbo译码信息时,还包括:The method according to claim 12, wherein when receiving the turbo decoding information, the method further comprises:
    输入所述Turbo交织序列的一个奇数列对应的基序列和所述Turbo交织序列的多个奇数列的Turbo循环移位值并进行循环移位计算,以输出所述多个奇数列的交织位 置;Inputting a base sequence corresponding to an odd-numbered column of the Turbo interleaving sequence and the turbo cyclic shift values of a plurality of odd-numbered columns of the Turbo interleaving sequence and performing a cyclic shift calculation to output the interleaving positions of the plurality of odd-numbered columns;
    输入所述Turbo交织序列的一个偶数列对应的基序列和所述Turbo交织序列的多个偶数列的Turbo循环移位值并进行循环移位计算,以输出所述多个偶数列的交织位置。A base sequence corresponding to one even-numbered column of the turbo interleaving sequence and turbo cyclic shift values of multiple even-numbered columns of the turbo interleaving sequence are input, and a cyclic shift calculation is performed to output the interleaving positions of the multiple even-numbered columns.
  14. 根据权利要求13所述的方法,其特征在于,所述接收图拨Turbo译码信息并进行循环移位计算以输出Turbo交织序列,包括:The method according to claim 13, wherein the receiving the picture dialing turbo decoding information and performing a cyclic shift calculation to output a Turbo interleaved sequence, comprising:
    输入所述多个奇数列的交织位置和所述多个奇数列的Turbo偏移值,输出所述Turbo交织序列的奇数列;inputting the interleaving positions of the plurality of odd-numbered columns and the Turbo offset values of the plurality of odd-numbered columns, and outputting the odd-numbered columns of the Turbo interleaving sequence;
    输入所述多个偶数列的交织位置和所述多个偶数列的Turbo偏移值,输出所述Turbo交织序列的偶数列。The interleaving positions of the plurality of even-numbered columns and the turbo offset values of the plurality of even-numbered columns are input, and the even-numbered columns of the turbo interleaving sequence are output.
  15. 根据权利要求13或14所述的方法,其特征在于,还包括:The method of claim 13 or 14, further comprising:
    计算所述Turbo交织序列的一行、一个偶数列和一个奇数列的值;将所述一行的值对L取模得到奇数列对应的Turbo偏移值以及偶数列对应的Turbo偏移值;将所述一个偶数列的值对L取商得到偶数列对应的基序列,将所述一个奇数列的值对L取商得到奇数列对应的基序列;将所述一行的值对L取商得到奇数列对应的移位基准值和偶数列对应的移位基准值;Calculate the value of a row, an even column and an odd column of the Turbo interleaved sequence; take the value of the row to L modulo to obtain the Turbo offset value corresponding to the odd column and the Turbo offset value corresponding to the even column; Take the quotient of the value of an even column to L to obtain the basis sequence corresponding to the even column, take the quotient of the value of the odd column to L to obtain the basis sequence corresponding to the odd column; take the quotient of the value of the row to L to obtain the odd number The shift reference value corresponding to the column and the shift reference value corresponding to the even column;
    输入奇数列对应的移位基准值和基序列,输出奇数列对应的Turbo循环移位值;Input the shift reference value and base sequence corresponding to the odd-numbered column, and output the Turbo cyclic shift value corresponding to the odd-numbered column;
    输入偶数列对应的移位基准值和基序列,输出偶数列对应的Turbo循环移位值。Input the shift reference value and base sequence corresponding to the even-numbered column, and output the turbo cyclic shift value corresponding to the even-numbered column.
  16. 根据权利要求13-15任一项所述的方法,其特征在于,所述接收Turbo后验数据以及所述Turbo交织序列,进行交织解交织处理,得到Turbo数据,包括:The method according to any one of claims 13-15, wherein the receiving Turbo a posteriori data and the Turbo interleaving sequence, performing interleaving and de-interleaving processing to obtain Turbo data, comprising:
    接收Turbo后验数据以及所述Turbo交织序列的奇数列,进行交织解交织处理,得到奇数列的Turbo数据;Receive Turbo posterior data and odd-numbered columns of the Turbo interleaving sequence, carry out interleaving and de-interleaving processing, and obtain the Turbo data of odd-numbered columns;
    接收Turbo后验数据以及所述Turbo交织序列的偶数列,进行交织解交织处理,得到偶数列的Turbo数据。Receive turbo posterior data and even columns of the turbo interleaving sequence, perform interleaving and deinterleaving processing, and obtain even columns of turbo data.
  17. 根据权利要求16所述的方法,其特征在于,所述选择性地对所述LDPC数据或Turbo数据进行译码,包括:The method according to claim 16, wherein the selectively decoding the LDPC data or the Turbo data comprises:
    合并所述奇数列的Turbo数据和所述偶数列的Turbo数据,并对合并后的Turbo数据进行译码。The turbo data of the odd-numbered columns and the turbo data of the even-numbered columns are combined, and the combined turbo data is decoded.
  18. 根据权利要求12所述的方法,其特征在于,当接收所述LDPC译码信息时,所述接收低密度奇偶校验码LDPC译码信息并进行循环移位计算以输出LDPC数据,包括:The method according to claim 12, wherein, when receiving the LDPC decoding information, the receiving the low density parity check code LDPC decoding information and performing a cyclic shift calculation to output the LDPC data, comprising:
    输入奇数的LDPC后验数据和对应的LDPC循环移位值并进行循环移位计算,以输出奇数的LDPC数据;输入偶数的LDPC后验数据和对应的LDPC循环移位值并进行循环移位计算,以输出偶数的LDPC数据。Input odd-numbered LDPC posterior data and corresponding LDPC cyclic shift value and perform cyclic shift calculation to output odd-numbered LDPC data; input even-numbered LDPC posterior data and corresponding LDPC cyclic shift value and perform cyclic shift calculation , to output even-numbered LDPC data.
  19. 根据权利要求18所述的方法,其特征在于,所述选择性地对所述LDPC数据或Turbo数据进行译码,包括:The method according to claim 18, wherein the selectively decoding the LDPC data or the Turbo data comprises:
    合并所述奇数的LDPC数据和所述偶数的LDPC数据,并对合并后的LDPC数据进行译码。The odd-numbered LDPC data and the even-numbered LDPC data are combined, and the combined LDPC data is decoded.
PCT/CN2021/077984 2021-02-25 2021-02-25 Common mode decoding circuit, digital baseband, radio frequency transceiver, and decoding method WO2022178790A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202180094310.2A CN117296252A (en) 2021-02-25 2021-02-25 Common mode decoding circuit, digital baseband, radio frequency transceiver and decoding method
PCT/CN2021/077984 WO2022178790A1 (en) 2021-02-25 2021-02-25 Common mode decoding circuit, digital baseband, radio frequency transceiver, and decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/077984 WO2022178790A1 (en) 2021-02-25 2021-02-25 Common mode decoding circuit, digital baseband, radio frequency transceiver, and decoding method

Publications (1)

Publication Number Publication Date
WO2022178790A1 true WO2022178790A1 (en) 2022-09-01

Family

ID=83047682

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/077984 WO2022178790A1 (en) 2021-02-25 2021-02-25 Common mode decoding circuit, digital baseband, radio frequency transceiver, and decoding method

Country Status (2)

Country Link
CN (1) CN117296252A (en)
WO (1) WO2022178790A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101682336A (en) * 2007-06-14 2010-03-24 英特尔公司 unified decoder for convolutional, turbo, and ldpc codes
CN103501210A (en) * 2013-09-30 2014-01-08 复旦大学 High-performance multistandard FEC (Forward Error Correction) decoder
CN104184482A (en) * 2014-09-11 2014-12-03 山东大学 Turbo code decoder with configurable parameters
KR20170015191A (en) * 2015-07-31 2017-02-08 고려대학교 산학협력단 Method and Apparatus for multi decoding corresponding to Turbo decoder and LDPC decoder
CN108075782A (en) * 2018-01-22 2018-05-25 中国计量大学 A kind of dual mode data restructuring network based on LDPC/Turbo codes

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101682336A (en) * 2007-06-14 2010-03-24 英特尔公司 unified decoder for convolutional, turbo, and ldpc codes
CN103501210A (en) * 2013-09-30 2014-01-08 复旦大学 High-performance multistandard FEC (Forward Error Correction) decoder
CN104184482A (en) * 2014-09-11 2014-12-03 山东大学 Turbo code decoder with configurable parameters
KR20170015191A (en) * 2015-07-31 2017-02-08 고려대학교 산학협력단 Method and Apparatus for multi decoding corresponding to Turbo decoder and LDPC decoder
CN108075782A (en) * 2018-01-22 2018-05-25 中国计量大学 A kind of dual mode data restructuring network based on LDPC/Turbo codes

Also Published As

Publication number Publication date
CN117296252A (en) 2023-12-26

Similar Documents

Publication Publication Date Title
JP4351762B2 (en) Wireless information transmission apparatus and wireless information transmission method
US9385905B2 (en) Block-based time-frequency interleaving and de-interleaving
KR102415609B1 (en) Data processing, precoding method and communication device
US20150341053A1 (en) Transmitting apparatus and interleaving method thereof
CN107211033B (en) Method and device for data transmission
US20150128013A1 (en) Transmission device, reception device, transmission method, and reception method
US11695432B2 (en) Apparatus for transmitting data in interleave division multiple access (IDMA) system
CN111786926B (en) Receiving apparatus, receiving method, transmitting apparatus, and transmitting method
CA3027065C (en) Transmitting apparatus and interleaving method thereof
US20160344419A1 (en) Transmitting apparatus and interleaving method thereof
US20160344423A1 (en) Transmitting apparatus and interleaving method thereof
CN113595953B (en) Transmitting apparatus
WO2022178790A1 (en) Common mode decoding circuit, digital baseband, radio frequency transceiver, and decoding method
JP2004207995A (en) Communication apparatus and wireless communication system
JP6884270B2 (en) Devices and methods for demodulating received symbols
Hussain et al. A novel BCS code in a downlink LTE system over an LTE-MIMO channel
JP2010124259A (en) Mimo transmitting apparatus, receiving apparatus and system
JP7451446B2 (en) Transmitting device, transmitting method, receiving device and receiving method
US20240097818A1 (en) Signal processing
JP3753072B2 (en) Orthogonal frequency division multiplex signal generation method, orthogonal frequency division multiplex signal generation apparatus, and orthogonal frequency division multiplex signal decoding apparatus
Joseph et al. FPGA based realization of OFDM transceiver system for Software Defined Radio
US20140198828A1 (en) Frequency spreading for high-performance communications
Zhang et al. Digital Video Broadcast: Systems and Implementations
JP6327138B2 (en) Receiving machine
JP2022178081A (en) Transmitting device, transmitting method, receiving device and receiving method

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: 21927228

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202180094310.2

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21927228

Country of ref document: EP

Kind code of ref document: A1