IES20020260A2 - Data communication system - Google Patents

Data communication system

Info

Publication number
IES20020260A2
IES20020260A2 IES20020260A IES20020260A2 IE S20020260 A2 IES20020260 A2 IE S20020260A2 IE S20020260 A IES20020260 A IE S20020260A IE S20020260 A2 IES20020260 A2 IE S20020260A2
Authority
IE
Ireland
Prior art keywords
bit
encoder
qam
decoding
convolutional
Prior art date
Application number
Inventor
Timothy O'farrell
Original Assignee
Supergold Comm Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Supergold Comm Ltd filed Critical Supergold Comm Ltd
Priority to IES20020260 priority Critical patent/IES20020260A2/en
Publication of IES20020260A2 publication Critical patent/IES20020260A2/en

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

A method of performing forward error correction in a data communication system comprises using 64 state trellis, rate 2/3, binary convolutional codes. The input bit stream is convolutionally encoded in a BCC rate 2/3 encoder, with the resulting 3-bit BCC codewords being further encoded by mapping onto an 8-QAM Gray code. Decoding comprises an 8-QAM decoding followed by convolutional decoding, preferably using a Viterbi decoder. The convolutional encoder has two shift registers fed with respective bits from input data bit pairs bo, b1 and generating output bit triplets co, c1, c2,using octal generator polynomuals [14 05 15; 13 17 01]or [14 04 15;13 17 01]. <Figure 2>

Description

The present invention relates to the use of binary convolutional codes for forward error correction in data communications, and more particularly to convolutional codes that 5 can be used with Phase Shift Keying (PSK), Quadrature Amplitude Modulation (QAM) and M-ary Bi-Code Keying (MBCK) constellations.
Binary convolutional codes are the most widely used form of forward error correction (FEC) in digital data transmission systems. This is so due to the combination of good coding gain performance and the relative simplicity of decoding this type of code. Such codes may be decoded using either hard or soft decoding. Soft-decision decoding gives a performance improvement in terms of coding gain of around 2 dB when compared with the hard-decision decoding of the same code, and soft-decision decoding of convolutional codes offers a good performance to complexity trade-off when compared to alternative FEC schemes.
Data communication networks often comprise a layered, packet based approach for the transmission of data. The lowest layer of this model is called the physical layer or PHY. The PHY is concerned with the correct transmission of data bits over a communication channel.
One technique often used in the transmission of data over the PHY is known as trellis coded modulation (TCM). TCM is a joint forward error correction (FEC) coding and modulation scheme based on the application of a convolutional code to certain bits of an M-ary PSK or M-ary QAM constellation. TCM provides an increased data rate over a bandwidth-limited channel using readily realisable hardware such as a Viterbi Decoder; see, e.g. Gottfried Ungerboeck, “Trellis-Coded Modulation with Redundant Signal Sets”, Part 1 and Part 2, IEEE Communications Magazine, Vol.25, No.2, Feb 1987.
Another technique often used in the transmission of data over the PHY is known as coded QAM; see, e.g. Wang and Onotera, “Coded QAM using a Binary Convolutional Code”, IEEE Transactions on Communications, Vol.43, No.6, June 1995. Coded QAM is a joint FEC coding and modulation scheme based on the application of the industry standard convolutional codes to a Gray coded M-ary QAM constellation. Coded QAM provides a reliable link performance over a bandwidth-limited channel using readily realisable hardware such as a Viterbi Decoder; see, e.g. J.P. Odenwalder et al, “Study of Information Transfer Optimization for Communication Satellites”, Final Report, NASA CR No. 114561, Linkabit Corporation, Section 3.3, January 1973.
Currently, various convolutional codes are under discussion for use in a high-speed PHY that operates in the 2.4 GHz ISM frequency band. It would be advantageous to introduce a code that enhances the performance in terms of signal to noise ratio when compared to previous techniques, such as complementary code key (CCK) modulation. By improving the range and data throughput, the introduction of such a code would enlarge the number of applications possible with previously proposed techniques. Importantly, the encoder and decoder for such a code should possess low computational complexity.
The object of the present invention is to provide a binary convolutional code having the aforementioned advantages.
According to its main aspect, the invention provides a data communication method wherein data is convolutionally encoded for transmission and decoded for reception, wherein the convolutional coding implements the octal generator [14,05,15; 13,17,01] or [14,04,15;13,17,01]. Preferably the convolutionally encoded data is further coded for transmission and decoded for reception, preferably using 8-QAM coding for the further coding and decoding is an 8-QAM coding, and preferably using a Gray code for the 8QAM coding.
The preferred code has an octal generator polynomial G = [14 05 15; 13 17 01]; an alternative code with slightly worse performance is described by the generator polynomial G = [14 04 15; 13 17 01]. These codes have a high coding rate of 2/3, a constraint length of 4, and a trellis span of 64; they provide a large coding gain, and are of low complexity (64 state trellis). These codes introduce a coding gain greater than 5dB at the SNR operating point, and give a good trade-off between additive white Gaussian noise performance and complexity.
These codes can be used with a number of symbol-to-bit mappers. When operating with a bit-derived metric, the code is particularly suited to the M-ary Bi-code Keying (MBCK) waveform set. The system formed by the combination of MBCK with these convolutional codes brings benefits to applications including the wireless LAN and cellular mobile telephone systems.
In a preferred form, the binary convolutional codewords are jointly mapped onto in-phase (I) and quadrature phase (Q) symbols using the QAM constellation discussed below. This provides improved performance without undue complexity when compared with schemes that use a 256-state trellis BCC or schemes that independently encode the I and Q symbols. The combination of Gray coded multi-level modulation and symbol-to-bit mapping gives large coding gains, and the substantial increase in performance and low implementation complexity that may be achieved makes it an ideal solution for high performance forward error correction in a high-speed physical layer.
Communication systems embodying the present codes will now be described by way of example and with reference to the drawings, in which: Figure 1 is a general block diagram of a communication system; Figure 2 is a block diagram of a BCC encoder using the octal generator [14,05,15;13,17,01]; Figure 3 is a block diagram of a BCC encoder using the octal generator [14,04,15;13,17,01]; and Figure 4 is a diagram of an 8-QAM constellation that can be used in the system.
Fig. 1 shows the transmission side of a communication system. The incoming data bits are first encoded in a BCC encoder. This involves pairing the bits of the incoming bit stream into bit pairs bo, bj. Each bit pair is encoded into 3 code bits co, Ci, C2, which are treated as a 3-bit BCC codeword. (Each 2-bit input bit pair influences more than one 3-bit codeword, as discussed below.) Each BCC codeword in turn in then passed to an 8-QAM Map encoder, which converts it to an 8-QAM signal.
The reception side of the system, not shown, is the reverse of the transmission side. Each received 8-QAM signal symbol is decoded by an 8-QAM map reverser to recover the 3-bit BCC codeword, the details of the reverser being determined by the 8-QAM map encoder of the transmission side. Each such codeword in turn is fed to a BCC decoder to recover the original pair of data bits. The BCC decoder can conveniently be a conventional Viterbi decoder (maximum likelihood or a posteriori decoding), the details of which are determined by the BCC encoder of the transmission side and in particular by its generator polynomial. The Viterbi decoder may use hard-decision or soft-decision decoding. Alternatively, the decoding may be done using sequential decoding.
The data used in the scheme may be either continuous or packet encapsulated. If the encoder is used in a packet-encapsulated system, then it is placed in a known state at the beginning and end of every packet. To place the encoder in a known state at the beginning of a packet, the six memory elements of the convolutional encoder (Figure 2, discussed below) are loaded with predetermined values that are typically all Os. To place it in a known state at the end of the packet, six predetermined data bits are appended to the last data bit input to the convolutional encoder; typically, the appended bits are all Os, which places the encoder in the all 0 state. The same method is used to place the encoder of Figure 3 into a known state.
A convolutional encoder, in basic principle, consists of a (K-l)-stage shift register with m modulo-2 adder trees connected to it. The input data bit stream is fed into the shift register, so that K successive data bits are available (including those at both ends of the shift register). Each tree of modulo-2 adders generates a respective output or code bit, so the number of code bits per input bit is m. Each adder tree can be represented by listing the sequence of points it is connected to along the shift register as Is, with the remaining points given as Os. The encoder can therefore be represented in abstract form by a general matrix consisting of a list of the tree codings (in e.g. binary or octal).
This simple system generates m output bits per input bit. To reduce the expansion ratio of the system, the stream of input bits can be stepped through the shift register p bits at a time. This results in m output bits being produced for every p input bits instead of for every input bit. With this modification, the input bits can be treated as grouped in groups of p, and the shift register can be regarded as, and indeed physically split into, p parallel sections. Each adder tree will in general have inputs from all the shift register sections, and can be encoded by a set of codes, one for each shift register. The encoder as a whole can therefore be represented by a 2-dimensional matrix, with each row representing a respective shift register and each column a respective output bit. (The matrix can also be given as two successive lists.) Fig. 2 shows the details of an embodiment of the convolutional BCC rate 2/3 encoder of Fig. 1, embodying the generator matrix G(D); _ Γ d3 + d2 d2+i d3+d2+i’ G(D) = ; _Z)3 + Z) + 1 D3+D2+D + l 1 in octal notation the same code is given by Γ14 05 15Ί G = 17 01 The encoder consists of two distinct paths for the two input data bits bo (the least significant bit) and bi (the most significant bit). The path for bo comprises three delay elements, which can comprise memory registers; the path for bi comprises another three delay elements. For every two bits (bo, bi) input, three output bits co, Ci, c2 are provided at the encoder output, where co is the least significant bit and c2 is the most significant bit. Modulo 2 adders connect predetermined outputs of the delay elements in order to implement the desired generator matrix.
Considering the shift register for input bit bo, the connections to the adder tree for output bit co can be represented as 1100, which is thus the entry (in binary) in the top row (input bit bo) and left-hand column (output bit c0) of the matrix; the connections of the c0 adder tree from the shift register for input bit bi are 1011 (binary), corresponding to the entry for the bottom row and left-hand column of the matrix; and so on. matrix Fig. 3 shows a slight modification of the Fig. 2 circuit to implement the generator '14 04 15' 17 01 ' The 3-bit output of the BCC encoder is mapped to an I/Q constellation by the 8QAM map unit in the transmission side. The preferred mapping is shown in Fig. 4. Each group of three output bits (000, 001, 010, 011, 100, 101, 110 and 111) from the BCC is used to provide one I/Q (complex) symbol according to the assignment given in the Table below. (It will be noted that this assignment is a Gray code, :in that any pair of adjacent symbols round the circle differ by only a single bit.) In the Table, the first codeword bit Co is the first bit of the codeword in time.
Codeword I Q C0C1C2 Symbol Symbol 000 -1 -3 001 -1 3 010 1 -3 Oil 1 3 100 -3 -1 101 -3 1 110 3 -1 111 3 1 It will of course be understood that the invention is not limited to the specific details described herein, which are given by way of example only, and that various modifications and alterations are possible within the scope of the invention.
IE Ο 202 6 Ο

Claims (5)

1. A data communication method wherein data is convolutionally encoded for transmission and decoded for reception, wherein the convolutional coding implements the 5 octal generator [14,05,15;13,17,01] or [14,04,15; 13,17,01].
2. A data communication method according to claim 1 wherein the convolutionally encoded data is further coded for transmission and decoded for reception. 10
3. A data communication method according to claim 2 wherein the further coding and decoding is an 8-QAM coding, optionally wherein the 8-QAM coding is a Gray code.
4. A data communication method substantially as herein described and illustrated. 15
5. Apparatus for performing the method of any previous claim. MACLACHLAN & DONALDSON, Applicants’ Agents, 47 Merrion Square, DUBLIN 2. 1/4 Figure 1 2/4 Modulo-2 Adder Delay Element Figure 2 314 Modulo-2 Adder Delay Element Figure 3 4/4 Q-symbol 001 .· ‘3 011 10,1 Φ 111 ',-3 Ϊ0Ο 000 010 Figure 4 > l-symbol 1W I
IES20020260 2001-04-12 2002-04-10 Data communication system IES20020260A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
IES20020260 IES20020260A2 (en) 2001-04-12 2002-04-10 Data communication system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IE20010361 2001-04-12
IES20020260 IES20020260A2 (en) 2001-04-12 2002-04-10 Data communication system

Publications (1)

Publication Number Publication Date
IES20020260A2 true IES20020260A2 (en) 2002-10-16

Family

ID=27665824

Family Applications (1)

Application Number Title Priority Date Filing Date
IES20020260 IES20020260A2 (en) 2001-04-12 2002-04-10 Data communication system

Country Status (1)

Country Link
IE (1) IES20020260A2 (en)

Similar Documents

Publication Publication Date Title
KR100391387B1 (en) Rotary immutable transcoding apparatus and method for assembling transparent binary convolutional code
US5408502A (en) Apparatus and method for communicating digital data using trellis coded QAM with punctured convolutional codes
US5812601A (en) Coding for higher-level modulation
KR960016660B1 (en) Method and apparatus for communicating digital inftorsion damping device of large angular displacement ormation such as compressed video using trellis coded qam
Ungerboeck Trellis-coded modulation with redundant signal sets Part I: Introduction
AU721048B2 (en) Iterative demapping
US7190732B2 (en) Multilevel coding with unequal error protection and time diversity for bandwidth efficient transmission
US8160170B2 (en) Signal space expansion for a 16 QAM scheme
JPH11513211A (en) Trellis-encoded QAM using rate-compatible punctured convolutional code
Schramm Multilevel coding with independent decoding on levels for efficient communication on static and interleaved fading channels
WO2008032083A1 (en) M-gfsk receiver with a viterbi-decoder having reduced trellis states
CN101262307B (en) A Serial Concatenated Coding and Decoding System Containing Constellation Diagram Rotating Modulation
TWI273787B (en) Method and apparatus for using multi-dimensional trellis codes over multi-path channels
EP1356624A2 (en) Super-orthogonal space-time trellis codes, and applications thereof
US11483076B2 (en) Quadrature amplitude modulation with constellation shaping
EP0982892A2 (en) Packet-based binary convolutional codes
WO2003017500A1 (en) Coded modulation scheme for a wireless communication system and methods thereof
US7356088B2 (en) M-dimension M-PAM trellis code system and associated trellis encoder and decoder
IES20020260A2 (en) Data communication system
GB2377867A (en) A 2/3 rate binary convolutional encoder
JP3576653B2 (en) Coded modulator
US8098773B1 (en) Communication method and apparatus
Sterian et al. Trellis-coded quadrature amplitude modulation with 2N-dimensional constellations for mobile radio channels
Kokuryo et al. Pragmatic Trellis coding applied to rectangular QAM
Öztürk et al. A combined interleaving technique for trellis coded MPSK systems in Rayleigh fading channels

Legal Events

Date Code Title Description
MM4A Patent lapsed