This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

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

expand all

Input data signal, specified as an NS-by-1 vector or an NS-by-NC matrix.

NS represents the number of samples in the input signal. NC represents the number of channels, as determined by the number of columns in the input signal matrix. Both NS and NC can be equal to 1.

The block adds frames of length-NS Gaussian noise to each of the NC channels, using a distinct random distribution per channel.

Data Types: double | single
Complex Number Support: Yes

Variance of additive white Gaussian noise, specified as a positive scalar or a 1-by-NC vector. NC 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

expand all

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

expand all

Noise generator initial seed, specified as a positive scalar or a 1-by-NC 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*NS,NC) 
noise = randData(1:2:end) + 1i(randData(2:2:end))
NS is the number of samples and NC is the number of channels.

You can specify different seed values for each DLL build.

Tunable: Yes

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.

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.

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.

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 in each input symbol, specified as a scalar or vector.

Dependencies

To enable this parameter, set Mode to Eb/No.

Mean square power of the input in watts, specified as a scalar or vector.

  • When Mode is Eb/No or Es/No, the parameter is the mean square power of the input symbols.

  • When Mode is SNR, 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.

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

Block Characteristics

Data Types

double | single

Multidimensional Signals

no

Variable-Size Signals

no

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

expand all

References

[1] Proakis, John G. Digital Communications. 4th Ed. McGraw-Hill, 2001.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Introduced before R2006a