Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книги по Информационным технологиям / Dmitriev_Prikladnaja_teorija_informacii.pdf
Скачиваний:
103
Добавлен:
10.04.2015
Размер:
3.56 Mб
Скачать

Проверочная последовательность, формируемая в точке α декодирующего устройства по принятой последовательности информационных символов, выражается многочленом

Процесс ее формирования показан в табл. 6.26. Сформированная в точке a последовательность сравнивается с последовательностью проверочных символов, поступающих из канала связи, в результате чего на выходе (точка К6) вырабатывается опознаватель ошибки — синдром S(D):

Таблица 6.26

Он не зависит от информационных символов и определяется только видом пачки ошибок. В случае отсутствия ошибок эта последовательность состоит из одних нулей. Учитывая, что в пачке ошибок из четырех символов два символа информационных и два проверочных, легко расшифровать структуру синдрома.

Первые две позиции в синдроме характеризуют искажения в проверочных символах (E(c)(D)), затем две позиции характеризуют искажения в информационных символах (D2E(b)(D)), а в следующих двух позициях предыдущие значения повторя-

ются ( D4E(b)(D)).

Убедимся, что последовательность в точке K6 декодирующего устройства соответствует полученному синдрому. Она равна сумме по модулю два последовательности в точке a и последовательности поступивших из канала проверочных

312

символов

Полученная последовательность действительно соответствует Анализатор синдрома построен в точном соответствии с его структурой.

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

На первый его вход через элемент НЕ поступает инвертированная последовательность символов синдрома; на второй — символы синдрома, задержанные на два такта; на третий — символы синдрома, задержанные на четыре такта.

На выходе элемента И получаем последовательность импульсов коррекции, исправляющих поступившую последовательность информационных символов Запишем эти последовательности:

Так как корректирующий сигнал формируется через 3l/2, а информационные символы задерживаются только на l тактов, то возникает необходимость в дополнительной задержке информационных символов на l/2 тактов (l/2 = 2) Это осуществляется блоком задержки. Совместно с сумматором по модулю два он образует устрой-

ство исправления ошибок:

 

последовательность в точке K5

100010111001

последовательность в точке Κ7

00000110000000

исправленная последовательность

информационных символов

 

(точка K8)

00100100111001

313

Сверточные коды для записи информации на магнитную ленту. Рассмот-

рим процедуру образования сверточных кодов применительно к исправлению пачек ошибок на магнитной ленте. Коды строятся в предположении появления пачек ошибок вдоль дорожек, причем считается, что вероятность возникновения нескольких пачек ошибок на разных дорожках в кадре информации из нескольких десятков строк весьма мала, что обычно соответствует статистическим данным об ошибках.

Сверточные коды для указанной цели можно построить, используя идею Ивадари [20], обобщающую подход к декодированию сверточных кодов Д. В. Хагельбаргера. В рассмотренном нами примере имела место одна информационная последовательность и структура синдрома выражалась соотношением (6.68).

В основу декодирования сверточных кодов, рассчитанных на несколько входных информационных последовательностей, также кладется принцип совпадения повторяющихся частей синдрома. Однако для возможности определения информационной последовательности, в которой возникла пачка ошибок, между повторяющимися частями синдромов включается различное число нулевых символов.

Таким образом, информационным последовательностям в синдроме соответствуют конфигурации веса второго вида:

где E(j) — последовательность двоичных символов, соответствующая пачке ошибок, возникшей в j-и информационной последовательности.

Для проверочной последовательности имеем единственную конфигурацию веса первого вида E(k+1) 0...0. Конфигурации в синдроме кода должны быть размещены так, чтобы они не накладывались друг на друга, обеспечивая их безошибочное выделение при декодировании.

Для сверточного кода, рассчитанного на исправление пачек ошибок длины l при считывании с накопителя, имеющего k0 информационных дорожек и одну проверочную n0 = (k0+1), общее выражение для синдрома информационной последовательности имеет вид

314

где E(j)(D) — двоичная последовательность, соответствующая пакету длины l, возникшему на j-и дорожке (1<=j<=k0).

Аналогичное выражение для синдромов ошибок на контрольной дорожке имеет вид

где E(n0)(D) — двоичная последовательность, соответствующая пакету ошибок длиной l, возникшему на контрольной дорожке.

Связь между символами синдрома и символами принятой последовательности задается посредством выражения (6.67), считая, что на всех дорожках, кроме j-и, пакеты ошибок отсутствуют (соответствующие E(D) нулевые), синдромы S(n0)(D) для различных j можно представить в виде

где G(n0)(j)(D) — образующие многочлены сверточного кода.

Подберем G(n0)(j)(D) так, чтобы при возникновении последовательности ошибок E(j)(D) синдром S(n0) (D) соответствовал выражению 1.

Указанным требованиям удовлетворяет образующие многочлены вида

Защитный промежуток построенного кода

здесь m — наибольшая степень образующего многочлена.

Описанные коды строились в предположении, что для размещения контрольных символов используется только одна дорожка. Для случая, когда имеется возможность разместить контрольные символы на двух дорожках, на основе идей сверточного кодирования можно построить коды, позволяющие исправлять пакеты произвольной длины по одной дорожке и требующие значительно меньшего защитного промежутка. Техническая реализация таких кодов весьма проста.

Для построения кода К0 информационных последовательностей, поступающих на вход кодера, представим в виде

315

Для формирования контрольной последовательности выберем образующие многочлены в соответствии с выражением (6.72). Принимая l=0, получим следующую совокупность образующих многочленов:

Подставляя образующие многочлены (6.73) в выражение для контрольной последовательности, получим значения символов этой последовательности, которая имеет вид

Таким образом, при выбранных образующих многочленах контрольную последовательность символов С(n0)(D) можно представить в виде двух последовательностей, которые при n0 — k0 = 2 могут быть записаны на две контрольные дорожки. Тогда по одной дорожке фиксируется последовательность

а на другой контрольной дорожке — последовательность

Рассмотрим процесс исправления ошибок. Запишем общие выражения для синдромов ошибок каждой из контрольных последовательностей

где

316

где

Тогда

Поскольку предполагается, что пакеты ошибок возникают только по одной дорожке, один из синдромов определяет начало пакета и его структуру и, следовательно, дает информацию о виде многочлена ошибки Ε (D). Структура другого синдрома в этом случае должна иметь вид E(D)Dj-1. Для определения номера дорожки, где расположен пакет ошибок, последовательно домножаем Ε (D) на D и сравниваем с другим синдромом. Значение j, при котором наступает равенство, указывает номер искомой дорожки.

Процесс образования контрольных символов имеет простое толкование. Если совокупность образующих код многочленов, участвующих в формировании символов контрольной последовательности С(k0+1)(D), записать в виде

а совокупность образующих многочленов, участвующих в формировании символов

317

контрольной последовательности G(k0+2)(D), в виде

то наглядно выступает закономерность, выражающаяся в том, что символы первой контрольной последовательности образуются в результате суммирования символов, расположенных по диагонали, а символы второй контрольной последовательности образуются в результате суммирования символов строки массива. Такой код можно назвать кодом с проверкой на четность по строке и диагонали (рис.

6.33).

Простая геометрическая интерпретация процессов формирования контрольных символов, безусловно, является еще одним существенным преимуществом данного кода, поскольку не требу-

ется никакой математической подготовки для понимания механизма коррекции ошибок. Наиболее неблагоприятный случай в отношении определения величины защитного промежутка возникает, когда предыдущий пакет ошибок располагается на первой дорожке, а последующий пакет — на k0 дорожке. Наибольший защитный промежуток при этом

318

равен

где т — наибольшая из степеней образующих многочленов.

Для реализации разработанного кода требуется простая аппаратура с буферной памятью, емкостью &0по разрядов. Схема кодирующего устройства приведена на рис. 6.34, а схема декодирующего устройства — на рис. 6.35. Поскольку процесс кодирования не требует пояснений, остановимся только на процессе декодирования.

Сигналы, соответствующие символам принятых информационных последовательностей (U(j)(D)), по тактам поступают в буферное ЗУ, которое состоит из регистров сдвига и сумматоров по модулю два, расположенных по диагонали буферного ЗУ. Одновременно производится образование символов синдрома S(k0+1)(D) и S(k0+2)(D). Символы конкретного синдрома S(k0+2)(D) образуются посредством сложения по модулю два принятых символов строки, включая контрольные символы дополнения по четности. Символы конкретного синдрома образуются посред-

ством сложения по модулю принятых символов, расположенных по диагонали массива, включая контрольные символы дополнения по четности.

319