This is machine translation

Translated by Microsoft
Mouse over text to see original. Click the button below to return to the English verison of the page.


Scaling factor for normalizing modulation output


  • normfactor = modnorm(refconst,type,power)



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.


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);

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.

ans =


Plot the scatter plot of the normalized constellation.

hold on
hold off

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 | single
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 | single

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.

Data Types: double | single

See Also

| | |

Introduced before R2006a

Was this topic helpful?