Channel Coding for IEEE e Mobile WiMAX

Size: px
Start display at page:

Download "Channel Coding for IEEE e Mobile WiMAX"

Transcription

1 Channel Coding for IEEE 80.16e Mobile WiMAX Matthew C. Valenti Lane Department of Computer Science and Electrical Engineering West Virginia University U.S.A. June 9 ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9Virginia 1 / Univer 94

2 Outline 1 Overview of (Mobile) WiMAX Convolutional Codes 3 Turbo Codes 4 Low-density Parity-check Codes 5 Conclusion ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9Virginia / Univer 94

3 Outline Overview of (Mobile) WiMAX 1 Overview of (Mobile) WiMAX Convolutional Codes 3 Turbo Codes 4 Low-density Parity-check Codes 5 Conclusion ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9Virginia 3 / Univer 94

4 Overview of (Mobile) WiMAX WiMAX and IEEE IEEE IEEE is a family of standards for Wireless MAN s. Metropolitan area networks. Wireless at broadband speeds. Applications of IEEE Wireless backhaul. Residential broadband. Cellular-like service. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9Virginia 4 / Univer 94

5 Progression of standards Overview of (Mobile) WiMAX WiMAX and IEEE December GHz. Line-of-sight (LOS) only. Up to Mbps operation using 8 MHz bandwidth June 4. Added - GHz non-los operation. Up to 75 Mbps operation using 15 MHz bandwidth e-5 December 5. Added support for mobility. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9Virginia 5 / Univer 94

6 Overview of (Mobile) WiMAX WiMAX and IEEE Key Technologies Advanced technologies supported by IEEE OFDM and OFDMA. Adaptive modulation: QPSK, 16-QAM, or 64-QAM. Adaptive turbo and LDPC codes. Hybrid-ARQ MIMO: Space-time codes and spatial multiplexing. Time-division duplexing. Multiuser diversity. Partial frequency reuse. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9Virginia 6 / Univer 94

7 Overview of (Mobile) WiMAX WiMAX and IEEE WiMAX Forum The WiMAX forum is an consortium of over 5 companies whose purpose is to commercialize systems based on IEEE technology. The activities of the WiMAX forum include: Development of WiMAX system profiles. Certification of equipment. Standardization of higher-layer functionality., ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9Virginia 7 / Univer 94

8 Overview of (Mobile) WiMAX WiMAX and IEEE WiMAX vs. mobile WiMAX WiMAX fixed system profile. OFDM PHY from IEEE OFDM subcarriers (fixed). 3.5 MHz bandwidth. mobile WiMAX mobility system profile. OFDMA PHY from IEEE 80.16e to,048 subcarriers (scalable). 1.5 to 0 MHz bandwidths ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9Virginia 8 / Univer 94

9 Overview of (Mobile) WiMAX Channel Coding Channel Codes Specified in IEEE 80.16e Four codes are specified in IEEE 80.16e. 1 Tailbiting convolutional code. Block turbo code (BTC). 3 Convolutional turbo code (CTC). 4 Low-density Parity-check (LDPC) code. The goal of the remainder of this tutorial is to describe each of these codes in detail. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9Virginia 9 / Univer 94

10 Outline Convolutional Codes 1 Overview of (Mobile) WiMAX Convolutional Codes 3 Turbo Codes 4 Low-density Parity-check Codes 5 Conclusion ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia / Univer 94

11 Convolutional Codes Binary Linear Codes Code and Message Vectors A binary code C is a set of k codewords c i, 0 i < k. Each codeword is represented by a length n binary vector. Each codeword is associated with a unique message u i, 0 i < k, which is a length k binary vector. The code must define the mapping from messages to codewords u c. u message Encoder c codeword ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia / Univer 94

12 Convolutional Codes Binary Linear Codes Linear codes. A code is linear if the modulo- sum of any two codewords is also a codeword. Mathematically, if c i C and c j C, then c i + c j C. Note that the addition is modulo-. Because c i + c i = 0, it follows that all linear codes must contain the all-zeros codeword. All codes considered in this tutorial are linear. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 1 / Univer 94

13 Encoding Convolutional Codes Convolutional Encoding A convolutional encoder is a device with k c inputs and n c outputs, where n c k c. The input message u is split into k c input streams u (i), 0 i k c 1 each of length k/k c. Similarly, the output codeword c is assembled from n c output streams c (j), 0 j n c 1 each of length n/n c. In this tutorial, 1 k c and 1 n c 4. u Separate Streams u (0)... u (k c -1) Convolutional Encoder c (0)... c (n c -1) Combine Streams c ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 13 / Univer 94

14 Convolutional Codes Convolutional Encoding Convolutional Encoding when k c = 1 Suppose there is one input stream, u (0) = u. Output stream c (j) is found by convolving the input stream with a generator sequence g (j) as follows: c (j) = u g (j) where the l th element of the output vector is c (j) l = m k=0 u l k g (j) k and the addition is modulo-. m is the memory of the encoder. ν = m + 1 is the constraint length. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 14 / Univer 94

15 Convolutional Codes Convolutional Encoding Encoder Diagram Let g (0) = [1] and g (1) = [1]. The encoder may be realized with the following structure: c (0) u D D c (1) ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 15 / Univer 94

16 Convolutional Codes State diagram representation Convolutional Encoding A convolutional encoder is a finite state machine, and can be represented in terms of a state diagram. Input data bit 1/ Corresponding output code bits S 1 = 1/ 0/ S 0 = 1/ 0/ S 3 = 1/ 0/ S = 0/ m = 4 total states ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 16 / Univer 94

17 Convolutional Codes Convolutional Encoding Initial and Terminating States The system needs a policy for choosing the initial and terminating states of the encoder. The usual convention is to start in the all-zeros state and then force the encoder to terminate in the all-zeros state. Termination in the all-zeros state requires a tail of m zeros. The tail results in a fractional-rate loss. Tailbiting convolutional codes operate such that the initial and terminating states are the same (but not necessarily all-zeros). Tailbiting codes don t require a tail and have no fractional-rate loss. More on tailbiting codes later... ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 17 / Univer 94

18 Trellis representation Convolutional Codes Convolutional Encoding A trellis is an expansion of the state diagram which explicitly shows the passage of time. Every branch corresponds to a particular data bit and -bits of the code word 1/ 1/ input and output bits for time L = 4 every sequence of input data bits corresponds to a unique path through the trellis S 3 0/ 0/ 0/ S 1/ 0/ 1/ 0/ 1/ 0/ 0/ S 1 S 0 1/ 1/ 1/ 0/ 1/ 0/ 0/ 0/ 0/ 0/ 0/ i = 0 i = 1 i = i = 3 i = 4 i = 5 i = 6 1/ 0/ 1/ 0/ 0/ initial final state new state after m = state first bit is encoded tail bits ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 18 / Univer 94

19 Convolutional Codes Encoding Using the Trellis Convolutional Encoding The trellis can be used to encode the message. Use message bits to determine path, then read off the code bits. u = [ ] S 3 1/ 0/ 0/ 0/ S 1/ 0/ 1/ 0/ 1/ 0/ 0/ S 1 S 0 1/ 1/ 1/ 0/ 1/ 0/ 0/ 0/ 0/ 0/ 0/ i = 0 i = 1 i = i = 3 i = 4 i = 5 i = 6 1/ 0/ 1/ 0/ 0/ c = [ ] ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 19 / Univer 94

20 Convolutional Codes Decoding The Viterbi Algorithm S 3 0/ S 1/ 0/ 0/ 1/ 0/ S 1 S 0 1/ 0/ 1/ The Viterbi algorithm is used for ML Decoding. Exploiting the recursive structure of the trellis minimizes complexity. Steps: A forward sweep through the trellis is performed. Each node holds a partial path metric. A branch metric is computed for each branch in the trellis. At each node, an add-compare-select operation is performed. Once the end of the trellis is reached, a traceback operation determines the value of the data bits. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 0 / Univer 94

21 Convolutional Codes Decoding Viterbi Algorithm: Example Suppose that the input to the convolutional encoder is: u = [ ] Then the ouput of the encoder is: c = [ ] Suppose every fourth bit is received in error: r = [ ] Determine the most likely u given r. For clarity, we will assume hard-decision decoding. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 1 / Univer 94

22 Convolutional Codes Decoding r = [ ] ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia / Univer 94

23 Convolutional Codes Decoding 0 r = [ ] ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia / Univer 94

24 Convolutional Codes Decoding 0 0 r = [ ] ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia / Univer 94

25 Convolutional Codes Decoding 0 0 r = [ ] ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia / Univer 94

26 Convolutional Codes Decoding r = [ ] ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia / Univer 94

27 Convolutional Codes Decoding r = [ ] ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia / Univer 94

28 Convolutional Codes Decoding r = [ ] ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia / Univer 94

29 Convolutional Codes Decoding r = [ ] ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia / Univer 94

30 0 1 Convolutional Codes Decoding r = [ ] ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia / Univer 94

31 0 1 Convolutional Codes Decoding r = [ ] ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia / Univer 94

32 0 1 Convolutional Codes Decoding r = [ ] ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia / Univer 94

33 0 1 Convolutional Codes Decoding r = [ ] ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia / Univer 94

34 0 1 Convolutional Codes Decoding r = [ ] ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia / Univer 94

35 0 1 Convolutional Codes Decoding r = [ ] ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia / Univer 94

36 0 1 Convolutional Codes Decoding r = [ ] ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia / Univer 94

37 0 1 Convolutional Codes Decoding r = [ ] ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia / Univer 94

38 0 1 Convolutional Codes Decoding r = [ ] ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia / Univer 94

39 0 1 Convolutional Codes Decoding r = [ ] ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia / Univer 94

40 Convolutional Codes Decoding Soft-decision Decoding Instead of using hard-decisions on the bits, soft-decisions could be used. Requires that the input to the decoder be a log-likelihood ratio (LLR) in the form: λ i = log P [c i = 1 r i ] P [c i = 0 r i ] For BPSK modulation in AWGN, the LLR is λ i = σ r i The branch metric for a particular state transition S j S l is: γ j,l = n c 1 i=0 c i λ i Goal is to maximize the metric, rather than minimize it. Thus, the ACS will select the larger branch instead of the smaller one. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 3 / Univer 94

41 Convolutional Codes CML The Coded Modulation Library CML is a software library for simulating coding and modulation. Developed by me and my students. Runs in matlab, though much is written in C. Supports all four codes decribed in this tutorial. Open source under the lesser GPL license. Download at Extract files, open matlab, cd to./cml, and type CmlStartup ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 4 / Univer 94

42 Convolutional Codes CML Encoding a Convolutional Code in CML >> help ConvEncode ConvEncode encodes a NSC or RSC convolutional code with a tail. The calling syntax is: [output] = ConvEncode(input, g_encoder, [code_type] ) output = code word Required inputs: input = data word g_encoder = generator matrix for convolutional code (If RSC, then feedback polynomial is first) Optional inputs: code_type = 0 for recursive systematic convolutional (RSC) code (default) = 1 for non-systematic convolutional (NSC) code = for tail-biting NSC code Copyright (C) 5-8, Matthew C. Valenti ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 5 / Univer 94

43 Convolutional Codes CML Encoding a Convolutional Code in CML c (0) u D D c (1) >> g = [ ]; % enter the generators >> data = [ ]; % enter the data sequence >> c = ConvEncode( data, g, 1 ) % command to encode c = Note that the 1 is required as a third argument to specify that this is a nonsystematic convolutional code and that the trellis is terminated with a tail. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 6 / Univer 94

44 Convolutional Codes CML Decoding a Convolutional Code in CML >> help ViterbiDecode ViterbiDecode performs soft-in/hard-out decoding for a convolutional code using the Viterbi algorithm The calling syntax is: [output_u] = ViterbiDecode( input_c, g_encoder, [code_type], [depth] ) output_u = hard decisions on the data bits (0 or 1) Required inputs: input_c = LLR of the code bits (based on channel observations) g_encoder = generator matrix for convolutional code (If RSC, then feedback polynomial is first) Optional inputs: code_type = 0 for recursive systematic convolutional (RSC) code (default) = 1 for non-systematic convolutional (NSC) code = for tail-biting NSC code depth = wrap depth used for tail-biting decoding default is 6 times the constraint length Copyright (C) 5-8, Matthew C. Valenti ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 7 / Univer 94

45 Convolutional Codes CML Decoding a Convolutional Code in CML >> s = *c-1; % BPSK modulate >> variance = 1/; % noise variance for Es/No = 0 db or Eb/No = 3 db >> noise = sqrt(variance)*randn(size(s)); % generate noise >> r = s + noise; % add noise to signal >> [s r ] % compare transmitted and received signals ans >> llr = *r/variance; % compute the LLR >> dataout = ViterbiDecode( llr, g, 1 ) % pass through Viterbi decoder dataout = The 1 is again required as a third argument to specify that this is a nonsystematic convolutional code and that the trellis is terminated with a tail. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 8 / Univer 94

46 The Tailbiting Concept Convolutional Codes Tailbiting Convolutional Codes The idea behind a tailbiting convolutional code is to equate the initial and terminating states The benefit is that there is no tail or fractional rate loss. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 9 / Univer 94

47 Convolutional Codes Tailbiting Convolutional Codes Encoding of Tailbiting Codes Example u = []. u D D c (0) c (1) Since the last two bits are, the final state is. To encode, determine final state from the last m bits, then set the initial state. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 30 / Univer 94

48 Convolutional Codes Encoding Using a Cyclic Prefix Tailbiting Convolutional Codes To encode, copy the last m data bits to the beginning of the message The bits were used only to determine the initial state, so don t transmit the associated code bits. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 31 / Univer 94

49 Convolutional Codes Tailbiting Convolutional Codes Decoding of Tailbiting Codes A tailbiting trellis can be visualized as a cylinder by connecting the starting and ending states. The Viterbi algorithm can be run on the cylinder. In theory, the algorithm would have to run forever by cycling around the cylinder. In practice, it is sufficient to limit the cycling around the cylinder. The wrap depth is the amount of trellis on the cylinder that is traversed more than once. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 3 / Univer 94

50 Wrap Depth Convolutional Codes Tailbiting Convolutional Codes Here, the wrap depth is ν = 3 trellis stages. c = [ ] Expand trellis by 3 sections before and after code sequence Append first 3 received pairs to end of sequence. Prepend last 3 received pairs to start of sequence. Assume all starting and ending states are equally likely. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 33 / Univer 94

51 Convolutional Codes Tailbiting Convolutional Codes Tailbiting Convolutional Code in CML Setting the third argument of ConvEncode and ViterbiDecode to indicates a tailbiting NSC code. >> g = [ ]; % enter the generators >> data = [ ]; % enter the data sequence >> c = ConvEncode( data, g, ) c = >> s = *c-1; % BPSK modulate >> variance = 1/; % noise variance for Es/No = 0 db or Eb/No = 3 db >> noise = sqrt(variance)*randn(size(s)); % generate noise >> r = s + noise; % add noise to signal >> [s r ] % compare transmitted and received signals ans >> llr = *r/variance; % compute the LLR >> dataout = ViterbiDecode( llr, g,, 6 ) % pass through Viterbi decoder dataout = The fourth argument to ViterbiDecode is the wrap depth (in multiples of ν). ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 34 / Univer 94

52 64-QAM /3 j = 1 Convolutional Codes Tailbiting Convolutional Codes 64-QAM 3/4 j = Convolutional coding (CC) The 80.16e Standard Tailbiting CC Each FEC block is encoded by the binary convolutional encoder, which shall have native rate of 1/, a constraint length equal to K = 7, and shall use the following generator polynomials codes to derive its two code bits: G 1 = 171 OCT FOR X G = 133 OCT FOR Y The generators are g (0) = [1] and g (1) = [0] The generator is depicted in Figure 55. X output (15) Data in 1 bit delay 1 bit delay 1 bit delay 1 bit delay 1 bit delay 1 bit delay Y output Figure 55 Convolutional encoder of rate 1/ Message length is 6 to 36 bytes, depending on mode of operation. 590 Copyright 4 IEEE. All rights reserved. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 35 / Univer 94

53 Puncturing Convolutional Codes Tailbiting Convolutional Codes AIR INTERFACE FOR FIXED BROADBAND WIRELESS ACCESS SYSTEMS IEEE Std The data rate can be increased above 1/ by puncturing. Puncturing: Periodically deleting code bits. The puncturing patterns and serialization order that shall be used to realize different code rates are defined in Table 319. In the table, 1 means a transmitted bit and 0 denotes a removed bit, whereas X and Y are in reference At theto decoder, Figure 55. insert an erasure in the place of the punctured bit. For soft-decision decoding, an erasure is λ i = 0. Table 319 The inner convolutional code with puncturing configuration Code Rates Rate 1/ /3 3/4 5/6 d free X Y XY X 1 Y 1 X 1 Y 1 Y X 1 Y 1 Y X 3 X 1 Y 1 Y X 3 Y 4 X 5 Each FEC block is encoded by a tail-biting convolutional encoder, which is achieved by initializing the encoders memory with the last data bits of the FEC block being encoded (the packet data bits numbered b n- 5...b n ). In the above table, 1 means transmit and 0 means delete. Puncturing is implemented in CML with the Puncture and Depuncture functions. Table 30 defines the basic sizes of the useful data payloads to be encoded in relation with the selected modulation type and encoding rate and concatenation rule. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 36 / Univer 94

54 Payload Sizes Convolutional Codes Tailbiting Convolutional Codes Each FEC block is encoded by a tail-biting convolutional encoder, which is achieved by initializing the encoders memory with the last data bits of the FEC block being encoded (the packet data bits numbered b n- 5...b n ). Table 30 defines the basic sizes of the useful data payloads to be encoded in relation with the selected modulation type and encoding rate and concatenation rule. Depending on the modulation and rate, different size payloads may be accommodated. Table 30 Useful data payload for a subchannel QPSK 16 QAM 64 QAM Encoding rate R=1/ R=3/4 R=1/ R=3/4 R=1/ R=/3 R=3/4 Data payload (bytes) Block Turbo Coding (optional) The BTC is based on the product of two simple component codes, which are binary extended Hamming codes or parity check codes from the set depicted in Table 31. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 37 / Univer 94

55 Convolutional Codes Tailbiting Convolutional Codes Influence of Wrap Depth (QPSK, r=1/, 6 byte payload) Rate 1/, QPSK, 6 Bytes, depth 0 Rate 1/, QPSK, 6 Bytes, depth 1 Rate 1/, QPSK, 6 Bytes, depth Rate 1/, QPSK, 6 Bytes, depth 3 Rate 1/, QPSK, 6 Bytes, depth 4 Rate 1/, QPSK, 6 Bytes, depth 5 Rate 1/, QPSK, 6 Bytes, depth 6 Rate 1/, QPSK, 6 Bytes, depth 7 Rate 1/, QPSK, 6 Bytes, depth 8 BER Eb/No in db CmlPlot( TailbitingScenarios, 1:9 ) ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 38 / Univer 94

56 Convolutional Codes Tailbiting Convolutional Codes Performance with QPSK (wrap depth 6ν) 0-1 Rate 1/, QPSK, 1 Bytes, depth 6 Rate 1/, QPSK, 18 Bytes, depth 6 Rate 1/, QPSK, 4 Bytes, depth 6 Rate 1/, QPSK, 30 Bytes, depth 6 Rate 1/, QPSK, 36 Bytes, depth 6 - BER Eb/No in db CmlPlot( TailbitingScenarios, :14 ) ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 39 / Univer 94

57 Convolutional Codes Tailbiting Convolutional Codes Performance with QAM (wrap depth 6ν) 0-1 Rate 1/, 16-QAM, 1 Bytes, depth 6 Rate 1/, 16-QAM, 4 Bytes, depth 6 Rate 1/, 16-QAM, 36 Bytes, depth 6 Rate 1/, 64-QAM, 18 Bytes, depth 6 Rate 1/, 64-QAM, 36 Bytes, depth 6 Rate /3, 64-QAM, 4 Bytes, depth 6 - BER Eb/No in db CmlPlot( TailbitingScenarios, 15:0 ) ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 40 / Univer 94

58 Convolutional Codes RSC Codes RSC Codes Turbo codes use recursive systematic convolutional (RSC) codes. An RSC may be constructed from a standard convolutional encoder by feeding back one of the outputs. c (1) u D D c (0) The feedback of one output allows one of the outputs to be the input, hence it is systematic. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 41 / Univer 94

59 Convolutional Codes RSC Codes RSC Codes Turbo codes use recursive systematic convolutional (RSC) codes. An RSC may be constructed from a standard convolutional encoder by feeding back one of the outputs. c (0) c (1) u D D The feedback of one output allows one of the outputs to be the input, hence it is systematic. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 41 / Univer 94

60 Convolutional Codes RSC Codes Trellis Termination for RSC Codes The usual convention is to start and end in the all-zeros state. However, this cannot necessarily be done with an all-zeros tail. c (0) c (1) u D D Throwing the switch down after the k data bits have been encoded creates a tail that will bring the encoder back into the all-zeros state. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 4 / Univer 94

61 Convolutional Codes RSC Codes Trellis Termination for RSC Codes The usual convention is to start and end in the all-zeros state. However, this cannot necessarily be done with an all-zeros tail. c (0) c (1) u D D Throwing the switch down after the k data bits have been encoded creates a tail that will bring the encoder back into the all-zeros state. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 4 / Univer 94

62 Trellis of an RSC code Convolutional Codes RSC Codes The trellis is identical to that of an NSC code, except that some input labels have been reversed. S 3 0/ 0/ 1/ 1/ 1/ S 1/ 0/ 1/ 0/ S 1 S 0 1/ 1/ 0/ 1/ 0/ 0/ 1/ 1/ 0/ 0/ 0/ 0/ 0/ 0/ i = 0 i = 1 i = i = 3 i = 4 i = 5 i = 6 1/ 1/ 0/ 1/ 1/ m = tail bits no longer all-zeros must be calculated by the encoder ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 43 / Univer 94

63 RSC Codes in CML Convolutional Codes RSC Codes Setting the third argument of ConvEncode and ViterbiDecode to 0 indicates an RSC code with terminated trellis. >> g = [ ]; % enter the generators >> data = [ ]; % enter the data sequence >> c = ConvEncode( data, g, 0 ) c = >> s = *c-1; % BPSK modulate >> variance = 1/; % noise variance for Es/No = 0 db or Eb/No = 3 db >> noise = sqrt(variance)*randn(size(s)); % generate noise >> r = s + noise; % add noise to signal >> [s r ] % compare transmitted and received signals ans >> llr = *r/variance; % compute the LLR >> dataout = ViterbiDecode( llr, g, 0 ) % pass through Viterbi decoder dataout = ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 44 / Univer 94

64 Convolutional Codes Soft-output Decoding SISO Decoding The Viterbi algorithm provides a hard output. With turbo codes, multiple decoders exchange soft information. Therefore, turbo decoders require the ability to obtain soft outputs from the constituent decoders. (u i ) (c i ) SISO Decoder (u i ) (c i ) A soft-input, soft-output (SISO) decoder updates the LLR s of the code bits and/or message bits by using knowledge of the underlying code structure. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 45 / Univer 94

65 Convolutional Codes Soft-output Decoding SISO Decoding Overview The SISO Decoder has three main steps: Forward sweep through trellis. Backward sweep through trellis. Update LLR. Because there are two sweeps, complexity is roughly twice that of Viterbi. The algorithm has several names: BCJR. MAP. APP. log-map. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 46 / Univer 94

66 Forward Sweep Convolutional Codes Soft-output Decoding i i,k k j,k j Sweep through the trellis, just as in the Viterbi algorithm. Instead of the ACS operation at each node, use: Where α k = max [(α i + γ i,k ), (α j + γ j,k )] max [x, y] = log(e x + e y ) = max[x, y] + log (1 + e y x ) } {{ } f c( y x ) ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 47 / Univer 94

67 Convolutional Codes The max-log-map algorithm Soft-output Decoding Note that may be approximated by max [x, y] = max[x, y] + f c ( y x ) max [x, y] max[x, y] If this approximation is used, the algorithm is called the max-log-map algorithm. The forward sweep is identical to the Viterbi algorithm. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 48 / Univer 94

68 Convolutional Codes Soft-output Decoding The Correction Function The max-star Operator 0.7 f c ( y-x ) Constant-log-MAP dec_type option in SisoDecode =0 For linear-log-map (DEFAULT) = 1 For max-log-map algorithm = For Constant-log-MAP algorithm = 3 For log-map, correction factor from small nonuniform table and interpolation = 4 For log-map, correction factor uses C function calls 0. log-map y-x ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 49 / Univer 94

69 Convolutional Codes Soft-output Decoding Reverse Sweep k k,i i k,j j Starting from the end of the trellis, sweep backwards to the start of the trellis. At each node, compute a metric β k = max [(β i + γ k,i ), (β j + γ k,j )] If the trellis is terminated with a tail, the initial conditions are: β 0 = 0 β i =, i > 0 ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 50 / Univer 94

70 Updating the LLR s Convolutional Codes Soft-output Decoding The log-likelihood of branch i j is 3 3,3 3 Λ(i j) = α i + γ i,j + β j 3, The log-likelihood that a message bit u is a 1,4 max {Λ(i j)} i j:u=1 The log-likelihood that a message bit u is a 0 1,0 1 max {Λ(i j)} i j:u=0 0 0,1 0,0 0 The output LLR is λ (u) = max {Λ(i j)} max {Λ(i j)} i j:u=1 i j:u=0 ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 51 / Univer 94

71 SISO Decoding in CML Convolutional Codes Soft-output Decoding Use SisoDecode instead of ViterbiDecode. >> help SisoDecode SisoDecode performs soft-in/soft-out decoding of a convolutional code. The calling syntax is: [output_u, output_c] = SisoDecode(input_u, input_c, g_encoder, [code_type], [dec_type] ) output_u = LLR of the data bits output_c = LLR of the code bits Required inputs: input_u = APP of the data bits input_c = APP of the code bits g_encoder = generator matrix for convolutional code (If RSC, then feedback polynomial is first) Optional inputs: code_type = 0 for RSC outer code (default) = 1 for NSC outer code dec_type = the decoder type: = 0 For linear approximation to log-map (DEFAULT) = 1 For max-log-map algorithm (i.e. max*(x,y) = max(x,y) ) = For Constant-log-MAP algorithm = 3 For log-map, correction factor from small nonuniform table and interpolation = 4 For log-map, correction factor uses C function calls (slow) ) Copyright (C) 5, Matthew C. Valenti ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 5 / Univer 94

72 SISO Decoding in CML Convolutional Codes Soft-output Decoding >> code_type = 0; % RSC code, set to 1 for NSC code. >> g = [ ]; % enter the generators >> data = [ ]; % enter the data sequence >> c = ConvEncode( data, g, code_type ) c = >> s = *c-1; % BPSK modulate >> variance = 1/; % noise variance for Es/No = 0 db or Eb/No = 3 db >> noise = sqrt(variance)*randn(size(s)); % generate noise >> r = s + noise; % add noise to signal >> llr = *r/variance; % compute the LLR >> input_c = llr; % channel input >> input_u = zeros( length(data) ); % a priori information (used in turbo decoding) >> dec_type = 4; % this is the most accurate (but slowest) decoder type >> [output_u, output_c] = SisoDecode( input_u, input_c, g, code_type, dec_type ); >> output_u % now the output is soft output_u = >> [output_u > 0] % hard decision on the bits ans = ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 53 / Univer 94

73 Outline Turbo Codes 1 Overview of (Mobile) WiMAX Convolutional Codes 3 Turbo Codes 4 Low-density Parity-check Codes 5 Conclusion ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 54 / Univer 94

74 Turbo Codes The Idea Behind Turbo Codes Introduction A turbo code is created by concatenating two or more constituent codes. The constituent codes can be convolutional or block codes. The encoder usually has some sort of interleaver to reorder the data at the input of the different encoders. At least one code should be recursive (e.g. RSC). Decoding is iterative There is a constituent decoder for each constituent code. The constituent decoders are SISO. The decoders exchange information after each iteration. Iterations proceed until either data is correct or a maximum number of iterations is reached. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 55 / Univer 94

75 Product Codes Turbo Codes n x Block Turbo Codes n n y Information Bits Checks k y n y B Q Informa Checks Checks on Checks Ch I x k x Place data into k y by k x matrix. Encode each row by a (n x, k x ) systematic code. Encode each column by a (n y, k y ) systematic code. Transmit the n x n y code bits. The BTC specified by IEEEE 80.16e is a product code. Figure 56 BTC and shortened BTC struc Table 3 gives the block sizes for the optional modulation and coding schem the code parameters for each of the possible data and coded block sizes. k x ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 56 / Univer 94

76 Turbo Codes Block Turbo Codes Cyclic Codes Block Turbo Codes use systematic cyclic codes. A code is cyclic if a cyclic shift of any codeword produces another valid codeword. Like convolutional codes, cyclic codes are produced by performing the discrete-time convolution of the message with a generator. Cyclic codes are specified by a degree m generator polynomial. Cyclic codes used in Hamming, n = m 1. Single parity check (SPC), g(x) = 1 + X and n = anything. Extended Hamming: g(x) = g Hamming (X)g SP C (X) and n = m. k = n m. Example Hamming code. g(x) = 1 + X + X 3. g = []. m = 3, n = m 1 = 7, k = n m = 4. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 57 / Univer 94

77 Turbo Codes Block Turbo Codes Encoding Cyclic Codes Convolving the length k message with the length ν = m + 1 generator results in a length n = k + ν 1 = k + m codeword. The codeword may be generated using a rate-1 convolutional encoder. The trellis must be terminated with a tail of m zeros. u D D D c ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 58 / Univer 94

78 Turbo Codes State Diagram of a Cyclic Code Block Turbo Codes 1/0 1/1 1 0/1 1/1 0 1/0 0/0 0 1/0 0 1/1 1 0/1 1 1/1 0/0 0/1 1 0/0 1/0 0 0/0 0/1 ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 59 / Univer 94

79 Turbo Codes Block Turbo Codes Systematic Cyclic Codes BTC use systematic cyclic codes. Just like an RSC, the code can be made systematic by feeding the output back to the input. As with an RSC, the trellis is terminated by a tail of m bits, not necessarily zeros. u D D D c ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 60 / Univer 94

80 Turbo Codes Block Turbo Codes Systematic Cyclic Codes BTC use systematic cyclic codes. Just like an RSC, the code can be made systematic by feeding the output back to the input. As with an RSC, the trellis is terminated by a tail of m bits, not necessarily zeros. c u D D D ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 60 / Univer 94

81 Turbo Codes Block Turbo Codes State Diagram of a Systematic Cyclic Code 0/0 1/1 1 1/1 1/1 0 0/0 0/0 0 0/0 0 1/1 1 1/1 1 1/1 0/0 1/1 1 0/0 0/0 0 0/0 1/1 ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 61 / Univer 94

82 Turbo Codes Block Turbo Codes Encoder Block Diagram u o Outer (Row) Encoder c o Block Interleaver u i Inner (Column) Encoder c i The outer encoder produces k y row codewords. Each row codeword written into the rows of the block interleaver. Information read from each column of the block interleaver. The inner encoder produces n x column codewords. The column codewords are transmitted over the channel. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 6 / Univer 94

83 Turbo Codes Block Turbo Codes Decoder Block Diagram u o Outer (Row) Encoder c o Block Interleaver u i Inner (Column) Encoder c i Initially, pass soft outputs from outer decoder to inner decoder. The deinterleaver reverses the action of the interleaver. Make a hard decision on λ (u o ). If data is incorrect, feed back soft-info from inner to outer decoder. To prevent positive feedback, subtract input from output so that it is actually extrinsic information that gets fed back. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 63 / Univer 94

84 Turbo Codes Block Turbo Codes Decoder Block Diagram (u o ) Outer Siso Decoder (c 0 ) Deinterl. (u i ) Inner Siso Decoder (c i ) Initially, pass soft outputs from outer decoder to inner decoder. The deinterleaver reverses the action of the interleaver. Make a hard decision on λ (u o ). If data is incorrect, feed back soft-info from inner to outer decoder. To prevent positive feedback, subtract input from output so that it is actually extrinsic information that gets fed back. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 63 / Univer 94

85 Decoder Block Diagram Turbo Codes Block Turbo Codes (u o ) (c 0 ) Outer Siso Decoder (c 0 ) Deinterl. (u i ) (u i ) Inner Siso Decoder (c i ) Interl. Initially, pass soft outputs from outer decoder to inner decoder. The deinterleaver reverses the action of the interleaver. Make a hard decision on λ (u o ). If data is incorrect, feed back soft-info from inner to outer decoder. To prevent positive feedback, subtract input from output so that it is actually extrinsic information that gets fed back. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 63 / Univer 94

86 Decoder Block Diagram Turbo Codes Block Turbo Codes (u o ) (c 0 ) Outer Siso Decoder (c 0 ) Deinterl. (u i ) (u i ) Inner Siso Decoder (c i ) Interl. Initially, pass soft outputs from outer decoder to inner decoder. The deinterleaver reverses the action of the interleaver. Make a hard decision on λ (u o ). If data is incorrect, feed back soft-info from inner to outer decoder. To prevent positive feedback, subtract input from output so that it is actually extrinsic information that gets fed back. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 63 / Univer 94

87 Turbo Codes Block Turbo Codes Constituent Codes Used by 80.16e The constituent block codes may be generated using the following polynomials: Generator polynomial Generator vector Shorthand 1 + X [] g1 1 + X + X 4 + X 5 [] g5 1 + X + X + X 3 + X 5 + X 6 [0] g6 1 + X + X 6 + X 7 [] g7 Generator 1 + X is a single-parity check (SPC) code. The other three generators are extended Hamming codes. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 64 / Univer 94

88 Turbo Codes Block Turbo Codes Shortened Block Structure ESS SYSTEMS IEEE Std Instead of a standard product code structure, the following structure is used to match the codeword size to the OFDM symbol size: n x I y n y B Q Information Bits Checks k y Data size is (k y I y)(k x I x) (B + Q) bits. Pre-pad input with (B + Q) zeros. Checks Checks on Checks Delete the B zeros prior to transmission. I x k x ortened BTC structure ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 65 / Univer 94

89 Turbo Codes Block Turbo Codes BTC Encoder >> help BtcEncode BTCEncode encodes a data sequence using a block turbo encoder. The calling syntax is: codeword = BtcEncode( data, grows, gcols, k_per_row, k_per_col, B, Q ) codeword = the codeword generated by the encoder, data = the row vector of data bits grows = the generator used to encode the rows gcols = the generator used to encode the columns k_per_row = number of data bits per row k_per_col = number of data bits per column B = number of zeros padded before data but not transmitted Q = number of zeros padded before data and transmitted Copyright (C) 8, Matthew C. Valenti and Sushma Mamidipaka k per row = k x I x. k per col = k y I y. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 66 / Univer 94

90 Turbo Codes Block Turbo Codes BTC Parameters Code bytes Data bytes grows gcols k per row k per col B Q 1 6 g1 g g1 g g1 g g1 g g1 g g1 g g6 g g6 g g6 g g6 g ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 67 / Univer 94

91 BTC Decoder Turbo Codes Block Turbo Codes >> help BtcDecode BTCEncode decodes a block turbo code The calling syntax is: [detected_data, errors] = BTCDecode( symbol_likelihood, data, grows, gcols, k_per_row,... k_per_col, B, Q, max_iterations, decoder_type ) detected_data = a row vector containing hard decisions on the detected data errors = a column vector containing the number of errors per iteration symbol_likelihood = the decoder input, in the form of bit LLRs data = the row vector of data bits (used to count errors and for early halting of iterative decoding) grows = the generator used to encode the rows gcols = the generator used to encode the columns k_per_row = number of data bits per row k_per_col = number of data bits per column B = number of zeros padded before data but not transmitted Q = number of zeros padded before data and transmitted max_iterations = the number of turbo iterations decoder_type = the decoder type = 0 For linear-log-map algorithm, i.e. correction function is a straght line. = 1 For max-log-map algorithm (i.e. max*(x,y) = max(x,y) ), i.e. correction function = 0. = For Constant-log-MAP algorithm, i.e. correction function is a constant. = 3 For log-map, correction factor from small nonuniform table and interpolation. = 4 For log-map, correction factor uses C function calls. Copyright (C) 8, Matthew C. Valenti and Sushma Mamidipaka ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 68 / Univer 94

92 Turbo Codes Block Turbo Codes BTC in CML Code bytes Data bytes grows gcols k per row k per col B Q g1 g >> grows = [1 1]; >> gcols = [ ]; >> k_per_row = 6; >> k_per_col = 6; >> B=9; >> Q=3; >> data = round(rand(1,144)); % 18 data bytes >> c = BtcEncode( data, grows, gcols, k_per_row, k_per_col, B, Q ); >> s = *c-1; >> variance = 1; >> noise = sqrt(variance)*randn(size(c)); >> r = s + noise; >> llr = *r/variance; >> [out,errors] = BtcDecode( llr, data, grows, gcols, k_per_row, k_per_col, B, Q, 6, 4 ); >> errors errors = After the fifth iteration, the data is correct. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 69 / Univer 94

93 Turbo Codes Block Turbo Codes Influence of the Number of Iterations 0-1 Student Version of MATLAB (7,40) BTC in AWGN, log-map - BER Eb/No in db CmlPlot( BtcScenarios, ) ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 70 / Univer 94

94 Mamidipaka Turbo Codes Performance of BTC in AWGN Chapter 5. Results and Conclusion Block Turbo Codes (1,6) BTC in AWGN, log-map (1,9) BTC in AWGN, log-map (4,1) BTC in AWGN, log-map (4,0) BTC in AWGN, log-map (36,18) BTC in AWGN, log-map (36,5) BTC in AWGN, log-map (48,3) BTC in AWGN, log-map (48,35) BTC in AWGN, log-map (60,31) BTC in AWGN, log-map (7,40) BTC in AWGN, log-map BER Eb/No in db CmlPlot( BtcScenarios, 1: ) ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 71 / Univer 94

95 Turbo Codes Convolutional Turbo Codes Serially Concatenated Codes u o Outer (Row) Encoder c o Block Interleaver u i Inner (Column) Encoder c i Inner and outer codes need not be cyclic codes. For instance, they could be convolutional codes. Instead of one codeword per row or column, the inner and outer encoders could each produce one long codeword. The interleaver need not be a block interleaver. Instead, a pseudo-random interleaver could be used. The decoder is identical to the one shown earlier. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 7 / Univer 94

96 Turbo Codes Convolutional Turbo Codes Serially Concatenated Codes u o Outer Encoder c o Interleaver u i Inner Encoder c i Inner and outer codes need not be cyclic codes. For instance, they could be convolutional codes. Instead of one codeword per row or column, the inner and outer encoders could each produce one long codeword. The interleaver need not be a block interleaver. Instead, a pseudo-random interleaver could be used. The decoder is identical to the one shown earlier. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 7 / Univer 94

97 Turbo Codes Convolutional Turbo Codes AIR INTERFACE FOR FIXED BROADBAND WIRELESS ACCESS SYSTEMS IEEE Std Parallel Concatenated Codes n x n x I y n y Information Bits Checks k y n y u B u u Upper Encoder Q Information Bits c u k y Checks Combine c Checks Checks on Checks Interl. u l Lower Encoder Checks c l Checks on Checks I x k x k x If the double-parity Figure 56 BTC (checks and on shortened checks) BTC component structure is punctured, then encoding could be done in parallel. Table 3 gives the block sizes for the optional modulation and coding schemes using BTC. Table 33 gives Convolutional turbo codes are parallel concatenated codes with the code parameters for each of the possible data and coded block sizes. convolutional constituent codes. Table 3 Useful data payload for a subchannel ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 73 / Univer 94

98 Turbo Codes Convolutional Turbo Codes CTC Decoder The serial decoder could be used by setting λ(c) = 0 in the positions of the double-parity bits. A more efficient alternative is as follows: Deinterl. (u u ) (c) Separate (c u ) Upper Decoder (u l ) Interl. (c l ) (u l ) Lower Decoder (u l ) ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 74 / Univer 94

99 Turbo Codes CTC Encoder Used by 80.16e Convolutional Turbo Codes ACE FOR FIXED BROADBAND WIRELESS ACCESS SYSTEMS IEEE Std The CTC specified in IEEE 80.16e uses the following constituent encoder: A B A B 1 Constituent CTC encoder Interleaver switch + S 1 + S + S 3 + Constituent encoder Figure 57 CTC encoder + C 1 C Y 1 W 1 Y W Parity part Systematic part Key features: The code is duo-binary (rate /4). Tailbiting is used to force starting and ending states to be the same. Encoder operation: With switch up, encode the data in its natural order. Throw switch down and encode the interleaved data. Puncturing can be used to increase rate above 1/. ncoder (after initialization by the circulation state Sc 1, see ) is fed the sequence in the er (position 1) with the incremental address i = 0.. N 1. This first encoding is called C 1 encoding. ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 75 / Univer 94

100 Turbo Codes Convolutional Turbo Codes CTC parameters QPSK Rate 1/ with data block size: 6, 1, 18, 4, 30, 36, 48, 54, 60 bytes Rate 3/4 with data block size: 9, 18, 7, 36, 45, 54 bytes 16-QAM Rate 1/ with data block size: 1, 4, 36, 48, 60 bytes Rate 3/4 with data block size: 18, 36, 54 bytes 64-QAM Rate 1/ with data block size: 36, 54 bytes Rate /3 with data block size: 4, 48 bytes Rate 3/4 with data block size: 7, 54 bytes Rate 5/6 with data block size: 30, 60 bytes ( Lane Department Coding for ofwimax Computer Science and Electrical Engineering JuneWest 9 Virginia 76 / Univer 94

PERFORMANCE EVALUATION OF WIMAX SYSTEM USING CONVOLUTIONAL PRODUCT CODE (CPC)

PERFORMANCE EVALUATION OF WIMAX SYSTEM USING CONVOLUTIONAL PRODUCT CODE (CPC) Progress In Electromagnetics Research C, Vol. 5, 125 133, 2008 PERFORMANCE EVALUATION OF WIMAX SYSTEM USING CONVOLUTIONAL PRODUCT CODE (CPC) A. Ebian, M. Shokair, and K. H. Awadalla Faculty of Electronic

More information

Contents Chapter 1: Introduction... 2

Contents Chapter 1: Introduction... 2 Contents Chapter 1: Introduction... 2 1.1 Objectives... 2 1.2 Introduction... 2 Chapter 2: Principles of turbo coding... 4 2.1 The turbo encoder... 4 2.1.1 Recursive Systematic Convolutional Codes... 4

More information

Notes 15: Concatenated Codes, Turbo Codes and Iterative Processing

Notes 15: Concatenated Codes, Turbo Codes and Iterative Processing 16.548 Notes 15: Concatenated Codes, Turbo Codes and Iterative Processing Outline! Introduction " Pushing the Bounds on Channel Capacity " Theory of Iterative Decoding " Recursive Convolutional Coding

More information

Digital Television Lecture 5

Digital Television Lecture 5 Digital Television Lecture 5 Forward Error Correction (FEC) Åbo Akademi University Domkyrkotorget 5 Åbo 8.4. Error Correction in Transmissions Need for error correction in transmissions Loss of data during

More information

Advanced channel coding : a good basis. Alexandre Giulietti, on behalf of the team

Advanced channel coding : a good basis. Alexandre Giulietti, on behalf of the team Advanced channel coding : a good basis Alexandre Giulietti, on behalf of the T@MPO team Errors in transmission are fowardly corrected using channel coding e.g. MPEG4 e.g. Turbo coding e.g. QAM source coding

More information

II. FRAME STRUCTURE In this section, we present the downlink frame structure of 3GPP LTE and WiMAX standards. Here, we consider

II. FRAME STRUCTURE In this section, we present the downlink frame structure of 3GPP LTE and WiMAX standards. Here, we consider Forward Error Correction Decoding for WiMAX and 3GPP LTE Modems Seok-Jun Lee, Manish Goel, Yuming Zhu, Jing-Fei Ren, and Yang Sun DSPS R&D Center, Texas Instruments ECE Depart., Rice University {seokjun,

More information

Performance comparison of convolutional and block turbo codes

Performance comparison of convolutional and block turbo codes Performance comparison of convolutional and block turbo codes K. Ramasamy 1a), Mohammad Umar Siddiqi 2, Mohamad Yusoff Alias 1, and A. Arunagiri 1 1 Faculty of Engineering, Multimedia University, 63100,

More information

C802.16a-02/76. IEEE Broadband Wireless Access Working Group <

C802.16a-02/76. IEEE Broadband Wireless Access Working Group < Project IEEE 802.16 Broadband Wireless Access Working Group Title Convolutional Turbo Codes for 802.16 Date Submitted 2002-07-02 Source(s) Re: Brian Edmonston icoding Technology

More information

Improved concatenated (RS-CC) for OFDM systems

Improved concatenated (RS-CC) for OFDM systems Improved concatenated (RS-CC) for OFDM systems Mustafa Dh. Hassib 1a), JS Mandeep 1b), Mardina Abdullah 1c), Mahamod Ismail 1d), Rosdiadee Nordin 1e), and MT Islam 2f) 1 Department of Electrical, Electronics,

More information

Department of Electronic Engineering FINAL YEAR PROJECT REPORT

Department of Electronic Engineering FINAL YEAR PROJECT REPORT Department of Electronic Engineering FINAL YEAR PROJECT REPORT BEngECE-2009/10-- Student Name: CHEUNG Yik Juen Student ID: Supervisor: Prof.

More information

Chapter 3 Convolutional Codes and Trellis Coded Modulation

Chapter 3 Convolutional Codes and Trellis Coded Modulation Chapter 3 Convolutional Codes and Trellis Coded Modulation 3. Encoder Structure and Trellis Representation 3. Systematic Convolutional Codes 3.3 Viterbi Decoding Algorithm 3.4 BCJR Decoding Algorithm 3.5

More information

Decoding of Block Turbo Codes

Decoding of Block Turbo Codes Decoding of Block Turbo Codes Mathematical Methods for Cryptography Dedicated to Celebrate Prof. Tor Helleseth s 70 th Birthday September 4-8, 2017 Kyeongcheol Yang Pohang University of Science and Technology

More information

AN INTRODUCTION TO ERROR CORRECTING CODES Part 2

AN INTRODUCTION TO ERROR CORRECTING CODES Part 2 AN INTRODUCTION TO ERROR CORRECTING CODES Part Jack Keil Wolf ECE 54 C Spring BINARY CONVOLUTIONAL CODES A binary convolutional code is a set of infinite length binary sequences which satisfy a certain

More information

A Survey of Advanced FEC Systems

A Survey of Advanced FEC Systems A Survey of Advanced FEC Systems Eric Jacobsen Minister of Algorithms, Intel Labs Communication Technology Laboratory/ Radio Communications Laboratory July 29, 2004 With a lot of material from Bo Xia,

More information

ECE 6640 Digital Communications

ECE 6640 Digital Communications ECE 6640 Digital Communications Dr. Bradley J. Bazuin Assistant Professor Department of Electrical and Computer Engineering College of Engineering and Applied Sciences Chapter 8 8. Channel Coding: Part

More information

Performance of Turbo Product Code in Wimax

Performance of Turbo Product Code in Wimax Performance of Turbo Product Code in Wimax Trushita Chaware Department of Information Technology Thakur College of Engineering and Technology Kandivali(E), Mumbai, India Nileema Pathak Computer Engineering

More information

TABLE OF CONTENTS CHAPTER TITLE PAGE

TABLE OF CONTENTS CHAPTER TITLE PAGE TABLE OF CONTENTS CHAPTER TITLE PAGE DECLARATION ACKNOWLEDGEMENT ABSTRACT ABSTRAK TABLE OF CONTENTS LIST OF TABLES LIST OF FIGURES LIST OF ABBREVIATIONS i i i i i iv v vi ix xi xiv 1 INTRODUCTION 1 1.1

More information

IEEE P Wireless Personal Area Networks

IEEE P Wireless Personal Area Networks IEEE P802.15 Wireless Personal Area Networks Project Title IEEE P802.15 Working Group for Wireless Personal Area Networks (WPANs) TVWS-NB-OFDM Merged Proposal to TG4m Date Submitted Sept. 18, 2009 Source

More information

Serially Concatenated Coded Continuous Phase Modulation for Aeronautical Telemetry

Serially Concatenated Coded Continuous Phase Modulation for Aeronautical Telemetry Serially Concatenated Coded Continuous Phase Modulation for Aeronautical Telemetry c 2008 Kanagaraj Damodaran Submitted to the Department of Electrical Engineering & Computer Science and the Faculty of

More information

Outline. Communications Engineering 1

Outline. Communications Engineering 1 Outline Introduction Signal, random variable, random process and spectra Analog modulation Analog to digital conversion Digital transmission through baseband channels Signal space representation Optimal

More information

Performance Analysis of n Wireless LAN Physical Layer

Performance Analysis of n Wireless LAN Physical Layer 120 1 Performance Analysis of 802.11n Wireless LAN Physical Layer Amr M. Otefa, Namat M. ElBoghdadly, and Essam A. Sourour Abstract In the last few years, we have seen an explosive growth of wireless LAN

More information

Performance Analysis of WiMAX Physical Layer Model using Various Techniques

Performance Analysis of WiMAX Physical Layer Model using Various Techniques Volume-4, Issue-4, August-2014, ISSN No.: 2250-0758 International Journal of Engineering and Management Research Available at: www.ijemr.net Page Number: 316-320 Performance Analysis of WiMAX Physical

More information

ERROR CONTROL CODING From Theory to Practice

ERROR CONTROL CODING From Theory to Practice ERROR CONTROL CODING From Theory to Practice Peter Sweeney University of Surrey, Guildford, UK JOHN WILEY & SONS, LTD Contents 1 The Principles of Coding in Digital Communications 1.1 Error Control Schemes

More information

Digital Communications I: Modulation and Coding Course. Term Catharina Logothetis Lecture 12

Digital Communications I: Modulation and Coding Course. Term Catharina Logothetis Lecture 12 Digital Communications I: Modulation and Coding Course Term 3-8 Catharina Logothetis Lecture Last time, we talked about: How decoding is performed for Convolutional codes? What is a Maximum likelihood

More information

International Journal of Computer Trends and Technology (IJCTT) Volume 40 Number 2 - October2016

International Journal of Computer Trends and Technology (IJCTT) Volume 40 Number 2 - October2016 Signal Power Consumption in Digital Communication using Convolutional Code with Compared to Un-Coded Madan Lal Saini #1, Dr. Vivek Kumar Sharma *2 # Ph. D. Scholar, Jagannath University, Jaipur * Professor,

More information

Bridging the Gap Between Parallel and Serial Concatenated Codes

Bridging the Gap Between Parallel and Serial Concatenated Codes Bridging the Gap Between Parallel and Serial Concatenated Codes Naveen Chandran and Matthew C. Valenti Wireless Communications Research Laboratory West Virginia University Morgantown, WV 26506-6109, USA

More information

6. FUNDAMENTALS OF CHANNEL CODER

6. FUNDAMENTALS OF CHANNEL CODER 82 6. FUNDAMENTALS OF CHANNEL CODER 6.1 INTRODUCTION The digital information can be transmitted over the channel using different signaling schemes. The type of the signal scheme chosen mainly depends on

More information

Turbo and LDPC Codes for Digital Video Broadcasting

Turbo and LDPC Codes for Digital Video Broadcasting Turbo and LDPC Codes for Digital Video Broadcasting Matthew C. Valenti, Shi Cheng, and Rohit Iyer Seshadri West Virginia University {mvalenti,shic,iyerr}@csee.wvu.edu 1 Introduction The Digital Video Broadcasting

More information

Journal of Babylon University/Engineering Sciences/ No.(5)/ Vol.(25): 2017

Journal of Babylon University/Engineering Sciences/ No.(5)/ Vol.(25): 2017 Performance of Turbo Code with Different Parameters Samir Jasim College of Engineering, University of Babylon dr_s_j_almuraab@yahoo.com Ansam Abbas College of Engineering, University of Babylon 'ansamabbas76@gmail.com

More information

Bit Error Rate Performance Evaluation of Various Modulation Techniques with Forward Error Correction Coding of WiMAX

Bit Error Rate Performance Evaluation of Various Modulation Techniques with Forward Error Correction Coding of WiMAX Bit Error Rate Performance Evaluation of Various Modulation Techniques with Forward Error Correction Coding of WiMAX Amr Shehab Amin 37-20200 Abdelrahman Taha 31-2796 Yahia Mobasher 28-11691 Mohamed Yasser

More information

A Novel Approach for FEC Decoding Based On the BP Algorithm in LTE and Wimax Systems

A Novel Approach for FEC Decoding Based On the BP Algorithm in LTE and Wimax Systems International Journal of Engineering Research and Development e-issn: 2278-067X, p-issn : 2278-8X, www.ijerd.com Volume 5, Issue 2 (December 22), PP. 06-13 A Novel Approach for FEC Decoding Based On the

More information

n Based on the decision rule Po- Ning Chapter Po- Ning Chapter

n Based on the decision rule Po- Ning Chapter Po- Ning Chapter n Soft decision decoding (can be analyzed via an equivalent binary-input additive white Gaussian noise channel) o The error rate of Ungerboeck codes (particularly at high SNR) is dominated by the two codewords

More information

High-Rate Non-Binary Product Codes

High-Rate Non-Binary Product Codes High-Rate Non-Binary Product Codes Farzad Ghayour, Fambirai Takawira and Hongjun Xu School of Electrical, Electronic and Computer Engineering University of KwaZulu-Natal, P. O. Box 4041, Durban, South

More information

Using TCM Techniques to Decrease BER Without Bandwidth Compromise. Using TCM Techniques to Decrease BER Without Bandwidth Compromise. nutaq.

Using TCM Techniques to Decrease BER Without Bandwidth Compromise. Using TCM Techniques to Decrease BER Without Bandwidth Compromise. nutaq. Using TCM Techniques to Decrease BER Without Bandwidth Compromise 1 Using Trellis Coded Modulation Techniques to Decrease Bit Error Rate Without Bandwidth Compromise Written by Jean-Benoit Larouche INTRODUCTION

More information

FOR applications requiring high spectral efficiency, there

FOR applications requiring high spectral efficiency, there 1846 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 52, NO. 11, NOVEMBER 2004 High-Rate Recursive Convolutional Codes for Concatenated Channel Codes Fred Daneshgaran, Member, IEEE, Massimiliano Laddomada, Member,

More information

ISSN: Page 320

ISSN: Page 320 To Reduce Bit Error Rate in Turbo Coded OFDM with using different Modulation Techniques Shivangi #1, Manoj Sindhwani *2 #1 Department of Electronics & Communication, Research Scholar, Lovely Professional

More information

Turbo coding (CH 16)

Turbo coding (CH 16) Turbo coding (CH 16) Parallel concatenated codes Distance properties Not exceptionally high minimum distance But few codewords of low weight Trellis complexity Usually extremely high trellis complexity

More information

Study of Turbo Coded OFDM over Fading Channel

Study of Turbo Coded OFDM over Fading Channel International Journal of Engineering Research and Development e-issn: 2278-067X, p-issn: 2278-800X, www.ijerd.com Volume 3, Issue 2 (August 2012), PP. 54-58 Study of Turbo Coded OFDM over Fading Channel

More information

Implementation of Extrinsic Information Transfer Charts

Implementation of Extrinsic Information Transfer Charts Implementation of Extrinsic Information Transfer Charts by Anupama Battula Problem Report submitted to the College of Engineering and Mineral Resources at West Virginia University in partial fulfillment

More information

An Iterative Noncoherent Relay Receiver for the Two-way Relay Channel

An Iterative Noncoherent Relay Receiver for the Two-way Relay Channel An Iterative Noncoherent Relay Receiver for the Two-way Relay Channel Terry Ferrett 1 Matthew Valenti 1 Don Torrieri 2 1 West Virginia University 2 U.S. Army Research Laboratory June 12th, 2013 1 / 26

More information

ECE 6640 Digital Communications

ECE 6640 Digital Communications ECE 6640 Digital Communications Dr. Bradley J. Bazuin Assistant Professor Department of Electrical and Computer Engineering College of Engineering and Applied Sciences Chapter 8 8. Channel Coding: Part

More information

UNIVERSITY OF SOUTHAMPTON

UNIVERSITY OF SOUTHAMPTON UNIVERSITY OF SOUTHAMPTON ELEC6014W1 SEMESTER II EXAMINATIONS 2007/08 RADIO COMMUNICATION NETWORKS AND SYSTEMS Duration: 120 mins Answer THREE questions out of FIVE. University approved calculators may

More information

Hardware Accelerator for Duo-binary CTC decoding Algorithm Selection, HW/SW Partitioning and FPGA Implementation. Joakim Bjärmark Marco Strandberg

Hardware Accelerator for Duo-binary CTC decoding Algorithm Selection, HW/SW Partitioning and FPGA Implementation. Joakim Bjärmark Marco Strandberg Hardware Accelerator for Duo-binary CTC decoding Algorithm Selection, HW/SW Partitioning and FPGA Implementation Joakim Bjärmark Marco Strandberg LiTH-ISY-EX--06/3875--SE Linköping, 9 November 2006 i ii

More information

THE idea behind constellation shaping is that signals with

THE idea behind constellation shaping is that signals with IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 52, NO. 3, MARCH 2004 341 Transactions Letters Constellation Shaping for Pragmatic Turbo-Coded Modulation With High Spectral Efficiency Dan Raphaeli, Senior Member,

More information

Study of turbo codes across space time spreading channel

Study of turbo codes across space time spreading channel University of Wollongong Research Online University of Wollongong Thesis Collection 1954-2016 University of Wollongong Thesis Collections 2004 Study of turbo codes across space time spreading channel I.

More information

SIMULATIONS OF ERROR CORRECTION CODES FOR DATA COMMUNICATION OVER POWER LINES

SIMULATIONS OF ERROR CORRECTION CODES FOR DATA COMMUNICATION OVER POWER LINES SIMULATIONS OF ERROR CORRECTION CODES FOR DATA COMMUNICATION OVER POWER LINES Michelle Foltran Miranda Eduardo Parente Ribeiro mifoltran@hotmail.com edu@eletrica.ufpr.br Departament of Electrical Engineering,

More information

Recent Progress in Mobile Transmission

Recent Progress in Mobile Transmission Recent Progress in Mobile Transmission Joachim Hagenauer Institute for Communications Engineering () Munich University of Technology (TUM) D-80290 München, Germany State University of Telecommunications

More information

EE 435/535: Error Correcting Codes Project 1, Fall 2009: Extended Hamming Code. 1 Introduction. 2 Extended Hamming Code: Encoding. 1.

EE 435/535: Error Correcting Codes Project 1, Fall 2009: Extended Hamming Code. 1 Introduction. 2 Extended Hamming Code: Encoding. 1. EE 435/535: Error Correcting Codes Project 1, Fall 2009: Extended Hamming Code Project #1 is due on Tuesday, October 6, 2009, in class. You may turn the project report in early. Late projects are accepted

More information

Turbo Codes for Pulse Position Modulation: Applying BCJR algorithm on PPM signals

Turbo Codes for Pulse Position Modulation: Applying BCJR algorithm on PPM signals Turbo Codes for Pulse Position Modulation: Applying BCJR algorithm on PPM signals Serj Haddad and Chadi Abou-Rjeily Lebanese American University PO. Box, 36, Byblos, Lebanon serj.haddad@lau.edu.lb, chadi.abourjeily@lau.edu.lb

More information

TSTE17 System Design, CDIO. General project hints. Behavioral Model. General project hints, cont. Lecture 5. Required documents Modulation, cont.

TSTE17 System Design, CDIO. General project hints. Behavioral Model. General project hints, cont. Lecture 5. Required documents Modulation, cont. TSTE17 System Design, CDIO Lecture 5 1 General project hints 2 Project hints and deadline suggestions Required documents Modulation, cont. Requirement specification Channel coding Design specification

More information

Performance of Parallel Concatenated Convolutional Codes (PCCC) with BPSK in Nakagami Multipath M-Fading Channel

Performance of Parallel Concatenated Convolutional Codes (PCCC) with BPSK in Nakagami Multipath M-Fading Channel Vol. 2 (2012) No. 5 ISSN: 2088-5334 Performance of Parallel Concatenated Convolutional Codes (PCCC) with BPSK in Naagami Multipath M-Fading Channel Mohamed Abd El-latif, Alaa El-Din Sayed Hafez, Sami H.

More information

Discontinued IP. IEEE e CTC Decoder v4.0. Introduction. Features. Functional Description

Discontinued IP. IEEE e CTC Decoder v4.0. Introduction. Features. Functional Description DS634 December 2, 2009 Introduction The IEEE 802.16e CTC decoder core performs iterative decoding of channel data that has been encoded as described in Section 8.4.9.2.3 of the IEEE Std 802.16e-2005 specification

More information

UNIVERSITY OF MICHIGAN DEPARTMENT OF ELECTRICAL ENGINEERING : SYSTEMS EECS 555 DIGITAL COMMUNICATION THEORY

UNIVERSITY OF MICHIGAN DEPARTMENT OF ELECTRICAL ENGINEERING : SYSTEMS EECS 555 DIGITAL COMMUNICATION THEORY UNIVERSITY OF MICHIGAN DEPARTMENT OF ELECTRICAL ENGINEERING : SYSTEMS EECS 555 DIGITAL COMMUNICATION THEORY Study Of IEEE P802.15.3a physical layer proposals for UWB: DS-UWB proposal and Multiband OFDM

More information

Physical Layer: Modulation, FEC. Wireless Networks: Guevara Noubir. S2001, COM3525 Wireless Networks Lecture 3, 1

Physical Layer: Modulation, FEC. Wireless Networks: Guevara Noubir. S2001, COM3525 Wireless Networks Lecture 3, 1 Wireless Networks: Physical Layer: Modulation, FEC Guevara Noubir Noubir@ccsneuedu S, COM355 Wireless Networks Lecture 3, Lecture focus Modulation techniques Bit Error Rate Reducing the BER Forward Error

More information

Lab/Project Error Control Coding using LDPC Codes and HARQ

Lab/Project Error Control Coding using LDPC Codes and HARQ Linköping University Campus Norrköping Department of Science and Technology Erik Bergfeldt TNE066 Telecommunications Lab/Project Error Control Coding using LDPC Codes and HARQ Error control coding is an

More information

An Improved Rate Matching Method for DVB Systems Through Pilot Bit Insertion

An Improved Rate Matching Method for DVB Systems Through Pilot Bit Insertion Research Journal of Applied Sciences, Engineering and Technology 4(18): 3251-3256, 2012 ISSN: 2040-7467 Maxwell Scientific Organization, 2012 Submitted: December 28, 2011 Accepted: March 02, 2012 Published:

More information

Chapter 1 Coding for Reliable Digital Transmission and Storage

Chapter 1 Coding for Reliable Digital Transmission and Storage Wireless Information Transmission System Lab. Chapter 1 Coding for Reliable Digital Transmission and Storage Institute of Communications Engineering National Sun Yat-sen University 1.1 Introduction A major

More information

On the performance of Turbo Codes over UWB channels at low SNR

On the performance of Turbo Codes over UWB channels at low SNR On the performance of Turbo Codes over UWB channels at low SNR Ranjan Bose Department of Electrical Engineering, IIT Delhi, Hauz Khas, New Delhi, 110016, INDIA Abstract - In this paper we propose the use

More information

PROJECT 5: DESIGNING A VOICE MODEM. Instructor: Amir Asif

PROJECT 5: DESIGNING A VOICE MODEM. Instructor: Amir Asif PROJECT 5: DESIGNING A VOICE MODEM Instructor: Amir Asif CSE4214: Digital Communications (Fall 2012) Computer Science and Engineering, York University 1. PURPOSE In this laboratory project, you will design

More information

Convolutional Coding Using Booth Algorithm For Application in Wireless Communication

Convolutional Coding Using Booth Algorithm For Application in Wireless Communication Available online at www.interscience.in Convolutional Coding Using Booth Algorithm For Application in Wireless Communication Sishir Kalita, Parismita Gogoi & Kandarpa Kumar Sarma Department of Electronics

More information

Performance of Nonuniform M-ary QAM Constellation on Nonlinear Channels

Performance of Nonuniform M-ary QAM Constellation on Nonlinear Channels Performance of Nonuniform M-ary QAM Constellation on Nonlinear Channels Nghia H. Ngo, S. Adrian Barbulescu and Steven S. Pietrobon Abstract This paper investigates the effects of the distribution of a

More information

Physical-Layer Network Coding Using GF(q) Forward Error Correction Codes

Physical-Layer Network Coding Using GF(q) Forward Error Correction Codes Physical-Layer Network Coding Using GF(q) Forward Error Correction Codes Weimin Liu, Rui Yang, and Philip Pietraski InterDigital Communications, LLC. King of Prussia, PA, and Melville, NY, USA Abstract

More information

Performance Analysis of Concatenated RS-CC Codes for WiMax System using QPSK

Performance Analysis of Concatenated RS-CC Codes for WiMax System using QPSK Performance Analysis of Concatenated RS-CC Codes for WiMax System using QPSK Department of Electronics Technology, GND University Amritsar, Punjab, India Abstract-In this paper we present a practical RS-CC

More information

Diversity Techniques to combat fading in WiMAX

Diversity Techniques to combat fading in WiMAX Diversity Techniques to combat fading in WiMAX ANOU ABDERRAHMANE, MEHDI MEROUANE, BENSEBTI MESSAOUD Electronics Department University SAAD DAHLAB of BLIDA, ALGERIA BP 270 BLIDA, ALGERIA a_anou@hotmail.com,

More information

Comparative Analysis of Inter Satellite Links using Free Space Optical Communication with OOK and QPSK Modulation Techniques in Turbo Codes

Comparative Analysis of Inter Satellite Links using Free Space Optical Communication with OOK and QPSK Modulation Techniques in Turbo Codes Comparative Analysis of Inter Satellite Links using Free Space Optical Communication with OOK and QPSK Modulation Techniques in Turbo Codes ARUN KUMAR CHOUHAN Electronics and Communication Engineering

More information

EFFECTIVE CHANNEL CODING OF SERIALLY CONCATENATED ENCODERS AND CPM OVER AWGN AND RICIAN CHANNELS

EFFECTIVE CHANNEL CODING OF SERIALLY CONCATENATED ENCODERS AND CPM OVER AWGN AND RICIAN CHANNELS EFFECTIVE CHANNEL CODING OF SERIALLY CONCATENATED ENCODERS AND CPM OVER AWGN AND RICIAN CHANNELS Manjeet Singh (ms308@eng.cam.ac.uk) Ian J. Wassell (ijw24@eng.cam.ac.uk) Laboratory for Communications Engineering

More information

Revision of Lecture Eleven

Revision of Lecture Eleven Revision of Lecture Eleven Previous lecture we have concentrated on carrier recovery for QAM, and modified early-late clock recovery for multilevel signalling as well as star 16QAM scheme Thus we have

More information

Comparison of BER for Various Digital Modulation Schemes in OFDM System

Comparison of BER for Various Digital Modulation Schemes in OFDM System ISSN: 2278 909X Comparison of BER for Various Digital Modulation Schemes in OFDM System Jaipreet Kaur, Hardeep Kaur, Manjit Sandhu Abstract In this paper, an OFDM system model is developed for various

More information

Rekha S.M, Manoj P.B. International Journal of Engineering and Advanced Technology (IJEAT) ISSN: , Volume-2, Issue-6, August 2013

Rekha S.M, Manoj P.B. International Journal of Engineering and Advanced Technology (IJEAT) ISSN: , Volume-2, Issue-6, August 2013 Comparing the BER Performance of WiMAX System by Using Different Concatenated Channel Coding Techniques under AWGN, Rayleigh and Rician Fading Channels Rekha S.M, Manoj P.B Abstract WiMAX (Worldwide Interoperability

More information

DESIGN, IMPLEMENTATION AND OPTIMISATION OF 4X4 MIMO-OFDM TRANSMITTER FOR

DESIGN, IMPLEMENTATION AND OPTIMISATION OF 4X4 MIMO-OFDM TRANSMITTER FOR DESIGN, IMPLEMENTATION AND OPTIMISATION OF 4X4 MIMO-OFDM TRANSMITTER FOR COMMUNICATION SYSTEMS Abstract M. Chethan Kumar, *Sanket Dessai Department of Computer Engineering, M.S. Ramaiah School of Advanced

More information

ISSN: ISO 9001:2008 Certified International Journal of Engineering Science and Innovative Technology (IJESIT) Volume 2, Issue 4, July 2013

ISSN: ISO 9001:2008 Certified International Journal of Engineering Science and Innovative Technology (IJESIT) Volume 2, Issue 4, July 2013 Design and Implementation of -Ring-Turbo Decoder Riyadh A. Al-hilali Abdulkareem S. Abdallah Raad H. Thaher College of Engineering College of Engineering College of Engineering Al-Mustansiriyah University

More information

Spreading Codes and Characteristics. Error Correction Codes

Spreading Codes and Characteristics. Error Correction Codes Spreading Codes and Characteristics and Error Correction Codes Global Navigational Satellite Systems (GNSS-6) Short course, NERTU Prasad Krishnan International Institute of Information Technology, Hyderabad

More information

A rate one half code for approaching the Shannon limit by 0.1dB

A rate one half code for approaching the Shannon limit by 0.1dB 100 A rate one half code for approaching the Shannon limit by 0.1dB (IEE Electronics Letters, vol. 36, no. 15, pp. 1293 1294, July 2000) Stephan ten Brink S. ten Brink is with the Institute of Telecommunications,

More information

Mohammad Hossein Manshaei 1393

Mohammad Hossein Manshaei 1393 Mohammad Hossein Manshaei manshaei@gmail.com 1393 1 PLCP format, Data Rates, OFDM, Modulations, 2 IEEE 802.11a: Transmit and Receive Procedure 802.11a Modulations BPSK Performance Analysis Convolutional

More information

Single Error Correcting Codes (SECC) 6.02 Spring 2011 Lecture #9. Checking the parity. Using the Syndrome to Correct Errors

Single Error Correcting Codes (SECC) 6.02 Spring 2011 Lecture #9. Checking the parity. Using the Syndrome to Correct Errors Single Error Correcting Codes (SECC) Basic idea: Use multiple parity bits, each covering a subset of the data bits. No two message bits belong to exactly the same subsets, so a single error will generate

More information

Analysis of WiMAX Physical Layer Using Spatial Multiplexing

Analysis of WiMAX Physical Layer Using Spatial Multiplexing Analysis of WiMAX Physical Layer Using Spatial Multiplexing Pavani Sanghoi #1, Lavish Kansal *2, #1 Student, Department of Electronics and Communication Engineering, Lovely Professional University, Punjab,

More information

Layered Space-Time Codes

Layered Space-Time Codes 6 Layered Space-Time Codes 6.1 Introduction Space-time trellis codes have a potential drawback that the maximum likelihood decoder complexity grows exponentially with the number of bits per symbol, thus

More information

Constellation Shaping for LDPC-Coded APSK

Constellation Shaping for LDPC-Coded APSK Constellation Shaping for LDPC-Coded APSK Matthew C. Valenti Lane Department of Computer Science and Electrical Engineering West Virginia University U.S.A. Mar. 14, 2013 ( Lane Department LDPCof Codes

More information

Lecture 12: Summary Advanced Digital Communications (EQ2410) 1

Lecture 12: Summary Advanced Digital Communications (EQ2410) 1 : Advanced Digital Communications (EQ2410) 1 Monday, Mar. 7, 2016 15:00-17:00, B23 1 Textbook: U. Madhow, Fundamentals of Digital Communications, 2008 1 / 15 Overview 1 2 3 4 2 / 15 Equalization Maximum

More information

M4B-4. Concatenated RS-Convolutional Codes for Ultrawideband Multiband-OFDM. Nyembezi Nyirongo, Wasim Q. Malik, and David. J.

M4B-4. Concatenated RS-Convolutional Codes for Ultrawideband Multiband-OFDM. Nyembezi Nyirongo, Wasim Q. Malik, and David. J. Concatenated RS-Convolutional Codes for Ultrawideband Multiband-OFDM Nyembezi Nyirongo, Wasim Q. Malik, and David. J. Edwards M4B-4 Department of Engineering Science, University of Oxford, Parks Road,

More information

BER of OFDM system using concatenated forward error correcting codes (FEC) over Nakagami m fading channel

BER of OFDM system using concatenated forward error correcting codes (FEC) over Nakagami m fading channel BER of OFDM system using concatenated forward error correcting codes (FEC) over Nakagami m fading channel Mr. Firoz Ahmed Mansuri 1, Prof. Saurabh Gaur 2 1 Student ME(DC), Electronics & Communication,

More information

Performance of Turbo codec OFDM in Rayleigh fading channel for Wireless communication

Performance of Turbo codec OFDM in Rayleigh fading channel for Wireless communication Performance of Turbo codec OFDM in Rayleigh fading channel for Wireless communication Arjuna Muduli, R K Mishra Electronic science Department, Berhampur University, Berhampur, Odisha, India Email: arjunamuduli@gmail.com

More information

Simulink Modeling of Convolutional Encoders

Simulink Modeling of Convolutional Encoders Simulink Modeling of Convolutional Encoders * Ahiara Wilson C and ** Iroegbu Chbuisi, *Department of Computer Engineering, Michael Okpara University of Agriculture, Umudike, Abia State, Nigeria **Department

More information

Multiple Input Multiple Output Dirty Paper Coding: System Design and Performance

Multiple Input Multiple Output Dirty Paper Coding: System Design and Performance Multiple Input Multiple Output Dirty Paper Coding: System Design and Performance Zouhair Al-qudah and Dinesh Rajan, Senior Member,IEEE Electrical Engineering Department Southern Methodist University Dallas,

More information

Simulation of the Performance of IEEE WirelessMAN-OFDM PHY

Simulation of the Performance of IEEE WirelessMAN-OFDM PHY Simulation of the Performance of IEEE 802.16-2004 WirelessMAN-OFDM PHY by Mamatha Mannava Problem report submitted to the College of Engineering and Mineral Resources at West Virginia University in partial

More information

Disclaimer. Primer. Agenda. previous work at the EIT Department, activities at Ericsson

Disclaimer. Primer. Agenda. previous work at the EIT Department, activities at Ericsson Disclaimer Know your Algorithm! Architectural Trade-offs in the Implementation of a Viterbi Decoder This presentation is based on my previous work at the EIT Department, and is not connected to current

More information

Know your Algorithm! Architectural Trade-offs in the Implementation of a Viterbi Decoder. Matthias Kamuf,

Know your Algorithm! Architectural Trade-offs in the Implementation of a Viterbi Decoder. Matthias Kamuf, Know your Algorithm! Architectural Trade-offs in the Implementation of a Viterbi Decoder Matthias Kamuf, 2009-12-08 Agenda Quick primer on communication and coding The Viterbi algorithm Observations to

More information

Collaborative decoding in bandwidth-constrained environments

Collaborative decoding in bandwidth-constrained environments 1 Collaborative decoding in bandwidth-constrained environments Arun Nayagam, John M. Shea, and Tan F. Wong Wireless Information Networking Group (WING), University of Florida Email: arun@intellon.com,

More information

Error Control Codes. Tarmo Anttalainen

Error Control Codes. Tarmo Anttalainen Tarmo Anttalainen email: tarmo.anttalainen@evitech.fi.. Abstract: This paper gives a brief introduction to error control coding. It introduces bloc codes, convolutional codes and trellis coded modulation

More information

designing the inner codes Turbo decoding performance of the spectrally efficient RSCC codes is further evaluated in both the additive white Gaussian n

designing the inner codes Turbo decoding performance of the spectrally efficient RSCC codes is further evaluated in both the additive white Gaussian n Turbo Decoding Performance of Spectrally Efficient RS Convolutional Concatenated Codes Li Chen School of Information Science and Technology, Sun Yat-sen University, Guangzhou, China Email: chenli55@mailsysueducn

More information

Master s Thesis Defense

Master s Thesis Defense Master s Thesis Defense Serially Concatenated Coded Continuous Phase Modulation for Aeronautical Telemetry Kanagaraj Damodaran August 14, 2008 Committee Dr. Erik Perrins (Chair) Dr. Victor Frost Dr. James

More information

Communications Theory and Engineering

Communications Theory and Engineering Communications Theory and Engineering Master's Degree in Electronic Engineering Sapienza University of Rome A.A. 2018-2019 Channel Coding The channel encoder Source bits Channel encoder Coded bits Pulse

More information

The BICM Capacity of Coherent Continuous-Phase Frequency Shift Keying

The BICM Capacity of Coherent Continuous-Phase Frequency Shift Keying The BICM Capacity of Coherent Continuous-Phase Frequency Shift Keying Rohit Iyer Seshadri, Shi Cheng and Matthew C. Valenti Lane Dept. of Computer Sci. and Electrical Eng. West Virginia University Morgantown,

More information

Improvement Of Block Product Turbo Coding By Using A New Concept Of Soft Hamming Decoder

Improvement Of Block Product Turbo Coding By Using A New Concept Of Soft Hamming Decoder European Scientific Journal June 26 edition vol.2, No.8 ISSN: 857 788 (Print) e - ISSN 857-743 Improvement Of Block Product Turbo Coding By Using A New Concept Of Soft Hamming Decoder Alaa Ghaith, PhD

More information

A physical layer simulator for WiMAX Marius Oltean 1, Maria Kovaci 1, Jamal Mountassir 2, Alexandru Isar 1, Petru Lazăr 2

A physical layer simulator for WiMAX Marius Oltean 1, Maria Kovaci 1, Jamal Mountassir 2, Alexandru Isar 1, Petru Lazăr 2 A physical layer simulator for WiMAX Marius Oltean 1, Maria Kovaci 1, Jamal Mountassir 2, Alexandru Isar 1, Petru Lazăr 2 Abstract A physical layer simulator for the WiMAX technology is presented in this

More information

: IEEE C802.16e-04/533r5. IEEE Broadband Wireless Access Working Group <

: IEEE C802.16e-04/533r5. IEEE Broadband Wireless Access Working Group < Project Title Date Submitted IEEE 802.16 Broadband Wireless Access Working Group Space-frequency bit-interleaved coded for MIMO-OFDM/OFDMA systems 2005-01-26 Source(s) Sumeet Sandhu,

More information

Open Access Concatenated RS-Convolutional Codes for Cooperative Wireless Communication

Open Access Concatenated RS-Convolutional Codes for Cooperative Wireless Communication Send Orders of Reprints at reprints@benthamscience.net The Open Electrical & Electronic Engineering Journal, 2013, 7, 9-20 9 Open Access Concatenated RS-Convolutional Codes for Cooperative Wireless Communication

More information

Master s Thesis Defense

Master s Thesis Defense Master s Thesis Defense Comparison of Noncoherent Detectors for SOQPSK and GMSK in Phase Noise Channels Afzal Syed August 17, 2007 Committee Dr. Erik Perrins (Chair) Dr. Glenn Prescott Dr. Daniel Deavours

More information

CHAPTER 4 LINK ADAPTATION USING NEURAL NETWORK

CHAPTER 4 LINK ADAPTATION USING NEURAL NETWORK CHAPTER 4 LINK ADAPTATION USING NEURAL NETWORK 4.1 INTRODUCTION For accurate system level simulator performance, link level modeling and prediction [103] must be reliable and fast so as to improve the

More information

TCM-coded OFDM assisted by ANN in Wireless Channels

TCM-coded OFDM assisted by ANN in Wireless Channels 1 Aradhana Misra & 2 Kandarpa Kumar Sarma Dept. of Electronics and Communication Technology Gauhati University Guwahati-781014. Assam, India Email: aradhana66@yahoo.co.in, kandarpaks@gmail.com Abstract

More information