Equalization in the Light of MATLAB Simulink _ Experts Vision

6
Equalization in the Light of MATLAB Simulink Posted on January 12, 2015 by eveati Equalization Equalization is, the technique, used to keep the balance between frequency components within an electronic signal, i.e. to minimizes ISI. For many physical channels, such as telephone lines, not only are they band limited, but they also introduce distortions in their passbands. These distortions are generally InterSymbol Interferences (ISI). Nyquist Condition: The condition at which there is no InterSymbol interferences (ISI). Equalizer: A device which is used to mitigate ISI, which are incurred by the signal when it is transmitted through some channel. It’s also used to improve the performance of the receiver. Different Types of Equalizers: There are different types of equalizers which are used on the basis of their functionality. Some of them are listed below: Linear Equalizers Adaptive Equalizers Blind Equalizers Decision Feedback Equalizers Turbo Equalizers Viterbi Equalizers What is Signal Constellations? A signal constellation is the physical diagram used to describe all the possible symbols used by a signaling system to transmit data and is an aid to designing better communications systems. Equalizing a Signal Using MATLAB: Equalizing a signal using Communications System Toolbox in MATLAB software involves these steps: Create an equalizer object that describes the equalizer class and the adaptive algorithm that you want to use. Experts Vision Engineering and Technology Innovations Follow Follow “Experts Vision” Get every new post delivered to your Inbox. Enter your email address Sign me up Build a website with WordPress.com

description

Articulo

Transcript of Equalization in the Light of MATLAB Simulink _ Experts Vision

Page 1: Equalization in the Light of MATLAB Simulink _ Experts Vision

6/5/2015 Equalization in the Light of MATLAB Simulink | Experts Vision

https://xpertsvision.wordpress.com/2015/01/12/equalizationinthelightofmatlabsimulink/ 1/6

Equalization in the Light of MATLAB SimulinkPosted on January 12, 2015 by eveati

EqualizationEqualization is, the technique, used to keep the balance between frequency components within an electronicsignal, i.e. to minimizes ISI.

For many physical channels, such as telephone lines, not only are they band limited, but they also introducedistortions in their passbands. These distortions are generally InterSymbol Interferences (ISI).

Nyquist Condition:

The condition at which there is no InterSymbol interferences (ISI).

Equalizer:A device which is used to mitigate ISI, which are incurred by the signal when it is transmitted through somechannel. It’s also used to improve the performance of the receiver.

Different Types of Equalizers:

There are different types of equalizers which are used on the basis of their functionality. Some of them are listedbelow:

Linear EqualizersAdaptive EqualizersBlind EqualizersDecision Feedback EqualizersTurbo EqualizersViterbi Equalizers

What is Signal Constellations?

A signal constellation is the physical diagram used to describe all the possible symbols used by a signaling systemto transmit data and is an aid to designing better communications systems.

Equalizing a Signal Using MATLAB:

Equalizing a signal using Communications System Toolbox in MATLAB software involves these steps:

Create an equalizer object that describes the equalizer class and the adaptive algorithm that you want to use.

Experts VisionEngineering and TechnologyInnovations

Follow

Follow “ExpertsVision”Get every new post deliveredto your Inbox.

Enter your email address

Sign me up

Build a website with WordPress.com

Page 2: Equalization in the Light of MATLAB Simulink _ Experts Vision

6/5/2015 Equalization in the Light of MATLAB Simulink | Experts Vision

https://xpertsvision.wordpress.com/2015/01/12/equalizationinthelightofmatlabsimulink/ 2/6

An equalizer object is a type of MATLAB variable that contains information about the equalizer, such as thename of the equalizer class, the name of the adaptive algorithm, and the values of the weights.Adjust properties of the equalizer object, if necessary, to tailor it to your needs. For example, you can changethe number of weights or the values of the weights.Apply the equalizer object to the signal you want to equalize, using the equalize method of the equalizer object.

Example“equ.m”:

% Set up parameters.M = 16; % Alphabet size for modulationsigconst = step(comm.RectangularQAMModulator(M),(0:M1)’);% Signal constellation for 16QAMchan = [1 0.45 0.3+0.2i]; % Channel coefficientshMod = comm.RectangularQAMModulator(M); % QAMModulator System object

% Set up equalizers.eqrls = lineareq(6, rls(0.99,0.1)); % Create an RLS equalizer object.eqrls.SigConst = sigconst'; % Set signal constellation.eqrls.ResetBeforeFiltering = 0; % Maintain continuity between iterations.eqlms = lineareq(6, lms(0.003)); % Create an LMS equalizer object.eqlms.SigConst = sigconst'; % Set signal constellation.eqlms.ResetBeforeFiltering = 0; % Maintain continuity between iterations.eq_current = eqrls; % Point to RLS for first iteration.% Main loopfor jj = 1:4msg = randi([0 M1],500,1); % Random messagemodmsg = step(hMod,msg); % Modulate using 16QAM.

% Set up training sequence for first iteration.if jj == 1ltr = 200; trainsig = modmsg(1:ltr);else% Use decisiondirected mode after first iteration.ltr = 0; trainsig = [];end

% Introduce channel distortion.filtmsg = filter(chan,1,modmsg);

% Equalize the received signal.s = equalize(eq_current,filtmsg,trainsig);

% Plot signals.h = scatterplot(filtmsg(ltr+1:end),1,0,’bx’); hold on;scatterplot(s(ltr+1:end),1,0,’g.’,h);scatterplot(sigconst,1,0,’k*’,h);legend(‘Received signal’,’Equalized signal’,’Signal constellation’);title([‘Iteration #’ num2str(jj) ‘ (‘ eq_current.AlgType ‘)’]);hold off;

Page 3: Equalization in the Light of MATLAB Simulink _ Experts Vision

6/5/2015 Equalization in the Light of MATLAB Simulink | Experts Vision

https://xpertsvision.wordpress.com/2015/01/12/equalizationinthelightofmatlabsimulink/ 3/6

% Switch from RLS to LMS after second iteration.if jj == 2eqlms.WeightInputs = eq_current.WeightInputs; % Copy final inputs.eqlms.Weights = eq_current.Weights; % Copy final weights.eq_current = eqlms; % Make eq_current point to eqlms.endend

The example above illustrates how to use equalize within a loop, varying the equalizer between iterations.

Explanation:

As stated above, the first step in equalization of a signal is “creating an equalizer object that describes theequalizer class and the adaptive algorithm that you want to use.”

Setting up parameters:

First of all, we’ll define the size for modulation, which in this case is:

1. M = 16; % Alphabet size for modulation

Now we’ll use System object, comm.RectangularQAMModulator, which modulates the signal using Maryquadrature amplitude modulation with a constellation on a rectangular lattice.

Modulating a signal using quadrature amplitude modulation has two steps:

Calling step to modulate the signal according to the properties of comm.RectangularQAMModulator.

1. sigconst = step(comm.RectangularQAMModulator(M),(0:M1)’); % Signal constellation for 16QAM· Define and set up your rectangular QAM modulator object.

2. hMod = comm.RectangularQAMModulator(M); % QAMModulator Systemobject

Set up equalizers:

Now we’ll create three equalizer objects:

An RLS equalizer object.

1. eqrls = lineareq(6, rls(0.99,0.1)); % Create an RLS . equalizer object.6. eqrls.SigConst = sigconst'; % Set signalconstellation.7. eqrls.ResetBeforeFiltering = 0; % Maintain continuity between iterations.

An LMS equalizer object.

1. eqlms = lineareq(6, lms(0.003)); % Create an LMS equalizer object.9. eqlms.SigConst = sigconst'; % Set signalconstellation.10. eqlms.ResetBeforeFiltering = 0; % Maintain continuity between iterations.

Here eqlms is an equalizer object that describes a linear LMS equalizer having six weights and a step size of 0.003.

A variable, eq_current, which points to the equalizer object to use in the current iteration of the loop. Initially, thispoints to the RLS equalizer object. After the second iteration of the loop, eq_current is redefined to point to the

Page 4: Equalization in the Light of MATLAB Simulink _ Experts Vision

6/5/2015 Equalization in the Light of MATLAB Simulink | Experts Vision

https://xpertsvision.wordpress.com/2015/01/12/equalizationinthelightofmatlabsimulink/ 4/6

LMS equalizer object.

1. eq_current = eqrls; % Point to RLS for first iteration.

Simulating the System Using a Loop:

The next portion of the example is a loop that Generates a signal to transmit and selects a portion to use as atraining sequence in the first iteration of the loop:

% Main loop

12. for jj = 1:4

13 msg = randi([0 M1],500,1); % Random message

14 modmsg = step(hMod,msg); % Modulate using 16QAM.

% Set up training sequence for first iteration.

15 if jj == 1

ltr = 200; trainsig = modmsg(1:ltr);

16 else

% Use decisiondirected mode after first iteration.

17 ltr = 0; trainsig = [];

18 end

Introduces channel distortion

% Introduce channel distortion.

19. filtmsg = filter(chan,1,modmsg)

Equalizes the distorted signal using the chosen equalizer for this iteration, retaining the final state and weights forlater use

% Equalize the received signal.

20. s = equalize(eq_current,filtmsg,trainsig);

Plots the distorted and equalized signals, for comparison

% Plot signals.

21. h = scatterplot(filtmsg(ltr+1:end),1,0,’bx’); hold on;22. scatterplot(s(ltr+1:end),1,0,’g.’,h);23. scatterplot(sigconst,1,0,’k*’,h);24. legend(‘Received signal’,’Equalized signal’,’Signal constellation’);25. title([‘Iteration #’ num2str(jj) ‘ (‘ eq_current.AlgType ‘)’]);

Page 5: Equalization in the Light of MATLAB Simulink _ Experts Vision

6/5/2015 Equalization in the Light of MATLAB Simulink | Experts Vision

https://xpertsvision.wordpress.com/2015/01/12/equalizationinthelightofmatlabsimulink/ 5/6

26. hold off;

Switches to an LMS equalizer between the second and third iterations

% Switch from RLS to LMS after second iteration.

27. if jj == 228. eqlms.WeightInputs = eq_current.WeightInputs; % Copy final inputs.29. eqlms.Weights = eq_current.Weights; % Copy final weights.30. eq_current = eqlms; % Make eq_current point to eqlms.

end

end % Main Loop Ended

Results:

The example produces one scatter plot for each iteration, indicating the iteration number and the adaptivealgorithm in the title. The plot is below:

About these ads

Page 6: Equalization in the Light of MATLAB Simulink _ Experts Vision

6/5/2015 Equalization in the Light of MATLAB Simulink | Experts Vision

https://xpertsvision.wordpress.com/2015/01/12/equalizationinthelightofmatlabsimulink/ 6/6

About eveatiWe are a group of Professionals.View all posts by eveati →

Share this:

Twitter Facebook 111 Google LinkedIn Tumblr Pinterest

This entry was posted in Digital Communication, MATLAB and tagged adaptive, algorithum, communication, constellation, digital, eqlms, eqrls, equalization, MATLAB,modulation, modulator, Nyquist, signal. Bookmark the permalink.

Experts Vision

Like

Be the first to like this.

Related

What's a Digital Communication System?In "Digital Communication"

Motors and Generators | A Comparison in theLight of MATLAB SimPowerSystems

Solve equation by Newton's method usingMatlab

The Twenty Ten Theme. Blog at WordPress.com.