Main Content

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

The 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

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.

  • The AMAM diagram, 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.

  • The AMPM diagram, 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.

  • The AMAM & AMPM diagram, 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.

Further Exploration

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

  • Update the testPA.m helper function to plot and analyze I-O characteristics at non default Memoryless Nonlinearity block settings.