Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше
Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике
различных символов, которые назовем символами канала; множество символов канала обозначим через Пусть множество всех последовательностей длины из символов Расстояние Хэмминга между последовательностями длины определим как число пар компонент таких, что а Заметим, что это расстояние зависит лишь от того, совпадают или нет соответствующие символы последовательностей Расстояние Хэмминга может быть использовано в системах модуляции с ортогональными сигналами [4]. Это связано с тем, что, когда символов канала представляют взаимно ортогональных сигналов с равной энергией, а шум в канале является аддитивным белым и гауссовским, вероятность ошибки (т. е. вероятность перехода одного символа канала в другой) для всех сигналов одна и та же. Расстояние Хэмминга применяется также для описания процесса возникновения ошибок в запоминающих устройствах вычислительных машин, в которых разные двоичные символы слова хранятся в различных матрицах [5].
Для описания возникновения ошибок в системах с фазовой модуляцией может быть использовано расстояние Ли [6]. Чтобы ввести это расстояние, необходимо установить взаимно однозначное соответствие между элементами множества и целыми числами от 0 до Здесь для простоты будем считать, что Для каждого элемента определим число следующим образом: если а в противном случае. Расстояние Ли между последовательностями определяется равенством При равном 2 или 3, расстояние Хэмминга сосовпадает с расстоянием Ли. Поскольку в теории кодирования результаты, полученные для расстояния Ли, не являются столь значительными, как результаты, полученные для расстояния Хэмминга, то в данной книге вопросы, связанные с расстоянием Ли, почти не рассматриваются (детальное изложение этих вопросов можно найти в книге Берлекэмпа [4]).
Для описания и исследования методов кодирования в системах с амплитудной модуляцией наиболее подходящим является евклидово расстояние (см. гл. 7), однако в теории кодирования получено лишь несколько частных результатов, посвященных этому вопросу, и они в основном связаны с некоторыми идеями устранения недостатков кодов, построенных для расстояния Хэмминга [7,8].
Подмножество С множества состоящее из К последовательностей длины назовем -ичным блоковым кодом длины Последовательности длины входящие в С, будем называть кодовыми словами. Число называется скоростью передачи кода С. Минимальное значение расстояния Хэмминга (расстояния Ли) между различными кодовыми словами кода С назовем минимальным расстоянием Хэмминга (минимальным расстоянием Ли) или просто минимальным расстоянием кода С.
Если блоковом коде для любой последовательности из символов (символы в этой последовательности могут повторяться) найдется ровно одно кодовое слово, первые компонент которого есть то этот блоковый код называется систематическим. Большинство используемых на практике и обычно исследуемых кодов являются систематическими. Кодер систематического кода, на вход которого с выхода преобразователя «источник информации — -ичная последовательность» поступает -ичная последовательность символов множества разбивает входную последовательность на блоки длины и для каждого такого блока из символов находит кодовое слово первые символов которого совпадают с до, (по определению существует ровно одно такое кодовое слово). Далее, к символам кодер приписывает в конце символов и полученное таким образом кодовое слово посылает на выход как единый блок. Первые компонент такого кодового слова называются информационными символами, а последние компонент — проверочными символами. При этом параметры называются соответственно числом информационных и числом проверочных (или избыточных) символов. Как мы видели в приведенных в предыдущем разделе примерах, избыточные символов могут использоваться для исправления или обнаружения ошибок. Отношение обычно обозначают через и называют скоростью передачи. Скорость передачи является параметром, характеризующим эффективность передачи.
Описанный выше кодер обрабатывает каждый поступающий блок независимо от других, так что каждое новое кодовое слово на его выходе оказывается не связанным с предыдущими кодовыми словами. Это является особенностью блоковых кодов. Кроме блоковых кодов, имеются другие типы кодов, в частности сверточные коды, которые детально рассматриваются в гл. 5 и 6. Каждый новый блок на выходе кодера сверточных кодов зависит от предыдущих блоков. Блоковые коды по сравнению с кодами других типов являются более простыми с точки зрения их математического описания, и, кроме того, они лучше исследованы.
Входные символы канала, которые являются в то же время выходными символами кодера, преобразуются в модуляторе в сигналы, которые могут быть переданы по каналу. Демодулятор выполняет обратную операцию, а именно каждому принятому сигналу, подвергшемуся воздействию шумов, он сопоставляет наиболее подходящий символ канала. Последовательность символов с выхода демодулятора поступает на вход декодера. Декодер блокового кода С разбивает эту последовательность на блоки в соответствии с разбиением последовательности на выходе кодера и далее для каждого принятого блока, используя свойства кода С, выбирает одно из наиболее вероятных кодовых слов, которые могли быть переданы. Это кодовое слово появляется на выходе декодера (в действительности на выходе декодера могут быть лишь информационные символы кодового слова). В некоторых случаях декодер может не принимать решения о том, какое кодовое слово передавалось, а послать на выход специальный символ означающий обнаружение ошибки. Таким образом, функция декодера заключается в реализации отображения множества в множество Это отображение в принципе можно задать с помощью таблицы декодирования, которая каждой последовательности из сопоставляет некоторое кодовое слово или символ В тех случаях, когда код С используется как код, исправляющий ошибки, то значениями являются только кодовые слова. Если же код С используется как код, обнаруживающий ошибки, то для всех последовательностей длины не являющихся кодовыми словами. Как видно из примера 1.1, существуют также коды, которые часть ошибок исправляют, а другие ошибки обнаруживают (вопросы целесообразности использования таких кодов будут рассмотрены в гл. 7).
В теории кодирования обычно предполагается, что кодер и демодулятор, точно так же, как и декодер и демодулятор, представляют собой отдельные устройства; при этом каждый символ канала преобразуется и передается независимо от других. Такое построение системы приводит не только к упрощению устройств, но, как мы увидим в гл. 7, и к некоторому снижению пропускной способности канала. Согласно теореме Шеннона для дискретного канала [9] (этот канал будет рассмотрен ниже в разд. 1.5), в случае использования подходящих (блоковых) кодов, исправляющих ошибки, при всех скоростях, меньших пропускной способности канала, информацию можно передавать со
сколь угодно малой вероятностью ошибки. Однако теорема Шеннона является так называемой теоремой существования и не дает конкретных методов построения таких кодов. Разработка практически приемлемых методов кодирования является задачей теории кодирования. Для того чтобы эффективность использования кодов была высокой, необходимо усреднить воздействие шумов. Это приводит к необходимости выбирать длину кода достаточно большой, что в свою очередь обычно связано с чрезмерным усложнением кодеров и декодеров. Например, в случае число кодовых слов достигает приблизительно 1030, а общее число последовательностей длины приблизительно 1060, так что практически построить описанную таблицу декодирования просто невозможно. Этот пример показывает, что построение кодов, которые имели бы достаточно большую длину (а следовательно, и высокую эффективность), но в то же время были бы практически реализуемыми с точки зрения сложности кодера и декодера, является непростой задачей. Коды, удовлетворяющие этим условиям, должны иметь хорошую (алгебраическую) структуру, которая гарантировала бы нужные корректирующие способности и позволяла бы найти практически реализуемые процедуры кодирования и декодирования. Эта точка зрения на цели теории кодирования и пути их достижения была положена в основу исследований, которые велись и ведутся в настоящее время в области алгебраической теории кодирования.
Утверждение 1.5. Если то
Утверждение 1.6. Пусть Тогда необходимым и достаточным условием того, что не содержат общих элементов, является выполнение соотношения
Краткое доказательство. 1) Допустим, что Пусть номера компонент, в которых различаются последовательности Тогда если обозначить через последовательность, получающуюся из заменой компонент последней с номерами на соответствующие компоненты то
2) Пусть Предположим, что существует последовательность принадлежащая одновременно и Тогда Но в таком случае, как следует из утверждения что противоречит предположению.
|
1 |
Оглавление
- Предисловие редакторов русского издания
- 1. Основные понятия теории кодирования
- 1.1. Коды, обнаруживающие и исправляющие ошибки
- 1.2. Блоковые коды. Систематические коды
- 1.3. Двоичный симметричный канал
- 1.4. Верхние границы для минимального расстояния кодов
- 1.4.1. Верхняя граница Хэмминга
- 1.4.2. Верхняя граница Плоткина
- 1.4.3. Верхняя граница Элайса
- 1.5. Теорема кодирования
- 1.5.1. Граница случайного кодирования
- 1.5.2. Свойства функции надежности
- 1.5.3. Граница сферической упаковки
- 1.5.4. Декодирование списком
- 2. Конечные поля
- 2.2. Кольца и поля
- 2.3. Векторные пространства
- 2.4. Многочлены
- 2.5. Конечные поля
- 2.6. Дополнительные сведения о конечных полях
- 2.6.1 Вычисления в конечных полях
- 2.6.2. Матрицы Адамара
- 2.6.3. Конечные геометрии
- 2.6.4. Разностные множества
- 2.6.5. Дополняющий базис
- 2.6.6. Некоторые понятия, необходимые для определения кодов Гоппы
- 3. Линейные и циклические коды
- 3.1. Линейные коды
- 3.2. Методы декодирования линейных кодов
- 3.3. Нижняя граница Варшамова — Гилберта
- 3.4. Распределение весов
- 3.5. Циклические коды (I)
- 3.6. Циклические коды (II)
- 3.7. Укороченные коды
- 4. Важнейшие коды
- 4.1. Коды Боуза — Чоудхури — Хоквингема
- 4.2. Декодирование БЧХ-кодов
- 4.2.2. Итеративный алгоритм Берлекэмпа
- 4.3. Методы мажоритарного декодирования
- 4.4. Многочлены Матсона — Соломона
- 4.5. Полиномиальные коды
- 4.5.1. Обобщенные коды Рида — Маллера
- 4.5.2. Полиномиальные коды и двойственные к ним коды
- 4.6. Каскадные коды и коды Юстесена
- 4.6.2. Коды Юстесена
- 4.7. Коды Гоппы
- 4.7.2. Метод декодирования
- 4.8. Коды, исправляющие пачки ошибок
- 5. Сверточные коды
- 5.1. Общий обзор сверточных кодов
- 5.1.2. Методы последовательного декодирования
- 5.1.3. Методы декодирования по максимуму правдоподобия
- 5.2. Представление сверточных кодов
- 5.3. Пример порогового декодирования
- 5.4. Принцип порогового декодирования
- 5.5. Самоортогональные коды
- 5.5.3. Коды, строящиеся с помощью простых совершенных разностных множеств
- 5.6. Ортогонализируемые коды
- 5.7. Распространение ошибок
- 5.7.2. Критерий устойчивости пороговой декодирующей логической схемы
- 5.7.3. Критерий, основанный на использовании функции Ляпунова [32]
- 5.7.4. Дефинитное декодирование
- 5.8. Сверточные коды, исправляющие пачки ошибок
- 5.9. Сверточные коды, исправляющие пачки ошибок и независимые ошибки (диффузные коды)
- 5.10. Равномерные сверточные коды
- 5.10.4. Перфорированные равномерные коды
- 6. Сверточные коды II. Последовательное декодирование
- 6.1. Древовидные коды и принцип последовательного декодирования
- 6.4. Коды, представляемые в виде кодового дерева, называются древовидными.
- 6.2. Алгоритм Фано
- 6.3. Среднее число операций при декодировании
- 6.3.2. Свойство независимости в древовидном коде
- 6.3.3. Верхняя граница для среднего числа операций
- 6.4. Распределение числа операций и вероятность переполнения буфера
- 6.5. Вероятность необнаружения ошибки
- 6.6. Границы Витерби и декодирование по максимуму правдоподобия
- 6.7. Гибридные методы кодирования
- 6.7.2. Характеристики гибридного кодирования
- 6.8. Стек-алгоритм
- 6.9. Структура расстояний сверточных кодов
- 6.9.2. Нижняя граница Гилберта для сверточных кодов при декодировании с обратной связью
- 6.9.3. Верхняя и нижняя границы минимального расстояния при дефинитном декодировании
- 6.10. Коды, используемые при декодировании с обратной связью
- 6.11. Коды, используемые при последовательном декодировании
- 7. Реализация и применение кодов, исправляющих ошибки
- 7.1.2. Кодеры циклических кодов
- 7.1.3. Декодеры циклических кодов
- 7.2. Реализация порогового декодирования
- 7.3. Обсуждение связи теории кодирования с реальными техническими проблемами
- 7.4. Различные предположения, используемые в теории кодирования
- 7.4.3. Расстояние Хэмминга
- 7.4.4. Положительные стороны теории кодирования
- 7.5. Применения в системах связи метода повторной передачи
- 7.6. Применения в системах связи кодов, исправляющих ошибки
- 7.6.2. Вероятность ошибки при использовании алгебраических кодов
- 7.6.3. Многоуровневая фазовая модуляция и кодирование
- 7.6.4. Применения кодов в космических и спутниковых системах связи
- 7.6.5. Основные понятия о проектировании систем связи с помехоустойчивым кодированием
- 7.6.6. Проблемы, возникающие при проектировании систем связи с помехоустойчивым кодированием информации
- 7.6.7. Пример применения порогового декодирования в спутниковой связи
- 7.7. Применение в системах обработки информации
- 7.7.2. Коды на основе ортогональных латинских квадратов
- 7.7.3. Коды, исправляющие пачки ошибок и допускающие быстрое декодирование [19]
- 8. Коды для арифметических устройств
- 8.1. Основные понятия теории чисел
- 8.2. Определение AN-кода
- 8.3. Арифметический вес и арифметическое расстояние
- 8.4. Минимальное расстояние и корректирующая способность AN-кода
- 8.5. Обнаружение и исправление независимых ошибок веса 1
- 8.6. AN-коды, исправляющие кратные ошибки
- 8.7. Синдромы и методы декодирования AN-кодов
- 9. Циклические AN-коды
- 9.1. Структура циклических AN-кодов
- 9.2. Минимальное расстояние циклических AN-кодов
- 9.2.2. Минимальное расстояние AN-кодов, удовлетворяющих специальным условиям
- 9.2.3. Минимальное расстояние циклических AN-кодов (В — простое число)
- 9.2.4. Минимальное расстояние циклических AN-кодов (В — составное число)
- 9.3. Декодирование циклических AN-кодов
- 9.4. Дополнение
- Приложения
- Приложение 1. Разложение чисел вида 2^n-1 на простые множители и таблица неприводимых многочленов
- Приложение 2. Параметры двоичных БЧХ-кодов в узком смысле длины 1023 и менее
- Литература
|