- DSP log - http://www.dsplog.com -

BER for BPSK in ISI channel with MMSE equalization

Posted By Krishna Sankar On January 24, 2010 @ 11:34 am In Channel | 65 Comments

In the past, we had discussed BER for BPSK in flat fading Rayleigh channel [1] and BER for BPSK in a frequency selective channel using Zero Forcing Equalization [2]. In this post, lets discuss a frequency selective channel with the use of Minimum Mean Square Error (MMSE) equalization to compensate for the inter symbol interference (ISI). For simplifying the discussion, we will assume that there is no pulse shaping at the transmitter. The ISI channel is assumed to be a fixed 3 tap channel.

## Transmit symbol

Let the transmit symbols be modeled as

$s(t) = \sum_{n=-\infty}^{\infty}a_ng(t-mT)$, where

$T$ is the symbol period,

$a_n$ is the symbol to transmit,

$g(t)$ is the transmit filter,

$n$ is the symbol index and

$s(t)$is the output waveform.

For simplicity, lets assume that the transmit pulse shaping filter is not present, i.e $g(t)=\delta(t)$.

So the transmit symbols can be modeled by the discrete time equivalent

$s[k]=a_n$

Figure: Transmit symbols

## Channel Model

Lets us assume the channel to be a 3 tap multipath channel with spacing $T$ i.e.

$h[k]=\left[\begin{array}h_1 & h_2 & h_3 \end{array}\right]$

[3]

Figure: Channel model (3 tap multipath)

In addition to the multipath channel, the received signal gets corrupted by noise $n$, typically referred to as Additive White Gaussian Noise (AWGN). The values of the noise $n$ follows the Gaussian probability distribution function, $p(x) = \frac{1}{\sqrt{2\pi\sigma^2}}e^{\frac{-(x-\mu)^2}{2\sigma^2}$ with

mean $\mu=0$ and

variance $\sigma^2 = \frac{N_0}{2}$.

The received signal is

$y[k]=s[k] \otimes h[k] + n$, where

$\otimes$ is the convolution operator.

## MMSE Equalization

In Minimum Mean Square Error solution, for each sample time $k$ we would want to find a set of coefficients $c[k]$ which minimizes the error between the desired signal $s[k]$ and the equalized signal $c[k]\otimes y[k]$, i.e.

$\begin{array}{lll}E\left(e[k]\right)^2 & = & E\left(s[k]-c[k]\otimes y[k] \right)^2\\ & = & E(s[k]-c^Ty)(s[k]-c^Ty)^T\\ & = &E(s[k])^2-E(c^Tys[k]) -E(s[k]y^Tc)+E(c^Tyy^Tc)\\ & = & E(s[k])^2-c^TR_{ys} -R_{sy}c+c^TR_{yy}c\end{array}$,

where,

$e[k]$ is the error at sample time $k$,

$c$ is column vector of dimension $[K\mbox{ x }1]$ storing the equalization coefficients,

$y$ is column vector of dimension $[K\mbox{ x }1]$ storing the received samples,

$K$ is the number of taps in the equalizer,

$R_{ys}=E(ys[k])$ is the cross correlation between received sequence and input sequence ,

$R_{sy}=E(s[k]y^T)$ is the cross correlation between received sequence and input sequence and

$R_{yy}=E(yy^T)$ is the auto-correlation of the received sequence.

For solving the Minimum Mean Square Error (MMSE) criterion, we need to find a set of coefficients $c$ which minimizes $E(e[k])^2$.

Differentiation with respect to $c$ and equating to 0,

$\begin{array}{rrl}\frac{\partial}{\partial c} \left[E(s[k])^2-c^TR_{ys} -R_{sy}c+c^TR_{yy}c\right]&=& 0\\ -R_{sy}+R_{yy}c&= & 0\\c & = &R^{-1}_{yy} R_{sy}\end{array}$.

Simplifying,

$\begin{array}{lll}R_{sy}&=&E(s[k]y^T)\\&=&E(s[k](hs[k]+n)^T)\\&=&h^TE(s^2[k])+E(s[k]n)\\ & = & h\end{array}$,

$\begin{array}{lll}R_{yy}&=&E(yy^T)\\&=&E((hs[k]+n)(hs[k]+n)^T)\\&=&E(hh^T)E(s^2[k])+hE(s[k]n)+E(n[k]s[k])h^T+E(n^2)\\ & = & E(hh^T) + E(n^2) \end{array}$

Note :

a) $E(s^2[k])=1$ is the variance of the input signal

b)$E(s[k]n[k])=0$ (as there is no correlation between input signal and noise)

## Simulation Model

Click here to download: Matlab/Octave script for computing BER for BPSK with 3 tap ISI channel with MMSE Equalization [4]

The attached Matlab/Octave simulation script performs the following:

(a) Generation of random binary sequence

(b) BPSK modulation i.e bit 0 represented as -1 and bit 1 represented as +1

(c) Convolving the symbols with a 3-tap fixed fading channel.

(d) Adding White Gaussian Noise

(e) Computing the MMSE and ZF equalization filter at the receiver (with 7 taps in length)

(f) Demodulation and conversion to bits

(g) Counting the number of bit errors

(h) Repeating for multiple values of Eb/No

The simulation results are as shown in the plot below.

Figure: BER plot for BPSK in a 3 tap ISI channel with MMSE equalizer

Observations

1. Can see around 0.5dB gain with using MMSE equalizer

## Reference

Article printed from DSP log: http://www.dsplog.com

URL to article: http://www.dsplog.com/2010/01/24/ber-bpsk-isi-channel-mmse-equalization/

URLs in this post:

[1] BER for BPSK in flat fading Rayleigh channel: http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/

[2] BER for BPSK in a frequency selective channel using Zero Forcing Equalization: http://www.dsplog.com/2009/11/29/ber-bpsk-isi-channel-zero-forcing-equalization/

[3] Image: http://www.dsplog.com/db-install/wp-content/uploads/2009/11/mutipath_channel.png

[4] Matlab/Octave script for computing BER for BPSK with 3 tap ISI channel with MMSE Equalization: http://www.dsplog.com/db-install/wp-content/uploads/2010/01/script_ber_bpsk_isi_mmse_equalization.m

[5] Complex to Real : : http://www.complextoreal.com/chapters/filters.pdf

[6] click here to SUBSCRIBE : http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1348583&loc=en_US

Copyright © 2007-2012 dspLog.com. All rights reserved. This article may not be reused in any fashion without written permission from http://www.dspLog.com.