distspec

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

Описание

пример

spect = distspec(trellis,numcomp) вычисляет свободное расстояние и требуемое количество компонентов веса и спектров расстояния линейного сверточного кода. Поскольку сверточные коды не имеют контуров блока, спектр веса и спектр расстояния полубесконечны и хорошо аппроксимированные первыми несколькими компонентами.

Примеры

свернуть все

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

Схема показывает уровень 2/3 энкодер с двумя входными потоками, тремя потоками вывода и двумя сдвиговыми регистрами.

Создайте структуру решетки, чтобы представлять энкодер. Установите продолжительность ограничения верхнего пути к 5 и продолжительность ограничения более низкого пути к 4. Восьмеричное представление матрицы генератора кода соответствует касаниям от верхних и более низких сдвиговых регистров. Структура решетки служит входом к distspec функция, чтобы представлять уровень 2/3 сверточный код.

trellis = poly2trellis([5 4],[23 35 0; 0 5 13])
trellis = struct with fields:
     numInputSymbols: 4
    numOutputSymbols: 8
           numStates: 128
          nextStates: [128x4 double]
             outputs: [128x4 double]

spect = distspec(trellis,4)
spect = struct with fields:
     dfree: 5
    weight: [1 6 28 142]
     event: [1 2 8 25]

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

berub = bercoding(1:10,'conv','hard',2/3,spect);  % BER upper bound
berfit(1:10,berub); ylabel('Upper Bound on BER'); % Plot

Figure contains an axes object. The axes object with title BER vs. Eb/No with Best Curve Fit contains 2 objects of type line. These objects represent Empirical BER, Exp Fit.

Входные параметры

свернуть все

Описание решетки в виде MATLAB® структура, которая содержит описание решетки для уровня K/N код. K представляет количество входных потоков битов, и N представляет количество выходных потоков битов.

Структура решетки содержит эти поля. Можно или использовать poly2trellis функция, чтобы создать структуру решетки или создать его вручную. Для больше об этой структуре, см. Описание Решетки Сверточного кода и istrellis функция.

Количество входа символов к энкодеру в виде целого числа равняется 2K, где K является количеством входных потоков битов.

Типы данных: double

Количество символов выход от энкодера в виде целого числа равняется 2N, где N является количеством выходных потоков битов.

Типы данных: double

Количество состояний в энкодере в виде степени 2.

Типы данных: double

Следующие состояния для всех комбинаций текущих состояний и текущих входных параметров в виде матрицы целых чисел. Матричным размером должен быть numStates- 2K.

Типы данных: double

Выходные параметры для всех комбинаций текущих состояний и текущих входных параметров в виде матрицы восьмеричных чисел. Матричным размером должен быть numStates- 2K.

Типы данных: double

Типы данных: struct

Требуемое количество компонентов веса и спектров расстояния линейного сверточного кода, чтобы вычислить в виде положительного целого числа

Типы данных: double

Выходные аргументы

свернуть все

Спектр расстояния, возвращенный как структура, содержащая эти поля:

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

Алгоритмы

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

Ссылки

[1] Бочарова, Т.е. и Б.Д. Кудряшов. “Рациональный Уровень Проколотые Сверточные коды для Декодирования Soft-Decision Viterbi”. Транзакции IEEE на Теории информации 43, № 4 (июль 1997): 1305–13. https://doi.org/10.1109/18.605600.

[2] Cedervall, M.L., и Р. Йоханнессон. “Алгоритм FAST для Вычислительного Спектра Расстояния Сверточных кодов”. Транзакции IEEE на Теории информации 35, № 6 (ноябрь 1989): 1146–59. https://doi.org/10.1109/18.45271.

[3] Чанг Дж., Д. Хван и М. Лин. “Некоторые Расширенные Результаты на поиске хороших Сверточных кодов”. Транзакции IEEE на Теории информации 43, № 5 (сентябрь 1997): 1682–97. https://doi.org/10.1109/18.623175.

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

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

Функции

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