
- •Вопрос 1 - Измерение информации
- •Вопрос 2 - Согласование характеристик сигнала и канала.
- •Вопрос 3 - Эффективное кодирование (алгоритмы сжатия данных)
- •Вопрос 4 - Помехоустойчивое кодирование (идея построения помехоустойчивых кодов, коды Хэмминга, циклические коды)
- •Вопрос 5 - Дискретизация и квантование сигналов. Выбор шага дискретизации сигнала по времени, шага квантования по уровню
- •Вопрос 6 - Переключательные (булевы) переменные и функции. Булева алгебра
- •Вопрос 7 - Способы задания булевых функций
- •Вопрос 8 - Минимизация булевых функций
- •Вопрос 9 - Аппарат булевых функций - язык описания функционирования комбинационных схем.
- •Вопрос 10 - Анализ и синтез комбинационных схем
- •Вопрос 11 - Основные понятия и определения из теории автоматов. Абстрактный конечный автомат
- •Вопрос 12 - Методы задания автоматов
- •Вопрос 13 - Структурный синтез автоматов
- •Вопрос 14 - Абстрактный синтез автоматов. Автоматы Мили и Мура
- •Вопрос 15 - Понятие интегральной схемы, понятие серии интегральных схем, виды интегральных схем по степени интеграции, по принципу схемотехнического построения, по быстродействию.
- •Вопрос 16 - Системы элементов, их характеристики. Особенности базовых элементов ттлш, n -моп, кмоп
- •Вопрос 17 - Элементы интегральных схем с открытым коллектором и тремя состояниями выхода, их назначение
- •Вопрос 18 - Триггеры
- •Вопрос 19 - Регистры
- •Параллельные регистры
- •Последовательные сдвигающие регистры
- •Реверсивный регистр
- •Вопрос 20 - Счетчики. Методы повышения быстродействия счетчиков
- •Двоичные счетчики
- •Счетчики с ускоренным переносом
- •А) Счетчик с параллельным переносом
- •Б) Счетчик с комбинированным переносом
- •Вопрос 21 - Мультиплексоры и демультиплексоры. Синтез многовходовых мультиплексоров
- •Демультиплексоры
- •Вопрос 22 - Дешифраторы. Синтез многоразрядных дешифраторов
- •Вопрос 23 - Двоичные и приоритетные шифраторы. Указатели старшей единицы
- •Вопрос 24 - Параллельные многоразрядные сумматоры
- •Сумматоры с групповой системой переноса.
- •Вопрос 25 - Преобразователи кодов
- •Вопрос 26 - Запоминающий элемент интегральных схем динамической памяти и его работа
- •Вопрос 27. Виды мс статической и динамической памяти и их потребит. Особенности.
- •Характеристики мс памяти(на всякий случай)
- •Вопрос 28. Мс энергонезависимой памяти (rom, prom, eprom, eeprom, fram, mram) и их потребительские свойства.
Вопрос 4 - Помехоустойчивое кодирование (идея построения помехоустойчивых кодов, коды Хэмминга, циклические коды)
Проблема повышения верности обусловлена не соответствием между требованиями, предъявляемыми при передачи данных и качеством реальных каналов связи. В сетях передачи данных требуется обеспечить верность не хуже 10-6 - 10-9, а при использовании реальных каналов связи и простого (первичного) кода указанная верность не превышает 10-2 - 10-5.
Одним из путей решения задачи повышения верности в настоящее время является использование специальных процедур, основанных на применении помехоустойчивых (корректирующих) кодов.
Простые коды характеризуются тем, что для передачи информации используются все кодовые слова (комбинации), количество которых равно N=qn (q - основание кода, а n - длина кода). В общем случае они могут отличаться друг от друга одним символом (элементом). Поэтому даже один ошибочно принятый символ приводит к замене одного кодового слова другим и, следовательно, к неправильному приему сообщения в целом.
Помехоустойчивыми называются коды, позволяющие обнаруживать и (или) исправлять ошибки в кодовых словах, которые возникают при передаче по каналам связи. Эти коды строятся таким образом, что для передачи сообщения используется лишь часть кодовых слов, которые отличаются друг от друга более чем в одном символе. Эти кодовые слова называются разрешенными. Все остальные кодовые слова не используются и относятся к числу запрещенных. Кодовое расстояние d(расстояние Хэмминга) между двумя кодовыми комбинациями – количество несовпадающих разрядов. d легко вычисляется, если две кодовые комбинации сложить по модулю два и посчитать количество единиц у результата сложения.
dmin – минимальное кодовое расстояние, которое равно минимальному кодовому расстоянию всех возможных комбинаций кода.
dmin определяет способность помехоустойчивого кода (ПУК) обнаруживать и исправлять ошибки: dmin≥r+1; dmin≥2s+1; dmin≥s+r+1 (если s<r), где r – количество ошибок в кодовом слове, которые ПУК сможет обнаружить; s – количество ошибок в кодовом слове, которые ПУК сможет исправить.
Построение кода Хемминга.
Рассмотрим построение ПУК Хемминга для обнаружения двух и исправления одной ошибок.
Кодовая группа состоит из n символов, m символов используется для передачи информации, а k = n – m являются контрольными.
Информационные символы разбиваются на группы и для каждой группы при кодировании определяется контрольный символ (k групп).
Контрольные разряды определяются из позиций кодовой группы следующим образом:
k1 – проверяет все позиции, которые содержат в 0 разряде 1, т.е. это позиции: 1, 3, 5, 7, 9… (1, 11, 101, 111, 1001, …);
k2 – проверяет все позиции, которые содержат в 1 разряде 1, т.е. это позиции: 2, 3, 6, 7, 10… (10, 11, 110, 111, 1010, …);
k3 – проверяет все позиции, которые содержат в 2 разряде 1, т.е. это позиции: 4, 5, 6, 7, 12… (100, 101, 110, 111, 1100, …) и т.д.
Счёт позиций в ПУК Хемминга идёт слева направо. Желательно, чтобы контрольные символы формировались независимо друг от друга, поэтому целесообразно их разместить на позициях, которые встречаются только в одной из проверяемых групп. Легко заметить что это позиции 1(для k1), 2 (для k2), 4 (для k3) и т.д. Закономерность в выборе позиции для проверочной группы следующая: позиция для ki= 2i-1.
Количество необходимых контрольных разрядов вычисляется следующим образом: 2k ≥ m+k+1.
А число информационных разрядов зависит от количества букв Q в используемом алфавите: m = log2Q.
Кодовая группа выглядит следующим образом:
Десятичный номер позиции в кодовой группе |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
Двоичный номер позиции в кодовой группе |
0 0 0 0 1 |
0 0 0 1 0 |
0 0 0 1 1 |
0 0 1 0 0 |
0 0 1 0 1 |
0 0 1 1 0 |
0 0 1 1 1 |
0 1 0 0 0 |
0 1 0 0 1 |
0 1 0 1 0 |
0 1 0 1 1 |
0 1 1 0 0 |
0 1 1 0 1 |
0 1 1 1 0 |
0 1 1 1 1 |
1 0 0 0 0 |
1 0 0 0 1 |
1 0 0 1 0 |
1 0 0 1 1 |
1 0 1 0 0 |
Символы |
k1 |
k2 |
a1 |
k3 |
a2 |
a3 |
a4 |
k4 |
a5 |
a6 |
a7 |
a8 |
a9 |
a10 |
a11 |
k5 |
a12 |
a13 |
a14 |
a15 |
Контрольные разряды формируются следующим образом:
k1 = a1 a2 a4 a5 a7 a9 a11 a12 a14… (входят символы с 1 в 0 разряде позиции);
k2 = a1 a3 a4 a6 a7 a10 a11 a13 a14… (входят символы с 1 в 1 разряде позиции);
k3 = a2 a3 a4 a8 a9 a10 a11 a15… (входят символы с 1 во 2 разряде позиции);
k4 = a5 a6 a7 a8 a9 a10 a11… (входят символы с 1 во 3 разряде позиции);
k4 = a12 a13 a14 a15… (входят символы с 1 во 4 разряде позиции).
Построение циклического ПУК
Циклические ПУК строятся на основе образующих полиномов G(x). Образующий полином должен являться множителем полинома xn+1, где n – количество разрядов кодового слова (k – количество контрольных разрядов (разрядность G(x) = k+1), m = n – k – количество информационных разрядов). В каждом конкретном циклическом ПУК образующий полином выбирается в соответствии с корректирующими способностями ПУК.
Строятся циклические ПУК двумя путями:
информационные разряды помещаются в старшие разряды кодового слова, а в младшие k разрядов заносится остаток от деления an-1an-2…an-k00…0 на G(x);
кодовое слово является результатом умножение информационного полинома на G(x).