exponenta event banner

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] Бочарова, И. Е., Б. Д. Кудряшов, «Рациональная скорость проколотых сверточных кодов для декодирования Витерби с мягким решением», IEEE Transactions on Information Theory, Vol. 43, No. 4, July 1997, pp. 1305-1313.

[2] Седервалл, М. и Р. Йоханнессон, «Быстрый алгоритм вычисления спектра расстояний сверточных кодов», IEEE Transactions on Information Theory, Vol. 35, No. 6, Nov. 1989, pp. 1146-1159.

[3] Чан, Дж., Д. Хван и М. Лин, «Некоторые расширенные результаты поиска хороших сверточных кодов», IEEE Transactions on Information Theory, Vol. 43, No. 5, Sep. 1997, pp. 1682-1697.

[4] Frenger, P., P. Orten и T. Ottosson, «Комментарии и дополнения к последним документам о новых сверточных кодах», IEEE Transactions on Information Theory, Vol. 47, No. 3, March 2001, pp. 1199-1201.

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