Изобретение относится к технике связи и может использоваться при проектировании новых и модернизации существующих систем передачи дискретной информации.
Известны устройства восстановления стираний и исправления ошибок, использующие индексы мягких решений (индекс достоверности символов, градации надежности символов) для повышения достоверности приема информации (см. Р.Морелос-Сарагоса. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применения. М., Техносфера, 2005, с. 103, … ,105; а также устройства по патентам РФ на изобретения №№2166235; 2209519; 2209520; 2256294; 2344556).
В патентах №2256294 и №2344556 описаны методы итеративных преобразований индексов мягких решений кодовых комбинаций двоичных блоковых кодов, которые обеспечивают исправление одиночных ошибок за счет последовательного повышения индексов мягких решений в системе проверочных соотношений кодов. Недостатком метода является его ограниченная возможность по исправлению нескольких ошибок.
Кроме того, известны методы декодирования недвоичных кодов Рида-Соломона (PC) (см. В.К.Конопелько, В.А.Липницкий. Теория норм синдромов и перестановочное декодирование помехоустойчивых кодов. Изд. 3-е. - М., Едиториал УРСС, 2012. - С. 9-15; а также В.Г.Карташевский, Д.В.Мишин. Итерационное декодирование турбо-кодов в канале с памятью // 3-я Международная конференция и выставка «Цифровая обработка сигналов и ее применение». - М., 2000. - С. 65-68).
Наиболее близким устройством такого же назначения является декодер, алгоритм работы которого описан в работе В.К.Конопелько, В.А.Липницкий (см. В.К.Конопелько, В.А.Липницкий. Теория норм синдромов и перестановочное декодирование помехоустойчивых кодов. Изд. 3-е. - М., Едиториал УРСС, 2012), содержащий блок приема, выход которого подключен к блоку внутреннего кода, первый выход которого подключен к буферу внешнего кода, один выход которого подключен к первому входу блока синдромов, второй вход которого подключен к одному выходу блока стираний, а его другой выход подключен к блоку локаторов стираний, первый выход которого через блок производной подключен ко второму входу блока исправления стираний, первый вход которого подключен к первому выходу блока произведений, тогда как первый и второй входы этого блока соответственно подключены к выходу блока синдромов и второму выходу блока локаторов стираний, при этом другой выход буфера внешнего кода подключен к первому входу выходного блока, а второй и третий входы этого блока подключены соответственно к выходу блока исправления стираний и к третьему выходу блока стираний, при этом второй выход блока внутреннего кода подключен к входу блока стираний.
К недостаткам работы аналогов, в том числе и прототипа предлагаемого декодера, следует отнести неполное использование введенной во внутренний и внешний коды избыточности из-за применения жестких алгоритмов обработки данных. Это приводит к тому, что блок внутреннего кода при жестком декодировании комбинации этого кода допускает ошибочное декодирование недвоичных символов внешнего кода, что требует от декодера внешнего кода исправления не только стираний, но и ошибок. Это повышает сложность декодера при вычислении недвоичных разрядов внешнего кода, поскольку часть введенной во внешний код избыточности необходимо использовать для вычисления локаторов возможных ошибок.
Технический результат - повышение достоверности приема информации. Для достижения технического результата в мягкий декодер последовательного турбокода, содержащий блок приема и блок внутреннего кода, первый выход которого подключен к буферу внешнего кода, один выход которого подключен к первому входу блока синдромов, второй вход которого подключен к одному выходу блока стираний, а его другой выход подключен к блоку локаторов стираний, первый выход которого через блок производной подключен ко второму входу блока исправления стираний, первый вход которого подключен к выходу блока произведений, тогда как первый и второй входы этого блока соответственно подключены к выходу блока синдромов и второму выходу блока локатора стираний, при этом другой выход буфера внешнего кода подключен к первому входу выходного блока, а второй и третий входы этого блока подключены соответственно к выходу блока исправления стираний и к третьему выходу блока стираний, дополнительно введены: блок индексов, блок статистических решений, блок итераций и блок приоритетов, при этом выход блока приема через блок индексов подключен к блоку статистических решений, первый выход которого подключен к одному входу блока итераций, выход которого подключен к блоку внутреннего кода, второй выход которого подключен к другому входу блока итераций, при этом третий выход блока внутреннего кода подключен к первому входу блока приоритетов, а его второй вход подключен ко второму выходу блока статистических решений, при этом выход блока приоритетов подключен к блоку стираний.
На фиг.1 приведена схема предложенного мягкого декодера последовательного турбокода, содержащая блок приема 1, блок индексов 2, блок статистических решений 3, блок итераций 4, блок внутреннего кода 5, блок приоритетов 6, блок стираний 7, блок локаторов стираний 8, блок производной 9, буфер внешнего кода 10, блок синдромов 11, блок произведений 12, блок исправления стираний 13 и выходной блок 14. Выход блока приема 1 через блок индексов 2 подключен к блоку статистических решений 3, первый выход которого подключен к одному входу блока итераций 4, а второй выход блока статистических решений 3 подключен ко второму входу блока приоритетов 6, при этом выход блока итераций 4 подключен к входу блока внутреннего кода 5, первый выход которого подключен к буферу внешнего кода 10, а второй и третий выходы блока внутреннего кода 5 соответственно подключены к другому входу блока итераций 4 и к первому входу блока приоритетов 6, а выход этого блока 6 подключен к входу блока стираний 7, один выход которого подключен ко второму входу блока синдромов 11, другой выход блока стираний 7 подключен к блоку локаторов стираний 8, а третий выход блока стираний 7 подключен к третьему входу выходного блока 14, при этом первый вход блока синдромов 11 подключен к одному выходу буфера внешнего кода 10, другой выход которого подключен к первому входу выходного блока 14, при этом выход блока синдромов 11 подключен к первому входу блока произведений 12, а его второй вход подключен ко второму выходу блока локаторов стираний 8, первый выход которого через блок производной 9 подключен ко второму входу блока исправления стираний 13, тогда как его первый вход подключен к выходу блока произведений 12, а выход блока исправления стираний 13 подключен ко второму входу выходного блока 14, выход которого является общим выходом декодера.
Работу декодера рассмотрим на примере использования в качестве внутреннего кода - кода с проверкой четности, а в качестве внешнего кода - код PC (7, 3, 5), построенного над полем GF(23).
Пусть порождающий полином кода PC g(x) определен как
g(х)=(х-α)(х-α2)(х-α3)(х-α4).
Используя таблицу сложения элементов в поле GF(23), получают значение g(x) в явном виде: g(x)-x4+х3α3+х2α0+хα+α3. Пусть с выхода источника информации на вход кодера поступили символы вида Vinf=α2α6α4. Для кодирования вектора Vinf кодом PC повышают его степень на величину хn-k, получая Vinf(x)=х4α2+х5α6+х6α4. Обычно эта процедура выполняется на передаче с использованием сдвигового регистра с обратным связями, соответствующими значению g(x) (см. Б.Скляр. Цифровая связь. М., СП-Б., Киев: Вильяме, 2003, с. 474), при этом на выходе кодера внешнего кода образуется вектор с q-ми символами Vkc вида:
Vkc(x)q=α2+хα4+х2α5+х3α5+х4α2+х5α6+х6α4.
Или в двоичном представлении:
Vkc(x)2=(100)+х(110)+х2(111)+х3(111)+х4(100)+х5(101)+х6(110) и после применения внутреннего кодера с проверкой четности в канал связи будет направлен вектор:
Vtk=(1001)(1100)(1111)(1111)(1001)(1010)(1100), при этом передатчик логические единицы передает с энергией Е, а логические нули с энергией -Е.
После прохождения канала связи блок приема 1 мягкого декодера последовательного турбокода принимает двоичные символы, которые в зависимости от уровня помех в канале связи оказываются в большей или меньшей степени искаженными. Работа блока приема 1 организуется по принципу стирающего канала связи с симметричным интервалом стирания p, где 0≤p≤1 и представляет долю расстояния в системе условных плотностей вероятностей в гауссовском канале связи между математическими ожиданиями
Блок индексов 2 предназначен для формирования целочисленных индексов мягких решений (ИМР). Если 0,9≤|z|≤3σ (здесь σ - среднее квадратическое отклонение), то к жесткому решению добавляется ИМР максимального значения, принятого в данном приемнике, например, λmax=7. Для всех других значений 0≤|z|≤0,9 целочисленные показатели ИМР получают по правилу:
где символ • означает округление значения λi до целочисленной величины в сторону уменьшения (расчет на наихудший случай). При известных р, λmax и Е значения λi(z) представляют легко вычисляемую линейную зависимость. На выходе блока индексов жесткие решения заменяются на значения «минус» для нулей и значения «плюс» для единиц. Таким образом, на выходе этого блока может появиться кортеж данных вида …-5; +6; -7; -7; … Эти данные поступают на вход блока статистических решений 3.
Блок статистических решений 3 осуществляет оценку параметров q-х комбинаций внутреннего кода, используя данные из блока индексов 2. Пусть выбраны λmax=7, Е=2 и p=0,9. Тогда λi≅|5,5×z|. Для получения статистической оценки на длине кодового вектора внутреннего кода определяется среднее значение кортежа ИМР |M(λ)| и оценивается разброс показателей ИМР в виде
Блок итераций 4, получив кодовый вектор внутреннего кода, направляет его на вход блока внутреннего кода 5, где осуществляется декодирование вектора по заданным для этого кода проверочным соотношениям. Если проверочные соотношения выполняются, то вырабатывается сигнал (+рс), который через третий выход этого блока поступает на первый вход блока приоритетов 6. Если проверочные соотношения не выполняются, то вырабатывается сигнал (-рс) и осуществляется попытка восстановления кодового вектора за счет итеративных преобразований. Для этого данные о векторе через второй выход блока внутреннего кода 5 направляются на другой вход блока итераций 4.
Блок итераций 4 обрабатывает подобные данные по правилу: L(λki)+L(λp)≈(-1)1-m×sign[L(λki)]×sign[L(λp)]×min(|L(λki)|,|L(λp)|), здесь функция sign(•) возвращает знак своего аргумента; L(λki) - ИМР символа, участвующего в формировании проверочного бита; L(λp) - ИМР проверочного символа; m - число исключенных из анализа положительных ИМР, входящих в корректируемый вектор (см. патент РФ №2256294). После выполнения итеративных преобразований кодовый вектор возвращается в блок внутреннего кода 5.
Блок приоритетов 6 работает согласно целевой функции, имеющей вид:
где W - знак выполнения проверочных соотношений.
В соответствии с Q{•} блок приоритетов 6 на первом шаге обработки комбинации выполняет оценку проверочных соотношений (выполнение четности в четности в рассматриваемом примере), на втором шаге обработки данных оценивает среднее значение принятых ИМР символов и в последнюю очередь определяет степень разброса зафиксированных приемником индексов. Максимальное значение |M(λ)| соответствует высокой достоверности принятых символов, но может быть получено множество одинаковых значений |M(λ)| при различной совокупности оценок, поэтому необходимо дополнительно оценивать параметр σ(λ). Если возникает ситуация неопределенности, когда |Mi(λ)|=|Mj(λ)| при t≠j, то приоритетной для последующей обработки данных является комбинация, у которой σi(λ)<σj(λ).
Пример расчета приоритета для первого символа кодовой комбинации кода PC приведен в таблице.
-1,41+0,80
-1,41-0,54
+1,41+0,42
-0,61
-1,95
+1,83
3,3=3
2,0=7
1,8=7
+1,41+0,16
-1,41+1,75
-1,41-0,49
+1,57
+0,34
-1,90
1,6=7
1,9=2
1,9=7
Комбинация внутреннего кода в виде последовательности +5 +7 +2 - 7 направляется в блок итераций 4, где выполняются следующие действия: из комбинации удаляется символ +7, который считается принятым надежно. В этом случае значение m=1. Оставшиеся символы +5 +3 - 7 преобразуются по шагам итераций:
После шага 3 итеративных преобразований возможна коррекция символов исходной последовательности: (+5+1=+6); (+3-7=-4); -7. После восстановления вычеркнутого символа будет получено +6+7 -4-7. Следовательно, первоначально принятый символ кода РС α5 преобразуется в символ α4. Полученное значение второго символа используется как индикатор правильности восстановления кодового вектора кода РС. Для выполнения последующей процедуры декодирования комбинации кода РС в целом целесообразно приоритет восстановленной комбинации с «низкого» поменять на «сомнительный».
Расчет значений Q{•} других значений кодового вектора кода РС
+1,41+1,72
+1,41-0,90
+1,41-0,24
+3,31
+0,51
+1,17
3,3=7
2,8=2
6,4=6
+1,41-0,88
+1,41-1,07
+1,41+0,47
+0,53
+0,34
+1,88
2,9=2
1,9=1
1,9=7
-1,41-0,67
-1,41+0,61
+1,41+1,15
-2,08
-0,80
+2,56
2,1=7
2,0=4
2,6=7
-1,41-0,90
+1,41-0,70
-1,41-0,36
-2,31
+0,71
-1,77
2,3=7
3,9=3
1,8=7
+1,41+0,56
-1,41+1,28
-1,41-1,18
+1,97
-0,13
-2,59
2,0=7
0,7=0
2,6=7
Данные из блока внутреннего кода 5 в виде символов кода РС накапливаются в буфере внешнего кода 10, а из блока приоритетов 6 поступают в блок стираний 7.
Блок стираний 7 формирует данные, выделяя в отдельные группы символы кода РС с «высоким» и «низким» приоритетом. Символы с «сомнительным» приоритетом могут дополнять группу символов с «низким» приоритетом в зависимости от исправляющей способности кода. Определив число S ненадежных символов кода PC, блок 7 стирает их при условии, что S=dmin -1. При dmin=5 декодер кода PC способен восстановить четыре стирания. Кодовый вектор кода PC принимает вид α2S1S2S3α2α6S4, и это значение передается в блок синдромов 11.
Блок синдромов 11 учитывает значения стираний в сочетании с их позициями. Работа блока представляется таблицей.
Расстановка символов кодового кода PC вектора по позициям
На основании этих данных в блоке 11 рассчитываются синдромы для позиций 1; 2; 3; 6. Следует иметь в виду, что независимо от номера стертой позиции значения синдромов стертых позиций (при наличии четырех стираний) вычисляются всегда для j=0; j=1; j=2; j=3.
Итогом работы блока 11 является полином синдромов
S(x)=α5+хα3+х2α2+х3α6.
Одновременно с этим по известным стертым позициям, полученным из блока стираний 7, в блоке локаторов стираний 8 определяется полином локаторов стираний
L(x)=(1+хα)(1+хα2)(1+хα3)(1+хα6)=(1+хα2+хα+х2α3)(1+хα6+хα3+х2α9)=(1+хα4+х2α3)(1+хα4+х2α2)=1+х2(α2+α+α3)+х2(α6+α0)+х4α5=1+х2α6+х3α2+х4α5.
Или в окончательном виде L(x)=1+x2α6+х3α2+х4α5. Данные из блока синдромов 11 и блока локаторов стираний 8 объединяются в блоке произведений 12. При выполнении этой процедуры все значения х со степенями, равными и старше величины n-k, в расчет не принимаются. Таким образом в блоке 12 образуется последовательность вида:
S(x)×L(x)=(α+xα3+х2α2+х3α6)(1+х2α6+х3α2+х4α5)=α5+хα3+х2α2+х3α6+х2α4+х3α2+х3α0=α5+хα3+х2α1 . Одновременно с работой блока 12 для реализации алгоритма Форни (решение ключевого уравнения Форни) по данным из блока локаторов стираний 8 в блоке производной 9 определяется производная от значений L(x). Будет получен полином вида L'(х)=0+2хα6+3х2α2+4х3α5=х2α2.
Данные из блока произведений 12 и блока производной 9 объединяются в блоке исправления стираний 13, в котором выполняются действия для каждой стертой позиции с учетом их номера:
В выходном блоке 14 вторая позиция кода PC, полученная с использованием алгоритма Форни, сравнивается с позицией, полученной за счет итеративных преобразований и сохранившей свое новое значение в буфере внешнего кода 10. Они совпадают: Y1=α4, что указывает на правильность выполненных действий по восстановлению стираний.
Алгоритм работы предложенного декодера исключает применение процедуры целенаправленного подбора полинома локаторов стираний, носит детерминированный характер, исключает поиск обратных матриц и может быть реализован на основе современной базы микропроцессоров.
название | год | авторы | номер документа |
---|---|---|---|
ЛЕКСИКОГРАФИЧЕСКИЙ ДЕКОДЕР КАСКАДНОГО КОДА | 2015 |
|
RU2619533C2 |
ДЕКОДЕР С УПОРЯДОЧЕННОЙ СТАТИСТИКОЙ СИМВОЛОВ | 2012 |
|
RU2490804C1 |
СПОСОБ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ДАННЫХ ДЛЯ СИСТЕМЫ РАДИОВЕЩАТЕЛЬНОЙ ПЕРЕДАЧИ ЦИФРОВЫХ СООБЩЕНИЙ | 1994 |
|
RU2110148C1 |
ДЕКОДЕР С ОБРАБОТКОЙ СПИСКА БАЗОВОГО КЛАСТЕРА | 2015 |
|
RU2605365C1 |
АДАПТИВНЫЙ ДЕКОДЕР ПРОИЗВЕДЕНИЯ КОДОВ РАЗМЕРНОСТИ 3D | 2012 |
|
RU2500073C1 |
ДЕКОДЕР ПРОИЗВЕДЕНИЯ КОДОВ РАЗМЕРНОСТИ 3D С ЗАПРОСАМИ | 2014 |
|
RU2562415C1 |
СИСТЕМА ИСПРАВЛЕНИЯ СТИРАНИЙ С ЗАЩИТОЙ НОМЕРА КЛАСТЕРА | 2012 |
|
RU2485702C1 |
УСТРОЙСТВО ДЛЯ КОРРЕКЦИИ ОШИБОК | 1991 |
|
RU2037271C1 |
УСТРОЙСТВО КОДИРОВАНИЯ-ДЕКОДИРОВАНИЯ ИНФОРМАЦИИ | 1994 |
|
RU2115231C1 |
СПОСОБ МЯГКОГО ДЕКОДИРОВАНИЯ БЛОКОВЫХ КОДОВ | 2015 |
|
RU2580797C1 |
Изобретение относится к технике связи. Технический результат заключается в повышении достоверности приема информации. Устройство содержит блок приема, блок индексов, блок статистических решений, блок итераций, блок внутреннего кода, блок приоритетов, блок стираний, блок локаторов стираний, блок производной, буфер внешнего кода, блок синдромов, блок произведений, блок исправления стираний и выходной блок. 1 ил.
Мягкий декодер последовательного турбокода, содержащий блок приема и блок внутреннего кода, первый выход которого подключен к буферу внешнего кода, один выход которого подключен к первому входу блока синдромов, второй вход которого подключен к одному выходу блока стираний, а его другой выход подключен к блоку локаторов стираний, первый выход которого через блок производной подключен ко второму входу блока исправления стираний, первый вход которого подключен к выходу блока произведений, тогда как первый и второй входы этого блока соответственно подключены к выходу блока синдромов и второму выходу блока локатора стираний, при этом другой выход буфера внешнего кода подключен к первому входу выходного блока, а второй и третий входы этого блока подключены соответственно к выходу блока исправления стираний и к третьему выходу блока стираний, отличающийся тем, что дополнительно введен блок индексов, блок статистических решений, блок итераций и блок приоритетов, при этом выход блока приема через блок индексов подключен к блоку статистических решений, первый выход которого подключен к одному входу блока итераций, выход которого подключен к блоку внутреннего кода, второй выход которого подключен к другому входу блока итераций, при этом третий выход блока внутреннего кода подключен к первому входу блока приоритетов, а его второй вход подключен ко второму выходу блока статистических решений, при этом выход блока приоритетов подключен к блоку стираний.
Способ приготовления лака | 1924 |
|
SU2011A1 |
US 7042954 B2, 09.05.2006 | |||
ДЕКОДЕР С ИСПРАВЛЕНИЕМ СТИРАНИЙ | 2007 |
|
RU2344556C1 |
УСТРОЙСТВО ВОССТАНОВЛЕНИЯ КОДОВОЙ ПОСЛЕДОВАТЕЛЬНОСТИ | 2003 |
|
RU2256294C1 |
ДЕКОДЕР С ПОВЫШЕННОЙ КОРРЕКТИРУЮЩЕЙ СПОСОБНОСТЬЮ | 2010 |
|
RU2438252C1 |
Авторы
Даты
2015-01-10—Публикация
2013-05-20—Подача