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,'
is
the same as measured
') 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,'
is
the same as measured
',state) y = awgn(x,snr,'
,
except that measured
')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.
The commands below add white Gaussian noise to a sawtooth signal. It then plots the original and noisy signals.
t = 0:.1:10; x = sawtooth(t); % Create sawtooth signal. y = awgn(x,10,'measured'); % Add white Gaussian noise. plot(t,x,t,y) % Plot both signals. legend('Original signal','Signal with AWGN');
The scattereyedemoscattereyedemo
also
illustrates the use of the awgn
function.