| Communications Toolbox | ![]() |
Scaling factor for normalizing modulation output
scale = modnorm(const, 'avpow',
avpow)
scale = modnorm(const, 'peakpow',
peakpow)
scale = modnorm(const, 'avpow', avpow) returns a scale factor for normalizing a PAM or QAM modulator output such that its average power is avpow (watts). const is a vector specifying the reference constellation used to generate the scale factor. The function assumes that the signal to be normalized has a minimum distance of 2.
scale = modnorm(const, 'peakpow', peakpow) returns a scale factor for normalizing a PAM or QAM modulator output such that its peak power is peakpow (watts).
The code below illustrates how to use modnorm to transmit a quadrature amplitude modulated signal having a peak power of 1 watt.
M = 16; % Alphabet size const = qammod([0:M-1],M); % Generate the constellation. x = randint(1,100,M); scale = modnorm(const,'peakpow',1); % Compute scale factor. y = scale * qammod(x,M); % Modulate and scale. ynoisy = awgn(y,10); % Transmit along noisy channel. ynoisy_unscaled = ynoisy/scale; % Unscale at receiver end. z = qamdemod(ynoisy_unscaled,M); % Demodulate. % See how scaling affects constellation. h = scatterplot(const,1,0,'ro'); % Unscaled constellation hold on; % Next plot will be in same figure window. scatterplot(const*scale,1,0,'bx',h); % Scaled constellation hold off;
In the plot below, the plotting symbol o marks points on the original QAM signal constellation, whereas the plotting symbol x marks points on the signal constellation as scaled by the output of the modnorm function. The channel in this example carries points from the scaled constellation.

Additional examples using modnorm are in Examples of Signal Constellation Plots.
pammod, pamdemod, qammod, qamdemod, Modulation
| mlseeq | mskdemod | ![]() |
© 1994-2005 The MathWorks, Inc.