A9 Exp 7
A9 Exp 7
Group: A9
04-11-2022
a) Objective:
1. Design a zero-forcing (ZF) and a minimum mean square error (MMSE) equalizer based
on a given channel impulse response.
2. Generate a binary phase shift keying (BPSK) signal and send it through a multi-path
channel model characterized by an impulse response given in Fig. 1. The resulting signal is
corrupted by an additive white Gaussian noise (AWGN) source. Equalize the received signal
using ZF and MMSE equalizers and determine bit error rate (BER) performance for each
scenario (Refer Fig. 2).
Fig. 1: Multi-path channel impulse response
3. Plot BER performance curves for scenarios with ZF and MMSE equalizers for varying
signal-to-noise ratio (SNR).
b) Theoretical Background:
Equaliser
Many practical channels are bandlimited and linearly distort the transmit signal. In this case,
the resulting ISI channel has to be equalized for reliable detection. The ISI is imposed on the
transmitted signal due to the band-limiting effect of the practical channel and the channel’s
multipath effects (echo). One of the most commonly used techniques to counter channel
distortion (ISI) is linear channel equalization. The equalizer is a linear filter that provides an
approximate inverse of the channel response. Since it is common for the channel
characteristics to be unknown or to change over time, the preferred embodiment of the
equalizer is a structure that is adaptive in nature. In digital communications, the purpose of
the equalizer is to reduce intersymbol interference to allow the recovery of the transmitted
symbols.
Zero-forcing Equaliser
That is, the convolution of fn and cn. The equalizer is assumed to have an infinite number of
taps. Its output at the kth sampling instant can be expressed in the form:
∞
𝐼 𝑘 = 𝑞𝑜𝑘 + ∑ 𝐼𝑛𝑞𝑛−𝑘 + ∑ 𝑐𝑗𝑛𝑘−𝑗
𝑛≠𝑘 𝑗=−∞
The first term in the equation represents a scaled version of the desired symbol. The second
term is intersymbol interference. With an equalizer having an infinite number of taps, it is
possible to select tap weights so that qn = 0 for all values of n except n = 0 thus ISI can be
completely eliminated. The values of tap weights for accomplishing this goal are determined
from the condition:
In reality, zero-forcing equalization does not work in some applications, for the following
reasons:
Even though the channel impulse response has a finite length, the impulse response of the
equalizer needs to be infinitely long.
At some frequencies, the received signal may be weak. To compensate, the magnitude of
the zero-forcing filter (”gain”) grows very large. As a consequence, any noise added after the
channel gets boosted by a large factor and destroys the overall signal-to-noise ratio.
Furthermore, the channel may have zeroes in its frequency response that cannot be
inverted.
These problems are addressed in the linear MMSE equalizer.
MMSE Equaliser
To minimize the intersymbol interference and additive noise effects, the equalizer
coefficients can be optimized using the minimum mean squared error (MMSE) criterion.
ϵ𝑘 = 𝐼𝑘 − 𝐼 𝑘
where Ik is the information symbol transmitted in the k signaling interval and Ik is the
estimate of the symbol at the output of the equalizer. When the SNR has elevated values the
MMSE equalizer works as Zero Forcing does, but when the SNR has lower values, the fact
that the MMSE equalizer takes into
account the noise and signal variance makes it not amplify the noise as Zero Forcing does.
Therefore, the transfer function of the equalizer based on the MSE criterion is
* −1
𝐹 (𝑧 )
𝐶(𝑧) = * −1
𝐹(𝑧)𝐹 (𝑧 ) + 𝑁𝑜
c) Pseudocode:
clear cache
clear screen
The above plot shows the constellation diagram of the channel output for the input
sequence. Theoretically, for the BPSK modulation, all the values should concentrate around
-1 and 1. But we can observe that the values are spread over the range -1.5 to 1.5. This is
due to the ISI (Inter Symbol Interference) caused in the channel.
The above plot shows the constellation diagram of the channel output passing through an
equalizer. We can observe that for the given SNR most of the values are concentrated
around -1 and +1. This is due to the use of an equalizer having a frequency response
inversely related to channel response. This will reduce the ISI.
The above plot shows the computation of the delay caused by the use of the channel and
the equalizer. We can observe that there is a peak at ‘3’ which shows that the delay
introduced is 3 units.
The above plot shows the BER vs SNR curve plotted for different SNRs. We can observe that
there is a steep fall in the BER for higher SNR which follows from the theoretical behavior.
e) Conclusion:
● We can conclude that the input is modulated using BPSK and passed through a
channel that has the impulse response as given.
● We can also conclude that the channel introduces ISI to the output which can be
reduced with the use of an equalizer having a frequency response inversely related
to that of the channel response.
● We can also conclude that with an increase in SNR, BER can be reduced.
f) Appendix:
Code:
clc;
close all;
clear all;
num_data = 100000;
input = randi([0,1],1,num_data);
bpsk = pskmod(input,2);
% disp(input);
% disp(bpsk);
ch_out = conv(ch,bpsk);
ch_outnoise = awgn(ch_out,20,'measured');
dirac = [0 1 0];
equ = inv(H)*dirac';
equ = equ';
equ_output = conv(ch_outnoise,equ);
scatterplot(ch_outnoise);
scatterplot(equ_output);
y = conv(ch,equ);
figure(3);
stem(y);
i = 1;
c =[];
ch_out = conv(ch,bpsk);
ch_outnoise = awgn(ch_out,snr,'measured');
equ_output = conv(ch_outnoise,equ);
out = pskdemod(equ_output(3:num_data+2),2);
% out = equ_output<0;
error = (out~=input);
ber(i) = sum(error)/length(error);
i = i+1;
c = [c,snr];
end
figure(4);
semilogy(c,ber);