Документация Engee

EngeeComms.AWGN

Добавляет белый гауссовский шум к входному сигналу.

Библиотека

EngeeComms

Блок

AWGN Channel

Описание

Системный объект EngeeComms.AWGN добавляет белый гауссовский шум к входному сигналу.

Если входы объекта имеют переменное количество каналов, свойства EbNo, BitsPerSymbol, SignalPower, SamplesPerSymbol должны быть скалярами.

Чтобы добавить белый гауссовский шум к входному сигналу:

  1. Создайте объект EngeeComms.AWGN и установите его свойства.

  2. Вызовите объект с аргументами, как если бы это была функция.

Чтобы узнать подробнее о том, как работать с системными объектами, см. Системные объекты Engee.

Синтаксис

Создание

  • awgnchan = EngeeComms.AWGN() создает системный объект аддитивного белого гауссовского шума (AWGN) канала awgnchan со свойствами по умолчанию. Этот объект добавляет белый гауссовский шум к реальному или комплексному входному сигналу.

    Пример:

    awgnchan = EngeeComms.AWGN()
  • awgnchan = EngeeComms.AWGN(Name=Value) создает системный объект канала AWGN awgnchan с указанным свойством Name, установленным на указанное значение Value. Вы можете указать дополнительные аргументы в виде пары имя-значение в любом порядке (Name1=Value1,…​,NameN=ValueN).

    Пример:

    awgnchan = EngeeComms.AWGN(EbNo=20, BitsPerSymbol=3)

Использование

  • outsignal = awgnchan(insignal) добавляет белый гауссовский шум, как указано на awgnchan, к входному сигналу. Результат возвращается в outsignal.

  • outsignal = awgnchan(insignal,var) задает дисперсию белого гауссовского шума. Этот синтаксис применяется, когда вы устанавливаете NoiseMethod в 'Variance' и VarianceSource в 'Input port'.

Например:

awgnchan = EngeeComms.AWGN(NoiseMethod, Variance, ...
     'VarianceSource','Input port');
var = 12;
...
outsignal = awgnchan(insignal,var);

Аргументы

Входные аргументы

insignal — входной сигнал
скаляр | вектор | матрица

Details

Входной сигнал, заданный в виде скаляра, вектора -элементов или матрицы на , где — это количество отсчетов, а — количество каналов.

Этот объект принимает входные данные переменного размера. После блокировки объекта вы можете изменить размер каждого входного канала, но не можете изменить количество каналов.

Типы данных

Float64

Поддержка комплексных чисел

Да

var — дисперсия аддитивного белого гауссовского шума
положительный скаляр | вектор строк

Details

Дисперсия аддитивного белого гауссовского шума, заданная в виде положительного скаляра или вектора 1 на , где — это количество каналов, определяемое количеством столбцов в матрице входного сигнала.

Зависимости

Чтобы использовать этот аргумент, установите для свойства NoiseMethod значение 'Variance'.

Выходные аргументы

outsignal — выходной сигнал
матрица

Details

Выходной сигнал, возвращаемый с теми же размерами и типом, что и insignal.

Свойства

# InitialSeed — начальное случайное число
Real number

Details

Начальное случайное число потока случайных чисел mt19937ar, заданное как неотрицательное целое число. При каждом вызове функции reset объект заново инициализирует поток случайных чисел mt19937ar до значения Seed.

# SignalPower — мощность входного сигнала
Real number

Details

Мощность входного сигнала в ваттах, заданная в виде положительного скаляра или вектора 1-на- , где — это количество каналов. Объект предполагает номинальный импеданс 1 Ом.

# EbNo — отношение энергии на бит к спектральной плотности мощности шума
Real number or vector of real numbers

Details

Отношение спектральной плотности мощности шума (Eb/No) в децибелах, заданное в виде скаляра или вектора 1-на- , где — это количество каналов.

Зависимости

Это свойство применяется, когда NoiseMethod установлен на 'Signal to noise ratio (Eb/No)'.

# NoiseMethod — метод уровня шума
String

Details

Метод уровня шума, указанный как 'Signal to noise ratio (Eb/No)', 'Signal to noise ratio (Es/No)', 'Signal to noise ratio (SNR)' или 'Variance'.

# SamplesPerSymbol — количество отсчетов на символ
Real number

Details

Количество отсчетов на символ, заданное в виде положительного целого числа или вектора 1 на . — это количество каналов.

Зависимости

Это свойство применяется, когда NoiseMethod установлено в 'Signal to noise ratio (Eb/No)' или 'Signal to noise ratio (Es/No)'.

# BitsPerSymbol — количество битов на символ
Real number

Details

Количество битов на символ, заданное как целое положительное число.

Зависимости

Это свойство применяется, когда NoiseMethod установлено в 'Signal to noise ratio (Eb/No)'.

Методы

Общие для всех системных объектов

step!

Запустить алгоритм работы системного объекта

Алгоритмы

Связь между модами Eb/No, Es/No и SNR

Details

Для некодированных комплексных входных сигналов EngeeComms.AWGN связывает , и SNR согласно этим уравнениям:

,

в дБ,

где

  • — энергия сигнала в Дж;

  • — энергия бита в Дж;

  • — спектральная плотность мощности шума в Вт/Гц;

  • — количество отсчетов на символ (SamplesPerSymbol);

  • — количество информационных битов на входной символ (BitsPerSymbol).

Для входов реального сигнала EngeeComms.AWGN связывает и в соответствии с этим уравнением:

.

  • Все значения мощности предполагают номинальный импеданс 1 Ом.

  • Уравнение для действительного случая отличается от соответствующего уравнения для комплексного случая в 2 раза. В частности, объект использует спектральную плотность мощности шума Вт/Гц для действительных входных сигналов по сравнению с Вт/Гц для комплексных сигналов.

Литература

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