An approach for encoding a physical layer (pl) header of a pl data frame is provided. The pl header comprises sixteen information bits ui, (i=0, 1, 2, . . . , 15), and the encoding is based on a convolutional code, whereby, for each information bit, five associated parity bits pi,k, (k=0, 1, 2, 3, 4) are generated, resulting in 80 codebits. The resulting 80 codebits are punctured to form a (16,77) codeword (c0, c1, c2, . . . , c76). The codebits of the (16,77) codeword are repeated to generate a (16,154) physical layer signaling codeword (c0, c0, c1, c1, c2, c2, . . . , c76, c76) for transmission of the pl data frame over a channel of a communications network. Further, for each information bit, each of the associated five parity bits is generated based on a parity bit generator, as follows: pi,k=(ui*gk,0)⊕(S0*gk,1)⊕(S1*gk,2)⊕(S2*gk,3)⊕(S3*gk,4), where S0=ui-1, S1=ui-2, S2=i-3, S3=ui-4, and wherein generator polynomials for gk=(gk,0, gk,1, gk,2, gk,3, gk,4), are as follows: g0=(1, 0, 1, 0, 1); g1=(1, 0, 1, 1, 1); g2=(1, 1, 0, 1, 1); g3=(1, 1, 1, 1, 1); g4=(1, 1, 0, 0, 1).
|
5. A method comprising:
encoding, by a processor of a device, a physical layer (pl) header of a pl data frame, wherein the pl header comprises eight information bits ui, (i=0, 1, 2, . . . , 7), and the encoding is based on a convolutional code, whereby, for each information bit ui, (i=0, 1, 2, . . . , 7), ten associated parity bits pi,k, (k=0, 1, 2, . . . , 9) are generated, resulting in 80 codebits; and
puncturing the resulting 80 codebits to form an (8,64) physical layer signaling (PLS) codeword for transmission of the pl data frame over a channel of a communications network;
wherein, for each information bit ui, (i=0, 1, 2, . . . , 7), each of the associated ten parity bits pi,k, (k=0, 1, 2, . . . , 9) is generated based on a parity bit generator, as follows:
pi,k=(ui*gk,0)⊕(ui-1*gk,1)⊕(ui-2*gk,2)⊕(ui-3*gk,3)⊕(ui-4*gk,4)
wherein generator polynomials for gk=(gk,0, gk,1, gk,2, gk,3, gk,4), are as follows:
g0=(1, 1, 1, 1, 1)
g1=(1, 0, 1, 1, 1)
g2=(1, 1, 0, 0,1)
g3=(1, 1, 0, 1, 1)
g4=(1, 1, 1, 0, 1)
g5=(1, 1, 0, 1, 1)
g6=(1, 0, 1, 1, 1)
g7=(1, 0, 1, 0, 1)
g8=(1, 0, 0, 1, 1)
g9=(1, 0, 0, 0, 1).
18. An apparatus comprising:
an encoder configured to encode a physical layer (pl) header of a pl data frame, wherein the pl header comprises eight information bits ui, (i=0, 1, 2, . . . , 7), and the encoding is based on a convolutional code, whereby, for each information bit ui, (i=0, 1, 2, . . . , 7), ten associated parity bits pi,k, (k=0, 1, 2, . . . , 9) are generated, resulting in 80 codebits;
a puncturing module configured to puncture the resulting 80 codebits to form an (8,64) physical layer signaling (PLS) codeword for transmission of the pl data frame over a channel of a communications network; and
a parity bit generator configured to generate, for each information bit ui, (i=0, 1, 2, . . . , 7), ten associated parity bits pi,k, (k=0, 1, 2, . . . , 9), as follows:
pi,k=(ui*gk,0)⊕(ui-1*gk,1)⊕(ui-2*gk,2)⊕(ui-3*gk,3)⊕(ui-4*gk,4)
wherein generator polynomials for gk=(gk,0, gk,1, gk,2, gk,3, gk,4), are as follows:
g0=(1, 1, 1, 1, 1)
g1=(1, 0, 1, 1, 1)
g2=(1, 1, 0, 0,1)
g3=(1, 1, 0, 1, 1)
g4=(1, 1, 1, 0, 1)
g5=(1, 1, 0, 1, 1)
g6=(1, 0, 1, 1, 1)
g7=(1, 0, 1, 0, 1)
g8=(1, 0, 0, 1, 1)
g9=(1, 0, 0, 0, 1).
1. A method comprising:
encoding, by a processor of a device, a physical layer (pl) header of a pl data frame, wherein the pl header comprises sixteen information bits ui, (i=0, 1, 2, . . . , 15), and the encoding is based on a convolutional code, whereby, for each information bit ui, (i=0, 1, 2, . . . , 15), ten associated parity bits pi,k, (k=0, 1, 2, . . . , 9) are generated, resulting in 160 codebits; and
puncturing the resulting 160 codebits to form a (16,154) physical layer signaling (PLS) codeword for transmission of the pl data frame over a channel of a communications network;
wherein, for each information bit ui, (i=0, 1, 2, . . . , 15), each of the associated ten parity bits pi,k, (k=0, 1, 2, . . . , 9) is generated based on a parity bit generator, as follows:
pi,k=(ui*gk,0)⊕(S0*gk,1)⊕(S1*gk,2)⊕(S2*gk,3)⊕(S3*gk,4),
where S0=ui-1, S1=ui-2, S2=ui-3, S3=ui-4, and
wherein generator polynomials for gk=(gk,0, gk,1, gk,2, gk,3, gk,4), are as follows:
g0=(1, 1, 1, 1, 1)
g1=(1, 0, 1, 1, 1)
g2=(1, 1, 0, 0,1)
g3=(1, 1, 0, 1, 1)
g4=(1, 1, 1, 0, 1)
g5=(1, 1, 0, 1, 1)
g6=(1, 0, 1, 1, 1)
g7=(1, 0, 1, 0,1)
g8=(1, 0, 0, 1, 1)
g9=(1,0,0,0,1).
15. An apparatus comprising:
an encoder configured to encode a physical layer (pl) header of a pl data frame, wherein the pl header comprises sixteen information bits ui, (i=0, 1, 2, . . . , 15), and the encoding is based on a convolutional code, whereby, for each information bit ui, (i=0, 1, 2, . . . , 15), ten associated parity bits pi,k, (k=0, 1, 2, . . . , 9) are generated, resulting in 160 codebits;
a puncturing module configured to puncture the resulting 160 codebits to form a (16,154) physical layer signaling (PLS) codeword for transmission of the pl data frame over a channel of a communications network; and
a parity bit generator configured to generate, for each information bit ui, (i=0, 1, 2, . . . , 15), ten associated parity bits pi,k, (k=0, 1, 2, . . . , 9), as follows:
pi,k=(ui*gk,0)⊕(S0*gk,1)⊕(S1*gk,2)⊕(S2*gk,3)⊕(S3*gk,4)
where S0=ui-1, S1=ui-2, S2=ui-3, S3=ui-4, and
wherein generator polynomials for gk=(gko, gk,1, gk,2, gk,3, gk,4), are as follows:
g0=(1, 1, 1, 1, 1)
g1=(1, 0, 1, 1, 1)
g2=(1, 1, 0, 0,1)
g3=(1, 1, 0, 1, 1)
g4=(1, 1, 1, 0, 1)
g5=(1, 1, 0, 1, 1)
g6=(1, 0, 1, 1, 1)
g7=(1, 0, 1, 0,1)
g8=(1, 0, 0, 1, 1)
g9=(1, 0, 0, 0, 1).
9. A method comprising:
encoding, by a processor of a device, a physical layer (pl) header of a pl data frame, wherein the pl header comprises sixteen information bits ui, (i=0, 1, 2, . . . , 15), and the encoding is based on a convolutional code, whereby, for each information bit ui, (i=0, 1, 2, . . . , 15), five associated parity bits pi,k, (k=0, 1, 2, 3, 4) are generated, resulting in 80 codebits;
puncturing the resulting 80 codebits to form a (16,77) codeword of 77 codebits (c0, c1, c2, . . . , c76); and
repeating the codebits of the (16,77) codeword to generate a (16,154) physical layer signaling (PLS) codeword (c0, c0, c1, c1, c2, c2, . . . , c76, c76) for transmission of the pl data frame over a channel of a communications network;
wherein, for each information bit ui, (i=0, 1, 2, . . . , 15), each of the associated five parity bits pi,k, (k=0, 1, 2, 3, 4) is generated based on a parity bit generator, as follows:
pi,k=*(ui*gk,0)⊕(S0*gk,1)⊕(S1*gk,2)⊕(S2*gk,3)⊕(S3*gk,4),
where S0=ui-1, S1=ui-2, S2=uL-3, S3=, and
wherein generator polynomials for gk=(gk,0, gk,1, gk,2, gk,3, gk,4), are as follows:
g0=(1, 0, 1, 0,1)
g1=(1, 0, 1, 1, 1)
g2=(1, 1, 0, 1, 1)
g3=(1, 1, 1, 1, 1)
g4=(1, 1, 0, 0, 1).
20. An apparatus comprising:
an encoder configured to encode a physical layer (pl) header of a pl data frame, wherein the pl header comprises sixteen information bits ui, (i=0, 1, 2, . . . , 15), and the encoding is based on a convolutional code, whereby, for each information bit ui, (i=0, 1, 2, . . . , 15), five associated parity bits pi,k, (k=0, 1, 2, 3, 4) are generated, resulting in 80 codebits;
a puncturing module configured to puncture the resulting 80 codebits to form a (16,77) codeword of 77 codebits (c0, c1, c2, . . . , c76);
a repeater module configured to repeat the codebits of the (16,77) codeword to generate a (16,154) physical layer signaling (PLS) codeword (c0, c0, c1, c1, c2, c2, . . . , c76, c76) for transmission of the pl data frame over a channel of a communications network; and
a parity bit generator configured to generate, for each information bit ui, (i=0, 1, 2, . . . , 15), five associated parity bits pi,k, (k=0, 1, 2, 3, 4), as follows:
pi,k=(ui*gk,0)⊕(S0*gk,1)⊕(S1*gk,2)⊕(S2*gk,3)⊕(S3*gk,4)
where S0=ui-1, S1=ui-2, S2=ui-3, S3=ui-4, and
wherein generator polynomials for gk=(gk,0, gk,1, gk,2, gk,3, gk,4), are as follows:
g0=(1, 0, 1, 0, 1)
g1=(1, 0, 1, 1, 1)
g2=(1, 1, 0, 1, 1)
g3=(1, 1, 1, 1, 1)
g4=(1, 1, 0, 0, 1).
2. The method of
3. The method of
4. The method of
6. The method of
7. The method of
8. The method of
10. The method of
11. The method of
12. The method of
13. The method of
inputting the (16,77) codeword into a first input of a 2:1 multiplexer function;
dividing the (16,77) codeword into N groups of consecutive codebits, each group being of an integer number of codebits approximately equal to 77/N;
inputting the codebits of each group into a first input of a respective Exclusive OR function; and
encoding N additional information bits to generate a (16+N, 154) physical layer signaling (PLS) codeword for transmission of the pl data frame over a channel of a communications network;
wherein the encoding of the N additional information bits comprises inputting each of the N additional information bits into a second input of a respective one of the Exclusive OR functions, and inputting the outputs of each of the Exclusive OR functions into a second input of the 2:1 multiplexer, wherein, as the 2:1 multiplexer cycles through the insertion of the repeated bits, it switches through the bit group feeds from the Exclusive-OR functions, and each group of codebits from the (16,77) codeword is repeated as is or repeated as an inverse, depending on the value of the additional information bit fed into the respective Exclusive-OR function.
14. The method of
16. The apparatus of
17. The apparatus of
19. The apparatus of
21. The apparatus of
22. The apparatus of
a 2:1 multiplexer with a first input comprising the (16,77) codeword; and
N Exclusive OR components with a first input of each of the N Exclusive OR components being a respective one of N groups of consecutive codebits of the (16,77) codeword, each group being of an integer number of codebits approximately equal to 77/N, wherein N is equal to a number of additional information bits to be encoded;
wherein the repetition of the codebits of the (16,77) codeword comprises:
encoding the N additional information bits to generate a (16+N, 154) physical layer signaling (PLS) codeword for transmission of the pl data frame over a channel of a communications network;
wherein the encoding of the N additional information bits comprises inputting each of the N additional information bits into a second input of a respective one of the Exclusive OR components, and inputting the outputs of each of the Exclusive OR components into a second input of the 2:1 multiplexer, wherein, as the 2:1 multiplexer cycles through the insertion of the repeated bits, it switches through the bit group feeds from the Exclusive-OR components, and each group of codebits from the (16,77) codeword is repeated as is or repeated as an inverse, depending on the value of the additional information bit fed into the respective Exclusive-OR component.
|
This application is related to and claims the benefit of priority under 35 U.S.C. §119(e) to U.S. Provisional Application Ser. No. 61/622,707 filed Apr. 11, 2012, U.S. Provisional Application Ser. No. 61/641,578 filed May 2, 2012, U.S. Provisional Application Ser. No. 61/648,399 filed May 17, 2012, and U.S. Provisional Application Ser. No. 61/650,639 filed May 23, 2012, the entirety of each of which is incorporated herein by reference.
The present invention relates to coding for wireless communication systems, and more particularly to convolutional coding for multiplexing within a wideband transponder of a communications system.
Nearly all communications systems rely on some form of error control for managing errors that may occur due to noise and other factors during transmission of information through a wireless communication channel. Such communications systems can include satellite systems, fiber-optic systems, and cellular systems. Efficient error control schemes implemented at the transmitting end of these communications systems have the capacity to enable the transmission of data including audio, video, text, etc., with very low error rates within a given signal-to-noise ratio (SNR) environment. Powerful error control schemes also enable a communication system to achieve target error performance rates in environments with very low SNR, such as in satellite and other wireless systems, where noise is prevalent and high levels of transmission power are costly, if even feasible.
Accordingly, a broad class of powerful error control schemes have emerged, which enable reliable transmission of information including convolutional codes, low density parity check (LDPC) codes, and turbo codes. The current digital video broadcast DVB-S2 standard benefits from adaptive coding and modulation (ACM) for improving the bandwidth efficiency, and includes a physical layer signaling code (PLS Code), which yields PLS Codes in the header of the physical frame. DVB-S2 PLS Codes are encoded using (7,64) Reed-Muller codes. This current DVB-S2 PLS coding scheme, however, results in a PLS Code of a number of information bits that limits the information that can be conveyed by the code. While the current limits of the DVB-S2 PLS Code may be sufficient for the current DVB-S2 standard, the current DVB-S2 PLS Code lacks capabilities to support expansion for future systems and future generations of the DVB-S2 standard.
In current systems, outroutes are typically in the order of 30 to 45 Msps over which coded modulation data is sent. In next generation, high capacity satellite systems (e.g., systems of capacities exceeding 100 Gbps), however, bandwidth of outroutes are in the order of greater than 200 Msps (e.g., 220 Msps). While, the current DVB-S2 standard may be applied to a 200 Msps outroute, such application raises a significant challenges in the development of relatively low complexity and low cost ASICs for the demodulation and decoding of such outroutes at the satellite terminals and gateways. In order to address such cost and complexity issues, multiplexing schemes may be employed to reduce the speed at which such ASICs are required to process received data streams, and to reduce complexity and power requirements (hence reducing the costs associated with the decoder ASICs). Such multiplexing schemes entail the multiplexing of a number of lower throughput outroute streams into one larger outroute transmission stream. Thus, because a particular terminal is not intended to consume the entire information bandwidth of the multiplexed stream, the multiplexing scheme allows the decoder to be run at a lower speed and provide the needed information bandwidth. In order to facilitate operation of the decoder at a lower speed, however, the packets of the transmission stream must be coded to permit identification of the packets of a data stream destined for a particular terminal without requiring the terminal to fully demodulate and decode every packet. The current DVB-S2 PLS coding scheme, however, lacks the capability to support such additional coding in the PLS Code, and thus additional layers of coding and decoding would be required.
What is needed, therefore, is a method and apparatus for convolutional coding for DVB-S2 PLS coding to provide an expanded PLS Code (e.g., to support multi-carrier multiplexing within a wideband transponder of a wireless communications system).
The present invention advantageously addresses the needs above, as well as other needs, by providing a method and apparatus for convolutional coding for DVB-S2 PLS coding, which provides an expanded PLS Code (e.g., to support multi-carrier multiplexing within a wideband transponder of a wireless communications system). According to an exemplary embodiment, a convolutional code (e.g., a (16,154) convolutional code) is employed for DVB-S2 PLS coding, which results in an extended PLS Code that can support signaling of stream identification (SID) for packets of multiplexed data stream of a wideband communications system. According to a further exemplary embodiment, a convolutional code is employed for DVB-S2 PLS coding, which increases the MODCOD by one bit to allow for new modulation and coding for next generation DVB-S2 standards. Moreover, according to exemplary embodiments, such enhanced PLS coding improves the coding performance, which facilitates operation with the most robust modulation and coding, such as QPSK, rate 1/4, short modulation and coding.
According to an example embodiment, a method comprises encoding, by a processor of a device, a physical layer (PL) header of a PL data frame, wherein the PL header comprises sixteen information bits ui, (i=0, 1, 2, . . . , 15), and the encoding is based on a convolutional code, whereby, for each information bit ui, (i=0, 1, 2, . . . , 15), ten associated parity bits pi,k, (k=0, 1, 2, . . . , 9) are generated, resulting in 160 codebits. The method further comprises puncturing the resulting 160 codebits to form a (16,154) physical layer signaling (PLS) codeword for transmission of the PL data frame over a channel of a communications network. For each information bit ui, (i=0, 1, 2, . . . , 15), each of the associated ten parity bits pi,k, (k=0, 1, 2, . . . , 9) is generated based on a parity bit generator, as follows: pi,k=(ui*gk,0)⊕(S0*gk,1)⊕(S1*gk,2)⊕(S2*gk,3)⊕(S3*gk,4), where S0=ui-1, S1=ui-2, S2=ui-3, S3=ui-4, and generator polynomials for gk=(gk,0, gk,1, gk,2, gk,3, gk,4), are as follows: g0=(1, 1, 1, 1, 1), g1=(1, 0, 1, 1, 1), g2=(1, 1, 0, 0, 1), g3=(1, 1, 0, 1, 1), g4=(1, 1, 1, 0, 1), g5=(1, 1, 0, 1, 1), g6=(1, 0, 1, 1, 1), g7=(1, 0, 1, 0, 1), g8=(1, 0, 0, 1, 1), g9=(1, 0, 0, 0, 1). According to a further example, the puncturing of the resulting 160 codebits comprises puncturing the parity bits p0,9, p3,9, p6,9, p9,9, p12,9, p15,9 (the tenth parity bit for each of the information bits u0, u3, u6, u9, u12, u15). According to another example, the method further comprises performing tail biting, wherein initial states for S0, S1, S2, S3 are set as S0=u15, S1=u14, S2=u13, S3=u12, and no tail bits are transmitted.
According to a further example embodiment, a method comprises encoding, by a processor of a device, a physical layer (PL) header of a PL data frame, wherein the PL header comprises eight information bits ui, (i=0, 1, 2, . . . , 7), and the encoding is based on a convolutional code, whereby, for each information bit ui, (i=0, 1, 2, . . . , 7), ten associated parity bits pi,k, (k=0, 1, 2, . . . , 9) are generated, resulting in 80 codebits. The method further comprises puncturing the resulting 80 codebits to form an (8,64) physical layer signaling (PLS) codeword for transmission of the PL data frame over a channel of a communications network. For each information bit ui, (i=0, 1, 2, . . . , 7), each of the associated ten parity bits pi,k, (k=0, 1, 2, . . . , 9) is generated based on a parity bit generator, as follows: pi,k=(ui*gk,0)⊕(ui-1*gk,1)⊕(ui-2*gk,2)⊕(ui-3*gk,3)⊕(ui-4*gk,4), wherein generator polynomials for gk=(gk,0, gk,1, gk,2, gk,3, gk,4), are as follows: g0=(1, 1, 1, 1, 1), g1=(1, 0, 1, 1, 1), g2=(1, 1, 0, 0, 1), g3=(1, 1, 0, 1, 1), g4=(1, 1, 1, 0, 1), g5=(1, 1, 0, 1, 1), g6=(1, 0, 1, 1, 1), g7=(1, 0, 1, 0, 1), g8=(1, 0, 0, 1, 1), g9=(1, 0, 0, 0, 1). According to a further example, the puncturing of the resulting 80 codebits comprises puncturing the parity bits p0,5, p0,6, p1,5, p1,6, p2,5, p2,6, p3,5, p3,6, p4,5, p4,6, p5,5, p5,6, p6,5, p6,6, p7,5, p7,6 (the fourth and fifth parity bits for each of the information bits u0, u1, u2, . . . , u7).
According to a further example embodiment, a method comprises encoding, by a processor of a device, a physical layer (PL) header of a PL data frame, wherein the PL header comprises sixteen information bits ui, (i=0, 1, 2, . . . , 15), and the encoding is based on a convolutional code, whereby, for each information bit ui, (i=0, 1, 2, . . . , 15), five associated parity bits pi,k, (k=0, 1, 2, 3, 4) are generated, resulting in 80 codebits. The method further comprises puncturing the resulting 80 codebits to form a (16,77) codeword of 77 codebits (c0, c1, c2, . . . , c76), and repeating the codebits of the (16,77) codeword to generate a (16,154) physical layer signaling (PLS) codeword (c0, c0, c1, c1, c2, c2, . . . , c76, c76) for transmission of the PL data frame over a channel of a communications network. For each information bit ui, (i=0, 1, 2, . . . , 15), each of the associated five parity bits pi,k, (k=0, 1, 2, 3, 4) is generated based on a parity bit generator, as follows: pi,k=(ui*gk,0)⊕(S0*gk,1)⊕(S1*gk,2)⊕(S2*gk,3)⊕(S3*gk,4), where S0=ui-1, S1=ui-2, S2=i-3, S3=ui-4, and wherein generator polynomials for gk=(gk,0, gk,1, gk,2, gk,3, gk,4), are as follows: g0=(1, 0, 1, 0, 1), g1=(1, 0, 1, 1, 1), g2=(1, 1, 0, 1, 1), g3=(1, 1, 1, 1, 1), g4=(1, 1, 0, 0, 1). According to a further example, the puncturing of the resulting 80 codebits comprises puncturing the parity bits p3,4, p8,4, p13,4 (the third parity bit for each of the information bits u3, u8, u13). According to yet a further example, the repetition of the codebits of the (16,77) codeword comprises inputting the (16,77) codeword into a first input of a 2:1 multiplexer function, dividing the (16,77) codeword into N groups of consecutive codebits, each group being of an integer number of codebits approximately equal to 77/N, inputting the codebits of each group into a first input of a respective Exclusive OR function, and encoding N additional information bits to generate a (16+N, 154) physical layer signaling (PLS) codeword for transmission of the PL data frame over a channel of a communications network. The encoding of the N additional information bits comprises inputting each of the N additional information bits into a second input of a respective one of the Exclusive OR functions, and inputting the outputs of each of the Exclusive OR functions into a second input of the 2:1 multiplexer, wherein, as the 2:1 multiplexer cycles through the insertion of the repeated bits, it switches through the bit group feeds from the Exclusive-OR functions, and each group of codebits from the (16,77) codeword is repeated as is or repeated as an inverse, depending on the value of the additional information bit fed into the respective Exclusive-OR function.
According to a further example embodiment, an apparatus comprises an encoder configured to encode a physical layer (PL) header of a PL data frame, wherein the PL header comprises sixteen information bits ui, (i=0, 1, 2, . . . , 15), and the encoding is based on a convolutional code, whereby, for each information bit ui, (i=0, 1, 2, . . . , 15), ten associated parity bits pi,k, (k=0, 1, 2, . . . , 9) are generated, resulting in 160 codebits. The apparatus further comprises a puncturing module configured to puncture the resulting 160 codebits to form a (16,154) physical layer signaling (PLS) codeword for transmission of the PL data frame over a channel of a communications network. The apparatus further comprises a parity bit generator configured to generate, for each information bit ui, (i=0, 1, 2, . . . , 15), ten associated parity bits pi,k, (k=0, 1, 2, . . . , 9), as follows: pi,k=(ui*gk,0)⊕(S0*gk,1)⊕(S1*gk,2)⊕(S2*gk,3)⊕(S3*gk,4), where S0=ui-1, S1=ui-2, S2=ui-3, S3=ui-4, and wherein generator polynomials for gk=(gk,0, gk,1, gk,2, gk,3, gk,4), are as follows: g0=(1, 1, 1, 1, 1), g1=(1, 0, 1, 1, 1), g2=(1, 1, 0, 0, 1), g3=(1, 1, 0, 1, 1), g4=(1, 1, 1, 0, 1), g5=(1, 1, 0, 1, 1), g6=(1, 0, 1, 1, 1), g7=(1, 0, 1, 0, 1), g8=(1, 0, 0, 1, 1), g9=(1, 0, 0, 0, 1). According to a further example, the puncturing of the resulting 160 codebits comprises puncturing the parity bits p0,9, p3,9, p6,9), p9,9, p12,9, p15,9 (the tenth parity bit for each of the information bits u0, u3, u6, u9, u12, u15). According to another example, the puncturing module is further configured to perform tail biting, wherein initial states for S0, S1, S2, S3 are set as S0=u15, S1=u14, S2=u13, S3=u12, and no tail bits are transmitted.
According to a further example embodiment, an apparatus comprises an encoder configured to encode a physical layer (PL) header of a PL data frame, wherein the PL header comprises eight information bits ui, (i=0, 1, 2, . . . , 7), and the encoding is based on a convolutional code, whereby, for each information bit ui, (i=0, 1, 2, . . . , 7), ten associated parity bits pi,k, (k=0, 1, 2, . . . , 9) are generated, resulting in 80 codebits. The apparatus further comprises a puncturing module configured to puncture the resulting 80 codebits to form an (8,64) physical layer signaling (PLS) codeword for transmission of the PL data frame over a channel of a communications network. The apparatus further comprises a parity bit generator configured to generate, for each information bit ui, (i=0, 1, 2, . . . , 7), ten associated parity bits pi,k, (k=0, 1, 2, . . . , 9), as follows: pi,k=(ui*gk,0)⊕(ui-1*gk,1)⊕(ui-2*gk,2)⊕(ui-3*gk,3)⊕(ui-4*gk,4), wherein generator polynomials for gk=(gk,0, gk,1, gk,2, gk,3, gk,4), are as follows: g0=(1, 1, 1, 1, 1), g1=(1, 0, 1, 1, 1), g2=(1, 1, 0, 0, 1), g3=(1, 1, 0, 1, 1), g4=(1, 1, 1, 0, 1), g5=(1, 1, 0, 1, 1), g6=(1, 0, 1, 1, 1), g7=(1, 0, 1, 0, 1), g8=(1, 0, 0, 1, 1), g9=(1, 0, 0, 0, 1). According to a further example, the puncturing of the resulting 80 codebits comprises puncturing the parity bits p0,5, p0,6, p1,5, p1,6, p2,5, p2,6, p3,5, p3,6, p4,5, p4,6, p5,5, p5,6, p6,5, p6,6, p7,5, p7,6 (the fourth and fifth parity bits for each of the information bits u0, u1, u2, . . . , u7).
According to a further example embodiment, an apparatus comprises an encoder configured to encode a physical layer (PL) header of a PL data frame, wherein the PL header comprises sixteen information bits ui, (i=0, 1, 2, . . . , 15), and the encoding is based on a convolutional code, whereby, for each information bit ui, (i=0, 1, 2, . . . , 15), five associated parity bits pi,k, (k=0, 1, 2, 3, 4) are generated, resulting in 80 codebits. The apparatus further comprises a puncturing module configured to puncture the resulting 80 codebits to form a (16,77) codeword of 77 codebits (c0, c1, c2, . . . , c76). The apparatus further comprises a repeater module configured to repeat the codebits of the (16,77) codeword to generate a (16,154) physical layer signaling (PLS) codeword (c0, c0, c1, c1, c2, c2, . . . , c76, c76) for transmission of the PL data frame over a channel of a communications network. The apparatus further comprises a parity bit generator configured to generate, for each information bit ui, (i=0, 1, 2, . . . , 15), five associated parity bits pi,k, (k=0, 1, 2, 3, 4), as follows: pi,k=(u1*gk,0)⊕(S0*gk,1)⊕(S1*gk,2)⊕(S2*gk,3)⊕(S3*gk,4), where S0=ui-1, S1=ui-2, S2=u1-3, S3=ui-4, and wherein generator polynomials for gk=(gk,0, gk,1, gk,2, gk,3, gk,4), are as follows: g0=(1, 0, 1, 0, 1), g1=(1, 0, 1, 1, 1), g2=(1, 1, 0, 1, 1), g3=(1, 1, 1, 1, 1), g4=(1, 1, 0, 0, 1). According to a further example, the puncturing of the resulting 80 codebits comprises puncturing the parity bits p3,4, p8,4, p13,4 (the third parity bit for each of the information bits u3, u8, u13). According to another example, the apparatus further comprises a 2:1 multiplexer with a first input comprising the (16,77) codeword, and N Exclusive OR components with a first input of each of the N Exclusive OR components being a respective one of N groups of consecutive codebits of the (16,77) codeword, each group being of an integer number of codebits approximately equal to 77/N. The repetition of the codebits of the (16,77) codeword comprises encoding N additional information bits to generate a (16+N, 154) physical layer signaling (PLS) codeword for transmission of the PL data frame over a channel of a communications network. The encoding of the N additional information bits comprises inputting each of the N additional information bits into a second input of a respective one of the Exclusive OR components, and inputting the outputs of each of the Exclusive OR components into a second input of the 2:1 multiplexer. As the 2:1 multiplexer cycles through the insertion of the repeated bits, it switches through the bit group feeds from the Exclusive-OR components, and each group of codebits from the (16,77) codeword is repeated as is or repeated as an inverse, depending on the value of the additional information bit fed into the respective Exclusive-OR component.
Still other aspects, features, and advantages of the present invention are readily apparent from the following detailed description, simply by illustrating a number of particular embodiments and implementations, including the best mode contemplated for carrying out the present invention. The present invention is also capable of other and different embodiments, and its several details can be modified in various obvious respects, all without departing from the spirit and scope of the present invention. Accordingly, the drawing and description are to be regarded as illustrative in nature, and not as restrictive.
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
A method and apparatus for convolutional coding for DVB-S2 PLS coding, which provides an expanded PLS Code (e.g., to support multi-carrier multiplexing within a wideband transponder of a wireless communications system), is described. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the invention. It is apparent, however, that the invention may be practiced without these specific details or with an equivalent arrangement. In other instances, well known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the invention.
In a traditional bent-pipe system of an exemplary embodiment, the satellite 201 operates as a repeater or bent pipe, and communications between the STs 203, 205 are transmitted over a double-hop path. For example, in a communication from ST 203 to ST 205, over the first hop, the communication is transmitted, via the satellite, from the ST 203 to the HUB 211. The HUB 211 decodes the communication and determines the destination ST 205. The HUB 211 then appropriately addresses and repackages the communication, encodes and modulates it, and transmits the communication over the second hop, via the satellite, to the destination ST 205. Accordingly, the satellite of such a system acts as a bent pipe or repeater, transmitting communications between the HUB 211 and the STs 203, 205.
In an alternate embodiment, with a satellite communications system 200 that employs a processing satellite (e.g., including a packet switch operating, for example, at a data link layer), the system may support direct unicast (point-to-point) communications and multicast communications among the STs 203, 205. In the case of a processing satellite, the satellite 201 decodes the received signal and determines the destination ST or STs (as the HUB 211 would in a bent-pipe system). The satellite 201 then addresses the data accordingly, encodes and modulates it, and transmits the modulated signal, over the channel 113, to the destination ST or STs (e.g., ST 205). The STs 203, 205 provide connectivity to one or more hosts 207, 209, respectively. According to one embodiment of the present invention, the satellite communications system 200 has a fully meshed architecture, whereby the STs 203, 205 may directly communicate.
The data transmissions transmitted from the HUB 211 and from the STs 203, 205, through a satellite 201 of a bent-pipe system, for example, is commonly referred to as the forward link or the outroute, and the data transmissions received by the HUB 211 and received by the STs 203, 205 is commonly referred to as the return link or the inroute. In current systems, the outroute may typically be in the order of 30 to 45 Msps over which coded modulation data is sent. The outroute comprises a data stream of frames, where the data is encoded in codeblocks, and a receiving ST 203, 205 will typically demodulate and decode each frame to determine whether the data of the frame is destined to the particular receiving ST. Such transmission and reception schemes are described by the DVB-S2 ETSI EN 302 307 Standard, incorporated herein by reference in its entirety.
As introduced above, according to embodiments of next generation, high capacity satellite systems (e.g., systems of capacities exceeding 100 Gbps), bandwidth of outroutes are in the order of greater than 200 Msps (e.g., 220 Msps). Further, as also introduced above, to achieve relatively low complexity and low cost decoder ASIC designs for the STs 203, 205, certain multiplexing schemes may be employed to multiplex a number of lower throughput outroute data streams into one higher throughput outroute transmission stream. For example, as described in copending patent application Ser. No. 13/323,467, filed Dec. 12, 2011, and Ser. No. 13/086,702, filed Apr. 14, 2011, example embodiments of such multiplexing schemes are described.
CRO 302, CRO 304, CRO 306 and CRO 308 perform modulation and coding of outroute stream signals 324, 326, 328 and 330, respectively, and output coded signals 332, 334, 336 and 338, respectively. Modulators 310, 312, 314 and 316, receive and encode and bit-to-symbol map coded signals 332, 334, 336 and 338, respectively, and output modulated signals 340, 342, 344 and 346, respectively. Multiplexer 318 multiplexes modulated signals 340, 342, 344 and 346 into one outroute stream as denoted by multiplexed signal 348. By multiplexing modulated signals 340, 342, 344 and 346 into one outroute stream, transmitter 300 is able to utilize a single device or resource, in this case DAC 322, to transmit a plurality of signals. Match filter 320 filters multiplexed signal 348 in order to maximize the signal-to-noise ratio of the transmitted signal. DAC 322 converts transmit filtered signal 350 to analog signal 352. Each pair of CRO 302 and modulator 310, CRO 304 and modulator 312, CRO 306 and modulator 314, and CRO 308 and modulator 316 may operate at relatively low rates (e.g., 55 Msps).
According to exemplary embodiments, with respect to convolutional coding for DVB-S2 physical layer signaling (PLS) coding, an expanded PLS Code is provided (e.g., to support multi-carrier multiplexing within a wideband transponder of a wireless communications system), wherein the PL Header of the DVB-S2 standard is coded to provide a stream identification code (SID) (identifying the particular outroute stream from which the data of the respective packet originates), and to expand the MODCOD capabilities. In accordance with one such embodiment, an encoder codes 16 information bits for the PLS Code using 154 bits (e.g., a (16,154) convolutional code) to provide better performance over that of the current DVB-S2 Reed-Muller coding of 7 information bits using 64 bits (e.g., the current (7,64) Reed-Muller code of the DVB-S2 standard). The 16 information bits may comprise the following assignment scheme: (1) six bits indicate the MODCOD (e.g., an extra MODCOD bit over the five bits of the current DVB-S2 standard); (2) one bit indicates pilot on/off; (3) one bit indicates normal/short codeblock; and (4) eight bits indicate SID.
According to one exemplary embodiment, with reference to
gi=(gi,0, gi,1, gi,2, gi,3, gi,4)
g0=(11111)
g1=(10111)
g2=(11001)
g3=(11011)
g4=(11101)
g5=(11011)
g6=(10111)
g7=(10101)
g8=(10011)
g9=(10001),
where a “1” indicates a connection (and a 0 indicates no connection) for the respective gi position of
Accordingly, with reference to
According to a further exemplary embodiment, in order to improve the decoder performance and save information bits, no flush bits are used, and instead tail biting is employed (Step 817). For example, depending on the input bits, the initial state is chosen so that the initial and final states are the same. The initial state is set as S0=u15, S1=u14, S2=u13, S3=u12. Further, no tail bits are transmitted.
According to exemplary embodiments, therefore, the (16,154) convolutional code increases the information bits of the PLS Code from 7 bits to 16 bits, where the coded bits plus the start of frame unique word occupies two DVB-S2 slots (e.g., 2*90 symbols).
With respect to the 2*(7,64) Reed-Muller code 605, to extend the information bits, the (7,64) Reed-Muller code of the DVB-S2 standard can be repeated as two (7,64) codes resulting in 14 information bits. As shown in
According to a further exemplary embodiment, an extended PLS code is provided, which spans only one slot while allowing twice as many MODCODs as the current standard. For this PLS code, a rate 1/8 convolutional code is used to encode 8 information bits to generate an (8,64) codeword (Step 811). The code is generated by transmitting (p0, p1, p2, p3, p4, p7, p8, p9) for each of the 8 information bits. The code rate is 1/10. The parity bits pi (i=0, 1, 2, . . . 9) are generated according to the generator polynomials gi (i=0, 1, 2, . . . 9), as set forth above with reference to the parity bit generator 400 of
gi=(gi,0, gi,1, gi,2, gi,3, gi,4)
g0=(11111)
g1=(10111)
g2=(11001)
g3=(11011)
g4=(11101)
g5=(11011)
g6=(10111)
g7=(10101)
g8=(10011)
g9=(10001),
again, where a “1” indicates a connection (and a 0 indicates no connection) for the respective gi position of
According to another exemplary embodiment, a further (16,154) code is provided, wherein the (16,154) code is generated by repeating a (16,77) code of an exemplary embodiment (Step 815). In other words, where (c0, c1, c2, . . . , c76) denotes a codeword of the (16,77) code, a (16,154) codeword can be generated by repeating the bits of the (16,77). For example, in the case of the (16,77) codeword of (c0, c1, c2, . . . , c76), a (16,154) codeword can be represented as (c0, c0, c1, c1, c2, c2, . . . , c76, c76). The (16,77) encoder comprises a convolutional coder of constraint length K=5, where the number of states is 2(K-1)=16, and each information bit generates 5 parity bits (p0, p1, p2, p3, p4). The code rate is 1/5.
gi=gi,0, gi,1, gi,2, gi,3, gi,4)
g0=(10101)
g1=(10111)
g2=(11011)
g3=(11111)
g4=(11001),
where a “1” indicates a connection (and a 0 indicates no connection) for the respective gi position of
According to a further exemplary embodiment, additional information bits can be encoded onto the repeated (16,77) codeword described above, to generate a (16+b,154) code, where b is the number of additional information bits.
With reference to
Further, as would be evident to one of skill in the art, the particular distribution of the specific bit grouping methods for the (16,77) codeword bits may be accomplished in various different manners without departing from the general scope of the invention, and that a main consideration would be the associated complexity required for the receiver.
The methods and apparatuses described herein for convolutional coding for DVB-S2 PLS coding may be implemented via software, hardware (e.g., general processor, Digital Signal Processing (DSP) chip, an Application Specific Integrated Circuit (ASIC), Field Programmable Gate Arrays (FPGAs), etc.), firmware or a combination thereof. Such exemplary hardware for performing the described functions is detailed below.
According to one embodiment of the invention, convolutional coding for DVB-S2 PLS coding in accordance with exemplary embodiments is provided by the computer system 900 in response to the processor 903 executing an arrangement of instructions contained in main memory 905. Such instructions can be read into main memory 905 from another computer-readable medium, such as the storage device 909. Execution of the arrangement of instructions contained in main memory 905 causes the processor 903 to perform the process steps described herein. One or more processors in a multi-processing arrangement may also be employed to execute the instructions contained in main memory 905. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the embodiment of the present invention. Thus, embodiments of the present invention are not limited to any specific combination of hardware circuitry and software. The computer system 900 also includes a communication interface 917 coupled to bus 901.
The term “computer-readable medium” as used herein refers to any medium that participates in providing instructions to the processor 903 for execution. Such a medium may take many forms, including but not limited to non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as storage device 909. Volatile media include dynamic memory, such as main memory 905. Transmission media include coaxial cables, copper wire and fiber optics, including the wires that comprise bus 901. Transmission media can also take the form of acoustic, optical, or electromagnetic waves, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD ROM, CDRW, DVD, any other optical medium, punch cards, paper tape, optical mark sheets, any other physical medium with patterns of holes or other optically recognizable indicia, a RAM, a PROM, and EPROM, a FLASH EPROM, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read.
In one embodiment, the chip set 1000 includes a communication mechanism such as a bus 1001 for passing information among the components of the chip set 1000. A processor 1003 has connectivity to the bus 1001 to execute instructions and process information stored in, for example, a memory 1005. The processor 1003 may include one or more processing cores with each core configured to perform independently. A multi-core processor enables multiprocessing within a single physical package. Examples of a multi-core processor include two, four, eight, or greater numbers of processing cores. Alternatively or in addition, the processor 1003 may include one or more microprocessors configured in tandem via the bus 1001 to enable independent execution of instructions, pipelining, and multithreading. The processor 1003 may also be accompanied with one or more specialized components to perform certain processing functions and tasks such as one or more digital signal processors (DSP) 1007, and/or one or more application-specific integrated circuits (ASIC) 1009. A DSP 1007 typically is configured to process real-world signals (e.g., sound) in real time independently of the processor 1003. Similarly, an ASIC 1009 can be configured to performed specialized functions not easily performed by a general purposed processor. Other specialized components to aid in performing the inventive functions described herein include one or more field programmable gate arrays (FPGA) (not shown), one or more controllers (not shown), or one or more other special-purpose computer chips.
The processor 1003 and accompanying components have connectivity to the memory 1005 via the bus 1001. The memory 1005 includes both dynamic memory (e.g., RAM) and static memory (e.g., ROM) for storing executable instructions that, when executed by the processor 1003 and/or the DSP 1007 and/or the ASIC 1009, perform the process of exemplary embodiments as described herein. The memory 1005 also stores the data associated with or generated by the execution of the process.
In the preceding specification, various embodiments have been described with reference to the accompanying drawings. It will, however, be evident that various modifications and changes may be made thereto, and additional embodiments may be implemented, without departing from the broader scope of the invention. The specification and drawings are accordingly to be regarded in an illustrative rather than restrictive sense.
Eroz, Mustafa, Antia, Yezdi, Lee, Lin-Nan
Patent | Priority | Assignee | Title |
9391642, | Apr 11 2012 | U S BANK NATIONAL ASSOCIATION | Method and apparatus for convolutional coding to support multiplexing in a wideband communications system |
Patent | Priority | Assignee | Title |
4398291, | Jun 23 1980 | Nippon Electric Co., Ltd. | Satellite communication system for switching formats with reference to super-frame time slots |
5581688, | Apr 29 1993 | Telefonaktiebolaget L M Ericsson | Tele- and data communication system |
5805822, | Jun 01 1994 | International Business Machine Corp. | Channel interface with data segmentation and re-segementation |
6522665, | Aug 01 1997 | NTT DOCOMO, INC. | Data sequence generator, transmitter, information data decoder, receiver, transmitter-receiver, data sequence generating method, information data decoding method, and recording medium |
7706315, | Jul 24 2000 | ViaSat, Inc. | Dynamic link assignment in a communication system |
7715786, | Feb 08 2006 | DIRECTV, LLC | Blind identification of advanced modulation and coding modes |
8208499, | Jun 13 2003 | DTVG LICENSING, INC | Framing structure for digital broadcasting and interactive services |
20040252725, | |||
20070206638, | |||
20070208884, | |||
20090034654, | |||
20090279475, | |||
20100157931, | |||
WO10301, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Apr 11 2013 | Hughes Network Systems, LLC | (assignment on the face of the patent) | / | |||
May 10 2013 | EROZ, MUSTAFA | Hughes Network Systems | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 030390 | /0892 | |
May 10 2013 | ANTIA, YEZDI | Hughes Network Systems | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 030390 | /0892 | |
May 10 2013 | LEE, LIN-NAN | Hughes Network Systems | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 030390 | /0892 | |
Feb 18 2016 | Hughes Network Systems LLC | WELLS FARGO BANK, NATIONAL ASSOCIATION - AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 037847 | /0440 | |
Oct 01 2019 | Wells Fargo Bank, National Association | U S BANK NATIONAL ASSOCIATION | ASSIGNMENT OF PATENT SECURITY AGREEMENTS | 050600 | /0314 | |
Oct 01 2019 | WELLS FARGO, NATIONAL BANK ASSOCIATION | U S BANK NATIONAL ASSOCIATION | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION NUMBER 15649418 PREVIOUSLY RECORDED ON REEL 050600 FRAME 0314 ASSIGNOR S HEREBY CONFIRMS THE ASSIGNMENT OF PATENT SECURITY AGREEMENTS | 053703 | /0367 | |
Oct 01 2019 | WELLS FARGO, NATIONAL BANK ASSOCIATION | U S BANK NATIONAL ASSOCIATION | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION NUMBER 15649418 PREVIOUSLY RECORDED ON REEL 005600 FRAME 0314 ASSIGNOR S HEREBY CONFIRMS THE APPLICATION NUMBER 15649418 | 053703 | /0367 |
Date | Maintenance Fee Events |
Jan 10 2019 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jan 06 2023 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Jul 21 2018 | 4 years fee payment window open |
Jan 21 2019 | 6 months grace period start (w surcharge) |
Jul 21 2019 | patent expiry (for year 4) |
Jul 21 2021 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jul 21 2022 | 8 years fee payment window open |
Jan 21 2023 | 6 months grace period start (w surcharge) |
Jul 21 2023 | patent expiry (for year 8) |
Jul 21 2025 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jul 21 2026 | 12 years fee payment window open |
Jan 21 2027 | 6 months grace period start (w surcharge) |
Jul 21 2027 | patent expiry (for year 12) |
Jul 21 2029 | 2 years to revive unintentionally abandoned end. (for year 12) |