1. Technical Field
Aspects of this document relate generally to telecommunication systems and techniques for encoding and modulating information for transmission through a telecommunication channel.
2. Background Art
Conventional telecommunications systems have been devised that include a modulator and forward error correction (FEC) encoder that can change either modulation type (order) or FEC encoder rate, or both. A specific nomenclature has emerged to describe a combination of a modulation type and code rate, i.e., ModCod (also referred to as Mod/Code). In implementations of conventional systems employing ModCod, the modulator sends the value of the ModCod to signal to the demodulator/decoder how to configure for the correct modulation type and FEC code rate during the demodulation/decoding process. This is the basis for Adaptive Coding and Modulation (ACM).
Implementations of telecommunication systems like those disclosed in this document may include implementations of a transmission system for encoding and modulating data for transmission across a telecommunication channel. Implementations of the system may include an encoder adapted to receive a message block from a quantity of data to be included in a data payload of a frame of a plurality of frames and to encode the quantity of data using a short-block low density parity check (LDPC) code or any other forward error correction block code, including, but not limited to Turbo Product Coding (TPC) to form a short encoded block. The system may also include a modulator coupled to the encoder and adapted to receive the short encoded block, to modulate the short encoded block using a modulation format to form a modulated short encoded block that includes a plurality of symbols, and to include the modulated short encoded block in a data payload included in the frame. The system may also include a transmitter coupled to the modulator and adapted to send the frame into the telecommunication channel where each modulated short encoded block in the data payload of each of the plurality of frames has a constant number of symbols and where each frame of the plurality of frames includes a preamble including a modulation/code pair (ModCod) including information relating to the modulation format and the short-block LDPC code or any other forward error correction block code, including, but not limited to Turbo Product Coding (TPC) used to encode the message block and to modulate the short encoded block.
Implementations of a transmission system for encoding and modulating data for transmission across a telecommunication channel may include one, all, or any of the following:
The message block may have a block size between about 1 kilobit and about 9 kilobits.
The modulation format may comprise (but is not limited to) binary phase shift keying (BPSK), quadrature phase shift keying (QPSK), or quadrature amplitude modulation (QAM).
The short-block LDPC code may have a code rate between about 0.4 to about 0.9.
The ModCod in each preamble may be selected from a group of twelve ModCods or twelve pairs of ModCods.
The message block may have a block size between about 1 kilobit and about 9 kilobits; the short-block LDPC code has a code rate between about 0.4 to about 0.9; the modulation format may be selected from the group consisting of binary phase shift keying (BPSK), quadrature phase shift keying (QPSK), and quadrature amplitude modulation (QAM); and the ModCod in each preamble may be selected from a group of twelve ModCods or twelve pairs of ModCods.
The ModCod may be encoded as a non-linear block code, where the first codeword has a first distance spectrum.
The system may further include a second frame with a preamble including a second ModCod included in a second codeword of the non-linear block code, where the second codeword has a second distance spectrum different from the first distance spectrum.
The ModCod and an overhead channel bit value may be included in a first codeword of a first pair of codewords of the non-linear block code, and a second frame of the plurality of frames may include a preamble including a ModCod and an overhead channel bit value included in a second codeword of the first pair of codewords of non-linear block code, where the first codeword has a first Hamming distance to the second codeword and the first pair of codewords has a second Hamming distance to a second pair of codewords of the non-linear block code where the second Hamming distance is larger than the first Hamming distance.
The short-block LDPC code may be a non-interleaved short-block LDPC code adapted to reduce the end-to-end latency of a telecommunication system utilizing the transmission system.
Implementations of telecommunication systems like those disclosed in this document may utilize implementations of a method of encoding data for transmission across a telecommunication channel. The method may include forming a frame of a plurality of frames by encoding a message block from a quantity of data to be included in a data payload of the frame using a short-block low density parity check (LDPC) code and an encoder to form a short encoded block and modulating the short encoded block using a modulation format and a modulator to form a modulated short encoded block. The method may also include including the modulated short encoded block in the data payload of the frame and transmitting the frame of the plurality of frames into a telecommunication channel with a transmitter where each modulated short encoded block included in the plurality of frames has a constant number of symbols and where each frame of the plurality of frames includes a preamble including a modulation/code pair (ModCod) including information relating to the modulation format and the short-block LDPC code used to encode the message block and modulate the short encoded block.
Implementations of a method of encoding data for transmission across a telecommunication channel may include one, all, or any of the following:
Encoding the message block from the quantity of data may further include encoding a message block with a block size between about 1 kilobit and about 9 kilobits.
Modulating the short encoded block using the modulation format and the modulator may further include modulating with a modulation format selected from the group consisting of (but not limited to) binary phase shift keying (BPSK), quadrature phase shift keying (QPSK), and quadrature amplitude modulation (QAM).
Encoding the message block from the quantity of data may further include encoding with a short block LDPC code having a code rate between about 0.4 to about 0.9.
Forming the frame of the plurality of frames may further include selecting one of twelve ModCods and using the modulation format and short-block LDPC code indicated by the selected ModCod to perform the encoding of the message block and the modulation of the short encoded block.
Encoding the message block from the quantity of data may further include encoding the message block with a block size between about 1 kilobit and about 9 kilobits and encoding the message block with a short-block LDPC code having a code rate between about 0.4 to about 0.9; modulating the short encoded block using the modulation format may further include modulating with a modulation format selected from the group consisting of binary phase shift keying (BPSK), quadrature phase shift keying (QPSK), and quadrature amplitude modulation (QAM); and forming the frame of the plurality of frames may further include selecting one of twelve ModCods and using the modulation format and short-block LDPC code indicated by the selected ModCod to perform the encoding of the message block and the modulation of the short encoded block.
Forming the frame of the plurality of frames may further include encoding the ModCod in a first codeword of a non-linear block code, the first codeword having a first distance spectrum, and including the first codeword in the preamble of the frame.
The frame may be a first frame of the plurality of frames, the short encoded block may be a first short encoded block, and the modulated short encoded block may be a first modulated short encoded block and the method may further include forming a second frame of the plurality of frames by encoding a second message block from a quantity of data to be included in a data payload of the second frame using short-block LDPC code and the encoder to form a second short encoded block, modulating the second short encoded block using the modulation format and the modulator to form a second modulated short encoded block, and including the second modulated short encoded block in the data payload of the second frame. The method may also include forming a preamble including a second ModCod including information relating to the modulation format and the LDPC code used to encode the second message block and to modulate the second short encoded block. The second ModCod may be encoded in a second codeword of the non-linear block code, where the second codeword has a second distance spectrum different from the first distance spectrum.
Encoding the ModCod in the first codeword of non-linear block code, may further include including an overhead channel bit value in the first codeword where the overhead channel bit value is configured to transport data associated with an overhead channel of a telecommunication system.
Encoding the message block from the quantity of data may further include reducing the end-to-end latency of a telecommunication system by encoding with a systematic, non-interleaved short-block LDPC code.
Implementations of telecommunication systems like those disclosed in this document may utilize implementations of a method of encoding data for transmission across a telecommunication channel. The method may include forming a frame by encoding and modulating a message block from a quantity of data to be included in a data payload of the frame using a modulation format and a short-block LDPC code associated with a modulation/code pair (ModCod) selected from a table of ModCods:
The method may further include transmitting the frame into a telecommunication channel with a transmitter.
Implementations of telecommunication systems like those disclosed in this document may utilize implementations of a method of transmitting data using adaptive coding and modulation (ACM). The method may include forming a first frame of a plurality of frames by encoding a first message block from a quantity of data to be included in a data payload of the first frame using a first short-block LDPC code and an encoder to form a first short encoded block, modulating the first short encoded block using a first modulating format and a modulator to form a first modulated short encoded block, and including the first modulated short encoded block in the data payload of the first frame. The method may also include forming a first preamble including a first codeword including a first ModCod and an overhead channel bit value where the ModCod includes information relating to the first modulation format and the first short-block LDPC code used to encode the first message block and to modulate the first modulated short encoded block and where the overhead channel bit value is adapted to transmit data relating to one or more channel quality metrics through an overhead channel. The method also includes transmitting the first frame of the plurality of frames into a telecommunication channel with a transmitter, receiving data relating to one or more channel quality metrics through the overhead channel, and determining that at least one of the modulation format and the short-block LDPC code used to form frames of the plurality of frames subsequent to the first frame should be changed using the data relating to the one or more channel quality metrics. The method may also include forming a second frame of a plurality of frames by encoding a second message block from a quantity of data to be included in a data payload of the second frame using a second short-block LDPC code and the encoder to form a second short encoded block, modulating the second short encoded block using a second modulation format and the modulator to form a second modulated short encoded block where at least one of the second short-block LDPC code and the second modulation format may be different from the respective first short-block LDPC code and the first modulation format. The method may also include including the second modulated short encoded block in the data payload of the second frame and forming a second preamble including a second codeword including a second ModCod and a second overhead channel bit value where the second ModCod includes information relating to the second modulation format and the second short-block LDPC code used to encode the second message block and to modulate the second modulated short encoded block where the second ModCod is different than the first ModCod and where the second overhead channel bit value is adapted to transmit data relating to one or more channel quality metrics through the overhead channel. The method may also include transmitting the second frame of the plurality of frames into the telecommunication channel with a transmitter and where the first modulated short encoded block in the first frame and the second modulated short encoded block in the second frame have the same number of symbols.
Implementations of a method of transmitting data using adaptive coding and modulation may include one, all, or any of the following:
Forming the first preamble including the first codeword may further include selecting the first codeword from a, non-linear block code, the first codeword having a first distance spectrum, and forming the second preamble including the second codeword may further include selecting the second codeword from the-, non-linear block code, the second codeword having a second distance spectrum different from the first distance spectrum.
Forming the first preamble including the first codeword may further include selecting the first codeword from a first pair of codewords of a non-linear block code and forming the second preamble including the second codeword may further include selecting the second codeword from the first pair of codewords of a non-linear block code where the first codeword has a first Hamming distance to the second codeword and the first pair of codewords has a second Hamming distance to a second pair of codewords of the non-linear block code where the second Hamming distance is larger than the first Hamming distance.
Encoding the first message block and encoding the second message block may both further include reducing the end-to-end latency of a telecommunication system by encoding using a systematic, non-interleaved short-block LDPC code.
The foregoing and other aspects, features, and advantages will be apparent to those artisans of ordinary skill in the art from the DESCRIPTION and DRAWINGS, and from the CLAIMS.
Implementations will hereinafter be described in conjunction with the appended drawings, where like designations denote like elements, and:
This disclosure, its aspects and implementations, are not limited to the specific components or assembly procedures disclosed herein. Many additional components and assembly procedures known in the art consistent with the intended telecommunication system and/or assembly procedures for a telecommunication system will become apparent for use with particular implementations from this disclosure. Accordingly, for example, although particular implementations are disclosed, such implementations and implementing components may comprise any shape, size, style, type, model, version, measurement, concentration, material, quantity, and/or the like as is known in the art for such telecommunication systems and implementing components, consistent with the intended operation.
Referring to
Referring to
Referring to
After the encoding, the encoded block is modulated using a modulator 8 and a particular modulation format to form a modulated encoded block. The modulation can take place by mapping the bits of the encoded block (which may include one or more codewords) to symbols in a particular symbol constellation using a symbol mapper to assign bit values to corresponding symbol positions in the I/Q plane or through use of any of a wide variety of conventional modulation techniques. Examples of modulation formats that may be utilized by particular implementations of telecommunication systems like those disclosed in this document include, by non-limiting example, binary phase shift keying (BPSK), quadrature phase shift keying (QPSK), quadrature amplitude modulation (QAM), and any other modulation format type such as amplitude and phase shift keying (APSK). Information relating to the modulation format and various parameters of the block code used to encode the message block (including the code rate in particular implementations) may be represented as a modulation/code pair, or ModCod 40, and included in the data sequence of the frame 2 in the preamble 70 portion of the data sequence of the frame 2.
In particular implementations, the ModCod 40 (i.e., the data corresponding with the ModCod 40) may be included or encoded in a codeword of the block code, either as part of an encoded block or as an entire encoded block. The ModCod 40 is used by the demodulator 16 and decoder 18 to demodulate and decode the encoded block(s) included in the data payload 80. In many implementations, the ModCod 40 itself is modulated and encoded using a different modulation format and block code implementation than those used to modulate and encode the data payload 80 itself, though they may be the same in some implementations. Any of a wide variety of modulation format types and block code types disclosed in this document may be employed to encode the ModCod 40 and/or the preamble 70 portion of the frame 2, including π/4 BPSK. π/4 BPSK is defined in this case as ‘normal’ BPSK that has been rotated by π/4 radians, or 45 degrees, relative to the I axis in the I/Q complex plane, such that equal power is observed in both I and Q.
A wide variety of block code types may be utilized by particular implementations of telecommunication systems like those disclosed in this document. In the implementations disclosed in this document, low-density parity check (LDPC) codes are used, though in other implementations, other FEC block code types, such as Turbo Product Codes (TPC)—may also be utilized. The size in bits of the message blocks used with the LDPC codes utilized ranges from about 1 kilobit to about 9 kilobits. Because of this, the LDPC code implementations disclosed in this document are referred to as short-block LDPC codes. In addition, the size in bits of the modulated encoded blocks used with the LDPC codes is not necessarily constant in particular implementations; rather, the size in symbols of the modulated encoded block(s) included in each frame is kept constant in symbols rather than constant in bits. Because the modulated encoded blocks are constant in symbols, a corresponding reduction in the complexity of the demodulator may be realized and improved synchronization capabilities may also be observed in particular implementations along with reduced encoder latency. Because each block is kept constant in symbols, the actual number of bits transported per modulated encoded block (or per modulated codeword) in the data payload 80 of each frame 2 can vary from frame to frame, according to which ModCod 40 is used. The code rates utilized by particular implementations of short-block LDPC codes like those disclosed in this document may range from about 0.4 to about 0.9.
The short-block LDPC code used to encode the payload 80 is a binary linear code, where the number of codewords in the code is a power of two, and the addition of each additional information bit to be carried by the codewords of the code increases the number of codewords by a factor of two. In a linear block code, each codeword has a distance spectrum, or set of Hamming distances to all of the other codewords in the block code. In a linear code, all of the codewords have the same distance spectrum, or set of Hamming distances to each other. Another way of stating the relationship is that in a linear code, the minimum Hamming distance in the distance spectrum of each codeword is the same. Because of this, the distance spectrum can be referred to in terms of the complete set of Hamming distances in the distance spectrum or in terms of the minimum Hamming distance of the distance spectrum.
The non-linear block code used to encode the ModCod 40 in one in which at least one codeword (a first codeword) has a first distance spectrum that is different than a distance spectrum of one or more other codewords (a second codeword) included in the non-linear block code. Because of this, the minimum Hamming distance of the first distance spectrum may be larger or smaller than the minimum Hamming distance of the second distance spectrum. Where the minimum Hamming distance of the first distance spectrum is larger than the Hamming distance of the second distance spectrum, the first codeword may be said to be stronger than the second codeword. This is because the first codeword differs from the second codeword (and all other codewords that have the same second distance spectrum) by more bit positions and is, therefore, less likely to be mistakenly identified during the decoding process as any codeword having the second distance spectrum. In some implementations utilizing non-linear block codes, the codewords may be arranged in pairs, where the first codeword of a first pair has a first Hamming distance to the second codeword of the first pair and the first pair has a second Hamming distance to a second pair of codewords. In particular implementations, the second Hamming distance may be larger than the first Hamming distance, meaning that the first codeword and second codeword are more likely to be mistakenly identified as each other than as either of the codewords included in the second pair.
Where paired codewords are used, the ModCod 40 and an overhead channel bit value may be included in one of the paired codewords, where only the overhead channel bit value differs between the pair of codewords. The overhead channel bit value may be used to transport data for an overhead channel included in the particular telecommunication system implementation. The overhead channel may carry a wide variety of information used by the telecommunication system, including, by non-limiting example, channel quality metrics, control parameters, changes in modulation and/or code type, or any other desired value useful for operating the telecommunication system. The overhead channel provides essential feedback from the receiver to the transmitter in an ACM system. Because the overhead channel bit values are included in the codewords that form the frame itself, the overhead channel data passes through the same telecommunication channel as the data in the data payload 80. Additionally, including the overhead data in the ModCod 40 substantially increases the error protection than if the overhead data were to be transmitted in the data payload 80 itself. Additional disclosure regarding additional implementations of non-linear block codes, codewords, codeword pairs, and overhead channel bit values and related methods may be found in U.S. patent application Ser. No. 12/714,224 to Owsley et al., entitled “Telecommunication Block Code,” filed Feb. 26, 2010, the disclosure of which is hereby incorporated entirely herein by reference.
For the exemplary purposes of this disclosure, the characteristics, structure, and use of an implementation of a short-block LDPC code and corresponding ModCods 40 are disclosed herein. Many other implementations of short-block LDPC codes (both non-linear and linear) and corresponding ModCods 40 are possible using the principles disclosed in this document. Table 1 includes the set of ModCods 40 and corresponding parameters and performance characteristics associated with a particular implementation of a short-block LDPC code:
As shown in Table 1, twelve ModCods 40 are utilized, however, one having ordinary skill in the art will recognize that more than twelve ModCods 40 may also be utilized. For example, when an overhead bit is transmitted, the number of ModCods 40 doubles and thus, rather than utilizing twelve ModCods 40, twelve pairs of ModCods are utilized as a result of the overhead bit transmission. The Measured Eb/No values are calculated for a 5*10−8 bit error rate (BER) and include the data preamble 70 added to each frame 2. The resulting end-to-end latency values for all twelve ModCods 40 range from 26 msec to 132 msec at 64 kilobits per second. The choice of 8-QAM rather than 8-PSK (phase shift keying) as the modulation format for ModCods 5, 6, and 7 was driven by the observations that channel quality characteristics are known to be difficult to track when 8-PSK is used in an adaptive coding and modulation implementation. In adaptive coding and modulation (ACM), the modulation format and/or the code rate (ModCod) are changed in response to information about the quality metrics of the telecommunication channel through which the data is being transmitted. When low values of the signal to noise ratio (SNR) are known to exist in a telecommunication channel, for 8-PSK to be used, additional pilot symbols may be sent through the channel to allow for correct tracking in the carrier recovery loop of the demodulator which increases the demodulator complexity. In particular implementations, a modified BPSK phase detector may be utilized for carrier tracking in conjunction with modulation using 8-QAM that results in carrier tracking at values 3-4 dB lower than when 8-PSK is used. Additional information regarding systems and methods that utilize 8-QAM may be found in U.S. Pat. No. 7,254,188 to Cannon and Miller, entitled “Method and System for Modulating and Detecting High Datarate Symbol Communications,” issued Aug. 7, 2007, the disclosure of which is hereby incorporated herein by reference.
Referring to
Referring to
Referring to
Referring to
In systems employing block codes, a minimum latency can be calculated from the input of the encoder 6 to the output of the decoder 18. The overall end-to-end latency is the sum of the latency at the encoder 6 and the latency at the decoder 18. On the decoder side, the latency is the sum of the decoding time plus the time required to receive a block of data (as an encoded block). For any block code, whether interleaving is employed or not, the decoder 18 needs to receive an entire block before the decoding process can begin. If the speed of the processing clock is assumed to be much faster than the data rate, the decoding time (even if many iterations may be required), becomes minimal. As the clock speed increases, the decoding time approaches zero. Therefore, the asymptotic bound for minimum decoder latency is the time to receive one block of data, or one encoded block.
On the encoder side, determining the theoretical minimum latency depends upon more factors, including whether the code being used is a systematic, non-interleaved or an interleaved code. Referring to
Referring to
In implementations of telecommunication systems disclosed in this document that employ ACM, the latency of the system will be the latency resulting from the use of the ModCod 40 having the highest impact on latency (i.e., the one with the lowest rate or other parameter impacting latency). This ModCod 40 may be referred to as the worst-case ModCod. For example, when an ACM system implementation starts the transmission and reception of data using a ModCod 40 using a systematic block code, the system operates at the end-to-end latency of a systematic block code, meaning that message blocks of data flow into the encoder 6, and encoded blocks flow out, with a latency approaching (1−Code Rate)blocks. In particular implementations, the modulator 8 requires that symbols flow through it in a smooth, uninterrupted fashion at an exact, fixed rate. When the ModCod 40 changes to a lower code rate, and a message block of data enters the encoder where the latency (based on (1−Code Rate)blocks) is suddenly higher, a gap in the encoded block data being sent to the modulator 8 will exist until the encoder 6 finishes encoding the message block. This gap is not tolerated by the modulator 8, so to prevent the existence of the gap, particular implementations of ACM systems identify the ModCod 40 with the worst-case latency, and artificially add a delay to the other ModCods 40 that provide less than the worst-case latency, so that, regardless of the ModCod 40 used, encoded data 50 always flows out of the encoder 6 to the modulator 8 without gaps. Accordingly, the set of ModCods 40 with the smallest worst-case latency will provide any telecommunication system utilizing that set a lower latency than a telecommunication system using set of ModCods 40 with a higher worst-case latency.
Referring to Table 2, the latency for the set of ModCods 40 illustrated in Table 1 at a fixed 100 ksymbols/sec rate is displayed. The end-to-end latency of a telecommunication system employing the set of ModCods 40 is calculated as (2−Code Rate) blocks. While the ModCods 40 span a 7:1 variation in throughput, the latency varies only between 25 to 34 milliseconds. Without being bound by any theory, it is believed that a careful analysis indicates that this is an effect of using a constant number of symbols per encoded block, along with using a systematic non-interleaved block code implementation. The worst case latency in an ACM situation using this set of ModCods 40 is 34 milliseconds.
Table 3 includes calculations for a telecommunication system operating at 100 ksymbols/sec and similar code rates using codes from the DVB-S2 specification and a 16 k block size.
By inspection, a consequence of having a constant number of bits per block (and the use of interleaved codes) as is specified in the DVB-S2 specification (besides increased demodulator complexity) is increased system latency. In the DVB-S2 implementations illustrated in Table 3, each time the ModCod 40 is lowered and the throughput reduced, the latency increases accordingly because the block size is related to data rate, not symbol rate. Because in particular implementations of ACM systems disclosed in this document the system latency is equal to the latency of the worst-case ModCod 40, the DVB-S2 system shows a severe penalty compared to the telecommunication system utilizing the set of ModCods 40 in Table 2: 329 milliseconds of latency versus 34 milliseconds. Accordingly, in various implementations of ACM systems disclosed in this document, the worst-case end-to-end latency may be approximately one order of magnitude lower than an ACM system employing ModCods 40 from the DVB-S2 specification at the same symbol rate.
In places where the description above refers to particular implementations of telecommunication systems and block codes, it should be readily apparent that a number of modifications may be made without departing from the spirit thereof and that these implementations may be applied to other telecommunication and block code implementations.
This document claims the benefit of the filing date of U.S. Provisional Patent Application No. 61/157,279, entitled “Adaptive Coding and Modulation System and Related Methods” to Richard Miller which was filed on Mar. 4, 2009, and the benefit of the filing date of U.S. Provisional Patent Application No. 61/158,226, entitled “Telecommunication Block Code,” to Banister et al., which was filed on Mar. 6, 2009, the disclosures of which are hereby incorporated entirely herein by reference.
Number | Date | Country | |
---|---|---|---|
61157279 | Mar 2009 | US | |
61158226 | Mar 2009 | US |