Engee documentation

AWGN Channel

Adds white Gaussian noise to the input signal.

blockType: AWGN

Path in the library:

/Communication Systems/Channels/AWGN Channel

Description

The AWGN Channel block adds white Gaussian noise to the input signal. It inherits the sampling period from the input signal.

Ports

Output

# Out — output signal
vector | matrix

Details

Output data signal for the AWGN channel block, returned as a vector or matrix. The data type and dimensions of Out correspond to the data type and dimensions from the input signal In.

Data types

Float64, ComplexF64.

Complex numbers support

Yes

Input

# In — input signal
vector | matrix

Details

Input data signal as a vector by 1 or a matrix by , where is the number of samples in the input signal, is the number of channels determined by the number of columns in the input signal matrix. The values of and can be equal to 1.

The block adds frames of Gaussian noise of length to each of channels, using a separate random allocation to the channels.

Data types

Float64, ComplexF64.

Complex numbers support

Yes

# Var — variance of additive white Gaussian noise
scalar | vector

Details

The variance of additive white Gaussian noise, given as a positive scalar or vector of 1 at С , where is the number of channels defined by the number of columns in the input signal matrix. For more details, see. Specifying noise variance directly or indirectly.

Dependencies

To use this port, set the Mode parameters to and the parameters to . Variance`and set the Noise variance source parameters to `Input port.

Data types

Float64

Complex numbers support

No

Parameters

Main

# Initial seed — initial number of the noise generator
Real number

Details

The initial initial number of the noise generator for the mt19937ar algorithm as a non-negative integer.

When the input signal is complex, the block generates random data as:

randData= randn(2* NS, NC)
noise = (randData(1:2:end)+1i(randData(2:2:end))) / sqrt(2)

where is the number of samples and is the number of channels. You can specify different initial values for each DLL assembly.

Default value

67

Program usage name

seed

Tunable

No

Evaluatable

Yes

# Mode — noise dispersion normalisation mode
Signal to noise ratio (Eb/No) | Signal to noise ratio (Es/No) | Signal to noise ratio (SNR) | Variance

Details

The dispersion mode specified as Signal to noise ratio (Eb/No), Signal to noise ratio (Es/No), Signal to noise ratio (SNR), or Variance.

Values

Signal to noise ratio (Eb/No) | Signal to noise ratio (Es/No) | Signal to noise ratio (SNR) | Variance

Default value

Signal to noise ratio (SNR)

Program usage name

noiseMode

Tunable

No

Evaluatable

No

# Eb/No (dB) — the ratio of the energy of information bits per symbol to the spectral power density of noise

Details

Ratio of information bit energy per symbol to noise power spectral density in dB as a scalar or vector. The information bit energy represents the value without channel coding.

Dependencies

To use this parameter, set the Mode parameters to . Signal to noise ratio (Eb/No).

Default value

10

Program usage name

EbNodB

Tunable

No

Evaluatable

Yes

# Es/No (dB) — ratio of energy of information symbol per symbol to the spectral power density of noise

Details

Ratio of information symbol energy per symbol to noise power spectral density in dB as a scalar or vector. The energy of an information bit represents the value without channel coding.

Dependencies

To use this parameter, set the parameter Mode to the value of Signal to noise ratio (Es/No).

Default value

10

Program usage name

EsNodB

Tunable

No

Evaluatable

Yes

# SNR (dB) — signal to noise power ratio

Details

The ratio of signal to noise power in dB as a scalar or vector.

Dependencies

To use this parameter, set the Mode parameters to . Signal to noise ratio (SNR).

Default value

10

Program usage name

SNR

Tunable

No

Evaluatable

Yes

# Noise variance source — noise dispersion source
Parameter | Input port

Details

The source of noise dispersion:

  • Parameter - The noise variance is set in the parameters Noise variance;

  • Input port - noise variance is set via the Var input port.

Dependencies

To use this parameter, set the Mode parameters to . Variance.

Values

Parameter | Input port

Default value

Parameter

Program usage name

NoiseVarianceSource

Tunable

No

Evaluatable

No

# Noise variance — white Gaussian noise variance

Details

The variance of white Gaussian noise as a scalar or vector.

Dependencies

To use this parameter, set the Mode parameter to and the parameter to . Variance`and set the Noise variance source parameters to . `Parameter.

Default value

1

Program usage name

NoiseVariance

Tunable

No

Evaluatable

Yes

# Number of bits per symbol — number of bits in each input character

Details

The number of bits in each input symbol as a scalar or vector.

Dependencies

To use this parameter, set the Mode parameters to . Signal to noise ratio (Eb/No).

Default value

1

Program usage name

bitsPerSym

Tunable

No

Evaluatable

Yes

# Input signal power, referenced to 1 ohm (watts) — RMS power of the input signal

Details

RMS power of the input signal in W as a scalar or vector.

When the parameters Mode is set to Signal to noise ratio (Eb/No) or Signal to noise ratio (Es/No), then the parameters represents the RMS power of the input symbols.

When the parameter Mode has a value of Signal to noise ratio (SNR), this parameter represents the RMS power of the input samples.

Dependencies

To use this parameter, set the Mode parameters to Signal to noise ratio (Eb/No), Signal to noise ratio (Es/No) or Signal to noise ratio (SNR).

Default value

1

Program usage name

SignalPower

Tunable

No

Evaluatable

Yes

# Samples per symbol — counts per character

Details

Counts per symbol in counts as a positive scalar or vector.

Dependencies

To use this parameter, set the Mode parameters to Signal to noise ratio (Es/No).

Default value

1

Program usage name

SamplesPerSymbol

Tunable

No

Evaluatable

Yes

Algorithms

Relationship between Eb/No, Es/No and SNR modes

For uncoded complex input signals, block AWGN Channel links , and according to these equations:

,

in dB,

where

  • - signal energy in J

  • - bit energy in J;

  • - noise power spectral density in W/Hz;

  • - parameter value Samples per symbol;

  • - signal symbol period in seconds

  • - inherited block calculation time in seconds;

  • - number of information bits per input symbol, value of the parameters Number of bits per symbol.

For valid input signals, the AWGN Channel block links and according to this equation:

.

  • All power values 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 facility uses a noise power spectral density of W/Hz for real input signals versus W/Hz for complex signals.

Specifying noise variance directly or indirectly

To directly specify the variance of the noise generated by AWGN Channel, set the parameters Mode to Variance. When you set the parameters Noise variance source to :

  • Parameter - The variance is specified as a positive scalar or vector using the parameters Noise variance.

  • Input port - variance is set as a positive scalar or vector using the Var input port. The sampling frequency of the input variance must be equal to the frequency of the input signal.

When you specify the variance as:

  • scalar, all channels of the signal are uncorrelated but have the same variance;

  • a vector whose length is equal to the number of channels in the input signal, each element representing the variance of the corresponding channel of the signal.

If you apply complex input signals to the AWGN Channel block, it adds a zero-mean complex Gaussian noise with a calculated or specified variance. The variance for each quadrature component of the complex noise is half of the calculated or specified value.

To set the variance indirectly, i.e., to have the unit calculate the variance, set the parameters to Mode:

  • Signal to noise ratio (Eb/No), at which the block calculates the deviation from the set parameters:

    • Eb/No (dB), the ratio of bit energy to noise power spectral density;

    • Number of bits per symbol;

    • Input signal power, referenced to 1 ohm (watts), the actual power of symbols at the block input;

    • Samples per symbol.

  • Signal to noise ratio (Es/No), at which the block calculates the deviation from the set parameters:

    • Es/No (dB), the ratio of bit energy to noise power spectral density;

    • Input signal power, referenced to 1 ohm (watts), actual power of symbols at the block input;

    • Samples per symbol.

  • Signal to noise ratio (SNR), at which the block calculates the deviation from the set parameters:

    • SNR (dB), the ratio of signal power to noise power;

    • Input signal power, referenced to 1 ohm (watts), actual power of samples at the block input;

Changing the symbol period in the block AWGN Channel affects the variance of the noise added per count, which also causes a change in the final error rate.

Select a symbol period equal to the period of the model symbol. The value depends on what makes up the symbol and what oversampling is applied to it. For example, a symbol may have 3 bits and be oversampled by 4.

Literature

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