• Tidak ada hasil yang ditemukan

THEORETICAL ANALYSIS OF A SIMO OFDM SYSTEM

2.7 Channel Coding

The purpose of error control coding or channel coding is to reduce the bit-error-rate (BER) compared to that of an uncoded system for a given SNR. The channel coder achieves the BER improvement by introducing redundancy in the uncoded data. Channel coders can be broadly classified into two groups:

(a) Block coder

(b) Convolutional coders

Convolutional codes has got several extensions like:

(a) Two-dimentional trellis coded modulation (TCM) (b) Multi-dimentional trellis coded modulation (MTCM) (c) Turbo codes

There are two different strategies for decoding convolutional codes:

(a) Maximum Likelyhood (ML) decoding (b) Sequential decoding

2.7.1 General Convolutional Coder

The block diagram of the communication system under consideration is shown in Figure 3.1.

The subscript m in the figure enotes time index. Observe that the uncoded bit sequence is grouped into non-overlapping blocks of k bits by the serial-to-parallel converter, and n coded bits are generated for every k-bit uncoded block. The code rate is defined as k/n<1. Thus if the uncoded bit rate is R bitsls then the coded bit rate is Rn/k bits/sec. Hence it is clear that channel coding results in an expansion of bandwidth.

It is often necessary to compare the performance of different coding scheme. To enable us to make a fair comparison, we select uncoded BPSK with average power denoted by Pav,bas the reference. For example, ifuncoded BPSK uses the constellation

:loA,

then Pav,b=

A

2 .

Uocoded

bit stream

Serial to

Parallel • K

Converte bits

r •

bm

Decoded

bit stream

Parallel Encoder

• •

0bits Mapper

• •

Nsymbol Converteto Serial

• •

r

em

8m

Coded symbol stream Receiver

AWGN Bm= [bl,m ... ~~

Cm=[Clm ••• Cn,m]

, T

Sm= [SI,m ... So,m]

Uocoded bit stream: ... 1011...111100 ... 10 ...

k bits k bits

COOed bit stream: ... 1010 ... 010010 ... 00 ...

n "bits n bits

Figure 3.1: Block diagram of a general convolution coder

The uncoded bit rate is assumed to be R and all coding schemes under comparison are also assumed to have an uncoded bit rate ofR. Thus, coding schemes having different transmission bandwidths could be compered. Performance of a coding scheme depends only on the transmit power and not on the bandwidth (assuming a distortionless channel with infinite bandwidth).

Hence, it is clear that we need to place a constraint on the transmit power and not the bandwidth. Now following propositions can be made.

Proposition 1 Assume that k bits are encoded at a time. If the uncoded bit rate is , then the duration of k uncoded bits is Tk = k/R. The transmitted energy of uncoded BPSK in the duration Tk is then Pav,bk. Then the transmitted energy of any coding scheme in the duration Tk should also be Pay,bk•

The above proposition looks intuitively satisfYing, since it would be unfair for a coding scheme to increase the energy above that of uncoded BPSK and then claim a coding gain. This is illustrated in Figure 3.2.

r r

Uncoded BPSK transmission (n symbols, PaV,b=A2)

•••

A

time

~:

kT=nT'

Uncoded BPSK transmission (n symbols, P'av,b=A,2) Figure 3.2 Illustrating Proposition (kA 2= nA ,2)

2.7.2 Turbo Codes

Turbo codes are a class of powerful error correcting codes that achieve very low bit-error- rates at signal-to-noise ratios that are close to OdB.

2.7.3 System Block Diagram of Turbo Encoder and Decoder

Message btl

sequence Rale-lI; RSC

Encoder

M

U

X

--_._- . - - ~~

Inlerleaver (N) Rale-lI; RSC Encoder

.

COdeword

Figure 3.3: Block diagramof TurboEncoder

Message bit

sequence 'OEMUX

Vb

Yp Y.

Interleaver

Max-log APP .- DeCOder1

Max"fogAPP

Deeo<ler2 Oelhter1eaVer Deeo<Ied sequence

Figure 3.4: Block diagram of Turbo code decoder

The block diagram of encoder of turbo code is illustrated in Figure 2.- In turbo encoder, two rate-l/2 recursive systematic convolutional (RSC) encoders of 2 stage are connected in

v

parallel through a interleaver of size N. RSC encoder transfer function is defined as( I gl(D)/g2(D)] where gl(D) is feed forward polynomial and g2(D) is feedback polynomial.

Turbo encoder takes a block of certain length (equal to the length of interleaver) message bit.

Input to the first encoder is original bit sequence and input to the second encoder is permuted version of input bit by means of interleaver. For turbo encoding pseudo-random interleaver is used. The function ofinterleaver is following [35]: first it makes the error, very likely to occur to the first encoded bit sequence is very unlikely to occur to second encoded bit sequence;

second, distribution of burst error occurred by the channel ; third, it provides a kind of

diversity to the receiver two independent sequences each one experiencing independent

robust against burst error occurred by channel. Turbo encoder of above diagram can be considered as a block code of C(k,n) where input bit k=N and output bit n = 3(N+v). The output of turbo encoder corresponding to information block consist information block itself, first parity bit block and second parity bit block. Thus it has nominal coding ratel/3. This rate can be increased further by puncturing outputs of two RSC encoders[34]. The resultant code by this encoder is systematic code.

Decoding of turbo encoded message is done by iterative decoding [30]. Iterative decoder for turbo encoded message is shown in figure 6.2 . Let the message vector is 1r[b1 b2 bN].

turbo encoded vector is x = [xl x2 xN] where xl is triplet consisting of message bit, parity bit for first encoder and parity bit for 2nd encoder. Now received vector Y=hx+n. Turbo code decoder consists of two maximum - log a posterior probability decoder. Each decoder input is message bit along with parity bit. The first decoder decodes using soft output viterbi algorithm (SOV A) and produces a log likelihood ratio (LLR) of message bit called extrinsic information [12]. This extrinsic information is passed to second decoder which uses it as priori information and generates extrinsic information based on priori information and message bit(interleaved version) along with parity bit. This extrinsic information is passed to first decoder which computes then its own extrinsic information using extrinsic information from second decoder as priori information. As a result extrinsic information (log-likelihood ratio of the sequence) generated by each decoder consists three parts: channel information, extrinsic information generated by own and extrinsic information acquired form other decoder. After some iterations (6 to 18) information generated by both decoder converges [32] and final decoding is done by making hard decision of a decoder output after deinterleaving. Decoding of turbo code requires joint iterative operation of two decoder, analogous to the principle of turbo engine and hence it refers as turbo code.

2.7.4 Bit Error Rate Performance of Turbo Code

Analytical modelling of bit error rate performance using turbo code depends on parameter selection of turbo code. These parameters are, minimum free distance, error coefficient and code rate. These parameters are explained below:

The hamming weight of a code word is the total number of non-zero components. On the other hand, hamming distance between two code words is the 74 number of bits mismatching between them. The minimum free distance of a code word is defined as the smallest hamming distance

among all hamming distance. Clearly, minimum free distance is the smallest hamming weight of the code. The importance of minimum free distance (d ) parameter is that in fact it determines the

"'"

error correcting and detecting capability of a code. Error coefficient is the average number of ones on the minimum free distance path in the overall code trellis. Let N is the number of codeword's

"'"

that has d hamming weight and w is the sum of hamming weight ofN number of information

"'" "'" "'"

frames generating codewords with weight d . Now error coefficient is determined as w INwhere

"'"

•..

N is interleaver length [30]. The third important parameter is code rate defined as C=k/n where k=number of input bit and n= number of coded bit for k input bits.

Now for turbo coding analytical expression for bit error rate is given as: [29]

In above equation B is error coefficient, d is code minimum free distance and C is code rate.

" ,

CHAPTER 3

Dokumen terkait