- •Демодуляция и детектирование фм и чм
- •Тактовая синхронизация
- •1.1.1. Синхронизация по сигналу тактовой частоты передатчика
- •1.1.3. Синтез оптимального алгоритма совместного принятия решений и тактовой синхронизации (синхронизированный детектор)
- •1.2. Высокочастотная синхронизация. Синтез оптимального коге-рентного демодулятора для сигналов с угловой модуляцией.
- •1.2.1. Вч синхронизация по немодулированному сигналу
- •1.2.2. Вч синхронизация по модулированному сигналу. Фазовые шумы, реализация приемников сигналов фм, чм
- •31 Относительный кодер
- •1.2.3. Синтез оптимального алгоритма совместной вч синхронизации и демодуляции сигналов с угловой модуляцией
- •2. Системы связи с разнесенной передачей,
- •2.1. Методы разнесения
- •2.2 Методы комбинирования принимаемых сигналов
- •Разнесённый приём сигналов с каналом ос.
- •2.3 Влияние корреляции сигналов при разнесении
- •3. При сложении с равными весами до детектора.
- •2.4. Примеры реализации приемников разнесенного приема с когерентным сложением ветвей разнесения
- •3. Кодирование с исправлением и обнаружением ошибок
- •3.1 Линейные блоковые коды
- •3.1.1. Блоковое кодирование, перемежение, расстояние Хемминга и декодирование
- •3.1.2. Синдромное декодирование линейных блоковых кодов
- •3.1.3. Синдромное декодирование кода Хемминга, исправляющего одиночные ошибки
- •3.1.4. Циклические коды
- •Коды Боуза – Чоудхури – Хоквингема (бчх)
- •Коды Галея
- •Коды сдвигового регистра максимальной длины
- •Недвоичные линейные блоковые коды
- •3.2. Сверточное кодирование
- •3.2.1. Методы задания ск
- •3.2.4. Оптимальное декодирование ск–алгоритм Витерби
- •3.2.5. Вероятность ошибки при декодировании по алгоритму Витерби жёстких решений
- •Заключение
- •Законы распределений
- •Приложение 2 Интегралы
- •1. Демодуляция и детектирование фм и чм сигналов.
- •3. Кодирование с исправлением и обнаружением
3.1.2. Синдромное декодирование линейных блоковых кодов
В линейном блоковом коде l-й символ выходного слова кодера представляет собой линейную комбинацию k информационных входных символов. В матричной форме записи это выглядит как:
, (3.10)
где
– порождающая матрица (n
, k)
кода, содержащая k
строк и n
столбцов;
– вектор информационной последовательности.
При этом, код может быть представлен в эквивалентных систематической и несистематической формах.
Для систематического (n, k) кода первые k символов кодового слова являются информационными. Порождающая матрица систематического кода имеет вид:
(3.11)
или
, (3.12)
где
-
единичная матрица k×k
;
k×(n
k)
матрица, определяющая (n
k)
столбцов избыточных (проверочных)
символов кода.
Матрицу в несистематической форме можно привести к систематической форме операциями над строками, перестановкой столбцов.
Пример. Линейный блоковый код Хемминга (7,4) задан порождающей матрицей кодера:
.
=[хm1
,
хm2
,
хm3
,
хm4
]
–
входное информационное слово кодера.
Привести матрицу к систематической форме, найти выходное m-ое кодовое слово кодера и проверочные биты этого слова.
Решение:
Матрицу приведем к систематической форме перестановкой строк
(3.13)
Выходное кодовое слово кодера в систематической форме равно
.
Проверочные биты выходного кодового слова равны, согласно правилу умножения матриц, линейной комбинации символов входного слова кодера:
(3.14)
Найдем алгоритм синдромного декодирования.
По определению векторного пространства (3.2) набор из всех векторов с n элементами образует векторное пространство S.
Выберем набор из k< n линейно независимых векторов из S и из них сформируем набор всех линейных комбинаций этих векторов. Результирующий набор образует подпространство Sc размерности k в пространстве S.
Любой набор из k линейно независимых векторов образует базис подпространства Sc .
Набор векторов из пространства S, которые ортогональны каждому вектору базиса в Sc, образует ортогональное к Sc подпространство (нуль - пространство) размерности (n k).
Таким образом,
линейному (n,
k)
коду из подпространства Sc
соответствует
дуальный (n,
nk)
код из
нуль - пространства,
т.е. любое
кодовое слово Ym
из множества (n,
k)
кода ортогонально любому кодовому
слову дуального кода, т.е. строке матрицы
:
(3.15)
где
- означает вектор-столбец из (n
k)
нулевых
элементов.
Поскольку эта
ортогональность справедлива для любого
кодового слова (n,
k)
кода, формируемого матрицей
,
то можно записать
(3.16)
где - матрица k×(nk) со всеми нулевыми элементами.
Таким образом, матрица HT является проверочной (синдромом) для порождающей матрицы систематического (n, k) кода и определяется в систематической форме из уравнения (3.16) в виде:
(3.17)
поскольку она удовлетворяет этому уравнению:
где
. (3.18)
Для линейного
блокового кода
можно, на основании условия ортогональности
(3.15) при
,
определить
верхнюю
границу
(3.19)
Следовательно, если dmin нечетно, то можно увеличивать его на 1 и сформировать расширенный код (n+1, k). Его проверочная матрица
(3.20)
где
-
проверочная матрица исходного (n,
k)
кода.
Расширение реализуется добавлением дополнительного проверочного символа (например, проверки на четность) к каждому кодовому слову. Систематический (n, k) код может быть укорочен до (n-l, k-l) кода, если установить первые l информационных символов нулями (т.е. не передавать). Тогда можно удалить первые l строк матрицы и первые l столбцов матрицы и получить 2(k-l) кодовых слов. При этом dmin не меньше, чем для исходного (n, k) кода.
Синдромное
декодирование линейного кода
осуществляется согласно (3.15) умножением
последовательности символов Z
с выхода демодулятора приемника на
проверочную матрицу
:
(3.21)
Принятая
последовательность Z
для двоичного кода представляет сумму
по модулю 2 переданного кодового слова
и n-символьной
последовательности ошибок
,
т.е.
.
Результат: (nk)-мерный вектор
, (3.22)
который называют синдромом образца ошибки.
Известно, что для линейного блокового кода может быть построена синдромная таблица декодирования, которая содержит 2(n-k) синдромов и соответствующие им 2(n-k) образца ошибок с минимальным весом.
Синдром, состоящий из всех нулей, указывает на то, что принятая последовательность принадлежит множеству кодовых слов линейного кода. Это означает, что при приеме не было ошибок, либо конфигурация ошибок оказалась такой, что трансформировала переданное кодовое слово в другое разрешенное слово этого множества. Для этого должно быть по крайней мере dmin ошибок для трансформации одного кодового слова в другое (рис.3.4).
Процесс синдромного
декодирования
– это
определение для каждого синдрома вектора
ошибок минимального веса, удовлетворяющего
уравнению
.
Этот вектор ошибок суммируется по модулю
2 с принятой последовательностью
для коррекции ошибки в соответствующем
символе и получения наиболее вероятного
переданного слова.
