semianalytic

Вычислите вероятность битовой ошибки (BER) с помощью полуаналитического метода

Синтаксис

ber = semianalytic(txsig,rxsig,modtype,M,Nsamp)
ber = semianalytic(txsig,rxsig,modtype,M,Nsamp,num,den)
ber = semianalytic(txsig,rxsig,modtype,M,Nsamp,EbNo)
ber = semianalytic(txsig,rxsig,modtype,M,Nsamp,num,den,EbNo)
[ber,avgampl,avgpower] = semianalytic(...)

Описание

ber = semianalytic(txsig,rxsig,modtype,M,Nsamp) возвращает вероятность битовой ошибки (BER) системы, которая передает комплексный векторный сигнал основной полосы частот txsig и принимает бесшумный сигнал комплексного вектора основной полосы частот rxsig. Каждый из этих сигналов имеет Nsamp выборок на символ. Nsamp является также частотой дискретизации txsig и rxsig, в Гц. Функция принимает, что rxsig является входом в фильтр приемника и фильтры функций rxsig с идеальным интегратором. modtype - тип модуляции сигнала и M - размер алфавита. В таблице ниже перечислены допустимые значения для modtype и M.

Схема модуляцииЗначение модтипаДопустимые значения M
Дифференциальная фаза сдвига манипуляция (DPSK) 'dpsk' 2, 4
Минимальная манипуляция сдвигом (MSK) с дифференциальной кодировкой'msk/diff' 2
Минимальная манипуляция сдвигом (MSK) с недифференциальной кодировкой'msk/nondiff' 2
Фазовая манипуляция сдвига (PSK) с дифференциальным кодированием, где смещение фазы созвездия 0 'psk/diff' 2, 4
Фазовая манипуляция сдвига (PSK) с недифференциальным кодированием, где смещение фазы созвездия 0 'psk/nondiff' 2, 4, 8, 16, 32 или 64
Смещение квадратурной фазы сдвига манипуляции (OQPSK) 'oqpsk' 4
Квадратурная амплитудная модуляция (QAM) 'qam' 4, 8, 16, 32, 64, 128, 256, 512, 1024

'msk/diff' эквивалентно обычному MSK (установка 'Precoding' свойство объекта MSK, чтобы 'off'), в то время как 'msk/nondiff' эквивалентно предварительно кодированному MSK (установка 'Precoding' свойство объекта MSK, чтобы 'on').

Примечание

Область выхода ber является верхней границей BER в этих случаях:

  • DQPSK (modtype = 'dpsk', M = 4)

  • Cross QAM (modtype = 'qam', M не идеальный квадрат). В этом случае обратите внимание, что верхняя граница, используемая здесь, немного жестче, чем верхняя граница, используемая для перекрестного QAM в berawgn функция.

Когда функция вычисляет BER, она принимает, что символы закодированы Серым цветом. Функция вычисляет BER для значений Eb/N0 в области значений [0:20] дБ и возвращает вектор длины 21, элементы которого соответствуют различным уровням Eb/N0.

Примечание

Необходимо использовать достаточно длинный вектор txsigили же вычисленный BER будет неточным. Если импульсная характеристика системы является L-образными символами, длина txsig должно быть по крайней мере ML. Общий подход состоит в том, чтобы начать с дополненной двоичной псевдонозной (PN) последовательности общей длины (log2M)ML. Дополненная псевдошумовая последовательность является псевдошумовой последовательностью с дополнительным нулем, добавленным, что делает распределение таковых и нулей равным.

ber = semianalytic(txsig,rxsig,modtype,M,Nsamp,num,den) аналогичен предыдущему синтаксису, за исключением того, что функция фильтрует rxsig с фильтром приемника вместо идеального интегратора. Передаточная функция фильтра приемника задается в нисходящих степенях z векторами num и den.

ber = semianalytic(txsig,rxsig,modtype,M,Nsamp,EbNo) совпадает с первым синтаксисом, за исключением того, что EbNo представляет Eb/N0, отношение энергии битов к спектральной плотности степени шума, в дБ. Если EbNo является вектором, затем выход ber является вектором того же размера, элементы которого соответствуют различным уровням Eb/N0.

ber = semianalytic(txsig,rxsig,modtype,M,Nsamp,num,den,EbNo) объединяет функциональность двух предыдущих синтаксисов.

[ber,avgampl,avgpower] = semianalytic(...) возвращает среднюю амплитуду комплексного сигнала и среднюю степень rxsig после фильтрации фильтром приемника и дискретизации его со скоростью символа.

Примеры

свернуть все

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

Сгенерируйте сигнал сообщения длины > =ML.

M = 16; % Alphabet size of modulation
L = 1; % Length of impulse response of channel
msg = [0:M-1 0]; % M-ary message sequence of length > M^L

Модулируйте сигнал сообщения с помощью модуляции полосовой модуляции.

modsig = qammod(msg',M); % Modulate data
Nsamp = 16;
modsig = rectpulse(modsig,Nsamp); % Use rectangular pulse shaping.

Применить фильтр передачи.

txsig = modsig; % No filter in this example

Выполняйте txsig через бесшумный канал, применяющий статическое смещение фазы 1 степень.

rxsig = txsig*exp(1i*pi/180);

Используйте semianalytic функция.

Задайте фильтр приема как пару входных параметров. В этом случае num и den описать идеальный интегратор.

num = ones(Nsamp,1)/Nsamp;
den = 1;
EbNo = 0:20; % Range of Eb/No values under study
ber = semianalytic(txsig,rxsig,'qam',M,Nsamp,num,den,EbNo);

Для сравнения вычислите теоретический BER.

bertheory = berawgn(EbNo,'qam',M);

Постройте вычисленные BER и теоретические BER.

figure; semilogy(EbNo,ber,'k*');
hold on; semilogy(EbNo,bertheory,'ro');
title('Semianalytic BER Compared with Theoretical BER');
legend('Semianalytic BER with Phase Offset',...
    'Theoretical BER Without Phase Offset','Location','SouthWest');
hold off;

Figure contains an axes. The axes with title Semianalytic BER Compared with Theoretical BER contains 2 objects of type line. These objects represent Semianalytic BER with Phase Offset, Theoretical BER Without Phase Offset.

Ограничения

Функция делает несколько важных предположений о системе связи. См., Когда использовать семианалитический метод, чтобы узнать, подходит ли ваша система связи для семианалитического метода и semianalytic функция.

Подробнее о

свернуть все

Когда использовать семианалитический метод

Метод, описанный в Эффективность Результатов через Симуляцию, хорошо работает для большого разнообразия систем связи, но может быть чрезмерно длительным для малых частот ошибок (для примера, 10-6 или меньше). В этом разделе описывается, как использовать семианалитический метод в качестве альтернативного способа вычисления частот ошибок. Для некоторых типов систем семианалитический метод может давать результаты быстрее, чем неаналитический метод, который использует только моделируемые данные.

Моделируемая система связи должна удовлетворять этим характеристикам при использовании полуаналитического метода.

  • Любые эффекты многолучевого замирания, квантования и нелинейности усилителя должны предшествовать эффектам шума в фактически моделируемом канале.

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

  • Бесшумная симуляция не имеет ошибок в полученном сигнальном созвездии. Искажения от источников, отличных от шума, должны быть достаточно мягкими, чтобы сохранить каждую сигнальную точку в своей правильной области принятия решений. Например, если смоделированная система имеет вращение фазы, которое помещает принятые сигнальные точки вне их соответствующих областей принятия решений, семианалитический метод не подходит для предсказания производительности системы.

Если эти характеристики не выполняются, рассчитанный BER будет ниже ожидаемого. Кроме того, semianalytic функция принимает, что шум в фактически моделируемом канале является Гауссовым. Для получения дополнительной информации о том, как адаптировать семианалитический метод для негауссовского шума, смотрите обсуждение обобщенных экспоненциальных распределений в [1].

Процедура применения семианалитического метода

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

  1. Сгенерируйте сигнал сообщения, содержащий по меньшей мере ML символы, где M - размер алфавита модуляции, а L - длина импульсной характеристики канала в символах. Общий подход состоит в том, чтобы начать с дополненной двоичной псевдонозной (PN) последовательности общей длины (log2 M) ML. Дополненная псевдошумовая последовательность является псевдошумовой последовательностью с дополнительным нулем, добавленным, что делает распределение таковых и нулей равным.

  2. Модулируйте несущую с сигналом сообщения, используя модуляцию полосовой модуляции. Поддерживаемые типы модуляции перечислены на странице с описанием для semianalytic. Сформируйте результирующий сигнал с прямоугольной формой импульса, используя коэффициент избыточной дискретизации, который вы позже будете использовать, чтобы фильтровать модулированный сигнал. Сохранить результат этого шага следующим txsig для дальнейшего использования.

  3. Пропустите модулированный сигнал с помощью передающего фильтра. Этот фильтр часто является квадратным корнем приподнятого косинуса, но можно также использовать Butterworth, Bessel, Chebyshev type 1 или 2, эллиптический, или более общий КИХ или БИХ фильтр. Если вы используете квадратный корневой фильтр приподнятого косинуса, используйте его на невозвращенном модулированном сигнале и задайте коэффициент избыточной дискретизации в функции фильтрации. Если вы используете другой тип фильтра, можно применить его к сигналу прямоугольной импульсной формы.

  4. Пропустите отфильтрованный сигнал через бесшумный канал. Этот канал может включать многолучевые эффекты замирания, сдвиги фазы, нелинейности усилителя, квантование и дополнительную фильтрацию, но он не должен включать шум. Сохранить результат этого шага следующим rxsig для дальнейшего использования.

  5. Активируйте semianalytic функция, использующая txsig и rxsig данные из более ранних шагов. Задайте фильтр приема как пару входных параметров, если вы не хотите использовать фильтр по умолчанию в semianalytic функция. Функция фильтрует rxsig и затем определяет вероятность ошибки каждой принятой сигнальной точки путем аналитического применения Гауссова шумового распределения к каждой точке. Функция усредняет вероятности ошибок по всему полученному сигналу, чтобы определить общую вероятность ошибок. Если вероятность ошибки, вычисленная таким образом, является вероятностью ошибки символа, функция преобразует ее в вероятность битовой ошибки, обычно путем принятия кодирования Грея. Функция возвращает частоту битовой ошибки (или, в случае модуляции DQPSK, верхнюю границу от частоты битовой ошибки).

Ссылки

[1] Jeruchim, Michel C., Philip Balaban, and K. Sam Shanmugan. Симуляция систем связи. Второе издание. Бостон, Массачусетс: Спрингер, США, 2000.

[2] Pasupathy, S., «Minimum Shift Keying: A Spectral Effective Modulation», IEEE Communications Magazine, июль 1979, стр. 14-22.

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