Add white Gaussian noise to signal
y = awgn(x,snr)
y = awgn(x,snr,sigpower)
y = awgn(x,snr,'measured')
y = awgn(x,snr,sigpower,s)
y = awgn(x,snr,'measured',state)
y = awgn(...,powertype
)
y = awgn(x,snr)
adds
white Gaussian noise to the vector signal x
. The
scalar snr
specifies the signal-to-noise ratio
per sample, in dB. If x
is complex, awgn
adds
complex noise. This syntax assumes that the power of x
is
0 dBW.
y = awgn(x,snr,sigpower)
is
the same as the syntax above, except that sigpower
is
the power of x
in dBW.
y = awgn(x,snr,'measured')
is
the same as y = awgn(x,snr)
, except that awgn
measures
the power of x
before adding noise.
y = awgn(x,snr,sigpower,s)
uses
s, which is a random stream handle, to generate random noise samples
with randn. If s is an integer, then resets the state of randn to
s. The latter usage is obsolete and may be removed in a future release.
If you want to generate repeateable noise samples, then provide the
handle of a random stream or use reset method on the default random
stream.
y = awgn(x,snr,'measured',state)
is
the same as y = awgn(x,snr,'measured')
, except
that awgn
first resets the state of normal random
number generator randn
to the
integer state
.
Note:
This usage is deprecated and may be removed in a future release.
Instead of |
y = awgn(...,
is
the same as the previous syntaxes, except that the string powertype
) powertype
specifies
the units of snr
and sigpower
.
Choices for powertype
are 'db'
and 'linear'
.
If powertype
is 'db'
,
then snr
is measured in dB and sigpower
is
measured in dBW. If powertype
is 'linear'
, snr
is
measured as a ratio and sigpower
is measured in
watts.
For the relationships between SNR and other measures of the relative power of the noise, see AWGN Channel Noise Level.