Main Content

PhaseNoiseConfiguration

Measure and display phase noise

Since R2025a

    Description

    Use the PhaseNoiseConfiguration object to measure and display phase noise with spectrum analyzer.

    Note

    Requires a valid Mixed-Signal Blockset™ license.

    You can measure the phase noise and plot it against the specified target phase noise profile from the spectrum analyzer toolstrip or from the command line. Both the spectrumAnalyzer object and the SpectrumAnalyzerBlockConfiguration object support the PhaseNoiseConfiguration object in the command line.

    To modify the phase noise measurement settings in the spectrum analyzer toolstrip, click the Measurements tab and edit the settings in the Phase Noise section.

    Snapshot showing phase noise measurements.

    Creation

    Description

    phasemeas = PhaseNoiseConfiguration() creates a phase noise measurements configuration object phasemeas. Use this configuration object with the spectrumAnalyzer and SpectrumAnalyzerBlockConfiguration objects.

    example

    Properties

    expand all

    All properties are tunable.

    Frequency offsets in Hz at which the scope measures the phase noise, specified as a numeric vector with monotonically increasing values.

    Tunable: Yes

    Scope Window Use

    Click the Measurements tab on the spectrum analyzer toolstrip. In the Phase Noise section, set Frequency Offsets (Hz) to a numeric vector.

    Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Option to plot the target phase noise profile, specified as true or false. When you set this property to true, the spectrum analyzer plots the target phase noise profile that you specify in the TargetPhaseNoise property.

    Tunable: Yes

    Scope Window Use

    Click the Measurements tab on the spectrum analyzer toolstrip. In the Phase Noise section, select Plot Target Phase Noise.

    Data Types: logical

    Target phase noise profile in dBc/Hz, specified as a numeric vector of the same length as the FrequencyOffset vector.

    Tunable: Yes

    Dependencies

    To enable this property, set PlotTargetPhaseNoise to true.

    Scope Window Use

    Click the Measurements tab on the spectrum analyzer toolstrip. In the Phase Noise section, set Target Phase Noise (dBc/Hz) to a numeric vector.

    Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Option to label the measured phase noise on the plot, specified as true or false. When you set this property to true, the spectrum analyzer labels the measured phase noise values on the plot as SN1, SN2, and so on.

    Tunable: Yes

    Scope Window Use

    Click the Measurements tab on the spectrum analyzer toolstrip. In the Phase Noise section, select Label Phase Noise.

    Data Types: logical

    Option to enable the phase noise measurements, specified as true or false. When you set this property to true, the spectrum analyzer measures and plots the phase noise.

    Tunable: Yes

    Scope Window Use

    Click the Measurements tab on the spectrum analyzer toolstrip. In the Phase Noise section, select Phase Noise.

    Data Types: logical

    Examples

    collapse all

    Measure the phase noise of a noisy sinusoidal signal using the PhaseNoise property of the spectrumAnalyzer object.

    Initialization

    Construct a spectrumAnalyzer object. Set the spectrum estimation method to "welch", averaging method to "exponential", forgetting factor to 0.9, RBW to 25000, and frequency offset to 2700 MHz.

    Fs = 40e6;
    rbw = 25e3;
    Offset = 2.7e9;
    sa = spectrumAnalyzer(SampleRate=Fs,...
        RBWSource="property",...
        RBW=rbw,...
        Method="welch",...
        AveragingMethod="exponential",...
        ForgettingFactor=0.9,...
        FrequencyOffset=Offset,...
        Window="hann",...
        ShowLegend=true,...
        YLimits=[-220 50]);

    Enable Measurements Data

    Enable the phase noise measurements and set the corresponding phase noise properties:

    • FrequencyOffset to [30000 100000 1000000 3000000 10000000 19000000].

    • TargetPhaseNoise to [-56 -106 -132 -143 -152 -160].

    • Label the phase noise.

    sa.PhaseNoise.Enabled=true;
    sa.PhaseNoise.FrequencyOffset=[30000 100000 1000000 3000000 10000000 19000000];
    sa.PhaseNoise.PlotTargetPhaseNoise=true;
    sa.PhaseNoise.TargetPhaseNoise=[-56 -106 -132 -143 -152 -160];
    sa.PhaseNoise.LabelPhaseNoise=true;

    Plot Phase Noise Measurements

    Stream in noisy sinusoidal signal with 2400 samples in each frame, and view its spectrum using the spectrum analyzer. The scope shows the phase noise of the signal in the phase noise axis and the corresponding measurements in the phase noise panel at the bottom. The scope plots the target phase noise profile in a red dashed line.

    Use the getMeasurementsData function to obtain the phase noise measurements programmatically. The values shown in the measurement panels match the values shown in data.

    data = [];
    frameSize = 2400;
    sw = dsp.SineWave(SampleRate=Fs,SamplesPerFrame=frameSize);
    for idx = 1:10
        noise = 1e-8.*randn(frameSize,1);
        sa(sw() + noise);
        if sa.isNewDataReady
            data = [data;getMeasurementsData(sa)];
        end
    end

    Version History

    Introduced in R2025a