MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем
 

Обработка сигналов и изображений\Communications Toolbox

Список функций CommunicationsToolbox: Функции анализа сигналов

  В оглавление \ К следующему разделу \ К предыдущему разделу

BERAWGN
Вероятность битовой ошибки для некодированной модуляции и канала с аддитивным белым гауссовым шумом

Синтаксис:

ber = berawgn(EbNo, 'pam', M)
ber = berawgn(EbNo, 'qam', M)
ber = berawgn(EbNo, 'psk', M, dataenc)
ber = berawgn(EbNo, 'dpsk', M)
ber = berawgn(EbNo, 'fsk', M, coherence)
ber = berawgn(EbNo, 'msk', dataenc)
berlb = berawgn(EbNo, 'cpfsk', M, modindex, kmin)

Графический интерфейс:

Вместо использования функции berawgn можно запустить среду BERTool (функция bertool) и использовать для расчетов ее вкладку Theoretical.

Описание:

Общая информация о синтаксисе
Функция berawgn возвращает вероятность битовой ошибки (Bit Error Rate, BER) для различных видов модуляции в канале связи с аддитивным гауссовым шумом (АБГШ; английский термин - Additive White Gaussian Noise, AWGN). Первый входной параметр, EbNo, задает отношение (в децибелах) энергии одного бита к спектральной плотности мощности белого шума. Если параметр EbNo является вектором, результат работы ber будет вектором того же размера, элементы которого соответствуют различным значениям отношения Eb/N0. Поддерживаемые виды модуляции, задаваемые вторым входным параметром функции, перечислены в следующей таблице.

Вид модуляции Второй входной параметр
Частотная манипуляция с непрерывной фазой (ЧМНФ; Continuous phase frequency shift keying, CPFSK) 'cpfsk'
Фазоразностная манипуляция (ФРМ; Differential phase shift keying, DPSK) 'dpsk'
Частотная манипуляция (ЧМн; Frequency shift keying, FSK) 'fsk'
Минимальная частотная манипуляция (МЧМ; Minimum shift keying, MSK) 'msk'
Фазовая манипуляция (ФМн; Phase shift keying, PSK) 'psk'
Амплитудно-импульсная модуляция (АИМ; Pulse amplitude modulation, PAM) 'pam'
Квадратурная манипуляция (КАМ; Quadrature amplitude modulation, QAM) 'qam'

В большинстве вариантов синтаксиса вызова функции также имеется входной параметр M, задающий число позиций манипуляции. M должно быть равно 2k для некоторого положительного целого числа k. Конкретные варианты синтаксиса

ber = berawgn(EbNo, 'pam', M)

Возвращает BER для некодированной амплитудно-импульсной модуляции (PAM) в АБГШ-канале при когерентной демодуляции. Предполагается, что сигнальное созвездие сформировано с использованием кода Грея.

ber = berawgn(EbNo, 'qam', M)

Возвращает BER для некодированной квадратурной манипуляции (QAM) в АБГШ-канале при когерентной демодуляции. Предполагается, что сигнальное созвездие сформировано с использованием кода Грея. Размер алфавита M должен быть не меньше 4. Для крестообразных созвездий (когда M равно двойке в нечетной степени) результат ber дает верхнюю границу BER. (Замечание. Верхняя граница, используемая в данной функции, является менее плотной, чем верхняя граница, используемая для QAM с крестообразными созвездиями в функции semianalytic.)

ber = berawgn(EbNo, 'psk', M, dataenc)

Возвращает BER для некодированной фазовой манипуляции (PSK) в АБГШ-канале при когерентной демодуляции. Предполагается, что сигнальное созвездие сформировано с использованием кода Грея. Входной строковый параметр dataenc может быть равен 'diff' при дифференциальном кодировании данных или 'nondiff' при недифференциальном кодировании данных. Если параметр dataenc равен 'diff', то входной параметр M не должен превышать 4. Использованный здесь метод вычислений подробно изложен в [2].

ber = berawgn(EbNo, 'dpsk', M)

Возвращает BER для некодированной фазоразностной манипуляции (DPSK) в АБГШ-канале.

ber = berawgn(EbNo, 'fsk', M, coherence)

Возвращает BER для ортогональной некодированной частотной манипуляции (FSK) в АБГШ-канале. Входной строковый параметр coherence может быть равен 'coherent' при когерентной демодуляции или 'noncoherent' при некогерентной демодуляции. Размер алфавита M должен быть не больше 64.

ber = berawgn(EbNo, 'msk', dataenc)

Возвращает BER для некодированной минимальной частотной манипуляции (MSK) в АБГШ-канале при когерентной демодуляции. Входной строковый параметр dataenc может быть равен 'diff' при дифференциальном кодировании данных или 'nondiff' при недифференциальном кодировании данных. Использованный здесь метод вычислений подробно изложен в [2].

berlb = berawgn(EbNo, 'cpfsk', M, modindex, kmin)

Возвращает нижнюю границу BER для некодированной частотной манипуляции с непрерывной фазой (CPFSK) в АБГШ-канале. Входной параметр modindex задает индекс модуляции, он должен быть положительным вещественным числом. Входной параметр kmin задает число путей, имеющих минимальное расстояние друг от друга; если это число неизвестно, можно принять значение данного параметра равным 1.

Примеры:

Приведенный ниже код использует функцию berawgn для вычисления вероятности ошибки на символ в случае амплитудно-импульсной модуляции (Pulse Amplitude Modulation, PAM) при разных значениях отношения Eb/N0. Выполняется также моделирование прохождения 8-уровневого PAM-сигнала через АБГШ-канал, после чего оценивается та же самая вероятность символьной ошибки. Для сравнения результатов две зависимости помехоустойчивости от отношения Eb/N0, полученные теоретически и путем моделирования, отображаются в виде графиков в общих координатных осях.

% 1. Вычисляем вероятность ошибок с помощью функции BERAWGN
M = 8;         % Число уровней PAM-сигнала
EbNo = [0:13]; % Ряд отношений Eb/No
ser = berawgn(EbNo,'pam',M).*log2(M); % множитель log2(M) - пересчет битовых ошибок в символьные
% Отображаем теоретические результаты 
figure; semilogy(EbNo,ser,'r');
xlabel('E_b/N_0 (dB)'); ylabel('Symbol Error Rate');
grid on; drawnow;

% 2. Оценка вероятности ошибки путем моделирования
% Инициализация
n = 10000;   % Число обрабатываемых символов 
k = log2(M); % Число бит на символ
% Пересчет отношения Eb/No в отношение сигнал/шум (SNR)
% Замечание: Поскольку No = 2*noiseVariance^2, при расчете SNR 
% нужно добавить 3 дБ. Подробности см. в [3]
snr = EbNo+3+10*log10(k);
ynoisy=zeros(n,length(snr)); % Для ускорения расчета выделяем память заранее

% Главный цикл моделирования
x = randint(n,1,M); % Случайное сообщение
y = pammod(x,M);    % Модуляция
% Пропускаем модулированный сигнал через АБГШ-канал
% в цикле по необходимым значениям SNR
for jj = 1:length(snr)
   ynoisy(:,jj) = awgn(real(y),snr(jj),'measured');
end
z = pamdemod(ynoisy,M); % Демодуляция

% Вычисляем эмпирическую вероятность символьной ошибки 
[num,rt] = symerr(x,z);

% 3. Отображаем эмпирические результаты в тех же осях
hold on; semilogy(EbNo,rt,'b.');
legend('Theoretical SER','Empirical SER');
title('Comparing Theoretical and Empirical Error Rates');
hold off;

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

Ограничения:

Численная точность результатов, возвращаемых данной функцией, ограничена следующими факторами:

  • Приближенными соотношениями, использованными при выводе формул, по которым производится расчет.
  • Приближениями, производимыми при реализации численных расчетов.

Обычно можно считать надежными первые две значащие цифры возвращаемого результата. Однако для четырехпозиционной фазоразностной манипуляции (вид модуляции 'dpsk' при M=4) и дифференциально кодированной фазовой манипуляции (вид модуляции 'psk' при значении 'diff' для параметра dataenc) имеются дополнительные ограничения, так что функция возвращает 0 для больших значений входного параметра EbNo.

Сопутствующие функции: bercoding, berfading, bersync.

Литература:

  1. Anderson, John B., Tor Aulin, and Carl-Erik Sundberg, Digital Phase Modulation, New York, Plenum Press, 1986.
  2. Lindsey, William C. and Marvin K. Simon, Telecommunication Systems Engineering, Englewood Cliffs, N.J., Prentice-Hall, 1973.
  3. Proakis, John G., Digital Communications, 4th ed., New York, McGraw-Hill, 2001. (Имеется русский перевод предыдущего издания: Прокис Дж. Цифровая связь. Пер. с англ. / Под ред. Д. Д. Кловского. - М.: Радио и связь, 2000.)

  В оглавление \ К следующему разделу \ К предыдущему разделу

 

Поиск по сайту:

Система Orphus

Яндекс.Метрика