Skip to Main Content Skip to Search
Product Documentation

Compute BER for a QAM System with AWGN and Phase Noise Using Simulink

Section Overview

This section describes a demo model of a communications system that comes with Communications System Toolbox software. The model displays a scatter plot of a signal with added noise. The purpose of this section is to familiarize you with the basics of Simulink models and how they function.

The section takes you through some key elements of working with this model.

Opening the Model

To open the model, first start MATLAB. In the MATLAB Command Window, enter commphasenoise at the prompt. This opens the model in a new window, as shown in the following figure.

Overview of the Model

The Simulink model shown in the preceding section, Opening the Model, simulates the effect of phase noise on quadrature amplitude modulation (QAM) of a signal. The Simulink model is a graphical representation of a mathematical model of a communication system that generates a random signal, modulates it using QAM, and adds noise to simulate a channel. The model also contains components for displaying the symbol error rate and a scatter plot of the modulated signal.

The blocks and lines in the Simulink model describe mathematical relationships among signals and states:

In addition, the following blocks in the model help you interpret the simulation:

All these blocks are included in Communications System Toolbox and Simulink applications. You can find more detailed information about these blocks by right-clicking the block and selecting Help from the context menu.

Quadrature Amplitude Modulation

This model simulates quadrature amplitude modulation (QAM), which is a method for converting a digital signal to a complex signal. The model modulates the signal onto a sequence of complex numbers that lie on a lattice of points in the complex plane, called the constellation of the signal. The constellation for baseband 256-ary QAM is shown in the following figure.

Constellation for 256-ary QAM

Run a Simulation

To run a simulation, select Simulation > Start from the top of the model window. The simulation stops automatically at the Stop time, which is specified in the Configuration Parameters dialog box. You can stop the simulation at any time by selecting Stop from the Simulation menu at the top of the model window (or, on Microsoft Windows, by clicking the Stop button on the toolbar).

When you run the model, a new window appears, displaying a scatter plot of the modulated signal with added noise, as shown in the following figure.

Scatter Plot of Signal Plus Noise

The points in the scatter plot do not lie exactly on the constellation shown in the figure Constellation for 256-ary QAM because of the added noise. The radial pattern of points is due to the addition of phase noise, which alters the angle of the complex modulated signal.

Display the Error Rate

The Display block displays the number of errors introduced by the channel noise. When you run the simulation, three small boxes appear in the block, as shown in the following figure, displaying the vector output from the Error Rate Calculation block.

Error Rate Display

The block displays the output as follows:

Set Block Parameters

You can control the way a Simulink block functions by setting its parameters. To view or change a block's parameters, double-click the block. This opens a dialog box, sometimes called the block's mask. For example, the dialog box for the Phase Noise block is shown in the following figure.

Dialog for the Phase Noise Block

To change the amount of phase noise, click in the Phase noise level (dBc/Hz) field and enter a new value. Then click OK.

Alternatively, you can enter a variable name, such as phasenoise, in the field. You can then set a value for that variable in the MATLAB Command Window, for example by entering phasenoise = -60. Setting parameters in the Command Window is convenient if you need to run multiple simulations with different parameter values.

You can also change the amount of noise in the AWGN Channel block. Double-click the block to open its dialog box, and change the value in the Es/No parameter field. This changes the signal to noise ratio, in dB. Decreasing the value of Es/No increases the noise level.

You can experiment with the model by changing these or other parameters and then running a simulation. For example,

This removes nearly all noise from the model. When you now run a simulation, the scatter plot appears as in the figure Constellation for 256-ary QAM.

Display a Phase Noise Plot

Double-click the block labeled "Display Figure" at the bottom left of the model window. This displays a plot showing the results of multiple simulations.

BER Plot at Different Noise Levels

Each curve is a plot of bit error rate as a function of signal to noise ratio for a fixed amount of phase noise.

You can create plots like this by running multiple simulations with different values for the Phase noise level (dBc/Hz) and Es/No parameters.

More Demos

You can find Communications System Toolbox demos in the MATLAB Help browser. For more information, see Demos in the Help Browser software by typing demo at the MATLAB command line.

  


Free Early Verification Kit

Learn how to apply early verification to your development process through these technical resources.

How much time do you spend on testing to ensure implementation meets system-level requirements?

 © 1984-2012- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS