distspec

Вычислите спектр расстояния сверточного кода

Синтаксис

spect = distspec(trellis,n)
spect = distspec(trellis)

Описание

spect = distspec(trellis,n) вычисляет свободное расстояние и первые компоненты n веса и спектры расстояния линейного сверточного кода. Поскольку сверточные коды не имеют контуров блока, спектр веса и спектр расстояния полубесконечны и чаще всего аппроксимируются первыми несколькими компонентами. Вход trellis является допустимой структурой решетки MATLAB, как описано в Описании Решетки Сверточного кода. Вывод, spect, является структурой с этими полями:

Поле Значение
spect.dfreeСвободное расстояние кода. Это - минимальное количество ошибок в закодированной последовательности, требуемой создать ошибочное событие.
spect.weightВектор длины-n, который перечисляет общее количество информационных битовых ошибок в ошибочных событиях, перечисленных в spect.event.
spect.eventВектор длины-n, который перечисляет количество ошибочных событий для каждого расстояния между spect.dfree и spect.dfree+n-1. Вектор представляет первые компоненты n спектра расстояния.

spect = distspec(trellis) совпадает с spect = distspec(trellis,1).

Примеры

Пример ниже выполняет эти задачи:

  • Вычисляет спектр расстояния для уровня 2/3 сверточный код, который изображен на странице с описанием для функции poly2trellis

  • Использует вывод distspec как вход к функции bercoding, чтобы найти теоретическую верхнюю границу на частоте ошибок по битам для системы, которая использует этот код с когерентной модуляцией BPSK

  • Строит верхнюю границу с помощью функции berfit

trellis = poly2trellis([5 4],[23 35 0; 0 5 13])
spect = distspec(trellis,4)
berub = bercoding(1:10,'conv','hard',2/3,spect); % BER bound
berfit(1:10,berub); ylabel('Upper Bound on BER'); % Plot.

Вывод и график ниже.

trellis = 

     numInputSymbols: 4
    numOutputSymbols: 8
           numStates: 128
          nextStates: [128x4 double]
             outputs: [128x4 double]


spect = 

     dfree: 5
    weight: [1 6 28 142]
     event: [1 2 8 25]

Алгоритмы

Функция использует алгоритм поиска по дереву, реализованный со стеком, как описано в [2].

Ссылки

[1] Бочарова, Т.е. и Б. Д. Кудряшов, “Рациональный Уровень Проколотые Сверточные коды для Декодирования Soft-Decision Viterbi”, Транзакции IEEE на Теории информации, Издании 43, № 4, июль 1997, стр 1305–1313.

[2] Cedervall, M. и Р. Йоханнессон, “Алгоритм FAST для Вычислительного Спектра Расстояния Сверточных кодов”, Транзакции IEEE на Теории информации, Издании 35, № 6, ноябрь 1989, стр 1146–1159.

[3] Чанг, J., Д. Хван и М. Лин, “Некоторые Расширенные Результаты на поиске хороших Сверточных кодов”, Транзакции IEEE на Теории информации, Издании 43, № 5, сентябрь 1997, стр 1682–1697.

[4] Frenger, P., П. Ортен и Т. Оттоссон, “Комментарии и Добавления к Недавним Статьям о Новых Сверточных кодах”, Транзакции IEEE на Теории информации, Издании 47, № 3, март 2001, стр 1199–1201.

Смотрите также

| | |

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