WO2016127820A1 - 数据编码方法及装置 - Google Patents

数据编码方法及装置 Download PDF

Info

Publication number
WO2016127820A1
WO2016127820A1 PCT/CN2016/072514 CN2016072514W WO2016127820A1 WO 2016127820 A1 WO2016127820 A1 WO 2016127820A1 CN 2016072514 W CN2016072514 W CN 2016072514W WO 2016127820 A1 WO2016127820 A1 WO 2016127820A1
Authority
WO
WIPO (PCT)
Prior art keywords
bits
block
data
error correction
length
Prior art date
Application number
PCT/CN2016/072514
Other languages
English (en)
French (fr)
Inventor
李立广
徐俊
许进
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2016127820A1 publication Critical patent/WO2016127820A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received

Definitions

  • the present invention relates to the field of communications, and in particular to a data encoding method and apparatus.
  • the wireless digital communication system there are two major parts, a transmitting end and a receiving end, wherein the general transmitting end includes a source module, a channel encoding module, a modulation module, and a transmitting module, and the receiving end solves the letter according to the opposite operation.
  • the source data generally includes a receiving module, a demodulation module, a channel decoding module, and a source module.
  • channel coding is a key module, mainly to improve the reliability of data transmission, and to correct the errors in the transmission process by using the redundant information of the channel coded codeword.
  • LDPC error correction coding
  • Turbo coding Turbo coding
  • convolutional coding convolutional coding
  • RS coding RS coding
  • LDPC Low-density parity check coding
  • its check matrix is very sparse, so the decoding complexity is not high, and at the same time, it has natural decoding parallelism, and can achieve higher decoding throughput by parallel decoding, and The performance is very close to the Shannon limit.
  • LDPC coding has been used in many communication systems; Turbo coding encodes information by two component codes, and iterative decoding by two-part component code can improve decoding performance. The performance of the bit rate is very good, and the code rate and code length can be flexibly set, which is very suitable for various communication data.
  • the Turbo coding mode is mainly adopted; the current coding output of the convolutional coding is not only related to The current information is also related to some previous information. Similar to the convolution characteristics, the decoding effect is better, and it is also used in many systems.
  • RS coding is a shortest code distance maximization code, and decoding can be implemented by pipeline. Decoding, high decoding speed and high throughput.
  • the data packet or the codeword information block needs to be verified, that is, some check sequence is added, so that The receiving end uses the check sequence to determine whether the received data packet or the encoded codeword information block is correct or not.
  • the commonly used calibration method is a cyclic redundancy check code.
  • the length of the information block and the length of the check code can be set arbitrarily. It is very simple to use.
  • the modulo-2 divides the residual algorithm for the complete data block. Whether or not the correctness of the received data block is judged for all zeros, the cyclic redundancy check code is used in many communication systems.
  • a very low coding rate is required, which is generally carried out in two ways: 1. On the original data The block is repeatedly transmitted multiple times, or the data is spread and transmitted by using a spreading sequence; 2. The encoding method with extremely low code rate is adopted to realize the decoding working point to work at a lower signal to noise ratio.
  • the first method is a conventional data transmission method, which increases the transmission accuracy by repeating or spreading to increase the transmission power, that is, if the performance does not meet the requirement, the transmission is more
  • the transmission power can be increased to some extent, but the reliability of data transmission can be improved to a certain extent, but the channel error correction coding gain cannot be well utilized.
  • simple spread spectrum repetition will bring a certain gain, and the cost is not very high when the number of repetitions is small, when the number of repetitions is large, the cost will be more and more.
  • a directional Gigabit control data block (DMG control PHY), in order to work at a very low signal-to-noise ratio, encodes the head code at a rate lower than 1/2 code rate and passes
  • the spread spectrum series spread spectrum is 32 times, and the data field data is partially coded by 1/2 and spread by 32 times by the spread spectrum series, so that the working point is about -15 dB.
  • the present invention provides a data encoding method and apparatus to at least solve the problem that the coding method in the related art cannot make good use of the channel error correction coding gain.
  • a data encoding method comprising: performing code block segmentation on a source data packet of length L bits to obtain N CW information data blocks; adding a cyclic redundancy check to each information data block a sequence, where L is an integer greater than 0, N CW is an integer greater than or equal to 1; the N CW information data blocks after adding a cyclic redundancy check sequence are subjected to error correction coding to obtain N CW error correction coding Encoding the N CW error correction coding blocks to obtain m parity packets of the N CW error correction coding blocks, where m is an integer greater than or equal to 1; and correcting the N CW errors
  • the coded block copies h 1 copies and the m check packets replicate h 2 copies to obtain a total coded data block for transmission, where h 1 and h 2 are real numbers greater than one.
  • the number N CW error correction coded blocks of the encoding process to obtain N CW error correction coded blocks m verifying packets comprises: the N CW same error correction coded block index position a set of all bits is encoded to obtain n code check blocks of length m bits, and all the bits of the same index position in the n code check blocks constitute the m check packets, wherein n is an integer greater than zero.
  • the set of all N CW error correction coded block of the same index position of bits constituting the encoded comprising: a set of N CW error correction coded block of the same index position of all bits constituting ratio is m
  • the m check bit is obtained by special or coding, where m is an integer greater than or equal to 1.
  • performing m-bit XOR encoding on a set of all bits of the same index position in the N CW error correction coding blocks to obtain an m parity bit includes: when m is equal to 1, different bits of the set are different Or get 1 check bit; when m is equal to 2, XOR the all bits of the set to get the 0th check bit, for the set including all bits of the set and the 0th check bit All bits of the odd or even index position are XORed to obtain the first parity bit.
  • the set of all N CW error correction coded block of the same index position of bits constituting the encoding comprising: a collection of all bits of the N CW error correction coded block of the same index position is configured hamming Encoding or BCH encoding obtains m parity bits, where m is an integer greater than or equal to one.
  • the method further includes: after adding the cyclic redundancy check sequence
  • the header or the tail of the i-th information data block is filled with e i bits to obtain N CW information data blocks each having a length of k 0 bits; wherein e i is an integer greater than or equal to 0, i
  • the method further includes: removing padding bits in the N CW error correction coding blocks.
  • removing the padding bits in the N CW error correction coding blocks includes: removing padding generation bits in the m parity packets, where the padding generation bits in the parity packet are: by N CW error correction coding blocks At least one or more padding bits of the bit data obtained by the encoding process; or removing the full padding generating bits in the m parity packets, wherein the full padding generating bits in the parity packet are all The bit data obtained by the encoding process is padded.
  • N number of information data blocks CW CW is N
  • the length of the first N CW1 information data blocks in the N CW information data blocks is L DPCW
  • the length of the N CW -N CW1 information data blocks is L DPCW -1
  • N CW1 mod(L, L DPCW -1)
  • mod(x1, x2) represents the remainder operation of the integer x1 for the integer x2
  • k 0 is an integer greater than 0 and less than or equal to k
  • k is the number of input information bits required for error correction coding
  • N number of information data blocks CW CW is N
  • the N CW length information data block N CW -1 before an information data block is The last information block length is LL DPCW ⁇ (N CW -1); Represents the smallest integer greater than or equal to the real number x, k 0 is an integer greater than 0 and less than or equal to k, k is the number of input information bits required for error correction coding, and k is an integer greater than zero.
  • the integer, s 0, 1, ..., (m-1), n s is the number of bits of the sth check packet, and n s is an integer greater than zero.
  • the values of h 1 and h 2 are determined by at least one of the following parameters: the number of error correction coding blocks N CW , the number m of parity packets, and the constant value A 0 , where A 0 is greater than or equal to 1. Integer.
  • h 1 and h 2 are respectively greater than 1 and less than or equal to among them, Represents the smallest integer greater than or equal to the real number x.
  • the h 1 and h 2 are equal to A 0 ⁇ N CW /(N CW +m) or or among them, Represents the largest integer less than or equal to the real number x, Represents the smallest integer greater than or equal to the real number x.
  • the method further includes: determining, by the data header of length L 0 bits, the source data packet, where the length The data header of L 0 bits includes at least one of the following parameters: the length of the source data packet, the coding modulation mode of the source data packet, the cyclic redundancy check code of the data header, and the initial state of the scrambler Obtaining a total coded data block including the data header by performing error correction coding on the data header of length L 0 to obtain a coded parity block having a length of L p bits, and combining the data head and the check block to obtain a mother code coded coding block, said copy of h 0 parts mother code coded block, the coded data to obtain a total head comprising a data block; data length of the header padding L 0 is F Bits, obtaining a data block of length k, performing error correction coding on the padded data block, obtaining
  • error correction coding is one of the following: LDPC coding, Turbo coding, and convolutional coding.
  • a data encoding apparatus including: a segmentation module configured to perform code block segmentation on a source data packet of length L bits to obtain N CW information data blocks; and adding a module, set to Adding a cyclic redundancy check sequence to each information data block, where L is an integer greater than 0, N CW is an integer greater than or equal to 1; an error correction coding module is set to be added after adding a cyclic redundancy check sequence N CW for said error correction encoded information data blocks to obtain N CW error correction coded blocks; coding processing module, to the N CW error correction coded blocks to obtain the N CW error correction coded blocks m verifying packets, wherein, m is an integer of 1; replication module, set up to replicate parts of 1 h and the m parity packet replication h the N CW error correction coded blocks used for transmission to obtain 2 parts The total coded data block, where h 1 and h 2 are real numbers greater than one.
  • the encoding processing module includes: an encoding processing sub-module configured to encode a set of all bits of the same index position in the N CW error correction encoding blocks to obtain n encodings each having a length of m bits a parity block, wherein the m parity packets are formed by all bits of the same index position in the n code check blocks, where n is an integer greater than zero.
  • the encoding processing sub-module includes: a processing unit configured to perform m-bit exclusive OR encoding on a set of all bits of the same index position in the N CW error correction coding blocks to obtain an m parity bit, where m Is an integer greater than or equal to 1.
  • the processing unit includes: a first processing subunit, configured to perform an exclusive OR of all bits of the set to obtain 1 parity bit when m is equal to 1, and a second processing subunit, set to be equal to m 2. XORing all the bits of the set to obtain a 0th check bit, and differentiating all bits of the odd or even index positions in the set including all bits of the set and the 0th check bit Or get the first check bit.
  • the encoding processing sub-module includes: an encoding unit configured to perform Hamming encoding or BCH encoding to obtain m parity bits for a set of all bits of the same index position in the N CW error correction encoding blocks, where m is an integer greater than or equal to 1.
  • the apparatus further includes: a removing module configured to remove padding bits in the N CW error correction coding blocks.
  • the removing module includes: a first removing unit configured to remove padding generation bits in the m parity packets, where the padding generation bits in the parity packet are: in the N CW error correction coding blocks At least one or more padding bits are subjected to encoding processing to obtain bit data; or a second removing unit is configured to remove the completely padding generating bits in the m parity packets, wherein the verification packet is completely
  • the padding generation bit is bit data obtained by encoding processing of all padding bits.
  • the replication module comprises: a second after the copying unit configured to copy the h N CW error correction coded block error correction coded blocks of the j-th part 1, to give Error correction coding block, length is Bit, among them, The complete j-th error correction coding block, the rest Parts of error correction coded j-th block n 'j bits, said n' j bits from the j-th loop error correction coded blocks of bits from the beginning of the continuous g 1j n 'j bits; for the m After the sth verification packet in the verification packet is duplicated, 2 copies are obtained.
  • the apparatus further includes: a determining module, configured to determine the source data packet by a data header of length L 0 bits, wherein the data header of length L 0 bits includes at least one of the following parameters: Decoding a length of the source data packet, a coding modulation mode of the source data packet, a cyclic redundancy check code of the data header, initial state information of the scrambler, and obtaining a total of the data header by using one of the following manners Encoding data block: performing error correction coding on the data header of length L 0 to obtain an encoding parity block of length L p bits, combining the data header and the coding parity block to obtain a mother code coding block, The mother code encoding block copies h 0 copies to obtain a total encoded data block including the data header; the data header of length L 0 is filled with f bits, and a data block of length k is obtained, and the padded block is obtained.
  • a determining module configured to determine the source data packet by a data
  • the data block is subjected to error correction coding to obtain a coded check block of length L p bits, and the data header of length L 0 and the coded check block are combined to obtain a mother code block, and the mother code is encoded.
  • h 0 parts of a block copy including to give The total encoded data block of said data header; the data length is L 0 head padding bits F 1, to obtain the data block length k 1, k of the filling length of the data block 1 was repeated i times to obtain a total length
  • the repeated data block is error-correction-coded or filled with f 2 bits and then subjected to error correction coding to obtain a code check of length L p bits.
  • N CW information data blocks are obtained by performing code block segmentation on a source data packet of length L bits, and a cyclic redundancy check sequence is added to each information data block, where L is an integer greater than 0, N CW is an integer greater than or equal to 1; the N CW information data blocks after adding a cyclic redundancy check sequence are subjected to error correction coding to obtain N CW error correction coding blocks; and the N CW error correction coding blocks are obtained.
  • the packet replica copy h 2 copies obtains a total coded data block for transmission, wherein h 1 and h 2 are real numbers greater than 1, which solves the problem that the coding method in the related art in the related art cannot well utilize the channel error correction coding gain.
  • the problem is that the coding gain can be better utilized and the performance is excellent at a relatively low coding rate.
  • FIG. 1 is a flow chart of a data encoding method according to an embodiment of the present invention.
  • FIG. 2 is a schematic diagram of encoding processing of N CW error correction coding blocks according to an embodiment of the present invention
  • FIG. 3 is a block diagram of a data encoding apparatus according to an embodiment of the present invention.
  • FIG. 4 is a block diagram 1 of a data encoding apparatus in accordance with a preferred embodiment of the present invention.
  • FIG. 5 is a block diagram 2 of a data encoding apparatus in accordance with a preferred embodiment of the present invention.
  • FIG. 6 is a block diagram 3 of a data encoding apparatus in accordance with a preferred embodiment of the present invention.
  • FIG. 7 is a schematic diagram of circulating consecutive bits in a bit data block according to an embodiment of the present invention.
  • FIG. 8 is a block diagram 4 of a data encoding apparatus in accordance with a preferred embodiment of the present invention.
  • FIG. 8 is a block diagram 5 of a data encoding apparatus in accordance with a preferred embodiment of the present invention.
  • FIG. 9 is a schematic diagram of padding bits in an LDPC coded block and a check packet according to an embodiment of the present invention.
  • FIG. 10 is a schematic diagram of a formatted data format according to an embodiment of the present invention.
  • FIG. 11 is a schematic diagram of simulation results according to an embodiment of the present invention.
  • FIG. 12 is a first schematic diagram of a coding manner of a data header according to a preferred embodiment of the present invention.
  • FIG. 13 is a second schematic diagram of a coding manner of a data header according to a preferred embodiment of the present invention.
  • FIG. 14 is a schematic diagram of a data header and data in accordance with an embodiment of the present invention.
  • FIG. 1 is a flowchart of a data encoding method according to an embodiment of the present invention. As shown in FIG. 1, the process includes the following steps:
  • Step S102 performing code block segmentation on a source data packet of length L bits to obtain N CW information data blocks
  • Step S104 adding a cyclic redundancy check sequence to each information data block, where L is an integer greater than 0, and N CW is an integer greater than or equal to 1;
  • Step S106 performing error correction coding on the N CW information data blocks after adding the cyclic redundancy check sequence, to obtain N CW error correction coding blocks;
  • Step S108 performing encoding processing on the N CW error correction coding blocks to obtain m parity packets of the N CW error correction coding blocks, where m is an integer greater than or equal to 1;
  • Step S110 the real number part 1 and m check packet replication h 2 parts to obtain a total coded data block for transmission, wherein, h 1 and h 2 h 1 is greater than N CW copy number of the error correction coded blocks.
  • code segmentation is performed on the source data packet of length L bits to obtain N CW information data blocks, and a cyclic redundancy check sequence is added to each information data block; after adding the cyclic redundancy check sequence N CW information data blocks are subjected to error correction coding to obtain N CW error correction coding blocks; encoding the N CW error correction coding blocks to obtain m parity packets of the N CW error correction coding blocks; The N CW error correction coding blocks and the m parity packets are duplicated to obtain a total coded data block for transmission, which solves the problem that the coding method in the related art cannot properly utilize the channel error correction coding gain in the related art. Therefore, the coding gain can be better utilized.
  • the N CW value of information data blocks is N CW
  • the length of the first N CW1 information data blocks in the N CW information data blocks is L DPCW
  • the length of the N CW -N CW1 information data blocks is L DPCW -1
  • N CW1 mod(L, L DPCW -1)
  • mod(x1, x2) represents the remainder operation of integer x1 for integer x2
  • k 0 is an integer greater than 0 and less than or equal to k
  • k is the number of input information bits required for error correction coding
  • k is An integer greater than 0.
  • FIG. 2 is a schematic diagram of encoding processing of N CW error correction coding blocks according to an embodiment of the present invention.
  • a set 204 of all bits 202 of the same index position in the N CW error correction coding blocks is shown.
  • Encoding is performed to obtain n code check blocks 206 each having a length of m bits, and all the bits of the same index position in the n code check blocks constitute the m check packets 208, where n is an integer greater than 0 .
  • the set of all N CW bits of error correction coded block of the same index position encoding configuration comprising: the set of all N CW bits of error correction coded block of the same index position is configured to obtain m m XOR coding A parity bit, where m is an integer greater than or equal to one.
  • the above m-bit XOR code refers to: a set D of all input c bits, binary exclusive-OR addition to a subset S 1 of the set D, to obtain a first check bit, for example, the S 1 is included All elements of the set D; binary exclusive-OR addition of a subset S 2 of the new set of the set D and the first check bit to obtain a second check bit, eg, the S 2 includes new All even subscript sets in the set; binary exclusive OR addition of a subset S 3 of the new set of the set D and the first check bit, the second check bit, to obtain the third check bit
  • the S 3 is a set including all odd subscripts in the new set; and so on, a binary XOR addition of a subset S m of the new set composed of the set D and the first m-1 check bits
  • the mth parity bit is obtained; the m-bit XOR coding mode is not limited thereto.
  • Performing m-bit XOR encoding on the set of all bits of the same index position in the N CW error correction coding blocks to obtain m parity bits includes: when m is equal to 1, XORs all bits of the set to obtain 1 calibration Check the bit, that is, the check packet is Where C 0 is Is N CW error correction coding blocks; when m is equal to 2, all bits of the set are XORed to obtain a 0th parity bit, for a set including all bits of the set and the 0th check bit All bits of the odd or even index position are XORed to obtain the first parity bit.
  • Encoding a set of N CW including the error correction coded block index for all the bit positions of the same configuration for Hamming codes or BCH coding is the set of all N CW bits constituting the error correction coded block of the same index position is obtained m check bit, where m is an integer greater than or equal to 1, wherein Hamming coding is an encoding method that can only correct one error, and the correction companion can directly index any one position error during decoding. , so it is a complete code, Hamming coding can be binary code or non-binary code.
  • N CW ⁇ 1), k 0 Is an integer greater than 0 and less than or equal to k, k is the number of input information bits required for error correction coding, k is an integer greater than 0; or, the i-th information data block after code block division and before adding the cyclic redundancy check sequence
  • Integer or, fill the e-bit at the beginning or the end of the source packet before the code block is split, so that the total length of the source packet becomes L 'Bits, where L' is an integer greater than or equal to L, and e is an integer greater than or equal to zero.
  • N CW padding bits in the error correction coding block After the encoding process to obtain m verifying packets, and the obtained copied before the total coded data block for transmission parts and h 1 m check the packet replication h 2 parts of N CW error correction coded block is removed N CW padding bits in the error correction coding block.
  • Removing the padding bits in the N CW error correction coding blocks may include: removing padding generation bits in the m parity packets, the pad generation bits in the parity packet being: at least 1 of the N CW error correction coding blocks
  • the padded bits are subjected to the bit data obtained by the encoding process; or, the completely padding generated bits in the m check packets are removed, wherein the fully padding generated bits in the check packet are bit data obtained by encoding the padding bits.
  • N CW value of information data blocks is N CW
  • the length of the first N CW1 information data blocks in the N CW information data blocks is L DPCW
  • the length of the N CW -N CW1 information data blocks is L DPCW -1
  • N CW1 mod(L, L DPCW -1)
  • mod(x1, x2) represents the remainder operation of the integer x1 for the integer x2
  • k 0 is an integer greater than 0 and less than or equal to k
  • k is the number of input information bits required for error correction coding
  • N CW information data blocks is N CW
  • the N CW length information data block N CW -1 before an information data block is The last information block length is LL DPCW ⁇ (N CW -1); Represents the smallest integer greater than or equal to the real number x, k 0 is an integer greater than 0 and less than or equal to k, k is the number of input information bits required for error correction coding, and k is an integer greater than zero.
  • Copy the error correction coded block N CW h 1 parts by verifying packets and copy the m h 2 parts by total obtained for transmission of encoded data blocks may include: the first N CW j of the error correction coded block
  • the error correction coding block copies h 1 copies to obtain n1 j bits including, for the jth error correction coding block copy Get Bit data block, the bits of n1 j is obtained in the data block of the beginning of a continuous loop 1j bits n1 j bits, wherein, n1 j is greater than or equal And less than or equal to An integer of the n1 j bits is not limited thereto; copying h 2 copies of the sth check packets in the m check packets to obtain n2 s bits, including: encoding the sth error correction Block copy Get a data block of bits, the resulting n2 s bits being a cyclic continuous n2 s bit starting at the a 2s bit in the data block, where n2 s is
  • And encoding the N CW error correction coding blocks and the m parity packets to obtain the total coded data block for transmission may include: decoding the jth error correction coding block in the N CW error correction coding blocks After copying h 1 part, get Error correction coding block, length is Bit, among them, The complete j-th error correction coding block, the rest Parts of error correction coded j-th block n 'j bits, said n' j bits from the j-th loop error correction coded blocks of bits from the beginning of the continuous g 1j n 'j bits; the n' j
  • the manner of obtaining bits is not limited to this; after copying h 2 copies of the sth check packet of the m check packets, Check package, length is Bit, among them, The share is the complete s-th check package, the rest The part is the n 's bit of the sth check packet, and the n 's bit is taken from the consecutive n 's bits of
  • the values of h 1 and h 2 are determined by at least one of the following parameters: the number of error correction coding blocks N CW , the number m of parity packets, and the constant value A 0 , where A 0 is an integer greater than or equal to .
  • h 1 and h 2 are greater than 1 and less than or equal to among them, Represents the smallest integer greater than or equal to the real number x.
  • h 1 and h 2 are equal to A 0 ⁇ N CW /(N CW +m) or or among them, Represents the largest integer less than or equal to the real number x, Represents the smallest integer greater than or equal to the real number x.
  • the source data packet Before performing code block segmentation on the source data packet of length L bits to obtain N CW information data blocks, the source data packet is determined by a data header of length L 0 bits, wherein the data header of the length L 0 bits is at least
  • the method includes one of the following parameters: a length of the source data packet, a coding modulation mode of the source data packet, a cyclic redundancy check code of the data header, and initial state information of the scrambler; and the data is obtained by using one of the following manners.
  • a total coded data block of the header error correction coding of the data header of length L 0 to obtain a coded parity block of length L p bits, combining the data header and the coded check block to obtain a mother code code block, The mother code coding block copies h 0 copies to obtain a total coded data block including the data header; the data header of length L 0 is filled with f bits to obtain a data block of length k, and the padded data block is performed.
  • the above error correction coding is one of the following: LDPC coding, Turbo coding, and convolutional coding.
  • the embodiment of the present invention further provides a data encoding apparatus, which is used to implement the foregoing embodiments and preferred embodiments, and has not been described again.
  • the term "module” may implement a combination of software and/or hardware of a predetermined function.
  • the apparatus described in the following embodiments is preferably implemented in software, hardware, or a combination of software and hardware, is also possible and contemplated.
  • FIG. 3 is a block diagram of a data encoding apparatus according to an embodiment of the present invention. As shown in FIG. 3, the method includes:
  • the segmentation module 32 is configured to perform code block segmentation on the source data packet of length L bits to obtain N CW information data blocks;
  • the adding module 34 is configured to add a cyclic redundancy check sequence to each information data block, where L is an integer greater than 0, and N CW is an integer greater than or equal to 1;
  • the error correction coding module 36 is configured to perform error correction coding on the N CW information data blocks after adding the cyclic redundancy check sequence to obtain N CW error correction coding blocks.
  • Coding processing module 38 is set to m parity packets of the error correction coded blocks N CW to give the N CW error correction coded blocks, where, m is an integer of 1;
  • Copy module 310 is set to h 1 copy of the parts and the packet replication h m check the error correction coded block N CW total parts obtained encoded data block 2 for transmission, wherein, h 1 and h 2 are A real number greater than one.
  • the encoding processing module 38 includes:
  • the encoding processing sub-module 42 is configured to encode a set of all bits of the same index position in the N CW error correction coding blocks, to obtain n code parity blocks each having a length of m bits, and n coding schools All bits of the same index position in the block constitute the m check packets, where n is an integer greater than zero.
  • the above m-bit XOR code refers to: a set D of all input c bits, binary exclusive-OR addition to a subset S 1 of the set D, to obtain a first check bit, for example, the S 1 is included All elements of the set D; binary exclusive-OR addition of a subset S 2 of the new set of the set D and the first check bit to obtain a second check bit, eg, the S 2 includes new All even subscript sets in the set; binary exclusive OR addition of a subset S 3 of the new set of the set D and the first check bit, the second check bit, to obtain the third check bit
  • the S 3 is a set including all odd subscripts in the new set; and so on, a binary XOR addition of a subset S m of the new set composed of the set D and the first m-1 check bits
  • the mth parity bit is obtained; the m-bit XOR coding mode is not limited thereto.
  • the encoding processing sub-module 42 includes: a processing unit configured to perform m-bit exclusive OR encoding on the set of all bits of the same index position in the N CW error correction encoding blocks to obtain m parity bits, where m is greater than An integer equal to 1.
  • the processing unit may include: a first processing subunit, configured to when X is equal to 1, XORing all bits of the set to obtain 1 parity bit; and second processing subunit, setting To make m equal to 2, XOR the all bits of the set to get the 0th check bit, all bits of the odd or even index position in the set including all bits of the set and the 0th check bit XOR is obtained to obtain the first parity bit.
  • the encoding processing sub-module 42 includes: an encoding unit configured to perform Hamming encoding or BCH encoding on the set of all bits of the same index position in the N CW error correction encoding blocks to obtain m parity bits, where m Is an integer greater than or equal to 1.
  • FIG. 5 is a block diagram 2 of a data encoding apparatus according to a preferred embodiment of the present invention. As shown in FIG. 5, the apparatus further includes:
  • the second padding module 54 is configured to fill the e i bit of the i-th information data block before the code block partitioning and before adding the cyclic redundancy check sequence to obtain N CW information having a length of k 0 bits.
  • the third padding module 56 is configured to fill the e-bit at the head or the tail of the source packet before the code block is split, such that the total length of the source packet becomes L' bits, where L' is an integer greater than or equal to L, e is An integer greater than or equal to 0.
  • FIG. 6 is a block diagram 3 of a data encoding apparatus according to a preferred embodiment of the present invention. As shown in FIG. 6, the apparatus further includes:
  • the removal module 62 is arranged to remove padding bits in the N CW error correction coding blocks.
  • the removing module 62 may include: a first removing unit, configured to remove padding generating bits in the m check packets, where the padding generating bits in the check packet are: N CW correcting At least one padding bit in the erroneous coding block is subjected to the bit data obtained by the encoding process; or the second removing unit is configured to remove the full padding generation bit in the m parity packets, wherein the padding in the parity packet is completely filled
  • the generated bits are bit data obtained by encoding processing all of the padding bits.
  • the copying module 310 includes: a first copying unit, configured to copy h 1 copies of the jth error correction coding block in the N CW error correction coding blocks to obtain n1 j bits, including, for the jth Error correction coding block copy Get Bit data block, the bits of n1 j is obtained in the data block of the beginning of a continuous loop 1j bits n1 j bits, wherein, n1 j is greater than or equal And less than or equal to An integer of the n1 j bits is not limited thereto; copying h 2 copies of the sth check packets in the m check packets to obtain n2 s bits, including: encoding the sth error correction Block copy Get a data block of bits, the resulting n2 s bits being a cyclic continuous n2 s bit starting at the a 2s bit in the data block, where n2 s is greater than or equal to And less than or equal to The integer of the n2 s bits is
  • the replication module 310 includes: a second reproducing unit provided for the replication h after the N CW error correction coded block error correction coded blocks of the j-th part 1, to give Error correction coding block, length is Bit, among them, The complete j-th error correction coding block, the rest Parts of error correction coded j-th block n 'j bits, said n' j bits from the j-th loop error correction coded blocks of bits from the beginning of the continuous g 1j n 'j bits; the n' j
  • the manner of obtaining bits is not limited to this; after copying h 2 copies of the sth check packet of the m check packets, Check package, length is Bit, among them, The share is the complete s-th check package, the rest The part is the n 's bit of the sth check packet, and the n 's bit is taken from the consecutive n 's bits of the sth check packet starting from the g2s bit; the n '
  • a cyclic continuous x 2 bit from a x 1 bit in a data block means: one data block.
  • FIG. 8 is a block diagram 4 of a data encoding apparatus according to a preferred embodiment of the present invention. As shown in FIG. 8, the apparatus further includes:
  • the determining module 82 is configured to determine the source data packet by a data header of length L 0 bits, wherein the data header of length L 0 bits includes at least one of the following parameters: a length of the source data packet, the source data packet Coding modulation mode, cyclic redundancy check code of the data header, initial state information of the scrambler; obtaining a total coded data block including the data header by one of the following methods: performing the data header of length L 0 Error correction coding, obtaining a code check block of length L p bits, combining the data header and the code check block to obtain a mother code block, and copying 0 0 copies of the code block to obtain a total of the data header Encoding the data block; filling the data header with the length L 0 by f bits, obtaining a data block of length k, performing error correction coding on the filled data block, obtaining a coding parity block having a length of L p bits, and merging The data header of length L 0 and the code
  • Error coding obtaining a code check block of length L p bits, combining the data header of length L 0 and the code check block to obtain a mother code block, and copying 0 0 copies of the code block of the mother code to obtain the total encoded data block of the data head;
  • L 0 is the length of the header padding bits f 1
  • L 0 is An integer greater than 0
  • L p is an integer greater than 0
  • h 0 is an integer greater than
  • f is an integer greater than or equal to
  • k is the number of input information bits required for error correction coding
  • k is an integer greater than 0
  • k 1 is An integer greater than L 0 and less than or equal to k
  • j is an integer greater than
  • i is an integer greater than
  • k 2 is an integer greater than k 1 and less than or equal to k
  • f 1 is an integer greater than or equal to 0, and f 2 is greater than An integer equal to 0.
  • each of the above modules may be implemented by software or hardware.
  • the foregoing modules may be implemented by, but not limited to, the foregoing modules are located in different processors in any combination, for example, each of the foregoing. Modules are all located in the same processor; or each of the above modules is located in a different processor.
  • the optional embodiment provides a data coding method to improve the reliability of the overall data packet transmission.
  • N CW complex error correction coded block h 1 and m check parts of the packet replication h 2 parts to obtain a total coded data blocks; transmitting said encoded data blocks total;
  • L is an integer greater than 0, N CW is an integer 1, k 0 is greater than 0
  • each copy of the error correction coded block N CW before the parts 1 H first remove the stuffing bits; h 2 times prior to the verifying packets are copied m, to m parity packets remove all Bit data obtained by encoding processing by padding bits.
  • the values of h 1 and h 2 are dependent on one or more of the following parameters: the number of error correction coding blocks N CW , the number m of parity packets, and a constant value A 0 ; wherein N CW is greater than or equal to An integer of 1, m is an integer greater than or equal to 1, and A 0 is an integer greater than or equal to 1. Wherein the values of h 1 and h 2 are integers greater than or equal to 1.
  • the values of h 1 and h 2 are equal to A 0 ⁇ N CW /(N CW +m) or or among them, Represents the largest integer less than or equal to the real number x, Represents the smallest integer greater than or equal to the real number x, A 0 is an integer greater than or equal to 1, N CW is the number of error correction coding blocks, and m is the number of parity packets.
  • the replication h j-th error correction coded blocks 1 part total Error correction coding block, which has The complete is the jth error correction coding block, the length is n j , there is Parts of non-full error correction coded blocks j-th, j-th cycle from which the error correction coded block begins from the first bit g 1 consecutive n 'j bits; the The manner of obtaining the portion is not limited to this; the copying of the s-th verification packet is described as 2 copies, total Check package, which has The share is the complete s-th check packet, the length is n s , there is Parts of non-full s verifying packets, from which the s-th cycle verifying packets from the beginning of the second consecutive bits g 2 n 's bits; the The manner of obtaining the shares is not limited thereto; FIG.
  • a cyclic continuous x 2 from a x 1 bit from a data block bit means: a first block of data from the start bit x 1 taken from front to back extracted bits x 2 consecutive cycles 802, if no hit the tail of the data taken from the start of the header, to take up until x 2 bits; or from Forward the consecutive x 2 bits 804, if it encounters no data in the header, it will start from the tail until it reaches x 2 bits;
  • n j is the number of bits of the jth error correction coding block
  • n j is an integer greater than
  • g 1 is an integer greater than or equal to
  • n' j is less than or equal to
  • the coding method performed by the set of all bits of the same index position in the a error correction coding blocks is m-bit XOR code, where m is an integer greater than or equal to 1.
  • the above m-bit XOR code refers to: a set D of all input c bits, binary exclusive-OR addition to a subset S 1 of the set D, to obtain a first check bit, for example, the S 1 is included All elements of the set D; binary exclusive-OR addition of a subset S 2 of the new set of the set D and the first check bit to obtain a second check bit, eg, the S 2 includes new All even subscript sets in the set; binary exclusive OR addition of a subset S 3 of the new set of the set D and the first check bit, the second check bit, to obtain the third check bit
  • the S 3 is a set including all odd subscripts in the new set; and so on, a binary XOR addition of a subset S m of the new set composed of the set D and the first
  • the data header comprising at least one or more of the following parameters: a cyclic redundancy check code of the data header, a length of the source data packet, and the source data
  • the coding mode of the packet; the coding mode of the data header is one of the following ways:
  • Method 1 error correction coding for a data header of length L 0 to obtain a coding parity block of length L p bits; combining the data header and the coding parity block to obtain a mother code coding block; Code code block copy h 0 copies, obtain a data header total coded data block; send the data header total coded data block;
  • Method 2 Filling a data bit of length L 0 with f bits to obtain a data block of length k; performing error correction coding on the padded data block to obtain a coded parity block having a length of L p bits; Deriving a data header of length L 0 and the coded parity block to obtain a mother code coding block; copying 0 0 copies to the mother code coding block to obtain a data header total coded data block; and transmitting the data header total coded data Piece;
  • Embodiment 4 f padding bits of the first data length L 0, the obtained data block length k 1; k after filling the length of the data block includes j successive subblocks, the j-th data of these packets are repeated i And obtaining a data block having a total length of k 2 bits; performing error correction coding on the repeated data block to obtain an encoded parity block having a length of L p bits; and combining the data header and the length of the L 0 Encoding a parity block to obtain a mother code encoding block; copying 0 0 copies to the mother code encoding block to obtain a data header total encoded data block; and transmitting the data header total encoded data block;
  • Embodiment 5 The data header length L 0 F 1 bit padding to obtain a data block length k 1; k after filling the length of the data block includes j successive subblocks, the j-th data of these packets are repeated i times, obtaining a data block with a total length of k 2 bits; refilling the repeated data blocks with f 2 bits to obtain a data block of length k; performing error correction coding on the refilled data block, Obtaining an encoding parity block of length L p bits; combining the data header of length L 0 and the encoding parity block to obtain a mother code encoding block; and copying 0 0 copies of the mother code encoding block to obtain data
  • the header always encodes a data block; the data header is encoded as a total encoded data block.
  • L 0 is an integer greater than 0
  • L p is an integer greater than 0
  • h 0 is an integer greater than
  • f is an integer greater than or equal to
  • k is the number of input information bits required for error correction coding, and k is greater than 0
  • An integer k 1 is an integer greater than L 0 and less than or equal to k
  • j is an integer greater than
  • i is an integer greater than
  • k 2 is an integer greater than k 1 and less than or equal to k
  • f 1 is an integer greater than or equal to 0
  • f 2 is an integer greater than or equal to zero.
  • a source data packet (data field data) to be transmitted is 3280 bits in size, and a source data packet includes a 16-bit cyclic redundancy check sequence of the source data packet.
  • the coding method used is LDPC coding, the code rate is 1/2, and the code length is 672 bits, so the information bits required for LDPC coding are 336 bits.
  • FIG. 10 is a schematic diagram of a coded data format according to an embodiment of the present invention.
  • FIG. 11 is a schematic diagram of simulation results according to an embodiment of the present invention. As shown in FIG. 11, compared with the performance of the coding scheme in 11ad, it can be seen that there is a superior performance gain (with a gain of more than 1 dB), indicating that the inventive scheme is innovative. .
  • the source data packet (data field data) to be transmitted is 3248 bits in size, and the coding mode used is LDPC coding, the code rate is 1/2, and the code length is 672 bits. Therefore, the information bits required for LDPC encoding are 336 bits, including:
  • the length of 8 information data blocks is 333 bits, and the length of the last 2 information data blocks is 332 bits.
  • the length of the data block is up to 336 bits;
  • FIG. 11 is a schematic diagram of padding bits in the LDPC encoding block and the check packet according to an embodiment of the present invention, as shown in FIG. As shown, all padding bits 1102 in the 10 LDPC coded blocks are removed, 3 bits of fully padding generated bits 1106 in the check packet are removed (the 3 bits are all obtained by padding bits through 1-bit XOR encoding) or the check packet is removed.
  • the specific copying method is as follows: the first 8 LDPC encoding block copies are copied.
  • n j 669, copying h 1 copies of the jth error correction coding block, common Share
  • Bit, j 8,9; the one check packet is copied and h 2 copies are obtained.
  • n s 669, total Share
  • the expansion factor is equal to 42, the purpose is to repeat with the expansion factor as the base, and the decoding performance of the LDPC code is better.)
  • the source data packet (data field data) to be transmitted is 4096 bits (512 bytes), except for the source data packet (data portion data). Also included is a 40-bit header, such as a header 1400 and a source packet data 1401 as shown in FIG.
  • the coding method used is LDPC coding, the code rate is 1/2, and the code length is 672 bits. Therefore, the information bits required for LDPC coding are 336 bits, and the parity bits are 336 bits.
  • FIG. 14 is a schematic diagram of a data header and data according to an embodiment of the present invention. As shown in FIG. 14, the method includes:
  • the encoding of the data header includes: padding 2 bits in the header of the 40-bit header, expanding the information block length to 42 bits, and the length is exactly equal to the spreading factor of the LDPC code (the spreading factor is equal to 42, the purpose is to The spreading factor is repeated for the base number, and the decoding performance of the LDPC code is better. It is expressed as ([0,0], b 0 , b 1 ,..., b 39 ), and then the filled data is repeated once, after the repetition is obtained.
  • N CW1 mod((Length ⁇ 8), (L DPCW1 -1))
  • L m is the bit length of the mth information block after adding the CRC sequence
  • Table 3 the spreading factor
  • Embodiment 6 (other coding methods)
  • Embodiment 6 The difference between Embodiment 6 and Embodiments 1 to 5 lies in the error correction coding method.
  • the error correction coding method used is convolutional coding, RS coding, Turbo coding or BCH coding.
  • the performance of the overall data packet is improved, thereby improving the reception robustness, and the performance is superior to the conventional data encoding scheme.
  • modules or steps of the present invention described above can be implemented by a general-purpose computing device that can be centralized on a single computing device or distributed across a network of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device such that they may be stored in the storage device by the computing device and, in some cases, may be different from the order herein.
  • the steps shown or described are performed, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps thereof are fabricated as a single integrated circuit module.
  • the invention is not limited to any specific combination of hardware and software.
  • the foregoing embodiments of the present invention can be applied to the field of communications, and solve the problem that the coding method in the related art in the related art cannot utilize the channel error correction coding gain well, so that the coding gain can be better utilized, and the coding gain is relatively low. Excellent performance at code rate.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明公开了一种数据编码方法及装置,其中,该方法包括:对长度为L比特的源数据包进行码块分割得到NCW个信息数据块,对每个信息数据块添加循环冗余校验序列,其中,L是大于0的整数,NCW是大于等于1的整数;在添加循环冗余校验序列后的该NCW个信息数据块进行纠错编码,获得NCW个纠错编码块;对该NCW个纠错编码块进行编码处理得到该NCW个纠错编码块的m个校验包,其中,m是大于等于1的整数;对该NCW个纠错编码块复制h1份和该m个校验包复制h2份得到用于传输的总编码数据块,解决了相关技术中的编码方式不能很好的利用信道纠错编码增益的问题,从而能够更好的利用编码增益,在比较低的编码码率下性能优异。

Description

数据编码方法及装置 技术领域
本发明涉及通信领域,具体而言,涉及一种数据编码方法及装置。
背景技术
在无线数字通信***中,包括发送端和接收端两个大部分,其中一般发送端包括信源模块、信道编码模块、调制模块和发射模块等,而接收端则是按相反的操作解出信源数据,一般包括接收模块、解调模块、信道译码模块和获取信源模块等。可见,在数字通信中,信道编码是一个关键模块,主要是为了提高数据传输的可靠性,利用信道编码码字的冗余信息将数据在传输过程出现的错误纠正过来。
常用的纠错编码技术如LDPC编码、Turbo编码、卷积编码、RS编码等。其中,LDPC是低密度奇偶校验编码,它的校验矩阵非常稀疏,故而译码复杂度不高,同时具有天然的译码并行性,可以并行译码获得比较高的译码吞吐量,而且性能非常接近香农极限,现在LDPC编码方式已用于多种通信***中;Turbo编码通过两个分量码对信息进行编码,利用两部分分量码进行迭代译码,可以提高译码性能,在中低码率时性能非常好,而且码率和码长可以比较灵活设置,很好适应各种通信数据,在现有的LTE通信***中主要采用的是Turbo编码方式;卷积编码当前编码输出不仅与当前信息有关还和以前的若干信息有关,类似于卷积特性,译码效果比较好,在许多***中也都有使用;RS编码是一种最短码距最大化码,而且译码可以采用流水线式译码,译码速度高速而且吞吐量高。
为了让接收端能正确判断接收到的数据包或者编码码字中的信息块是正确的,在数字通信中还需要对数据包或者码字信息块进行校验,即添加一些校验序列,使得接收端利用该校验序列判断接收的数据包或者编码码字信息块正确与否。常用的校验方法为循环冗余校验码,其信息块长度以及校验码长度可以任意设置,使用非常简便,数据块接收完时,对完整数据块进行模二除求余算法,通过余数是否为全零判断该接收数据块的正确性,在较多通信***中都使用循环冗余校验码。
在一些室内通信或者其他需要极低信噪比才能工作的场景中,为了使得一些重要数据能正常传输,则需要采用极低的编码码率,一般有两种方式进行:1、对原有数据块重复传输多次,或者利用扩频序列将数据扩频发送;2、采用极低码率的编码方式,以实现译码工作点在较低信噪比下工作。第1种方式是一种传统数据传输方法,通过重复或者扩频以提高发射功率来增加接收正确性,即如果性能达不到要求则多传输一 次或者增加发射功率,一定程度上可以提高数据传输的可靠性,但并不能很好的利用信道纠错编码增益。虽然简单扩频重复会带来一定的增益,而且在重复次数较少情况下时代价不是很高,但是,重复次数较多时,需要付出的代价会越来越多。如在802.11ad中,定向吉比特级控制数据块(DMG control PHY),为了在极低的信噪比下工作,则将数据头(head)编码采用低于1/2码率进行编码并通过扩频系列扩频32倍,数据域data)部分采用码率为1/2进行编码并通过扩频系列扩频32倍,从而可以使得工作点在信噪比为-15dB左右。采用第2种方式,即采用极低码率编码方式实现,则会带来比较大的译码复杂度。
针对相关技术中相关技术中的编码方式不能很好的利用信道纠错编码增益的问题,目前尚未提出有效的解决方案。
发明内容
本发明提供了一种数据编码方法及装置,以至少解决相关技术中的编码方式不能很好的利用信道纠错编码增益的问题。
根据本发明的一个方面,提供了一种数据编码方法,包括:对长度为L比特的源数据包进行码块分割得到NCW个信息数据块;对每个信息数据块添加循环冗余校验序列,其中,L是大于0的整数,NCW是大于等于1的整数;在添加循环冗余校验序列后的所述NCW个信息数据块进行纠错编码,获得NCW个纠错编码块;对所述NCW个纠错编码块进行编码处理得到所述NCW个纠错编码块的m个校验包,其中,m是大于等于1的整数;对所述NCW个纠错编码块复制h1份和所述m个校验包复制h2份得到用于传输的总编码数据块,其中,h1和h2是大于1的实数。
进一步地,对所述NCW个纠错编码块进行编码处理得到所述NCW个纠错编码块的所述m个校验包包括:对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行编码,获得n个长度都为m比特的编码校验块,由n个所述编码校验块中相同索引位置的所有比特构成所述m个校验包,其中,n是大于0的整数。
进一步地,对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行编码包括:对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行m比特异或编码获得m校验比特,其中m是大于等于1的整数。
进一步地,对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行 m比特异或编码获得m校验比特包括:当m等于1,对所述集合的所有比特进行异或得到1个校验比特;当m等于2,对所述集合的所有比特进行异或得到第0个校验比特,对包括所述集合的所有比特和第0个校验比特在内的集合中奇数或者偶数索引位置的所有比特进行异或得到第1个校验比特。
进一步地,对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行编码包括:对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行汉明编码或者BCH编码获得m校验比特,其中m是大于等于1的整数。
进一步地,在添加循环冗余校验序列后的所述NCW个信息数据块进行纠错编码,获得NCW个纠错编码块之前,还包括:在添加循环冗余校验序列后的第i个信息数据块的首部或者尾部填充ei比特,得到长度均为k0比特的NCW个信息数据块,其中,ei是大于等于0的整数,i=0,1,…,(NCW-1),k0是大于0小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数;或者,在码块分割之后且添加循环冗余校验序列之前的第i个信息数据块的首部或者尾部填充ei比特,得到长度均为k0比特的NCW个信息数据块;其中,ei是大于等于0的整数,i=0,1,…,(NCW-1),k0是大于0小于等于k'的整数,k'=k-l,k是纠错编码需要输入信息比特数目,k是大于0的整数,l是循环冗余校验序列长度,l是大于0的整数。
进一步地,在编码处理得到m个校验包之后,且在对所述NCW个纠错编码块复制h1份和所述m个校验包复制h2份得到用于传输的所述总编码数据块之前,还包括:去除NCW个纠错编码块中的填充比特。
进一步地,去除NCW个纠错编码块中的填充比特包括:去除m个校验包中的填充生成比特,所述校验包中的填充生成比特是:由NCW个纠错编码块中的至少1个或者1个以上的填充比特经过编码处理得到的比特数据;或者,去除m个校验包中的完全填充生成比特,其中,所述校验包中的完全填充生成比特为全由填充比特经过编码处理得到的比特数据。
进一步地,所述NCW个信息数据块中NCW的数值为
Figure PCTCN2016072514-appb-000001
所述NCW个信息数据块中前NCW1个信息数据块的长度为LDPCW,后NCW-NCW1个信息数据块长度为LDPCW-1;其中,
Figure PCTCN2016072514-appb-000002
NCW1=mod(L,LDPCW-1),
Figure PCTCN2016072514-appb-000003
表示大于等于实数 x的最小整数,mod(x1,x2)表示整数x1对整数x2的求余操作,k0是大于0且小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数。
进一步地,所述NCW个信息数据块中NCW的数值为
Figure PCTCN2016072514-appb-000004
所述NCW个信息数据块中前NCW-1个信息数据块的长度为
Figure PCTCN2016072514-appb-000005
最后1个信息数据块长度为L-LDPCW×(NCW-1);其中,
Figure PCTCN2016072514-appb-000006
表示大于等于实数x的最小整数,k0是大于0小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数。
进一步地,对所述NCW个纠错编码块中的第j个纠错编码块复制h1份,得到n1j比特,包括,对第j个纠错编码块复制
Figure PCTCN2016072514-appb-000007
份得到
Figure PCTCN2016072514-appb-000008
比特的数据块,所述得到的n1j比特是所述数据块中第a1j比特开始的循环连续n1j比特,其中,n1j是大于等于
Figure PCTCN2016072514-appb-000009
且小于等于
Figure PCTCN2016072514-appb-000010
的整数;对所述m个校验包中的第s个校验包复制h2份,得到n2s比特,包括:对第s个纠错编码块复制
Figure PCTCN2016072514-appb-000011
份得到
Figure PCTCN2016072514-appb-000012
比特的数据块,所述得到的n2s比特是所述数据块中第a2s比特开始的循环连续n2s比特,其中,n2s是大于等于
Figure PCTCN2016072514-appb-000013
且小于等于
Figure PCTCN2016072514-appb-000014
的整数;其中,j=0,1,…,(NCW-1),s=0,1,…,(m-1),nj是第j个纠错编码块的比特数目,nj是大于0的整数,ns是第s个校验包的比特数目,ns是大于0的整数,h1和h2是大于1的实数,a1j是大于等于0小于
Figure PCTCN2016072514-appb-000015
的整数,a2s是大于等于0小于
Figure PCTCN2016072514-appb-000016
的整数,
Figure PCTCN2016072514-appb-000017
表示小于等于实数x的最大整数,
Figure PCTCN2016072514-appb-000018
表示大于等于实数x的最小整数。
进一步地,对所述NCW个纠错编码块中的第j个纠错编码块复制h1份之后,得到
Figure PCTCN2016072514-appb-000019
份纠错编码块,长度为
Figure PCTCN2016072514-appb-000020
比特,其中,有
Figure PCTCN2016072514-appb-000021
份是完整的第j个纠错编码块,其余的
Figure PCTCN2016072514-appb-000022
份是第j个纠错编码块的n'j比特,所述n'j比特取自第j个纠错编码块中从第g1j比特开始的循环连续n'j比特;对所述m个校验包中的第s个校验包复制h2份之后,得到
Figure PCTCN2016072514-appb-000023
份校验包,长度为
Figure PCTCN2016072514-appb-000024
比特,其中,有
Figure PCTCN2016072514-appb-000025
份是完整的第s个校验包,其余的
Figure PCTCN2016072514-appb-000026
份是第s个校验包的n's比特,所述n's比特取自第s个校验包中从第g2s比特开始的循环连续n's比特;其中,j=0,1,…,(NCW-1),h1和h2是大于1的实数,nj是第j个纠错编码块的比特数目,nj是大于0的整数,g1j是 大于等于0小于nj的整数,n'j是大于等于0且小于等于
Figure PCTCN2016072514-appb-000027
的整数,s=0,1,…,(m-1),ns是第s个校验包的比特数目,ns是大于0的整数,g2s是大于等于0小于ns的整数,n's是小于等于
Figure PCTCN2016072514-appb-000028
的整数。
进一步地,对所述NCW个纠错编码块复制h1份和所述m个校验包复制h2份得到用于传输的所述总编码数据块包括:若h1和h2的值为整数,则对所述NCW个纠错编码块中第j个纠错编码块复制h1份,得到nj×h1比特,对所述m个校验包中第s个校验包分别复制h2份,得到ns×h2比特;其中,j=0,1,…,(NCW-1),nj是第j个纠错编码块的比特数目,nj是大于0的整数,s=0,1,…,(m-1),ns是第s个校验包的比特数目,ns是大于0的整数。进一步地,所述h1和h2的值至少由以下参数之一确定:纠错编码块的数目NCW、校验包的数目m和常数值A0,其中,A0是大于等于1的整数。
进一步地,所述h1和h2的数值分别为大于1小于等于
Figure PCTCN2016072514-appb-000029
其中,
Figure PCTCN2016072514-appb-000030
表示大于等于实数x的最小整数。
进一步地,所述h1和h2等于A0×NCW/(NCW+m)或者
Figure PCTCN2016072514-appb-000031
或者
Figure PCTCN2016072514-appb-000032
其中,
Figure PCTCN2016072514-appb-000033
表示小于等于实数x的最大整数,
Figure PCTCN2016072514-appb-000034
表示大于等于实数x的最小整数。
进一步地,在对长度为L比特的源数据包进行码块分割得到NCW个信息数据块之前,还包括:通过长度为L0比特的数据头确定所述源数据包,其中,所述长度为L0比特的数据头至少包含以下参数之一:所述源数据包的长度,所述源数据包的编码调制方式,所述数据头的循环冗余校验码,扰码器的初始状态信息;通过以下方式之一得到包括所述数据头的总编码数据块:对长度为L0的所述数据头进行纠错编码,获得长度为Lp比特的编码校验块,合并所述数据头和所述编码校验块得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;对长度为L0的所述数据头填充f比特,获得长度为k的数据块,对填充后的所述数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并长度为L0的所述数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;对 长度为L0的所述数据头填充f1比特,获得长度为k1的数据块,对填充后长度为k1的数据块重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对重复后的所述数据块进行纠错编码或者填充f2比特然后进行纠错编码,获得长度为Lp比特的编码校验块,合并所述长度为L0的数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;对长度为L0的所述数据头填充f比特,获得长度为k1的数据块,填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对所述重复后的数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并所述长度为L0的数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;对长度为L0的所述数据头填充f1比特,获得长度为k1的数据块,填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对所述重复后的数据块再填充f2比特,获得长度为k的数据块,对所述再填充后的数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并所述长度为L0的数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;其中,L0是大于0的整数,Lp是大于0的整数,h0是大于0的整数,f是大于等于0的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数,k1是大于L0且小于等于k的整数,j是大于0的整数,i是大于0的整数,k2是大于k1且小于等于k的整数,f1是大于等于0的整数,f2是大于等于0的整数。
进一步地,所述纠错编码为以下之一:LDPC编码,Turbo编码,卷积编码。
根据本发明的另一方面,还提供了一种数据编码装置,包括:分割模块,设置为对长度为L比特的源数据包进行码块分割得到NCW个信息数据块;添加模块,设置为对每个信息数据块添加循环冗余校验序列,其中,L是大于0的整数,NCW是大于等于1的整数;纠错编码模块,设置为在添加循环冗余校验序列后的所述NCW个信息数据块进行纠错编码,获得NCW个纠错编码块;编码处理模块,设置为对所述NCW个纠错编码块进行得到所述NCW个纠错编码块的m个校验包,其中,m是大于等于1的整 数;复制模块,设置为对所述NCW个纠错编码块复制h1份和所述m个校验包复制h2份得到用于传输的总编码数据块,其中,h1和h2是大于1的实数。
进一步地,所述编码处理模块包括:编码处理子模块,设置为对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行编码,获得n个长度都为m比特的编码校验块,由n个所述编码校验块中相同索引位置的所有比特构成所述m个校验包,其中,n是大于0的整数。
进一步地,所述编码处理子模块包括:处理单元,设置为对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行m比特异或编码获得m校验比特,其中m是大于等于1的整数。
进一步地,所述处理单元包括:第一处理子单元,设置为当m等于1,对所述集合的所有比特进行异或得到1个校验比特;第二处理子单元,设置为当m等于2,对所述集合的所有比特进行异或得到第0个校验比特,对包括所述集合的所有比特和第0个校验比特在内的集合中奇数或者偶数索引位置的所有比特进行异或得到第1个校验比特。
进一步地,所述编码处理子模块包括:编码单元,设置为对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行汉明编码或者BCH编码获得m校验比特,其中m是大于等于1的整数。
进一步地,所述装置还包括:第一填充模块,设置为在添加循环冗余校验序列后的第i个信息数据块的首部或者尾部填充ei比特,得到长度均为k0比特的NCW个信息数据块,其中,ei是大于等于0的整数,i=0,1,…,(NCW-1),k0是大于0小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数;或者,第二填充模块,设置为在码块分割之后且添加循环冗余校验序列之前的第i个信息数据块的首部或者尾部填充ei比特,得到长度均为k0比特的NCW个信息数据块;其中,ei是大于等于0的整数,i=0,1,…,(NCW-1),k0是大于0小于等于k'的整数,k'=k-l,k是纠错编码需要输入信息比特数目,k是大于0的整数,l是循环冗余校验序列长度,l是大于0的整数。
进一步地,所述装置还包括:去除模块,设置为去除NCW个纠错编码块中的填充比特。
进一步地,所述去除模块包括:第一去除单元,设置为去除m个校验包中的填充 生成比特,所述校验包中的填充生成比特是:由NCW个纠错编码块中的至少1个或者1个以上的填充比特经过编码处理得到的比特数据;或者,第二去除单元,设置为去除m个校验包中的完全填充生成比特,其中,所述校验包中的完全填充生成比特为全由填充比特经过编码处理得到的比特数据。
进一步地,所述复制模块包括:第一复制单元,设置为对所述NCW个纠错编码块中的第j个纠错编码块复制h1份,得到n1j比特,包括,对第j个纠错编码块复制
Figure PCTCN2016072514-appb-000035
份得到
Figure PCTCN2016072514-appb-000036
比特的数据块,所述得到的n1j比特是所述数据块中第a1j比特开始的循环连续n1j比特,其中,n1j是大于等于
Figure PCTCN2016072514-appb-000037
且小于等于
Figure PCTCN2016072514-appb-000038
的整数;对所述m个校验包中的第s个校验包复制h2份,得到n2s比特,包括:对第s个纠错编码块复制
Figure PCTCN2016072514-appb-000039
份得到
Figure PCTCN2016072514-appb-000040
比特的数据块,所述得到的n2s比特是所述数据块中第a2s比特开始的循环连续n2s比特,其中,n2s是大于等于
Figure PCTCN2016072514-appb-000041
且小于等于
Figure PCTCN2016072514-appb-000042
的整数;其中,j=0,1,…,(NCW-1),s=0,1,…,(m-1),nj是第j个纠错编码块的比特数目,nj是大于0的整数,ns是第s个校验包的比特数目,ns是大于0的整数,h1和h2是大于1的实数,a1j是大于等于0小于
Figure PCTCN2016072514-appb-000043
的整数,a2s是大于等于0小于
Figure PCTCN2016072514-appb-000044
的整数,
Figure PCTCN2016072514-appb-000045
表示小于等于实数x的最大整数,
Figure PCTCN2016072514-appb-000046
表示大于等于实数x的最小整数。
进一步地,所述复制模块包括:第二复制单元,设置为对所述NCW个纠错编码块中的第j个纠错编码块复制h1份之后,得到
Figure PCTCN2016072514-appb-000047
份纠错编码块,长度为
Figure PCTCN2016072514-appb-000048
比特,其中,有
Figure PCTCN2016072514-appb-000049
份是完整的第j个纠错编码块,其余的
Figure PCTCN2016072514-appb-000050
份是第j个纠错编码块的n'j比特,所述n'j比特取自第j个纠错编码块中从第g1j比特开始的循环连续n'j比特;对所述m个校验包中的第s个校验包复制h2份之后,得到
Figure PCTCN2016072514-appb-000051
份校验包,长度为
Figure PCTCN2016072514-appb-000052
比特,其中,有
Figure PCTCN2016072514-appb-000053
份是完整的第s个校验包,其余的
Figure PCTCN2016072514-appb-000054
份是第s个校验包的n's比特,所述n's比特取自第s个校验包中从第g2s比特开始的循环连续n's比特;其中,j=0,1,…,(NCW-1),h1和h2是大于1的实数,nj是第j个纠错编码块的比特数目,nj是大于0的整数,g1j是大于等于0小于nj的整数,n'j是大于等于0且小于等于
Figure PCTCN2016072514-appb-000055
的整数,s=0,1,…,(m-1),ns是第s个校验包的比特 数目,ns是大于0的整数,g2s是大于等于0小于ns的整数,n's是小于等于
Figure PCTCN2016072514-appb-000056
的整数。
进一步地,所述复制模块包括:第三复制单元,设置为若h1和h2的值为整数,则对所述NCW个纠错编码块中第j个纠错编码块复制h1份,得到nj×h1比特,对所述m个校验包中第s个校验包分别复制h2份,得到ns×h2比特;其中,j=0,1,…,(NCW-1),nj是第j个纠错编码块的比特数目,nj是大于0的整数,s=0,1,…,(m-1),ns是第s个校验包的比特数目,ns是大于0的整数。
进一步地,所述装置还包括:确定模块,设置为通过长度为L0比特的数据头确定所述源数据包,其中,所述长度为L0比特的数据头至少包含以下参数之一:所述源数据包的长度,所述源数据包的编码调制方式,所述数据头的循环冗余校验码,扰码器的初始状态信息;通过以下方式之一得到包括所述数据头的总编码数据块:对长度为L0的所述数据头进行纠错编码,获得长度为Lp比特的编码校验块,合并所述数据头和所述编码校验块得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;对长度为L0的所述数据头填充f比特,获得长度为k的数据块,对填充后的所述数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并长度为L0的所述数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;对长度为L0的所述数据头填充f1比特,获得长度为k1的数据块,对填充后长度为k1的数据块重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对重复后的所述数据块进行纠错编码或者填充f2比特然后进行纠错编码,获得长度为Lp比特的编码校验块,合并所述长度为L0的数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;对长度为L0的所述数据头填充f比特,获得长度为k1的数据块,填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对所述重复后的数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并所述长度为L0的数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;对长度为L0的所 述数据头填充f1比特,获得长度为k1的数据块,填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对所述重复后的数据块再填充f2比特,获得长度为k的数据块,对所述再填充后的数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并所述长度为L0的数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;其中,L0是大于0的整数,Lp是大于0的整数,h0是大于0的整数,f是大于等于0的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数,k1是大于L0且小于等于k的整数,j是大于0的整数,i是大于0的整数,k2是大于k1且小于等于k的整数,f1是大于等于0的整数,f2是大于等于0的整数。
通过本发明,采用对长度为L比特的源数据包进行码块分割得到NCW个信息数据块,对每个信息数据块添加循环冗余校验序列,其中,L是大于0的整数,NCW是大于等于1的整数;在添加循环冗余校验序列后的所述NCW个信息数据块进行纠错编码,获得NCW个纠错编码块;对所述NCW个纠错编码块进行编码处理得到所述NCW个纠错编码块的m个校验包,其中,m是大于等于1的整数;对所述NCW个纠错编码块复制h1份和所述m个校验包复制h2份得到用于传输的总编码数据块,其中,h1和h2是大于1的实数,解决了相关技术中相关技术中的编码方式不能很好的利用信道纠错编码增益的问题,从而能够更好的利用编码增益,在比较低的编码码率下性能优异。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的数据编码方法的流程图;
图2是根据本发明实施例的对NCW个纠错编码块进行编码处理的示意图;
图3是根据本发明实施例的数据编码装置的框图;
图4是根据本发明优选实施例的数据编码装置的框图一;
图5是根据本发明优选实施例的数据编码装置的框图二;
图6是根据本发明优选实施例的数据编码装置的框图三;
图7是根据本发明实施例的某一比特数据块中循环连续比特的示意图;
图8是根据本发明优选实施例的数据编码装置的框图四;
图8是根据本发明优选实施例的数据编码装置的框图五;
图9是根据本发明实施例的LDPC编码块和校验包中填充比特的示意图;
图10是根据本发明实施例的编码后数据格式的示意图;
图11是根据本发明实施例的仿真结果的示意图;
图12是根据本发明优选实施例的数据头的编码方式的示意图一;
图13是根据本发明优选实施例的数据头的编码方式的示意图二;
图14是根据本发明实施例的数据头和数据的示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种数据编码方法,图1是根据本发明实施例的数据编码方法的流程图,如图1所示,该流程包括如下步骤:
步骤S102,对长度为L比特的源数据包进行码块分割得到NCW个信息数据块;
步骤S104,对每个信息数据块添加循环冗余校验序列,其中,L是大于0的整数,NCW是大于等于1的整数;
步骤S106,在添加循环冗余校验序列后的该NCW个信息数据块进行纠错编码,获得NCW个纠错编码块;
步骤S108,对该NCW个纠错编码块进行编码处理得到该NCW个纠错编码块的m个校验包,其中,m是大于等于1的整数;
步骤S110,对该NCW个纠错编码块复制h1份和该m个校验包复制h2份得到用于传输的总编码数据块,其中,h1和h2是大于1的实数。
通过上述步骤,对长度为L比特的源数据包进行码块分割得到NCW个信息数据块,对每个信息数据块添加循环冗余校验序列;在添加循环冗余校验序列后的该NCW个信息数据块进行纠错编码,获得NCW个纠错编码块;对该NCW个纠错编码块进行编码处理得到该NCW个纠错编码块的m个校验包;对该NCW个纠错编码块和该m个校验包复制h份得到用于传输的总编码数据块,解决了相关技术中相关技术中的编码方式不能很好的利用信道纠错编码增益的问题,从而能够更好的利用编码增益。
该NCW个信息数据块中NCW的数值为
Figure PCTCN2016072514-appb-000057
该NCW个信息数据块中前NCW1个信息数据块的长度为LDPCW,后NCW-NCW1个信息数据块长度为LDPCW-1;其中,
Figure PCTCN2016072514-appb-000058
NCW1=mod(L,LDPCW-1),
Figure PCTCN2016072514-appb-000059
表示大于等于实数x的最小整数,mod(x1,x2)表示整数x1对整数x2的求余操作,k0是大于0小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数。
图2是根据本发明实施例的对NCW个纠错编码块进行编码处理的示意图,如图2所示,对该NCW个纠错编码块中相同索引位置的所有比特202构成的集合204进行编码,获得n个长度都为m比特的编码校验块206,由n个该编码校验块中相同索引位置的所有比特构成该m个校验包208,其中,n是大于0的整数。
对该NCW个纠错编码块中相同索引位置的所有比特构成的集合进行编码包括:对该NCW个纠错编码块中相同索引位置的所有比特构成的集合进行m比特异或编码获得m校验比特,其中m是大于等于1的整数。
上述m比特异或编码是指:所有输入的c比特的集合D,对集合D的一个子集S1进行二进制异或相加,获得第1个校验比特,如,所述S1是包括集合D的所有元素;对集合D和第1个校验比特组成的新集合的一个子集S2进行二进制异或相加,获得第2个校验比特,如,所述S2是包括新集合中的所有偶数下标集合;对集合D和第1个校验比特、第2个校验比特组成的新集合的一个子集S3进行二进制异或相加,获得第3个校验比特,如,所述S3是包括新集合中的所有奇数下标集合;依次类推,对集合D和前m-1个校验比特组成的新集合的一个子集Sm进行二进制异或相加,获得第m个校验比特;所述的m比特异或编码方式不限于此。
对该NCW个纠错编码块中相同索引位置的所有比特构成的集合进行m比特异或编码获得m校验比特包括:当m等于1,对该集合的所有比特进行异或得到1个校验比特,即校验包为
Figure PCTCN2016072514-appb-000060
其中,C0
Figure PCTCN2016072514-appb-000061
是NCW个纠错编码块;当m等于2,对该集合的所有比特进行异或得到第0个校验比特,对包括该集合的所有比特和第0个校验比特在内的集合中奇数或者偶数索引位置的所有比特进行异或得到第1个校验比特。
对该NCW个纠错编码块中相同索引位置的所有比特构成的集合进行编码包括:对该NCW个纠错编码块中相同索引位置的所有比特构成的集合进行汉明编码或者BCH编码获得m校验比特,其中m是大于等于1的整数,其中,汉明编码是一种只能纠错1个错误的编码方式,译码时其校正伴随式可以直接索引出任意1个位置的错误,所以是一种完备码,汉明编码可以是二进制编码也可以是非二进制编码。
在添加循环冗余校验序列后的该NCW个信息数据块进行纠错编码,获得NCW个纠错编码块之前,在添加循环冗余校验序列后的第i个信息数据块的首部或者尾部填充ei比特,得到长度均为k0比特的NCW个信息数据块,其中,ei是大于等于0的整数,i=0,1,…,(NCW-1),k0是大于0小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数;或者,在码块分割之后且添加循环冗余校验序列之前的第i个信息数据块的首部或者尾部填充ei比特,得到长度均为k0比特的NCW个信息数据块;其中,ei是大于等于0的整数,i=0,1,…,(NCW-1),k0是大于0小于等于k'的整数,k'=k-l,k是纠错编码需要输入信息比特数目,k是大于0的整数,l是循环冗余校验序列长度,l是大于0的整数;或者,在码块分割之前在源数据包的首部或者尾部填充e比特,使得源数据包总长度变为L'比特,其中,L'是大于等于L的整数,e是大于等于0的整数。
在编码处理得到m个校验包之后,且在对该NCW个纠错编码块复制h1份和该m个校验包复制h2份得到用于传输的该总编码数据块之前,去除NCW个纠错编码块中的填充比特。
去除NCW个纠错编码块中的填充比特可以包括:去除m个校验包中的填充生成比特,该校验包中的填充生成比特是:由NCW个纠错编码块中的至少1个填充比特经过编码处理得到的比特数据;或者,去除m个校验包中的完全填充生成比特,其中,该 校验包中的完全填充生成比特为全由填充比特经过编码处理得到的比特数据。
NCW个信息数据块中NCW的数值为
Figure PCTCN2016072514-appb-000062
该NCW个信息数据块中前NCW1个信息数据块的长度为LDPCW,后NCW-NCW1个信息数据块长度为LDPCW-1;其中,
Figure PCTCN2016072514-appb-000063
NCW1=mod(L,LDPCW-1),
Figure PCTCN2016072514-appb-000064
表示大于等于实数x的最小整数,mod(x1,x2)表示整数x1对整数x2的求余操作,k0是大于0且小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数;
或者,NCW个信息数据块中NCW的数值为
Figure PCTCN2016072514-appb-000065
该NCW个信息数据块中前NCW-1个信息数据块的长度为
Figure PCTCN2016072514-appb-000066
最后1个信息数据块长度为L-LDPCW×(NCW-1);其中,
Figure PCTCN2016072514-appb-000067
表示大于等于实数x的最小整数,k0是大于0小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数。
对该NCW个纠错编码块复制h1份和该m个校验包复制h2份得到用于传输的总编码数据块可以包括:对所述NCW个纠错编码块中的第j个纠错编码块复制h1份,得到n1j比特,包括,对第j个纠错编码块复制
Figure PCTCN2016072514-appb-000068
份得到
Figure PCTCN2016072514-appb-000069
比特的数据块,所述得到的n1j比特是所述数据块中第a1j比特开始的循环连续n1j比特,其中,n1j是大于等于
Figure PCTCN2016072514-appb-000070
且小于等于
Figure PCTCN2016072514-appb-000071
的整数;所述n1j比特的获得方式不限于此;对所述m个校验包中的第s个校验包复制h2份,得到n2s比特,包括:对第s个纠错编码块复制
Figure PCTCN2016072514-appb-000072
份得到
Figure PCTCN2016072514-appb-000073
比特的数据块,所述得到的n2s比特是所述数据块中第a2s比特开始的循环连续n2s比特,其中,n2s是大于等于
Figure PCTCN2016072514-appb-000074
且小于等于
Figure PCTCN2016072514-appb-000075
的整数;所述n2s比特的获得方式不限于此;其中,j=0,1,…,(NCW-1),s=0,1,…,(m-1),nj是第j个纠错编码块的比特数目,nj是大于0的整数,ns是第s个校验包的比特数目,ns是大于0的整数,h1和h2是大于1的实数,a1j是大于等于0小于
Figure PCTCN2016072514-appb-000076
的整数,a2s是大于等于0小于
Figure PCTCN2016072514-appb-000077
的整数,
Figure PCTCN2016072514-appb-000078
表示小于等于实数x的最大整数,
Figure PCTCN2016072514-appb-000079
表示大于等于实数x的最小整数。
对该NCW个纠错编码块和该m个校验包复制h份得到用于传输的总编码数据块可以包括:对所述NCW个纠错编码块中的第j个纠错编码块复制h1份之后,得到
Figure PCTCN2016072514-appb-000080
份 纠错编码块,长度为
Figure PCTCN2016072514-appb-000081
比特,其中,有
Figure PCTCN2016072514-appb-000082
份是完整的第j个纠错编码块,其余的
Figure PCTCN2016072514-appb-000083
份是第j个纠错编码块的n'j比特,所述n'j比特取自第j个纠错编码块中从第g1j比特开始的循环连续n'j比特;所述n'j比特的获得方式不限于此;对所述m个校验包中的第s个校验包复制h2份之后,得到
Figure PCTCN2016072514-appb-000084
份校验包,长度为
Figure PCTCN2016072514-appb-000085
比特,其中,有
Figure PCTCN2016072514-appb-000086
份是完整的第s个校验包,其余的
Figure PCTCN2016072514-appb-000087
份是第s个校验包的n's比特,所述n's比特取自第s个校验包中从第g2s比特开始的循环连续n's比特;所述n's比特的获得方式不限于此;其中,j=0,1,…,(NCW-1),h1和h2是大于1的实数,nj是第j个纠错编码块的比特数目,nj是大于0的整数,g1j是大于等于0小于nj的整数,n'j是大于等于0且小于等于
Figure PCTCN2016072514-appb-000088
的整数,s=0,1,…,(m-1),ns是第s个校验包的比特数目,ns是大于0的整数,g2s是大于等于0小于ns的整数,n's是小于等于
Figure PCTCN2016072514-appb-000089
的整数。
对该NCW个纠错编码块和该m个校验包复制h份得到用于传输的该总编码数据块还可以包括:若h1和h2的值为整数,则对所述NCW个纠错编码块中第j个纠错编码块复制h1份,得到nj×h1比特,对所述m个校验包中第s个校验包分别复制h2份,得到ns×h2比特;其中,j=0,1,…,(NCW-1),nj是第j个纠错编码块的比特数目,nj是大于0的整数,s=0,1,…,(m-1),ns是第s个校验包的比特数目,ns是大于0的整数。进一步地,该h1和h2的值至少由以下参数之一确定:纠错编码块的数目NCW、校验包的数目m和常数值A0,其中,A0是大于等于1的整数。
上述的h1和h2的数值为大于1小于等于
Figure PCTCN2016072514-appb-000090
其中,
Figure PCTCN2016072514-appb-000091
表示大于等于实数x的最小整数。
上述的h1和h2等于A0×NCW/(NCW+m)或者
Figure PCTCN2016072514-appb-000092
或者
Figure PCTCN2016072514-appb-000093
其中,
Figure PCTCN2016072514-appb-000094
表示小于等于实数x的最大整数,
Figure PCTCN2016072514-appb-000095
表示大于等于实数x的最小整数。
在对长度为L比特的源数据包进行码块分割得到NCW个信息数据块之前,通过长度为L0比特的数据头确定该源数据包,其中,该长度为L0比特的数据头至少包含以下 参数之一:该源数据包的长度,该源数据包的编码调制方式,该数据头的循环冗余校验码,扰码器的初始状态信息;通过以下方式之一得到包括该数据头的总编码数据块:对长度为L0的该数据头进行纠错编码,获得长度为Lp比特的编码校验块,合并该数据头和该编码校验块得到母码编码块,对该母码编码块复制h0份,得到包括该数据头的总编码数据块;对长度为L0的该数据头填充f比特,获得长度为k的数据块,对填充后的该数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并长度为L0的该数据头和该编码校验块,得到母码编码块,对该母码编码块复制h0份,得到包括该数据头的总编码数据块;对长度为L0的该数据头填充f1比特,获得长度为k1的数据块,对填充后长度为k1的数据块重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对重复后的该数据块进行纠错编码或者填充f2比特然后进行纠错编码,获得长度为Lp比特的编码校验块,合并该长度为L0的数据头和该编码校验块,得到母码编码块,对该母码编码块复制h0份,得到包括该数据头的总编码数据块;对长度为L0的该数据头填充f比特,获得长度为k1的数据块,填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对该重复后的数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并该长度为L0的数据头和该编码校验块,得到母码编码块,对该母码编码块复制h0份,得到包括该数据头的总编码数据块;对长度为L0的该数据头填充f1比特,获得长度为k1的数据块,填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对该重复后的数据块再填充f2比特,获得长度为k的数据块,对该再填充后的数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并该长度为L0的数据头和该编码校验块,得到母码编码块;对该母码编码块复制h0份,得到包括该数据头的总编码数据块;其中,L0是大于0的整数,Lp是大于0的整数,h0是大于0的整数,f是大于等于0的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数,k1是大于L0且小于等于k的整数,j是大于0的整数,i是大于0的整数,k2是大于k1且小于等于k的整数,f1是大于等于0的整数,f2是大于等于0的整数。
上述的纠错编码为以下之一:LDPC编码,Turbo编码,卷积编码。
本发明实施例还提供了一种数据编码装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的数据编码装置的框图,如图3所示,包括:
分割模块32,设置为对长度为L比特的源数据包进行码块分割得到NCW个信息数据块;
添加模块34,设置为对每个信息数据块添加循环冗余校验序列,其中,L是大于0的整数,NCW是大于等于1的整数;
纠错编码模块36,设置为在添加循环冗余校验序列后的该NCW个信息数据块进行纠错编码,获得NCW个纠错编码块;
编码处理模块38,设置为对该NCW个纠错编码块进行得到该NCW个纠错编码块的m个校验包,其中,m是大于等于1的整数;
复制模块310,设置为对所述NCW个纠错编码块复制h1份和所述m个校验包复制h2份得到用于传输的总编码数据块,其中,h1和h2是大于1的实数。
图4是根据本发明优选实施例的数据编码装置的框图一,如图4所示,该编码处理模块38包括:
编码处理子模块42,设置为对该NCW个纠错编码块中相同索引位置的所有比特构成的集合进行编码,获得n个长度都为m比特的编码校验块,由n个该编码校验块中相同索引位置的所有比特构成该m个校验包,其中,n是大于0的整数。
上述m比特异或编码是指:所有输入的c比特的集合D,对集合D的一个子集S1进行二进制异或相加,获得第1个校验比特,如,所述S1是包括集合D的所有元素;对集合D和第1个校验比特组成的新集合的一个子集S2进行二进制异或相加,获得第2个校验比特,如,所述S2是包括新集合中的所有偶数下标集合;对集合D和第1个校验比特、第2个校验比特组成的新集合的一个子集S3进行二进制异或相加,获得第3个校验比特,如,所述S3是包括新集合中的所有奇数下标集合;依次类推,对集合D 和前m-1个校验比特组成的新集合的一个子集Sm进行二进制异或相加,获得第m个校验比特;所述的m比特异或编码方式不限于此。
进一步地,编码处理子模块42包括:处理单元,设置为对该NCW个纠错编码块中相同索引位置的所有比特构成的集合进行m比特异或编码获得m校验比特,其中m是大于等于1的整数。在一个可选的实施例中,处理单元可以包括:第一处理子单元,设置为当m等于1,对该集合的所有比特进行异或得到1个校验比特;第二处理子单元,设置为当m等于2,对该集合的所有比特进行异或得到第0个校验比特,对包括该集合的所有比特和第0个校验比特在内的集合中奇数或者偶数索引位置的所有比特进行异或得到第1个校验比特。
进一步地,该编码处理子模块42包括:编码单元,设置为对该NCW个纠错编码块中相同索引位置的所有比特构成的集合进行汉明编码或者BCH编码获得m校验比特,其中m是大于等于1的整数。
图5是根据本发明优选实施例的数据编码装置的框图二,如图5所示,该装置还包括:
第一填充模块52,设置为在添加循环冗余校验序列后的第i个信息数据块的首部或者尾部填充ei比特,得到长度均为k0比特的NCW个信息数据块,其中,ei是大于等于0的整数,i=0,1,…,(NCW-1),k0是大于0小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数;或者,
第二填充模块54,设置为在码块分割之后且添加循环冗余校验序列之前的第i个信息数据块的首部或者尾部填充ei比特,得到长度均为k0比特的NCW个信息数据块;其中,ei是大于等于0的整数,i=0,1,…,(NCW-1),k0是大于0小于等于k'的整数,k'=k-l,k是纠错编码需要输入信息比特数目,k是大于0的整数,l是循环冗余校验序列长度,l是大于0的整数;或者,
第三填充模块56,设置为在码块分割之前在源数据包的首部或者尾部填充e比特,使得源数据包总长度变为L'比特,其中,L'是大于等于L的整数,e是大于等于0的整数。
图6是根据本发明优选实施例的数据编码装置的框图三,如图6所示,该装置还包括:
去除模块62,设置为去除NCW个纠错编码块中的填充比特。
在一个可选的实施例中,去除模块62可以包括:第一去除单元,设置为去除m个校验包中的填充生成比特,该校验包中的填充生成比特是:由NCW个纠错编码块中的至少1个填充比特经过编码处理得到的比特数据;或者,第二去除单元,设置为去除m个校验包中的完全填充生成比特,其中,该校验包中的完全填充生成比特为全由填充比特经过编码处理得到的比特数据。
进一步地,复制模块310包括:第一复制单元,设置为对所述NCW个纠错编码块中的第j个纠错编码块复制h1份,得到n1j比特,包括,对第j个纠错编码块复制
Figure PCTCN2016072514-appb-000096
份得到
Figure PCTCN2016072514-appb-000097
比特的数据块,所述得到的n1j比特是所述数据块中第a1j比特开始的循环连续n1j比特,其中,n1j是大于等于
Figure PCTCN2016072514-appb-000098
且小于等于
Figure PCTCN2016072514-appb-000099
的整数;所述n1j比特的获得方式不限于此;对所述m个校验包中的第s个校验包复制h2份,得到n2s比特,包括:对第s个纠错编码块复制
Figure PCTCN2016072514-appb-000100
份得到
Figure PCTCN2016072514-appb-000101
比特的数据块,所述得到的n2s比特是所述数据块中第a2s比特开始的循环连续n2s比特,其中,n2s是大于等于
Figure PCTCN2016072514-appb-000102
且小于等于
Figure PCTCN2016072514-appb-000103
的整数;所述n2s比特的获得方式不限于此;其中,j=0,1,…,(NCW-1),s=0,1,…,(m-1),nj是第j个纠错编码块的比特数目,nj是大于0的整数,ns是第s个校验包的比特数目,ns是大于0的整数,h1和h2是大于1的实数,a1j是大于等于0小于
Figure PCTCN2016072514-appb-000104
的整数,a2s是大于等于0小于
Figure PCTCN2016072514-appb-000105
的整数,
Figure PCTCN2016072514-appb-000106
表示小于等于实数x的最大整数,
Figure PCTCN2016072514-appb-000107
表示大于等于实数x的最小整数。
进一步地,复制模块310包括:第二复制单元,设置为对对所述NCW个纠错编码块中的第j个纠错编码块复制h1份之后,得到
Figure PCTCN2016072514-appb-000108
份纠错编码块,长度为
Figure PCTCN2016072514-appb-000109
比特,其中,有
Figure PCTCN2016072514-appb-000110
份是完整的第j个纠错编码块,其余的
Figure PCTCN2016072514-appb-000111
份是第j个纠错编码块的n'j比特,所述n'j比特取自第j个纠错编码块中从第g1j比特开始的循环连续n'j比特;所述n'j比特的获得方式不限于此;对所述m个校验包中的第s个校验包复制h2份之后,得到
Figure PCTCN2016072514-appb-000112
份校验包,长度为
Figure PCTCN2016072514-appb-000113
比特,其中,有
Figure PCTCN2016072514-appb-000114
份是完整的第s个校验包,其余的
Figure PCTCN2016072514-appb-000115
份是第s个校验包的n's比特,所述n's比特取自第s个校验包中从第g2s比特开始的循环连续n's比特;所述n's比特的获得方式不限于此;其中,j=0,1,…,(NCW-1),h1和h2是大于1的实数,nj是第j个纠错编码块的比特数 目,nj是大于0的整数,g1j是大于等于0小于nj的整数,n'j是大于等于0且小于等于
Figure PCTCN2016072514-appb-000116
的整数,s=0,1,…,(m-1),ns是第s个校验包的比特数目,ns是大于0的整数,g2s是大于等于0小于ns的整数,n's是小于等于
Figure PCTCN2016072514-appb-000117
的整数。
图7是根据本发明实施例的某一比特数据块中循环连续比特的示意图,如图7所示,从一个数据块中从第x1比特开始的循环连续x2比特是指:一个数据块从第x1比特开始取从前往后取出循环连续的x2比特802,如果碰到尾部无数据了则从首部开始取,直到取到x2个比特为止;或者从后往前取出循环连续的x2比特804,如果碰到首部无数据了则从尾部开始取,直到取到x2比特为止。
进一步地,复制模块310包括:第三复制单元,设置为若h1和h2的值为整数,则对所述NCW个纠错编码块中第j个纠错编码块复制h1份,得到nj×h1比特,对所述m个校验包中第s个校验包分别复制h2份,得到ns×h2比特;其中,j=0,1,…,(NCW-1),nj是第j个纠错编码块的比特数目,nj是大于0的整数,s=0,1,…,(m-1),ns是第s个校验包的比特数目,ns是大于0的整数。
图8是根据本发明优选实施例的数据编码装置的框图四,如图8所示,该装置还包括:
确定模块82,设置为通过长度为L0比特的数据头确定该源数据包,其中,该长度为L0比特的数据头至少包含以下参数之一:该源数据包的长度,该源数据包的编码调制方式,该数据头的循环冗余校验码,扰码器的初始状态信息;通过以下方式之一得到包括该数据头的总编码数据块:对长度为L0的该数据头进行纠错编码,获得长度为Lp比特的编码校验块,合并该数据头和该编码校验块得到母码编码块,对该母码编码块复制h0份,得到包括该数据头的总编码数据块;对长度为L0的该数据头填充f比特,获得长度为k的数据块,对填充后的该数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并长度为L0的该数据头和该编码校验块,得到母码编码块,对该母码编码块复制h0份,得到包括该数据头的总编码数据块;对长度为L0的该数据头填充f1比特,获得长度为k1的数据块,对填充后长度为k1的数据块重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对重复后的该数据块进行纠错编码或者填充f2比特然后 进行纠错编码,获得长度为Lp比特的编码校验块,合并该长度为L0的数据头和该编码校验块,得到母码编码块,对该母码编码块复制h0份,得到包括该数据头的总编码数据块;对长度为L0的该数据头填充f比特,获得长度为k1的数据块,填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对该重复后的数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并该长度为L0的数据头和该编码校验块,得到母码编码块,对该母码编码块复制h0份,得到包括该数据头的总编码数据块;对长度为L0的该数据头填充f1比特,获得长度为k1的数据块,填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对该重复后的数据块再填充f2比特,获得长度为k的数据块,对该再填充后的数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并该长度为L0的数据头和该编码校验块,得到母码编码块,对该母码编码块复制h0份,得到包括该数据头的总编码数据块;其中,L0是大于0的整数,Lp是大于0的整数,h0是大于0的整数,f是大于等于0的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数,k1是大于L0且小于等于k的整数,j是大于0的整数,i是大于0的整数,k2是大于k1且小于等于k的整数,f1是大于等于0的整数,f2是大于等于0的整数。
需要说明的是,上述的各个模块可以通过软件或硬件实现,对于后者,可以通过以下方式实现,但不限于此,上述各个模块以任意组合的方式位于不同的处理器中,例如,上述各个模块均位于同一处理器中;或者上述的各个模块分别位于不同的处理器中。
下面结合本可选实施例对本发明实施例进行进一步说明。
为提高通信***的源数据包在极低编码码率下的传输可靠性和性能,增强***鲁棒性,本可选实施例提供一种数据编码方法,以提高整体数据包传输的可靠性和性能,用于发送端,包括:对长度为L比特的源数据包进行码块分割得到NCW个信息数据块,对每个信息数据块添加循环冗余校验序列;在添加循环冗余校验序列后的第i个信息数据块的首部或者尾部填充ei比特,使得所有NCW个信息数据块的长度都达到k0比特,其中,ei是大于等于0的整数,i=0,1,…,(NCW-1);对所述填充后的NCW个信息数据块进行纠错编码,获得NCW个纠错编码块,长度都为n比特;对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行编码,获得n个长度都为m比特的编码 校验块,由所述n个编码校验块中相同索引位置的所有比特构成m个校验包;对所述NCW个纠错编码块复制h1份和m个校验包复制h2份得到总编码数据块;发送所述总编码数据块;其中,L是大于0的整数,NCW是大于等于1的整数,k0是大于0小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数,n是大于0的整数,m是大于等于1的整数,h1和h2是大于1的实数。
优选地,所述对长度为L的源数据包进行码块分割得到NCW个信息数据块,包括:NCW的数值为
Figure PCTCN2016072514-appb-000118
所述NCW个信息数据块中前NCW1个信息数据块的长度为LDPCW,后NCW-NCW1个信息数据块长度为LDPCW-1;其中,
Figure PCTCN2016072514-appb-000119
NCW1=mod(L,LDPCW-1),
Figure PCTCN2016072514-appb-000120
表示大于等于实数x的最小整数,mod(x1,x2)表示整数x1对整数x2的求余操作,k0是大于0小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数。
优选地,所述对NCW个纠错编码块分别复制h1份之前,先去除填充比特;所述对m个校验包分别复制h2次之前,先去除m个校验包中全是由填充比特经过编码处理得到的比特数据。
优选地,所述h1和h2的值依赖于以下参数的一个或者多个:纠错编码块的数目NCW、校验包的数目m和常数值A0;其中,NCW是大于等于1的整数,m是大于等于1的整数,A0是大于等于1的整数。其中,所述h1和h2的数值是大于等于1的整数。
优选地,所述h1和h2的数值等于A0×NCW/(NCW+m)或者
Figure PCTCN2016072514-appb-000121
或者
Figure PCTCN2016072514-appb-000122
其中,
Figure PCTCN2016072514-appb-000123
表示小于等于实数x的最大整数,
Figure PCTCN2016072514-appb-000124
表示大于等于实数x的最小整数,A0是大于等于1的整数,NCW是纠错编码块数目,m是校验包数目。
优选地,所述的对第j个纠错编码块复制h1份,得到n1j比特,其中,n1j是大于0小于等于
Figure PCTCN2016072514-appb-000125
的整数;所述的对第s个校验包复制h2份,得到n2s比特,其中,n2s是大于0小于等于
Figure PCTCN2016072514-appb-000126
的整数;其中,j=0,1,…,(NCW-1),s=0,1,…,(m-1),nj是第j个纠错编码块的比特数目,nj是大于0的整数,ns是第s个校验包的比特数目, ns是大于0的整数,h1和h2是大于1的实数。
优选地,所述的对第j个纠错编码块复制h1份,共有
Figure PCTCN2016072514-appb-000127
份纠错编码块,其中有
Figure PCTCN2016072514-appb-000128
份是完整的第j个纠错编码块,长度都为nj,有
Figure PCTCN2016072514-appb-000129
份是非完整的第j个纠错编码块,其取自第j个纠错编码块中从第g1比特开始的循环连续n'j比特;所述
Figure PCTCN2016072514-appb-000130
份的获得方式不限于此;所述的对第s个校验包复制h2份,共有
Figure PCTCN2016072514-appb-000131
份校验包,其中有
Figure PCTCN2016072514-appb-000132
份是完整的第s个校验包,长度都为ns,有
Figure PCTCN2016072514-appb-000133
份是非完整的第s个校验包,其取自第s个校验包中从第g2比特开始的循环连续n's比特;所述
Figure PCTCN2016072514-appb-000134
份的获得方式不限于此;图9是根据本发明实施例的从数据块中取出循环连续比特的示意图,如图9所示,从一个数据块中从第x1比特开始的循环连续x2比特是指:一个数据块从第x1比特开始取从前往后取出循环连续的x2比特802,如果碰到尾部无数据了则从首部开始取,直到取到x2比特为止;或者从后往前取出循环连续的x2比特804,如果碰到首部无数据了则从尾部开始取,直到取到x2比特为止;其中,j=0,1,…,(NCW-1),h1和h2是大于1的实数,nj是第j个纠错编码块的比特数目,nj是大于0的整数,g1是大于等于0的整数,n'j是小于等于
Figure PCTCN2016072514-appb-000135
的整数,s=0,1,…,(m-1),ns是第s个校验包的比特数目,ns是大于0的整数,g2是大于等于0的整数,n's是小于等于
Figure PCTCN2016072514-appb-000136
的整数。
优选地,所述a个纠错编码块中相同索引位置的所有比特构成的集合进行的编码方法是m比特异或编码,其中m是大于等于1的整数。上述m比特异或编码是指:所有输入的c比特的集合D,对集合D的一个子集S1进行二进制异或相加,获得第1个校验比特,如,所述S1是包括集合D的所有元素;对集合D和第1个校验比特组成的新集合的一个子集S2进行二进制异或相加,获得第2个校验比特,如,所述S2是包括新集合中的所有偶数下标集合;对集合D和第1个校验比特、第2个校验比特组成的新集合的一个子集S3进行二进制异或相加,获得第3个校验比特,如,所述S3是包括新集合中的所有奇数下标集合;依次类推,对集合D和前m-1个校验比特组成的新集合的一个子集Sm进行二进制异或相加,获得第m个校验比特;所述的m比特异或编码方式不限于此。
优选地,还包括一个长度为L0的数据头,所述数据头至少包含以下参数的一个或者多个:数据头的循环冗余校验码、所述源数据包的长度和所述源数据包的编码调制方式;所述数据头的编码方式为以下方式之一:
方式1:对长度为L0的数据头进行纠错编码,获得长度为Lp比特的编码校验块;合并所述数据头和所述编码校验块得到母码编码块;对所述母码编码块复制h0份,获得数据头总编码数据块;发送所述数据头总编码数据块;
方式2:对长度为L0的数据头填充f比特,获得长度为k的数据块;对所述填充后的数据块进行纠错编码,获得长度为Lp比特的编码校验块;合并所述长度为L0的数据头和所述编码校验块,得到母码编码块;对所述母码编码块复制h0份,获得数据头总编码数据块;发送所述数据头总编码数据块;
方式3:对长度为L0的所述数据头填充f1比特,获得长度为k1的数据块;对填充后长度为k1的数据块重复i次,获得总长度为k2=k1×(i+1)比特的数据块;对重复后的所述数据块进行纠错编码或者再填充f2比特然后进行纠错编码,获得长度为Lp比特的编码校验块;合并所述长度为L0的数据头和所述编码校验块,得到母码编码块;对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;
方式4:对长度为L0的数据头填充f比特,获得长度为k1的数据块;填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2比特的数据块;对所述重复后的数据块进行纠错编码,获得长度为Lp比特的编码校验块;合并所述长度为L0的数据头和所述编码校验块,得到母码编码块;对所述母码编码块复制h0份,获得数据头总编码数据块;发送所述数据头总编码数据块;
方式5:对长度为L0的数据头填充f1比特,获得长度为k1的数据块;填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2比特的数据块;对所述重复后的数据块再填充f2比特,获得长度为k的数据块;对所述再填充后的数据块进行纠错编码,获得长度为Lp比特的编码校验块;合并所述长度为L0的数据头和所述编码校验块,得到母码编码块;对所述母码编码块复制h0份,获得数据头总编码数据块;发送所述数据头总编码数据块。
其中,L0是大于0的整数,Lp是大于0的整数,h0是大于0的整数,f是大于等于0的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数,k1是大于L0且小于等于k的整数,j是大于0的整数,i是大于0的整数,k2是大于k1且小于等于k的整数,f1是大于等于0的整数,f2是大于等于0的整数。
实施例1(10个块,整块)
在一个数字通信***中,如802.11aj通信***中,需要传输的源数据包(数据域data)大小为3280比特,源数据包中包含16比特的所述源数据包的循环冗余校验序列,所用的编码方式为LDPC编码,码率为1/2,码长为672比特,所以LDPC编码需要的信息比特为336比特。包括:
对长度为L=3280比特的源数据包进行码块分割得到NCW=10个信息数据块,长度都为328比特,对每个信息数据块添加8比特的循环冗余校验序列,得到NCW=10个长度为336比特的信息数据块;由于所有信息数据块的长度已经达到LDPC编码需要的336比特,在添加循环冗余校验序列后的第i个信息数据块的首部或者尾部填充ei=0比特,ei等于0的话不需要进行填充,i=0,1,…,9;对所述填充后的NCW=10个信息数据块进行LDPC编码,获得NCW=10个LDPC编码块,长度都为n=672比特;对所述所有LDPC编码块中相同索引位置的所有比特构成的集合进行m=1比特异或编码,获得672个长度都为1比特的编码校验块,由所述672个编码校验块中相同索引位置的所有比特构成1个校验包;其中,所述的LDPC编码的基础矩阵如表1所示(扩展因子为42):
表1
-1 0 -1 0 -1 0 -1 0 0 -1 -1 -1 -1 -1 -1 -1
0 -1 -1 34 -1 12 -1 36 18 0 -1 -1 -1 -1 -1 -1
8 -1 0 -1 0 -1 0 -1 -1 13 0 -1 -1 -1 -1 -1
-1 16 40 -1 32 -1 22 -1 -1 -1 19 0 -1 -1 -1 -1
-1 20 -1 22 -1 2 -1 28 32 -1 -1 21 0 -1 -1 -1
30 -1 18 -1 -1 14 -1 30 -1 37 -1 -1 31 0 -1 -1
40 -1 12 -1 38 -1 6 -1 -1 -1 26 -1 -1 13 0 -1
-1 24 -1 20 10 -1 2 -1 -1 -1 -1 18 -1 -1 5 0
图10是根据本发明实施例的编码后数据格式的示意图,如图10所示,对所述NCW=10个LDPC编码块分别包复制h1=32份和1个校验分别包复制h2=32份得到总编码数据块,即所述总编码数据块中包含32份所述10个LDPC编码块和32份所述1 个校验包,h1=h2=32,发送所述总编码数据块。
图11是根据本发明实施例的仿真结果的示意图,如图11所示,与11ad中的编码方案性能比较,可见具有较优的性能增益(有1dB以上增益),说明发明方案有具有创新性。
实施例2(10块,填充,复制参数与块数关系)
在一个数字通信***中,如802.11aj通信***中,需要传输的源数据包(数据域data)大小为3248比特,所用的编码方式为LDPC编码,码率为1/2,码长为672比特,所以LDPC编码需要的信息比特为336比特,包括:
对长度为L=3248比特的源数据包进行码块分割,信息数据块最大长度k0=328比特,由公式
Figure PCTCN2016072514-appb-000137
得到NCW=10个信息数据块,根据公式
Figure PCTCN2016072514-appb-000138
计算得到LDPCW=325,由公式NCW1=mod(L,LDPCW-1)计算得到NCW1=8,所以,所述NCW=10个信息数据块中前NCW1=8个信息数据块的长度为LDPCW=325比特,后NCW-NCW1=2个信息数据块长度为LDPCW-1=324比特;对每个信息数据块添加8比特的循环冗余校验序列,获得前8个信息数据块长度为333比特,后2个信息数据块长度为332比特;由于所有信息数据块的长度都不达到LDPC编码需要的336比特,所以所述10个信息数据块中,前8个信息数据块首部或者尾部填充ei=3比特,i=0,1,…,7;后2个信息数据块在首部或者尾部填充ei=4比特,i=8,9,使得所有信息数据块的长度都达到336比特;对所述填充后的NCW=10个信息数据块进行LDPC编码,获得NCW=10个LDPC编码块,长度都为n=672比特;对所述所有LDPC编码块中相同索引位置的所有比特构成的集合进行m=1比特异或编码,获得672个长度都为1比特的编码校验块,由所述672个编码校验块中相同索引位置的所有比特构成1个校验包;先去除10个LDPC编码块中的填充比特,以及去除校验包中全部由填充比特经过1比特异或编码得到比特数据(完全填充生成比特),图11是根据本发明实施例的LDPC编码块和校验包中填充比特的示意图,如图11所示,去除10个LDPC编码块中的所有填充比特1102,去除校验包中3比特的完全填充生成比特1106(该3比特全由填充比特经过1比特异或编码得到)或者去除校验包中4比特的填充生成比特(该4比特由至少1比特的填充比特经过1比特异或编码得到);然后,对去除填充比特数据后的所述NCW=10个LDPC编码块1104复制h1份和1个校验包1108复制h2份得到 总编码数据块,h1和h2的数值以下三个参数决定:纠错编码块的数目NCW、校验包的数目m和常数值A0;其中,此时NCW=10,m=1,A0=32,由公式
Figure PCTCN2016072514-appb-000139
计算得到h1=h2=29,即所述总编码数据块中包含29份所述10个LDPC编码块和29份的所述1个校验包;或者由公式
Figure PCTCN2016072514-appb-000140
计算得到h1=h2=30,即所述总编码数据块中包含30份的所述10个LDPC编码块和30份的所述1个校验包;发送所述总编码数据块。
实施例3(5块,小数,部分填充)
实施例3与实施例2的区别在于:对去除填充比特数据后的所述NCW=10个LDPC编码块1104复制h1份和1个校验包403复制h2份得到总编码数据块,其中h1=25.4,h2=25.4,由于h1和h2的数值是实数,所以需要进行特殊处理,具体复制方法如下:前8个LDPC编码块复制经过复制得到
Figure PCTCN2016072514-appb-000141
比特,nj=669,对第j个纠错编码块复制h1份,共有
Figure PCTCN2016072514-appb-000142
份,其中有
Figure PCTCN2016072514-appb-000143
份是完整的第j个纠错编码块,长度都为nj=669,有
Figure PCTCN2016072514-appb-000144
份是不完整的第j个纠错编码块,该份比特数据取自第j个纠错编码块中从第g1=10比特开始的循环连续
Figure PCTCN2016072514-appb-000145
比特,j=0,1,…,7;后2个LDPC编码块复制得到
Figure PCTCN2016072514-appb-000146
比特,nj=668,对第j个纠错编码块复制h1份,共有
Figure PCTCN2016072514-appb-000147
份,其中有
Figure PCTCN2016072514-appb-000148
份是完整的第j个纠错编码块,长度都为nj=668,有
Figure PCTCN2016072514-appb-000149
份是不完整的第j个纠错编码块,该份比特数据取自第j个纠错编码块中从第g1=10比特开始的循环连续
Figure PCTCN2016072514-appb-000150
比特,j=8,9;所述1个校验包复制h2份复制得到
Figure PCTCN2016072514-appb-000151
ns=669,共有
Figure PCTCN2016072514-appb-000152
份,其中有
Figure PCTCN2016072514-appb-000153
份是完整的校验包,长度都为ns=669,有
Figure PCTCN2016072514-appb-000154
份是不完整的校验包,该份比特数据取自校验包中从第g2=15比特开始的循环连续
Figure PCTCN2016072514-appb-000155
比特;获得总编码数据块。
实施例4(包括数据头)
本实施例与实施例1~实施例3的区别在于:除了源数据包(数据域data)外,还包括一个长度为L0=40比特的数据头,该数据头至少包含以下参数的一个或者多个:数据头的循环冗余校验码、所述源数据包的长度和所述源数据包的编码调制方式;所述数据头的编码方式为以下方式之一:
方式1:对长度为L0=40的数据头进行纠错编码,获得长度为Lp=336比特的编码校验块;合并所述数据头和所述编码校验块得到母码编码块;对所述母码编码块复制h0=16份,获得数据头总编码数据块,长度为(336+40)×16=6016比特;发送所述数据头总编码数据块;
方式2:对长度为L0=40的数据头填充f=296比特,获得长度为k=336比特的数据块;对所述填充后的数据块进行纠错编码,获得长度为Lp=336比特的编码校验块;合并所述长度为L0=40比特的数据头和所述编码校验块,得到母码编码块,长度为376比特;对所述母码编码块复制h0=16份,获得数据头总编码数据块,长度为376×16=6016比特;发送所述数据头总编码数据块;
方式3:图12是根据本发明优选实施例的数据头的编码方式的示意图一,如图12所示,对长度为L0=40的所述数据头填充f1=2比特,获得长度为k1=42的数据块;对填充后长度为k1=42的数据块重复i=1次,获得总长度为k2=84比特的数据块;对所述重复后的数据块进行纠错编码或者填充f2=252比特然后进行纠错编码,获得长度为Lp=336比特的编码校验块;合并所述长度为L0=40的数据头和所述编码校验块,得到母码编码块;对所述母码编码块复制h0=16份,获得数据头总编码数据块,长度为376×16=6016比特;发送所述数据头总编码数据块;
方式:4:图13是根据本发明优选实施例的数据头的编码方式的示意图二,如图13所示,对长度为L0=40的数据头填充f=128比特,获得长度为k1=168的数据块;填充后长度为k1=168的数据块包括j=4个连续子数据块,每个子数据块长度为42比特,每个子数据块的长度正好等于LDPC码的扩展因子(扩展因子等于42,目的在于以扩展因子为基数进行重复,LDPC码译码性能更优),对这j=4个子数据分组分别重复i=1次,获得总长度为k2=336比特的数据块;对所述重复后的数据块进行纠错 编码,获得长度为Lp=336比特的编码校验块;合并所述长度为L0=40的数据头和所述编码校验块,得到母码编码块;对所述母码编码块复制h0=16份,获得数据头总编码数据块,长度为376×16=6016比特;发送所述数据头总编码数据块;
方式5:如图12所示,对长度为L0=40的数据头填充f1=2比特,获得长度为k1=42的数据块;填充后长度为k1=42的数据块包括j=1个连续子数据块,每个子数据块的长度正好等于LDPC码的扩展因子(扩展因子等于42,目的在于以扩展因子为基数进行重复,LDPC码译码性能更优),对这j=1个子数据分组分别重复i=1次,获得总长度为k2=84比特的数据块;对所述重复后的数据块再填充f2=252比特,获得长度为k=336的数据块;对所述再填充后的数据块进行纠错编码,获得长度为Lp=336比特的编码校验块;合并所述长度为L0=40的数据头和所述编码校验块,得到母码编码块;对所述母码编码块复制h0=16份,获得数据头总编码数据块,长度为376×16=6016比特;其中,以上所述的LDPC编码的基础矩阵如表2所示(扩展因子为42):发送所述数据头总编码数据块。
表2
-1 0 -1 0 -1 0 -1 0 0 -1 -1 -1 -1 -1 -1 -1
0 -1 -1 34 -1 12 -1 36 18 0 -1 -1 -1 -1 -1 -1
8 -1 0 -1 0 -1 0 -1 -1 13 0 -1 -1 -1 -1 -1
-1 16 40 -1 32 -1 22 -1 -1 -1 19 0 -1 -1 -1 -1
-1 20 -1 22 -1 2 -1 28 32 -1 -1 21 0 -1 -1 -1
30 -1 18 -1 -1 14 -1 30 -1 37 -1 -1 31 0 -1 -1
40 -1 12 -1 38 -1 6 -1 -1 -1 26 -1 -1 13 0 -1
-1 24 -1 20 10 -1 2 -1 -1 -1 -1 18 -1 -1 5 0
将以上经过编码后的源数据包(数据域data)编码数据块和数据头总编码数据块合并,并进行调制,调制过程如下:其中星座调制采用差分二进制相移键控(Differential Binary Phase Shift Keying,简称为DBPSK):编码输出总编码数据块的比特序列表示为[c0,c1,c2,c3,c4,…],变换成非差分数据流为sk=2ck-1,然后转换成差分数据流为dk=sk×d(k-1),其中,初始化d-1=1。最后,通过以下计算得到发送的数据流波形:rk=dk×exp(jπk/2),k=0,1,2,3,4,5…。
实施例5
在802.11aj(45G)通信***的控制物理层(control PHY)中,需要传输的源数据包(数据域data)大小为4096比特(512字节),除了源数据包(数据部分data)外,还包括40比特的数据头(head),如图9所示的数据头(head)1400和源数据包(数据部分data)1401。所用的编码方式为LDPC编码,码率为1/2,码长为672比特,所以LDPC编码需要的信息比特为336比特,校验比特为336比特。图14是根据本发明实施例的数据头和数据的示意图,如图14所示,包括:
数据头(head)的编码包括:在40比特的数据头(head)的首部填充2比特,将信息块长度扩展到42比特,长度正好等于LDPC码的扩展因子(扩展因子等于42,目的在于以扩展因子为基数进行重复,LDPC码译码性能更优),表示为([0,0],b0,b1,…,b39),然后对填充后的数据重复1次,获得重复后数据块,表示为B'=([0,0],b0,b1,…,b39,[0,0],b0,b1,…,b39)。对重复后数据块进行再填充252比特,扩展到336比特,进行1/2码率LDPC编码获得编码码字C=([0,…,0]1×252,B',[p0,…,p335]),满足LDPC编码要求H×CT=0,其中,[p0,…,p335]是LDPC编码得到的校验比特。合并数据头(head)所有比特和LDPC编码的校验比特得到母码编码块(b0,b1,…,b39,p0,p1,…,p335),对母码数据块进行速率匹配得到(40+336)×h0比特的数据头(head)总编码数据块,匹配方法为将母码编码块复制h0份,其中,h0=16或者h0=12。数据部分(data)的编码:LDPC码块的有效信息长度最长为LDPCW=328比特,数据域(data)需要的LDPC码块数为
Figure PCTCN2016072514-appb-000156
在NCW个LDPC码块中,前NCW1个LDPC码块的有效信息长度为LDPCW1比特,余下的NCW-NCW1个LDPC码块的有效信息长度为LDPCW1-1比特,其中参数LDPCW1和NCW1计算如下:
Figure PCTCN2016072514-appb-000157
NCW1=mod((Length×8),(LDPCW1-1))
其中,
Figure PCTCN2016072514-appb-000158
表示大于等于实数x的最小整数(向上取整),mod(x1,x2)表示整数x1对整数x2的求余操作。
对数据部分(data)进行码块分割得到NCW信息块,对每个信息块添加8比特的CRC序列,然后分别填充em=336-Lm比特的‘0’元素,长度都达到336比特,表示为
Figure PCTCN2016072514-appb-000159
其中,Lm是添加CRC序列后第m个信息块的比特长 度,Bm是码块分割得到的第m个信息块,m=0,1,…,NCW-1;进行码率为1/2的LDPC编码,获得LDPC码字Cm=(B′m,[p0,…,p335]),满足LDPC编码要求
Figure PCTCN2016072514-appb-000160
对NCW个LDPC编码块中相同索引位置的所有比特构成的集合进行1比特异或编码,获得672个长度都为1比特,构成1个校验包,即校验包为
Figure PCTCN2016072514-appb-000161
去除所有LDPC编码块中的填充比特后,对每个LDPC编码块分别复制h1份;去除校验包C′中的完全填充生成比特后,所述完全填充生成比特是指:全是由填充比特经过1比特异或编码得到的比特数据,复制h1份;合并这2复制后数据得到数据部分(data)的总编码数据块;其中,
Figure PCTCN2016072514-appb-000162
合并以上所述的数据头(head)总编码数据块和数据部分(data)总编码数据块得到控制PHY总编码数据块。将控制PHY总编码数据块的数据流进行调制成复数星座符号,其中星座调制采用差分二进制相移键控(DBPSK,differential binary phase shift keying),调制过程如下:数据流输出序列表示为[c0,c1,c2,c3,c4,…],首先变换成非差分BPSK数据流为sk=2ck-1,然后差分DBPSK数据流为dk=sk×d(k-1),其中,初始化d-1=1;最后,得到发送的数据流波形:rk=dk×exp(jπk/2),k=0,1,2,3,4,5…。其中,以上所述的LDPC编码的基础矩阵如表3所示(扩展因子为42):发送所述数据头总编码数据块。
表3
-1 0 -1 0 -1 0 -1 0 0 -1 -1 -1 -1 -1 -1 -1
0 -1 -1 34 -1 12 -1 36 18 0 -1 -1 -1 -1 -1 -1
8 -1 0 -1 0 -1 0 -1 -1 13 0 -1 -1 -1 -1 -1
-1 16 40 -1 32 -1 22 -1 -1 -1 19 0 -1 -1 -1 -1
-1 20 -1 22 -1 2 -1 28 32 -1 -1 21 0 -1 -1 -1
30 -1 18 -1 -1 14 -1 30 -1 37 -1 -1 31 0 -1 -1
40 -1 12 -1 38 -1 6 -1 -1 -1 26 -1 -1 13 0 -1
-1 24 -1 20 10 -1 2 -1 -1 -1 -1 18 -1 -1 5 0
实施例6(其他编码方式)
实施例6与实施例1~实施例5的区别在于纠错编码方式,所用纠错编码方法是卷积编码、RS编码、Turbo编码或者BCH编码。
通过上述实施例,提高了整体数据包的性能,从而提高接收鲁棒性,相对于传统数据编码方案性能更优。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
工业实用性
上述的本发明实施例,可以应用于通讯领域,解决了相关技术中相关技术中的编码方式不能很好的利用信道纠错编码增益的问题,从而能够更好的利用编码增益,在比较低的编码码率下性能优异。

Claims (30)

  1. 一种数据编码方法,包括:
    对长度为L比特的源数据包进行码块分割得到NCW个信息数据块;
    对每个信息数据块添加循环冗余校验序列,其中,L是大于0的整数,NCW是大于等于1的整数;
    在添加循环冗余校验序列后的所述NCW个信息数据块进行纠错编码,获得NCW个纠错编码块;
    对所述NCW个纠错编码块进行编码处理得到所述NCW个纠错编码块的m个校验包,其中,m是大于等于1的整数;
    对所述NCW个纠错编码块复制h1份和所述m个校验包复制h2份得到用于传输的总编码数据块,其中,h1和h2是大于1的实数。
  2. 根据权利要求1所述的方法,其中,对所述NCW个纠错编码块进行编码处理得到所述NCW个纠错编码块的所述m个校验包包括:
    对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行编码,获得n个长度都为m比特的编码校验块,由n个所述编码校验块中相同索引位置的所有比特构成所述m个校验包,其中,n是大于0的整数。
  3. 根据权利要求2所述的方法,其中,对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行编码包括:
    对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行m比特异或编码获得m校验比特,其中m是大于等于1的整数。
  4. 根据权利要求3所述的方法,其中,对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行m比特异或编码获得m校验比特包括:
    当m等于1,对所述集合的所有比特进行异或得到1个校验比特;
    当m等于2,对所述集合的所有比特进行异或得到第0个校验比特,对包括所述集合的所有比特和第0个校验比特在内的集合中奇数或者偶数索引位置的所有比特进行异或得到第1个校验比特。
  5. 根据权利要求2所述的方法,其中,对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行编码包括:
    对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行汉明编码或者BCH编码获得m校验比特,其中m是大于等于1的整数。
  6. 根据权利要求1所述的方法,其中,在添加循环冗余校验序列后的所述NCW个信息数据块进行纠错编码,获得NCW个纠错编码块之前,还包括:
    在添加循环冗余校验序列后的第i个信息数据块的首部或者尾部填充ei比特,得到长度均为k0比特的NCW个信息数据块,其中,ei是大于等于0的整数,i=0,1,…,(NCW-1),k0是大于0小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数;
    或者,在码块分割之后且添加循环冗余校验序列之前的第i个信息数据块的首部或者尾部填充ei比特,得到长度均为k0比特的NCW个信息数据块;其中,ei是大于等于0的整数,i=0,1,…,(NCW-1),k0是大于0小于等于k'的整数,k'=k-l,k是纠错编码需要输入信息比特数目,k是大于0的整数,l是循环冗余校验序列长度,l是大于0的整数。
  7. 根据权利要求6所述的方法,其中,在编码处理得到m个校验包之后,且在对所述NCW个纠错编码块复制h1份和所述m个校验包复制h2份得到用于传输的所述总编码数据块之前,还包括:
    去除NCW个纠错编码块中的填充比特。
  8. 根据权利要求7所述的方法,其中,去除NCW个纠错编码块中的填充比特包括:
    去除m个校验包中的填充生成比特,其中,所述校验包中的填充生成比特是:由NCW个纠错编码块中的至少1个填充比特经过编码处理得到的比特数据;
    或者,去除m个校验包中的完全填充生成比特,其中,所述校验包中的完全填充生成比特为全由填充比特经过编码处理得到的比特数据。
  9. 根据权利要求1所述的方法,其中,所述NCW个信息数据块中NCW的数值为
    Figure PCTCN2016072514-appb-100001
    所述NCW个信息数据块中前NCW1个信息数据块的长度为LDPCW,后NCW-NCW1个信息数据块长度为LDPCW-1;其中,
    Figure PCTCN2016072514-appb-100002
    NCW1=mod(L,LDPCW-1),
    Figure PCTCN2016072514-appb-100003
    表示大于等于实数x的最小整数,mod(x1,x2)表示整数x1对整数x2的求余操作,k0是大于0且小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数。
  10. 根据权利要求1所述的方法,其中,所述NCW个信息数据块中NCW的数值为
    Figure PCTCN2016072514-appb-100004
    所述NCW个信息数据块中前NCW-1个信息数据块的长度为
    Figure PCTCN2016072514-appb-100005
    最后1个信息数据块长度为L-LDPCW×(NCW-1);其中,
    Figure PCTCN2016072514-appb-100006
    表示大于等于实数x的最小整数,k0是大于0小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数。
  11. 根据权利要求1所述的方法,其中,对所述NCW个纠错编码块复制h1份和所述m个校验包复制h2份得到用于传输的总编码数据块包括:
    对所述NCW个纠错编码块中的第j个纠错编码块复制h1份,得到n1j比特,包括,对第j个纠错编码块复制
    Figure PCTCN2016072514-appb-100007
    份得到
    Figure PCTCN2016072514-appb-100008
    比特的数据块,所述得到的n1j比特是所述数据块中第a1j比特开始的循环连续n1j比特,其中,n1j是大于等于
    Figure PCTCN2016072514-appb-100009
    且小于等于
    Figure PCTCN2016072514-appb-100010
    的整数;对所述m个校验包中的第s个校验包复制h2份,得到n2s比特,包括:对第s个纠错编码块复制
    Figure PCTCN2016072514-appb-100011
    份得到
    Figure PCTCN2016072514-appb-100012
    比特的数据块,所述得到的n2s比特是所述数据块中第a2s比特开始的循环连续n2s比特,其中,n2s是大于等于
    Figure PCTCN2016072514-appb-100013
    且小于等于
    Figure PCTCN2016072514-appb-100014
    的整数;
    其中,j=0,1,…,(NCW-1),s=0,1,…,(m-1),nj是第j个纠错编码块的比特数目,nj是大于0的整数,ns是第s个校验包的比特数目,ns是大于0的整数,h1和h2是大于1的实数,a1j是大于等于0小于
    Figure PCTCN2016072514-appb-100015
    的整数,a2s是大于等于0小于
    Figure PCTCN2016072514-appb-100016
    的整数,
    Figure PCTCN2016072514-appb-100017
    表示小于等于实数x的最大整数,
    Figure PCTCN2016072514-appb-100018
    表示大于等于实数x的最小整数。
  12. 根据权利要求1所述的方法,其中,对所述NCW个纠错编码块复制h1份和所述m个校验包复制h2份得到用于传输的总编码数据块包括:
    对所述NCW个纠错编码块中的第j个纠错编码块复制h1份之后,得到
    Figure PCTCN2016072514-appb-100019
    份纠错编码块,长度为
    Figure PCTCN2016072514-appb-100020
    比特,其中,有
    Figure PCTCN2016072514-appb-100021
    份是完整的第j个纠错编码块,其余的
    Figure PCTCN2016072514-appb-100022
    份是第j个纠错编码块的n'j比特,所述n'j比特取自第j个纠错编码块中从第g1j比特开始的循环连续n'j比特;对所述m个校验包中的第s个校验包复制h2份之后,得到
    Figure PCTCN2016072514-appb-100023
    份校验包,长度为
    Figure PCTCN2016072514-appb-100024
    比特,其中,有
    Figure PCTCN2016072514-appb-100025
    份是完整的第s个校验包,其余的
    Figure PCTCN2016072514-appb-100026
    份是第s个校验包的n's比特,所述n's比特取自第s个校验包中从第g2s比特开始的循环连续n's比特;
    其中,j=0,1,…,(NCW-1),h1和h2是大于1的实数,nj是第j个纠错编码块的比特数目,nj是大于0的整数,g1j是大于等于0小于nj的整数,n'j是大于等于0且小于等于
    Figure PCTCN2016072514-appb-100027
    的整数,s=0,1,…,(m-1),ns是第s个校验包的比特数目,ns是大于0的整数,g2s是大于等于0小于ns的整数,n's是小于等于
    Figure PCTCN2016072514-appb-100028
    的整数。
  13. 根据权利要求1所述的方法,其中,对所述NCW个纠错编码块复制h1份和所述m个校验包复制h2份得到用于传输的所述总编码数据块包括:
    若h1和h2的值为整数,则对所述NCW个纠错编码块中第j个纠错编码块复制h1份,得到nj×h1比特,对所述m个校验包中第s个校验包分别复制h2份,得到ns×h2比特;
    其中,j=0,1,…,(NCW-1),nj是第j个纠错编码块的比特数目,nj是大于0的整数,s=0,1,…,(m-1),ns是第s个校验包的比特数目,ns是大于0的整数。
  14. 根据权利要求1所述的方法,其中,所述h1和h2的值至少由以下参数之一确定:纠错编码块的数目NCW、校验包的数目m和常数值A0,其中,A0是大于等于1的整数。
  15. 根据权利要求14所述的方法,其中,
    所述h1和h2的数值为大于1小于等于
    Figure PCTCN2016072514-appb-100029
    其中,
    Figure PCTCN2016072514-appb-100030
    表示大于等于实数x的最小整数。
  16. 根据权利要求15所述的方法,其中,所述h1和h2等于A0×NCW/(NCW+m)或者
    Figure PCTCN2016072514-appb-100031
    或者
    Figure PCTCN2016072514-appb-100032
    其中
    Figure PCTCN2016072514-appb-100033
    表示小于等于实数x的最大整数,
    Figure PCTCN2016072514-appb-100034
    表示大于等于实数x的最小整数。
  17. 根据权利要求1所述的方法,其中,在对长度为L比特的源数据包进行码块分割得到NCW个信息数据块之前,还包括:
    通过长度为L0比特的数据头确定所述源数据包,其中,所述长度为L0比特的数据头至少包含以下参数之一:所述源数据包的长度,所述源数据包的编码调制方式,所述数据头的循环冗余校验码,扰码器的初始状态信息;
    通过以下方式之一得到包括所述数据头的总编码数据块:
    对长度为L0的所述数据头进行纠错编码,获得长度为Lp比特的编码校验块,合并所述数据头和所述编码校验块得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;
    对长度为L0的所述数据头填充f比特,获得长度为k的数据块,对填充后的所述数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并长度为L0的所述数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;
    对长度为L0的所述数据头填充f1比特,获得长度为k1的数据块,对填充后长度为k1的数据块重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对重复后的所述数据块进行纠错编码或者再填充f2比特然后进行纠错编码,获得长度为Lp比特的编码校验块,合并所述长度为L0的数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;
    对长度为L0的所述数据头填充f比特,获得长度为k1的数据块,填充后长度 为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对所述重复后的数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并所述长度为L0的数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;
    对长度为L0的所述数据头填充f1比特,获得长度为k1的数据块,填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对所述重复后的数据块再填充f2比特,获得长度为k的数据块,对所述再填充后的数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并所述长度为L0的数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;
    其中,L0是大于0的整数,Lp是大于0的整数,h0是大于0的整数,f是大于等于0的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数,k1是大于L0且小于等于k的整数,j是大于0的整数,i是大于0的整数,k2是大于k1且小于等于k的整数,f1是大于等于0的整数,f2是大于等于0的整数。
  18. 根据权利要求1至17中任一项所述的方法,其中,所述纠错编码为以下之一:LDPC编码,Turbo编码,卷积编码。
  19. 一种数据编码装置,包括:
    分割模块,设置为对长度为L比特的源数据包进行码块分割得到NCW个信息数据块;
    添加模块,设置为对每个信息数据块添加循环冗余校验序列,其中,L是大于0的整数,NCW是大于等于1的整数;
    纠错编码模块,设置为在添加循环冗余校验序列后的所述NCW个信息数据块进行纠错编码,获得NCW个纠错编码块;
    编码处理模块,设置为对所述NCW个纠错编码块进行得到所述NCW个纠错编 码块的m个校验包,其中,m是大于等于1的整数;
    复制模块,设置为对所述NCW个纠错编码块复制h1份和所述m个校验包复制h2份得到用于传输的总编码数据块,其中,h1和h2是大于1的实数。
  20. 根据权利要求19所述的装置,其中,所述编码处理模块包括:
    编码处理子模块,设置为对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行编码,获得n个长度都为m比特的编码校验块,由n个所述编码校验块中相同索引位置的所有比特构成所述m个校验包,其中,n是大于0的整数。
  21. 根据权利要求20所述的装置,其中,所述编码处理子模块包括:
    处理单元,设置为对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行m比特异或编码获得m校验比特,其中m是大于等于1的整数。
  22. 根据权利要求21所述的装置,其中,所述处理单元包括:
    第一处理子单元,设置为当m等于1,对所述集合的所有比特进行异或得到1个校验比特;
    第二处理子单元,设置为当m等于2,对所述集合的所有比特进行异或得到第0个校验比特,对包括所述集合的所有比特和第0个校验比特在内的集合中奇数或者偶数索引位置的所有比特进行异或得到第1个校验比特。
  23. 根据权利要求20所述的装置,其中,所述编码处理子模块包括:
    编码单元,设置为对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行汉明编码或者BCH编码获得m校验比特,其中m是大于等于1的整数。
  24. 根据权利要求19所述的装置,其中,所述装置还包括:
    第一填充模块,设置为在添加循环冗余校验序列后的第i个信息数据块的首部或者尾部填充ei比特,得到长度均为k0比特的NCW个信息数据块,其中,ei是大于等于0的整数,i=0,1,…,(NCW-1),k0是大于0小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数;或者,
    第二填充模块,设置为在码块分割之后且添加循环冗余校验序列之前的第i个信息数据块的首部或者尾部填充ei比特,得到长度均为k0比特的NCW个信息数据 块;其中,ei是大于等于0的整数,i=0,1,…,(NCW-1),k0是大于0小于等于k'的整数,k'=k-l,k是纠错编码需要输入信息比特数目,k是大于0的整数,l是循环冗余校验序列长度,l是大于0的整数。
  25. 根据权利要求24所述的装置,其中,所述装置还包括:
    去除模块,设置为去除NCW个纠错编码块中的填充比特。
  26. 根据权利要求25所述的装置,其中,所述去除模块包括:
    第一去除单元,设置为去除m个校验包中的填充生成比特,所述校验包中的填充生成比特是:由NCW个纠错编码块中的至少1个或者1个以上的填充比特经过编码处理得到的比特数据;或者,
    第二去除单元,设置为去除m个校验包中的完全填充生成比特,其中,所述校验包中的完全填充生成比特为全由填充比特经过编码处理得到的比特数据。
  27. 根据权利要求19所述的装置,其中,所述复制模块包括:
    第一复制单元,设置为对所述NCW个纠错编码块中的第j个纠错编码块复制h1份,得到n1j比特,包括,对第j个纠错编码块复制
    Figure PCTCN2016072514-appb-100035
    份得到
    Figure PCTCN2016072514-appb-100036
    比特的数据块,所述得到的n1j比特是所述数据块中第a1j比特开始的循环连续n1j比特,其中,n1j是大于等于
    Figure PCTCN2016072514-appb-100037
    且小于等于
    Figure PCTCN2016072514-appb-100038
    的整数;对所述m个校验包中的第s个校验包复制h2份,得到n2s比特,包括:对第s个纠错编码块复制
    Figure PCTCN2016072514-appb-100039
    份得到
    Figure PCTCN2016072514-appb-100040
    比特的数据块,所述得到的n2s比特是所述数据块中第a2s比特开始的循环连续n2s比特,其中,n2s是大于等于
    Figure PCTCN2016072514-appb-100041
    且小于等于
    Figure PCTCN2016072514-appb-100042
    的整数;其中,j=0,1,…,(NCW-1),s=0,1,…,(m-1),nj是第j个纠错编码块的比特数目,nj是大于0的整数,ns是第s个校验包的比特数目,ns是大于0的整数,h1和h2是大于1的实数,a1j是大于等于0小于
    Figure PCTCN2016072514-appb-100043
    的整数,a2s是大于等于0小于的整数,
    Figure PCTCN2016072514-appb-100045
    表示小于等于实数x的最大整数,
    Figure PCTCN2016072514-appb-100046
    表示大于等于实数x的最小整数。
  28. 根据权利要求19所述的装置,其中,所述复制模块包括:
    第二复制单元,设置为对对所述NCW个纠错编码块中的第j个纠错编码块复制h1份之后,得到
    Figure PCTCN2016072514-appb-100047
    份纠错编码块,长度为
    Figure PCTCN2016072514-appb-100048
    比特,其中,有
    Figure PCTCN2016072514-appb-100049
    份是完整的第j个纠错编码块,其余的
    Figure PCTCN2016072514-appb-100050
    份是第j个纠错编码块的n'j比特,所述n'j比特取自第j个纠错编码块中从第g1j比特开始的循环连续n'j比特;对所述m个校验包中的第s个校验包复制h2份之后,得到
    Figure PCTCN2016072514-appb-100051
    份校验包,长度为
    Figure PCTCN2016072514-appb-100052
    比特,其中,有
    Figure PCTCN2016072514-appb-100053
    份是完整的第s个校验包,其余的
    Figure PCTCN2016072514-appb-100054
    份是第s个校验包的n's比特,所述n's比特取自第s个校验包中从第g2s比特开始的循环连续n's比特;其中,j=0,1,…,(NCW-1),h1和h2是大于1的实数,nj是第j个纠错编码块的比特数目,nj是大于0的整数,g1j是大于等于0小于nj的整数,n'j是大于等于0且小于等于
    Figure PCTCN2016072514-appb-100055
    的整数,s=0,1,…,(m-1),ns是第s个校验包的比特数目,ns是大于0的整数,g2s是大于等于0小于ns的整数,n's是小于等于
    Figure PCTCN2016072514-appb-100056
    的整数。
  29. 根据权利要求19所述的装置,其中,所述复制模块包括:
    第三复制单元,设置为若h1和h2的值为整数,则对所述NCW个纠错编码块中第j个纠错编码块复制h1份,得到nj×h1比特,对所述m个校验包中第s个校验包分别复制h2份,得到ns×h2比特;其中,j=0,1,…,(NCW-1),nj是第j个纠错编码块的比特数目,nj是大于0的整数,s=0,1,…,(m-1),ns是第s个校验包的比特数目,ns是大于0的整数。
  30. 根据权利要求19所述的装置,其中,所述装置还包括:
    确定模块,设置为通过长度为L0比特的数据头确定所述源数据包,其中,所述长度为L0比特的数据头至少包含以下参数之一:所述源数据包的长度,所述源数据包的编码调制方式,所述数据头的循环冗余校验码,扰码器的初始状态信息;
    通过以下方式之一得到包括所述数据头的总编码数据块:
    对长度为L0的所述数据头进行纠错编码,获得长度为Lp比特的编码校验块, 合并所述数据头和所述编码校验块得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;
    对长度为L0的所述数据头填充f比特,获得长度为k的数据块,对填充后的所述数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并长度为L0的所述数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;
    对长度为L0的所述数据头填充f1比特,获得长度为k1的数据块,对填充后长度为k1的数据块重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对重复后的所述数据块进行纠错编码或者再填充f2比特然后进行纠错编码,获得长度为Lp比特的编码校验块,合并所述长度为L0的数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;
    对长度为L0的所述数据头填充f比特,获得长度为k1的数据块,填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对所述重复后的数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并所述长度为L0的数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;
    对长度为L0的所述数据头填充f1比特,获得长度为k1的数据块,填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对所述重复后的数据块再填充f2比特,获得长度为k的数据块,对所述再填充后的数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并所述长度为L0的数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;
    其中,L0是大于0的整数,Lp是大于0的整数,h0是大于0的整数,f是大于等于0的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数,k1是 大于L0且小于等于k的整数,j是大于0的整数,i是大于0的整数,k2是大于k1且小于等于k的整数,f1是大于等于0的整数,f2是大于等于0的整数。
PCT/CN2016/072514 2015-02-15 2016-01-28 数据编码方法及装置 WO2016127820A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510083909.2A CN105991227B (zh) 2015-02-15 2015-02-15 数据编码方法及装置
CN201510083909.2 2015-02-15

Publications (1)

Publication Number Publication Date
WO2016127820A1 true WO2016127820A1 (zh) 2016-08-18

Family

ID=56614133

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/072514 WO2016127820A1 (zh) 2015-02-15 2016-01-28 数据编码方法及装置

Country Status (2)

Country Link
CN (1) CN105991227B (zh)
WO (1) WO2016127820A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108242972A (zh) * 2016-12-26 2018-07-03 华为技术有限公司 非正交传输数据的方法和设备
WO2019201316A1 (zh) * 2018-04-19 2019-10-24 华为技术有限公司 数据编译码方法和装置、olt、onu和pon***
CN111585582A (zh) * 2020-05-14 2020-08-25 成都信息工程大学 一种基于阵列运算且码距自由确定的编码方法
CN113938248A (zh) * 2020-07-14 2022-01-14 华为技术有限公司 数据报文纠错方法和数据报文纠错装置
WO2022237850A1 (zh) * 2021-05-12 2022-11-17 华为技术有限公司 一种编译码方法、通信装置以及***

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110430010B (zh) * 2017-01-05 2020-08-07 华为技术有限公司 信息处理的方法和设备
EP3580865B1 (en) * 2017-03-09 2021-11-24 Huawei Technologies Co., Ltd. Mcs for long ldpc codes
CN108631930B (zh) 2017-03-24 2023-08-22 华为技术有限公司 Polar编码方法和编码装置、译码方法和译码装置
CN108134652B (zh) * 2017-12-22 2020-09-25 重庆金山医疗器械有限公司 一种减少ph胶囊无线检测***数据丢失的方法及***
CN109639608B (zh) * 2018-12-18 2020-08-11 深圳市华星光电技术有限公司 数据编码的方法
CN113438055B (zh) * 2021-06-24 2022-04-08 西安电子科技大学 基于不等冗余***的卷积网络编码传输方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101136722A (zh) * 2007-10-15 2008-03-05 北京交通大学 一种适用于高速移动终端的数据发送方法及传输设备
CN101656593A (zh) * 2009-09-15 2010-02-24 中国人民解放军国防科学技术大学 前向纠错编码方法、前向纠错译码方法及其装置
CN102111242A (zh) * 2011-03-16 2011-06-29 北京智网能达科技有限公司 一种降低电力线载波通信中窄带噪声干扰的方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100505606C (zh) * 2004-12-17 2009-06-24 中兴通讯股份有限公司 自适应编码调制方法
CN100502245C (zh) * 2005-10-21 2009-06-17 中兴通讯股份有限公司 支持任何码率/码长的低密度奇偶校验码编码装置和方法
CN100568744C (zh) * 2007-06-18 2009-12-09 中兴通讯股份有限公司 一种卷积码速率匹配的方法和装置
CN102217265B (zh) * 2008-11-16 2014-05-28 Lg电子株式会社 用于发送和接收信号的装置以及用于发送和接收信号的方法
CN103873071B (zh) * 2012-12-10 2016-12-21 华为技术有限公司 一种前向纠错编码、译码方法和装置、通信设备及***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101136722A (zh) * 2007-10-15 2008-03-05 北京交通大学 一种适用于高速移动终端的数据发送方法及传输设备
CN101656593A (zh) * 2009-09-15 2010-02-24 中国人民解放军国防科学技术大学 前向纠错编码方法、前向纠错译码方法及其装置
CN102111242A (zh) * 2011-03-16 2011-06-29 北京智网能达科技有限公司 一种降低电力线载波通信中窄带噪声干扰的方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108242972A (zh) * 2016-12-26 2018-07-03 华为技术有限公司 非正交传输数据的方法和设备
WO2018121460A1 (zh) * 2016-12-26 2018-07-05 华为技术有限公司 非正交传输数据的方法和设备
CN108242972B (zh) * 2016-12-26 2020-12-15 华为技术有限公司 非正交传输数据的方法和设备
US10924211B2 (en) 2016-12-26 2021-02-16 Huawei Technologies Co., Ltd. Non-orthogonal data transmission method and device
WO2019201316A1 (zh) * 2018-04-19 2019-10-24 华为技术有限公司 数据编译码方法和装置、olt、onu和pon***
CN111585582A (zh) * 2020-05-14 2020-08-25 成都信息工程大学 一种基于阵列运算且码距自由确定的编码方法
CN111585582B (zh) * 2020-05-14 2023-04-07 成都信息工程大学 一种基于阵列运算且码距自由确定的编码方法
CN113938248A (zh) * 2020-07-14 2022-01-14 华为技术有限公司 数据报文纠错方法和数据报文纠错装置
WO2022237850A1 (zh) * 2021-05-12 2022-11-17 华为技术有限公司 一种编译码方法、通信装置以及***

Also Published As

Publication number Publication date
CN105991227B (zh) 2020-03-03
CN105991227A (zh) 2016-10-05

Similar Documents

Publication Publication Date Title
WO2016127820A1 (zh) 数据编码方法及装置
US7293222B2 (en) Systems and processes for fast encoding of hamming codes
CN107026709B (zh) 一种数据包编码处理方法及装置、基站及用户设备
JP5329239B2 (ja) 通信システムのための多体ベース符号の生成器および復号化器
US8370700B2 (en) Coding method, coding device, decoding method and decoding device for low density generator matrix code
JP5602858B2 (ja) 符号化および復号プロセスのためにシンボルの永久的非活動化とともにfec符号を採用する方法および装置
WO2017177926A1 (zh) 一种数据传输处理方法和装置
TW390085B (en) A method of and apparatus for selecting cyclic redundancy check genetators in a concatenated code
US8281209B2 (en) Encoding method and device for low density generator matrix codes
US10454625B2 (en) System and method for employing outer codes with non-equal length codeblocks field
WO2017194013A1 (zh) 纠错编码方法及装置
WO2014059780A1 (zh) 一种编译码的方法、装置及***
WO2015184914A1 (zh) 一种数据包处理方法及装置
WO2008043282A1 (fr) Procédé et système de décodage de correction d'effacement ldpc
WO2016177266A1 (zh) 数据传输处理方法及装置
JP5371623B2 (ja) 通信システム及び受信装置
BRPI0801767A2 (pt) método de codificação e/ou decodificação multidimensional e sistema compreendendo tal método
RU2461963C2 (ru) Способ и устройство для декодирования кода с генераторной матрицей низкой плотности
Rohith et al. FPGA Implementation of (15, 7) BCH encoder and decoder for text message
WO2011144161A1 (zh) 前向纠错方法、装置及***
Chaudhary et al. Error control techniques and their applications
US9183076B2 (en) Using carry-less multiplication (CLMUL) to implement erasure code
Kaur Comparative Analysis of Error Correcting Codes for Noisy Channel
CN114024552A (zh) 一种缩短三维tpc的高性能译码方法
Thomadakis et al. Reed-Solomon and concatenated codes with applications in space communication

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16748621

Country of ref document: EP

Kind code of ref document: A1