Декодер турбо кода продукта (TPC)
Communications Toolbox / Выявление ошибок и Коррекция / Блок
Блок TPC Decoder выполняет 2D декодирование турбо кода продукта (TPC) мягкого входа LLRs, соответствующего коду продукта итеративно, с помощью алгоритма Преследования-Pyndiah. Код продукта является 2D конкатенацией линейных блочных кодов. Линейный блочный код может быть кодом с проверкой четности, Кодом Хемминга или кодом BCH, способным к исправлению двух ошибок. Расширенные и сокращенные коды могут быть применены независимо на каждой размерности. Для описания 2D декодирования TPC смотрите, что Турбо Код продукта Декодирует.
Для получения информации о допустимых парах кода и возможности с коррекцией ошибок каждой допустимой пары кода, смотрите Пары Кода Компонента.
In
— Регистрируйте отношения правдоподобияРегистрируйте отношения правдоподобия в виде вектор-столбца.
Для входных сигналов во всю длину длина вектор-столбца является продуктом Количества строк в коде, Номере и Количестве столбцов в коде, Nc.
Для сокращенных входных сигналов длина вектор-столбца является продуктом (N R–KR+SR) и (N C–KC+SC), где:
N R является значением Количества строк в коде, Номере.
K R является значением Количества строк в сообщении, Кроне.
S R является значением Количества строк в сокращенном сообщении, Сэре.
N C является значением Количества столбцов в коде, Nc.
K C является значением Количества столбцов в сообщении, Kc.
S C является значением Количества столбцов в сокращенном сообщении, кв/см.
Типы данных: double |
single
Out
— TPC декодируемое сообщениеTPC декодируемое сообщение, возвращенное как вектор-столбец двоичных значений.
Для входных сигналов во всю длину длина вектор-столбца является продуктом Количества строк в сообщении, криптоне и Количестве столбцов в сообщении, Kc.
Для сокращенных входных сигналов длина вектор-столбца является продуктом Количества строк в сокращенном сообщении, Сэре и Количестве столбцов в сокращенном сообщении, кв/см.
Типы данных: Boolean
Iter
— Фактическое количество декодирования итерацийФактическое количество декодирования итераций, возвращенных как положительное целое число.
Чтобы включить этот порт, выберите количество Output выполняемых итераций.
Типы данных: double
Extended codes
— Расширенный индикатор кода для параметров строки TPCon
(значение по умолчанию) | off
Когда Расширенные коды выбраны, списки для Количества строк в коде, Номере и Количестве строк в сообщении, криптон содержит допустимые значения для расширенных отдельных пар кода (N R, K R).
Когда Расширенные коды очищены, списки для Количества строк в коде, Номере и Количестве строк в сообщении, криптон содержит допустимые значения для нерасширенных отдельных пар кода (N R, K R).
Number of rows in code, Nr
— Количество строк в матрице кода продукта
(значение по умолчанию) | целое числоКоличество строк в матрице кода продукта, N R. Список целочисленных значений варьируется в зависимости от установки для Расширенных кодов.
Number of rows in message, Kr
— Количество строк в матрице сообщения
(значение по умолчанию) | целое числоКоличество строк в матрице сообщения, K R. Список целочисленных значений варьируется в зависимости от установки для Расширенных кодов и Количества строк в коде, Номере.
Specify shortened message length
— Задайте сокращенную длину сообщения для строкoff
(значение по умолчанию) | on
Выберите Specify shortened message length, чтобы задать значение для Количества строк в сокращенном сообщении, Сэре.
Number of rows in shortened message, Sr
— Количество строк в сокращенной матрице сообщения
(значение по умолчанию) | целое числоКоличество строк в сокращенной матрице сообщения, S R в виде целого числа, меньше чем или равного K R. Когда вы зададите этот параметр, обеспечьте N во всю длину R и K R значения, чтобы задать (N R, K R) пара кода. Эта пара кода затем сокращена к (N R–KR+SR, S R) пара кода, где:
N R является значением Количества строк в коде, Номере.
K R является значением Количества строк в сообщении, Кроне.
S R является значением Количества строк в сокращенном сообщении, Сэре.
Чтобы включить этот параметр, выберите сокращенную длину сообщения Specify.
Типы данных: double
Extended codes
— Расширенный индикатор кода для параметров столбца TPCon
(значение по умолчанию) | off
Когда Расширенные коды выбраны, списки для Количества столбцов в коде, Nc и Number столбцов в сообщении, Kc содержат допустимые значения для расширенных отдельных пар кода (N C, K C).
Когда Расширенные коды очищены, списки для Количества столбцов в коде, Nc и Number столбцов в сообщении, Kc содержат допустимые значения для нерасширенных отдельных пар кода (N C, K C).
Number of columns in code, Nc
— Количество столбцов в матрице кода продукта
(значение по умолчанию) | целое числоКоличество столбцов в матрице кода продукта, N C. Список целочисленных значений варьируется в зависимости от установки для Расширенных кодов.
Number of columns in message, Kc
— Количество столбцов в матрице сообщения
(значение по умолчанию) | целое числоКоличество столбцов в матрице сообщения, K C. Список целочисленных значений варьируется в зависимости от установки для Расширенных кодов и Количества столбцов в коде, Nc.
Specify shortened message length
— Задайте сокращенную длину сообщения для столбцовoff
(значение по умолчанию) | on
Выберите Specify shortened message length, чтобы задать значение для Количества столбцов в сокращенном сообщении, кв/см.
Number of columns in shortened message, Sc
— Количество столбцов в сокращенной матрице сообщения
(значение по умолчанию) | целое числоКоличество столбцов в сокращенной матрице сообщения, S C в виде целого числа. Когда вы зададите этот параметр, обеспечьте N во всю длину C и K C значения, чтобы задать (N C, K C) пара кода. Эта пара кода затем сокращена к (N C–KC+SC, S C) пара кода, где:
N C является значением Количества столбцов в коде, Nc.
K C является значением Количества столбцов в сообщении, Kc.
S C является значением Количества столбцов в сокращенном сообщении, кв/см.
Чтобы включить этот параметр, выберите сокращенную длину сообщения Specify.
Типы данных: double
Maximum number of iterations
— Максимальное количество декодирования итераций
(значение по умолчанию) | положительное целое числоМаксимальное количество декодирования итераций в виде положительного целого числа.
Типы данных: double
Stop iterating when code converges
— Прекратите декодировать на основе расчетного синдрома или проверки четности кода компонентаon
(значение по умолчанию) | off
Выберите Stop iterating when code converges, чтобы отключить декодирование рано, если расчетный синдром или проверка четности кода компонента оценивают, чтобы обнулить перед Максимальным количеством итераций.
Output number of iterations executed
— Выведите количество выполняемых итерацийoff
(значение по умолчанию) | on
Выберите этот параметр, чтобы добавить Iter
выходной порт и выход фактическое количество TPC декодирование итераций выполняются.
Simulate using
— Тип симуляции, чтобы запуститьсяCode generation
(значение по умолчанию) | Interpreted execution
Тип симуляции, чтобы запуститься в виде Code generation
или Interpreted execution
.
Code generation
– Симулируйте модель при помощи сгенерированного кода C. В первый раз, когда вы запускаете симуляцию, Simulink® генерирует код С для блока. Код С снова используется для последующих симуляций, если модель не изменяется. Эта опция требует дополнительного времени запуска, но скорость последующих симуляций быстрее, чем Interpreted execution
.
Interpreted execution
– Симулируйте модель при помощи интерпретатора MATLAB®. Эта опция требует меньшего количества времени запуска, чем Code generation
метод, но скорость последующих симуляций медленнее. В этом режиме можно отладить исходный код блока.
Типы данных |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Эта таблица приводит поддерживаемые пары кода компонента для строки (N R, K R) и столбец (N C, K C) параметры.
N R и K R представляют количество строк в матрице кода продукта и матрице сообщения, соответственно.
N C и K C представляют количество столбцов в матрице кода продукта и матрице сообщения, соответственно.
В каждом типе кода любые две пары кода компонента могут сформировать 2D код TPC. Таблица также включает возможность исправления ошибок каждой пары кода.
Тип кода | Пары кода компонента (N R, K R) и (N C, K C) | Возможность исправления ошибок (T) |
Код Хемминга | (255,247) | 1 |
(127,120) | 1 | |
(63,57) | 1 | |
(31,26) | 1 | |
(15,11) | 1 | |
(7,4) | 1 | |
Расширенный Код Хемминга | (256,247) | 1 |
(128,120) | 1 | |
(64,57) | 1 | |
(32,26) | 1 | |
(16,11) | 1 | |
(8,4) | 1 | |
Код BCH | (255,239) | 2 |
(127,113) | 2 | |
(63,51) | 2 | |
(31,21) | 2 | |
(15,7) | 2 | |
Расширенный код BCH | (256,239) | 2 |
(128,113) | 2 | |
(64,51) | 2 | |
(32,21) | 2 | |
(16,7) | 2 | |
Код с проверкой четности | (256,255) | - |
(128,127) | - | |
(64,63) | - | |
(32,31) | - | |
(16,15) | - | |
(8,7) | - | |
(4,3) | - |
Турбо коды продуктов (TPC) являются формой каскадных кодов, используемых в качестве кодов прямого исправления ошибок (FEC). Два или больше блочных кода компонента, такие как систематические линейные блочные коды, используются, чтобы создать TPCs. Декодер TPC достигает почти оптимального декодирования кодов продуктов с помощью Чейза, декодирующего и алгоритма Pyndiah, чтобы выполнить итеративный мягкий вход, мягкое выходное декодирование. Для подробного описания см. [1] и [2]. Этот декодер реализует итеративный мягкий вход, мягкий выход 2D декодирование кода продукта, как описано в [2], с помощью двух Линейных Блочных кодов. Декодер ожидает мягкие битные логарифмические отношения правдоподобия (LLRs), полученный из цифровой демодуляции как входной сигнал.
Декодер TPC принимает или или сокращенные коды во всю длину.
TPC декодирование сообщений во всю длину
Закодированные входные сигналы TPC во всю длину декодируются с помощью, задал 2D пары кода TPC. Построчное декодирование использует (N C, K C) пара кода и по столбцам декодирование использования (N R, K R) пара кода. Длиной входного вектора должен быть N R × N C. Чтобы выполнить 2D декодирование TPC, вектор-столбец входа LLRs, состоявшего из сообщения и битов четности, располагается в матрицу R-by-NC N.
Декодер TPC достигает почти оптимального декодирования кодов продуктов с помощью Чейза, декодирующего и алгоритма Pyndiah, чтобы выполнить итеративный мягкий вход, мягкое выходное декодирование. Чейз, декодирующий, формирует набор возможных кодовых комбинаций для каждой строки или столбца. Алгоритм Pyndiah вычисляет мягкую информацию, запрошенную для следующего шага декодирования.
Итеративный мягкий вход, мягкий Выходной декодер
Итеративный мягкий вход, мягкое выходное декодирование, как показано в блок-схеме, выполняет два шага декодирования для каждой итерации.
Мягкими входными параметрами для декодирования является R (m) = R + α (m) W (m).
Счетчик цикла итерации i постепенно увеличивается от i = 1 к конкретному количеству итераций.
m = 2
i 1
индекс шага декодирования.
R является полученной матрицей LLR.
R (m) является мягким входом для m th декодирующий шаг.
W (m) является входной информацией о значении внешних параметров для m th декодирующий шаг.
α (m) = [0,0.2,0.3,0.5,0.7,0.9,1,1...], где α является фактором взвешивания, примененным на основе индекса шага декодирования. Для более высоких шагов декодирования, α = 1.
β (m) = [0.2,0.4,0.6,0.8,1,1...], где β является фактором надежности, примененным на основе индекса шага декодирования. Для более высоких шагов декодирования, β = 1.
D содержит декодируемые биты сообщения. Биты выходного сигнала формируются из D путем отображения –1 к 0 и +1 к 1, затем изменения блока сообщения в вектор-столбец.
Биты выходного сигнала формируются после итерации через конкретное количество итераций, или, если раннее завершение включено после сходимости кода.
Раннее завершение декодирования TPC
Если раннее завершение включено, проверка сходимости кода выполнена на трудном решении о мягком входе на каждом построчном и постолбцовом шаге декодирования. Раннее завершение может быть инициировано, или после сходятся построчное декодирование или после постолбцовое декодирование.
Код сходится если для всех строк или всех столбцов,
Синдром оценивает, чтобы обнулить в кодах (Коды Хемминга, Расширенные Коды Хемминга, коды BCH или Расширенные коды BCH).
Проверка четности оценена, чтобы обнулить в кодах с проверкой четности.
Количество, о котором сообщают, итераций оценивает к значению итерации, которое в настоящее время происходит. Например, если проверке сходимости кода удовлетворяют после построчного декодирования в третьей итерации (после того, как 2,5 декодирования продвигаются), затем количество возвращенной итерации равняется 3.
TPC декодирование сокращенных сообщений
Закодированные сокращенные входные сигналы TPC декодируются с помощью, задал 2D пары кода TPC. Построчное декодирование использует (N C – K C + S C, S C) пара кода и по столбцам декодирование использования (N R – K R + S R, S R) пара кода. Длина входного вектора должна быть (N R – K R + S R) × (N C– K C + S C). Чтобы выполнить 2D декодирование TPC сокращенных сообщений, вектор-столбец входа LLRs, состоявшего из сокращенного сообщения и битов четности, располагается в (N R – K R + S R) (N C – K C + S C) матрица.
Декодер TPC обрабатывает полученное сокращенное сообщение LLRs, похожий на полные коды за этими исключениями:
Сокращенные позиции двоичного разряда в полученной кодовой комбинации установлены в –1.
Алгоритм Преследования не рассматривает сокращенных позиций двоичного разряда при выборе наименее надежных битов.
[1] Преследуйте, D. "Класс Алгоритмов для Декодирования Блочных кодов с информацией об Измерении Канала". Транзакции IEEE на Теории информации, Объем 18, Номер 1, январь 1972, стр 170–182.
[2] Pyndiah, R. M. "Почти оптимальное Декодирование Кодов продуктов: Блокируйте Турбокоды". Транзакции IEEE на Коммуникациях. Издание 46, Номер 8, август 1998, стр 1003–1010.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.