



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
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
1 / 6
This page cannot be seen from the preview
Don't miss anything!




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: