
- •6. Кодирование информации
- •6.1. Общие понятия и определения. Цели кодирования
- •6.2. Кодирование как процесс выражения информации в цифровом виде
- •6.3. Эффективное кодирование
- •6.3. Структурная схема передачи информации
- •6.4. Помехи и ошибки в каналах связи
- •6.5. Передача информации по каналу с помехами
- •6.6. Классификация кодов
- •6.7. Основные характеристики кодов
- •6.8. Геометрическая интерпретация кода
- •6.9.Избыточные коды и принципы использования избыточности
- •6.9.1. Общие положения
- •6.9.2. Связь корректирующей способности кода с кодовым расстоянием
- •6.9.3. Основные методы повышения достоверности передачи информации избыточными кодами
- •6.9.4. Условия целесообразности применения избыточных кодов
- •6.10. Построение двоичного группового кода
- •6.10.1. Определение числа избыточных символов
- •6.10.2. Составление таблицы опознавателей
- •6.10.3. Определение проверочных равенств
- •6.10.4. Мажоритарное декодирование групповых кодов
- •6.11. Матричное представление линейных кодов
- •6.12. Построение циклических кодов
- •6.12.1. Общие понятия и определения
- •6.12.2. Математическое введение к циклическим кодам
- •6.12.3. Требования, предъявляемые к образующему многочлену
- •6.12.4. Выбор образующего многочлена по заданному объему кода и заданной корректирующей способности
- •6.12.4.1. Обнаружение одиночных ошибок
- •6.12.4.2. Исправление одиночных или обнаружение двойных ошибок
- •6.12.4.3. Обнаружение ошибок кратности три и ниже
- •6.12.4.4. Обнаружение и исправление независимых ошибок произвольной кратности.
- •6.12.4.5. Обнаружение и исправление пачек ошибок
- •6.12.5. Методы образования циклического кода
- •6.12.5.1. Матричная запись циклического кода
- •6.12.5.2. Укороченные циклические коды
- •6.12.6. Технические средства кодирования и декодирования для циклических кодов
- •6.12.6.1. Линейные переключательные схемы
- •6.12.6.2. Кодирующие устройства
- •6.12.6.3. Декодирующие устройства
- •Список литературы
- •Оглавление
6.12.6. Технические средства кодирования и декодирования для циклических кодов
6.12.6.1. Линейные переключательные схемы
Основу кодирующих и декодирующих устройств циклических кодов составляют регистры сдвига с обратными связями, позволяющие осуществлять как умножение, так и деление многочленов с приведением коэффициентов по модулю два. Такие регистры также называют многотактными линейными переключательными схемами и линейными кодовыми фильтрами Хаффмена. Они состоят из ячеек памяти, сумматоров по модулю два и устройств умножения на коэффициенты многочленов множителя или делителя. В случае двоичных кодов для умножения на коэффициент, равный 1,требуется только наличие связи в схеме. Если коэффициент равен 0,то связь отсутствует. Сдвиг информации в регистре осуществляется импульсами, поступающими с генератора продвигающих импульсов, который на схеме, как правило, не указывается. На вход устройств поступают только коэффициенты многочленов, причем начиная с коэффициента при переменной в старшей степени.
На рис.6.11 представлена схема, выполняющая умножение произвольного (например, информационного) многочлена a(x)==a0+a1x+...+ak-1xk-1на некоторый фиксированный (например, образующий) многочленg(x)=g0+g1+ … +g n-kx n-k.
Рис 6.11.Схема
произведения многочленов
Произведение
этих многочленов равно
a(x)g(x) = a0g0 + (a0g1 + a1g0)x +... +(a k-2 g n-k + ak-1gn-k-1)xn-2 + ak-1gn-kxn-1.
Предполагаем, что первоначально ячейки памяти находятся в нулевом состоянии и что за коэффициентами множимого следует n—kнулей.
На первом такте на вход схемы поступает первый коэффициент ak-1многочленаa(x) и на выходе появляется первый коэффициент произведения, равныйak-1g n-k. На следующем такте на выход поступит суммаa k-2g n-k+a k-1gn-k-1, т.е. второй коэффициент произведения, и т.д. На n-м такте все ячейки, кроме последней, будут в нулевом состоянии и на выходе получим последний коэффициент a0g0.
Используется также схема умножения многочленов при поступлении множимого младшим разрядом вперед (рис. 6.12).
g n-k
g
n-k-1
Рис 6.12. Схема умножения
На рис. 6.13представлена схема, выполняющая деление произвольного многочлена [например, многочленаa(x)xm=a0+a1x+…+a n-1x n-1] на некоторый фиксированный (например, образующий) многочленg(x)=g0+g1x+…+g n-kx n-k. Обратные связи регистра соответствуют виду многочленаg(x). Количество включаемых в него сумматоров равно числу отличных от нуля коэффициентовg(x), уменьшенному на единицу. Это объясняется тем, что сумматор сложения коэффициентов старших разрядов многочленов делимого и делителя в регистр не включается, так как результат сложения заранее известен (он равен 0).
Рис 6.13. Схема деления
За первые n—kтактов коэффициенты многочлена-делимого заполняют регистр, причем коэффициент при в старшей степени достигает крайней правой ячейки. На следующем такте «единица» делимого, выходящая из крайней ячейки регистра, по цепи обратной связи подается к сумматорам по модулю два, что равносильно вычитанию многочлена-делителя из многочлена-делимого. Если в результате предыдущей операции коэффициент при старшей степени х у остатка оказался равным нулю, то на следующем такте делитель не вычитается. Коэффициенты делимого только сдвигаются вперед по регистру на один разряд, что находится в полном соответствии с тем, как это делается при делении многочленов столбиком.
Деление заканчивается с приходом последнего символа многочлена-делимого. При этом разность будет иметь более низкую степень, чем делитель. Эта разность и есть остаток.
Отметим, что если в качестве многочлена-делителя выбран простой многочлен степени m = n—k,то, продолжая делить образовавшийся остаток при отключенном входе, будем получать в регистре по одному разу каждое из ненулевыхm-разрядных двоичных чисел. Затем эта последовательность чисел повторяется.