Add Saleh Model of Memoryless Nonlinearity to 16-QAM Signal
This model applies the Saleh Model of the memoryless nonlinearity to a 16-QAM modulated signal. To demonstrate and visualize the memoryless impairment levels applied in this model are exaggerated and not representative of typical levels for modern radios.
A signal containing a one complete set of constellation points is 16-QAM modulated and passed to
Memoryless Nonlinearity blocks configured to apply the Saleh model with the default AM/AM & AM/PM distortion settings, AM/AM distortion alone, and AM/PM distortion alone. To analyze the constellation, the model includes Constellation Diagram blocks after each
Memoryless Nonlinearity block.
Open Example Model and Explore Its Contents
testPA.m helper function plots the amplifier transfer curve for the Saleh model in its default configuration. Notice the nonlinear nature of the input-to-output signal. Constellation points, plotted after amplification, get displaced according to the input-to-output characteristics of the amplifier model. The voltage for each constellation point determines the direction and magnitude of distortion for each given constellation point.
memNonlin = comm.MemorylessNonlinearity with properties: Method: 'Saleh model' InputScaling: 0 AMAMParameters: [2.1587 1.1517] AMPMParameters: [4.0033 9.1040] OutputScaling: 0 ReferenceImpedance: 1
This scatterplot shows the constellation points displaced by AM/AM distortion only. The constellation point locations are labeled to highlight the relative distance each point has moved from the ideal constellation point location. To analyze the magnitude and direction each constellation point moved, the Saleh model I-O characteristic curve would need to be replotted for the current operating characteristics.
This set of constellation diagrams show the constellation distortion for the amplifier configured to distort the amplitude and phase individually and together.
AMAMdiagram, shows the signal with amplitude-to-amplitude distortion but no amplitude-to-phase distortion. In this diagram notice the constellation points are displaced radially away from or toward the origin. For the Saleh model and specified operating characteristics, the inner corner constellation points move away from the origin and the outer corner constellation points move toward the origin. The noncorner constellation points move a negligible amount.
AMPMdiagram, shows the signal with amplitude-to-phase distortion but no amplitude-to-amplitude distortion. In this diagram notice the constellation points are rotated counter-clockwise. Constellation points farther from the origin are displaced more than points closer to the origin.
AMAM & AMPMdiagram, shows the signal with amplitude-to-amplitude distortion and amplitude-to-phase distortion. In this diagram notice the constellation points are displaced away from or toward the origin and rotated counter-clockwise.
To run the model yourself, open the example using the button provided or by entering
open cm_mnl_saleh_16qam at the MATLAB® command prompt. Try adjusting settings for the
Memoryless Nonlinearity blocks to:
Apply different impairment model methods
Apply different levels of impairments
testPA.mhelper function to plot and analyze I-O characteristics at non default
Memoryless Nonlinearityblock settings.