## Documentation Center |

The AWGN Channel block adds white Gaussian noise to a real or complex input signal. When the input signal is real, this block adds real Gaussian noise and produces a real output signal. When the input signal is complex, this block adds complex Gaussian noise and produces a complex output signal. This block inherits its sample time from the input signal.

This block accepts a scalar-valued, vector, or matrix input
signal with a data type of type `single` or `double`.
The output signal inherits port data types from the signals that drive
the block.

This block can process multichannel signals. When you set the **Input
Processing** parameter to `Columns as channels
(frame based)`, the block accepts an *M*-by-*N* input
signal. *M* specifies the number of samples per channel
and *N* specifies the number of channels. Both *M* and *N* can
be equal to `1`. The block adds frames of length-*M* Gaussian
noise to each of the *N* channels, using a distinct
random distribution per channel.

You can specify the variance of the noise generated by the AWGN Channel block using one of these modes:

`Signal to noise ratio (Eb/No)`, where the block calculates the variance from these quantities that you specify in the dialog box:**Eb/No**, the ratio of bit energy to noise power spectral density**Number of bits per symbol****Input signal power**, the actual power of the symbols at the input of the block**Symbol period**

`Signal to noise ratio (Es/No)`, where the block calculates the variance from these quantities that you specify in the dialog box:**Es/No**, the ratio of signal energy to noise power spectral density**Input signal power**, the actual power of the symbols at the input of the block**Symbol period**

`Signal to noise ratio (SNR)`, where the block calculates the variance from these quantities that you specify in the dialog box:**SNR**, the ratio of signal power to noise power**Input signal power**, the actual power of the samples at the input of the block

`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.

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.

A good rule of thumb for selecting the **Symbol period** value
is to set it to be what you model as the symbol period in the model.
The value would depend upon what constitutes a symbol and what the
oversampling applied to it is (e.g., a symbol could have 3 bits and
be oversampled by 4).

In both `Variance from mask` mode and `Variance
from port` mode, these rules describe how the block interprets
the variance:

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.

For uncoded complex input signals, the AWGN Channel block relates
E_{b}/N_{0, }E_{s}/N_{0},
and SNR according to the following equations:

E_{s}/N_{0} =
(T_{sym}/T_{samp}) ·
SNR

E_{s}/N_{0} =
E_{b}/N_{0} + 10log_{10}(k) in dB

where

E

_{s}= Signal energy (Joules)E

_{b}= Bit energy (Joules)N

_{0}= Noise power spectral density (Watts/Hz)T

_{sym}**Symbol period**parameter of the block in`Es/No`modek is the number of information bits per input symbol

T

_{samp}is 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 the following equation:

E_{s}/N_{0} =
0.5 (T_{sym}/T_{samp}) ·
SNR

Note that the equation for the real case differs from the corresponding
equation for the complex case by a factor of 2. This is so because
the block 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 about these quantities, see AWGN Channel Noise Level in the Communications System Toolbox™ documentation.

The following table indicates which parameters are tunable, for different block modes.

Mode | Tunable Parameters |
---|---|

Eb/No | Eb/No, Input signal power |

Es/No | Es/No, Input signal power |

SNR | SNR, Input signal power |

Variance from mask | Variance |

You can tune parameters in normal mode, Accelerator mode and the Rapid Accelerator mode.

If you use the Simulink^{®} Coder™ rapid simulation (RSIM) target
to build an RSIM executable, then you can tune the parameters listed
in the previous table without recompiling the model. This is useful
for Monte Carlo simulations in which you run the simulation multiple
times (perhaps on multiple computers) with different amounts of noise.

**Input processing**Specify how the block processes the input signal. You can set this parameter to one of the following options:

`Columns as channels (frame based)`— When you select this option, the block treats each column of the input as a separate channel.

**Note:**The`Inherited (this choice will be removed - see release notes)`option will be removed in a future release. See Frame-Based Processing in the*Communications System Toolbox Release Notes*for more information.**Initial seed**The seed for the Gaussian noise generator.

This block uses the DSP System Toolbox™ Random Source block to generate noise. Random numbers are generated using the Ziggurat method. The

**Initial seed**parameter in this block initializes the noise generator.**Initial seed**can be either a scalar or a vector with a length that matches the number of channels in the input signal. Each time you run a simulation, this block outputs the same signal. The first time you run the simulation, the block randomly selects an initial seed. The block reuses the same initial seeds every time you rerun the simulation.This property is a tunable and allows you to specify different seed values for each DLL build.

**Mode**The mode by which you specify the noise variance:

`Signal to noise ratio (Eb/No)`,`Signal to noise ratio (Es/No)`,`Signal to noise ratio (SNR)`,`Variance from mask`, or`Variance from port`.**Eb/No (dB)**The ratio of information (i.e., without channel coding) bit energy per symbol to noise power spectral density, in decibels. This field appears only if

**Mode**is set to`Eb/No`.**Es/No (dB)**The ratio of information (i.e., without channel coding) symbol energy per symbol to noise power spectral density, in decibels. This field appears only if

**Mode**is set to`Es/No`.**SNR (dB)**The ratio of signal power to noise power, in decibels. This field appears only if

**Mode**is set to`SNR`.**Number of bits per symbol**The number of bits in each input symbol. This field appears only if

**Mode**is set to`Eb/No`.**Input signal power, referenced to 1 ohm (watts)**The mean square power of the input symbols (if

**Mode**is`Eb/No`or`Es/No`) or input samples (if**Mode**is`SNR`), in watts. This field appears only if**Mode**is set to`Eb/No`,`Es/No`, or`SNR`.**Symbol period (s)**The duration of an information channel (i.e., without channel coding) symbol, in seconds. This field appears only if

**Mode**is set to`Eb/No`or`Es/No`.**Variance**The variance of the white Gaussian noise. This field appears only if

**Mode**is set to`Variance from mask`.

Many documentation examples use this block, including:

Was this topic helpful?