Main Content

modnorm

Scaling factor for normalizing modulation output

Description

example

normfactor = modnorm(refconst,type,power) returns a scale factor for normalizing a PAM or QAM modulator output using the specified reference constellation, normalization type, and output power.

Examples

collapse all

Generate a 16-QAM reference constellation.

refconst = qammod(0:15,16);

Generate random symbols and apply 16-QAM modulation.

x = randi([0 15],1000,1);
y = qammod(x,16);

Plot the constellation.

h = scatterplot(y);

Figure Scatter Plot contains an axes. The axes with title Scatter plot contains an object of type line. This object represents Channel 1.

Compute the normalization factor so that the output signal has a peak power of 1 W.

nf = modnorm(refconst,'peakpow',1);
z = nf*y;

Confirm that no element of the normalized signal has a power greater than 1 W.

max(z.*conj(z))
ans = 1.0000

Plot the scatter plot of the normalized constellation.

hold on
scatterplot(z,1,0,'r+',h)
hold off

Figure Scatter Plot contains an axes. The axes with title Scatter plot contains 2 objects of type line. This object represents Channel 1.

Input Arguments

collapse all

Reference constellation, specified as a vector of complex elements that comprise the reference constellation points.

Example: qammod(0:15,16)

Data Types: double
Complex Number Support: Yes

Normalization type, specified as either 'avpow' or 'peakpow'.

  • If type is 'avpow', the normalization factor is calculated based on average power.

  • If type is 'peakpow', the normalization factor is calculated based on peak power.

Data Types: char

Target power, specified as a real scalar. The target power is the intended power of the modulated signal multiplied by normfactor.

Data Types: double

Output Arguments

collapse all

Normalization factor, returned as a real scalar. When a modulated signal is multiplied by the normalization factor, its average or peak power matches the target power. The function assumes that the signal you want to normalize has a minimum distance of 2.

Introduced before R2006a