Data Packet Processing Method and Device
20170324428 · 2017-11-09
Inventors
Cpc classification
H04L1/0076
ELECTRICITY
H03M13/1102
ELECTRICITY
H04L1/0083
ELECTRICITY
H04L1/203
ELECTRICITY
International classification
H03M13/29
ELECTRICITY
H04L1/00
ELECTRICITY
H03M13/15
ELECTRICITY
Abstract
A packet processing method and device are disclosed. The method includes: performing code block segmentation on a source packet to obtain a sub-packets; performing error correction encoding on each sub-packet respectively, or performing error correction encoding after respectively adding a CRC sequence to each sub-packet to obtain a error correction encoding sub-packets; performing network encoding on the a error correction encoding sub-packet to obtain b check sub-packets; and performing bit selection operation on the a error correction encoding sub-packets and the b check sub-packets respectively to collectively form an encoded packet; herein a and b are integers greater than 0.
Claims
1. A packet processing method, comprising: performing code block segmentation on a source packet to obtain a sub-packets; performing error correction encoding on each sub-packet respectively, or performing error correction encoding respectively after adding a Cyclic Redundancy Check, CRC, sequence to each sub-packet to obtain a error correction encoding sub-packets; performing network encoding on the a error correction encoding sub-packets to obtain b check sub-packets; and performing bit selection operation on the a error correction encoding sub-packets and the b check sub-packets respectively to collectively form an encoded packet; wherein, a and b are integers greater than 0.
2. The method according to claim 1, wherein: performing bit selection operation on the a error correction encoding sub-packets and the b check sub-packets respectively to collectively form an encoded packet, comprises: selecting codeword bits other than bits indicated by a first set {
3. The method according to claim 1, wherein: performing network encoding on the a error correction encoding sub-packets to obtain b check sub-packets, comprises: forming a sequence Sp with a length of a bits with p-th bits of all a error correction encoding sub-packets, p=0, 1, . . . , n−1, where n is an integer greater than 1; performing single-parity check encoding, b-tuple bit parity check encoding, or Reed-Solomon, RS, encoding on the sequence Sp to obtain a check sequence Tp with a length of b bits; and sequentially combining q-th bits of all check sequences Tps to obtain a parity sub-packet Pq with a length of n bits, q=0, 1, . . . , b−1, and wherein, the error correction encoding uses Low Density Parity Check Code, LDPC, encoding, Turbo encoding or convolutional encoding.
4. (canceled)
5. The method according to claim 2, wherein: a value of the h is equal to 100, 95, 90, 80, 75 or 50, and bits that are not selected in the a error correction encoding sub-packets do not comprise filled bits.
6. (canceled)
7. (canceled)
8. The method according to claim 2, wherein: the error correction encoding uses the LDPC encoding, the network encoding uses the single-parity check encoding to obtain one check sub-packet P0 with a length of n bits, the index set
9. The method according to claim 8, wherein: when a is less than or equal to a set threshold A and greater than 1, the length e.sub.i of the index set
e.sub.i=E i=0,1, . . . ,a−1,f0=n−Σ.sub.i=0.sup.a-1e.sub.i; where the expression Σ.sub.c1.sup.c2 is a summation formula; n is greater than or equal to Σ.sub.i=0.sup.a-1e.sub.i, indicating a length of the check sub-packet P0; A is an integer greater than or equal to 2, and E is an integer equal to or greater than 1, or, wherein: when a is greater than the set threshold A, the length ei of the index set
e.sub.i=0 i=0,1, . . . ,a−1,f0=n−Σ.sub.i=0.sup.a-1e.sub.i where the expression Σ.sub.c1.sup.c2 is a summation formula; n is equal to or greater than Σ.sub.i=0.sup.a-1e.sub.i, indicating the length of the check sub-packet P0.
10. (canceled)
11. (canceled)
12. The method according to claim 9, wherein: an encoded packet Y is generated in the following manner: TABLE-US-00006 for i = 0,1, ... , a for m = h.sub.i,h.sub.i +1, ... , (n.sub.i −e.sub.i −1) if (m < Σ.sub.k=0.sup.i−1e.sub.k)) Y.sub.i,m = C.sub.i,m else Y.sub.i,m = C.sub.i,m+e.sup.
13. The method according to claim 9, wherein: the A is an integer that takes a value in [10,24].
14. The method according to claim 9, wherein: the E is 16, 32, 42, 64, 84, 128, 126 or 256.
15. A packet processing device, comprising: a code block segmenting module arranged to perform code block segmentation on a source packet to obtain a sub-packets; an error correction encoding module arranged to perform error correction encoding on each sub-packet respectively, or perform error correction encoding respectively after adding a CRC sequence to each sub-packet to obtain a error correction encoding sub-packets, where a is an integer greater than 0; a network encoding module arranged to perform network encoding on the a error correction encoding sub-packets to obtain b check sub-packets, where b is an integer greater than 0; and a bit selecting module arranged to perform bit selection operation on the a error correction encoding sub-packets and the b check sub-packets respectively to collectively form an encoded packet.
16. The device according to claim 15, wherein: the bit selecting module is arranged to perform bit selection operation on the a error correction encoding sub-packets and the b check sub-packets respectively in the following manner to collectively form an encoded packet: selecting codeword bits other than bits indicated by a first set {
17. The device according to claim 15, wherein: the network encoding module is arranged to perform network encoding on the a error correction encoding sub-packets in the following manner to obtain b check sub-packets: forming a sequence Sp with a length of a bits with p-th bits of all the a error correction encoding sub-packets, p=0, 1, . . . , n−1, where n is an integer greater than 1; performing single-parity check encoding, b-tuple bit parity check encoding, or RS encoding on the sequence Sp to obtain a check sequence Tp with a length of b bits; and sequentially combining q-th bits of all check sequences Tps to obtain a parity sub-packet Pq with a length of n bits, q=0, 1, . . . , b−1, and, wherein, the error correction encoding uses Low Density Parity Check Code, LDPC, encoding, Turbo encoding or convolutional encoding.
18. (canceled)
19. The device according to claim 16, wherein: the h used by the bit selecting module is equal to 100, 95, 90, 80, 75 or 50.
20. The device according to claim 16, wherein: the device further comprises: a bit filling module arranged to fill the source packet with k′ bits so that a length of the filled source packet is divisible by m1, where k′ is an integer equal to or greater than 0, and m1 is a predetermined first code block length; or arranged to fill a sub-packets obtained by performing code block segmentation on the source packet with k.sub.i bits, respectively, so that a length of each filled sub-packet is equal to a predetermined second code block length m2, where k.sub.i is an integer greater than or equal to 0, i=0, 1, . . . , a−1; or arranged to fill the a error correction encoding sub-packets with k bits, respectively, so that a length of each filled error correction encoding sub-packet is equal to a predetermined third code block length m3, where k.sub.j is an integer greater than or equal to 0, j=0, 1, . . . , a−1, and, wherein, bits that are not selected in the a error correction encoding sub-packets determined by the bit selecting module do not comprise filled bits.
21. (canceled)
22. The device according to claim 16, wherein: the error correction encoding module uses the LDPC encoding, and the network encoding module uses the single-parity check encoding to obtain one check sub-packet P0 with a length of n bits; when the bit selecting module performs bit selection operation, the index set
23. The device according to claim 22, wherein: when the bit selecting module performs bit selection operation, when a is less than or equal to a set threshold A and greater than 1, the length e.sub.i of the index set
e.sub.i=E i=0,1, . . . ,a−1,f0=n−Σ.sub.i=0.sup.a-1e.sub.i; where the expression Σ.sub.c1.sup.c2 is a summation formula; n is greater than or equal to Σ.sub.i=0.sup.a-1e.sub.i, indicating a length of the check sub-packet P0; A is an integer greater than or equal to 2, and E is an integer equal to or greater than 1, or, wherein: when the bit selecting module performs bit selection operation, when a is greater than the set threshold A, the length e.sub.i of the index set
e.sub.i=0 i=0,1, . . . ,a−1,f0=n−Σ.sub.i=0.sup.a-1e.sub.i; where the expression Σ.sub.c1.sup.c2 is a summation formula; n is equal to or greater than Σ.sub.i=0.sup.a-1e.sub.i, indicating the length of the check sub-packet P0.
24. (canceled)
25. (canceled)
26. The device according to claim 23, wherein: an encoded packet Y is generated in the following manner: TABLE-US-00007 for i = 0,1, ... , a for m = h.sub.i,h.sub.i +1, ... , (n.sub.i −e.sub.i −1) if (m < Σ.sub.k=0.sup.i−1e.sub.k)) Y.sub.i,m = C.sub.i,m else Y.sub.i,m = C.sub.i,m+e.sup.
27. The device according to claim 23, wherein: the A used by the bit selecting module is an integer that takes a value in [10,24].
28. The device according to claim 23, wherein: the E used by the bit selecting module is 16, 32, 42, 64, 84, 128, 126 or 256.
29. A computer-readable storage medium, in which program instructions are stored, which, when executed, implement the method according to claim 1.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0068]
[0069]
[0070]
[0071]
[0072]
[0073]
[0074]
[0075]
[0076]
[0077]
[0078] Herein the area filled with black in the sub-packets of
DETAILED DESCRIPTION
[0079] Hereinafter, embodiments of the present disclosure will be described in detail in combination with the accompanying drawings. It should be noted that, in the case of no conflict, embodiments of the present application and the features in the embodiments may be combined with each other arbitrarily.
The First Embodiment
[0080] The present embodiment divides a larger source packet into a plurality of sub-packets, and then performs channel error correction encoding on the sub-packets, performs network encoding between the error correction encoding blocks to generate a small number of check (redundancy) sub-packets, and obtains the encoded packet to be sent with the bit selection operating method so as to improve the overall Packet Error Rate (BLER) performance of the packet and reduce the requirement of the Bit Error Rate (BCER).
[0081] As shown in
[0082] In Step 110, Code block segmentation is performed on a source packet to obtain a sub-packets, where a is an integer greater than 0.
[0083] If the length of the source packet cannot be divisible by the length the predetermined segmented code block, before performing code block segmentation on the source packet, the method further includes: filling the source packet with k′ bits so that the length of the filled source packet is divisible by m1, where k′ is an integer equal to or greater than 0, and m1 is a predetermined first code block length.
[0084] It is also possible to, after performing code block segmentation on a source packet to obtain a sub-packets, fill a sub-packets with k.sub.i bits, respectively, so that the length of each filled sub-packet is equal to a predetermined second code block length m2, where k.sub.i is an integer greater than or equal to 0, i=0, 1, . . . , a−1.
[0085] In Step 120, A CRC sequence is added to each sub-packet, respectively.
[0086] This step is optional.
[0087] In Step 130, Error correction encoding is performed on each sub-packet respectively to obtain a error correction encoding sub-packets.
[0088] The sub-packet in this step may be a sub-packet with a CRC sequence added or a sub-packet without a CRC sequence added.
[0089] The error correction encoding in this step may use an encoding scheme different from network encoding, such as LDPC encoding, Turbo encoding or convolutional encoding.
[0090] It is also possible to, after obtaining a error correction encoding sub-packets, perform the bit filling process, that is: fill the a error correction encoding sub-packets with k.sub.i bits, respectively, so that the length of each filled error correction encoding sub-packet is equal to the predetermined third code block length m3, where k.sub.i is an integer greater than or equal to 0, j=0, 1, . . . , a−1.
[0091] In Step 140, Network encoding is performed on the a error correction encoding sub-packets to obtain b check sub-packets, where b is an integer greater than 0.
[0092] The network encoding in this step may be done in the following manner:
[0093] Forming a sequence Sp with a length of a bits with the p-th bits of all a error correction encoding sub-packets, p=0, 1, . . . , n−1, where n is an integer greater than 1, and n may be equal to or greater than the length of the a error correction encoding sub-packets;
[0094] performing single-parity check encoding, b-tuple bit parity check encoding, or a Reed-Solomon (RS) encoding on the sequence Sp to obtain a check sequence Tp with a length of b bits; and
[0095] Sequentially combining the q-th bits of all the check sequences Tps to obtain a parity sub-packet Pq with a length of n bits, q=0, 1, . . . , b−1.
[0096] The abovementioned single-parity check encoding means that all of the input a information bits form set S, and a binary XOR addition is performed on the set S to obtain one check bit.
[0097] The above-mentioned b-tuple bit parity check encoding means that all of the input a information bits form set S, and a binary XOR addition is performed on a subset S1 of the set S to obtain the first check bit; a binary XOR addition is performed on a subset S2 of a new set formed by the set S and the first check bit to obtain the second check bit; a binary XOR addition is performed on a subset S3 of a new set formed by the set S, the first check bit and the second check bit to obtain the third check bit; and similarly, a binary XOR addition is performed on a subset sb of a new set formed by the set S and the previous b−1 check bits to obtain the b-th check bit.
[0098] In Step 150, Bit selection operation is performed on the a error correction encoding sub-packets and the b check sub-packets respectively to collectively form an encoded packet.
[0099] This step includes:
[0100] Selecting codeword bits other than bits indicated by the first set {
[0101] Herein
[0102] In one example of the present embodiment, the error correction encoding uses the LDPC encoding, the network encoding uses the single-parity check encoding to obtain one check sub-packet P0 with a length of n bits, the index set
[0103] When a is less than or equal to A and greater than 1, the length e.sub.i of the index set
[0104] When a is greater than A, the length e.sub.i of the index set
[0105] When a is equal to 1, the length e.sub.i of the index set
[0106] Where n is equal to or greater than Σ.sub.i=0.sup.a-1e.sub.i, indicating the length of the check sub-packet P0; A is an integer greater than or equal to 2, for example, the A may take the value in the range of [10,24]; and the E is an integer greater than or equal to 1, for example, 16, 32, 42, 64, 84, 128, 126 or 256.
[0107] The encoded packet Y may be generated in the following manner:
TABLE-US-00003 for i = 0,1, ... , a for m = h.sub.i,h.sub.i +1, ... , (n.sub.i −e.sub.i −1) if (m < Σ.sub.k=0.sup.i−1e.sub.k)) Y.sub.i,m = C.sub.i,m else Y.sub.i,m = C.sub.i,m+e.sup.
[0108] Where the expression Σ.sub.c1.sup.c2e.sub.k is a summation formula, e.sub.k takes an original value when c2 is greater than or equal to c1, e.sub.k is set as 0 when c2 is less than c1; h.sub.i is an integer greater than or equal to 0, indicating the index of the first non-filled bit in C.sub.i; n.sub.i is an integer greater than or equal to e.sub.i, indicating the total number of non-filled bits in C.sub.i; when i=0, 1, . . . , a−1, C.sub.i indicates the error-correction encoding sub-packet including the filled bits, when i=a, C.sub.i indicates the check sub-packet P0, C.sub.i,m indicates the m-th bit of the i-th sub-packet, Y.sub.i,m indicates the m-th bit of the i-th sub-packet included in the packet Y, and the number of the filled bits in C.sub.i is greater than or equal to 0.
[0109] In the above code, for i=0, 1, . . . , a indicates that the bit selection operation is performed on the sub-packet C.sub.i sequentially from C.sub.0 to C.sub.a. for m=h.sub.i, h.sub.i+1, . . . , (n.sub.i−e.sub.i−1) indicates that the mapping relationship between bits Y.sub.i,m of the packet Y and bits C.sub.i,m in the sub-packet C.sub.i is determined bit-by-bit from the first non-filled bit in C.sub.i when the bit selection operation is performed on the sub-packet C.sub.i: if m<Σ.sub.k=0.sup.i−1e.sub.k, Y.sub.i,m=C.sub.i,m(that is, the m-th bit in the packet C.sub.i is mapped as the m-th bit of the i-th sub-packet contained in the packet Y). If m≧Σ.sub.k=0.sup.i−1e.sub.k, Y.sub.i,m=C.sub.i,m+e.sub.
[0110] Accordingly, a packet processing device provided by the present embodiment includes a code block segmenting module 10, an error correction encoding module 20, a network encoding module 30, a bit selecting module 40.
[0111] The code block segmenting module 10 is arranged to perform code block segmentation on a source packet to obtain a sub-packets.
[0112] The error correction encoding module 20 is arranged to perform error correction encoding on each sub-packet respectively, or perform error correction encoding respectively after adding a CRC sequence to each sub-packet to obtain a error correction encoding sub-packets, where a is an integer greater than 0; optionally, the error correction encoding uses an encoding method different from network encoding such as LDPC encoding, Turbo encoding or convolutional encoding.
[0113] The network encoding module 30 is arranged to perform network encoding on the a error correction encoding sub-packets to obtain b check sub-packets, where b is an integer greater than 0.
[0114] The bit selecting module 40 is arranged to perform bit selection operation on the a error correction encoding sub-packets and the b check sub-packets respectively to collectively form an encoded packet.
[0115] The bit selecting module 40 performs bit selection operation on the a error correction encoding sub-packets and the b check sub-packets respectively to collectively form an encoded packet, which may include:
[0116] Selecting codeword bits other than bits indicated by the first set {
[0117] Herein
[0118] The network encoding module 30 is arranged to perform network encoding on the a error correction encoding sub-packets to obtain b check sub-packets, which may include:
[0119] Forming a sequence Sp with a length of a bits with the p-th bits of all the a error correction encoding sub-packets, p=0, 1, . . . , n−1, where n is an integer greater than 1;
[0120] performing single-parity check encoding, b-tuple bit parity check encoding, or RS encoding on the sequence Sp to obtain a check sequence Tp with a length of b bits; and
[0121] Sequentially combining the q-th bit of all the check sequences Tps to obtain a parity sub-packet Pq with a length of n bits, q=0, 1, . . . , b−1.
[0122] The packet processing device of the present embodiment may further include: a bit filling module arranged to fill the source packet with k′ bits so that the length of the filled source packet is divisible by m, where k′ is an integer equal to or greater than 0, and m is a segmented predetermined code block length; or arranged to fill a sub-packets obtained by performing code block segmentation on the source packet with k.sub.i bits, respectively, so that the length of each filled sub-packet is equal to a segmented predetermined code block length m, where k.sub.i is an integer greater than or equal to 0, i=0, 1, . . . , a−1. Alternatively, the bits that are not selected in a error correction encoding sub-packets determined by the bit selecting module do not include the filled bits.
[0123] In one example, the error correction encoding module 20 uses the LDPC encoding, and the network encoding module 30 uses the single-parity check encoding to obtain one check sub-packet P0 with a length of n bits.
[0124] When the bit selecting module 40 performs bit selection operation, the index set
[0125] The length e.sub.i of the index set
The Second Embodiment
[0126] In the IEEE802.11aj system, LDPC encoding rate supported by the communication system includes 1/2, 5/8, 3/4, and 13/16, and all the supported code lengths are N.sub.ldpc=672.
[0127] According to the present embodiment, the system currently uses the set channel encoding rate of 1/2, the number of information bits required for the master code of the LDPC code is 336, and 8 bits of the CRC sequence are subtracted to obtain the actual maximum length of 328 of each sub-packet (equivalent to the predetermined first code block length m1). Assuming that the length of the source packet is k=32800 bits, the code block segmentation is performed on the source packet to obtain a=100 sub-packets; a CRC sequence of 8 bits is added to each sub-packet, and the length of each sub-packet becomes 336 bits; LDPC encoding is performed on each sub-packet respectively after adding a CRC sequence of 8 bits to obtain 100 LDPC encoding sub-packets, each has a length of 672 bits and the number of the filled bits is 0; in the network encoding process, a single-parity check encoding method is used to perform network encoding on the 100 LDPC encoding sub-packets to obtain one check sub-packet; and the bit selection operation is performed according to the following rules to obtain the packet Y.
[0128] In the index set (
[0129] The index set
[0130] When i=0, 1, . . . , 65, e.sub.i=7;
[0131] When i=66, 67, . . . , 99, e.sub.i=6.
[0132] The length f0 of the index set
[0133] The index set
[0134] In the 100 LDPC encoding sub-packet and one check sub-packet, the selected and unselected bits are shown in detail in
[0135] The sent packet Y is generated in the following manner:
TABLE-US-00004 for i = 0,1, ... , 100 for m = h.sub.i,h.sub.i +1, ... , (n.sub.i −e.sub.i −1) if (m < Σ.sub.k=0.sup.i−1e.sub.k)) Y.sub.i,m = C.sub.i,m else Y.sub.i,m = C.sub.i,m+e.sup.
[0136] Where the expression Σ.sub.c1.sup.c2e.sub.k is a summation formula, e.sub.k takes an original value when c2 is greater than or equal to c1, e.sub.k is set as 0 when c2 is less than c1; h.sub.i is an integer greater than or equal to 0, indicating the index of the first non-filled bit in C.sub.i; n.sub.i is an integer greater than or equal to e.sub.i, indicating the total number of non-filled bits in C.sub.i; when i=0, 1, . . . , a−1, C.sub.i indicates the error-correction encoding sub-packet including the filled bits, when i=a, C.sub.i indicates the check sub-packet P0, C.sub.i,m indicates the m-th bit of the i-th sub-packet, Y.sub.i,m indicates the m-th bit of the i-th sub-packet included in the packet Y, and the number of the filled bits in C.sub.i is greater than or equal to 0.
The Third Embodiment
[0137] In the IEEE802.11aj system, LDPC encoding rate supported by the communication system includes 1/2, 5/8, 3/4, and 13/16, and all the supported code lengths are N.sub.ldpc=672.
[0138] According to the present embodiment, the system currently uses the set channel encoding rate of 13/16, the number of information bits required for the master code of the LDPC code is 546, and 8 bits of the CRC sequence are subtracted to obtain the actual maximum length of 538 of each sub-packet. The length of the source packet is k=5208 bits, the code block segmentation is performed on the source packet to obtain a=10 sub-packets, each of the first eight sub-packets has a size of 521 bits, and each of the last two sub-packets has a size of 520 bits; a CRC sequence of 8 bits is added to each sub-packet respectively; LDPC encoding is performed on each sub-packet respectively after adding a CRC sequence of 8 bits to obtain 10 LDPC encoding sub-packets, where each of the first eight LDPC encoding sub-packets has a size of 647 bits, and each of the last two LDPC encoding sub-packets has a size of 646 bits; in the network encoding process, a single-parity check encoding method is used, to fill all the error correction encoding sub-packets with a total of 2 bits, that is, each of the last two LDPC sub-packets is filled with 1 bit in front respectively, so that all the 10 error correction encoding sub-packets have a length up to 647 bits (equivalent to a predetermined third code block length m3), respectively. The network encoding is performed on the 10 LDPC encoding sub-packets to obtain one check sub-packet with the length of 647 bits; and the bit selection operation is performed according to the following rules to obtain the packet Y.
[0139] In the index set (
[0140] The index set
[0141] The index set
[0142] The sent packet Y may be generated in the following manner:
TABLE-US-00005 for i = 0,1, ... , 10 for m = h.sub.i,h.sub.i +1, ... , (n.sub.i −e.sub.i −1) if (m < Σ.sub.k=0.sup.i−1e.sub.k)) Y.sub.i,m = C.sub.i,m else Y.sub.i,m = C.sub.i,m+e.sup.
[0143] Where the expression Σ.sub.c1.sup.c2e.sub.k is a summation formula, e.sub.k takes an original value when c2 is greater than or equal to c1, e.sub.k is set as 0 when c2 is less than c1; h.sub.i is an integer greater than or equal to 0, indicating the index of the first non-filled bit in C.sub.i; n.sub.i is an integer greater than or equal to e.sub.i, indicating the total number of non-filled bits in C.sub.i; when i=0, 1, . . . , a−1, C.sub.i indicates the error-correction encoding sub-packet including the filled bits, when i=a, C.sub.i indicates the check sub-packet P0, C.sub.i,m indicates the m-th bit of the i-th sub-packet, Y.sub.i,m indicates the m-th bit of the i-th sub-packet included in the packet Y, and the number of the filled bits in C.sub.i is greater than or equal to 0.
The Fourth Embodiment
[0144] In the IEEE802.11aj system, LDPC encoding rate supported by the communication system includes 1/2, 5/8, 3/4, and 13/16, and all the supported code lengths are N.sub.ldpc=672.
[0145] According to the present embodiment, the system currently uses the set channel encoding rate of 3/4, the number of information bits required for the master code of the LDPC code is 504, and 8 bits of the CRC sequence are subtracted to obtain the actual maximum length of 496 of each sub-packet. The length of the source packet is k=496 bits, the code block segmentation is performed on the source packet to obtain a=1 sub-packet, the sub-packet has a size of 496 bits; a CRC sequence of 8 bits is added to each sub-packet respectively; LDPC encoding is performed on each sub-packet respectively after adding a CRC sequence of 8 bits to obtain 1 LDPC encoding sub-packet, the sub-packet has a size of 672 bits; in the network encoding process, a single-parity check encoding method is used, the number of filled bits is 0. The network encoding is performed on the 1 LDPC encoding sub-packet to obtain one check sub-packet with the length of 672 bits; and the bit selection operation is performed according to the following rules to obtain the packet Y.
[0146] In the index set (
[0147] The index set
[0148] At this point, the packet Y and the LDPC encoding sub-packet are the same.
The Fifth Embodiment
[0149] In some communication systems that require Turbo encoding, the packet processing may be performed using a solution in the present embodiment.
[0150] According to the present embodiment, the system currently uses the set Turbo encoding rate of 1/2, the code length is 1024 bits, the required number of information bits is 512, and 8 bits of the CRC sequence are subtracted to obtain the actual maximum length of 504 of each sub-packet; assuming that the length of the source packet is k=1512 bits, the code block segmentation is performed on the source packet to obtain a=3 sub-packets; a CRC sequence of 8 bits is added to each sub-packet respectively, the length of each packet becomes 512 bits; Turbo encoding is performed on each sub-packet respectively after adding a CRC sequence to obtain 3 Turbo encoding sub-packets, each has a length of 1024 bits and there is 0 filling bit; in the network encoding process, a single-parity check encoding method is used to perform network encoding on the 3 Turbo encoding sub-packets to obtain 1 check sub-packet of which the length is 512 bits; and the bit selection operation is performed according to the following rules to obtain the packet Y.
[0151] In the index set (
[0152] The index set
[0153] The index set
[0154] The indexes of the unselected bits described above are continuous (concentrated) in each Turbo encoding sub-packet, and of course, a decentralized (discrete) method may be used.
The Sixth Embodiment
[0155] In some communication systems that require Turbo encoding, the packet processing may be performed using a solution in the present embodiment.
[0156] According to the present embodiment, the system currently uses the set Turbo encoding rate of 1/2, the code length is 1024 bits, the required number of information bits is 512, and 8 bits of the CRC sequence are subtracted to obtain the actual maximum length of 504 of each sub-packet; assuming that the length of the source packet is k=1512 bits, the code block segmentation is performed on the source packet to obtain a=3 sub-packets; a CRC sequence of 8 bits is added to each sub-packet respectively, the length of each packet becomes 512 bits; Turbo encoding is performed on each sub-packet respectively after adding a CRC sequence to obtain 3 Turbo encoding sub-packets, each has a length of 1024 bits and there is 0 filling bit; in the network encoding process, 2-tuple bit parity check encoding method is used to perform network encoding on the 3 Turbo encoding sub-packets to obtain 2 check sub-packets, each has a length of 701 bits; and the bit selection operation is performed according to the following rules to obtain the packet Y.
[0157] The index set
[0158] The index set
[0159] The indexes of the unselected bits described above are continuous (concentrated) in each Turbo encoding sub-packet, and of course, a decentralized (discrete) method may be used.
The Seventh Embodiment
[0160] In some communication systems that require other encoding, the error correction encoding method such as convolutional encoding or RS encoding is used, and the method according to the embodiment of the present disclosure may also be used to perform the packet process. The described method is basically the same as the above embodiment.
[0161]
[0162] The method and device supporting the improvement of packet transmission performance described in the embodiment of the present disclosure may also be stored in a computer-readable storage medium if implemented in the form of a software function module and sold or used as a separate product. Based on this understanding, those skilled in the art should understand that the embodiments in the present application can provide a method, a system or a computer program product. Thus, forms of hardware embodiments, software embodiments or embodiments integrating software and hardware can be adopted in the present application. Moreover, a form of the computer program product implemented on one or more computer available storage media (including, but not limited to, a USB disk, a mobile hard disk, a Read-Only Memory (ROM), a disk memory, CD-ROM, an optical memory, and the like) containing computer available program codes can be adopted in the present application.
[0163] The present application is described with reference to flowcharts and/or block diagrams of the method, the equipment (system) and the computer program product according to the embodiments of the present application. It should be understood that each flow and/or block in the flowcharts and/or the block diagrams and a combination of the flows and/or the blocks in the flowcharts and/or the block diagrams can be realized by computer program instructions. These computer program instructions can be provided for a general computer, a dedicated computer, an embedded processor or processors of other programmable data processing devices to generate a machine, so that an apparatus for realizing functions assigned in one or more flows of the flowcharts and/or one or more blocks of the block diagrams is generated via instructions executed by the computers or the processors of the other programmable data processing devices.
[0164] These computer program instructions can also be stored in a computer readable memory capable of guiding the computers or the other programmable data processing devices to work in a specific mode, so that a manufactured product including an instruction apparatus is generated via the instructions stored in the computer readable memory, and the instruction apparatus realizes the functions assigned in one or more flows of the flowcharts and/or one or more blocks of the block diagrams.
[0165] These computer program instructions can also be loaded onto the computers or the other programmable data processing devices, so that processing realized by the computers is generated by executing a series of operation steps on the computers or the other programmable devices, and therefore the instructions executed on the computers or the other programmable devices provide a step of realizing the functions assigned in one or more flows of the flowcharts and/or one or more blocks of the block diagrams.
[0166] Accordingly, an embodiment of the present disclosure further provides a computer storage medium in which a computer program is stored for executing the method and device for supporting the improvement of the packet transmission performance according to an embodiment of the present disclosure.
[0167] The above description is only for alternative embodiments of the present disclosure, and is not intended to limit the scope of protection of the present disclosure.
INDUSTRIAL APPLICABILITY
[0168] The embodiments of the present disclosure may improve the packet transmission performance.