The invention relates to an inroute burst header in a very small aperture terminal (VSAT) system and more particularly to use of an inroute burst header as an identifier of one or more physical layer characteristics of a remaining portion of a burst (i.e., a payload). The physical layer characteristics that may be identified in the burst header may include one or more of a modulation type, a code rate, a code type, and a spreading factor for transmitting the remaining portion of the burst.
In an existing VSAT system, a modulation type and a symbol rate is fixed per inroute frequency and is thus a priori known to a satellite gateway. A respective unique word (UW) within each burst signals a respective code rate for each of the bursts to a satellite gateway demodulator. The UW currently signals one of four different code rates to the satellite gateway. The UW contains 40 symbols. The satellite gateway demodulator may include either four correlators or one fast correlator to perform correlation on the four different UWs. The four correlators or the one fast correlator may be expensive.
If one desires the UW to signal one of two modulation types, each of which has one of four possible code rates, then the UW should be capable of representing eight different combinations. To be able to find eight UWs with good auto and cross correlation properties, and which is just 40 symbol long, would be a difficult task. As a result, a length of the UW would be increased. As an example, the length of the UW may be increased to 64 symbols or another suitable length. Further, each time the length of the UW is expanded to accommodate a larger number of combinations, another good set of UWs must be found and more bandwidth is consumed resulting in a less efficient use of bandwidth.
This Summary is provided to introduce a selection of concepts in a simplified form that is further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
In an embodiment, a machine-implemented method is provided for encoding a burst header of a burst to be transmitted on an inroute from a satellite terminal. An application specific integrated circuit of a satellite terminal generates a burst header having encoded therein, via a (16, 5) Reed-Muller code, a (32, 5) block code or a convolutional code having a code rate of either 1/5 or 1/10, five information bits representing a modulation type for modulating a payload of the burst and a code rate for the payload. The burst header is provided to a modulator to modulate the burst header via a binary phase shift keying modulation. The payload data is provided to the modulator to modulate the payload data via a modulation matching the modulation type encoded within the burst header. The modulated burst header and the modulated payload data are transmitted. The modulated payload data has a first code rate that matches the code rate encoded within the burst header.
In a second embodiment, a machine-implemented method for decoding a burst header of a burst is provided. A satellite gateway receives the burst header and encoded payload data of the burst and demodulates the burst header based on a predefined phase shift keying modulation which was used to modulate the burst header. The burst header has five information bits encoded therein via a (16,5) Reed-Muller code, a (32, 5) block code or a convolutional code with a code rate of either 1/5 or 1/10. The five information bits indicate, with respect to the payload data, a modulation type and a first code rate. The payload data, which was encoded at the first code rate, was modulated using the modulation type.
In a third embodiment, a satellite terminal is provided. The satellite terminal includes an application specific integrated circuit, a modulator, and a transmitter. The application specific integrated circuit generates a burst header for a burst. The burst header has encoded therein, via a (16, 5) Reed-Muller code, a (32, 5) block code or a convolutional code having a code rate of either 1/5 or 1/10, five information bits representing a modulation type for a payload of the burst, and a code rate for the payload. The modulator modulates the burst header via a binary phase shift keying modulation and modulates the payload via a modulation matching the modulation type indicated within the encoded burst header. The transmitter transmits the modulated burst header and the modulated payload, wherein the modulated payload is encoded at a first code rate matching the code rate encoded within the burst header. In an alternate embodiment, instead of an application specific integrated circuit, the satellite terminal may include a field programmable gate array (FPGA) or a digital signal processor.
In order to describe the manner in which the above-recited and other advantages and features can be obtained, a more particular description is provided below and will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments and are not therefore to be considered to be limiting of its scope, implementations will be described and explained with additional specificity and detail through the use of the accompanying drawings.
Embodiments are discussed in detail below. While specific implementations are discussed, it should be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations may be used without parting from the spirit and scope of the subject matter of this disclosure.
A satellite terminal and a machine-implemented method are provided for encoding a burst header of a burst for transmission on an inroute from a satellite terminal to a satellite gateway. In various embodiments, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or a digital signal processor (DSP) of a satellite terminal generates a burst header for a burst. Five information bits may be encoded within the burst header using a (16, 5) Reed-Muller code, a (32, 5) block code or a convolutional code having a code rate of either 1/5 or 1/10. The five information bits may represent a modulation type for a payload of the burst and a code rate for encoding the payload. In some embodiments, the five information bits may further represent a spreading factor for spreading the payload during transmission and a code type for encoding the payload. In some embodiments, the burst header may be modulated via a binary phase shift keying modulation.
In various embodiments, when the five information bits are encoded using the (16, 5) Reed-Muller code, the resulting 16 bit codeword may be repeated to produce 32 bits for the burst header. In other embodiments, when the five information bits are encoded using a convolutional code, the code rate may be either 1/5 or 1/10. Thus, when the code rate is 1/10, encoding the five information bits produces a 50 bit codeword for the burst header. When the code rate is 1/5, encoding the five information bits produces a 25 bit codeword, which may be repeated to produce 50 bits for the burst header.
Embodiments may include a satellite gateway and a machine-implemented method for decoding a burst header of a burst to produce five information bits representing a modulation type and a code rate for a payload of the burst. In some embodiments, the five information bits may further represent one or more of a spreading factor for spreading the payload during transmission and a code type used for encoding the payload.
In one embodiment, a (16, 5) Reed-Muller code may be used to encode five information bits u=[u4 u3 u2 u1 u0]. The following generator matrix, G, may be used to Reed-Muller encode the five information bits for a burst header.
Any 5 bit information vector u=[u4 u3 u2 u1 u0] may be encoded onto a 16 bit codeword, c, using c=u·G. The 16 bit codeword may then be repeated once to produce 32 bits for the burst header. The burst header may be transmitted using a BPSK modulation. The BPSK modulation is very robust and works well at a low Es/No, where Es is symbol energy of the signal and No is noise. For example, when Es/No≧−1 db, and a (16, 5) Reed-Muller code is used to encode five information bits onto a 16 bit codeword, which is repeated once and included as 32 bits of the burst header, the BPSK modulation is robust enough to work under these conditions. When only 16 bits of the codeword, with no repetition, is included in the burst header, the BPSK modulation is robust enough to work when Es≧2 db. In some embodiments, the BPSK modulation may be a
shifted BPSK modulation.
In another embodiment a (32, 5) block code may be used to encode the five information bits onto a 32 bit codeword. Any 5 bit information vector u=[u4 u3 u2 u1 u0] may be encoded onto a 32 bit codeword, c, using c=u·G, where G is given by the block code
In a third embodiment, a convolutional code may be used to encode the five information bits onto a 50 bit codeword. In some implementations, a convolutional encoder may perform tail biting. In other words, tail bits are not transmitted. Alternatively, instead of encoding the five information bits onto a 50 bit codeword, a convolutional code may encode the five information bits onto a 25 bit codeword, which may be repeated and included as 50 bits of the burst header.
Additional information may also be represented by the five information bits. For example, the five information bits may further represent a code type for encoding the payload, including, but not limited to, Turbo Coding and LDPC (low density parity check) coding. For example, with reference to
If a generator polynomial gi=(gi,0 gi,1 gi,2 gi,3 gi,4) and a generator polynomial g0=(1 1 1 1 1), then g0,0=1, g0,1=1, g0,2=1, g0,3=1 and g0,4=1. When a respective gi=1, then a respective u bit is input to a respective xor. Otherwise, a 0 is input to the respective xor. Therefore, initially, a first bit produced, p0, is ((((u0 xor u4) xor u3) xor u2) xor u1). When g1,0=1, g1,1=0, g1,2=1, g1,3=1, g1,4=1, then a second bit produced, p1, is (((u0 xor u3) xor u2) xor u1). When g2,0=1, g2,1=1, g2,2=0, g2,3=0 and g2,4=1, then a third produced bit, p2, is ((u0 xor u4) xor u1). When g3,0=1, g3,1=1, g3,2=0, g3,3=1 and g3,4=1, then a fourth bit, p3, is (((u0 xor u4) xor u2) xor u1). When g4,0=1, g1,1=1, g1,2=1, g1,3=1, g1,4=1, then a fifth bit produced, p4, is (((u0 xor u4) xor u3) xor u1). When g5,0=1, g5,1=1, g5,2=1, g5,3=1, g5,4=1, then a sixth bit produced, p5, is (((u0 xor u4) xor u2) xor u1). When g6,0=1, g6,1=1, g6,2=1, g6,3=1, g6,4=1, then a seventh bit produced, p6, is (((u0 xor u3) xor u2) xor u1). When g7,0=1, g7,1=0, g7,2=1, g7,3=0, g7,4=1, then an eighth bit produced, p7, is ((u0 xor u2) xor u1). When g8,0=1, g8,1=0, g8,2=0, g8,3=1, g8,4=1, then a ninth bit produced, p8, is ((u0 xor u2) xor u1). When g9,0=1, g9,1=0, g9,2=0, g9,3=0, g9,4=1, then a tenth bit produced, p9, is (u0 xor u1).
After generating bits p0 through p9, the u bits are shifted to the right and delay register 510 has an output of u1 and an input of u2, shift register 508 has an output of u2 and an input of u3, shift register 506 has an output of u3 and an input of u4, shift register 504 has an output of u4 and an input of u0, and shift register 502 has an output of u0 and an input of u1. Using the values of g0 through g9, to produce the next 10 bits, one can see that p10 is ((((u1 xor u0) xor u4) xor u3) xor u2), p11, is (((u1 xor u4) xor u3) xor u2), p12 is ((u1 xor u0) xor u2), p13 is (((u1 xor u0) xor u3) xor u2), p14 is (((u1 xor u0) xor u4) xor u2), p15 is (((u1 xor u0) xor u3) xor u2), p16 is (((u1 xor u4) xor u3) xor u2), p17 is ((u1 xor u4) xor u2), p18 is ((u1 xor u3) xor u2), and p19 is (u1 xor u2).
After generating bits p10 through p19, the u bits are shifted to the right and delay register 510 has an output of u2 and an input of u3, shift register 508 has an output of u3 and an input of u4, shift register 506 has an output of u4 and an input of u0, shift register 504 has an output of u0 and an input of u1, and shift register 502 has an output of u1 and an input of u2. Using the values of g0 through g9, to produce the next 10 bits, one can see that p20 is ((((u2 xor u1) xor u0) xor u4) xor u3), p21, is (((u2 xor u0) xor u4) xor u3), p22 is ((u2 xor u1) xor u3), p23 is (((u2 xor u1) xor u4) xor u3), p24 is (((u2 xor u1) xor u0) xor u3), p25 is (((u2 xor u1) xor u4) xor u3), p26 is (((u2 xor u0) xor u4) xor u3), p27 is ((u2 xor u0) xor u3), p28 is ((u2 xor u4) xor u3), and p29 is (u2 xor u3).
After generating bits p20 through p20, the u bits are shifted to the right and delay register 510 has an output of u3 and an input of u4, shift register 508 has an output of u4 and an input of u0, shift register 506 has an output of u0 and an input of u1, shift register 504 has an output of u1 and an input of u2, and shift register 502 has an output of u2 and an input of u3. Using the values of g0 through g9, to produce the next 10 bits, one can see that p30 is ((((u3 xor u2) xor u1) xor u0) xor u4), p31, is (((u3 xor u1) xor u0) xor u4), p32 is ((u3 xor u2) xor u4), p33 is (((u3 xor u2) xor u0) xor u4), p34 is (((u3 xor u2) xor u1) xor u4), p35 is (((u3 xor u2) xor u0) xor u4), p36 is (((u3 xor u1) xor u0) xor u4), p37 is ((u3 xor u1) xor u4), p38 is ((u3 xor u0) xor u4), and p39 is (u3 xor u4).
After generating bits p30 through p39, the u bits are shifted to the right and delay register 510 has an output of u4 and an input of u0, shift register 508 has an output of u0 and an input of u1, shift register 506 has an output of u1 and an input of u2, shift register 504 has an output of u2 and an input of u3, and shift register 502 has an output of u3 and an input of u4. Using the values of g0 through g9, to produce the next 10 bits, one can see that p40 is ((((u4 xor u3) xor u2) xor u1) xor u0), p41, is (((u4 xor u2) xor u1) xor u0), p42 is ((u4 xor u3) xor u0), p43 is (((u4 xor u3) xor u1) xor u0), p44 is (((u4 xor u3) xor u2) xor u0), p45 is (((u4 xor u3) xor u1) xor u0), p46 is (((u4 xor u2) xor u1) xor u0), p47 is ((u4 xor u2) xor u0), p48 is ((u4 xor u1) xor u0), and p49 is (u4 xor u0).
After generating bits p40 through p49, the u bits are shifted to the right and delay register 510 has an output of u0 and an input of u1, shift register 508 has an output of u1 and an input of u2, shift register 506 has an output of u2 and an input of u3, shift register 504 has an output of u3 and an input of u4, and shift register 502 has an output of u4 and an input of u0. However, because this embodiment employs tail biting, the inputs and outputs of shift registers 502, 504, 506, 508 are exactly the same as those of the initial state. When the inputs and outputs of shift registers 502, 504, 506, 508 are identical to those of the initial state, the process is completed.
As one can see from the above example, when using convolutional coding with a code rate of 1/10, each of the five information bits, produces 10 coded bits. Therefore, exemplary convolutional encoder 500 produces a 50-bit codeword from the five information bits.
By altering the generator polynomials of
shifted BPSK modulation is very robust, as previously mentioned, and may be used to modulate the burst header. Other types of modulation may be used in other embodiments, including, but not limited to, offset quadrature phase shift keying (OQPSK), 8 phase shift keying (8PSK), and 16 amplitude and phase shift keying (16APSK).
In some embodiments, a burst header may be modulated according to a predefined modulation, which may include the OQPSK modulation, the 8PSK modulation, or the 16APSK modulation. However, by mapping each coded bit of the code header, the effective modulation type for the modulated burst header may be
shifted BPSK. For example, with reference to
By performing the mappings as described above, an effective modulation of the burst header is
shifted BPSK.
The disclosed embodiments provide a number of advantages over existing systems such as:
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms for implementing the claims.
Although the above descriptions may contain specific details, they should not be construed as limiting the claims in any way. Other configurations of the described embodiments are part of the scope of this disclosure. Accordingly, the appended claims and their legal equivalents should only define the invention, rather than any specific examples given.