exponenta event banner

awgn

Добавление белого гауссова шума к сигналу

Описание

out = awgn(in,snr) добавляет белый гауссов шум к векторному сигналу in. Этот синтаксис предполагает, что сила in 0 дБВт.

пример

out = awgn(in,snr,signalpower) принимает значение мощности входного сигнала в дБВт. Чтобы функция измеряла мощность in перед добавлением шума укажите signalpower как 'measured'.

пример

out = awgn(in,snr,signalpower,randobject) принимает входные комбинации из предыдущих синтаксисов и объекта потока случайных чисел для генерации нормальных выборок случайного шума. Сведения о создании повторяющихся выборок шума см. в разделе Советы.

out = awgn(in,snr,signalpower,seed) задает начальное значение для инициализации нормального генератора случайных чисел, которое используется при добавлении белого гауссова шума к входному сигналу. Сведения о создании повторяющихся выборок шума см. в разделе Советы.

out = awgn(___,powertype) определяет тип мощности сигнала и шума как 'dB' или 'linear' в дополнение к входным аргументам в любом из предыдущих синтаксисов.

Отношения между SNR и другими показателями относительной мощности шума, такими как Es/N0 и Eb/N0, см. в разделе Уровень шума канала AWGN.

Примеры

свернуть все

Создайте пилообразную волну.

t = (0:0.1:10)';
x = sawtooth(t);

Примените белый гауссов шум и постройте график результатов.

y = awgn(x,10,'measured');
plot(t,[x y])
legend('Original Signal','Signal with AWGN')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Original Signal, Signal with AWGN.

Передавать и принимать данные с помощью неразводной 16-арной группировки при наличии гауссова шума. Отображение графика рассеяния шумовой совокупности и оценка частоты ошибок символов (SER) для двух различных отношений сигнал-шум.

Создайте созвездие 16-QAM на основе стандарта V.29 для модемов телефонной линии.

c = [-5 -5i 5 5i -3 -3-3i -3i 3-3i 3 3+3i 3i -3+3i -1 -1i 1 1i];
M = length(c);

Создание случайных символов.

data = randi([0 M-1],2000,1);

Модулировать данные с помощью genqammod функция. Общая модуляция QAM необходима, поскольку пользовательская совокупность не является прямоугольной.

modData = genqammod(data,c);

Пропускают сигнал через канал AWGN, имеющий отношение сигнал/шум 20 дБ (SNR).

rxSig = awgn(modData,20,'measured');

Отображение графика рассеяния принятого сигнала и опорной совокупности, c.

h = scatterplot(rxSig);
hold on
scatterplot(c,[],[],'r*',h)
grid
hold off

Figure Scatter Plot contains an axes. The axes with title Scatter plot contains 2 objects of type line. This object represents Channel 1.

Демодулируйте принятый сигнал с помощью genqamdemod функция. Определите количество ошибок символов и отношение ошибок символов.

demodData = genqamdemod(rxSig,c);
[numErrors,ser] = symerr(data,demodData)
numErrors = 1
ser = 5.0000e-04

Повторите процесс передачи и демодуляции с каналом AWGN, имеющим SNR 10 дБ. Определите частоту ошибок символов для уменьшенного SNR. Как и ожидалось, производительность ухудшается при уменьшении SNR.

rxSig = awgn(modData,10,'measured');
demodData = genqamdemod(rxSig,c);
[numErrors,ser] = symerr(data,demodData)
numErrors = 462
ser = 0.2310

Генерирование результатов добавления белого гауссова шума с использованием RandStream объект и reset объектная функция.

Укажите мощность X, которая должна быть 0 dBW, добавить шум для создания SNR из 10 dB и использовать локальный случайный поток.

S = RandStream('mt19937ar','Seed',5489);
sigin = sqrt(2)*sin(0:pi/8:6*pi);
sigout1 = awgn(sigin,10,0,S);

Добавить AWGN в sigin. Использовать isequal выдерживать сравнение sigout1 кому sigout2. Выходы не равны, когда случайный поток не был сброшен.

sigout2 = awgn(sigin,10,0,S);
isequal(sigout1,sigout2)
ans = logical
   0

Сброс объекта случайного потока, возврат объекта в его состояние перед добавлением AWGN в sigout1. Добавить AWGN в sigin и сравнить sigout1 кому sigout3. Выходные данные равны после сброса случайного потока.

reset(S);
sigout3 = awgn(sigin,10,0,S);
isequal(sigout1,sigout3)
ans = logical
   1

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

свернуть все

Входной сигнал, заданный как скаляр, вектор или массив. Мощность входного сигнала принимается равной 0 дБВт.

Типы данных: double
Поддержка комплексного номера: Да

Отношение сигнал/шум в дБ, указанное как скаляр.

Примечание

При добавлении шума применяется та же самая функция. snr ко всем элементам полного входного сигнала. Входные сигналы матрицы не имеют понятия независимых каналов. Сведения о независимом рассмотрении нескольких каналов см. в разделе comm.AWGNChannel.

Типы данных: double

Мощность сигнала, заданная как скаляр или 'measured'.

  • Когда signalpower является скаляром, значение используется в качестве уровня сигнала in для определения соответствующего уровня шума на основе значения snr.

  • Когда signalpower является 'measured', уровень сигнала in вычисляется для определения соответствующего уровня шума на основе значения snr.

    Примечание

    При указании 'measured'эта функция вычисляет мощность сигнала, используя все элементы полного входного сигнала. При вычислении мощности входные сигналы матрицы не имеют понятия независимых каналов.

Типы данных: double

Объект потока случайных чисел, указанный как RandStream объект. Состояние объекта случайного потока определяет последовательность чисел, создаваемых randn функция. Сконфигурируйте объект случайного потока с помощью reset (RandStream) функция и ее свойства.

wgn генерирует обычные выборки случайного шума с использованием randn. randn функция использует одно или несколько однородных значений из RandStream объект для формирования каждого нормального значения.

Сведения о создании повторяющихся выборок шума см. в разделе Советы.

Начальное значение генератора случайных чисел, указанное как скаляр.

Типы данных: double

Сигнальный энергоблок, указанный как 'dB' или 'linear'

  • Когда powertype является 'dB', snr измеряется в дБ и signalpower измеряют в дБВт.

  • Когда powertype является 'linear', snr измеряется как отношение и signalpower измеряется в ваттах.

Отношения между SNR и другими показателями относительной мощности шума, такими как Es/N0 и Eb/N0, см. в разделе Уровень шума канала AWGN.

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

свернуть все

Выходной сигнал, возвращаемый как скаляр, вектор или массив. Возвращенный выходной сигнал является входным сигналом с добавленным к нему белым гауссовым шумом.

Совет

  • Для генерации повторяющихся выборок белого гауссова шума используйте один из следующих советов:

    • Предоставление статического seed значение в качестве входных данных для awgn.

    • Используйте reset (RandStream) функции на randobject перед передачей в качестве входных данных awgn.

    • Обеспечить randobject в известном состоянии в качестве входа в awgn. Дополнительные сведения см. в разделе RandStream.

Расширенные возможности

.

См. также

Функции

Объекты

Представлен до R2006a