0% found this document useful (0 votes)
43 views10 pages

A9 Exp 7

The document describes an experiment to design and test zero-forcing (ZF) and minimum mean square error (MMSE) equalizers for a multi-path channel. Binary phase shift keying (BPSK) signals were sent through an AWGN channel with impulse response and received signals were equalized. Bit error rate (BER) was calculated for varying signal-to-noise ratios (SNR) and showed a steep drop for higher SNR, indicating better performance. The channel introduced inter-symbol interference reduced by equalizers inverting the channel response.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views10 pages

A9 Exp 7

The document describes an experiment to design and test zero-forcing (ZF) and minimum mean square error (MMSE) equalizers for a multi-path channel. Binary phase shift keying (BPSK) signals were sent through an AWGN channel with impulse response and received signals were equalized. Bit error rate (BER) was calculated for varying signal-to-noise ratios (SNR) and showed a steep drop for higher SNR, indicating better performance. The channel introduced inter-symbol interference reduced by equalizers inverting the channel response.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Experiment - 7

Group: A9
04-11-2022

Group Members Roll No. Email ID

Chanda Vamshi B191231EC [email protected]


Vardhan

Chandra Sekhar Kanuru B190470EC [email protected]

Claret Thanikkal B191031EC [email protected]

Dadireddy Jahnavi B190181EC [email protected]

David Joy B190825EC [email protected]

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).

Fig 2: Transmitter-Receiver chain with channel and AWGN source

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

Zero Forcing Equaliser refers to a linear equalization algorithm used in communication


systems that applies the inverse of the channel’s frequency response. The cascade of the
discrete-time linear filter model having an impulse response (fn) and an equalizer having an
impulse response (Cn) can be represented by a single
equivalent filter having the impulse response:

𝑞𝑛 = ∑ 𝑐𝑗𝑓𝑛−𝑗
𝑗=−∞

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:

By taking Z-transform, we obtain


𝑄(𝑧) = 𝐶(𝑧)𝐹(𝑧) = 1
Thus,
𝐶(𝑧) = 1/𝐹(𝑧)

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

generates random binary input of fixed size


compute the bpsk of the generated input
plot input and bpsk of input
define channel with impulse response
convolute bpsk and channel impulse response for channel output
add awgn noise to the channel output with desired snr value

define the H matrix


define dirac filter with impulse response
compute the equalizer impulse response as product of inverse of H matrix and transposed
dirac filter matrix

compute the transpose of the equalizer matrix


convolute the channel output with equalizer to generate output signal of ZF equalizer
plot the scatterplot of channel output
plot scatterplot of equalizer output
convolute the channel impulse response and equalizer impulse response and plot the
output to visualize delay

loop from 1 to desired snr value varying snr


convolute bpsk and channel impulse response for channel output
add awgn noise to the channel output with snr value
convolute the channel output with equalizer matrix to generate output signal of ZF
equalizer
compute the output
compute number of errors in input and output of equalizer
compute ber = sum of error bits /length (error matrix)
end loop
plot semilog plot of ber vs snr
d) Results with explanation:

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;

%Binary data and BPSK modulation

num_data = 100000;

input = randi([0,1],1,num_data);
bpsk = pskmod(input,2);

% disp(input);

% disp(bpsk);

%channel output and noise

ch = [0.3 0.9 0.3];

ch_out = conv(ch,bpsk);

ch_outnoise = awgn(ch_out,20,'measured');

%equalizer and equilizer output

H = [0.9 0.3 0;0.3 0.9 0.3;0 0.3 0.9];

dirac = [0 1 0];

equ = inv(H)*dirac';

equ = equ';

equ_output = conv(ch_outnoise,equ);

scatterplot(ch_outnoise);

title('Channel output without equalizer');

scatterplot(equ_output);

title('Channel output with equalizer');

y = conv(ch,equ);

figure(3);

stem(y);

title('Delay caused by the channel and equalizer');

i = 1;

c =[];

for snr = 1:2:50

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);

title('BER vs SNR curve');

You might also like