This model shows the effect of a receiver's phase noise on 256-ary quadrature amplitude modulation (QAM). A QAM modulation scheme with a large number of constellation points is relatively sensitive to phase noise.
This example uses various Communications System Toolbox™ blocks to model a QAM transceiver with phase noise.
The model contains the following blocks:
A source of integers between 0 and 255
A baseband 256-QAM modulator
An additive white Gaussian noise (AWGN) channel
A source of phase noise
A baseband 256-QAM demodulator
An error statistic calculator
A display icon that shows the error statistics while the simulation runs
A scatter plot that shows the received signal, including the phase noise
Phase Noise Block. The Phase Noise block shifts the phase of the received signal by a random amount. You can adjust the variance of the random phase shift by adjusting the Phase noise level parameter in the Phase Noise block's mask.
The example includes these visual ways to understand its performance:
A display icon that shows the running error statistics for the system. These statistics are the error rate, the number of errors detected, and the total number of symbols compared.
A scatter plot that shows the received signal, including both the white Gaussian noise and the phase noise. Near each constellation point is a cluster of points. Near constellation points that are far from zero, the cluster is close to an arc. The arc shape is an effect of phase noise.
A figure that shows bit error rates for this system with various levels of phase noise. To see the figure, double-click the Display Figure icon in the model. Each curve in the plot shows the bit error rate as a function of Eb/No in the AWGN channel, for a fixed amount of phase noise.
To create plots like this yourself, you can run the simulation multiple times, varying the parameters and recording the numerical results. An efficient way to do this is to replace key parameters in the model with variables, insert a To Workspace block for recording error statistics, and then to run the simulation using a loop in a MATLAB script. For more information about this technique, see the sim function, and the Exploring the Example section of the Gray Coded 8-PSK example.