Вычислить дистанционный спектр сверточного кода
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.