Кодирование и декодирование цифрового потока МРЕС-2 с широким диапазоном исправляемых случайных ошибок
Рассмотрен метод помехоустойчивого кодирования и декодирования пакетов транспортного потока МРЕ&2 с использованием символьного перемежения, обеспечивающий высокую корректирующую способность с восстановлением пакетов ошибочно принятых символов и отдельных символов, малую задержку обрабатываемой информации и высокую скорость цифрового информационного потока. Найден короткий систематический циклический код Файра, информационная часть которого кратна информационной части пакетов МРЕ&2, что позволяет построить систематический циклический код (1680,1504) методом символьного перемежения, предназначенный для кодирования пакетов МРЕ&2. На приемной стороне этот длинный код распараллеливается на короткие исходные коды Файра, которые в свою очередь декодируются с исправлением ошибок. Затем исходные исправленные коды Файра Ключевые слова: код ко^рэва^е, подвергаются деперемежению и формируется переданный код с исправленными ошибками. Описанный
перемежение, ^пе/зешже^, ткетошибок, метод кодирования-декодирования пакетов МРЕЭ-2 позволяет исправлять пакеты шибок длиной спучайная ошибка, ск°р°стъ к°да 64 символа и менее, большое число более коротких пакетов ошибок и одиночные случайные ошибки.
Быков В.В.,
к.т.н, доцент МТУСИ
Особенности калов с символьным перемажем нем
В системах 13\'В-Т и П\''В-Т2 применяется каскадное кодирование с внешним и внутренним кодами. Сверточйые коды и 1_[)РС [1] исправляют одиночные случайные ошибки, а коды Рида-Соломона [2, 3] и БЧХ - пакеты ошибок. Однако при низком отношении сигнал/шум, когда много пакетов ошибок, код 1£>РС, как и сверточный код в ГУУВ-Т, может давать даже увеличение числа этих ошибок.
Относительная скорость цифрового потока каскадного кодирования в системе [5УВ-Т2 весьма низкая -32400/64800—0,5. Число исправляемы\ ошибок в пакете кодом ЬЧХ - всего 12. Сверточные коды также снижают скорость передачи информации. Поэтому желательно найти коды для пакетов \lPEG-2 и МРЕО-4, которые позволяют корректировать большое число ошибок и обеспечивают более высокую относительную скорость потока, чем при каскадном кодировании.
В некоторых каналах желательно применять коды, которые могут исправлять более чем ОДИН пакет ошибок в каждом блоке. Однако, циклический код (в частности ЕЧХ), исправляющий случайные ошибки, можно применять для исправления как одиночных случайных ошибок, так и пакетов ошибок, ио не для исправления одновременно тех и других [3, с.398].
Эту проблему можно решить е помощью символьного перемежения циклических систематических кодов [3, с.39!-3921. Приведенная в этой книге теорема 1!.!. показывает, что длинный циклический код с хорошей корректирующей способностью для пакетов ошибок может быть построен путем применения метода символьного перемежения к более короткому коду.
Слово с символьным перемежением формируется следующим образом. Ьсли имеются, например, три слова хцх^ л'13 ; Л'2| л':2-^23 ; *32-*33. го слово с символьным перемежением степени 3 для этих трех кодов имеет вид :
I ДГт 1 А-з I ^22 ^32-^13 ^23 '^33 ■
Для циклических кодов такой метод перемежения приводит также к циклическим кодам. Пусть образующий полином дчя циклического кода без перемежения имеет вид ^фг). Тогда образующий полином для кода с перемежением имеет вид^.т^), где /- степень перемежения.
Т-Сотт #12-2014
Кодовые слова с(.г) с перемежением можно получить умножением информационного слова ¿(х) на образующий многочлен кода с перемежением х}): с(х)= i(x)-g{ х1).
Например, в таблице 5.1 [4, с.138] приведены простые циклические коды, из которых можно построить более длинные коды методом перемежения. Чтобы из (л,А')-кода получить (J-n,j-k)~код с перемежением степени j, выберем из исходного ко,та j произвольных кодовых слов и укрупним кодовые слова, чередуя их символы. Если исходный код исправлял произвольный пакет ошибок длины 1, то, результирующий код будет исправлять все пакеты ошибок длины j t Например, применяя метод перемежения к четырем копиям циклического кода (34,22), исправляющего пакеты с 6 ошибками, получаем (136,88)-код [3, с.393). В лих обозначениях первое число - общее число символов в коде, а второе - число информационных символов. Новый код с перемежением будет исправлять любой пакет ошибок длины 6-4 = 24.
Предположим, что исходный код формируется многочленом gix). Тогда образующий многочлен кода, получаемого перемежением, равен g(xj).
Это показано в [4, с.139]. Кодовые слова с(д:) с перемежением получаем умножением информационного слова Цх) на порождающий многочлен g{-vJ):
ф")= i(x)-g{xJ) (1)
Для формирования слова кода-перемежения каждое из выбранных информационных кодовых слов сначала растягивается вставкой (/-1) пулей между всеми соседними символами. Затем получается кодовое слово с перемежением путем задержки п сложением растянутых исходных слов: с{х)= c¡(xJ) + x-c,(xj) +...+ xj~' iсу (г^ = = ' g(XJ) + х- ¡2(xj) • g(xJ )+...+í,{xJ) ■ g(xJ) = = [M + ЛГ- Ь(У ) +... + /МЫ*7)- (2)
Т.о. кодовое слово с перемежением степени j можно формировать путем умножения суммарного информационного слова
+ (3)
на образующий полином g{ х' ).
Многочлен (3) представляет собой информационное слово, составленное из исходных информационных слов методом перемежения. Это слово можно заменить любым информационным словом Цх), предназначенным для кодирования. В результате перемножения этих двух полиномов получаем кодовое слово с(.т) = i(xygix') с перемежением степени j [4, с. 139].
Из представленных вычислений следует, что если для Получения удлиненного кода проводится перемежение степени j циклического кода, то удлиненный код можно декодировать тем же способом, что и циклический код. При этом, каждое из j принятых коротких слов можно декодировать независимо |3, с.403]. Это свойство и будет использовано и дальнейшем для построения декодера (рис. 1.)
Коррекции ошибок кодами, сформированными
перемежением
Корректирующую возможность кодов с перемежен нем c(xl можно оценить по сумме корректирующих возможностей кодовых слов гД-г), которые сначала кодируются, а затем перемежаются ( ) ).
Например, циклический код ЬЧХ (п, к)=(169, 155) позволяет исправлять пакеты с h=6 ошибками и меньше [3, с.393|. Если для этого кода использовано перемежение со степенью У =10. то в результате получен код (1690, 1550), который может исправлять пакеты с 6-10=60 ошибок.
Но этот код (1690, 1550), может исправлять также п вее ошибки, исправляемые исходным кодом ( 169, 155) - пакеты с 6-ю ошибками и меньше. Это следует из приведенных выше вычислений (1-4) и идентичности кодов, полученных двумя способами. Мри этом, поскольку степень перемеже-ния /=10, то код (1690, 1550) может исправлять не один, а 10 пакетов с числом ошибок 6 и менее.
Такие возможности исправления ошибок описаны в [3, с.406)]. Код, исправляющий пакеты с t ошибками, после перемежен и я степени j может исправлять все одиночные пакеты длины j-t или меньше, два произвольных пакета длины {j t П ) или меньше и так далее, вплоть до исправления j произвольных пакетов длины t или меньше. Это эффективный подход к исправлению многократных пакетов ошибок.
Следовательно, коды с персмсжением позволяют исправлять не только единичные пакеты ошибок, но и несколько пакетов в кодовом слове. А поскольку пакет ошибок может содержать и 1, 2... / ошибок, то коды с леремежением позволяют исправлял, не только пакеты, но и одиночные случайные ошибки (до j штук).
Помехоустойчивый код для передачи пакетов
транспортпого потока MPEG-2
Транспортный поток пакетов MPEG-2 представляет собой последовательность пакетов фиксированной длины ¡88 байт (1504 бит). Чтобы осуществить помехоустойчивое кодирование этих пакетов методом символьного перемеже-ния, найдем систематический [5] циклический код, содержащий 1504 информационных символа. Такой код можно получить из короткого кода Фабра (105.94) [4, с.142] с ем-мольным перемещением его со степенью/=16 (9416=1504). Тогда более длинный код принимает вид систематического циклического кода (1680,1504). Поскольку код (105,94) исправляет пакеты ошибок длины 4 и менее, то код (1680,1504} исправляет пакеты ошибок, содержащий 64 ошибочных символа и менее (4-16=64). Таким образом, код (1680,1504), полученный символьным леремежением короткого кода Файра (105,94), можно использовать для кодирования пакетов транспортного потока MPEG-2. В этом коде 1680 - общее число символов (я), а 1504 — число информационных символов (к).
Отмстим, что коды Файра по свойствам подобны кодам БЧХ.
Декодирование кодов, сформированных не ре меже и и ем
Для построения декодера кода (1680,1504) воспользуется тем, что каждое из j принятых коротких слов кода (105,94) можно декодировать независимо [3, с,403]. То есть, сначала
необходимо распараллелить принятое слово на исходные кодовые слова кода (105,94). Будем называть их полсловами (рис. 1). Затем следует декодировать их с исправлением ошибок, а потом - восстановить принятое кодовое слово Кода (1680,1504) путем суммирования исправленных исходных полслов (105,94). 13 результате получим переданное кодовое слово, по с исправленными символами.
11ри таком декодировании код, исправляющий пакет с ! ошибками, после псрсмсжсния степени < может исправлять вее одиночные пакеты длины Н или меньше, два произвольных пакета длины НИ или меньше и так далее, вплоть до / произвольных пакетов длины / или меньше. Это эффективный с практической точки зрения подход к исправлению многократных пакетов ошибок в реальных каналах [3, с.406].
Обычный код, исправляющий случайные ошибки, можно применять для исправления как случайных ошибок, так и пакетов ошибок, но не для исправления одновременно тех и других.
Декодирование кодового слова с неремежением путем распараллеливания его на исходные кодовые полслова
Описание схемы декодера
Обобщенная структурная схема декодера представлена на рис.1. Принятый цифровой поток МРЕО-2 или МРЕС-4 с кодовыми словами (1680,1504) поступает на схему депере-межения. Она распараллеливает поток на ¡6 низкоскоростных потоков, состоящих уже из подслов кода Файра (105,94), Дачее каждое из этих подслов анализируется и обрабатываются своим декодером Файра, в которых исправляются символы с ошибками.
Затем все 16 потоков поступают в блок суммирования (персмежсння) всех 16 подслов. Здесь восстанавливается исходное переданное слово с исправленными символами. При суммировании каждое подслово запаздывает относительно предыдущего на один бит, как и при деперемеженни.
Ночгра ЭДШНб \
Вход Цифрового
Дспхрсисхогас
фшятос
лргаитотр сюм
tri 16
мремежгшкм соспшшоащх 1ХДО9М
1-й декодер кода ФаГфа Î105/M)
Вы.ч t-го itwiciofca to ошибки
Bun 2-го подсюьа to ounifiwi
2-й декодер коза Файрц
(]Û5r9-l)
Мб
f Чсча яы.клгииа тактом«
ItpUHIMUl t.1a№ It HI кислиукии« и вот oiitibif il IIH
LJ
ФМрв 11«,« I
Елок суммирования
16-11 Полслов дли формирования переданного кода
16-11 деигяср кода ф-ii'pj
([05.М
Вш 16-m гщелоьа С« ошибки
Рис.1. Схема исправления ошибок в кодовом слове с символьным перемежением, посредством разделения его на кодовые подслова
Корректирующие возможности метода
декодирован и »1 кода с неремежением
Рассмотрим процесс воздействия помех на кодовые слова кода (1680,1504), полученного перемеженнем из кода Файра (105,94). Код (1680,1504) исправляет пакеты ошибок длины до 64, а исходный код (105,94) - пакеты ошибок длины до 4. Тогда, для гарантированного исправления ошибок необходимо, чтобы в одном полслове длиной 105 бит (после деие-ремежепия) не оказалось пакетов ошибок длиной больше 4.
11а рис.2а покачаны 4 группы по 16 символов кода 1680,1504. Каждая группа содержит 16 бит - по одному биту
18
T-Comm #12-2014
на каждое подслово: в первой группе содержатся 16 первых символов каждого из 16 поде лов; во второй группе - 16 вторых символов каждого из 16 подслов; в третьей группе - 16 третьих символов каждого из 16 подслов; в четвертой группе- 16 четвертых символов каждого из 16 подслов.
i i J * i и 1 : . i ■■ " | , ' < • ;>.-■'
.............,............ N1:111' ,
v V Вр&ия
Первые символы Вторые символы Третьи символы Четвертые символы
каждого из каждого из каждого из каждого из
16-ти подслое 16-ти подспов 16-ти подслой 16-ти подслое
1 г J i li 1в 1 3 3 4.-15 И 1 J 1 4 15 15 1 3 1 4 (i 16 t J 1 4 15 Itt
I I M I и I Mill..................ill ,
б) ^T-v—"—' Время
Пакет ошибок 16 символов
1 2 S i 15 1« 1 3 1 4,15 16 1 1 J 4 15 1в 1 3 I 4 R 16 t 3 I 4 If IB
LI II Щ I i I II,II I I I 1,1 i I I i,i I LLUJ-LLU
a) !---1 Время
Пакет ошибок W сицюлэ
Рис,2. Воздействие пакетов ошибок на кодовое слово {1680.1504) с перемежением степениу=!6, исправляющего пакеты ошибок ДЛИНОЙ 64 и менее
Пусть в принятом кодовом слове появился пакет ошибок длиной 16 символов (рис. 26). Тогда, после деперемежения по схеме (рис. 1), в каждом из подслов появится только одна ошибка и она будет исправлена в блоке исправления ошибки.
Если пакет ошибок имеет длину 64 символа (рис. 2в), то после деперемежения в каждом из 16 подслов окажется не более четырех ошибок. Они также будут гарантированно исправлены, так как код (105,94) исправляет пакеты длиной 4 и менее.
Очевидно, если пакет ошибок содержит меньше 64 ошибочных символа, то все ошибки также будут гарантированно исправлены, поскольку в каждом из 16 подслов окажется не более 4-х ошибок.
Следовательно представленный метод кодирования и декодирования позволяет исправлять:
- один пакет ошибок длиной 64 и менее;
-два пакета ошибок, каждый длиной 32 и меньше; -четыре пакета ошибок, каждый длиной 16 и меньше;
- 16 пакетов ошибок, каждый длиной 4 и менее;
- по меньше мере 16 одиночных ошибок, разбросанных по коду (1680,1504),
и многие другие варианты ошибок. Таким образом, использование рассмотренной методики кодирования и декодирования для коррекции ошибок в цифровом транспортном потоке MPEG-2 и MPEG-4 позволяет одновременно устранить большое число возможных вариантов случайных коротких ошибок (до 16 штук) и групповые ошибки до 64 ошибок в группе.
Преимущества предложенною метода кодировании и декодирования
Рассмотренное кодирование с перемежением кодом (1680,1504) позволяет исправлять многократные ошибки, возникшие в одном кодовом слове при передаче. Они исправляют пакеты ошибок и, фактически, случайные одиночные, распределенные по всему слову длиной 1680 символов.
Поскольку исправляются как одиночные, так и групповые ошибки длиной 64 и менее, отпадает необходимость использования операций п ерем ежен ия-деперемежения и
каскадного кодирования, которые обычно применяется в системах DVB-T и DVB-T2.
Поскольку число операций и размер декодера растут как /г-log 2 и [3, С.ЗЗО], то применение нескольких простых декодеров (рис.1) обеспечивает существенное сокращение числа операции и размера декодера.
Сложность декодирования кодов Файра и БЧХ-кодов при большом значении п очень велика. Поэтому использование Декодеров короткого кода Файра (105,94) существенно снижает сложность декодирования исходного кода (1680,1504) и увеличивает скорость обработки принимаемых кодовых слов, существенно уменьшая задержку цифрового потока. Это объясняется тем, что операции исправления ошибок выполняются одновременно па 16 коротких кодах с и=105, а не на одном длинном коде с jí=I680 символов. Схема предложенного декодера сокращает задержку более чем на порядок.
Обеспечивается высокая относительная скорость кода R= 1504/1680—0,895. При каскадном кодировании в системе DVB-T2 R=32400/6480№=0,5. Число исправляемых ошибок в пакете кодом БЧХ — всего 12. При чем снижение скорости потока происходит в основном за счет LDPC-кодирования, а в DVB-T - за счет сверточного кодирования. В DVB-T свертсч-нын код сокращает скорость основной информации в два раза.
Существенным достоинством предложенного кодирования и декодирования является возможность декодирования различными декодерами, исправляющими пакеты ошибок разной длины, при одном и том же кодере и методе кодирования.
Конечно, эта ошибки могут распределиться по другому и все попасть с символы одного из подслов. Тогда они не будут исправлены, так как код (105,94) исправляет четыре ошибки и менее. Но вероятность этого меньше, чем вероятность распределения ошибок по нескольким символам. Отсюда очевидно, что код с перемежением эффективен при воздействии импульсных помех, которые создают пакеты ошибок. Код (1680,1504) сможет исправлять не только короткие пакеты ошибок, одиночные ошибки, но и пакеты ошибок длиной до 64. Например, он может исправлять 16 пакетов, содержащих от 1 до 4 ошибок на каждые 105 символов (1680/16=105).
Рассмотренный метод помехоустойчивого кодирования и декодирования пакетов транспортного потока MPEG-2 с использованием символьного перемежения обеспечивает высокую корректирующую способность. Исправляет длинные пакеты ошибок, группы пакетов ошибок и одиночные ошибки. Обеспечивает высокую относительную скорость информационной части цифрового потока MPEG-2 и малую задержу обрабатываемой информации.
Литература
1. Шахнович И. 0\'Г!-Т2 — новый стандарт цифрового телевизионного вещания // Электроника: Паука, Технология, Бизнес, 2009, №6,
2. Морелос-Сарагоса Р. Искусство помехоустойчивою кодирования. - М.: Техносфера, 2005.
3. Патерсон У., Уэлдон Э. Коды, исправляющие ошибки / Пер. с англ. - М.: Мир, 1976. - 600 с.
4. Блейхут Р. Теория н практика кодов, контролирующих ошибки. Под ред. К.Ш. Зигангирова. - М.: Мир, 1986. - 578 с.
5. Вернер М. Основы кодирования. - М.: Техносфера, 2004.
T-Comm #12-2014
19