AWGN Channel
Add white Gaussian noise to input signal
 Library:
Communications Toolbox / Channels
Description
The AWGN Channel block adds white Gaussian noise to the input signal. It inherits the sample time from the input signal.
Ports
Input
In
— Input data signal
vector  matrix
Input data signal, specified as an N_{S}by1 vector or an N_{S}byN_{C} matrix.
N_{S} represents the number of samples in
the input signal. N_{C} represents the number
of channels, as determined by the number of columns in the input signal matrix. Both
N_{S} and
N_{C} can be equal to 1
.
The block adds frames of lengthN_{S} Gaussian noise to each of the N_{C} channels, using a distinct random distribution per channel.
Data Types: double
 single
Complex Number Support: Yes
Var
— Variance of additive white Gaussian noise
positive scalar  vector
Variance of additive white Gaussian noise, specified as a positive scalar or a 1byN_{C} vector. N_{C} represents the number of channels, as determined by the number of columns in the input signal matrix. For more information, see Specifying the Variance Directly or Indirectly.
Dependencies
To enable this port, set Mode to
Variance from port
.
Data Types: double
Output
Out
— Output data signal
vector  matrix
Output data signal for the AWGN channel, returned as a vector or matrix. The
datatype and dimensions of Out
match those of the input signal,
In.
Parameters
Initial seed
— Noise generator initial seed
67
(default)  positive scalar  vector
Noise generator initial seed, specified as a positive scalar or a 1byN_{C} vector.
This block uses the Random Source block to generate noise. Random numbers are generated using the Ziggurat method (V5 RANDN algorithm). The block reuses the same initial seeds every time you rerun the simulation, so that this block outputs the same signal each time you run a simulation.
When the input signal is complex, the block creates random data as:
randData
=randn
(2*N_{S},N_{C})noise
=randData
(1:2:end) + 1i(randData
(2:2:end))
You can specify different seed values for each DLL build.
Tunable: Yes
Mode
— Variance mode
Signal to noise ratio (Eb/No)
(default)  Signal to noise ratio (Es/No)
 Signal to noise ratio (SNR)
 Variance from mask
 Variance from port
Variance mode, specified as Signal to noise ratio
(Eb/No)
, Signal to noise ratio (Es/No)
,
Signal to noise ratio (SNR)
, Variance from
mask
, or Variance from port
. For more
information, see Relationship Among Eb/No, Es/No, and SNR Modes and Specifying the Variance Directly or Indirectly.
Eb/No (dB)
— Ratio of information bit energy per symbol to noise power spectral density
10
(default)  scalar  vector
Ratio of information bit energy per symbol to noise power spectral density in decibels, specified as a scalar or vector. The information bit energy is the magnitude without channel coding.
Tunable: Yes
Dependencies
To enable this parameter, set Mode to
Eb/No
.
Es/No (dB)
— Ratio of information symbol energy per symbol to noise power spectral density
10
(default)  scalar  vector
Ratio of information symbol energy per symbol to noise power spectral density in decibels, specified as a scalar or vector. The information bit energy is the magnitude without channel coding.
Tunable: Yes
Dependencies
To enable this parameter, set Mode to
Es/No
.
SNR (dB)
— Ratio of signal power to noise power
10
(default)  scalar  vector
Ratio of signal power to noise power in decibels, specified as a scalar or vector.
Tunable: Yes
Dependencies
To enable this parameter, set Mode to
SNR
.
Number of bits per symbol
— Number of bits in each input symbol
1 (default)  scalar  vector
Number of bits in each input symbol, specified as a scalar or vector.
Dependencies
To enable this parameter, set Mode to
Eb/No
.
Input signal power, referenced to 1 ohm (watts)
— Mean square power of input
1
(default)  scalar  vector
Mean square power of the input in watts, specified as a scalar or vector.
When Mode is
Eb/No
orEs/No
, the parameter is the mean square power of the input symbols.When
Mode
isSNR
, this parameter is the mean square power of the input samples.
Tunable: Yes
Dependencies
To enable this parameter, set Mode
to
Eb/No
, Es/No
, or
SNR
.
Symbol period (s)
— Duration of an information channel
1
(default)  positive scalar  vector
Duration of an information channel symbol in seconds, specified as a positive scalar or vector. The duration of the information channel is measured without channel coding.
Dependencies
To enable this parameter, set Mode to
Eb/No
or Es/No
.
Variance
— Variance of white Gaussian noise
1
(default)  scalar  vector
Variance of the white Gaussian noise, specified as a scalar or vector. For more information, see Specifying the Variance Directly or Indirectly.
Tunable: Yes
Dependencies
To enable this parameter, set Mode to
Variance from mask
.
Model Examples
Block Characteristics
Data Types 

Multidimensional Signals 

VariableSize Signals 

Tips
You can tune parameters in normal mode, accelerator mode, or rapid accelerator mode.
Unless otherwise indicated, parameters are nontunable.
For nontunable parameters, when you use the Simulink^{®} Coder™ rapid simulation (RSIM) target to build an RSIM executable, you cannot change their values without recompiling the model.
If a parameter is tunable, you can change its value at any time. This is useful for Monte Carlo simulations in which you run the simulation multiple times (such as on multiple computers) with different amounts of noise.
Algorithms
Relationship Among Eb/No, Es/No, and SNR Modes
For uncoded complex input signals, the AWGN Channel block relates E_{b}/N_{0, }E_{s}/N_{0}, and SNR according to these equations:
E_{s}/N_{0} = (T_{sym}/T_{samp}) · SNR
E_{s}/N_{0} = E_{b}/N_{0} + 10log_{10}(k) in dB
E_{s} represents the signal energy in joules.
E_{b} represents the bit energy in joules.
N_{0} represents the noise power spectral density in watts/Hz.
T_{sym} represents the Symbol period (s) parameter of the block in
Es/No
mode.k represents the number of information bits per input symbol, Number of bits per symbol.
T_{samp} represents the inherited sample time of the block, in seconds.
For real signal inputs, the AWGN Channel block relates E_{s}/N_{0 }and SNR according to this equation:
E_{s}/N_{0} = 0.5 (T_{sym}/T_{samp}) · SNR
Note
All values of power assume a nominal impedance of 1 ohm.
The equation for the real case differs from the corresponding equation for the complex case by a factor of 2. Specifically, the object uses a noise power spectral density of N_{0}/2 watts/Hz for real input signals, versus N_{0} watts/Hz for complex signals.
For more information, see AWGN Channel Noise Level.
Specifying the Variance Directly or Indirectly
To directly specify the variance of the noise generated by AWGN Channel, specify the Mode as:
Variance from mask
, where you specify the variance in the dialog box. The value must be positive.Variance from port
, where you provide the variance as an input to the block. The variance input must be positive, and its sampling rate must equal that of the input signal.
For Variance from mask
and Variance
from port
mode:
If the variance is a scalar, then all signal channels are uncorrelated but share the same variance.
If the variance is a vector whose length is the number of channels in the input signal, then each element represents the variance of the corresponding signal channel.
Note
If you apply complex input signals to the AWGN Channel block, then it adds complex zeromean Gaussian noise with the calculated or specified variance. The variance for each quadrature component of the complex noise is half of the calculated or specified value.
To specify the variance indirectly, that is, to have the block calculate the variance, specify the Mode as:
Signal to noise ratio (Eb/No)
, where the block calculates the variance from these quantities that you specify in the dialog box:Eb/No (dB), the ratio of bit energy to noise power spectral density
Input signal power, referenced to 1 ohm (watts), the actual power of the symbols at the input of the block
Signal to noise ratio (Es/No)
, where the block calculates the variance from these quantities that you specify in the dialog box:Es/No (dB), the ratio of signal energy to noise power spectral density
Input signal power, referenced to 1 ohm (watts), the actual power of the symbols at the input of the block
Signal to noise ratio (SNR)
, where the block calculates the variance from these quantities that you specify in the dialog box:SNR (dB), the ratio of signal power to noise power
Input signal power, referenced to 1 ohm (watts), the actual power of the samples at the input of the block
Changing the symbol period in the AWGN Channel block affects the variance of the noise added per sample, which also causes a change in the final error rate.
$$NoiseVariance=\frac{SignalPower\times SymbolPeriod}{SampleTime\times {10}^{\frac{Es/No}{10}}}$$
Tip
Select the symbol period equal to the symbol period of the model. The value depends on what constitutes a symbol and what the oversampling applied to it is. For example, a symbol could have 3 bits and be oversampled by 4. For more information, see AWGN Channel Noise Level.
References
[1] Proakis, John G. Digital Communications. 4th Ed. McGrawHill, 2001.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Version History
Introduced before R2006a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
 América Latina (Español)
 Canada (English)
 United States (English)
Europe
 Belgium (English)
 Denmark (English)
 Deutschland (Deutsch)
 España (Español)
 Finland (English)
 France (Français)
 Ireland (English)
 Italia (Italiano)
 Luxembourg (English)
 Netherlands (English)
 Norway (English)
 Österreich (Deutsch)
 Portugal (English)
 Sweden (English)
 Switzerland
 United Kingdom (English)