Comparing Channel Equalization Techniques: MLSE vs ZF-DFE with Vinay Melkote, Study Guides, Projects, Research of Theories of Communication

An in-depth analysis of two channel equalization techniques, maximum likelihood sequence estimation (mlse) and decision feedback equalization (dfe) with zero forcing (zf), to overcome inter symbol interference (isi) in a communication system. The theory behind each technique, the generation of signals and noise, and the simulation results comparing their performance in terms of bit error rate (ber) and noise enhancement. The document also includes the code for mlse, zf-dfe, and finding the dominating exponential for mlse.

Typology: Study Guides, Projects, Research

Pre 2010

Uploaded on 09/17/2009

koofers-user-zq2
koofers-user-zq2 🇺🇸

10 documents

1 / 6

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
ECE 243A Software Project Report
Vinay Melkote
Introduction:
Channel Equalization is used to overcome Inter symbol Interference (ISI) caused due to
channel response. The aim of the project is to compare performance of two equalization
techniques, Maximum Likelihood Sequence Estimation (MLSE) method and Decision
Feedback Equalization (DFE) with Zero Forcing (ZF) equalizer. The bit error rates over a
range of Eb/N0 are to be found and compared with the case when no ISI is present.
The setting:
The symbols are randomly chosen gray coded QPSK constellation points i.e. picked from
{ ± 1 ± j }. The transmit filter has impulse response
gTX(t) = I [0,1] (t)
The channel impulse response is
gC (t) = δ(t - 0.5)- 2jδ (t - 1) + 0.75δ (t -2.25)
The received filter is matched to the combination of transmit pulse and channel response.
The received signal is corrupted by white Gaussian noise.
Generation of signal and Noise:
The symbol sequence is a random sequence of the alphabet {± 1 ± j} and is generated
using the Matlab randsrc() function which generates a sequence of desired length by
choosing uniformly from a given alphabet. An over sampled version of the transmit filter
is convolved with an over sampled version of the channel to get the combined response
for one symbol. This is flipped and conjugated to get the received filter. The symbol
sequence generated is also over sampled and convolved with the combined response for
one symbol. The output of this is convolved with the received filter and then the final
output is down sample to get the samples z(k) on which decisions have to be made. These
are finally scaled by a constant A, which depends on the Eb/N0 desired.
The Matlab randn function generates 0 mean Gaussian noise with unit variance. This was
used to generate real and imaginary parts of an over sampled white Gaussian noise
sequence. This is filtered using the received filter mentioned above to generate the
required coloured noise samples n(k).
pf3
pf4
pf5

Partial preview of the text

Download Comparing Channel Equalization Techniques: MLSE vs ZF-DFE with Vinay Melkote and more Study Guides, Projects, Research Theories of Communication in PDF only on Docsity!

ECE 243A Software Project Report

Vinay Melkote

Introduction:

Channel Equalization is used to overcome Inter symbol Interference (ISI) caused due to channel response. The aim of the project is to compare performance of two equalization techniques, Maximum Likelihood Sequence Estimation (MLSE) method and Decision Feedback Equalization (DFE) with Zero Forcing (ZF) equalizer. The bit error rates over a range of Eb /N 0 are to be found and compared with the case when no ISI is present.

The setting:

The symbols are randomly chosen gray coded QPSK constellation points i.e. picked from { ± 1 ± j }. The transmit filter has impulse response gTX(t) = I (^) [0,1] (t) The channel impulse response is gC (t) = δ(t - 0.5)- 2jδ (t - 1) + 0.75δ (t -2.25) The received filter is matched to the combination of transmit pulse and channel response. The received signal is corrupted by white Gaussian noise.

Generation of signal and Noise:

The symbol sequence is a random sequence of the alphabet {± 1 ± j} and is generated using the Matlab randsrc() function which generates a sequence of desired length by choosing uniformly from a given alphabet. An over sampled version of the transmit filter is convolved with an over sampled version of the channel to get the combined response for one symbol. This is flipped and conjugated to get the received filter. The symbol sequence generated is also over sampled and convolved with the combined response for one symbol. The output of this is convolved with the received filter and then the final output is down sample to get the samples z(k) on which decisions have to be made. These are finally scaled by a constant A, which depends on the Eb /N 0 desired.

The Matlab randn function generates 0 mean Gaussian noise with unit variance. This was used to generate real and imaginary parts of an over sampled white Gaussian noise sequence. This is filtered using the received filter mentioned above to generate the required coloured noise samples n(k).

MLSE technique:

The symbol spaced taps ( h(n) ) of the combination of transmit pulse, channel and received filter are (to a constant scale factor due to over sampling) 0 0 11.25-7.5i 3.75-2.5i 111.25 3.75 + 2.5i 11.25 + 7.5i 0 0 The MLSE technique uses the Vitterbi algorithm to find the path of maximum likelihood in a trellis of possible signals. In this case the channel has a memory of L = 2 and M= possible symbols at any time. Thus each stage of the trellis has 2 4 =16 states and the metric of a branch going from time n to n+1 in the trellis has a branch metric given by

Areal[(b(n)’z(n)) - A^2 * real[ b(n)’* ( b(n-1)h(1)+b(n-2)h(2) ) ]

Where, b(n) is the symbol at time n and is one of { ± 1 ± j } h(1) = 3.75 + 2.5i h(2) = 11.25 + 7.5i , these values have been got from the aforementioned h(n) A is the scaling factor or amplitude that depends on Eb /N 0.

As the channel has L = 2, we can make a decision on b(n-2) by using metrics up to stage b(n).

ZF-DFE technique:

The symbol to be decoded is assumed to fall in the center of an interval of 5 symbols implying 4 of them interfere with it. This technique nullifies (forces to zero) the response due to the future 2 symbols and assumes that the previous 2 symbols have been decoded perfectly and thus their responses can be removed from the block of 5 outputs considered.

The model is r(n)=A[u-2 u-1 u0 u 1 u2][b(n-2) b(n-1) b(n) b(n+1) b(n+2)] T^ + w(n)

Where r(n) and w(n) are column vectors of length 5 and the ui s are the shifted responses due to one symbol and are each column vectors of length 5.

Thus we find the estimate best (n) = C (^) zff*r(n) + C (^) fb * [best (n-1) best (n-2)] T;

C (^) zf f and C (^) fb are vectors of length 5 and 2 respectively and can be found using the standard procedure described in the Handout 5 on equalization.

C (^) zf f= [ 0.018763 - 0.012509i 0.0046531 - 0.0042873i 0.17969 +1.9717e-005i -0.0059413 - 0.0039252i -0.018058 - 0.01185i] T/ and C (^) fb = [-0.2058 - 0.1383i -0.0598 - 0.0463i] T/ (Note that these values are such that scaling due to over sampling can change them. So different implementers can come up with scaled versions of these values)

case to be the matrix [u-2 u-1 u0 u 1 u2]. Thus by following the techniques to find C (^) zff and C (^) fb we can show that the variance of the noise modified by the feed forward filter is [-C (^) fb 1 0 0] * C (^) zff times the variance σ per dimension of the white gaussian noise added before the matched filter. In the implementation this turns out to have a value of 0.0093σ. To find the noise enhancement we find ‘a’ such that

1/(0.0093σ) = sqrt(a*E (^) zs/N 0 ) where E (^) zs is the energy in the samples coming out of the matched filter. (This is the energy in the autocorrelation of the matched filter, not the energy of the matched filter) and N 0 is 2σ^2.

By finding Ezs , ‘a’ can be found out to be found to be 0.2340. Compare this with the a = 2 for QPSK with no ISI. The noise enhancement can thus be found as 10*log 10 (2/2.340) = 9.3181 dB. If we see the graph above for ZF-DFE we can note that at a BER of 10 -5^ the difference in the corresponding E (^) b /N 0 is about 9.5 dB and is close to the theoretical value we found for the enhancement in noise.

MLSE curve:

When SNR is high we can say the worst case error or the slowest decreasing exponential dominates. The contribution to z(k) of different symbols is as

c(k)=h(0)b(k) + h(-1)b(k-1) + h(1)b(k+1) + h(-2)b(k-2) +h(2)*b(k+2).

We find the combination of symbols with b(k) being fixed such that c(k)/(h(0)*b(k)) is real and is the least such possible value. This is done by an exhaustive search over all possible combinations using a MATLAB program and can be shown to have a value of 0.7303 or - 1.365 dB. If we look at the MLSE graph we see that towards high SNR or low BER(10-4^ ) the difference between Eb /N 0 for the same value of BER is about 1.2 dB. This in fact increases more as we move towards lower BER and can be expected to be near the 1.365 dB we have found theoretically.

The 2 methods compared: