Методы обнаружения и коррекции ошибок в цифровых звуковых сигналах
В цифровых каналах
связи средняя вероятность появления
ошибки составляет 10–5…10–6,
а в отдельных случаях и 10–4,
поэтому влияние ошибок на качество
звукопередачи неизбежно. Это вызывает
необходимость применения помехоустойчивого
кодирования при передаче сигналов ЗВ.
Обнаружение и
коррекция ошибок требуют введения в
сигнал определенной избыточности. Для
этой цели сигнал на выходе АЦП разделяется
на блоки, в которые, кроме основной
информации, связанной с кодированием
отсчетов, включаются дополнительные
символы, необходимые для обнаружения
и исправления ошибок. Перед цифроаналоговым
преобразованием эти блоки подвергаются
дополнительной цифровой обработке, в
процессе которой на этапе обнаружения
определяется наличие ошибок. Для
исправления ошибок необходимо определить
место пораженных символов в блоке, чтобы
заменить их на правильные. Исправление
ошибок — задача гораздо более сложная,
чем их обнаружение.
Помехоустойчивое
кодирование основано на применении
корректирующих кодов, в которые вносится
некоторая избыточность, что приводит
к увеличению требуемой пропускной
способности канала связи. Различают
коды для обнаружения ошибок и коды для
исправления обнаруженных ошибок.
Помехоустойчивые коды могут быть
построены с любым основанием, однако
наиболее простыми и часто используемыми
являются двоичные коды.
Обнаружение ошибок
в корректирующих кодах строится обычно
на том, что для передачи используются
не все кодовые слова кодового списка,
а лишь их некоторая часть (разрешенные);
остальные кодовые слова из этого списка
являются запрещенными. Если переданное
разрешенное кодовое слово вследствие
ошибки преобразуется на приемной стороне
тракта в запрещенное, то такая ошибка
может быть обнаружена. Процедура
исправления ошибок состоит в замене
ошибочно принятой комбинации на
разрешенную, которая принадлежит данному
коду и расстояние до которой оказывается
наименьшим.
Ошибки могут быть
одиночными и сгруппированными в пакеты.
Под пакетами
понимают
появление двух или большего числа ошибок
в пределах одной m-разрядной
кодовой комбинации. Если ошибки,
возникающие при передаче сигналов,
являются статистически независимыми,
то вероятность появления пакета ошибок
кратности q
(1.37)
где
,
— число сочетаний изт
символов по
q.
Для
10-раз-рядных кодовых слов вероятность
появления двойных ошибок при исходной
вероятности рош = 10–5
составляет p1 = 510–9,
а при рош = 10–4
уже составляет р2 = 510–7.
Это соответствует появлению одной
двойной ошибки каждые 2,5…3 мин.
Кроме того, в
цифровых каналах передачи при средней
вероятности появления ошибки рош = 10–4
и выше возникают коррелированные ошибки,
вызванные действием импульсных помех,
несовершенством систем коммутации и
т.д. Поэтому вероятность появления
ошибок большой кратности возрастает.
Особенно велика роль пакетов ошибок в
каналах цифровой магнитной записи и в
системе компакт-диска из-за возможных
повреждений носителя записи. Системы
исправления ошибок должны эффективно
бороться не только с одиночными, но и с
пакетами ошибок, заметность которых
существенно выше. Чем больше кратность
ошибки, тем больше должна быть избыточность,
которую необходимо вносить в сигнал.
Требуемая избыточность тем больше, чем
большее число разрядов кодовой группы
необходимо защищать. С учетом заметности
искажений в системах цифровой передачи
и записи ЗС обычно защищают от ошибок
пять-шесть старших разрядов информационных
символов кодируемых отсчетов, служебные
комбинации, определяющие, например,
номер шкалы квантования при почти
мгновенном компандировании. Ошибки в
младших разрядах, если частота их
появления не слишком велика, достаточно
обнаруживать и затем маскировать,
используя методы интерполяции, о которых
будет сказано ниже.
Выбор способа
обнаружения ошибок, метода их маскирования
и исправления, возможного только при
помехоустойчивом кодировании, зависит
как от среднего значения вероятности
появления ошибки, так и от того, являются
они одиночными или групповыми. Для
тракта студийной аппаратной, а также
трактов звукозаписи и первичного
распределения программ ЗВ эти методы
различны.
Простейшие методы
обнаружения ошибки.
Если цифровые аудиоданные передаются
или считываются, то в приемнике нет
возможности распознать, корректно ли
принимаемое число (например, число 0101)
либо один или несколько символов в
принятом кодовом слове неверны. Для
решения этой проблемы применяют коды.
Самые простые из них — коды
с повторением. Каждый
информационный символ можно, например,
повторить n
раз (обычно n
нечетно и
больше двух), т.е.
-
<—-> 0 0 0 0 0…0,
-
<—-> 1 1 1 1 1…1.
Это (n,1)-код.
Для него минимальное расстояние равно
n,
и в предположении, что большинство
принятых битов совпадает с переданным
информационным битом, может быть
исправлено (n–1)/2
ошибок. Если символы передать только
дважды, а затем обнаружить, что они
различаются, то нет возможности принять
решение о том, какое из двух чисел
является правильным. Каждое число нужно
передать по крайней мере трижды и после
сравнения распознать ошибочное. Такой
метод неэффективен, он приводит к резкому
увеличению требуемой скорости передачи.
Найдены другие, более эффективные
возможности.
Очень простыми
являются коды
с проверкой на четность. К
информационным битам каждого кодового
слова k-й
разрядности
добавляют (к+1)-й
бит так, чтобы полное число единиц (или
нулей) в кодовом слове было четным.
Данный прием в цифровых устройствах
из-за простоты используют очень часто.
При этом дополнительный бит называется
битом проверки
на четность (паритетным
битом). Например, для k = 4
имеем
Исходный |
Бит |
||||||||
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
|
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
|
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
|
0 |
0 |
1 |
1 |
0 |
и т.д.
Этот код является
(k
+ 1,k)-кодом.
Минимальное расстояние кода равно 2, и,
следовательно, ошибки могут быть
обнаружены, но никакие ошибки не могут
быть исправлены. Если бит передается
неправильно, то распознается появление
ошибки в слове (ибо сумма всех единиц
не будет равна четному числу, если ошибка
одиночная). Однако позицию ошибки в
кодовой комбинации определить невозможно.
Таким образом, данный код не позволяет
исправить ошибки. В силу этого данный
код используется только для обнаружения
одиночных ошибок, но не для их исправления.
Впрочем, можно
распознать позицию единичных (отдельных)
ошибок, если несколько слов предварительно
объединить в матрицу, а контрольные
разряды четности (дополнительные биты
проверки на четность) добавить к
информационным символам кодовых слов
построчно и по столбцам, например:
Правильно
Ошибка в первой строке, третий столбец
(выделена
подчеркиванием)
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
||
|
(неправильная
четность)
Однако если в таком
блоке одновременно появляется несколько
ошибок, то такой метод не принесет
пользы.
Маскирование
ошибок. Если
средняя вероятность появления ошибки
не превышает рош = 10–5
и источником ошибок является шум в
канале передачи, то расчеты показывают,
что одиночные ошибки появляются в
среднем 2 раза в секунду, а двойные —
примерно 4 раза в сутки. В этих условиях
достаточно учитывать только одиночные
ошибки. Действие последних приводит к
искажению величины отдельных отсчетов
сигнала, и эффективным способом борьбы
с ними является обнаружение ошибочно
принятых кодовых слов с последующим
маскированием искаженных отсчетов. Для
обнаружения обычно используется уже
описанный выше принцип проверки на
четность, причем такой, чтобы число
единиц в кодовом слове было четным. При
приеме после выделения кодовых слов в
каждом из них подсчитывается число
единиц. Нечетное их число будет означать
наличие ошибки в данном кодовом слове.
Вероятность (p0)
того, что при использовании данного
метода ошибка не будет обнаружена,
зависит как от вероятности (рош)
ее появления
в канале, так и от числа разрядов
(символов) т
в кодовом
слове, включая разряд четности. Величину
p0
можно найти
по формуле
,
(1.38)
где
— число сочетанийт
символов по
2. Отсюда видно, что использование длинных
кодовых слов ведет к росту вероятности
необнаруженной ошибки.
Если одиночная
ошибка в кодовом слове обнаружена, то
ее маскирование после этого состоит в
замене искаженного отсчета. Обычные
методы, используемые для этого процесса,
показаны на рис. 1.21.
На рис. 1.21,
а отмечено
ошибочное значение отсчета. Самым плохим
наверняка является его замена на нуль,
т.е. выбрасывание отсчета с ошибочным
значением (рис. 1.21,
б). Лучше,
если ошибочный отсчет будет заменен на
значение предыдущего отсчета (рис.
1.21,
в).
Еще лучше, если его значение будет
получено как интерполяция значений
двух соседних отсчетов, например путем
вычисления среднего значения (рис.
1.21,
г).
Однако все же разность между восстановленным
и истинным значениями отсчета может
быть заметной на слух и намного превысить
шаг квантования.
Рис. 1.21
— Маскирование ошибочных отсчетов:
а
— обнаруженная ошибка в значении отсчета
sn;
б — замена
ошибочного отсчета sn
отсчетом с
нулевым значением; в
— коррекция (экстраполяция нулевого
порядка) через замену ошибочного отсчета
sn
его предыдущим значением sn–1;
г — интерполяция
первого порядка путем вычисления
среднего значения из предыдущего sn–1
и последующего sn+1
отсчетов
Поскольку слух
человека инерционен, то метод маскирования
оказывается эффективным, если число
ошибок не превышает одной-двух в секунду.
Это условие выполняется при вероятности
появления ошибки в канале рош = 10–5.
При т = 6
в этом случае получаем, что вероятность
необнаруженной ошибки р0 = 1510–10,
что примерно соответствует требуемому
значению.
Увеличение рош
до значения
10–4
ведет к резкому росту среднего числа
ошибок в секунду до 20. Метод интерполяции
первого порядка не обеспечивает полного
маскирования ошибок полезным сигналом,
они становятся уже заметными на слух.
Можно считать, что изложенный выше метод
маскирования применим, когда значение
рот
10–5.
Исправление
ошибок. Если
вероятность ошибки превышает рош = 10–5,
то образуются пакеты ошибок и от их
маскирования приходится переходить к
исправлению. Для исправления ошибок
применяют помехоустойчивое кодирование.
При этом наиболее широкое распространение
получили блочные линейные (m,k)-ко-ды.
У таких кодов передаваемая последовательность
символов разделена на блоки, содержащие
одинаковое число символов. Общее число
символов (битов) в кодовом слове равно
m,
из них информационными являются первые
k
символов, а последние r = т – k
символов —
проверочными. Проверочные символы
формируются в результате выполнения
некоторых линейных операций над
информационными символами. В частности,
проверочные символы могут являться
суммой по модулю 2 различных сочетаний
информационных символов. Чем больше
число проверочных символов, тем больше
корректирующие возможности кода.
Особенностью линейного кода является
также то, что сумма (и разность) входящих
в код кодовых слов также является кодовым
словом, принадлежащим этому коду.
Корректирующие
коды характеризуются избыточностью.
Она определяется относительным
увеличением длины блока из-за введения
в него дополнительной проверочной
информации и оценивается выражением
(1.39)
где R
— избыточность
кода.
Наиболее известной
разновидностью блочных линейных (т,
k)-кодов
являются коды Хэмминга. Для каждого т
существует
(2m–1,
2m–1 – m)-код
Хэмминга. Кроме параметров т
и k,
важным
является минимальное расстояние d,
определяющее
меру различия двух наиболее похожих
кодовых слов. Расстоянием d
по Хэммингу
между двумя q-ичными
последовательностями х
и у
длины n
называется число позиций, в которых они
различны. Это расстояние обозначается
d(x,y).
Например,
если х = 10101
и у = 01100,
то имеем d(10101,
01100) = 3. При этом минимальное
расстояние кода равно наименьшему
значению из всех расстояний по Хэммингу
между различными парами кодовых слов
в коде; (п,
k)-код
с минимальным расстоянием d
называется
также (п,
k,
d)—кoдoм.
Из теории
помехоустойчивого кодирования известно,
что если произошло t
ошибок и
расстояние от принятого слова до каждого
другого больше t,
то декодер
исправит эти ошибки, приняв ближайшее
к принятому кодовое слово в качестве
действительного переданного. Это будет
всегда так, если
(1.40)
Например, для
обнаружения одиночной ошибки d = 2.
Это означает, что достаточно информационные
кодовые группы увеличить на один разряд.
Для исправления одиночных ошибок каждую
кодовую группу необходимо увеличить
уже на три разряда. С ростом кратности
ошибок объем требуемой дополнительной
информации резко возрастает. Так, для
числа k
битов
аудиоданных требуется следующее число
контрольных (дополнительных, проверочных)
битов r
в коде Хэмминга, чтобы ошибка могла быть
исправлена:
Биты |
1–4 |
5–11 |
12–26 |
27–57 |
58–120 |
Контрольные |
3 |
4 |
5 |
6 |
7 |
Контрольные биты
рассчитываются (вычисляются) путем
сложений по модулю 2. В них участвуют
информационные биты аудиоданных по
меньшей мере дважды. Чтобы с большой
вероятностью обнаружить ошибку в потоке
данных, информационные слова и контрольные
слова охватываются совместно в блоки.
Эти блоки затем снова рассматриваются
как отдельные единицы информации и
далее кодируются (блочный код). Иногда
удается исправлять конфигурацию из t
ошибок даже
в том случае, если неравенство (1.40)
не выполняется. Однако если d
< (2t
+ 1), то
исправление любых t
ошибок не
может быть гарантировано, так как оно
зависит от передаваемого слова и
конфигурации из t
ошибок,
возникших внутри блока.
При кодовом
расстоянии d = 3
коды Хэмминга имеют длину т = 2r–1.
При двух проверочных символах r = 2
существует код Хэмминга (3,1); при r = 3
— код (7,4); при r = 4
— код (15,11)
и т.д. Коды, для которых d = 3,
могут исправлять одиночную ошибку. Для
нахождения места этой ошибки необходимо
выполнить r
проверок, представляющих собой операции
суммирования по модулю 2. Технически
это реализуется достаточно просто.
Например, (7,4)-код Хэмминга можно описать
с помощью реализации, приведенной на
рис. 1.22,
а.
Рис. 1.22
— Кодек для простого (7,4)-кода Хэмминга:
а — кодер;
б — декодер
При заданных
четырех информационных битах данных
(i1,
i2,
i3,
i4)
каждое кодовое слово дополняется тремя
проверочными битами, задаваемыми
равенствами
(1.42)
Знак «+» здесь
означает сложение по модулю 2: 0 + 0 = 0,
0 + 1 = 1, 1 + 0 = 1, 1 + 1 = 0. Шестнадцать
разрешенных кодовых слов (7,4)-кода
Хэмминга имеют вид (i1,i2,
i3,
i4,
r1,
r2,
r3):
i1 |
i2 |
i3 |
i4 |
r1 |
r2 |
r3 |
i1 |
i2 |
i3 |
i4 |
r1 |
r2 |
r3 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
|
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
|
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
|
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
|
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
|
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
|
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
|
0 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
Пусть при передаче
в принятом слове v = (i‘1,
i‘2,
i‘3,
i‘4,
r‘1,
r‘2,
r‘3).
По изображенному
на рис. 1.22,
б коду
вычисляются биты
(1.44)
Трехбитовая
последовательность (s1,
s2,
s3)
называется
синдромом.
Она зависит
только от конфигурации ошибок. Всего
имеется восемь возможных синдромов:
один для случая отсутствия ошибки и по
одному для каждой из семи возможных
одиночных ошибок, при этом каждая ошибка
имеет только свой единственный синдром.
Несложно сконструировать цифровую
логику, которая по синдрому локализует
соответствующий ошибочный бит. После
исправления ошибки проверочные символы
опускаются. При наличии двух и более
ошибок код будет ошибаться: он предназначен
для исправления только одной одиночной
ошибки в кодовом слове группы.
При d = 4
коды Хэмминга имеют длину т = 2r–1
и записываются
соответственно как (4,1); (8,4); (16,11) и т.д.
Они получаются из кодов Хэмминга с
минимальным расстоянием d = 3
добавлением к каждому кодовому слову
[см. (1.43)]
одного проверочного символа, равного
сумме по модулю 2 всех остальных символов,
как информационных, так и проверочных
для каждого кодового слова исходного
(7,4)-кода Хэмминга.
При выборе кода
важно определить мощность кода М,
т.е. максимальное
число кодовых слов в двоичном коде
длиной т
(множество
двоичных слов длины m)
при заданном кодовом расстоянии d.
Обычно при
d = 3
(1.45)
Следовательно,
(3, 1)-код Хэмминга состоит всего лишь из
двух кодовых слов. Для увеличения числа
кодовых слов необходимо увеличить длину
кодового слова: для (7,4)-кода Хэмминга
уже имеется 16 кодовых слов. С увеличением
m
растет сложность декодирования. Коды
Хэмминга в силу этой причины целесообразно
использовать для исправления одиночных
независимых ошибок при небольшом числе
возможных информационных символов. В
частности, коды Хэмминга используют
для передачи трехсимвольных комбинаций,
определяющих номер шкалы квантования
при кодировании ЗС с применением почти
мгновенного компандирования.
Достаточно простой
процедурой кодирования и декодирования
обладают линейные циклические коды
(CRC-коды),
где разрешенные кодовые слова формируются
из других разрешенных слов циклическим
сдвигом символов на один шаг вправо.
Цикличность позволяет уменьшить объем
памяти устройств, осуществляющих
кодирование и исправление ошибок, а
возможность записи кодовых слов в виде
степенных полиномов сводит процедуры
кодирования и декодирования к операциям
умножения и деления полиномов, легко
реализуемых технически.
Кодовое слово
Z – (a0,
a1,
a2,…,
an–1),
состоящее из n
символов, определяется полиномом
Y(x) = a0
+ a1x
+ a2x2
+…+ an–1xn–1.
Среди всех полиномов, соответствующих
кодовым словам циклического кода,
имеется ненулевой полином наименьшей
степени. Он называется порождающим,
степень его
r = n – k
(k
— число
информационных символов, n
— число символов в кодовом слове), а
свободный член равен единице. Основная
особенность порождающего полинома
заключается в том, что он полностью
определяет циклический код (все кодовые
слова циклического кода) и является
делителем всех полиномов, соответствующих
кодовым словам циклического кода.
Процесс кодирования
при использовании циклического кода
состоит в следующем. Полином G(x)
степени
(k – 1),
характеризующий k-разрядное
передаваемое информационное кодовое
слово, умножается на хr.
Полученный
полином G(x)xr
степени
k+r–1
делится на
порождающий полином F(x).
В результате
деления образуется остаток q(x)
степени не
более r – 1.
Полином Q(x) =
= xrG(x)
+ q(x),
делящийся
на F(x)
без остатка,
определяет каждое разрешенное кодовое
слово циклического кода. Члены полинома
Q(x)
со степенью
r+1
и выше соответствуют информационным
символам, смещенным на r
разрядов в
результате операции умножения, а остаток
q(x)
от деления
— поверочным символам. Для обнаружения
или исправления ошибок в циклическом
коде обычно используют операцию деления
полинома Q1(x)
принятого
кодового слова на заранее известный
порождающий полином F(x).
Если остаток
от деления не равен нулю, то принятое
кодовое слово считается ошибочным.
Место ошибки определяется детектором
ошибки в результате сравнения остатка
от деления с эталонным полиномом,
хранящимся в памяти. Биты избыточности,
полученные изложенным выше способом,
передаются совместно с первоначальными
битами данных.
Пример.
Последовательность из n = 10
битов можно представить степенным
полиномом, например вида Р(х) = х9
+ х5
+
х2
+
1, который
представляет собой информационное
кодовое слово 1000100101. Разделим теперь
Р(х)
на порождающий
полином, называемый также генераторным
полиномом G(x).
Результатом
деления будут частное Q(x)
и остаток
R(х).
Возьмем в качестве
генераторного полинома G(x) = х5
+ x4
+ + х2
+ 1, представляющий
двоичное число 110101. Перемножим Р(х)
и первый
член полинома G(x),
имеющий
наивысшую степень, а полученный результат
затем разделим на G(x):
Выполним эти
вычисления
P(x)x5 |
= |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
G(x) |
+ |
1 |
1 |
0 |
1 |
0 |
1 |
|||||||||
1 |
0 |
1 |
1 |
1 |
0 |
|||||||||||
+ |
1 |
1 |
0 |
1 |
0 |
1 |
||||||||||
1 |
1 |
0 |
1 |
1 |
1 |
|||||||||||
+ |
1 |
1 |
0 |
1 |
0 |
1 |
||||||||||
1 |
0 |
0 |
1 |
0 |
0 |
|||||||||||
+ |
1 |
1 |
0 |
1 |
0 |
1 |
||||||||||
1 |
0 |
0 |
0 |
1 |
0 |
|||||||||||
+ |
1 |
1 |
0 |
1 |
0 |
1 |
||||||||||
1 |
0 |
1 |
1 |
1 |
0 |
|||||||||||
+ |
1 |
1 |
0 |
1 |
0 |
1 |
||||||||||
1 |
1 |
0 |
1 |
1 |
0 |
|||||||||||
+ |
1 |
1 |
0 |
1 |
0 |
1 |
||||||||||
Остаток |
1 |
1 |
Передаваемое
кодовое слово D(x)
в этом случае
имеет вид
в примере
соответственно 1 0 0 0 1 0 0 1 0 1 0 0 0 1 1.
Декодирующее устройство делит эти биты
данных на G(x),
и если новый
остаток R‘(x) = 0,
то передача свободна от ошибок (без
ошибок). В противном случае из остатка
можно локализовать ошибку.
В качестве примера
на рис. 1.23
показаны структурные схемы кодирующего
и декодирующего устройств с использованием
циклического кода (29,24). Порождающий
многочлен этого кода имеет вид F1(x) = x5
+ x2
+ 1. Первоначально (рис. 1.23,
а) ключ К
замкнут и на вход схемы последовательно
подаются информационные символы.
Одновременно эти же символы поступают
на выход. Кодер представляет собой здесь
многотактный линейный фильтр Хаффмена,
состоящий из элементов 1 — 5 сдвигового
регистра и двух сумматоров C1
и С2. Данное устройство выполняет деление
полинома x5G(x)
на порождающий
полином F1(x).
После 24-х
тактов работы кодера в его регистре
образуется остаток q(x)
от деления.
На 25-м такте ключ К перебрасывается в
верхнее положение, и символы остатка
(поверочные символы) один за другим
поступают на выход кодера. За пять тактов
на выход поступают пять поверочных
символов и происходит обнуление регистра.
Затем происходит кодирование следующей
группы информационных символов.
Рис. 1.23
— Пример структурных схем кодера (а)
и декодера (б)
с использованием
циклического кода (29,24)
Принятый декодером
(рис. 1.23,
б) входной
сигнал запоминается регистром сдвига
PC
и одновременно через ключ К поступает
на устройство деления УД, подобное тому,
которое имеется в кодере. После поступления
в УД 29-ти символов (блок данного кода)
ключ К перебрасывается в нижнее положение
и поступление входного сигнала на УД
прекращается. Одновременно с выхода УД
сигнал поступает на детектор ошибки.
Если принятое кодовое слово не имеет
ошибок, то на выходе УД имеется нулевой
сигнал, что и фиксирует детектор, разрешая
без коррекции информационным символам
покидать PC
через сумматор С3.
Если принято ошибочное кодовое слово,
то на выходе УД имеется ненулевой сигнал.
В этом случае продолжающийся тактовый
сдвиг разрядов сигнала в регистре УД
приводит к появлению кодового слова,
соответствующего эталонному полиному.
В тот же момент в детекторе формируется
исправляющий сигнал, который соответствует
положению ошибки в информационных
символах, проходящих через сумматор
С3.
Исправляющий символ, поступающий от
детектора ошибок, исправляет ошибочный
информационный символ.
Подклассом
циклических кодов являются широко
распространенные коды
БЧХ (Боуза–Чоудхори–Хоквингема).
Для них справедливо правило: для любых
значений s
и q
< (2s – 1)/2
существует двоичный циклический код
длиной n = 2s – 1,
исправляющий все комбинации из q
или меньшего
числа ошибок и содержащий не более чем
sq
проверочных
символов. Так, код БЧХ (63,44), используемый
в системе спутникового цифрового
радиовещания, позволяет исправить две
или три ошибки, обнаружить и замаскировать
пять или четыре ошибки на каждый кодовый
блок из 63-х символов. При вероятности
ошибки рош = 10–3
это означает появление одной необнаруженной
ошибки в час. Избыточность данного кода
составляет R = (63 – 44)/63 = 0,33
(33 %). Такой же избыточностью обладают и
циклические
коды Рида–Соломона. Двойной
код Рида–Соломона с перемежением
символов (CIRC-код)
как наиболее эффективный при исправлении
ошибок большой кратности нашел применение
в системе компакт-диска и цифровой
магнитной записи.
В последнее время
стали использоваться также сверточные
коды. В них обрабатывается непрерывная
последовательность символов без
разделения ее на независимые блоки.
Поверочные символы в каждой группе из
n0
символов сверточного кода определяются
не только k0
информационными
символами этой группы, но и информационными
символами предшествующих групп. Поэтому
он не является блочным кодом длины n0.
Недостатком сверточных кодов является
возможное размножение ошибок, т.е.
появление нескольких ошибок на выходе
декодера, если одиночные ошибки оказались
не исправленными при декодировании.
Сверточные коды в сочетании с двойным
кодом Рида–Соломона с перемежением
символов предлагается использовать в
системе непосредственного цифрового
радиовещания.
Перемежение
символов.
Этот способ широко применяется для
защиты от пакетов ошибок длиной в сотни
разрядов, например в аппаратуре цифровой
записи сигналов. В принципе имеются три
возможности перемежения: перемежение
разрядов в пределах кодового слова,
соответствующего одному отсчету ЗС,
перемежение между разрядами разных
отсчетов сигнала ЗВ и рассредоточенное
размещение цифрового сигнала в канальных
интервалах цикла цифровой системы
передачи.
Перемежение старших
и младших разрядов в пределах одного
отсчета используется очень часто. При
этом младшие разряды, число которых
обычно равно или составляет более
половины всех разрядов отсчета,
размещаются равномерно между старшими
разрядами (рис. 1.24,
а). Здесь
кодовое слово является 12-сим-вольным,
из которых 11 информационных разрядов
(а1, a2…а11)
и один (b1)
— поверочный, определяемый как сумма
по модулю 2 пяти старших информационных
разрядов (a1,
а2…a5).
Поверочный разряд находится на последней
позиции, а самый младший 11-й разряд —
на первой. В этом случае пакеты ошибок,
состоящие из двух символов, и около 40 %
пакетов ошибок длительностью в три
символа приводят к появлению одиночной
(односимвольной) ошибки на выходе
декодера.
Перемежение
разрядов разных отсчетов сигнала в
принципе позволяет исправлять пакеты
ошибок любой длительности. Ошибки здесь
также преобразуются в одиночные (рис.
1.24,
б). На строке
1 условно записана исходная последовательность
кодовых слов по восемь символов в каждом.
Символы кодовых слов обозначены буквами
от а до
ж с
цифровыми индексами, определяющими
порядковый номер (место) разряда в слове.
Перед передачей или записью порядок
следования символов в последовательности
изменяется, например так, как это показано
в строке 2. Вначале передаются первые
разряды всех кодовых слов, затем вторые,
третьи и т.д. При приеме (воспроизведении)
порядок следования символов
восстанавливается (строка 3 на рис.
1.24,
б). Пусть при
передаче или считывании возник пакет
ошибок в этой последовательности. Места
ошибок обозначены звездочками.
Рис. 1.24
— К перемежению символов при защите от
ошибок:
а — перемежение
разрядов внутри 12-символьного кодового
слова;
б — перемежение
разрядов разных отсчетов; в
— перемежение старших
и младших разрядов
в восьми 10-разрядных отсчетах
В отсутствии
перемежения (строка 1) эти ошибки исказят
подряд символы а7,
a8,
б1,
б2,
б3,
б4,
б5.
Если же пакет
ошибок возник у сигнала, подвергнутого
перемежению (строка 2), то из строки 3
видно, что после операции, обратной
перемежению, пакет ошибок превратился
в совокупность одиночных ошибок, с
которым можно бороться уже описанными
выше способами.
Благодаря перемежению
ошибочно восстановленные отсчеты уже
не следуют друг за другом (рис. 1.25,
б), поэтому
они могут быть скорректированы путем
интерполяции, о которой говорилось уже
выше. При отсутствии перемежения после
считывания в восстановленном сигнале
(рис. 1.25,
а, 4)
появился бы
ряд отсутствующих отсчетов. Рисунок не
требует дополнительного пояснения.
Эффективность
данного метода особенно высока, если
перемежение символов в пределах одного
блока информации дополняется перемежением
самих блоков, как это, например, принято
в цифровых магнитофонах. Однако при
исправлении пакетов ошибок большой
длительности усложняются устройства
перемежения в связи с необходимостью
запоминать большое число отсчетов.
Кроме того, увеличиваются длина цикла
передачи и время задержки сигнала.
Рис. 1.25
— К пояснению принципа перемежения
отсчетов:
а — без
перемежения; б
— с
перемежением; 1
— исходный
аналоговый ЗС; 2
— отсчеты дискретизированного сигнала
(а
— без перемежения; б
—
с перемежением);
3 — пропадание
соседних отсчетов при считывании;
4 — восстановленные
отсчеты (а
— без перемежения,
б — с
перемежением); штриховой линией показаны
потерянные отсчеты при считывании,
их восстановление
возможно путем интерполяции
Размещение цифрового
ЗС в канальных интервалах цикла цифровой
системы передачи обычно производят
емкостью в один октет. Для примера на
рис. 1.24,
в
показано
перемежение восьми 10-разрядных отсчетов.
В первом октете размещены 1-й и 10-й разряды
первых четырех нечетных отсчетов, во
втором октете — 2-й и 9-й разряды тех же
отсчетов и т.д. Затем подобным же образом
перемежаются разряды четырех четных
отсчетов. При разделении отсчетов на
четные и нечетные пакет ошибок
длительностью в восемь символов не
приводит к одновременному искажению
соседних отсчетов. Последнее позволяет
использовать далее интерполяцию нулевого
или первого порядка при коррекции
восстановленных отсчетов.
Корректирующие (или помехоустойчивые) коды — это коды, которые могут обнаружить и, если повезёт, исправить ошибки, возникшие при передаче данных. Даже если вы ничего не слышали о них, то наверняка встречали аббревиатуру CRC в списке файлов в ZIP-архиве или даже надпись ECC на планке памяти. А кто-то, может быть, задумывался, как так получается, что если поцарапать DVD-диск, то данные всё равно считываются без ошибок. Конечно, если царапина не в сантиметр толщиной и не разрезала диск пополам.
Как нетрудно догадаться, ко всему этому причастны корректирующие коды. Собственно, ECC так и расшифровывается — «error-correcting code», то есть «код, исправляющий ошибки». А CRC — это один из алгоритмов, обнаруживающих ошибки в данных. Исправить он их не может, но часто это и не требуется.
Давайте же разберёмся, что это такое.
Для понимания статьи не нужны никакие специальные знания. Достаточно лишь понимать, что такое вектор и матрица, как они перемножаются и как с их помощью записать систему линейных уравнений.
Внимание! Много текста и мало картинок. Я постарался всё объяснить, но без карандаша и бумаги текст может показаться немного запутанным.
Каналы с ошибкой
Разберёмся сперва, откуда вообще берутся ошибки, которые мы собираемся исправлять. Перед нами стоит следующая задача. Нужно передать несколько блоков данных, каждый из которых кодируется цепочкой двоичных цифр. Получившаяся последовательность нулей и единиц передаётся через канал связи. Но так сложилось, что реальные каналы связи часто подвержены ошибкам. Вообще говоря, ошибки могут быть разных видов — может появиться лишняя цифра или какая-то пропасть. Но мы будем рассматривать только ситуации, когда в канале возможны лишь замены нуля на единицу и наоборот. Причём опять же для простоты будем считать такие замены равновероятными.
Ошибка — это маловероятное событие (а иначе зачем нам такой канал вообще, где одни ошибки?), а значит, вероятность двух ошибок меньше, а трёх уже совсем мала. Мы можем выбрать для себя некоторую приемлемую величину вероятности, очертив границу «это уж точно невозможно». Это позволит нам сказать, что в канале возможно не более, чем ошибок. Это будет характеристикой канала связи.
Для простоты введём следующие обозначения. Пусть данные, которые мы хотим передавать, — это двоичные последовательности фиксированной длины. Чтобы не запутаться в нулях и единицах, будем иногда обозначать их заглавными латинскими буквами (,
,
, …). Что именно передавать, в общем-то неважно, просто с буквами в первое время будет проще работать.
Кодирование и декодирование будем обозначать прямой стрелкой (), а передачу по каналу связи — волнистой стрелкой (
). Ошибки при передаче будем подчёркивать.
Например, пусть мы хотим передавать только сообщения и
. В простейшем случае их можно закодировать нулём и единицей (сюрприз!):
Передача по каналу, в котором возникла ошибка будет записана так:
Цепочки нулей и единиц, которыми мы кодируем буквы, будем называть кодовыми словами. В данном простом случае кодовые слова — это и
.
Код с утроением
Давайте попробуем построить какой-то корректирующий код. Что мы обычно делаем, когда кто-то нас не расслышал? Повторяем дважды:
Правда, это нам не очень поможет. В самом деле, рассмотрим канал с одной возможной ошибкой:
Какие выводы мы можем сделать, когда получили ? Понятно, что раз у нас не две одинаковые цифры, то была ошибка, но вот в каком разряде? Может, в первом, и была передана буква
. А может, во втором, и была передана
.
То есть, получившийся код обнаруживает, но не исправляет ошибки. Ну, тоже неплохо, в общем-то. Но мы пойдём дальше и будем теперь утраивать цифры.
Проверим в деле:
Получили . Тут у нас есть две возможности: либо это
и было две ошибки (в крайних цифрах), либо это
и была одна ошибка. Вообще, вероятность одной ошибки выше вероятности двух ошибок, так что самым правдоподобным будет предположение о том, что передавалась именно буква
. Хотя правдоподобное — не значит истинное, поэтому рядом и стоит вопросительный знак.
Если в канале связи возможна максимум одна ошибка, то первое предположение о двух ошибках становится невозможным и остаётся только один вариант — передавалась буква .
Про такой код говорят, что он исправляет одну ошибку. Две он тоже обнаружит, но исправит уже неверно.
Это, конечно, самый простой код. Кодировать легко, да и декодировать тоже. Ноликов больше — значит передавался ноль, единичек — значит единица.
Если немного подумать, то можно предложить код исправляющий две ошибки. Это будет код, в котором мы повторяем одиночный бит 5 раз.
Расстояния между кодами
Рассмотрим поподробнее код с утроением. Итак, мы получили работающий код, который исправляет одиночную ошибку. Но за всё хорошее надо платить: он кодирует один бит тремя. Не очень-то и эффективно.
И вообще, почему этот код работает? Почему нужно именно утраивать для устранения одной ошибки? Наверняка это всё неспроста.
Давайте подумаем, как этот код работает. Интуитивно всё понятно. Нолики и единички — это две непохожие последовательности. Так как они достаточно длинные, то одиночная ошибка не сильно портит их вид.
Пусть мы передавали , а получили
. Видно, что эта цепочка больше похожа на исходные
, чем на
. А так как других кодовых слов у нас нет, то и выбор очевиден.
Но что значит «больше похоже»? А всё просто! Чем больше символов у двух цепочек совпадает, тем больше их схожесть. Если почти все символы отличаются, то цепочки «далеки» друг от друга.
Можно ввести некоторую величину , равную количеству различающихся цифр в соответствующих разрядах цепочек
и
. Эту величину называют расстоянием Хэмминга. Чем больше это расстояние, тем меньше похожи две цепочки.
Например, , так как все цифры в соответствующих позициях равны, а вот
.
Расстояние Хэмминга называют расстоянием неспроста. Ведь в самом деле, что такое расстояние? Это какая-то характеристика, указывающая на близость двух точек, и для которой верны утверждения:
- Расстояние между точками неотрицательно и равно нулю только, если точки совпадают.
- Расстояние в обе стороны одинаково.
- Путь через третью точку не короче, чем прямой путь.
Достаточно разумные требования.
Математически это можно записать так (нам это не пригодится, просто ради интереса посмотрим):
.
Предлагаю читателю самому убедиться, что для расстояния Хэмминга эти свойства выполняются.
Окрестности
Таким образом, разные цепочки мы считаем точками в каком-то воображаемом пространстве, и теперь мы умеем находить расстояния между ними. Правда, если попытаться сколько нибудь длинные цепочки расставить на листе бумаги так, чтобы расстояния Хэмминга совпадали с расстояниями на плоскости, мы можем потерпеть неудачу. Но не нужно переживать. Всё же это особое пространство со своими законами. А слова вроде «расстояния» лишь помогают нам рассуждать.
Пойдём дальше. Раз мы заговорили о расстоянии, то можно ввести такое понятие как окрестность. Как известно, окрестность какой-то точки — это шар определённого радиуса с центром в ней. Шар? Какие ещё шары! Мы же о кодах говорим.
Но всё просто. Ведь что такое шар? Это множество всех точек, которые находятся от данной не дальше, чем некоторое расстояние, называемое радиусом. Точки у нас есть, расстояние у нас есть, теперь есть и шары.
Так, скажем, окрестность кодового слова радиуса 1 — это все коды, находящиеся на расстоянии не больше, чем 1 от него, то есть отличающиеся не больше, чем в одном разряде. То есть это коды:
Да, вот так странно выглядят шары в пространстве кодов.
А теперь посмотрите. Это же все возможные коды, которые мы получим в канале в одной ошибкой, если отправим ! Это следует прямо из определения окрестности. Ведь каждая ошибка заставляет цепочку измениться только в одном разряде, а значит удаляет её на расстояние 1 от исходного сообщения.
Аналогично, если в канале возможны две ошибки, то отправив некоторое сообщение , мы получим один из кодов, который принадлежит окрестности
радиусом 2.
Тогда всю нашу систему декодирования можно построить так. Мы получаем какую-то цепочку нулей и единиц (точку в нашей новой терминологии) и смотрим, в окрестность какого кодового слова она попадает.
Сколько ошибок может исправить код?
Чтобы код мог исправлять больше ошибок, окрестности должны быть как можно шире. С другой стороны, они не должны пересекаться. Иначе если точка попадёт в область пересечения, непонятно будет, к какой окрестности её отнести.
В коде с удвоением между кодовыми словами и
расстояние равно 2 (оба разряда различаются). А значит, если мы построим вокруг них шары радиуса 1, то они будут касаться. Это значит, точка касания будет принадлежать обоим шарам и непонятно будет, к какому из них её отнести.
Именно это мы и получали. Мы видели, что есть ошибка, но не могли её исправить.
Что интересно, точек касания в нашем странном пространстве у шаров две — это коды и
. Расстояния от них до центров равны единице. Конечно же, в обычно геометрии такое невозможно, поэтому рисунки — это просто условность для более удобного рассуждения.
В случае кода с утроением, между шарами будет зазор.
Минимальный зазор между шарами равен 1, так как у нас расстояния всегда целые (ну не могут же две цепочки отличаться в полутора разрядах).
В общем случае получаем следующее.
Этот очевидный результат на самом деле очень важен. Он означает, что код с минимальным кодовым расстоянием будет успешно работать в канале с
ошибками, если выполняется соотношение
Полученное равенство позволяет легко определить, сколько ошибок будет исправлять тот или иной код. А сколько код ошибок может обнаружить? Рассуждения такие же. Код обнаруживает ошибок, если в результате не получится другое кодовое слово. То есть, кодовые слова не должны находиться в окрестностях радиуса
других кодовых слов. Математически это записывается так:
Рассмотрим пример. Пусть мы кодируем 4 буквы следующим образом.
Чтобы найти минимальное расстояние между различными кодовыми словами, построим таблицу попарных расстояний.
A | B | C | D | |
---|---|---|---|---|
A | — | 3 | 3 | 4 |
B | 3 | — | 4 | 3 |
C | 3 | 4 | — | 3 |
D | 4 | 3 | 3 | — |
Минимальное расстояние , а значит
, откуда получаем, что такой код может исправить до
ошибок. Обнаруживает же он две ошибки.
Рассмотрим пример:
Чтобы декодировать полученное сообщение, посмотрим, к какому символу оно ближе всего.
Минимальное расстояние получилось для символа , значит вероятнее всего передавался именно он:
Итак, этот код исправляет одну ошибку, как и код с утроением. Но он более эффективен, так как в отличие от кода с утроением здесь кодируется уже 4 символа.
Таким образом, основная проблема при построении такого рода кодов — так расположить кодовые слова, чтобы они были как можно дальше друг от друга, и их было побольше.
Для декодирования можно было бы использовать таблицу, в которой указывались бы все возможные принимаемые сообщения, и кодовые слова, которым они соответствуют. Но такая таблица получилась бы очень большой. Даже для нашего маленького кода, который выдаёт 5 двоичных цифр, получилось бы варианта возможных принимаемых сообщений. Для более сложных кодов таблица будет значительно больше.
Попробуем придумать способ коррекции сообщения без таблиц. Мы всегда сможем найти полезное применение освободившейся памяти.
Интерлюдия: поле GF(2)
Для изложения дальнейшего материала нам потребуются матрицы. А при умножении матриц, как известно мы складываем и перемножаем числа. И тут есть проблема. Если с умножением всё более-менее хорошо, то как быть со сложением? Из-за того, что мы работаем только с одиночными двоичными цифрами, непонятно, как сложить 1 и 1, чтобы снова получилась одна двоичная цифра. Значит вместо классического сложения нужно использовать какое-то другое.
Введём операцию сложения как сложение по модулю 2 (хорошо известный программистам XOR):
Умножение будем выполнять как обычно. Эти операции на самом деле введены не абы как, а чтобы получилась система, которая в математике называется полем. Поле — это просто множество (в нашем случае из 0 и 1), на котором так определены сложение и умножение, чтобы основные алгебраические законы сохранялись. Например, чтобы основные идеи, касающиеся матриц и систем уравнений по-прежнему были верны. А вычитание и деление мы можем ввести как обратные операции.
Множество из двух элементов с операциями, введёнными так, как мы это сделали, называется полем Галуа GF(2). GF — это Galois field, а 2 — количество элементов.
У сложения есть несколько очень полезных свойств, которыми мы будем пользоваться в дальнейшем.
Это свойство прямо следует из определения.
А в этом можно убедиться, прибавив к обеим частям равенства. Это свойство, в частности означает, что мы можем переносить в уравнении слагаемые в другую сторону без смены знака.
Проверяем корректность
Вернёмся к коду с утроением.
Для начала просто решим задачу проверки, были ли вообще ошибки при передаче. Как видно, из самого кода, принятое сообщение будет кодовым словом только тогда, когда все три цифры равны между собой.
Пусть мы приняли вектор-строку из трёх цифр. (Стрелочки над векторами рисовать не будем, так как у нас почти всё — это вектора или матрицы.)
Математически равенство всех трёх цифр можно записать как систему:
Или, если воспользоваться свойствами сложения в GF(2), получаем
Или
В матричном виде эта система будет иметь вид
где
Транспонирование здесь нужно потому, что — это вектор-строка, а не вектор-столбец. Иначе мы не могли бы умножать его справа на матрицу.
Будем называть матрицу проверочной матрицей. Если полученное сообщение — это корректное кодовое слово (то есть, ошибки при передаче не было), то произведение проверочной матрицы на это сообщение будет равно нулевому вектору.
Умножение на матрицу — это гораздо более эффективно, чем поиск в таблице, но у нас на самом деле есть ещё одна таблица — это таблица кодирования. Попробуем от неё избавиться.
Кодирование
Итак, у нас есть система для проверки
Её решения — это кодовые слова. Собственно, мы систему и строили на основе кодовых слов. Попробуем теперь решить обратную задачу. По системе (или, что то же самое, по матрице ) найдём кодовые слова.
Правда, для нашей системы мы уже знаем ответ, поэтому, чтобы было интересно, возьмём другую матрицу:
Соответствующая система имеет вид:
Чтобы найти кодовые слова соответствующего кода нужно её решить.
В силу линейности сумма двух решений системы тоже будет решением системы. Это легко доказать. Если и
— решения системы, то для их суммы верно
что означает, что она тоже — решение.
Поэтому если мы найдём все линейно независимые решения, то с их помощью можно получить вообще все решения системы. Для этого просто нужно найти их всевозможные суммы.
Выразим сперва все зависимые слагаемые. Их столько же, сколько и уравнений. Выражать надо так, чтобы справа были только независимые. Проще всего выразить .
Если бы нам не так повезло с системой, то нужно было бы складывая уравнения между собой получить такую систему, чтобы какие-то три переменные встречались по одному разу. Ну, или воспользоваться методом Гаусса. Для GF(2) он тоже работает.
Итак, получаем:
Чтобы получить все линейно независимые решения, приравниваем каждую из зависимых переменных к единице по очереди.
Всевозможные суммы этих независимых решений (а именно они и будут кодовыми векторами) можно получить так:
где равны либо нулю или единице. Так как таких коэффициентов два, то всего возможно
сочетания.
Но посмотрите! Формула, которую мы только что получили — это же снова умножение матрицы на вектор.
Строчки здесь — линейно независимые решения, которые мы получили. Матрица называется порождающей. Теперь вместо того, чтобы сами составлять таблицу кодирования, мы можем получать кодовые слова простым умножением на матрицу:
Найдём кодовые слова для этого кода. (Не забываем, что длина исходных сообщений должна быть равна 2 — это количество найденных решений.)
Итак, у нас есть готовый код, обнаруживающий ошибки. Проверим его в деле. Пусть мы хотим отправить 01 и у нас произошла ошибка при передаче. Обнаружит ли её код?
А раз в результате не нулевой вектор, значит код заподозрил неладное. Провести его не удалось. Ура, код работает!
Для кода с утроением, кстати, порождающая матрица выглядит очень просто:
Подобные коды, которые можно порождать и проверять матрицей называются линейными (бывают и нелинейные), и они очень широко применяются на практике. Реализовать их довольно легко, так как тут требуется только умножение на константную матрицу.
Ошибка по синдрому
Ну хорошо, мы построили код обнаруживающий ошибки. Но мы же хотим их исправлять!
Для начала введём такое понятие, как вектор ошибки. Это вектор, на который отличается принятое сообщение от кодового слова. Пусть мы получили сообщение , а было отправлено кодовое слово
. Тогда вектор ошибки по определению
Но в странном мире GF(2), где сложение и вычитание одинаковы, будут верны и соотношения:
В силу особенностей сложения, как читатель сам может легко убедиться, в векторе ошибки на позициях, где произошла ошибка будет единица, а на остальных ноль.
Как мы уже говорили раньше, если мы получили сообщение с ошибкой, то
. Но ведь векторов, не равных нулю много! Быть может то, какой именно ненулевой вектор мы получили, подскажет нам характер ошибки?
Назовём результат умножения на проверочную матрицу синдромом:
И заметим следующее
Это означает, что для ошибки синдром будет таким же, как и для полученного сообщения.
Разложим все возможные сообщения, которые мы можем получить из канала связи, по кучкам в зависимости от синдрома. Тогда из последнего соотношения следует, что в каждой кучке будут вектора с одной и той же ошибкой. Причём вектор этой ошибки тоже будет в кучке. Вот только как его узнать?
А очень просто! Помните, мы говорили, что у нескольких ошибок вероятность ниже, чем у одной ошибки? Руководствуясь этим соображением, наиболее правдоподобным будет считать вектором ошибки тот вектор, у которого меньше всего единиц. Будем называть его лидером.
Давайте посмотрим, какие синдромы дают всевозможные 5-элементные векторы. Сразу сгруппируем их и подчеркнём лидеров — векторы с наименьшим числом единиц.
В принципе, для корректирования ошибки достаточно было бы хранить таблицу соответствия синдрома лидеру.
Обратите внимание, что в некоторых строчках два лидера. Это значит для для данного синдрома два паттерна ошибки равновероятны. Иными словами, код обнаружил две ошибки, но исправить их не может.
Лидеры для всех возможных одиночных ошибок находятся в отдельных строках, а значит код может исправить любую одиночную ошибку. Ну, что же… Попробуем в этом убедиться.
Вектор ошибки равен , а значит ошибка в третьем разряде. Как мы и загадали.
Ура, всё работает!
Что же дальше?
Чтобы попрактиковаться, попробуйте повторить рассуждения для разных проверочных матриц. Например, для кода с утроением.
Логическим продолжением изложенного был бы рассказ о циклических кодах — чрезвычайно интересном подклассе линейных кодов, обладающим замечательными свойствами. Но тогда, боюсь, статья уж очень бы разрослась.
Если вас заинтересовали подробности, то можете почитать замечательную книжку Аршинова и Садовского «Коды и математика». Там изложено гораздо больше, чем представлено в этой статье. Если интересует математика кодирования — то поищите «Теория и практика кодов, контролирующих ошибки» Блейхута. А вообще, материалов по этой теме довольно много.
Надеюсь, когда снова будет свободное время, напишу продолжение, в котором расскажу про циклические коды и покажу пример программы для кодирования и декодирования. Если, конечно, почтенной публике это интересно.
Когда
информация передается между различными
частями компьютера, или с Земли на Луну
и обратно, или просто оставляется на
запоминающем устройстве, существует
вероятность того, что полученный двоичный
код не тождественней исходному коду.
Частицы пыли или жира на магнитном
носителе или сбой схемы могут привести
к неправильной записи или к неправильному
чтению данных. Кроме того, фоновое
излучение некоторых устройств может
привести к изменению кода, хранящегося
в оперативной памяти машины.
Для
решения таких проблем было разработано
большое количество методов кодирования,
позволяющих обнаружить и даже исправить
ошибки. Сегодня эти методы включены во
внутренние составляющие вычислительных
машин и не видны пользователю. Тем не
менее их наличие является важным и
составляет значительную часть научных
исследований. Поэтому мы рассмотрим
некоторые из этих методов, обеспечивающих
надежность современного компьютерного
оборудования.
Контрольный
разряд четности. Простой метод обнаружения
ошибок основывается на том принципе,
что если известно, что обрабатываемый
двоичный код должен содержать нечетное
число единиц, а полученный код содержит
четное число единиц, то произошла ошибка.
Для того чтобы использовать этот принцип,
нам нужна система, в которой каждый код
содержит нечетное число единиц. Этого
легко достичь, добавив дополнительный
разряд, контрольный разряд соответствия
(parity bit), на место старшего разряда.
(Следовательно, каждый 8-битовый код
ASCII станет 9-битовым, а 16-битовой
дополнительный код станет 17-битовым.)
В каждом случае мы присваиваем этому
разряду значение 1 или 0, так чтобы весь
код содержал нечетное число единиц.
Например, ASCII-код буквы А становится
101000001 (контрольный разряд четности 1), а
код буквы F становится 001000110 (контрольный
разряд четности 0) (рис. 1.28). Хотя 8-битовый
код А содержит четное число единиц, а
8-битовый код F — нечетное, 9-битовый код
этих символов содержит нечетное
количество единиц. Теперь, когда мы
модифицировав нашу систему кодирования,
код с четным числом единиц будет означать,
что произошла ошибка и что обрабатываемый
двоичный код — неправильный.
Рисунок
1 — ASCII-коды букв А и F, измененные для
проверки на нечетность
Система
контроля, описанная выше, называется
контролем нечетности (odd parity), так как
мы построили нашу систему таким образом,
что каждый код содержит нечетное число
единиц. Существует также метод-антипод
— контроль четности (even parity). Б таких
системах каждый двоичный код содержит
четное число единиц, и, следовательно,
об ошибке говорит появление кода с
нечетным числом единиц.
Сегодня
использование контрольных разрядов
четности в оперативной памяти компьютера
довольно распространено. Хотя мы
говорили, что ячейка памяти машин состоит
из восьми битов, на самом деле она состоит
из девяти битов, один из которых
используется в качестве контрольного
бита. Каждый раз, когда 8-битовый код
передается в запоминающую схему, схема
добавляет контрольный бит соответствия
и сохраняет получающийся 9-битовый код.
Если код уже был получен, схема проверяет
его на четность. Если в нем нет ошибки,
память убирает контрольный бит и
возвращает 8-битовый код. В противном
случае память возвращает восемь
информационных битов с предупреждением
о том, что возвращенный код может не
совпадать с исходным кодом, помещенным
в память.
Длинные
двоичные коды часто сопровождает набор
контрольных битов четности, которые
образуют контрольный байт. Каждый разряд
в байте соответствует определенной
последовательности битов, находящейся
в коде. Например, один контрольный бит
может соответствовать каждому восьмому
биту кода, начиная с первого, а другой
может соответствовать каждому восьмому
биту, начиная со второго. В этом случае
больше вероятность обнаружить скопление
ошибок в какой-либо области исходного
кода, поскольку они будут находиться в
области действия нескольких контрольных
битов четности. Разновидностью
контрольного байта являются такие схемы
для обнаружения ошибок, как контрольная
сумма и циклический избыточный код.
Коды
с исправлением ошибок. Хотя использование
контрольного разряда четности и позволяет
обнаружить ошибку, но не дает возможности
исправить ее. Многие удивляются тому,
что коды с исправлением ошибок построены
таким образом, что с их помощью можно
не только найти ошибку, но и исправить
ее. Интуиция подсказывает нам, что мы
не сможем исправить ошибку в полученном
сообщении, не зная информацию, которая
в нем содержится. Однако простой
корректирующий код представлен на рис.
2.
Рисунок
2 – Коды с исправлением ошибок
Для
того чтобы понять, как работает этот
код, определим сначала расстояние
Хемминга (Hamming distance) между двумя кодами
как число различающихся разрядов. Это
расстояние названо в честь Р. В. Хемминга
(R. W. Hamming), который первым стал исследовать
коды с исправлением ошибок, поняв
ненадежность релейных машин в 40-х годах
XX века. Например, расстояние Хемминга
между кодами символов А и В равно четырем
(см. рис. 1.29), а расстояние Хемминга между
В и С равно трем. Важное свойство этой
системы кодирования состоит в том, что
расстояние Хемминга между любыми двумя
кодами больше или равно трем. Поэтому
если один бит в коде будет изменен,
ошибку можно будет обнаружить, так как
результат не будет допустимым кодом.
(Для того чтобы код выглядел, как другой
допустимый код, мы должны изменить по
меньшей мере три бита.)
Кроме
того, если появится ошибка в коде (см.
рис. 1.29), мы сможем понять, как выглядел
исходный код. Расстояние Хемминга между
измененным кодом и исходным будет равно
единице, а между ним и другими допустимыми
кодами — по меньшей мере двум. Для того
чтобы расшифровать сообщение, мы просто
сравниваем каждый полученный код с
кодами в системе до тех пор, пока не
найдем код, находящийся на расстоянии,
равном единице, от исходного кода. Это
и будет правильный символ. Например,
предположим, что мы получили код 010100.
Если мы сравним его с другими кодами,
то получим таблицу расстояний (рис. 3).
Следовательно, мы можем сделать вывод,
что был послан символ D, так как между
его кодом и полученным кодом наименьшее
расстояние.
Рисунок
3 – Расшифровка кодов 010100 с использованием
кодов из рисунка 2
Вы
увидите, что использование этой системы
(коды на рис. 2) позволяет обнаружить до
двух ошибок в одном коде и исправить
одну. Если мы создадим систему, в которой
расстояние Хемминга между любыми двумя
кодами будет равно самое меньшее пяти,
мы сможем обнаружить до четырех ошибок
в одном коде и исправить две. Конечно,
создание эффективной системы кодов с
большими расстояниями Хемминга
представляет собой непростую задачу.
В действительности, она является частью
раздела математики, который называется
алгебраической теорией кодов и входит
в линейную алгебру и теорию матриц.
Методы
исправления ошибок широко применяются
для того, чтобы повысить надежность
компьютерного оборудования. Например,
они часто используются ii дисководах
для магнитных дисков большой емкости,
чтобы уменьшить вероятность того, что
изъян на магнитной поверхности диска
разрушит данные. Кроме того, главное
различие между форматом первоначальных
компакт-дисков, которые использовались
для звукозаписей, и более поздним
форматом, который используется для
хранения данных в компьютере, состоит
в степени исправления ошибок. Формат
CD-DA включает в себя возможности исправления
ошибок, которые сводят частоту появления
ошибок к одной ошибке на два компакт-диска.
Этого достаточно для звукозаписи, но
компании, использующие компакт-диски
для поставки программного обеспечения
покупателям, сказали бы, что наличие
дефектов в 50 процентах дисков — слишком
много. Поэтому в компакт-дисках для
хранения данных применяются дополнительные
возможности исправления ошибок,
сокращающие вероятность появления
ошибки до одной ошибки на 20 000 дисков.
Соседние файлы в папке Комплект Информатика
- #
- #
- #
- #
- #
- #
- #
- #
Лекция 5
Проверка правильности передачи данных
- Причины возникновения ошибок
- Классификация методов защиты от ошибок
- Групповые методы
- мажоритарный
- блок с количественной характеристикой
- Помехоустойчивое кодирование
- Системы передачи с обратной связью
- решающая
- информационная
- Групповые методы
Проблема обеспечения безошибочности (достоверности) передачи информации в
сетях имеет очень большое значение. Если при передаче обычной телеграммы в
тексте возникает ошибка или при разговоре по телефону слышен треск, то в
большинстве случаев ошибки и искажения легко обнаруживаются по смыслу. Но при
передаче данных одна ошибка (искажение одного бита) на тысячу переданных
сигналов может серьезно отразиться на качестве информации.
Существует множество методов обеспечения достоверности передачи информации
(методов защиты от ошибок), отличающихся по используемым для их реализации
средствам, по затратам времени на их применение на передающем и приемном
пунктах, по затратам дополнительного времени на передачу фиксированного объема
данных (оно обусловлено изменением объема трафика пользователя при реализации
данного метода), по степени обеспечения достоверности передачи информации.
Практическое воплощение методов состоит из двух частей — программной и
аппаратной. Соотношение между ними может быть самым различным, вплоть до почти
полного отсутствия одной из частей. Чем больше удельный вес аппаратных средств
по сравнению с программными, тем при прочих равных условиях сложнее
оборудование, реализующее метод, и меньше затрат времени на его реализацию, и
наоборот.
Причины возникновения ошибок
Выделяют две основные причины возникновения ошибок при передаче информации в
сетях:
- сбои в какой-то части оборудования сети или возникновение
неблагоприятных объективных событий в сети (например, коллизий при
использовании метода случайного доступа в сеть). Как правило, система
передачи данных готова к такого рода проявлениям и устраняет их с помощью
предусмотренных планом средств; - помехи, вызванные внешними источниками и атмосферными явлениями. Помехи
— это электрические возмущения, возникающие в самой аппаратуре или
попадающие в нее извне. Наиболее распространенными являются флуктуационные
(случайные) помехи. Они представляют собой последовательность импульсов,
имеющих случайную амплитуду и следующих друг за другом через различные
промежутки времени. Примерами таких помех могут быть атмосферные и
индустриальные помехи, которые обычно проявляются в виде одиночных импульсов
малой длительности и большой амплитуды. Возможны и сосредоточенные помехи в
виде синусоидальных колебаний. К ним относятся сигналы от посторонних
радиостанций, излучения генераторов высокой частоты. Встречаются и смешанные
помехи. В приемнике помехи могут настолько ослабить информационный сигнал,
что он либо вообще не будет обнаружен, либо будет искажен так, что «единица»
может перейти в «нуль», и наоборот.
Трудности борьбы с помехами заключаются в беспорядочности, нерегулярности и в
структурном сходстве помех с информационными сигналами. Поэтому защита
информации от ошибок и вредного влияния помех имеет большое практическое
значение и является одной из серьезных проблем современной теории и техники
связи.
Классификация методов защиты от ошибок
Среди многочисленных методов защиты от ошибок выделяются три группы методов:
групповые методы, помехоустойчивое кодирование и методы защиты от ошибок в
системах передачи с обратной связью.
Групповые методы
Из групповых методов получили широкое применение мажоритарный метод,
реализующий принцип Вердана, и метод передач информационными блоками с
количественной характеристикой блока.
- Мажоритарный метод
- Суть этого метода, давно и широко используемого в телеграфии,
состоит в следующем. Каждое сообщение ограниченной длины передается
несколько раз, чаще всего три раза. Принимаемые сообщения запоминаются,
а потом производится их поразрядное сравнение. Суждение о правильности
передачи выносится по совпадению большинства из принятой информации
методом «два из трех». Например, кодовая комбинация 01101 при
трехразовой передаче была частично искажена помехами, поэтому приемник
принял такие комбинации: 10101, 01110, 01001. В результате проверки по
отдельности каждой позиции правильной считается комбинация 01101.- Передача блоками с количественной характеристикой
- Этот метод также не требует перекодирования информации. Он
предполагает передачу данных блоками с количественной характеристикой
блока. Такими характеристиками могут быть: число единиц или нулей в
блоке, контрольная сумма передаваемых символов в блоке, остаток от
деления контрольной суммы на постоянную величину и др. На приемном
пункте эта характеристика вновь подсчитывается и сравнивается с
переданной по каналу связи. Если характеристики совпадают, считается,
что блок не содержит ошибок. В противном случае на передающую сторону
поступает сигнал с требованием повторной передачи блока. В современных
телекоммуникационных вычислительных сетях такой метод получил самое
широкое распространение.
Помехоустойчивое (избыточное) кодирование
Этот метод предполагает разработку и использование корректирующих
(помехоустойчивых) кодов. Он применяется не только в телекоммуникационных сетях,
но и в ЭВМ для защиты от ошибок при передаче информации между устройствами
машины. Помехоустойчивое кодирование позволяет получить более высокие
качественные показатели работы систем связи. Его основное назначение заключается
в обеспечении малой вероятности искажений передаваемой информации, несмотря на
присутствие помех или сбоев в работе сети.
Существует довольно большое количество различных помехоустойчивых кодов,
отличающихся друг от друга по ряду показателей и прежде всего по своим
корректирующим возможностям.
К числу наиболее важных показателей корректирующих кодов относятся:
- значность кода n, или длина
кодовой комбинации, включающей информационные символы (m)
и проверочные, или контрольные, символы (К):
n = m
+ K
(Значения
контрольных символов при кодировании определяются путем контроля на четность
количества единиц в информационных разрядах кодовой комбинации. Значение
контрольного символа равно 0, если количество единиц будет четным, и равно 1
при нечетном количестве единиц); - избыточность кода Кизб,
выражаемая отношением числа контрольных символов в кодовой комбинации к
значности кода: Кизб = К/
n;
- корректирующая способность кода Ккс, представляющая
собой отношение числа кодовых комбинаций L,
в которых ошибки были обнаружены и исправлены, к общему числу переданных
кодовых комбинаций M в фиксированном объеме
информации: Ккс =
L/ M
Выбор корректирующего кода для его использования в данной компьютерной сети
зависит от требований по достоверности передачи информации. Для правильного
выбора кода необходимы статистические данные о закономерностях появления ошибок,
их характере, численности и распределении во времени. Например, корректирующий
код, обнаруживающий и исправляющий одиночные ошибки, эффективен лишь при
условии, что ошибки статистически независимы, а вероятность их появления не
превышает некоторой величины. Он оказывается непригодным, если ошибки появляются
группами. При выборе кода надо стремиться, чтобы он имел меньшую избыточность.
Чем больше коэффициент Кизб, тем менее эффективно используется
пропускная способность канала связи и больше затрачивается времени на передачу
информации, но зато выше помехоустойчивость системы.
В телекоммуникационных вычислительных сетях корректирующие коды в основном
применяются для обнаружения ошибок, исправление которых осуществляется путем
повторной передачи искаженной информации. С этой целью в сетях используются
системы передачи с обратной связью (наличие между абонентами дуплексной связи
облегчает применение таких систем).
Системы передачи с обратной связью
Системы передачи с обратной связью делятся на системы с решающей обратной
связью и системы с информационной обратной связью.
- Системы с решающей обратной связью
- Особенностью систем с решающей обратной связью (систем с
перезапросом) является то, что решение о необходимости повторной передачи
информации (сообщения, пакета) принимает приемник. Здесь обязательно применяется
помехоустойчивое кодирование, с помощью которого на приемной станции
осуществляется проверка принимаемой информации. При обнаружении ошибки на
передающую сторону по каналу обратной связи посылается сигнал перезапроса, по
которому информация передается повторно. Канал обратной связи используется также
для посылки сигнала подтверждения правильности приема, автоматически
определяющего начало следующей передачи.- Системы с информационной обратной связью
- В системах с информационной обратной связью передача информации
осуществляется без помехоустойчивого кодирования. Приемник, приняв информацию по
прямому каналу и зафиксировав ее в своей памяти, передает ее в полном объеме по
каналу обратной связи передатчику, где переданная и возвра0щенная информация
сравниваются. При совпадении передатчик посылает приемнику сигнал подтверждения,
в противном случае происходит повторная передача всей информации. Таким образом,
здесь решение о необходимости повторной передачи принимает передатчик.
Обе рассмотренные системы обеспечивают практически одинаковую достоверность,
однако в системах с решающей обратной связью пропускная способность каналов
используется эффективнее, поэтому они получили большее распространение.
Сайт управляется системой uCoz
Обнаружение ошибок в технике связи — действие, направленное на контроль целостности данных при записи/воспроизведении информации или при её передаче по линиям связи. Исправление ошибок (коррекция ошибок) — процедура восстановления информации после чтения её из устройства хранения или канала связи.
Для обнаружения ошибок используют коды обнаружения ошибок, для исправления — корректирующие коды (коды, исправляющие ошибки, коды с коррекцией ошибок, помехоустойчивые коды).
Способы борьбы с ошибками
В процессе хранения данных и передачи информации по сетям связи неизбежно возникают ошибки. Контроль целостности данных и исправление ошибок — важные задачи на многих уровнях работы с информацией (в частности, физическом, канальном, транспортном уровнях модели OSI).
В системах связи возможны несколько стратегий борьбы с ошибками:
- обнаружение ошибок в блоках данных и автоматический запрос повторной передачи повреждённых блоков — этот подход применяется в основном на канальном и транспортном уровнях;
- обнаружение ошибок в блоках данных и отбрасывание повреждённых блоков — такой подход иногда применяется в системах потокового мультимедиа, где важна задержка передачи и нет времени на повторную передачу;
- исправление ошибок (forward error correction) применяется на физическом уровне.
Коды обнаружения и исправления ошибок
Корректирующие коды — коды, служащие для обнаружения или исправления ошибок, возникающих при передаче информации под влиянием помех, а также при её хранении.
Для этого при записи (передаче) в полезные данные добавляют специальным образом структурированную избыточную информацию (контрольное число), а при чтении (приёме) её используют для того, чтобы обнаружить или исправить ошибки. Естественно, что число ошибок, которое можно исправить, ограничено и зависит от конкретного применяемого кода.
С кодами, исправляющими ошибки, тесно связаны коды обнаружения ошибок. В отличие от первых, последние могут только установить факт наличия ошибки в переданных данных, но не исправить её.
В действительности, используемые коды обнаружения ошибок принадлежат к тем же классам кодов, что и коды, исправляющие ошибки. Фактически, любой код, исправляющий ошибки, может быть также использован для обнаружения ошибок (при этом он будет способен обнаружить большее число ошибок, чем был способен исправить).
По способу работы с данными коды, исправляющие ошибки делятся на блоковые, делящие информацию на фрагменты постоянной длины и обрабатывающие каждый из них в отдельности, и свёрточные, работающие с данными как с непрерывным потоком.
Блоковые коды
Пусть кодируемая информация делится на фрагменты длиной бит, которые преобразуются в кодовые слова длиной
бит. Тогда соответствующий блоковый код обычно обозначают
. При этом число
называется скоростью кода.
Если исходные бит код оставляет неизменными, и добавляет
проверочных, такой код называется систематическим, иначе несистематическим.
Задать блоковый код можно по-разному, в том числе таблицей, где каждой совокупности из информационных бит сопоставляется
бит кодового слова. Однако, хороший код должен удовлетворять, как минимум, следующим критериям:
- способность исправлять как можно большее число ошибок,
- как можно меньшая избыточность,
- простота кодирования и декодирования.
Нетрудно видеть, что приведённые требования противоречат друг другу. Именно поэтому существует большое количество кодов, каждый из которых пригоден для своего круга задач.
Практически все используемые коды являются линейными. Это связано с тем, что нелинейные коды значительно сложнее исследовать, и для них трудно обеспечить приемлемую лёгкость кодирования и декодирования.
Линейные коды общего вида
Линейный блоковый код — такой код, что множество его кодовых слов образует -мерное линейное подпространство (назовём его
) в
-мерном линейном пространстве, изоморфное пространству
-битных векторов.
Это значит, что операция кодирования соответствует умножению исходного -битного вектора на невырожденную матрицу
, называемую порождающей матрицей.
Пусть — ортогональное подпространство по отношению к
, а
— матрица, задающая базис этого подпространства. Тогда для любого вектора
справедливо:
Минимальное расстояние и корректирующая способность
-
Основная статья: Расстояние Хемминга
Расстоянием Хемминга (метрикой Хемминга) между двумя кодовыми словами и
называется количество отличных бит на соответствующих позициях,
, что равно числу «единиц» в векторе
.
Минимальное расстояние Хемминга является важной характеристикой линейного блокового кода. Она показывает насколько «далеко» расположены коды друг от друга. Она определяет другую, не менее важную характеристику — корректирующую способность:
, округляем «вниз», так чтобы
.
Корректирующая способность определяет, сколько ошибок передачи кода (типа ) можно гарантированно исправить. То есть вокруг каждого кода
имеем
-окрестность
, которая состоит из всех возможных вариантов передачи кода
с числом ошибок (
) не более
. Никакие две окрестности двух любых кодов не пересекаются друг с другом, так как расстояние между кодами (то есть центрами этих окрестностей) всегда больше двух их радиусов
.
Таким образом получив искажённый код из декодер принимает решение, что был исходный код
, исправляя тем самым не более
ошибок.
Поясним на примере. Предположим, что есть два кодовых слова и
, расстояние Хемминга между ними равно 3. Если было передано слово
, и канал внёс ошибку в одном бите, она может быть исправлена, так как даже в этом случае принятое слово ближе к кодовому слову
, чем к любому другому, и в частности к
. Но если каналом были внесены ошибки в двух битах (в которых
отличалось от
) то результат ошибочной передачи
окажется ближе к
, чем
, и декодер примет решение что передавалось слово
.
Коды Хемминга
Коды Хемминга — простейшие линейные коды с минимальным расстоянием 3, то есть способные исправить одну ошибку. Код Хемминга может быть представлен в таком виде, что синдром
, где
— принятый вектор, будет равен номеру позиции, в которой произошла ошибка. Это свойство позволяет сделать декодирование очень простым.
Общий метод декодирования линейных кодов
Любой код (в том числе нелинейный) можно декодировать с помощью обычной таблицы, где каждому значению принятого слова соответствует наиболее вероятное переданное слово
. Однако, данный метод требует применения огромных таблиц уже для кодовых слов сравнительно небольшой длины.
Для линейных кодов этот метод можно существенно упростить. При этом для каждого принятого вектора вычисляется синдром
. Поскольку
, где
— кодовое слово, а
— вектор ошибки, то
. Затем с помощью таблицы по синдрому определяется вектор ошибки, с помощью которого определяется переданное кодовое слово. При этом таблица получается гораздо меньше, чем при использовании предыдущего метода.
Линейные циклические коды
Несмотря на то, что декодирование линейных кодов уже значительно проще декодирования большинства нелинейных, для большинства кодов этот процесс всё ещё достаточно сложен. Циклические коды, кроме более простого декодирования, обладают и другими важными свойствами.
Циклическим кодом является линейный код, обладающий следующим свойством: если является кодовым словом, то его циклическая перестановка также является кодовым словом.
Слова циклического кода удобно представлять в виде многочленов. Например, кодовое слово представляется в виде полинома
. При этом циклический сдвиг кодового слова эквивалентен умножению многочлена на
по модулю
.
В дальнейшем, если не указано иное, мы будем считать, что циклический код является двоичным, то есть могут принимать значения 0 или 1.
Порождающий (генераторный) полином
Можно показать, что все кодовые слова конкретного циклического кода кратны определённому порождающему полиному . Порождающий полином является делителем
.
С помощью порождающего полинома осуществляется кодирование циклическим кодом. В частности:
Коды CRC
Коды CRC (cyclic redundancy check — циклическая избыточная проверка) являются систематическими кодами, предназначенными не для исправления ошибок, а для их обнаружения. Они используют способ систематического кодирования, изложенный выше: «контрольная сумма» вычисляется путем деления на
. Ввиду того, что исправление ошибок не требуется, проверка правильности передачи может производиться точно так же.
Таким образом, вид полинома задаёт конкретный код CRC. Примеры наиболее популярных полиномов:
название кода | степень | полином |
---|---|---|
CRC-12 | 12 | |
CRC-16 | 16 | |
CRC-CCITT | 16 | |
CRC-32 | 32 |
Коды БЧХ
Коды Боуза — Чоудхури — Хоквингема (БЧХ) являются подклассом циклических кодов. Их отличительное свойство — возможность построения кода БЧХ с минимальным расстоянием не меньше заданного. Это важно, потому что, вообще говоря, определение минимального расстояния кода есть очень сложная задача.
Математически полинома на множители в поле Галуа.
Коды коррекции ошибок Рида — Соломона
Коды Рида — Соломона — недвоичные циклические коды, позволяющие исправлять ошибки в блоках данных. Элементами кодового вектора являются не биты, а группы битов (блоки). Очень распространены коды Рида-Соломона, работающие с байтами (октетами).
Математически коды Рида — Соломона являются кодами БЧХ.
Преимущества и недостатки блоковых кодов
Хотя блоковые коды, как правило, хорошо справляются с редкими, но большими пачками ошибок, их эффективность при частых, но небольших ошибках (например, в канале с АБГШ), менее высока.
Свёрточные коды
Файл:ECC NASA standard coder.png
Свёрточный кодер ()
Свёрточные коды, в отличие от блоковых, не делят информацию на фрагменты и работают с ней как со сплошным потоком данных.
Свёрточные коды, как правило, порождаются дискретной линейной инвариантной во времени системой. Поэтому, в отличие от большинства блоковых кодов, свёрточное кодирование — очень простая операция, чего нельзя сказать о декодировании.
Кодирование свёрточным кодом производится с помощью регистра сдвига, отводы от которого суммируются по модулю два. Таких сумм может быть две (чаще всего) или больше.
Декодирование свёрточных кодов, как правило, производится по алгоритму Витерби, который пытается восстановить переданную последовательность согласно критерию максимального правдоподобия.
Преимущества и недостатки свёрточных кодов
Свёрточные коды эффективно работают в канале с белым шумом, но плохо справляются с пакетами ошибок. Более того, если декодер ошибается, на его выходе всегда возникает пакет ошибок.
Каскадное кодирование. Итеративное декодирование
Преимущества разных способов кодирования можно объединить, применив каскадное кодирование. При этом информация сначала кодируется одним кодом, а затем другим, в результате получается код-произведение.
Например, популярной является следующая конструкция: данные кодируются кодом Рида-Соломона, затем перемежаются (при этом символы, расположенные близко, помещаются далеко друг от друга) и кодируются свёрточным кодом. На приёмнике сначала декодируется свёрточный код, затем осуществляется обратное перемежение (при этом пачки ошибок на выходе свёрточного декодера попадают в разные кодовые слова кода Рида — Соломона), и затем осуществляется декодирование кода Рида — Соломона.
Некоторые коды-произведения специально сконструированы для итеративного декодирования, при котором декодирование осуществляется в несколько проходов, каждый из которых использует информацию от предыдущего. Это позволяет добиться большой эффективности, однако, декодирование требует больших ресурсов. К таким кодам относят турбо-коды и LDPC-коды (коды Галлагера).
Оценка эффективности кодов
Эффективность кодов определяется количеством ошибок, которые тот может исправить, количеством избыточной информации, добавление которой требуется, а также сложностью реализации кодирования и декодирования (как аппаратной, так и в виде программы для ЭВМ).
Граница Хемминга и совершенные коды
-
Основная статья: Граница Хэмминга
Пусть имеется двоичный блоковый код с корректирующей способностью
. Тогда справедливо неравенство (называемое границей Хемминга):
Коды, удовлетворяющие этой границе с равенством, называются совершенными. К совершенным кодам относятся, например, коды Хемминга. Часто применяемые на практике коды с большой корректирующей способностью (такие, как коды Рида — Соломона) не являются совершенными.
Энергетический выигрыш
При передаче информации по каналу связи вероятность ошибки зависит от отношения сигнал/шум на входе демодулятора, таким образом при постоянном уровне шума решающее значение имеет мощность передатчика. В системах спутниковой и мобильной, а также других типов связи остро стоит вопрос экономии энергии. Кроме того, в определённых системах связи (например, телефонной) неограниченно повышать мощность сигнала не дают технические ограничения.
Поскольку помехоустойчивое кодирование позволяет исправлять ошибки, при его применении мощность передатчика можно снизить, оставляя скорость передачи информации неизменной. Энергетический выигрыш определяется как разница отношений с/ш при наличии и отсутствии кодирования.
Применение кодов, исправляющих ошибки
Коды, исправляющие ошибки, применяются:
- в системах цифровой связи, в том числе: спутниковой, радиорелейной, сотовой, передаче данных по телефонным каналам.
- в системах хранения информации, в том числе магнитных и оптических.
Коды, обнаруживающие ошибки, применяются в сетевых протоколах различных уровней.
Автоматический запрос повторной передачи
Системы с автоматическим запросом повторной передачи (ARQ — Automatic Repeat reQuest) основаны на технологии обнаружения ошибок. Распространены следующие методы автоматического запроса:
Запрос ARQ с остановками (stop-and-wait ARQ)
Идея этого метода заключается в том, что передатчик ожидает от приемника подтверждения успешного приема предыдущего блока данных перед тем как начать передачу следующего. В случае, если блок данных был принят с ошибкой, приемник передает отрицательное подтверждение (negative acknowledgement, NAK), и передатчик повторяет передачу блока. Данный метод подходит для полудуплексного канала связи. Его недостатком является низкая скорость из-за высоких накладных расходов на ожидание.
Непрерывный запрос ARQ с возвратом (continuous ARQ with pullback)
Для этого метода необходим полнодуплексный канал. Передача данных от передатчика к приемнику производится одновременно. В случае ошибки передача возобновляется, начиная с ошибочного блока (то есть, передается ошибочный блок и все последующие).
Непрерывный запрос ARQ с выборочным повторением (continuous ARQ with selective repeat)
При этом подходе осуществляется передача только ошибочно принятых блоков данных.
См. также
- Цифровая связь
- Линейный код
- Циклический код
- Код Боуза — Чоудхури — Хоквингема
- Код Рида — Соломона
- LDPC
- Свёрточный код
- Турбо-код
Литература
- Мак-Вильямс Ф. Дж., Слоэн Н. Дж. А. Теория кодов, исправляющих ошибки. М.: Радио и связь, 1979.
- Блейхут Р. Теория и практика кодов, контролирующих ошибки. М.: Мир, 1986.
- Морелос-Сарагоса Р. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение. М.: Техносфера, 2005. — ISBN 5-94836-035-0
Ссылки
Имеется викиучебник по теме:
Обнаружение и исправление ошибок
- Помехоустойчивое кодирование (11 ноября 2001). — реферат по проблеме кодирования сообщений с исправлением ошибок. Проверено 25 декабря 2006.
Эта страница использует содержимое раздела Википедии на русском языке. Оригинальная статья находится по адресу: Обнаружение и исправление ошибок. Список первоначальных авторов статьи можно посмотреть в истории правок. Эта статья так же, как и статья, размещённая в Википедии, доступна на условиях CC-BY-SA .
Проверка правильности передачи данных
Проблема обеспечения безошибочности (достоверности) передачи информации в сетях имеет очень большое значение. Если при передаче обычной телеграммы в тексте возникает ошибка или при разговоре по телефону слышен треск, то в большинстве случаев ошибки и искажения легко обнаруживаются по смыслу. Но при передаче данных одна ошибка (искажение одного бита) на тысячу переданных сигналов может серьезно отразиться на качестве информации.
Существует множество методов обеспечения достоверности передачи информации (методов защиты от ошибок), отличающихся по используемым для их реализации средствам, по затратам времени на их применение на передающем и приемном пунктах, по затратам дополнительного времени на передачу фиксированного объема данных (оно обусловлено изменением объема трафика пользователя при реализации данного метода), по степени обеспечения достоверности передачи информации. Практическое воплощение методов состоит из двух частей — программной и аппаратной. Соотношение между ними может быть самым различным, вплоть до почти полного отсутствия одной из частей. Чем больше удельный вес аппаратных средств по сравнению с программными, тем при прочих равных условиях сложнее оборудование, реализующее метод, и меньше затрат времени на его реализацию, и наоборот.
Причины возникновения ошибок
Выделяют две основные причины возникновения ошибок при передаче информации в сетях:
- сбои в какой-то части оборудования сети или возникновение неблагоприятных объективных событий в сети (например, коллизий при использовании метода случайного доступа в сеть). Как правило, система передачи данных готова к такого рода проявлениям и устраняет их с помощью предусмотренных планом средств;
- помехи, вызванные внешними источниками и атмосферными явлениями. Помехи — это электрические возмущения, возникающие в самой аппаратуре или попадающие в нее извне. Наиболее распространенными являются флуктуационные (случайные) помехи. Они представляют собой последовательность импульсов, имеющих случайную амплитуду и следующих друг за другом через различные промежутки времени. Примерами таких помех могут быть атмосферные и индустриальные помехи, которые обычно проявляются в виде одиночных импульсов малой длительности и большой амплитуды. Возможны и сосредоточенные помехи в виде синусоидальных колебаний. К ним относятся сигналы от посторонних радиостанций, излучения генераторов высокой частоты. Встречаются и смешанные помехи. В приемнике помехи могут настолько ослабить информационный сигнал, что он либо вообще не будет обнаружен, либо будет искажен так, что «единица» может перейти в «нуль», и наоборот.
Трудности борьбы с помехами заключаются в беспорядочности, нерегулярности и в структурном сходстве помех с информационными сигналами. Поэтому защита информации от ошибок и вредного влияния помех имеет большое практическое значение и является одной из серьезных проблем современной теории и техники связи.
Классификация методов защиты от ошибок
Среди многочисленных методов защиты от ошибок выделяются три группы методов: групповые методы, помехоустойчивое кодирование и методы защиты от ошибок в системах передачи с обратной связью.
Групповые методы
Из групповых методов получили широкое применение мажоритарный метод, реализующий принцип Вердана, и метод передач информационными блоками с количественной характеристикой блока.
Мажоритарный метод Суть этого метода, давно и широко используемого в телеграфии, состоит в следующем. Каждое сообщение ограниченной длины передается несколько раз, чаще всего три раза. Принимаемые сообщения запоминаются, а потом производится их поразрядное сравнение. Суждение о правильности передачи выносится по совпадению большинства из принятой информации методом «два из трех». Например, кодовая комбинация 01101 при трехразовой передаче была частично искажена помехами, поэтому приемник принял такие комбинации: 10101, 01110, 01001. В результате проверки по отдельности каждой позиции правильной считается комбинация 01101.
Передача блоками с количественной характеристикой Этот метод также не требует перекодирования информации. Он предполагает передачу данных блоками с количественной характеристикой блока. Такими характеристиками могут быть: число единиц или нулей в блоке, контрольная сумма передаваемых символов в блоке, остаток от деления контрольной суммы на постоянную величину и др. На приемном пункте эта характеристика вновь подсчитывается и сравнивается с переданной по каналу связи. Если характеристики совпадают, считается, что блок не содержит ошибок. В противном случае на передающую сторону поступает сигнал с требованием повторной передачи блока. В современных телекоммуникационных вычислительных сетях такой метод получил самое широкое распространение.
Помехоустойчивое (избыточное) кодирование
Этот метод предполагает разработку и использование корректирующих (помехоустойчивых) кодов. Он применяется не только в телекоммуникационных сетях, но и в ЭВМ для защиты от ошибок при передаче информации между устройствами машины. Помехоустойчивое кодирование позволяет получить более высокие качественные показатели работы систем связи. Его основное назначение заключается в обеспечении малой вероятности искажений передаваемой информации, несмотря на присутствие помех или сбоев в работе сети.
Существует довольно большое количество различных помехоустойчивых кодов, отличающихся друг от друга по ряду показателей и прежде всего по своим корректирующим возможностям.
К числу наиболее важных показателей корректирующих кодов относятся:
- значность кода n , или длина кодовой комбинации, включающей информационные символы ( m) и проверочные, или контрольные, символы (К): n = m + K
(Значения контрольных символов при кодировании определяются путем контроля на четность количества единиц в информационных разрядах кодовой комбинации. Значение контрольного символа равно 0, если количество единиц будет четным, и равно 1 при нечетном количестве единиц); - избыточность кода Кизб, выражаемая отношением числа контрольных символов в кодовой комбинации к значности кода: Кизб = К/ n ;
- корректирующая способность кода Ккс, представляющая собой отношение числа кодовых комбинаций L , в которых ошибки были обнаружены и исправлены, к общему числу переданных кодовых комбинаций M в фиксированном объеме информации: Ккс = L / M
Выбор корректирующего кода для его использования в данной компьютерной сети зависит от требований по достоверности передачи информации. Для правильного выбора кода необходимы статистические данные о закономерностях появления ошибок, их характере, численности и распределении во времени. Например, корректирующий код, обнаруживающий и исправляющий одиночные ошибки, эффективен лишь при условии, что ошибки статистически независимы, а вероятность их появления не превышает некоторой величины. Он оказывается непригодным, если ошибки появляются группами. При выборе кода надо стремиться, чтобы он имел меньшую избыточность. Чем больше коэффициент Кизб, тем менее эффективно используется пропускная способность канала связи и больше затрачивается времени на передачу информации, но зато выше помехоустойчивость системы.
В телекоммуникационных вычислительных сетях корректирующие коды в основном применяются для обнаружения ошибок, исправление которых осуществляется путем повторной передачи искаженной информации. С этой целью в сетях используются системы передачи с обратной связью (наличие между абонентами дуплексной связи облегчает применение таких систем).
Системы передачи с обратной связью
Системы передачи с обратной связью делятся на системы с решающей обратной связью и системы с информационной обратной связью.
Системы с решающей обратной связью Особенностью систем с решающей обратной связью (систем с перезапросом) является то, что решение о необходимости повторной передачи информации (сообщения, пакета) принимает приемник. Здесь обязательно применяется помехоустойчивое кодирование, с помощью которого на приемной станции осуществляется проверка принимаемой информации. При обнаружении ошибки на передающую сторону по каналу обратной связи посылается сигнал перезапроса, по которому информация передается повторно. Канал обратной связи используется также для посылки сигнала подтверждения правильности приема, автоматически определяющего начало следующей передачи.
Системы с информационной обратной связью В системах с информационной обратной связью передача информации осуществляется без помехоустойчивого кодирования. Приемник, приняв информацию по прямому каналу и зафиксировав ее в своей памяти, передает ее в полном объеме по каналу обратной связи передатчику, где переданная и возвра0щенная информация сравниваются. При совпадении передатчик посылает приемнику сигнал подтверждения, в противном случае происходит повторная передача всей информации. Таким образом, здесь решение о необходимости повторной передачи принимает передатчик.
Обе рассмотренные системы обеспечивают практически одинаковую достоверность, однако в системах с решающей обратной связью пропускная способность каналов используется эффективнее, поэтому они получили большее распространение.
Источник
Способы контроля правильности передачи данных
Управление правильностью (помехозащищенностью) передачи информации выполняется с помощью помехоустойчивого кодирования. Различают коды, обнаруживающие ошибки, и корректирующие коды, которые дополнительно к обнаружению еще и исправляют ошибки. Помехозащищенность достигается с помощью введения избыточности. Устранение ошибок с помощью корректирующих кодов (такое управление называют Forward Error Control) реализуют в симплексных каналах связи. В дуплексных каналах достаточно применения кодов, обнаруживающих ошибки (Feedback or Backward Error Control), так как сигнализация об ошибке вызывает повторную передачу от источника. Это основные методы, используемые в информационных сетях.
Простейшими способами обнаружения ошибок являются контрольное суммирование, проверка на нечетность. Однако они недостаточно надежны, особенно при появлении пачек ошибок. Поэтому в качестве надежных обнаруживающих кодов применяют циклические коды. Примером корректирующего кода является код Хемминга.
В коде Хемминга вводится понятие кодового расстояния d (расстояния между двумя кодами), равного числу разрядов с неодинаковыми значениями. Возможности исправления ошибок связаны с минимальным кодовым расстоянием dmin. Исправляются ошибки кратности r = ent(dmin–1)/2 и обнаруживаются ошибки кратности dmin–1 (здесь ent означает “целая часть”). Так, при контроле на нечетность dmin=2 и обнаруживаются одиночные ошибки. В коде Хемминга dmin=3. Дополнительно к информационным разрядам вводится L=log2K избыточных контролирующих разрядов, где К – число информационных разрядов, L округляется до ближайшего большего целого значения. L-разрядный контролирующий код есть инвертированный результат поразрядного сложения (т.е. сложения по модулю 2) номеров тех информационных разрядов, значения которых равны 1.
Пример 1. Пусть имеем основной код 100110, т.е. К = 6. Следовательно, L = 3 и дополнительный код равен
010 # 011 # 110= 111,
где # – символ операции поразрядного сложения, и после инвертирования имеем 000. Теперь вместе с основным кодом будет передан и дополнительный. На приемном конце вновь рассчитывается дополнительный код и сравнивается с переданным. Фиксируется код сравнения (поразрядная операция отрицания равнозначности), и если он отличен от нуля, то его значение есть номер ошибочно принятого разряда основного кода. Так, если принят код 100010, то рассчитанный в приемнике дополнительный код равен инверсии от 010 # 110 = 100, т.е. 011, что означает ошибку в третьем разряде.
Пример 2. Основной код 1100000, дополнительный код 110 (результат инверсии кода 110 # 111 =001). Пусть принятый код 1101000, его дополнительный код 010, код сравнения 100, т.е. ошибка в четвертом разряде.
К числу эффективных кодов, обнаруживающих одиночные, кратные ошибки и пачки ошибок, относятся циклические коды (CRC – Cyclic Redundance Code). Они высоконадежны и могут применяться при блочной синхронизации, при которой выделение, например, бита нечетности было бы затруднительно.
Один из вариантов циклического кодирования заключается в умножении исходного кода на образующий полином g(Х), a декодирование – в делении на g(Х). Если остаток от деления не равен нулю, то произошла ошибка. Сигнал об ошибке поступает на передатчик, что вызывает повторную передачу.
Образующий полином есть двоичное представление одного из простых множителей, на которые раскладывается число Xn–1, где Xnобозначает единицу в n-м разряде, n равно числу разрядов кодовой группы. Так, если n=10 и Х=2, то Xn–1=1023=11·93, и если g(X) = 11 или в двоичном коде 1011, то примеры циклических кодов Ai·g(X) чисел Aiв кодовой группе при этом образующем полиноме можно видеть в табл. 2.2.
Основной вариант циклического кода, широко применяемый на практике, отличается от предыдущего тем, что операция деления на образующий полином заменяется следующим алгоритмом: 1) к исходному кодируемому числу А справа приписывается К нулей, где К – число битов в образующем полиноме, уменьшенное на единицу; 2) над полученным числом А(2К) выполняется операция О, отличающаяся от деления тем, что на каждом шаге операции вместо вычитания выполняется поразрядная операция “исключающее ИЛИ”; 3) полученный остаток В и есть CRC – избыточный K-разрядный код, который заменяет в закодированном числе С приписанные справа К нулей, т.е.
На приемном конце над кодом С выполняется операция О. Если остаток не равен нулю, то при передаче произошла ошибка и нужна повторная передача кода А.
Пример 3. Пусть А = 1001 1101, образующий полином 11001.
Так как К = 4, то А(2К)=100111010000. Выполнение операции О расчета циклического кода показано на рис. 2.7.
Рис. 2.7. Пример получения циклического кода
Положительными свойствами циклических кодов являются малая вероятность необнаружения ошибки и сравнительно небольшое число избыточных разрядов.
Общепринятое обозначение образующих полиномов дает следующий пример:
g(X) = Xl6 + Х l2 + Х5+ 1,
что эквивалентно коду 1 0001 0000 0010 0001.
Наличие в сообщениях избыточности позволяет ставить вопрос о сжатии данных, т.е. о передаче того же количества информации с помощью последовательностей символов меньшей длины. Для этого используются специальные алгоритмы сжатия, уменьшающие избыточность. Эффект сжатия оценивают коэффициентом сжатия:
где n – число минимально необходимых символов для передачи сообщения (практически это число символов на выходе эталонного алгоритма сжатия); q – число символов в сообщении, сжатом данным алгоритмом. Так, при двоичном кодировании n равно энтропии источника информации. Часто степень сжатия оценивают отношением длин кодов на входе и выходе алгоритма сжатия.
Наряду с методами сжатия, не уменьшающими количество информации в сообщении, применяются методы сжатия, основанные на потере малосущественной информации.
Сжатие данных осуществляется либо на прикладном уровне с помощью программ сжатия, называемых архиваторами, либо с помощью устройств защиты от ошибок (УЗО) непосредственно в составе модемов.
Очевидный способ сжатия числовой информации, представленной в коде ASCII, заключается в использовании сокращенного кода с четырьмя битами на символ вместо восьми, так как передается набор, включающий только 10 цифр, символы “точка”, “запятая” и “пробел”.
Среди простых алгоритмов сжатия наиболее известны алгоритмы RLE (Run Length Encoding). В них вместо передачи цепочки из одинаковых символов передаются символ и значение длины цепочки. Метод эффективен при передаче растровых изображений, но малополезен при передаче текста.
К методам сжатия относят также методы разностного кодирования, поскольку разности амплитуд отсчетов представляются меньшим числом разрядов, чем сами амплитуды. Разностное кодирование реализовано в методах дельта-модуляции и ее разновидностях.
Предсказывающие (предиктивные) методы основаны на экстраполяции значений амплитуд отсчетов, и если выполнено условие
то отсчет должен быть передан, иначе он является избыточным; здесь Аrи Ар– амплитуды реального и предсказанного отсчетов; d – допуск (допустимая погрешность представления амплитуд).
Иллюстрация предсказывающего метода с линейной экстраполяцией представлена на рис. 2.8. Здесь точками показаны предсказываемые значения сигнала. Если точка выходит за пределы “коридора” (допуска d), показанного пунктирными линиями, то происходит передача отсчета. На рис. 2.8 передаваемые отсчеты отмечены темными кружками в моменты времени t1, t2, t4, t7. Если передачи отсчета нет, то на приемном конце принимается экстраполированное значение.
Рис. 2.8. Предиктивное кодирование
Методы MPEG (Moving Pictures Experts Group) используют предсказывающее кодирование изображений (для сжатия данных о движущихся объектах вместе со звуком). Так, если передавать только изменившиеся во времени пиксели изображения, то достигается сжатие в несколько десятков раз. Методы MPEG становятся мировыми стандартами для цифрового телевидения.
Для сжатия данных об изображениях можно использовать также методы типа JPEG (Joint Photographic Expert Group), основанные на потере малосущественной информации (не различимые для глаза оттенки кодируются одинаково, коды могут стать короче). В этих методах передаваемая последовательность пикселей делится на блоки, в каждом блоке производится преобразование Фурье, устраняются высокие частоты, передаются коэффициенты разложения для оставшихся частот, по ним в приемнике изображение восстанавливается.
Другой принцип воплощен в фрактальном кодировании, при котором изображение, представленное совокупностью линий, описывается уравнениями этих линий.
Более универсален широко известный метод Хаффмена, относящийся к статистическим методам сжатия. Идея метода, – часто повторяющиеся символы нужно кодировать более короткими цепочками битов, чем цепочки редких символов. Недостаток метода заключается в необходимости знать вероятности символов. Если заранее они не известны, то требуются два прохода: на одном в передатчике подсчитываются вероятности, на другом эти вероятности и сжатый поток символов передаются к приемнику. Однако двухпроходность не всегда возможна.
Этот недостаток устраняется в однопроходных алгоритмах адаптивного сжатия, в которых схема кодирования есть схема приспособления к текущим особенностям передаваемого потока символов. Поскольку схема кодирования известна как кодеру, так и декодеру, сжатое сообщение будет восстановлено на приемном конце.
Обобщением этого способа является алгоритм, основанный на словаре сжатия данных. В нем происходит выделение и запоминание в словаре повторяющихся цепочек символов, которые кодируются цепочками меньшей длины.
Интересен алгоритм “стопка книг”, в котором код символа равен его порядковому номеру в списке. Появление символа в кодируемом потоке вызывает его перемещение в начало списка. Очевидно, что часто встречающиеся символы будут тяготеть к малым номерам, а они кодируются более короткими цепочками 1 и 0.
Кроме упомянутых алгоритмов сжатия существует ряд других алгоритмов, например LZ-алгоритмы (алгоритмы Лемпеля–Зива). В LZ-алгоритме используется следующая идея: если в тексте сообщения появляется последовательность из двух ранее уже встречавшихся символов, то эта последовательность объявляется новым символом, для нее назначается код, который при определенных условиях может быть значительно короче исходной последовательности. В дальнейшем в сжатом сообщении вместо исходной последовательности записывается назначенный код. При декодировании повторяются аналогичные действия и поэтому становятся известными последовательности символов для каждого кода.
Статьи к прочтению:
- Способы организации и их особенности
- Способы организации высокопроизводительных процессоров. ассоциативные процессоры. конвейерные процессоры. матричные процессоры
Телекоммуникация Часть 6: Способы контроля
Похожие статьи:
Информация в локальных сетях, правило, пересдается отдельным и порциями, кусками, называемыми в различных источниках пакетами кадрами пли блоками….
Процессы передачи или приема информации в вычислительных сетях могут быть привязаны к определенным временным отметкам, т.е. один из процессов может…
Источник
3.1. Сигналы и шум
3.1.1. Рост вероятности ошибки в системах связи
3.1.2. Демодуляция и обнаружение
3.1.3. Векторное представление сигналов и шума
3.1.3.1. Энергия сигнала
3.1.3.2. Обобщенное преобразование Фурье
3.1.3.3. Представление белого шума через ортогональные сигналы
3.1.3.4. Дисперсия белого шума
3.1.4. Важнейший параметр систем цифровой связи — отношение сигнал/шум
3.1.5. Почему отношение
— это естественный критерий качества
3.2. Обнаружение двоичных сигналов в гауссовом шуме
3.2.1. Критерий максимального правдоподобия приема сигналов
3.2.1.1. Вероятность ошибки
3.2.2. Согласованный фильтр
3.2.3. Реализация корреляции в согласованном фильтре
3.2.3.1. Сравнение свертки и корреляции
3.2.3.2. Дилемма в представлении упорядоченных во времени событий
3.2.4. Оптимизация вероятности ошибки
3.2.5. Вероятность возникновения ошибки при двоичной передаче сигналов
3.2.5.1. Униполярная передача сигналов
3.2.5.2. Биполярная передача сигналов
3.2.5.3. Использование базисных функций для описания передачи сигналов
3.3. Межсимвольная интерференция
3.3.1. Формирование импульсов с целью снижения ISI
3.3.1.1. Цели и компромиссы
3.3.1.2. Фильтр с характеристикой типа приподнятого косинуса
3.3.2. Факторы роста вероятности ошибки
3.3.3. Демодуляция/обнаружение сформированных импульсов
3.3.3.1. Согласованные и обычные фильтры
3.3.3.2. Импульсы Найквиста
3.4. Выравнивание
3.4.1. Характеристики канала
3.4.2. Глазковая диаграмма
3.4.3. Типы эквалайзеров
3.4.3.1. Трансверсальный эквалайзер
3.4.3.2. Эквалайзер с решающей обратной связью
3.4.4. Заданное и адаптивное выравнивание
3.4.5. Частота обновления фильтра
3.1. Сигналы и шум
3.1.1. Рост вероятности ошибки в системах связи
Задача детектора — максимально безошибочно угадать принятый сигнал, насколько это возможно при данном ухудшении качества сигнала в процессе передачи. Существует две причины роста вероятности ошибки. Первая — это последствия фильтрации в передатчике, канале и приемнике, рассмотренные в разделе 3.3. В этом разделе показано, что неидеальная передаточная функция системы приводит к «размыванию» символов, или межсимвольной интерференции (intersymbol interference — ISI).
Вторая причина роста вероятности ошибки — электрические помехи, порождаемые различными источниками, такими как галактика и атмосфера, импульсные помехи, комбинационные помехи, а также интерференция с сигналами от других источников. (Этот вопрос подробно рассмотрен в главе 5.) При надлежащих мерах предосторожности можно устранить большую часть помех и уменьшить последствия интерференции.
В то же время существуют помехи, устранить которые нельзя; это — помехи, вызываемые тепловым движением электронов в любой проводящей среде. Это движение порождает в усилителях и каналах связи тепловой шум, который аддитивно накладывается на сигнал. Использование квантовой механики позволило разработать хорошо известную статистику теплового шума [1].
Основная статистическая характеристика теплового шума заключается в том, что его амплитуды распределены по нормальному или гауссову закону распределения, рассмотренному в разделе 1.5.5 (рис. 1.7). На этом рисунке показано, что наиболее вероятные амплитуды шума — амплитуды с небольшими положительными или отрицательными значениями. Теоретически шум может быть бесконечно большим, но на практике очень большие амплитуды шума крайне редки. Основная спектральная характеристика теплового шума в системе связи заключается в том, что его двусторонняя спектральная плотность мощности является плоской для всех частот, представляющих практический интерес. Другими словами, в тепловом шуме в среднем на низкочастотные флуктуации приходится столько же мощности на герц, сколько и на высокочастотные флуктуации — вплоть до частоты порядка
герц. Если мощность шума характеризуется постоянной спектральной плотностью мощности, шум называется белым. Поскольку тепловой шум присутствует во всех системах связи и для многих систем является доминирующим источником помех, характеристики теплового шума часто используются для моделирования шума при обнаружении и проектировании приемников. Всякий раз, когда канал связи определен как канал AWGN (при отсутствии указаний на другие параметры, ухудшающие качество передачи), мы, по сути, говорим, что ухудшение качества сигнала связано исключительно с неустранимым тепловым шумом.
3.1.2. Демодуляция и обнаружение
В течение данного интервала передачи сигнала, Т, бинарная узкополосная система передает один из двух возможных сигналов, обозначаемых как и
. Подобным образом бинарная полосовая система передает один из двух возможных сигналов, обозначаемых как
и
. Поскольку общая трактовка демодуляции и обнаружения, по сути, совпадает для узкополосных и полосовых систем, будем использовать запись
для обозначения передаваемого сигнала, вне зависимости от того, является система узкополосной или полосовой. Это позволяет совместить многие аспекты демодуляции/обнаружения в узкополосных системах, рассмотренные в данной главе, с соответствующими описаниями для полосовых систем, рассмотренных в главе 4. Итак, для любого канала двоичный сигнал, переданный в течение интервала
, представляется следующим образом.
Принятый сигнал искажается вследствие воздействия шума
и, возможно, неидеальной импульсной характеристики канала
и описывается следующей формулой (1.1).
(3.1)
В нашем случае предполагается процессом AWGN с нулевым средним, а знак «*» обозначает операцию свертки. Для бинарной передачи по идеальному, свободному от искажений каналу, где свертка с функцией
не ухудшает качество сигнала (поскольку для идеального случая
— импульсная функция), вид
можно упростить.
(3.2)
Типичные функции демодуляции и обнаружения цифрового приемника показаны на рис. 3.1. Некоторые авторы используют термины «демодуляция» и «обнаружение» как синонимы. Демодуляцию (demodulation) мы определим как восстановление сигнала (в неискаженный узкополосный импульс), а обнаружение (detection) — как процесс принятия решения относительно цифрового значения этого сигнала. При отсутствии кодов коррекции ошибок на выход детектора поступают аппроксимации символов (или битов) сообщений (также называемые жестким решением). При использовании кодов коррекции ошибок на выход детектора поступают аппроксимации канальных символов (или кодированных битов) и
имеющие вид жесткого или мягкого решения (см. раздел 7.3.2). Для краткости термин «обнаружение» иногда применяется для обозначения совокупности всех этапов обработки сигнала, выполняемых в приемнике, вплоть до этапа принятия решения. Блок преобразования с понижением частоты, показанный на рис. 3.1 в разделе демодуляции, отвечает за трансляцию полосовых сигналов, работающих на определенных радиочастотах. Эта функция может реализовываться различными способами. Она может выполняться на входе приемника, в демодуляторе, распределяться между этими двумя устройствами или вообще не реализовываться.
Рис.3.1. Два основных этапа в процессе демодуляции/ обнаружения цифровых сигналов
В блоке демодуляции и дискретизации (рис. 3.1) изображен принимающий фильтр (по сути, демодулятор), выполняющий восстановление сигнала в качестве подготовки к следующему необходимому этапу — обнаружению. Фильтрация в передатчике и канале обычно приводит к искажению принятой последовательности импульсов, вызванному межсимвольной интерференцией, а значит, эти импульсы не совсем готовы к дискретизации и обнаружению. Задачей принимающего фильтра является восстановление узкополосного импульса с максимально возможным отношением сигнал/шум (signal-to-noise ratio — SNR) и без межсимвольной интерференции. Оптимальный принимающий фильтр, выполняющий такую задачу, называется согласованным (matched), или коррелятором (correlator) и описывается в разделах 3.2.2 и 3.2.3. За принимающим фильтром может находиться выравнивающий фильтр (equalizing filter), или эквалайзер (equalizer); он необходим только в тех системах, в которых сигнал может искажаться вследствие межсимвольной интерференции, введенной каналом. Принимающий и выравнивающий фильтры показаны как два отдельных блока, что подчеркивает различие их функций. Впрочем, в большинстве случаев при использовании эквалайзера для выполнения обеих функций (а следовательно, и для компенсации искажения, внесенного передатчиком и каналом) может разрабатываться единый фильтр. Такой составной фильтр иногда называется просто выравнивающим или принимающим и выравнивающим.
На рис. 3.1 выделены два этапа процесса демодуляции/обнаружения. Этап 1, преобразование сигнала в выборку, выполняется демодулятором и следующим за ним устройством дискретизации. В конце каждого интервала передачи символа Т на выход устройства дискретизации, додетекторную точку, поступает выборка , иногда называемая тестовой статистикой. Значение напряжения выборки
прямо пропорционально энергии принятого символа и обратно пропорционально шуму. На этапе 2 принимается решение относительно цифрового значения выборки (выполняется обнаружение). Предполагается, что шум является случайным гауссовым процессом, а принимающий фильтр демодулятора — линейным. Линейная операция со случайным гауссовым процессом дает другой случайный гауссов процесс [2]. Следовательно, на выходе фильтра шум также является гауссовым. Значит, выход этапа 1 можно описать выражением
(3.3)
где — желаемый компонент сигнала, а
— шум. Для упрощения записи выражение (3.3) будем иногда представлять в виде
. Шумовой компонент
— это случайная гауссова переменная с нулевым средним, поэтому
— случайная гауссова переменная со средним
или
, в зависимости от того, передавался двоичный нуль или двоичная единица. Как описывалось в разделе 1.5.5, плотность вероятности случайного гауссового шума
можно выразить как
, (3.4)
где — дисперсия шума. Используя выражения (3.3) и (3.4), можно выразить плотности условных вероятностей
и
.
(3.5)
(3.6)
Эти плотности условных вероятностей показаны на рис. 3.2. Плотность , изображенная справа, называется правдоподобием
и показывает плотность вероятности случайной переменной
при условии передачи символа
. Подобным образом функция
(слева) является правдоподобием
и показывает плотность вероятности
при условии передачи символа
. Ось абсцисс,
, представляет полный диапазон возможных значений выборки, взятой в течение этапа 1, изображенного на рис. 3.1.
Рис.3.2. Плотности условных вероятностей: и
После того как принятый сигнал преобразован в выборку, действительная форма сигнала уже не имеет значения; сигналы всех типов, преобразованные в одинаковое значение , идентичны для схемы обнаружения. Далее будет показано, что оптимальный принимающий фильтр (согласованный фильтр) на этапе 1 (рис. 3.1) отображает все сигналы с равными энергиями в одну и ту же точку
. Следовательно, важным параметром процесса обнаружения является энергия (а не форма) принятого сигнала, именно поэтому анализ обнаружения для узкополосных сигналов не отличается от анализа для полосовых сигналов. Поскольку
является сигналом напряжения, пропорциональным энергии принятого символа, то чем больше амплитуда
, тем более достоверным будет процесс принятия решения относительно цифрового значения сигнала. На этапе 2 обнаружение выполняется посредством выбора гипотезы, являющейся следствием порогового измерения
, (3.7)
где и
— две возможные (бинарные) гипотезы. Приведенная запись указывает, что гипотеза
выбирается при
, а
— при
. Если
, решение может быть любым. Выбор
, равносилен тому, что передан был сигнал
, а значит, результатом обнаружения является двоичная единица. Подобным образом выбор
равносилен передаче сигнала
, а значит, результатом обнаружения является двоичный нуль.
3.1.3. Векторное представление сигналов и шума
Рассмотрим геометрическое или векторное представление, приемлемое как для узкополосных, так и полосовых сигналов. Определим N-мерное ортогональное пространство как пространство, определяемое набором N линейно независимых функций , именуемых базисными. Любая функция этого пространства может выражаться через линейную комбинацию базисных функций, которые должны удовлетворять условию
(3.8, а)
где оператор
(3.8, б)
называется дельта-функцией Кронекера и определяется формулой (3.8,б). При ненулевых константах пространство именуется ортогональным. Если базисные функции нормированы так, что все
, пространство называется ортонормированным. Основное условие ортогональности можно сформулировать следующим образом: каждая функция
набора базисных функций должна быть независимой от остальных функций набора. Каждая функция
не должна интерферировать с другими функциями в процессе обнаружения. С геометрической точки зрения все функции
взаимно перпендикулярны. Пример подобного пространства с N=3 показан на рис. 3.3, где взаимно перпендикулярные оси обозначены
,
и
. Если
соответствует действительному компоненту напряжения или тока сигнала, нормированному на сопротивление 1 Ом, то, используя формулы (1.5) и (3.8), получаем следующее выражение для нормированной энергии в джоулях,
переносимой сигналом за Т секунд.
Рис. 3.3. Векторное представление сигнала
(3.9)
Одной из причин нашего внимания к ортогональному сигнальному пространству является то, что в нем проще всего определяется Евклидова мера расстояния, используемая в процессе обнаружения. Стоит отметить, что даже если волны, переносящие сигналы, не формируют подобного пространства, они могут преобразовываться в линейную комбинацию ортогональных сигналов. Можно показать [3], что произвольный конечный набор сигналов
, где каждый элемент множества физически реализуем и имеет длительность Т, можно выразить как линейную комбинацию N ортогональных сигналов
,
,…,
, где
, так, что
Эти соотношения можно записать в более компактной форме.
(3.10)
,
где
(3.11)
— это коэффициент при
разложения сигнала
по базисным функциям. Вид базиса
не задается; эти сигналы выбираются с точки зрения удобства и зависят от формы волн передачи сигналов. Набор таких волн
можно рассматривать как набор векторов
. Если, например, N=3, то сигналу
,
соответствует вектор , который можно изобразить как точку в трехмерном Евклидовом пространстве с координатами
, как показано на рис. 3.3. Взаимная ориентация векторов сигналов описывает связь между сигналами (относительно их фаз или частот), а амплитуда каждого вектора набора
является мерой энергии сигнала, перенесенной в течение времени передачи символа. Вообще, после выбора набора из N ортогональных функций, каждый из переданных сигналов
полностью определяется вектором его коэффициентов.
(3.12)
В дальнейшем для отображения сигналов в векторной форме будем использовать запись или
. На рис. 3.4 в векторной форме (которая в данном случае является очень удобной) показан процесс обнаружения. Векторы
и
представляют сигналы-прототипы, или опорные сигналы, принадлежащие набору из М сигналов,
. Приемник априори знает местонахождение в пространстве сигналов всех векторов-прототипов, принадлежащих М-мерному множеству. В процессе передачи каждый сигнал подвергается воздействию шумов, так что в действительности принимается искаженная версия исходного сигнала (например,
или
), где
— вектор помех. Будем считать, что помехи являются аддитивными и имеют гауссово распределение; следовательно, результирующее распределение возможных принимаемых сигналов — это кластер или облако точек вокруг
и
. Кластер сгущается к центру и разрежается с увеличением расстояния от прототипа. Стрелочка с пометкой «
» представляет вектор сигнала, который поступает в приемник в течение определенного интервала передачи символа. Задача приемника — определить, на какой из прототипов М-мерного множества сигнал «похож» больше. Мерой «сходства» может быть расстояние. Приемник или детектор должен решить, какой из прототипов сигнального пространства ближе к принятому вектору
. Анализ всех схем демодуляции или обнаружения включает использование понятия расстояние между принятым сигналом и набором возможных переданных сигналов. Детектор должен следовать одному простому правилу: определять
к тому же классу, к которому принадлежит его ближайший сосед (ближайший вектор-прототип).
Рис.3.4. Сигналы и шум в трехмерном векторном пространстве
3.1.3.1. Энергия сигнала
С помощью формул (1.5), (3.10) и (3.8) нормированную энергию , связанную с сигналом
в течение периода передачи символа Т, можно выразить через ортогональные компоненты
.
(3.13)
(3.14)
(3.15)
(3.16)
(3.17)
Уравнение (3.17) — это частный случай теоремы Парсеваля, связывающей интеграл от квадрата сигнала с суммой квадратов коэффициентов ортогонального разложения
. При использовании ортонормированных функций (т.е. при
) нормированная энергия за промежуток времени Т дается следующим выражением.
(3.18)
Если все сигналы имеют одинаковую энергию, формулу (3.18) можно записать следующим образом.
для всех i
3.1.3.2. Обобщенное преобразование Фурье
Преобразование, описанное формулами (3.8), (3.10) и (3.11), называется обобщенным преобразованием Фурье. При обычном преобразовании Фурье множество включает синусоиды и косинусоиды, а в случае обобщенного преобразования оно не ограничено какой-либо конкретной формой; это множество должно лишь удовлетворять условию ортогональности, записанному в форме уравнения (3.8). Обобщенное преобразование Фурье позволяет представить любой произвольный интегрируемый набор сигналов (или шумов) в виде линейной комбинации ортогональных сигналов [3]. Следовательно, в подобном ортогональном пространстве в качестве критерия принятия решения для обнаружения любого набора сигналов при шуме AWGN вполне оправдано использование расстояния (Евклидового расстояния). Вообще, важнейшее применение этого ортогонального преобразования связано с действительной передачей и приемом сигналов. Передача неортогонального набора сигналов в общем случае осуществляется посредством подходящего взвешивания ортогональных компонентов несущих.
Пример 3.1. Ортогональное представление сигналов
На рис. 3.5 иллюстрируется утверждение, что любой произвольный интегрируемый набор сигналов может представляться как линейная комбинация ортогональных сигналов. На рис. 3.5, а показан набор из трех сигналов, ,
и
.
а) Покажите, что данные сигналы не взаимно ортогональны.
б) На рис. 3.5, б показаны два сигнала и
. Докажите, что эти сигналы ортогональны.
в) Покажите, как неортогональные сигналы из п. а можно выразить как линейную комбинацию ортогональных сигналов из п. б.
г) На рис. 3.5, в показаны другие два сигнала и
. Покажите, как неортогональные сигналы, показанные на рис. 3.5, а, выражаются через линейную комбинацию сигналов, изображенных на рис. 3.5, в.
Рис. 3.5. Пример выражения произвольного набора сигналов через ортогональный набор: а) произвольный набор сигналов;
б) набор ортогональных базисных функций;
в) другой набор ортогональных базисных функций
Решение
а) Сигналы ,
и
, очевидно, не являются взаимно ортогональными, поскольку не удовлетворяют требованиям, указанным в формуле (3.8), т.е. интегрирование по времени (по периоду передачи символа) скалярного произведения любых двух из трех сигналов не равно нулю. Покажем это для сигналов
и
.
Подобным образом интегрирование по интервалу времени Т каждого из скалярных произведений и
дает ненулевой результат. Следовательно, множество сигналов
на рис. 3.5, а не является ортогональным
б) Используя формулу (3.8), докажем, что и
ортогональны.
в) С использованием формулы (3.11) при , неортогональное множество сигналов
можно выразить через линейную комбинацию ортогональных базисных сигналов
.
г) Подобно тому, как было сделано в п. в, неортогональное множество
можно выразить через ортогональный набор базисных функций
, изображенный на рис. 3.5, в.
Эти соотношения показывают, как произвольный набор сигналов выражается через линейную комбинацию сигналов ортогонального набора
, что описывается формулами (3.10) и (3.11). Какое практическое значение имеет возможность представления сигналов
и
через сигналы
,
и соответствующие коэффициенты? Если мы хотим, чтобы система передавала сигналы
,
и
, достаточно, чтобы передатчик и приемник реализовывались только с использованием двух базисных функций
и
, а не трех исходных сигналов. Получить ортогональный набор базисных функций
из любого данного набора сигналов
позволяет процесс ортогонализации Грамма-Шмидта. (Подробно этот процесс описан в приложении 4А работы [4].) .
3.1.3.3. Представление белого шума через ортогональные сигналы
Аддитивный белый гауссов шум (additive white Gaussian noise — AWGN), как и любой другой сигнал, можно выразить как линейную комбинацию ортогональных сигналов. Для последующего рассмотрения процесса обнаружения сигналов шум удобно разделить на два компонента:
, (3.20)
где
(3.21)
является шумом в пространстве сигналов или проекцией компонентов шума на координаты сигнала , a
(3.22)
есть шумом вне пространства сигналов. Другими словами, можно рассматривать как шум, эффективно отсеиваемый детектором, a
— как шум, который будет «вмешиваться» в процесс обнаружения. Итак, сигнал шума
можно выразить следующим образом.
(3.23)
где
для всех
(3.24)
и
для всех
(3.25)
Компонент шума, выраженный в формуле (3.21), следовательно, можно считать просто равным
. Выразить шум
можно через вектор его коэффициентов, подобно тому, как это делалось для сигналов в формуле (3.12). Имеем
, (3.26)
где — случайный вектор с нулевым средним и гауссовым распределением, а компоненты шума
,
являются независимыми.
3.1.3.4. Дисперсия белого шума
Белый шум — это идеализированный процесс с двусторонней спектральной плотностью мощности, равной постоянной величине для всех частот от
до
. Следовательно, дисперсия шума (средняя мощность шума, поскольку шум имеет нулевое среднее) равна следующему.
(3.27)
Хотя дисперсия AWGN равна бесконечности, дисперсия фильтрованного шума AWGN конечна. Например, если AWGN коррелирует с одной из набора ортонормированных функций , дисперсия на выходе коррелятора описывается следующим выражением.
(3.28)
Доказательство формулы (3.28) приводится в приложении В. С этого момента будем считать, что интересующий нас шум процесса обнаружения является шумом на выходе коррелятора или согласованного фильтра с дисперсией , как указано в формуле (3.28).
3.1.4. Важнейший параметр систем цифровой связи — отношение сигнал/шум
Любой, кто изучал аналоговую связь, знаком с критерием качества, именуемым отношением средней мощности сигнала к средней мощности шума (S/N или SNR). В цифровой связи в качестве критерия качества чаще используется нормированная версия SNR, .
— это энергия бита, и ее можно описать как мощность сигнала S, умноженную на время передачи бита
.
— это спектральная плотность мощности шума, и ее можно выразить как мощность шума N, деленную на ширину полосы W. Поскольку время передачи бита и скорость передачи битов
, взаимно обратны,
можно заменить на
.
(3.29)
Еще одним параметром, часто используемым в цифровой связи, является скорость передачи данных в битах в секунду. В целях упрощения выражений, встречающихся в книге, для представления скорости передачи битов вместо записи будем писать просто R. С учетом сказанного перепишем, выражение (3,29) так, чтобы было явно видно, что отношение
представляет собой отношение S/N, нормированное на ширину полосы и скорость передачи битов.
(3.30)
Одной из важнейших метрик производительности в системах цифровой связи является график зависимости вероятности появления ошибочного бита от
. На рис. 3.6 показан «водопадоподобный» вид большинства подобных кривых. При
,
. Безразмерное отношение
— это стандартная качественная мера производительности систем цифровой связи. Следовательно, необходимое отношение
можно рассматривать как метрику, позволяющую сравнивать производительность различных систем; чем меньше требуемое отношение
, тем эффективнее процесс обнаружения при данной вероятности ошибки.
Рис. 3.6. Общий вид зависимости от
.
3.1.5. Почему отношение
— это естественный критерий качества
У неспециалистов в области цифровой связи может возникнуть вопрос о полезности параметра . Отношение S/N — это удобный критерий качества для аналоговых систем связи: числитель представляет меру мощности сигнала, которую желательно сохранить, а знаменатель — ухудшение вследствие электрических помех. Более того, отношение S/N интуитивно воспринимается как мера качества. Итак, почему в цифровых системах связи мы не можем продолжать использовать отношение S/N как критерий качества? Зачем для цифровых систем нужна другая метрика — отношение энергии бита к спектральной плотности мощности шума? Объяснению этого вопроса и посвящен данный раздел.
В разделе 1.2.4 сигнал в представлении через мощность определялся как сигнал с конечной средней мощностью и бесконечной энергией. Энергетический сигнал определялся как сигнал с нулевой средней мощностью и конечной энергией. Подобная классификация полезна при сравнении аналоговых и цифровых сигналов. Аналоговый сигнал мы относим к сигналам, представляемым через мощность. Почему это имеет смысл? Об аналоговом сигнале можно думать как о сигнале, имеющем бесконечную длительность, который не требуется разграничивать во времени. Неограниченно длительный аналоговый сигнал содержит бесконечную энергию; следовательно, использование энергии — это не самый удобный способ описания характеристик такого сигнала. Значительно более удобным параметром для аналоговых волн является мощность (или скорость доставки энергии).
В то же время в системах цифровой связи мы передаем (и принимаем) символы путем передачи некоторого сигнала в течение конечного промежутка времени, времени передачи символа . Сконцентрировав внимание на одном символе, видим, что мощность (усредненная по времени) стремится к нулю. Значит, для описания характеристик цифрового сигнала мощность не подходит. Для подобного сигнала нам нужна метрика, «достаточно хорошая» в пределах конечного промежутка времени. Другими словами, энергия символа (мощность, проинтегрированная по
) — это гораздо более удобный параметр описания цифровых сигналов.
То, что цифровой сигнал лучше всего характеризует полученная им энергия, еще не дает ответа на вопрос, почему — это естественная метрика для цифровых систем, так что продолжим. Цифровой сигнал — это транспортное средство, представляющее цифровое сообщение. Сообщение может содержать один бит (двоичное сообщение), два (четверичное),…, 10 бит (1024-ричное). В аналоговых системах нет ничего подобного такой дискретной структуре сообщения. Аналоговый информационный источник — это бесконечно квантованная непрерывная волна. Для цифровых систем критерий качества должен позволять сравнивать одну систему с другой на битовом уровне. Следовательно, описывать цифровые сигналы в терминах S/N практически бесполезно, поскольку сигнал может иметь однобитовое, 2-битовое или 10-битовое значение. Предположим, что для данной вероятности возникновения ошибки в цифровом двоичном сигнале требуемое отношение S/N равно 20. Будем считать, что понятия сигнала и его значения взаимозаменяемы. Поскольку двоичный сигнал имеет однобитовое значение, требуемое отношение S/N на бит равно 20 единицам. Предположим, что наш сигнал является 1024-ричным, с теми же 20 единицами требуемого отношения S/N. Теперь, поскольку сигнал имеет 10-битовое значение, требуемое отношение S/N на один бит равно всего 2. Возникает вопрос: почему мы должны выполнять такую цепочку вычислений, чтобы найти метрику, представляющую критерий качества? Почему бы сразу не выразить метрику через то, что нам действительно надо, — параметр, связанный с энергией на битовом уровне,
? В заключение отметим, что поскольку отношение S/N является безразмерным, таким же есть и отношение
. Для проверки можно вычислить единицы измерения.
3.2. Обнаружение двоичных сигналов в гауссовом шуме
3.2.1. Критерий максимального правдоподобия приема сигналов
Критерий принятия решения, используемый в этапе 2 (рис. 3.1), описывался формулой (3.7) следующим образом.
Популярный критерий выбора порога для принятия двоичного решения в выражении (3.7) основан на минимизации вероятности ошибки. Вычисление этого минимального значения ошибки
начинается с записи связи отношения плотностей условных вероятностей и отношения априорных вероятностей появления сигнала. Поскольку плотность условной вероятности
также называется правдоподобием
, формулировка
(3.31)
есть критерием отношения правдоподобий (см. приложение Б). В этом неравенстве и
являются априорными вероятностями передачи сигналов
и
, a
и
— две возможные гипотезы. Правило минимизации вероятности ошибки (формула (3.31)) гласит, что если отношение правдоподобий больше отношения априорных вероятностей, то следует выбирать гипотезу
.
В разделе Б.3.1 показано, что при и симметричных
правдоподобиях подстановка формул (3.5) и (3.6) в формулу (3.31) дает
, (3.32)
где — сигнальный компонент
при передаче
, a
— сигнальный компонент при передаче
. Порог
, представленный выражением
, — это оптимальный порог для минимизации вероятности принятия неверного решения в этом важном частном случае. Описанный подход называется критерием минимальной ошибки.
Для равновероятных сигналов оптимальный порог , как показано на рис. 3.2, проходит через пересечение функций правдоподобия. Следовательно, используя формулу (3.32), видим, что этап принятия решения заключается в эффективном выборе гипотезы, соответствующей сигналу с максимальным правдоподобием. Пусть, например, значение выборки принятого сигнала равно
, а правдоподобия того, что
принадлежит к одному из двух классов
или
, отличны от нуля. В этом случае критерий принятия решения можно рассматривать как сравнение правдоподобий
и
. Более вероятное значение переданного сигнала соответствует наибольшей плотности вероятности. Другими словами, детектор выбирает
, если
(3.33)
В противном случае детектор выбирает . Детектор, минимизирующий вероятность ошибки (для классов равновероятных сигналов), называется детектором максимального правдоподобия.
Из рис. 3.2 можно видеть, что выражение (3.32) — это «метод здравого смысла» принятия решения при наличии статистических знаний о классах. Имея на выходе детектора значение , видим (рис. 3.2), что
пересекается с графиком правдоподобия
в точке
и с графиком правдоподобия
в точке
. Какое наиболее разумное решение должен принять детектор? В описанном случае наиболее здравым является выбор класса
, имеющего большее правдоподобие. Если бы пример был М-мерным, а не бинарным, всего существовало бы М функций правдоподобия, представляющих М классов сигналов, к которым может принадлежать принятый сигнал. Решение по принципу максимального правдоподобия в этом случае представляло бы выбор класса, имеющего самое большое правдоподобие из М возможных. (Основы теории принятия решений даются в приложении Б.)
3.2.1.1. Вероятность ошибки
В процессе принятия бинарного решения, показанном на рис. 3.2, существует две возможности возникновения ошибки. Ошибка появится при передаче
, если вследствие шума канала уровень переданного сигнала
упадет ниже
. Вероятность этого равна следующему.
(3.34)
Эта возможность показана заштрихованной областью слева от (рис. 3.2). Подобным образом ошибка появляется при передаче
, если вследствие шума канала уровень переданного сигнала
поднимется выше
. Вероятность этого равна следующему.
(3.35)
Суммарная вероятность ошибки равна сумме вероятностей всех возможностей ее появления. Для бинарного случая вероятность возникновения ошибочного бита можно выразить следующим образом.
(3.36)
Объединяя формулы (3.34)-(3.36), получаем
(3.37,а)
или, что равносильно,
(3.37,б)
Иными словами, при передаче сигнала ошибка происходит при выборе гипотезы
; или при передаче сигнала
ошибка происходит при выборе гипотезы
. Для равных априорных вероятностей (т.е.
) имеем следующее.
(3.38)
Используя симметричность плотностей вероятности, получаем следующее.
(3.39)
Вероятность появления ошибочного бита, , численно равна площади под «хвостом» любой функции правдоподобия,
или
, «заползающим» на «неправильную» сторону порога. Таким образом, для вычисления
мы можем проинтегрировать
от
до
или
— от
до
.
(3.40)
Здесь — оптимальный порог из уравнения (3.32). Заменяя правдоподобие
его гауссовым эквивалентом из формулы (3.6), имеем
(3.41)
где — дисперсия шума вне коррелятора.
Сделаем замену . Тогда
и
(3.42)
Здесь называется гауссовым интегралом ошибок и часто используется при описании вероятности с гауссовой плотностью распределения. Определяется эта функция следующим образом.
(3.43)
Отметим, что гауссов интеграл ошибок может определяться несколькими способами (см. приложение Б); впрочем, все определения одинаково пригодны для описания вероятности ошибки при гауссовом шуме. нельзя вычислить в аналитическом виде. В табл. Б.1 она представлена в форме таблицы. Хорошие аппроксимации функции
через более простые функции можно найти в работе [5]. Вот одна из таких аппроксимаций, справедливая для
.
(3.44)
Итак, мы оптимизировали (в смысле минимизации ) порог
, но не оптимизировали принимающий фильтр в блоке 1 (рис. 3.1). Далее нашей целью является оптимизация этого фильтра путем максимизации аргумента
в формуле (3.42).
3.2.2. Согласованный фильтр
Согласованный фильтр (matched filter) — это линейное устройство, спроектированное, чтобы давать на выходе максимально возможное для данного передаваемого сигнала отношение сигнал/шум. Предположим, что на вход линейного, инвариантного относительно времени (принимающего) фильтра, за которым следует устройство дискретизации (рис. 3.1), подается известный сигнал плюс шум AWGN
. В момент времени
сигнал на выходе устройства дискретизации
состоит из компонента сигнала
, и компонента шума
. Дисперсия шума на выходе (средняя мощность шума) записывается как
, так что отношение мгновенной мощности шума к средней мощности шума,
, в момент
вне устройства дискретизации на этапе 1 равно следующему.
(3.45)
Нам нужно найти передаточную функцию фильтра с максимальным отношением
. Сигнал
на выходе фильтра можно выразить через передаточную функцию фильтра
(до оптимизации) и Фурье-образ сигнала на входе
, (3.46)
где — Фурье-образ сигнала на входе,
. Если двусторонняя спектральная плотность мощности шума на входе равна
Вт/Гц, то с помощью формул (1.19) и (1.53) мощность шума на выходе можно записать следующим образом.
(3.47)
Объединяя формулы (3.45) и (3.47), получаем выражение для .
(3.48)
Найдем теперь значение , при котором
достигает максимума. Для этого нам понадобится неравенство Шварца, одна из форм записи которого представлена ниже.
(3.49)
Равенство достигается при , где
— произвольная константа, а знак «*» обозначает комплексно сопряженное значение. Если отождествить
с
и
с
, можем записать следующее.
(3.50)
Подстановка в выражение (3.48) дает
(3.51)
или
, (3.52)
где энергия Е входящего сигнала равна следующему.
(3.53)
Следовательно, максимальный выход зависит от энергии входящего сигнала и спектральной плотности мощности шума, но не от конкретной формы сигнала.
Равенство в выражении (3.52) получается только при использовании оптимальной передаточной функции фильтра .
(3.54)
или
(3.55)
Поскольку — вещественный сигнал, с помощью формул (А.29) и (А.31) можно записать следующее.
(3.56)
Итак, импульсная характеристика фильтра, дающего максимальное отношение сигнал/шум на выходе, является зеркальным отображением сигнала сообщения , запаздывающим на время передачи символа Т. Отметим, что задержка в Т секунд делает уравнение (3.56) причинным, т.е. запаздывание на Т секунд делает
функцией положительного времени в промежутке
, Без задержки в Т секунд отклик
нереализуем, поскольку в этом случае он является функцией отрицательного времени.
3.2.3. Реализация корреляции в согласованном фильтре
В формуле (3.56) и на рис. 3.7, а отражено основное свойство согласованного фильтра: импульсная характеристика такого фильтра — это зеркальное отображение сигнала с некоторой задержкой (относительно оси ). Следовательно, если сигнал равен
, его зеркальное отображение равно
, а зеркальное отображение, запаздывающее на Т секунд, — это
. Выход
причинного фильтра во временной области можно описать как свертку принятого входного сигнала
с импульсной характеристикой фильтра (см. раздел А.5).
Рис.3.7. Коррелятор и согласованный фильтр: а) характеристика согласованного фильтра; б) сравнение выходов коррелятора и согласованного фильтра
Подставляя из формулы (3.56) в
в формуле (3.57) и выбирая произвольную константу
равной единице, получаем следующее.
(3.58)
Для момента времени формулу (3.58) можно переписать следующим образом.
(3.59)
Из последнего выражения видно, что интеграл от произведения принятого сигнала на копию переданного сигнала
на интервале передачи символа представляет собой корреляцию
с
. Предположим, что принятый сигнал
коррелирует со всеми Сигналами-прототипами
и для этого используется набор из М корреляторов. Сигнал
, корреляция которого (или интеграл от произведения) с
дает максимальное значение
, — и есть сигнал, который согласуется с
лучше остальных. Далее это свойство корреляции мы будем использовать для оптимального обнаружения сигналов.
3.2.3.1. Сравнение свертки и корреляции
Работа согласованного фильтра описывается математической операцией свертки; сигнал сворачивается с импульсной характеристикой фильтра. Работа коррелятора описывается математической операцией корреляции; сигнал коррелирует с копией самого себя. Довольно часто термин «согласованный фильтр» используется как синоним термина «коррелятор». Как такое возможно, если математические операции различны? Напомним, что процесс свертки двух сигналов использует один из сигналов, обращенный во времени. Кроме того, импульсная характеристика согласованного фильтра определяется именно через сигнал, обращенный во времени. Следовательно, свертка в согласованном фильтре с обращенной во времени функцией дает еще одно обращение во времени, подавая на выход (в конце интервала передачи символа) то, что является корреляцией сигнала с собственной копией. Значит, принимающий фильтр, изображенный на рис. 3.1, можно реализовать либо как согласованный фильтр, либо как коррелятор. Важно отметить, что выходы коррелятора и согласованного фильтра одинаковы только в момент времени . Для синусоидального входа выход коррелятора,
, на промежутке
приблизительно описывается линейной функцией. В то же время выход согласованного фильтра приблизительно описывается синусоидой, амплитуда которой в том же промежутке времени модулирована линейной функцией (см. рис. 3.7, б). Поскольку при соизмеримых входах выходы согласованного фильтра и коррелятора идентичны в момент взятия выборки
, функции согласованного фильтра и коррелятора, изображенные на рис. 3.8, часто используются как взаимозаменяемые.
Рис.3.8. Эквивалентность согласованного фильтра и коррелятора:
а) согласованный фильтр; б) коррелятор
3.2.3.2. Дилемма в представлении упорядоченных во времени событий
При представлении упорядоченных во времени событий существует серьезная проблема. Возникает частая ошибка в области электротехники — путаница между самым старшим битом и самым младшим. На рис. 3.9, а показано, как обычно изображается функция времени; самое раннее событие представлено слева, а наиболее позднее — справа. Людям, привыкшим читать слева направо, такое изображение кажется единственно правильным. Рассмотрим рис. 3.9, б, где показано, как импульсы поступают в сеть (или канал) и покидают ее. Здесь самое раннее событие изображено справа, а наиболее позднее — слева. Изучение этого рисунка позволяет понять, что при записи упорядоченных событий возможна путаница между двумя возможными форматами записи. Чтобы избежать затруднений, зачастую необходимо дать некоторые пояснения (например, указать, что крайний справа бит — это первый бит).
Рис.3.9. Дилемма в представлении упорядоченных во времени событий
Математические соотношения часто имеют «врожденные» особенности, гарантирующие соответствующее упорядочение событий. Например, в разделе 3.2.3 согласованный фильтр определялся как имеющий импульсную характеристику — запаздывающую версию обращенной во времени копии сигнала. Иными словами,
. Запаздывание на один интервал передачи символа Т необходимо для того, чтобы фильтр был причинным (выход должен быть функцией положительного времени). Обращение во времени можно рассматривать как «предварительную коррекцию», где крайняя правая часть временного графика теперь соответствует наиболее раннему событию. Поскольку свертка навязывает другое обращение во времени, поступающий сигнал и импульсный отклик фильтра будут «идти в ногу» (ранний с ранним, поздний с поздним).
3.2.4. Оптимизация вероятности ошибки
Для оптимизации (минимизации) в среде канала и приемника с шумом AWGN, показанных на рис. 3.1, нужно выбрать оптимальный принимающий фильтр на этапе 1 и оптимальный порог принятия решения на этапе 2. Для двоичного случая оптимальный порог принятия решения уже выбран и дается формулой (3.32), а в формуле (3.42) показано, что вероятность ошибки при таком пороге равна
. Для минимального
в общем случае необходимо выбрать фильтр (согласованный) с максимальным аргументом функции
. Следовательно, нужно определить максимальное
, что равносильно максимальному
, (3.60)
где — разность желательных компонентов сигнала на выходе фильтра в момент
, а квадрат этого разностного сигнала представляет его мгновенную мощность. В разделе 3.2.2 описывался согласованный фильтр с максимальным отношением сигнал/шум (signal-to-noise ratio — SNR) для данного известного сигнала. Здесь мы решаем вопрос двоичной передачи сигналов и ищем оптимальный фильтр с максимальной разностью двух возможных выходных сигналов. В выводе, приведенном в уравнениях (3.45)-(3.52), было показано, что согласованный фильтр дает на выходе максимально возможное отношение SNR, равное
. Допустим, что фильтр согласовывает входящий разностный сигнал
. Следовательно, в момент
можем записать отношение SNR на выходе.
, (3.61)
где — двусторонняя спектральная плотность мощности шума на входе фильтра и
(3.62)
является энергией разностного сигнала на входе фильтра. Отметим, что уравнение (3.61) не представляет отношения SNR для какой-то отдельной передачи, или
. Это отношение дает метрику разности сигналов на выходе фильтра. Максимизируя выходное отношение SNR, как показано в уравнении (3.61), согласованный фильтр обеспечивает максимальное расстояние (нормированное на шум) между двумя возможными выходами – сигналами
и
.
Далее, объединяя уравнения (3.42) и (3.61), получаем следующее.
(3.63)
Для согласованного фильтра уравнение (3.63) является важным промежуточным результатом, включающим энергию разностного сигнала на входе фильтра. Из этого уравнения можно вывести более общее соотношение для энергии принятого бита. Для начала определим временной коэффициент взаимной корреляции , который будем использовать в качестве меры подобия двух сигналов
и
. Имеем
(3.64,а)
и
(3.64,б)
где . Формула (3.64,а) — это классический математический способ выражения корреляции. Впрочем, если рассматривать
и
как векторы сигналов
и
, то более удобным представлением
является формула (3.64,6). Векторное представление позволяет получать удобные графические изображения. Векторы
и
разделены углом
; при малом угле векторы достаточно подобны (сильно коррелируют), а при больших углах они отличаются. Косинус угла
дает ту же нормированную метрику корреляции, что и формула (3.64,а).
Расписывая выражение (3.62), получаем следующее.
(3.65)
Напомним, что два первых члена формулы (3.65) представляют энергию, связанную с битом, .
(3.66)
Подставляя уравнения (3.64,а) и (3.66) в формулу (3.65), получаем следующее.
(3.67)
Подставляя уравнение (3.67) в (3.63), получаем следующее.
(3.68)
Рассмотрим случай , соответствующий наилучшей корреляции сигналов
и
в течение времени передачи символа (если сигналы изобразить как векторы, угол между ними будет равен нулю). Возможно ли, чтобы подобные сигналы использовались кем-то в реальной системе? Разумеется, нет, поскольку сигналы связи (элементы алфавита) должны быль максимально несопоставимы, чтобы их можно было легко различать (обнаруживать). В данный момент мы просто рассматриваем возможные значения
. Следующий частный случай
соответствует «антикорреляции»
и
в течение времени передачи символа. Другими словами, угол между векторами сигналов составляет 180°. В этом случае, когда векторы являются зеркальными отображениями друг друга, как показано на рис. 3.10, а, сигналы называются антиподными. Рассмотрим также случай
, соответствующий нулевой корреляции между
и
(угол между векторами равен 90°). Такие сигналы, показанные на рис. 3.10, б, именуются ортогональными. Чтобы два сигнала были ортогональными, они не должны коррелировать в течение времени передачи символа, т.е. должно выполняться следующее условие.
(3.69)
Рис. 3.10. Векторы двоичных сигналов: а) антиподные; б) ортогональные
Вопрос ортогональности рассматривался ранее, в разделе 3.1.3. При обнаружении антиподных сигналов (т.е. при ) с помощью согласованного фильтра, уравнение (3.68) можно записать следующим образом.
(3.70)
Точно так же при обнаружении ортогональных сигналов (т.е. при ) с помощью согласованного фильтра, формулу (3.68) можно записать следующим образом.
(3.71)
На рис. 3.10, где амплитуды сигналов выбраны равными , показано, что вероятность ошибки, описываемая уравнениями (3.70) и (3.71), является функцией расстояния между
и
(чем больше расстояние, тем меньше
). Если взять антиподные сигналы (рис. 3.10, а), расстояние между ними будет равно
, а энергия
, связанная с расстоянием, будет выражаться как квадрат расстояния, или
. При подстановке
в уравнение (3.63) получаем уравнение (3.70). Если взять ортогональные сигналы (рис. 3.10, б), расстояние между ними будет равно
; следовательно,
. При подстановке
в уравнение (3.63) получим уравнение (3.71).
Пример 3.2. Обнаружение антиподных сигналов с помощью согласованного фильтра
Рассмотрим бинарную систему связи, принимающую равновероятные сигналы и
плюс шум AWGN (рис. 3.11). Предположим, что в качестве принимающего фильтра используется согласованный фильтр и спектральная плотность мощности шума
равна
Вт/Гц. С помощью значения напряжения и времени принятого сигнала, показанных на рис. 3.11, вычислите вероятность появления ошибочного бита.
Рис.3.11. Узкополосные аналоговые сигналы
Решение
Мы можем графически определить отношение принятой энергии на бит сигнала, используя для этого один из двух графиков, либо , либо
, представленных на рис. 3.11. Энергия — это площадь под графиком импульса, которая находится путем интегрирования.
Поскольку сигналы, изображенные на рис. 3.11, являются антиподными и обнаруживаются с помощью согласованного фильтра, используем формулу (3.70) для вычисления вероятности появления ошибочного бита.
Из табл. Б.1 находим, что . Кроме того, поскольку аргумент
больше 3, можно также использовать приближенное соотношение, приведенное в формуле (3.44), которое дает вероятность
. Поскольку принятые сигналы являются антиподными и принимаются согласованным фильтром, весьма вероятно, что формула (3.70) дает верное выражение для нахождения вероятности возникновения ошибочного бита. Сигналы
и
могут выглядеть гораздо более странно, но до тех пор, пока они являются антиподными и обнаруживаются с помощью согласованного фильтра, их внешний вид не влияет на вычисление
. Формы сигналов, разумеется, имеют значение, но только когда дело доходит до определения импульсного отклика согласованного фильтра, необходимого для обнаружения этих сигналов.
3.2.5. Вероятность возникновения ошибки при двоичной передаче сигналов
3.2.5.1. Униполярная передача сигналов
На рис. 3.12, а приведен пример узкополосной ортогональной передачи сигналов, называемой униполярной.
(3.72)
Здесь — амплитуда сигнала
. Определение ортогональной передачи сигналов дается выражением (3.69), требующим, чтобы
и
имели нулевую корреляцию в течение периода передачи символа.
Рис.3.12. Обнаружение при униполярной узкополосной передаче сигналов:
а) пример униполярной передачи сигналов; б) обнаружение с помощью коррелятора
Поскольку в формуле (3.72) равно нулю в течение периода передачи символа, множество униполярных импульсов полностью удовлетворяет условию, приведенному в уравнении (3.69), а следовательно, они формируют ортогональное множество сигналов. Рассмотрим униполярную передачу сигналов (рис. 3.12, а) и коррелятор (рис. 3.12, б), который может использоваться для обнаружения подобных импульсов. Коррелятор перемножает входящий сигнал
и разность сигналов-прототипов,
, после чего результат интегрируется. По окончании периода передачи символа Т устройство дискретизации (включающееся в момент, определенный как верхний предел интегрирования) дает тестовую статистику
, которая затем сравнивается с порогом
. В случае приема
и шума AWGN (т.е. когда
) сигнальный компонент
находится с помощью уравнения (3.69).
Здесь — математическое ожидание того, что при принятой выборке
был передан сигнал
. Далее использовано равенство
. Подобным образом при
,
. Таким образом, в рассматриваемом случае оптимальный порог принятия решения (см. уравнение (3.32)) равен
. Если тестовая статистика
больше
, сигнал считается равным
; в противном случае принимается решение, что был передан сигнал
.
Из уравнения (3.62) получаем, что энергетический разностный сигнал равен . Тогда из формулы (3.63) получаем вероятность появления на выходе ошибочного бита.
, (3.73)
где при равновероятной передаче сигналов средняя энергия на бит равна . Уравнение (3.73) совпадает с уравнением (3.71), полученным с помощью общих рассуждений для ортогональной передачи сигналов.
Отметим, что вне блока перемножения, подобного показанному на рис. 3.12, б, единицей измерения сигнала является вольт. Следовательно, для сигналов напряжения на каждом из двух входов передаточная функция блока перемножения должна иметь размерность 1/вольт, а функция вне блока перемножения — вольт/вольт в квадрате. Подобным образом вне блока интегрирования также используется единица измерения вольт. Следовательно, для сигнала напряжения в блоке интегрирования передаточная функция интегратора должна иметь размерность 1/секунду, а значит, общая передаточная функция блока перемножения-интегрирования должна иметь размерность 1/вольт-секунда. Итак, для сигнала, поступающего на интегратор и имеющего размерность энергии (вольт в квадрате-секунда), получаем с выхода сигнал, пропорциональный энергии принятого сигнала (вольт/джоуль).
3.2.5.2. Биполярная передача сигналов
На рис. 3.13, а приведен пример узкополосной антиподной передачи сигналов, называемой биполярной, где
(3.74)
Рис.3.13. Обнаружение при биполярной узкополосной передаче сигналов: а) пример биполярной передачи сигналов; б) обнаружение с помощью коррелятора
Как определялось ранее, термин «антиподный» относится к двоичным сигналам, которые являются зеркальными отображениями друг друга, т.е. . Приемник-коррелятор таких антиподных сигналов может иметь схему, подобную представленной на рис. 3.13, б. Один коррелятор перемножает входящий сигнал
и сигнал-прототип
, после чего интегрирует результат; второй выполняет те же действия с сигналом
.
На рис. 3.13, б изображена сама суть основной функции цифрового приемника. Иными словами, в течение периода передачи символа входящий зашумленный сигнал пускается по множественным различным «проходам» для проверки его корреляции со всеми возможными прототипами. После этого приемник определяет наибольшее выходное напряжение (наилучшее соответствие) и принимает соответствующее, решение относительно значения переданного символа. В бинарном случае имеем два возможных прототипа. В квадратичном случае могут существовать 4 возможности и т.д. На рис. 3.13, б выходы коррелятора обозначены как
. Тестовая статистика, сформированная из разности выходов коррелятора, выглядит следующим образом.
(3.75)
Решение принимается с использованием порога, указанного в формуле (3.32). Для антиподных сигналов ; следовательно,
. Значит, если тестовая статистика
положительна, считается, что передан сигнал
; если же тестовая статистика отрицательна, считается, что передан сигнал
.
Из уравнения (3.62) энергетический разностный сигнал равен . Следовательно, можем использовать уравнение (3.63) для вычисления вероятности появления ошибочного бита.
(3.76)
Здесь средняя энергия на бит равна . Уравнение (3.76) совпадает с уравнением (3.70), полученным с помощью общих рассуждений для ортогональной передачи сигналов.
3.2.5.3. Использование базисных функций для описания передачи сигналов
В корреляторе, приведенном на рис. 3.13, б, в качестве опорных могут использоваться не только сигналы ; с этой же целью могут применяться базисные функции, описанные в разделе 3.1.3. Проиллюстрируем этот подход на бинарной передаче сигналов с помощью униполярных или биполярных импульсов, поскольку в этом случае все сигнальное пространство можно охарактеризовать одной базисной функцией. Если нормировать пространство, т.е. в уравнении (3.76) положить
, то базисная функция
будет равна
.
Для униполярной передачи импульсов можем записать следующее.
и
Здесь коэффициенты , и
равны, соответственно,
и
.
Для биполярной передачи импульсов можем записать
и
где коэффициенты и
равны, Соответственно,
и
. При использовании антиподных импульсов можно считать, что приемник-коррелятор имеет вид, показанный на рис. 3.12, б, с опорным сигналом, равным
. Итак, при передаче
, можем записать следующее.
Поскольку , а значит для антиподной передачи сигналов
, то
. Аналогично при приеме сигнала
получаем
. Если опорные сигналы рассматривать именно таким образом, то математическое ожидание
равно
(измеряется в нормированных вольтах, пропорциональных принятой энергии). Приведенный подход к описанию коррелятора дает удобное выражение
, имеющее те же единицы измерения (вольт), что используются вне блоков перемножения и интегрирования. Еще раз повторим важный момент: на выходе устройства дискретизации (в додетекторной точке) тестовая статистика
— это сигнал напряжения, пропорциональный энергии принятого сигнала.
На рис. 3.14 показана зависимость от
для биполярной и униполярной передачи сигналов. Существует только два точных способа сравнения этих кривых. Проведем вертикальную линию при некотором данном отношении
, скажем 10 дБ. Видим, что униполярная передача сигналов дает вероятность
порядка
, а биполярная – порядка
. Нижняя кривая соответствует лучшей достоверности передачи. Можно также провести горизонтальную линию при некотором требуемом уровне
, скажем
. Видим, что при униполярной передаче сигналов каждый принятый бит потребует отношения
порядка 12,5 дБ, а при биполярной передаче — не более 9,5 дБ. Разумеется, более низкие требования лучше (требуется меньшая мощность, меньшая полоса). Вообще, более достоверным схемам соответствуют кривые, расположенные ближе к левой и нижней осям. Изучая кривые на рис. 3.14, видим, что биполярная схема имеет выигрыш в 3 дБ по сравнению с униполярной. Это Отличие могло быть предсказано ранее, поскольку отношение
в формулах (3.70) и (3.71) отличалось в 2 раза. В главе 4 будет показано, что при обнаружении с использованием согласованного фильтра полосовая антиподная передача сигналов (например, двоичная фазовая манипуляция) дает такое же значение
, как и узкополосная антиподная передача сигналов (например, с помощью биполярных импульсов). Также будет показано, что при обнаружении с помощью согласованного фильтра полосовая ортогональная передача сигналов (например, ортогональная частотная манипуляция) дает такое же значение
, как и узкополосная ортогональная передача сигналов (например, с использованием униполярных импульсов).
Рис.3.14. Вероятность появления ошибочного бита при униполярной и биполярной передаче сигналов
На рис. 3.15, а представлены фильтрующие элементы типичной системы цифровой связи. В системе — передатчике, приемнике и канале — используется множество разнообразных фильтров (и реактивных элементов, таких как емкость и индуктивность). В передатчике информационные символы, описываемые как импульсы или уровни напряжения, модулируют импульсы, которые затем фильтруются для согласования с определенными ограничениями полосы. В узкополосных системах канал (кабель) имеет распределенное реактивное сопротивление, искажающее импульсы. Некоторые полосовые системы, такие как беспроводные, являются, по сути, каналами с замираниями (см. главу 15), которые проявляют себя как нежелательные фильтры, также искажающие сигнал. Если принимающий фильтр настраивается на компенсацию искажения, вызванного как передатчиком, так и каналом, он зачастую называется выравнивающим (equalizing filter) или принимающим/выравнивающим (receiving/equalizing). На рис. 3.15, б приведена удобная модель системы, объединяющая все следствия фильтрации в одну общесистемную передаточную функцию.
(3.77)
Рис.3.15. Межсимвольная интерференция в процессе обнаружения:
а) типичная узкополосная цифровая система; б) эквивалентная модель
Здесь характеризует передающий фильтр,
— фильтрацию в канале, а
— принимающий/выравнивающий фильтр. Таким образом, характеристика
представляет передаточную функцию всей системы, отвечающую за все этапы фильтрации в различных местах цепочки передатчик-канал-приемник. В бинарной системе, использующей какую-нибудь распространенную кодировку РСМ, например NRZ-L, детектор принимает решение относительно значения символа путем сравнения выборки принятого импульса с порогом. Например, детектор, изображенный на рис. 3.15, решает, что была послана двоичная единица, если принятый импульс положителен, или двоичный нуль — в противном случае. Вследствие системной фильтрации принятые импульсы могут перекрываться, как показано на рис. 3.15, б. Хвост импульса может «размываться» на соседний интервал передачи символа, таким образом мешая процессу обнаружения и повышая вероятность появления ошибки; подобный процесс получил название межсимвольной интерференции (intersymbol interference — ISI). Даже при отсутствии шумов воздействие фильтрации и искажение, вызванное каналом, приводят к возникновению ISI. Иногда функция
задается, и задача состоит в определении
и
, минимизирующих ISI на выходе
.
Исследованием проблемы задания формы принятого импульса с тем, чтобы предотвратить появление ISI на детекторе, долгое время занимался Найквист [6]. Он показал, что минимальная теоретическая ширина полосы системы, требуемая для определения символов/секунду без ISI, равна
Гц. Это возможно, если передаточная функция системы
имеет прямоугольную форму, как показано на рис. 3.16, а. Для узкополосных систем с такой
, что односторонняя ширина полосы фильтра равна 1/2T (идеальный фильтр Найквиста), импульсная характеристика функции
, вычисляемая с помощью обратного преобразования Фурье (см. табл. А.1), имеет вид
; она показана на рис. 3.16, б. Импульс, описываемый функцией
, называется идеальным импульсом Найквиста; он имеет бесконечную длительность и состоит из множественных лепестков: главного и боковых, именуемых хвостами. Найквист установил, что если каждый импульс принятой последовательности имеет вид
, импульсы могут обнаруживаться без межсимвольной интерференции. На рис. 3.16, б показано, как удается обойти ISI. Итак, имеем два последовательных импульса,
и
. Несмотря на то что хвосты функции
имеют бесконечную длительность, из рисунка видно, что в момент
взятия выборки функции
хвост функции
проходит через точку нулевой амплитуды, и подобным образом он будет иметь нулевую амплитуду в моменты взятия выборок всех остальных импульсов последовательности
,
. Следовательно, предполагая идеальную синхронизацию процесса взятия выборок, получаем, что межсимвольная интерференция не будет влиять на процесс обнаружения. Чтобы узкополосная система могла обнаруживать 1/Т таких импульсов (символов) в секунду, ширина ее полосы должна быть равна 1/2T; другими словами, система с шириной полосы
Гц может поддерживать максимальную скорость передачи
символов/с (ограничение полосы по Найквисту) без ISI. Следовательно, при идеальной фильтрации Найквиста (и нулевой межсимвольной интерференции) максимальная возможная скорость передачи символов на герц полосы, называемая уплотнением скорости передачи символов (symbol-rate packing), равна 2 символа/с/Гц. Вследствие прямоугольной формы передаточной функции идеального фильтра Найквиста и бесконечной длины соответствующего импульса, подобные идеальные фильтры нереализуемы; реализовать их можно только приближенно.
Рис. 3.16. Каналы Найквиста для нулевой межсимвольной интерференции:
а) прямоугольная передаточная функция системы ;
б) принятый импульс
Стоит отметить, что названия «фильтр Найквиста» и «импульс Найквиста» часто используются для описания обширного класса фильтраций и формообразований, удовлетворяющих условию нулевой межсимвольной интерференции в точках взятия выборок. Фильтр Найквиста — это фильтр, передаточная функция которого может быть представлена прямоугольной функцией, свернутой с любой четно-симметричной частотной функцией. Импульс Найквиста — это импульс, форма которого может быть описана функцией , умноженной на другую временную функцию. Следовательно, существует бесконечное множество фильтров Найквиста и соответствующих импульсов. В классе фильтров Найквиста наиболее популярными являются фильтры с характеристикой типа приподнятого косинуса или корня из приподнятого косинуса. Несколько позже эти фильтры будут рассмотрены подробно.
Основным параметром систем связи является эффективность использования полосы, , измеряемая в бит/с/Гц. Как можно понять из единиц измерения,
представляет меру скорости переноса данных на единицу ширины полосы, а значит, показывает, насколько эффективно любой метод передачи сигналов использует ресурс полосы. Поскольку ограничение ширины полосы по Найквисту устанавливает теоретическое максимальное уплотнение скорости передачи символов без межсимвольной интерференции, равное 2 символа/с/Гц, может возникнуть вопрос, можно ли что-то сказать об ограничении величин, измеряемых в бит/с/Гц. О последних ничего нельзя сказать прямо; ограничение связано только с импульсами или символами и возможностью обнаружения их амплитудных значений без искажения со стороны других импульсов. При нахождении
для любой схемы передачи сигналов необходимо знать, сколько битов представляет каждый символ, что само по себе является темой отдельного рассмотрения. Допустим, сигналы кодируются с использованием М-уровневой кодировки РАМ. Каждый символ (включающий
бит) представляется одной из М импульсных амплитуд. Для
бит на символ размер набора символов составляет
амплитуды. Таким образом, при 64-уровневой кодировке РАМ теоретическая максимальная эффективность использования полосы, не допускающая межсимвольной интерференции, равна 12 бит/с/Гц. (Подробнее об эффективности использования полосы в главе 9.)
3.3.1. Формирование импульсов с целью снижения ISI
3.3.1.1. Цели и компромиссы
Чем компактнее спектр передачи сигналов, тем выше разрешенная скорость передачи данных или больше число пользователей, которые могут обслуживаться одновременно. Это имеет большое значение для поставщиков услуг связи, поскольку более эффективное использование доступной ширины полосы приносит больший доход. Для большинства систем связи (за исключением систем расширенного спектра, рассмотренных в главе 12) нашей задачей является максимальное сужение требуемой полосы системы. Найквист определил основное ограничение для такого сужения полосы. Но что произойдет, если заставить систему работать с меньшей полосой, чем определяется ограничением? Импульсы станут протяженнее по времени, что, вследствие увеличения межсимвольной интерференции, отрицательно скажется на достоверности передачи. Более разумным было бы сжатие полосы информационных импульсов до некоторого разумного значения, которое больше минимума, определенного Найквистом. Это выполняется путем формирования импульсов с помощью фильтра Найквиста. Если край полосы пропускания фильтра крутой, приблизительно соответствующий прямоугольной форме (рис. 3.16, а), то спектр сигнала можно сделать более компактным. В то же время использование подобного фильтра приводит к тому, что длительность импульсного отклика становится приблизительно равна бесконечности, как показано на рис. 3.16, б. Каждый импульс накладывается на все импульсы последовательности. Длительные отклики дают хвосты больших амплитуд около главного лепестка каждого импульса. Подобные хвосты нежелательны, поскольку, как видно из рис. 3.16, б, они вносят нулевую межсимвольную интерференцию только в том случае, если выборка производится точно в соответствующий момент времени; при больших хвостах даже небольшие ошибки синхронизации приведут к межсимвольной интерференции. Следовательно, хотя компактный спектр и позволяет оптимальным образом использовать полосу, он оказывается очень чувствительным к ошибкам синхронизации, приводящим к увеличению межсимвольной интерференции.
3.3.1.2. Фильтр с характеристикой типа приподнятого косинуса
Ранее говорилось, что принимающий фильтр часто называется выравнивающим, если он настраивается на компенсацию искажений, вносимых передатчиком и каналом. Другими словами, конфигурация этого фильтра выбрана так, чтобы оптимизировать общесистемную частотную передаточную функцию , описанную формулой (3.77). Одна из часто используемых передаточных функций
принадлежит к классу функций Найквиста (нулевая ISI в моменты взятия выборок) и называется приподнятым косинусом (raised-cosine). Описывается эта функция следующим выражением.
(3.78)
Здесь W — максимальная ширина полосы, a — минимальная ширина полосы по Найквисту для прямоугольного спектра и ширина полосы по уровню -6 дБ (или точка половинной амплитуды) для косинусоидального спектра. Разность
называется «избытком полосы» (excess bandwidth); она означает дополнительную ширину полосы по сравнению с минимумом Найквиста (например, для прямоугольного спектра
). Коэффициент сглаживания (roll-off factor) определяется как
, где
. Коэффициент сглаживания — это избыток полосы, деленный на ширину полосы по уровню -6 дБ (т.е. относительный избыток полосы). Для данного
выравнивание
задает требуемый избыток относительно
и характеризует крутизну фронта характеристики фильтра. На рис. 3.17, а для нескольких значений коэффициента сглаживания
(
,
и
) показана характеристика типа приподнятого косинуса. Случай
соответствует минимальной ширине полосы по Найквисту. Отметим, что при
требуемый избыток полосы равен 100% и хвосты характеристики достаточно малы. Система с подобной спектральной характеристикой может поддерживать скорость передачи символов
символов/с при использовании полосы в
, Гц (удвоенная минимальная полоса по Найквисту), что дает уплотнение скорости передачи, равное 1 символ/с/Гц. Импульсный отклик, соответствующий функции
и определяемый выражением (3.78), равен следующему.
(3.79)
Этот импульсный отклик изображен на рис. 3.17, б для ,
и
. Хвост имеет нулевые значения в каждый момент взятия выборки, вне зависимости от значения коэффициента сглаживания.
Фильтр, описанный уравнением (3.78), и импульс, представленный уравнением (3.79), можно реализовать только приблизительно, поскольку, строго говоря, спектр типа приподнятого косинуса физически не может быть реализован (причина та же, что и при реализации идеального фильтра Найквиста). Реализуемый фильтр должен иметь импульсный отклик конечной длительности и давать нулевой выход до момента включения импульса (см. раздел 1.7.2), что невозможно для семейства характеристик типа приподнятого косинуса. Эти нереализуемые фильтры являются непричинными (импульсный отклик фильтра имеет бесконечную продолжительность и фильтрованный импульс начинается в момент ). На практике фильтр формирования импульсов должен удовлетворять двум требованиям. Он должен обеспечивать желаемое сглаживание и должен быть реализуем (импульсный отклик должен усекаться до конечного размера).
Рис. 3.17. Характеристики фильтров типа приподнятого косинуса:
а) передаточная функция системы; б) импульсный отклик системы
Используя ограничение ширины полосы по Найквисту (минимальная ширина полосы W, требуемая для поддержания скорости символов/с без межсимвольной интерференции, равна
Гц), можно вывести более общее соотношение между требуемой полосой и скоростью передачи символов, включающее коэффициент сглаживания
.
(3.80)
Таким образом, при формула (3.80) описывает минимальную требуемую полосу для обеспечения идеальной фильтрации по Найквисту. При
ширина полосы превышает минимум Найквиста; следовательно, для этого случая
меньше удвоенной ширины полосы. Если демодулятор подает на выход одну выборку на символ, теорема о дискретном представлении Найквиста нарушается, поскольку у нас остается слишком мало выборок для однозначного восстановления аналогового сигнала (присутствует наложение). Впрочем, в системах цифровой связи нас и не интересует восстановление аналоговых сигналов. Кроме того, поскольку семейство фильтров с характеристикой типа приподнятого косинуса характеризуется нулевой межсимвольной Интерференцией в каждый момент произведения выборки из символа, мы по-прежнему можем добиться однозначного обнаружения.
Сигналы с полосовой модуляцией (см. главу 4), такие как сигналы с амплитудной (amplitude-shift keying — ASK) и фазовой манипуляцией (phase-shift keying — PSK), требуют вдвое большей полосы передачи, чем эквивалентные узкополосные сигналы (см. раздел 1.7.1). Такие смещенные по частоте сигналы занимают полосу, вдвое большую по ширине соответствующей узкополосной; зачастую их называют двухполосными (double-sideband — DSB). Следовательно, для сигналов в кодировках ASK и PSK соотношение между требуемой шириной полосы и скоростью передачи символов
принимает следующий вид.
(3.81)
Напомним, что передаточная функция, имеющая вид приподнятого косинуса, — это общесистемная функция , описывающая «полный проход» сообщения, отправленного передатчиком (в виде импульса), через канал и принимающий фильтр. Фильтрация в приемнике описывается частью общей передаточной функции, тогда как подавление межсимвольной интерференции обеспечивает передаточная функция, имеющая вид приподнятого косинуса. Как следствие сказанного, принимающий и передающий фильтры часто выбираются (согласовываются) так, чтобы передаточная функция каждого имела вид квадратного корня из приподнятого косинуса. Подавление любой межсимвольной интерференции, внесенной каналом, обеспечивает произведение этих двух функций, которое дает общую передаточную функцию системы, имеющую вид приподнятого косинуса. Если же для уменьшения последствий привнесенной каналом межсимвольной интерференции вводится отдельный выравнивающий фильтр, принимающий и выравнивающий фильтры могут совместно настраиваться так, чтобы компенсировать искажение, вызванное как передатчиком, так и каналом; при этом общая передаточная функция системы характеризуется нулевой межсимвольной интерференцией.
Рассмотрим компромиссы, с которыми приходится сталкиваться при выборе фильтров формирования импульсов. Чем больше сглаживание фильтра, тем короче будут хвосты импульсов (из этого следует, что амплитуды хвостов также будут меньше). Меньшие хвосты менее чувствительны к ошибкам синхронизации, а значит, подвержены меньшему искажению вследствие межсимвольной интерференции. Отметим, что на рис. 3.17, б даже для ошибка синхронизации по-прежнему приводит к некоторому увеличению межсимвольной интерференции. Но в то же время в этом случае проблема менее серьезна, чем при
, поскольку при
хвосты сигнала
больше, чем при
. Увеличение хвостов — это плата за повышение избытка полосы. С другой стороны, чем меньше сглаживание фильтра, тем меньше избыток полосы, а это позволяет повысить скорость передачи сигналов или число пользователей, которые могут одновременно использовать систему. Э этом случае мы платим более длительными хвостами импульсов, большими их амплитудами, а следовательно, большей восприимчивостью к ошибкам синхронизации.
3.3.2. Факторы роста вероятности ошибки
Факторы повышения вероятности возникновения ошибки в цифровой связи могут быть следующими. Во-первых, это связано с простым падением мощности принятого сигнала или с повышением мощности шума или интерференции, что в любом случае приводит к уменьшению отношения сигнал/шум, или . Во-вторых, это искажение сигнала, вызванное, например, межсимвольной интерференцией (intersymbol interference — ISI). Ниже показывается, чем отличаются эти факторы.
Предположим, нам нужна система связи с такой зависимостью вероятности появления ошибочного бита от отношения
, какая изображена сплошной линией на рис. 3.18, а. Предположим, что после настройки системы и проведения измерений оказывается, к нашему разочарованию, что вероятность
соответствует не теоретической кривой, а кривой, показанной на рис. 3.18, а пунктиром. Причина снижения отношения
— потеря сигналом мощности или повышение шума или интерференции. Желаемой вероятности ошибочного бита в
соответствует теоретическая величина
=10 дБ. Поскольку производительность реальной системы не соответствует теоретическим расчетам, нам следует использовать пунктирный график и добиться отношения
, равного 12 дБ (для получения той же вероятности
). Если причины проблемы устранить нельзя, то насколько большее отношение
требуется теперь для получения необходимой вероятности ошибочного бита? Ответ, разумеется, — 2 дБ. Вообще, это может оказаться серьезной проблемой, особенно если система располагает ограниченной мощностью и получить дополнительные 2 дБ весьма сложно. Но все же уменьшение отношения
не смертельно, по сравнению с ухудшением качества, вызванным искажением.
Рис. 3.18. Факторы роста вероятности ошибки: а) снижение ;
б) непреодолимое ухудшение, вызванное искажением
Обратимся к рис 3.18, б и представим, что мы снова не получили желаемой вероятности, описываемой сплошной кривой. Но в этот раз причиной стало не уменьшение отношения сигнал/шум, а искажение, вызванное межсимвольной интерференцией (реальная кривая показана пунктиром). Если причину проблемы устранить нельзя, то насколько большее отношение требуется теперь для получения необходимой вероятности ошибочного бита? В этом случае потребуется бесконечное увеличение. Другими словами, не существует такого
, которое позволило бы устранить проблему. Если непреодолимое ухудшение описывается такой кривой, как показана на рис. 3.18, б, то никакое увеличение
не может дать желаемого результата (предполагается, что нижняя точка пунктирной кривой находится выше требуемой вероятности
). Безусловно, каждая кривая зависимости
от
имеет где-то нижнюю точку, но если эта точка находится далеко за областью, представляющей практический интерес, то она уже не имеет значения.
Итак, увеличение отношения не всегда помогает решить проблему межсимвольной интерференции (особенно если кривая зависимости
от
выходит за область практического интереса). Это можно понять, взглянув на перекрывающиеся импульсы на рис. 3.15, б — увеличение отношения
никак не влияет на длительность области перекрытия, и степень искажения импульсов не изменится. Так что же обычно противопоставляют искажающему эффекту межсимвольной интерференции? В данной ситуации наиболее приемлемым является метод, именуемый выравниванием (см. раздел 3.4). Поскольку причиной межсимвольной интерференции является искажение вследствие фильтрации в передатчике и канале, выравнивание можно рассматривать как процесс, компенсирующий подобные неоптимальные эффекты фильтрации.
Пример 3.3. Требования к ширине полосы
а) Найдите минимальную ширину полосы, требуемую для узкополосной передачи последовательности четырехуровневых импульсов в кодировке РАМ со скоростью R=2400 бит/с, если передаточная характеристика системы имеет вид приподнятого косинуса со 100%-ным избытком полосы ().
б) Та же последовательность модулируется несущей, так что теперь узкополосный спектр смещен и центрирован на частоте . Определите минимальную двустороннюю полосу, требуемую для передачи модулированной последовательности РАМ. Передаточная характеристика считается такой же, как и в п. а.
Решение
а) , поскольку М=4 уровня, k=2.
Скорость передачи символов или импульсов символов /с;
минимальная ширина полосы Гц .
На рис. 3.19, а во временной области показан принятый узкополосный импульс в кодировке РАМ; из выражения (3.79) получим функцию . На рис. 3.19, б показан Фурье-образ функции
— функция типа приподнятого косинуса. Отметим, что требуемая ширина полосы, W, находится в диапазоне от
до
; она вдвое превышает теоретическую минимальную полосу по Найквисту.
б) Здесь, как и в п. а,
символов/с;
Гц.
На рис. 3.20, а показан модулированный принятый импульс. Этот сигнал в кодировке РАМ можно рассматривать как произведение высокочастотной синусоидальной несущей и сигнала с формой импульса, показанной на рис. 3.19, а. Односторонний спектральный график на рис. 3.20, б показывает модулированный сигнал, полоса которого выражается следующей формулой.
Рис. 3.19. Сформированный импульс и узкополосный спектр типа приподнятого косинуса
Рис.3.20. Модулированный сформулированный импульс и двухполосный модулированный спектр типа приподнятого косинуса
При смещении вверх по частоте спектра, показанного на рис. 3.19, а, смещаются отрицательная и положительная половины узкополосного спектра, таким образом требуемая полоса передачи дублируется. Как указывает название, двусторонний сигнал имеет две боковые полосы: верхнюю боковую полосу (upper sideband — USB), получаемую из положительной половины узкополосного сигнала, и нижнюю боковую полосу (lower sideband — LSB), получаемую из отрицательной половины.
Пример 3.4. Цифровые телефонные каналы
Сравните требования к ширине полосы системы для наземного аналогового телефонного канала передачи в речевом диапазоне (3 кГц) и цифрового канала. Для цифрового канала речь форматируется как поток битов в кодировке РСМ с частотой дискретизации аналогового сигнала 8000 выборок/с. Каждая речевая выборка квантуется на один из 256 уровней. Затем поток битов передается с использованием сигналов РСМ и принимается с нулевой межсимвольной интерференцией.
Решение
Процесс дискретизации и квантования дает слова РСМ, каждое из которых представляет одну выборку и относится к одному из L=256 различных уровней. Если каждая выборка передается как 256-уровневый импульс (символ) в кодировке РАМ, то из формулы (3.82) получим ширину полосы (без межсимвольной интерференции), требуемую для передачи символов/с.
Гц
Здесь равенство достигается только при использовании идеальной фильтрации Найквиста. Поскольку цифровая телефонная система использует (двоичные) сигналы РСМ, каждое слово РСМ преобразовывается в бит. Следовательно, полоса, необходимая для передачи речи с использованием РСМ, равна следующему выражению.
Описанный аналоговый канал передачи речи (3 кГц) обычно требует полосы порядка 4 кГц, включая некоторые разделительные полосы между каналами, называемые защитными (guard band). Следовательно, при использовании формата РСМ, 8-битового квантования и двоичной передачи с сигналами РСМ требуется примерно в 8 раз большая полоса, чем при использовании аналогового канала.
3.3.3. Демодуляция/обнаружение сформированных импульсов
3.3.3.1. Согласованные и обычные фильтры
Обычные фильтры отсекают нежелательные спектральные компоненты принятого сигнала при поддержании некоторой точности воспроизведения сигналов в выбранной области спектра, называемой полосой пропускания (pass-band). В общем случае эти фильтры разрабатываются для обеспечения приблизительно одинакового усиления, их характеристика дает линейное увеличение фазы в зависимости от частоты в пределах полосы пропускания и минимальное поглощение в остальной части спектра, именуемой полосой заграждения (stop-band). Согласованный фильтр имеет несколько иные «проектные приоритеты», направленные на максимизацию отношения SNR известного сигнала при шуме AWGN. В обычных фильтрах используются случайные сигналы, и результат фильтрации определяется только полосами сигналов, тогда как согласованные фильтры применяются с известными сигналами, имеющими произвольные параметры (такие, как амплитуда и время). Согласованный фильтр можно рассматривать как шаблон, который согласовывает обрабатываемый сигнал с известной формой. Обычный фильтр сохраняет временного или спектральную структуру сигнала. Согласованный фильтр, наоборот, в значительной степени модифицирует временную структуру путем сбора энергии сигнала, которая согласовывается с его шаблоном, и в завершение каждого интервала передачи символа представляет результат фильтрации в виде значения максимальной амплитуды. Вообще, в цифровой связи приемник обрабатывает поступающие сигналы с помощью фильтров обоих типов. Задачей обычного фильтра является изоляция и извлечение высокоточной аппроксимации сигнала с последующей передачей результата согласованному фильтру. Согласованный фильтр накапливает энергию принятого сигнала, и в момент взятия выборки на выход фильтра подается напряжение, пропорциональное этой энергии, после чего следует обнаружение и дальнейшая обработка сигнала.
3.3.3.2. Импульсы Найквиста
Рассмотрим последовательность информационных импульсов на входе передатчика и последовательность импульсов, получаемую на выходе согласованного фильтра с характеристикой типа приподнятого косинуса (перед дискретизацией). На рис. 3.21 переданные данные представлены импульсными сигналами, которые появляются в моменты времени . Фильтрование приводит к расширению входящих сигналов, а следовательно, к запаздыванию их во времени. Время поступления импульсов обозначим
. Импульс, переданный в момент времени
. поступает в приемник в момент времени
. Хвост, предшествующий основному лепестку демодулированного импульса, называется его предтечей (precursor). Для реальной системы с заданным системным эталонным временем принцип причинности дает условие
, а разность времен
выражает задержку распространения в системе. В данном примере интервал времени от начала предтечи демодулированного импульса и до появления его главного лепестку или максимальной амплитуды равен 3T (утроенное время передачи импульса). Каждый выходящий импульс последовательности накладывается на другие импульсы; каждый импульс воздействует на основные лепестки трех предшествующих и трех последующих импульсов. В подобном случае, когда импульс фильтруется (формируется) так, что занимает более одного интервала передачи символа, определяется параметр, называемый временем поддержки (support time) импульса. Время поддержки — это количество интервалов передачи символа в течение длительности импульса. На рис. 3.21 время поддержки импульса равно 6 интервалам передачи символа (7 информационных точек с 6 интервалами между ними).
Рис. 3.21. Фильтрованная последовательность импульсов: выход и вход
На рис. 3.22, а показан импульсный отклик фильтра с характеристикой типа корня из приподнятого косинуса (максимальное значение нормированного фильтра равно единице, сглаживание фильтра ), а на рис. 3.22, б изображен импульсный отклик фильтра с характеристикой типа приподнятого косинуса, называемый импульсом Найквиста (нормирование и значение коэффициента сглаживания такие же, как и на рис. 3.22, а). Изучая эти два импульса, можно заметить, что они очень похожи. Однако первый имеет несколько более быстрые переходы, а значит, его спектр (корень квадратный из приподнятого косинуса) не так быстро затухает, как спектр (приподнятый косинус) импульса Найквиста. Еще одним малозаметным, но важным отличием является то, что импульс Найквиста с характеристикой типа корня из приподнятого косинуса не дает нулевой межсимвольной интерференции (можно проверить, что хвосты импульса на рис. 3.22, а не проходят через точку нулевой амплитуды в моменты взятия выборок). В то же время, если фильтр с характеристикой типа корня из приподнятого косинуса используется и в передатчике, и в приемнике, произведение передаточных функций двух фильтров дает характеристику типа приподнятого косинуса, что означает нулевую межсимвольную интерференцию на выходе.
Было бы неплохо рассмотреть, как импульсы Найквиста с характеристикой типа корня из приподнятого косинуса выглядят на выходе передатчика и какую форму они имеют после демодуляции на согласованном фильтре, характеристика которого также представляет собой корень из приподнятого косинуса.
Рис. 3.22, а. Импульс Найквиста с характеристикой типа корня
из приподнятого косинуса
Рис. 3.22, б. Импульс Найквиста с характеристикой типа
приподнятого косинуса
На рис. 3.23, а в качестве примера передачи приведена последовательность символов сообщения из четверичного набора символов, где алфавит состоит из символов
. Будем считать, что импульсы модулируются с помощью четверичной кодировки РАМ, а их форма определяется фильтром с характеристикой типа корня из приподнятого косинуса с коэффициентом сглаживания
. Аналоговый сигнал на рис. 3.23, а описывает выход передатчика. Сигнал на выходе (последовательность импульсов Найквиста, форма которых получена с выхода фильтра с характеристикой типа корня из приподнятого косинуса) запаздывает относительно сигнала на входе (показанного в виде импульсов), но для удобства визуального представления, чтобы читатель мог сравнить выход фильтра с его входом, оба сигнала изображены как одновременные. В действительности передается (или модулируется) только аналоговый сигнал.
На рис. 3.23, б показаны те же задержанные символы сообщения, а также сигнал с выхода согласованного фильтра с характеристикой типа корня из приподнятого косинуса, что для всей системы в сумме дает передаточную функцию типа приподнятого косинуса.
Рис. 3.23, а. М-уровневый сигнал Найквиста, пропущенный через фильтр с характеристикой типа корня из приподнятого косинуса, и входные дискретные значения, задержанные на некоторое время
Существует простой тест, позволяющий проверить, содержит ли фильтрованный сигнал с выхода межсимвольную интерференцию (предполагается отсутствие шума). Для этого требуется всего лишь произвести выборку фильтрованного сигнала в моменты времени, соответствующие исходным входящим выборкам; если полученные сигналы в результате выборки не отличаются от выборок исходного сообщения, то сигналы с выхода фильтра имеют нулевую межсимвольную интерференцию (в моменты взятия выборок). При сравнении рис. 3.23, а и 3.23, б на предмет межсимвольной интерференции видно, что дискретизация сигнала Найквиста на рис. 3.23, а (выход передатчика) не дает точных исходных выборок; в то же время дискретизация сигнала Найквиста на рис. 3.23, б (выход согласованного фильтра) дает точные исходные выборки. Это еще раз подтверждает, что фильтр Найквиста дает нулевую межсимвольную интерференцию в моменты взятия выборок, тогда как другие фильтры не имеют такой особенности.
3.4. Выравнивание
3.4.1. Характеристики канала
Многие каналы связи (например, телефонные или беспроводные) можно охарактеризовать как узкополосные линейные фильтры с импульсной характеристикой и частотной характеристикой
(3.82)
где и
— Фурье-образы друг друга,
— амплитудная характеристика канала, a
— фазовая характеристика канала.
Рис. 3.23, б. Выход фильтра с характеристикой типа приподнятого косинуса и входные дискретные значения, задержанные на некоторое время
В разделе 1.6.3 было показано, что для получения идеальных (неискажающих) передающих характеристик канала в пределах полосы сигнала W, функция должна быть константой. Кроме того,
должна быть линейной функцией частоты, что эквивалентно утверждению «запаздывание должно быть постоянным для всех спектральных компонентов сигнала». Если
не является константой в пределах полосы W, то канал будет искажать амплитуду сигнала. Если
не является линейной функцией частоты в пределах полосы W, канал будет искажать фазу. Во многих каналах, искажающих подобным образом информацию, например каналах с замираниями, искажение фазы и амплитуды обычно проявляется одновременно. При передаче последовательности импульсов подобное искажение проявляется в виде рассеивания или «размывания» импульсов, так что ни один импульс принятой демодулированной последовательности не определяется однозначно. В разделе 3.3 описывалось перекрытие импульсов, известное как межсимвольная интерференция (intersymbol interference — ISI). Это эффект, который проявляется в большинстве систем модуляции и является одной из основных помех надежной высокоскоростной передачи по узкополосным каналам. Совокупность методов обработки или фильтрации сигнала, направленных на устранение или снижение межсимвольной интерференции, именуется как «выравнивание» (equalization) и рассматривается в данном разделе.
На рис. 2.1 выравнивание разбито на две большие категории. Первая категория, оценка последовательности с максимальным правдоподобием (maximum-likelihood sequence estimation — MLSE), подразумевает измерение с последующей подстройкой приемника под среду передачи. Цель такой подстройки — позволить детектору произвести точную оценку демодулированной искаженной последовательности импульсов. При использовании приемника MLSE искаженные выборки не изменяются и не проходят этап непосредственной компенсации последствий помех; вместо этого приемник перенастраивается так, чтобы максимально эффективно работать с искаженными выборками. (Пример этого метода, известный как выравнивание Витерби, рассмотрен в разделе 15.7.1.) Вторая категория, выравнивание с помощью фильтров, включает использование фильтров для компенсации искажения импульсов. В этом случае детектору предоставляется последовательность демодулированных выборок, модифицированных или «очищенных» эквалайзером от последствий ISI. Выравнивание с помощью фильтров (более популярный подход из двух описанных выше) также имеет несколько подтипов. Фильтры могут быть линейными устройствами, содержащими только элементы с прямой связью (трансверсальные эквалайзеры), или нелинейными, включающими элементы с обратной связью (эквалайзеры с решающей обратной связью). Кроме того, фильтры могут различаться алгоритмом работы, который может быть заданным или адаптивным. Также они могут различаться разрешением или частотой обновления. Если выборки производятся только в пределах символа, т.е. одна выборка на символ, то это символьное разделение. Если каждому символу соответствует несколько выборок, то это фракционное разделение.
Модифицируем уравнение (3.77), заменив принимающий/ выравнивающий фильтр отдельными (принимающим и выравнивающим) фильтрами, определяемыми частотными передаточными функциями и
. Будем также считать, что общая передаточная функция системы
имеет вид приподнятого косинуса (raised-cosine), и обозначим ее
. Таким образом, можем записать следующее.
(3.83)
В системах, представляющих практический интерес, частотная передаточная функция системы и ее импульсная характеристика
не известны с точностью, достаточной для разработки приемника, который в любой момент времени дает нулевую межсимвольную интерференцию. Передающий и принимающий фильтры, как правило, выбираются так, чтобы
(3.84)
Таким образом, характеристики и
имеют вид корней из приподнятого косинуса. Следовательно, передаточная функция эквалайзера, необходимая для компенсации искажения, внесенного каналом, является обратной передаточной функции канала.
(3.85)
Иногда частотная передаточная функция системы допускает мёжсимвольную интерференцию в специально выбранных точках дискретизации (например, передаточная функция гауссового фильтра). Такие передаточные функции позволяют повысить эффективность использования полосы, по сравнению с фильтром с характеристикой типа приподнятого косинуса. При выборе такого конструкторского решения выравнивающий фильтр должен компенсировать не только внесенную каналом межсимвольную интерференцию, но и ISI, внесенную передающим и принимающим фильтрами [7].
3.4.2. Глазковая диаграмма
Глазковая диаграмма — это изображение, полученное в результате измерения отклика системы на заданные узкополосные сигналы. На вертикальные пластины осциллографа подается отклик приемника на случайную последовательность импульса, а на горизонтальные — пилообразный сигнал сигнальной частоты. Другими словами, горизонтальная временная развертка осциллографа устанавливается равной длительности символа (импульса). В течение каждого сигнального промежутка очередной сигнал накладывается на семейство кривых в интервале . На рис. 3.24 приведена глазковая диаграмма, получаемая при двоичной антиподной (биполярные импульсы) передаче сигналов. Поскольку символы поступают из случайного источника, они могут быть как положительными, так и отрицательными, и отображение послесвечения электронного луча позволяет видеть изображение, имеющее форму глаза. Ширина открытия глаза указывает время, в течение которого должна быть произведена выборка сигнала. Разумеется, оптимальное время взятия выборки соответствует максимально распахнутому глазу, что дает максимальную защиту от воздействия помех. Если в системе не используется фильтрация, т.е. если передаваемым информационным импульсам соответствует бесконечная полоса, то отклик системы дает импульсы идеальной прямоугольной формы. В этом случае диаграмма будет выглядеть уже не как глаз, а как прямоугольник. Диапазон разностей амплитуд, обозначенный через
, является мерой искажения, вызванного межсимвольной интерференцией, а диапазон разностей времен перехода через нуль, обозначенный через
, есть мерой неустойчивой синхронизации. На рисунке также показана мера запаса помехоустойчивости
и чувствительность к ошибкам синхронизации
. Чаще всего глазковая диаграмма используется для качественной оценки степени межсимвольной интерференции. По мере закрытия глаза ISI увеличивается, а по мере открытия — уменьшается.
Рис. 3.24. Глазковая диаграмма
3.4.3. Типы эквалайзеров
3.4.3.1. Трансверсальный эквалайзер
В качестве тестовой последовательности, используемой для выравнивания, часто выбирается шумоподобная последовательность с широкополосным спектром, с помощью которой оценивается отклик канала. В простейшем смысле настройка может заключаться в передаче простого короткого импульса (приблизительно, идеального импульса) с последующим изучением импульсного отклика канала. На практике в качестве тестовой последовательности предпочтителен не единичный импульс, а псевдошумовой сигнал, поскольку последний имеет большую среднюю мощность, а значит, большее отношение сигнал/шум при одинаковых максимальных переданных мощностях. Для изучения трансверсального фильтра предположим, что через систему был передан единственный импульс, причем система спроектирована таким образом, что общая передаточная функция имеет вид приподнятого косинуса . Также будем считать, что канал вводит межсимвольную интерференцию, так что принятый демодулированный импульс искажается, как показано на рис. 3.25, поэтому боковые лепестки, ближайшие к главному лепестку импульса, не проходят через нуль в моменты взятия выборок. Искажение можно рассматривать как положительное или отрицательное отражение, появляющееся до и после главного лепестка. Для получения желаемой передаточной функции с характеристикой типа приподнятого косинуса выравнивающий фильтр, как следует из уравнения (3.85), должен иметь частотный отклик
, тогда отклик канала при умножении на
будет
. Другими словами, мы хотим, чтобы выравнивающий фильтр вырабатывал набор подавляющих отражений. Поскольку нас интересуют выборки выровненного сигнала только в определенные моменты времени, проектирование подобного выравнивающего фильтра может быть довольно простой задачей.
Рис. 3.25. Принятый искаженный импульс
Трансверсальный фильтр, изображенный на рис. 3.26, — это наиболее популярная форма легко настраиваемого выравнивающего фильтра, состоящего из канала задержки с отводами задержки на Т секунд (где Т — длительность символа). В подобном эквалайзере текущее и предыдущее значения принятого сигнала линейно взвешиваются коэффициентами эквалайзера или весовыми коэффициентами отводов , а затем суммируются для формирования выхода. Основной вклад вносит центральный отвод; вклады остальных отводов связаны с отражениями основного сигнала в течение последующих (и предыдущих) интервалов Т. Если бы можно было создать фильтр с бесконечным числом отводов, можно было бы так подобрать весовые коэффициенты, чтобы импульсный отклик системы равнялся всегда нулю, за исключением моментов взятия выборок; таким образом
была бы точно равна обратной передаточной функции канала в формуле (3.85). Несмотря на то что фильтр с бесконечным числом отводов не относится к числу реализуемых, все же можно создать фильтр, достаточно хорошо аппроксимирующий идеальный случай.
На рис. 3.26 выходы взвешенных отводов усиливаются, суммируются и подаются на устройство принятия решения. Весовые коэффициенты отводов должны выбираться так, чтобы вычитать эффекты интерференции из символов, соседствующих во времени с искомым символом. Предположим, что существует
отводов с весовыми коэффициентами
. Выборки на выходе эквалайзера
находятся путем следующей свертки выборок на входе
и весовых коэффициентов
.
(3.86)
где — временные коэффициенты, показанные в круглых скобках. (Время может быть как положительным, так и отрицательным.)
Рис.3.26. Трансверсальный фильтр
Коэффициент используется для обозначения смещения во времени и как идентификатор коэффициентов фильтра (адрес фильтра). В последнем случае
показан как индекс. Если ввести векторы z и с и матрицу х
(3.87)
и
(3.88)
то соотношение между ,
и
можно записать в более компактной форме.
(3.89,а)
Если матрица х является квадратной, а число строк и столбцов соответствует числу элементов вектора с, то с можно выразить в следующем виде.
(3.89,б)
Отметим, что в общем случае размер вектора z и число строк матрицы х могут быть любыми, поскольку нас может интересовать межсимвольная интерференция в точках взятия выборок, достаточно удаленных от основного лепестка рассматриваемого импульса. В формулах (3.86)-(3.88) индекс k выбирался так, чтобы число точек взятия выборок равнялось . Векторы z и с имеют размерность
и
, соответственно, а матрица х не является квадратной и имеет размер
на
. В этом случае система уравнений (3.89,а) называется переопределенной (т.е. число уравнений превышает число неизвестных). Решать подобные уравнения можно с помощью детерминистского способа — метода обращения в нуль незначащих коэффициентов или статистического — метода решения с минимальной среднеквадратической ошибкой (mean-square error — MSE).
Обращение в нуль незначащих коэффициентов
Это решение начинается с отделения N верхних и N нижних строк матрицы х в уравнении (3.88). Таким образом, матрица х становится квадратной размером на
, вектор z также имеет теперь размер
, а формула (3.89,а) определяет детерминированную систему
уравнений. Предлагаемое решение минимизирует максимальное искажение, вызванное межсимвольной интерференцией, путем выбора весовых коэффициентов
таким образом, чтобы сигнал на выходе эквалайзера был равен нулю в N точках взятия выборок по обе стороны от искомого импульса. Другими словами, весовые коэффициенты выбираются так, чтобы
(3.90)
Для нахождения весовых коэффициентов
из системы
уравнений используется выражение (3.90). Требуемая длина фильтра (число отводов) зависит от того, насколько сильно канал может «размазать» импульс. Для эквалайзера конечного размера максимальное искажение гарантированно будет минимизировано только в том случае, если глазковая диаграмма изначально имеет вид открытого глаза. В то же время при высокоскоростной передаче и в каналах, вводящих значительную межсимвольную интерференцию, до выравнивания глаз всегда закрыт [8]. Кроме того, эквалайзер, использующий метод обращения в нуль незначащих коэффициентов, не учитывает воздействие шума, поэтому такое решение не всегда является оптимальным.
Пример 3.5. Трехотводный эквалайзер, использующий метод обращения в нуль незначащих коэффициентов
Путем передачи единственного импульса или настроечного сигнала требуется определить весовые коэффициенты отводов выравнивающего трансверсального фильтра. Выравнивающий канал, изображенный на рис. 3.26, состоит всего из трех отводов. Пусть принят искаженный набор выборок импульса со значениями напряжения 0,0; 0,2; 0,9; -0,3; 0,1, как показано на рис. 3.25. Используйте метод обращения в нуль незначащих коэффициентов для нахождения коэффициентов
, уменьшающих межсимвольную интерференцию так, чтобы выборки импульса после выравнивания имели значения
. Используя эти весовые коэффициенты, вычислите значения выборок выровненного импульса в моменты
. Чему равен вклад наибольшей амплитуды в межсимвольную интерференцию и чему равна сумма амплитуд всех вкладов?
Решение
При заданном импульсном отклике канала из формулы (3.89) получим следующее.
или
Решая систему трех уравнений, получаем следующие значения весовых коэффициентов.
Значения выравненных выборок импульса , соответствующих временам взятия выборок
вычисляются с помощью формулы (3.89,а).
0,0000; -0,0428; 0,0000; 1,0000; 0,0000; -0,0071; 0,0345
Вклад наибольшей амплитуды в межсимвольную интерференцию равен 0,0428, а сумма амплитуд всех вкладов равна 0,0844. Очевидно, что эквалайзер с тремя отводами дает нулевое значение выровненного импульса в точках взятия выборки, соседствующих с основным лепестком. Если создать эквалайзер большего размера, он будет давать нулевое значение в большем числе точек взятия выборок.
Решение с минимальной среднеквадратической ошибкой
Более устойчивый эквалайзер можно получить, выбрав весовые коэффициенты , минимизирующие среднеквадратическую ошибку (mean-square error — MSE) всех членов, вносящих вклад в межсимвольную интерференцию, плюс мощности шума на выходе эквалайзера [9]. Среднеквадратическая ошибка определяется как математическое ожидание квадрата разности желаемого и обнаруженного информационных символов. Для получения решения с минимальной MSE можно использовать переопределенную систему уравнений (3.89,а), умножив обе ее части на
, что дает [10]
(3.91,а)
и
, (3.91,б)
где является вектором взаимной корреляции, a
— автокорреляционной матрицей входного шумового сигнала. На практике
и
априори неизвестны, но могут быть вычислены приблизительно путем передачи через канал тестового сигнала и использования усреднения по времени для нахождения весовых коэффициентов из уравнения (3.91).
(3.92)
При детерминистском решении метода обращения в нуль незначащих коэффициентов матрица х должна быть квадратной. Но для получения (статистического) решения с минимальной MSE начинать следует с переопределенной системы уравнений, а значит, неквадратной матрицы х, которая впоследствии преобразовывается в квадратную автокорреляционную матрицу , порождающую систему 2N+1 уравнений, решение которой дает значения весовых коэффициентов, минимизирующих MSE. Размер вектора с и число столбцов матрицы х соответствуют числу отводов выравнивающего фильтра. Большинство высокоскоростных модемов для выбора весовых коэффициентов используют критерий MSE, поскольку он лучше равновесного; он является более устойчивым при наличии шумов и большой межсимвольной интерференции [8].
Пример 3.6. Семиотводный эквалайзер с минимальной среднеквадратической ошибкой
Путем передачи единственного импульса или настроечного сигнала требуется определить весовые коэффициенты отводов выравнивающего трансверсального фильтра. Выравнивающий канал, изображенный на рис. 3.26, состоит из семи отводов. Пусть принят искаженный набор выборок импульса со значениями напряжения 0,0108; -0,0558; 0,1617; 1,0000; -0,1749; 0,0227; 0,0110. Используйте решение с минимальной среднеквадратической ошибкой для нахождения весовых коэффициентов
, минимизирующих межсимвольную интерференцию. Используя эти весовые коэффициенты, вычислите значения выборок выровненного импульса в моменты
. Чему равен вклад наибольшей амплитуды в межсимвольную интерференцию и чему равна сумма амплитуд всех вкладов?
Решение
С помощью формулы (3.93) для семиотводного фильтра (N=3), можно записать матрицу х размером 4N+1 на 2N+1=137.
Используя матрицу х, можно получить автокорреляционную матрицу и вектор взаимной корреляции
, определенные формулами (3.91). С помощью компьютера матрица
обращается, выполняется умножение матриц (см. формулу (3.92)), в результате чего получаются следующие весовые коэффициенты
.
-0,0116; 0,0108; 0,1659; 0,9495; -0,1318; 0,0670; -0,0269
Подставляя эти весовые коэффициенты в систему уравнений (3.89,а), находим 13 выравненных выборок в моменты времени
.
-0,0001; -0,0001; 0,0041; 0,0007; 0,0000; 1,0000;
0,0003; -0,0007; 0,0015; -0,0095; 0,0022; -0,0003
Вклад наибольшей амплитуды в межсимвольную интерференцию равен 0,0095, а сумма амплитуд всех вкладов равна 0,0195.
3.4.3.2. Эквалайзер с решающей обратной связью
Основное ограничение линейного эквалайзера, такого как трансверсальный фильтр, заключается в плохой производительности в каналах, имеющих спектральные нули [11]. Подобные каналы часто встречаются в приложениях мобильной радиосвязи. Эквалайзер с решающей обратной связью (decision feedback equalizer — DFE) — это нелинейное устройство, использующее предыдущее решение детектора для устранения межсимвольной интерференции из импульсов, демодулируемых в настоящий момент. Поскольку причиной интерференции являются хвосты предыдущих импульсов, по сути, из текущего импульса вычитается искажение, вызванное предыдущими импульсами.
На рис. 3.27 в виде блочной диаграммы изображен эквалайзер DFE, причем направляющий фильтр и фильтр обратной связи могут быть линейными; например, это может быть трансверсальный фильтр. На рисунке также показано адаптивное обновление весовых коэффициентов фильтра (см. следующий раздел). Нелинейность DFE вытекает из нелинейной характеристики детектора, обеспечивающего подачу сигнала на вход фильтра обратной связи. В основе работы DFE лежит следующее: если значения ранее обнаруженных символов известны (предыдущее решение предполагается точным), то межсимвольную интерференцию, внесенную символами, можно точно уравновесить на выходе направляющего фильтра путем вычитания значений предыдущих символов с соответствующими весовыми коэффициентами. Для удовлетворения выбранного критерия (например, минимальности среднеквадратической ошибки) весовые коэффициенты направляющего отвода и отвода обратной связи могут подгоняться одновременно.
Рис.3.27. Эквалайзер с решающей обратной связью
При использовании единственного направляющего фильтра выход содержит шум канала, внесенный каждой выборкой, произведенной в фильтре. Преимуществом реализации DFE является то, что фильтр обратной связи не только используется для удаления межсимвольной интерференции, но и работает на бесшумных уровнях квантования, а значит на его выходе отсутствует шум канала.
3.4.4. Заданное и адаптивное выравнивание
В инвариантных относительно времени каналах с известными частотными характеристиками, характеристики канала могут измеряться, и, соответственно, могут подгоняться значения весовых коэффициентов отводов. Если весовые коэффициенты остаются фиксированными в течение всего процесса передачи данных, выравнивание называется заданным (preset); простой метод заданного выравнивания заключается в установке весовых коэффициентов , согласно некоторым усредненным знаниям о канале. Такой метод использовался для передачи информации по телефонным каналам со скоростью, не превышающей 2400 бит/с. Еще один метод заданного выравнивания состоит в передаче настроечной последовательности, которая в приемнике сравнивалась с последовательностью, сгенерированной локально. Отличия последовательностей позволяют установить весовые коэффициенты
. Важным моментом использования любой разновидности заданного выравнивания является то, что установка параметров производится либо единожды, либо в исключительно редких случаях (например, при прерывании передачи и необходимости ее повторной настройки).
Тип выравнивания, способный отслеживать постепенные изменения, называется адаптивным (adaptive). Его реализация может включать периодическую или непрерывную «подборку» весовых коэффициентов отводов. Периодическая корректировка выполняется путем периодической передачи начальной комбинации битов или краткой настроечной последовательности, заранее известной приемнику. Кроме того, начальная комбинация битов используется приемником для определения начала передачи, установки уровня автоматической регулировки усиления (automatic gain control — AGC) и для согласования с принятым сигналом внутренних часов и местных гетеродинов. Непрерывная подстройка осуществляется посредством замещения известной тестовой последовательности набором информационных символов, которые получены на выходе эквалайзера и считаются известными данными. При непрерывной и автоматической (наиболее распространенный подход) настройке используется метод, управляемый решением (decision directed) [11]. Название метода не стоит путать с DFE — эквалайзером с решающей обратной связью. Управление решением связано только со способом юстировки (с помощью сигнала от детектора) весовых коэффициентов отводов фильтра. Эквалайзер DFE — это наличие дополнительного фильтра на выходе детектора, рекурсивным образом возвращающего сигнал на вход детектора. Следовательно, при использовании DFE существует два фильтра (направляющий и фильтр обратной связи), обрабатывающие данные для снижения межсимвольной интерференции.
Недостатком заданного выравнивания является то, что оно требует предварительной настройки в начале каждой новой передачи. Кроме того, нестационарные каналы, вследствие межсимвольной интерференции и фиксированных весовых коэффициентах отводов, могут приводить к ухудшению производительности системы. Адаптивное выравнивание, в частности адаптивное выравнивание, управляемое решением, успешно устраняет межсимвольную интерференцию, если первоначальная вероятность ошибки не превышает один процент (эмпирическое правило). Если вероятность ошибки превышает один процент, эквалайзер, управляемый решением, может и не дать требуемого результата. Общее решение этой проблемы — инициализировать эквалайзер с альтернативным процессом, (таким, как передача начальной комбинации битов), что позволит обеспечить низкую вероятность ошибки в канале, а затем переключиться в режим управления решением. Чтобы избежать служебных издержек, вносимых начальной комбинацией битов, проекты многих систем предусматривают работу в режиме непрерывного широковещания с использованием для первоначальной оценки канала алгоритмов слепого выравнивания (blind equalization). Эти алгоритмы согласовывают коэффициенты фильтра со статистикой выборок, а не с решениями относительно значений выборок [11].
Для оценки оптимальных коэффициентов автоматические эквалайзеры используют итеративные методы. Система уравнений, приведенная в выражении (3.93), не учитывает воздействие шума канала. При получении устойчивого решения для значений весовых коэффициентов фильтра, требуется усреднять либо данные для устойчивой статистики сигнала, либо зашумленное решение, полученное из зашумленных данных. Сложность алгоритма и проблемы численной устойчивости часто приводит к разработке алгоритмов, усредняющих зашумленные решения. Наиболее надежным из этого класса алгоритмов является алгоритм минимальной среднеквадратической (least-mean-square — LMS) ошибки. Каждая итерация этого алгоритма использует зашумленную оценку градиента ошибок для регулировки весовых коэффициентов относительно снижения среднеквадратической ошибки. Градиент шума — это просто произведение скалярного значения ошибки
и вектора данных
. Вектор
— это вектор выборок канала, которые подверглись воздействию шума и в момент k находились на выравнивающем фильтре. Выше использовалось следующее математическое представление: передавался импульс, и выравнивающий фильтр работал с последовательностью выборок (вектором), представляющей импульсный отклик канала. Эти принятые выборки (в виде сдвига во времени) изображались как матрица х. Теперь, вместо использования отклика на импульс, предполагается передача данных на вход фильтра (рис. 3.27), соответственно определяется вектор принятых выборок
, представляющий информационный отклик канала. Ошибка записывается как разность желаемого сигнала и сигнала, полученного на выходе фильтра.
(3.93)
Здесь — желаемый выходной сигнал (выборка без межсимвольной интерференции), а
— оценка
в момент времени k (производится в устройстве квантования, показанном на рис. 3.27), имеющая следующий вид.
(3.94)
В формуле (3.94) суммирование представляет свертку входящих информационных выборок с весовыми коэффициентами отводов , где
— коэффициент
-го отвода в момент времени k, а
— транспонированный вектор весовых коэффициентов в момент времени k. Далее будет показано, что итеративный процесс, обновляющий значения весовых коэффициентов в каждый момент времени k, имеет следующий вид.
(3.95)
Здесь — вектор весовых коэффициентов фильтра в момент времени k, а
— малый член, ограничивающий шаг коэффициентов, а значит, контролирующий скорость сходимости алгоритма и дисперсию устойчивого решения. Это простое соотношение является следствием принципа ортогональности, утверждающего, что ошибка, сопровождающая оптимальное решение, ортогональна обрабатываемым данным. Поскольку алгоритм рекурсивен (по отношению к весовым коэффициентам), необходимо следить за его устойчивостью. Устойчивость гарантируется, если параметр
меньше значения обратной энергии данных в фильтре. Если алгоритм является устойчивым, он в среднем сходится к оптимальному решению, при этом его дисперсия пропорциональна параметру
. Таким образом, желательно, чтобы параметр сходимости
был больше (для более быстрой сходимости), но не настолько, чтобы привести к неустойчивости, хотя, с другой стороны, малый параметр
обеспечивает малую дисперсию. Обычно для получения низкодисперсного устойчивого решения
выбирается равным фиксированной небольшой величине [12]. Существуют схемы [13], позволяющие
меняться от больших значений к меньшим в процессе получения устойчивого решения.
Отметим, что уравнения (3.93)-(3.95) приведены в контексте вещественных сигналов. Если используется квадратурная реализация, так что сигнал описывается вещественной и мнимой (или синфазной и квадратурной) упорядоченными парами, то каждый канал на рис. 3.27 в действительности состоит из двух каналов, и уравнения (3.93)-(3.95) необходимо записывать в комплексной форме.
3.4.5. Частота обновления фильтра
Выравнивающие фильтры классифицируются по частоте дискретизации входящего сигнала. Трансверсальный фильтр с отводами, размещенными через Т секунд, где Т — длительность передачи символа, называется эквалайзером с символьным разделением (symbol-spaced equalizer). Процесс дискретизации выхода эквалайзера с частотой приводит к наложению, если полоса сигнала не ограничена строго величиной
Гц, т.е. спектральные компоненты сигнала, не разделенные промежутком
Гц, накладываются. Наложенная версия сигнала может давать спектральные нули [8]. Частота обновления фильтра, превышающая скорость передачи символов, помогает смягчить эту проблему. Эквалайзеры, использующие подобный метод, называются эквалайзерами с фракционным разделением (fractionally-spaced equalizer). В таких устройствах отводы фильтра разделены промежутками
секунд, (3.96)
где через обозначен избыток полосы. Другими словами, ширина принятого сигнала равна следующему.
(3.97)
необходимо выбрать так, чтобы передаточная функция эквалайзера
была значительно шире и охватывала весь спектр сигнала. Отметим, что сигнал на выходе эквалайзера по-прежнему выбирается с частотой
, но поскольку весовые коэффициенты отводов разделены промежутками
(входящий сигнал эквалайзера выбирается с частотой
), выравнивание принятого сигнала происходит до наложения его частотных компонентов. Моделирование эквалайзеров в телефонных линиях с
показывает, что эквалайзеры с фракционным разделением превосходят эквалайзеры с символьным разделением [14].
Литература
1. Nyquist H. Thermal Agitation of Electric Charge in Conductors. Phys. Rev., vol. 32, July 1928, pp. 110-113.
2. Van Trees H. L. Detection, Estimation and Modulation Theory. Part 1, John Wiley & Sons, Inc., New York, 1968.
3. Arthurs E. and Dym H. On the Optimum Detection of Digital Signals in the Presence of White, Gaussian Noise — A Geometric Interpretation of Three Basic Data Transmission Systems. IRE Trans. Commun. Syst, December, 1962.
4. Wozencraft J. M. and Jacobs I. M. Principles of Communication Engineering. John Wiley & Sons, Inc., New York, 1965.
5. Borjesson P. O. and Sundberg C. E. Simple Approximations of the Error Function Q(x) for Communications Applications. IEEE Trans. Commun., vol. COM27, March, 1979, pp. 639-642.
6. Nyquist H. Certain Topics of Telegraph Transmission Theory. Trans. Am. Inst. Electr. Eng., vol. 47, April, 1928, pp. 617-644.
7. Hanzo L. and Stefanov J. The AN-European Digital Cellular Mobile Radio System — Known as GSM. Mobile Radio Communications, edited by R. Steele, Chapter 8, Pentech Press, London, 1992.
8. Qureshi S. U. H. Adaptive Equalization. Proc. IEEE, vol. 73, n. 9, September, 1985, pp.1340-1387.
9. Lucky R. W., Salz J. and Weldon E. J., Jr. Principles of Data Communications. Mc-Graw Hill Book Co., New York, 1968.
10. Harris F. and Adams B. Digital Signal Processing to Equalize the Pulse response of Non Synchronous Systems Such as Encountered in Sonar and Radar. Proc. of the Twenty-Fourth Annual ASILOMAR Conference on Signals, Systems, and Computers, Pacific Grove, California, November, 5-7, 1990.
11. Proakis J. G. Digital Communications. McGraw-Hill Book Company, New York, 1983.
12. Feuer A. and Weinstein E. Convergence Analysis of LMS Filters with Uncorrelated Gaussian Data. IEEE Trans, on ASSP, vol. V-33, pp. 220-230, 1985.
13. Macchi O. Adaptive Processing: Least Mean Square Approach With Applications in Transmission. John Wiley & Sons, New York, 1995.
14. Benedetto S., Biglieri E. and Castellani V. Digital Transmission Theory. Prentice Hall, 1987.
Задачи
3.1. Определите, являются ли сигналы и
ортогональными на интервале
, где
,
,
, в следующих случаях.
а) и
б) и
в) и
г) и
д) и
е) и
3.2. а) Покажите, что три функции, приведенные на рис. 33.1, попарно ортогональны на интервале (-2, 2).
Рис. З3.1
б) Определите значение константы А, преобразующей набор функций из п. а в набор ортонормированных функций.
в) Выразите сигнал через ортонормированные функции, полученные при выполнении п. б.
3.3. Даны следующие функции
и
Определите константу А, при которой функции и
ортогональны на интервале
.
3.4. Предположим, что используется некоторая система цифровой связи; сигнальные компоненты вне приемника-коррелятора с равной вероятностью принимают значения или -1 В. Определите вероятность появления ошибочного бита, если гауссов шум на вы ходе коррелятора имеет единичную дисперсию.
3.5. Биполярный двоичный сигнал — это импульс +1 или -1 В на интервале
. К сигналу добавляется аддитивный белый гауссов шум с двусторонней спектральной плотностью мощности
Вт/Гц. Если обнаружение принятого сигнала производится с помощью согласованного фильтра, определите максимальную скорость передачи битов, которую можно поддерживать при вероятности появления ошибочного бита
.
3.6. Биполярные импульсные сигналы
амплитуды ±1 В принимаются при шуме AWGN с дисперсией 0,1
. Определите оптимальный (дающий минимальную вероятность ошибки) порог
для обнаружения с использованием согласованного фильтра при следующих априорных вероятностях: (a)
; (б)
; (в)
. Объясните влияние априорных вероятностей на значение
. (Подсказка: используйте формулы (Б. 10)-(Б. 12).)
3.7. Двоичная система связи передает сигналы
. Тестовая статистика приемника
, где компонент сигнала
равен
или
, а компонент шума
имеет равномерное распределение. Плотности условного распределения
даются выражениями
и
Определите вероятность появления ошибки для равновероятной передачи сигналов и использования оптимального порога принятия решения.
3.8. а) Чему равна минимальная ширина полосы, необходимая для передачи без межсимвольной интерференции сигнала с использованием 16-уровневой кодировки РАМ на скорости 10 Мбит/с?
б) Чему равен коэффициент сглаживания, если доступная полоса равна 1,375 МГц?
3.9. Сигнал речевого диапазона (300-3300 Гц) оцифровывается так, что квантовое искажение удвоенного максимального напряжения сигнала. Предположим, что частота дискретизации равна 8000 выборок/с и используется 32-уровневая кодировка РАМ. Определите теоретическую минимальную ширину полосы, при которой еще не возникает межсимвольная интерференция.
3.10. Двоичные данные передаются со скоростью 9600 бит/с с использованием 8-уровневой модуляции РАМ и фильтра с характеристикой типа приподнятого косинуса. Частотный отклик системы не превышает 2,4 кГц.
а) Чему равна скорость передачи символов?
б) Чему равен коэффициент сглаживания характеристики фильтра?
3.11. Сигнал речевого диапазона (300-3300 Гц) дискретизируется с частотой 8000 выборок/с. Выборки можно передавать сразу в виде импульсов РАМ или каждую выборку вначале можно преобразовать в формат РСМ и использовать для передачи двоичные (РСМ) сигналы.
а) Чему равна минимальная ширина полосы системы, необходимая для обнаружения импульсов РАМ без межсимвольной интерференции и с параметром сглаживания фильтра ?
б) Используя ту же характеристику выравнивания, что и в предыдущем пункте, определите минимальную ширину полосы, необходимую для обнаружения двоичных сигналов (кодировка РСМ), если выборки квантовались с использованием восьми уровней.
в) Повторите п. б для 128 уровней.
3.12. Аналоговый сигнал форматирован в формате РСМ и передается с использованием двоичных сигналов через канал с полосой 100 кГц. Предполагается, что используются 32 уровня квантования и что полная эквивалентная передаточная функция — приподнятый косинус с выравниванием .
а) Найдите максимальную скорость передачи битов, которую может поддерживать система без межсимвольной интерференции.
б) Найдите максимальную ширину исходного аналогового сигнала, возможную при приведенных параметрах.
в) Повторите пп. а и б для 8-уровневой кодировки РАМ.
3.13. Равновероятные двоичные импульсы в кодировке RZ когерентно обнаруживаются в гауссовом канале с Вт/Гц. Предполагается, что синхронизация идеальна, амплитуда принятых импульсов равна 100 мВ и вероятность ошибки
; найдите наибольшую скорость передачи данных, возможную в описанной системе.
3.14. Двоичные импульсы в кодировке NRZ передаются по кабелю, ослабляющему сигнал на 3 дБ (на пути от передатчика к приемнику). Эти импульсы когерентно обнаруживаются приемником, а скорость передачи данных равна 56 Кбит/с. Шум считать гауссовым с Вт/Гц. Чему равна минимальная мощность, необходимая для передачи с вероятностью ошибки
?
3.15. Покажите, что минимальная ширина полосы по Найквисту для случайной двоичной последовательности с биполярными импульсами идеальной формы равна ширине полосы шумового эквивалента. Подсказка: спектральная плотность мощности случайной последовательности биполярных импульсов определяется формулой (1.38), а ширина полосы шумового эквивалента дана в разделе 1.7.2.
3.16. Дана четырехуровневая последовательность символов сообщений в кодировке РАМ: {+1,+1,-1,+3,+1,+3}, где элементами алфавита являются числа {±1,±3}. Импульсы формируются фильтром с характеристикой типа корня из приподнятого косинуса; время поддержки каждого фильтрованного импульса составляет 6 периодов передачи символа, передаваемая последовательность — аналоговый сигнал, показанный на рис. 3.23, а. Отметим, что сигналы «размываются» вследствие межсимвольной интерференции, вносимой фильтром. Покажите, как можно реализовать набор N корреляторов для выполнения демодуляции принятой последовательности импульсов на согласованном фильтре, если число символов, переданных в течение длительности импульса, также равно N. (Подсказка: для набора корреляторов используйте опорные сигналы вида
, где k = 0,…,5, а Т — время передачи символа.)
3.17. Желательным импульсным откликом системы является идеальный отклик , где
— импульсная функция. Предполагается, что канал так вводит межсимвольную интерференцию, что общий импульсный отклик становится равным
, где
, а Т — длительность передачи символа. Выведите выражения для импульсного отклика фильтра, который реализует метод обращения в нуль незначащих коэффициентов и уменьшает последствия межсимвольной интерференции. Покажите, что этот фильтр подавляет межсимвольную интерференцию. Если полученное подавление окажется недостаточным, как можно будет модифицировать фильтр для более сильного подавления межсимвольной интерференции?
3.18. Результатом передачи одного импульса является принятая последовательность выборок (импульсный отклик) со значениями 0,1; 0,3; -0,2; 1,0; 0,4; -0,1; 0,1, где наиболее ранней является крайняя слева выборка. Значение 1,0 соответствует основному лепестку импульса, а другие — соседним выборкам. Спроектируйте трехотводный трансверсальный эквалайзер, подавляющий межсимвольную интерференцию в точках дискретизации по обе стороны основного лепестка. Вычислите значения выровненных импульсов в моменты времени k=0,±1,…,±3. Чему после выравнивания равен вклад наибольшей амплитуды в межсимвольную интерференцию и чему равна сумма амплитуд всех вкладов?
3.19. Повторите задачу 3.18, если импульсный отклик канала описывается следующими принятыми выборками: 0,01; 0,02; -0,03; 0,1; 1,0; 0,2: -0,1; 0,05; 0,02. С помощью компьютера найдите весовые коэффициенты девятиотводного трансверсального эквалайзера, удовлетворяющие критерию минимальности среднеквадратической ошибки. Вычислите значения импульсов на выходе эквалайзера в моменты времени k=0,±1,…,±8. Чему после выравнивания равен вклад наибольшей амплитуды в межсимвольную интерференцию и чему равна сумма амплитуд всех вкладов?
3.20. В данной главе отмечалось, что устройства обработки сигналов, такие как блоки перемножения и интегрирования, обычно работают с сигналами, имеющими размерность вольт. Таким образом, передаточная функция таких устройств должна выражаться в этих же единицах. Нарисуйте блочную диаграмму интегратора произведений, показывающую единицы сигналов в каждом проводнике и передаточную функцию устройства в каждом блоке. (Подсказка: см. раздел 3.2.5.1.)
Вопросы для самопроверки
3.1. При узкополосной передаче принятые сигналы уже имеют вид импульсов. Почему для восстановления импульсного сигнала требуется демодулятор (см. начало главы 3)?
3.2. Почему отношение , является естественным критерием качества систем цифровой связи (см. раздел 3.1.5)?
3.3. При представлении упорядоченных во времени событий какая дилемма может легко привести к путанице между самым старшим битом и самым младшим (см. раздел 3.2.3.1)?
3.4. Термин согласованный фильтр часто используется как синоним термина коррелятор. Как такое возможно при совершенно разных математических операциях, описывающих их работу (см. раздел 3.2.3.1)?
3.5. Опишите два точных способа сравнения различных кривых, описывающих зависимость вероятности появления ошибочного бита от отношения (см. раздел 3.2.5.3).
3.6. Существуют ли функции фильтров формирования импульсов (отличные от приподнятого косинуса), дающие нулевую межсимвольную интерференцию (см. раздел 3.3)?
3.7. До какой степени можно сжать полосу, не подвергаясь при этом межсимвольной интерференции (см. раздел 3.3.1.1)?
3.8. Ухудшение качества сигнала определяется двумя основными факторами: снижением отношения сигнал/шум и искажением, приводящим к не поддающейся улучшению вероятности возникновения ошибки. Чем отличаются эти факторы (см. раздел 3.3.2)?
3.9. Иногда увеличение отношения не останавливает ухудшение качества, вызванное межсимвольной интерференцией. Когда это происходит (см. раздел 3.3.2)?
3.10. Чем отличается эквалайзер, реализовывающий метод обращения в нуль незначащих коэффициентов, от эквалайзера, реализовывающего решение с минимальной среднеквадратической ошибкой (см. раздел 3.4.3.1)?
Обнаружение ошибок в технике связи — действие, направленное на контроль целостности данных при записи/воспроизведении информации или при её передаче по линиям связи. Исправление ошибок (коррекция ошибок) — процедура восстановления информации после чтения её из устройства хранения или канала связи.
Для обнаружения ошибок используют коды обнаружения ошибок, для исправления — корректирующие коды (коды, исправляющие ошибки, коды с коррекцией ошибок, помехоустойчивые коды).
Способы борьбы с ошибками[]
В процессе хранения данных и передачи информации по сетям связи неизбежно возникают ошибки. Контроль целостности данных и исправление ошибок — важные задачи на многих уровнях работы с информацией (в частности, физическом, канальном, транспортном уровнях модели OSI).
В системах связи возможны несколько стратегий борьбы с ошибками:
- обнаружение ошибок в блоках данных и автоматический запрос повторной передачи повреждённых блоков — этот подход применяется в основном на канальном и транспортном уровнях;
- обнаружение ошибок в блоках данных и отбрасывание повреждённых блоков — такой подход иногда применяется в системах потокового мультимедиа, где важна задержка передачи и нет времени на повторную передачу;
- исправление ошибок (forward error correction) применяется на физическом уровне.
Коды обнаружения и исправления ошибок[]
Корректирующие коды — коды, служащие для обнаружения или исправления ошибок, возникающих при передаче информации под влиянием помех, а также при её хранении.
Для этого при записи (передаче) в полезные данные добавляют специальным образом структурированную избыточную информацию (контрольное число), а при чтении (приёме) её используют для того, чтобы обнаружить или исправить ошибки. Естественно, что число ошибок, которое можно исправить, ограничено и зависит от конкретного применяемого кода.
С кодами, исправляющими ошибки, тесно связаны коды обнаружения ошибок. В отличие от первых, последние могут только установить факт наличия ошибки в переданных данных, но не исправить её.
В действительности, используемые коды обнаружения ошибок принадлежат к тем же классам кодов, что и коды, исправляющие ошибки. Фактически, любой код, исправляющий ошибки, может быть также использован для обнаружения ошибок (при этом он будет способен обнаружить большее число ошибок, чем был способен исправить).
По способу работы с данными коды, исправляющие ошибки делятся на блоковые, делящие информацию на фрагменты постоянной длины и обрабатывающие каждый из них в отдельности, и свёрточные, работающие с данными как с непрерывным потоком.
Блоковые коды[]
Пусть кодируемая информация делится на фрагменты длиной бит, которые преобразуются в кодовые слова длиной
бит. Тогда соответствующий блоковый код обычно обозначают
. При этом число
называется скоростью кода.
Если исходные бит код оставляет неизменными, и добавляет
проверочных, такой код называется систематическим, иначе несистематическим.
Задать блоковый код можно по-разному, в том числе таблицей, где каждой совокупности из информационных бит сопоставляется
бит кодового слова. Однако, хороший код должен удовлетворять, как минимум, следующим критериям:
- способность исправлять как можно большее число ошибок,
- как можно меньшая избыточность,
- простота кодирования и декодирования.
Нетрудно видеть, что приведённые требования противоречат друг другу. Именно поэтому существует большое количество кодов, каждый из которых пригоден для своего круга задач.
Практически все используемые коды являются линейными. Это связано с тем, что нелинейные коды значительно сложнее исследовать, и для них трудно обеспечить приемлемую лёгкость кодирования и декодирования.
Линейные коды общего вида[]
Линейный блоковый код — такой код, что множество его кодовых слов образует -мерное линейное подпространство (назовём его
) в
-мерном линейном пространстве, изоморфное пространству
-битных векторов.
Это значит, что операция кодирования соответствует умножению исходного -битного вектора на невырожденную матрицу
, называемую порождающей матрицей.
Пусть — ортогональное подпространство по отношению к
, а
— матрица, задающая базис этого подпространства. Тогда для любого вектора
справедливо:
Минимальное расстояние и корректирующая способность[]
-
Основная статья: Расстояние Хемминга
Расстоянием Хемминга (метрикой Хемминга) между двумя кодовыми словами и
называется количество отличных бит на соответствующих позициях,
, что равно числу «единиц» в векторе
.
Минимальное расстояние Хемминга является важной характеристикой линейного блокового кода. Она показывает насколько «далеко» расположены коды друг от друга. Она определяет другую, не менее важную характеристику — корректирующую способность:
, округляем «вниз», так чтобы
.
Корректирующая способность определяет, сколько ошибок передачи кода (типа ) можно гарантированно исправить. То есть вокруг каждого кода
имеем
-окрестность
, которая состоит из всех возможных вариантов передачи кода
с числом ошибок (
) не более
. Никакие две окрестности двух любых кодов не пересекаются друг с другом, так как расстояние между кодами (то есть центрами этих окрестностей) всегда больше двух их радиусов
.
Таким образом получив искажённый код из декодер принимает решение, что был исходный код
, исправляя тем самым не более
ошибок.
Поясним на примере. Предположим, что есть два кодовых слова и
, расстояние Хемминга между ними равно 3. Если было передано слово
, и канал внёс ошибку в одном бите, она может быть исправлена, так как даже в этом случае принятое слово ближе к кодовому слову
, чем к любому другому, и в частности к
. Но если каналом были внесены ошибки в двух битах (в которых
отличалось от
) то результат ошибочной передачи
окажется ближе к
, чем
, и декодер примет решение что передавалось слово
.
Коды Хемминга[]
Коды Хемминга — простейшие линейные коды с минимальным расстоянием 3, то есть способные исправить одну ошибку. Код Хемминга может быть представлен в таком виде, что синдром
, где
— принятый вектор, будет равен номеру позиции, в которой произошла ошибка. Это свойство позволяет сделать декодирование очень простым.
Общий метод декодирования линейных кодов[]
Любой код (в том числе нелинейный) можно декодировать с помощью обычной таблицы, где каждому значению принятого слова соответствует наиболее вероятное переданное слово
. Однако, данный метод требует применения огромных таблиц уже для кодовых слов сравнительно небольшой длины.
Для линейных кодов этот метод можно существенно упростить. При этом для каждого принятого вектора вычисляется синдром
. Поскольку
, где
— кодовое слово, а
— вектор ошибки, то
. Затем с помощью таблицы по синдрому определяется вектор ошибки, с помощью которого определяется переданное кодовое слово. При этом таблица получается гораздо меньше, чем при использовании предыдущего метода.
Линейные циклические коды[]
Несмотря на то, что декодирование линейных кодов уже значительно проще декодирования большинства нелинейных, для большинства кодов этот процесс всё ещё достаточно сложен. Циклические коды, кроме более простого декодирования, обладают и другими важными свойствами.
Циклическим кодом является линейный код, обладающий следующим свойством: если является кодовым словом, то его циклическая перестановка также является кодовым словом.
Слова циклического кода удобно представлять в виде многочленов. Например, кодовое слово представляется в виде полинома
. При этом циклический сдвиг кодового слова эквивалентен умножению многочлена на
по модулю
.
В дальнейшем, если не указано иное, мы будем считать, что циклический код является двоичным, то есть могут принимать значения 0 или 1.
Порождающий (генераторный) полином[]
Можно показать, что все кодовые слова конкретного циклического кода кратны определённому порождающему полиному . Порождающий полином является делителем
.
С помощью порождающего полинома осуществляется кодирование циклическим кодом. В частности:
Коды CRC[]
Коды CRC (cyclic redundancy check — циклическая избыточная проверка) являются систематическими кодами, предназначенными не для исправления ошибок, а для их обнаружения. Они используют способ систематического кодирования, изложенный выше: «контрольная сумма» вычисляется путем деления на
. Ввиду того, что исправление ошибок не требуется, проверка правильности передачи может производиться точно так же.
Таким образом, вид полинома задаёт конкретный код CRC. Примеры наиболее популярных полиномов:
название кода | степень | полином |
---|---|---|
CRC-12 | 12 | |
CRC-16 | 16 | |
CRC-CCITT | 16 | |
CRC-32 | 32 |
Коды БЧХ[]
Коды Боуза — Чоудхури — Хоквингема (БЧХ) являются подклассом циклических кодов. Их отличительное свойство — возможность построения кода БЧХ с минимальным расстоянием не меньше заданного. Это важно, потому что, вообще говоря, определение минимального расстояния кода есть очень сложная задача.
Математически полинома на множители в поле Галуа.
Коды коррекции ошибок Рида — Соломона[]
Коды Рида — Соломона — недвоичные циклические коды, позволяющие исправлять ошибки в блоках данных. Элементами кодового вектора являются не биты, а группы битов (блоки). Очень распространены коды Рида-Соломона, работающие с байтами (октетами).
Математически коды Рида — Соломона являются кодами БЧХ.
Преимущества и недостатки блоковых кодов[]
Хотя блоковые коды, как правило, хорошо справляются с редкими, но большими пачками ошибок, их эффективность при частых, но небольших ошибках (например, в канале с АБГШ), менее высока.
Свёрточные коды[]
Файл:ECC NASA standard coder.png Свёрточный кодер ()
Свёрточные коды, в отличие от блоковых, не делят информацию на фрагменты и работают с ней как со сплошным потоком данных.
Свёрточные коды, как правило, порождаются дискретной линейной инвариантной во времени системой. Поэтому, в отличие от большинства блоковых кодов, свёрточное кодирование — очень простая операция, чего нельзя сказать о декодировании.
Кодирование свёрточным кодом производится с помощью регистра сдвига, отводы от которого суммируются по модулю два. Таких сумм может быть две (чаще всего) или больше.
Декодирование свёрточных кодов, как правило, производится по алгоритму Витерби, который пытается восстановить переданную последовательность согласно критерию максимального правдоподобия.
Преимущества и недостатки свёрточных кодов[]
Свёрточные коды эффективно работают в канале с белым шумом, но плохо справляются с пакетами ошибок. Более того, если декодер ошибается, на его выходе всегда возникает пакет ошибок.
Каскадное кодирование. Итеративное декодирование[]
Преимущества разных способов кодирования можно объединить, применив каскадное кодирование. При этом информация сначала кодируется одним кодом, а затем другим, в результате получается код-произведение.
Например, популярной является следующая конструкция: данные кодируются кодом Рида-Соломона, затем перемежаются (при этом символы, расположенные близко, помещаются далеко друг от друга) и кодируются свёрточным кодом. На приёмнике сначала декодируется свёрточный код, затем осуществляется обратное перемежение (при этом пачки ошибок на выходе свёрточного декодера попадают в разные кодовые слова кода Рида — Соломона), и затем осуществляется декодирование кода Рида — Соломона.
Некоторые коды-произведения специально сконструированы для итеративного декодирования, при котором декодирование осуществляется в несколько проходов, каждый из которых использует информацию от предыдущего. Это позволяет добиться большой эффективности, однако, декодирование требует больших ресурсов. К таким кодам относят турбо-коды и LDPC-коды (коды Галлагера).
Оценка эффективности кодов[]
Эффективность кодов определяется количеством ошибок, которые тот может исправить, количеством избыточной информации, добавление которой требуется, а также сложностью реализации кодирования и декодирования (как аппаратной, так и в виде программы для ЭВМ).
Граница Хемминга и совершенные коды[]
-
Основная статья: Граница Хэмминга
Пусть имеется двоичный блоковый код с корректирующей способностью
. Тогда справедливо неравенство (называемое границей Хемминга):
Коды, удовлетворяющие этой границе с равенством, называются совершенными. К совершенным кодам относятся, например, коды Хемминга. Часто применяемые на практике коды с большой корректирующей способностью (такие, как коды Рида — Соломона) не являются совершенными.
Энергетический выигрыш[]
При передаче информации по каналу связи вероятность ошибки зависит от отношения сигнал/шум на входе демодулятора, таким образом при постоянном уровне шума решающее значение имеет мощность передатчика. В системах спутниковой и мобильной, а также других типов связи остро стоит вопрос экономии энергии. Кроме того, в определённых системах связи (например, телефонной) неограниченно повышать мощность сигнала не дают технические ограничения.
Поскольку помехоустойчивое кодирование позволяет исправлять ошибки, при его применении мощность передатчика можно снизить, оставляя скорость передачи информации неизменной. Энергетический выигрыш определяется как разница отношений с/ш при наличии и отсутствии кодирования.
Применение кодов, исправляющих ошибки[]
Коды, исправляющие ошибки, применяются:
- в системах цифровой связи, в том числе: спутниковой, радиорелейной, сотовой, передаче данных по телефонным каналам.
- в системах хранения информации, в том числе магнитных и оптических.
Коды, обнаруживающие ошибки, применяются в сетевых протоколах различных уровней.
Автоматический запрос повторной передачи[]
Системы с автоматическим запросом повторной передачи (ARQ — Automatic Repeat reQuest) основаны на технологии обнаружения ошибок. Распространены следующие методы автоматического запроса:
Запрос ARQ с остановками (stop-and-wait ARQ)[]
Идея этого метода заключается в том, что передатчик ожидает от приемника подтверждения успешного приема предыдущего блока данных перед тем как начать передачу следующего. В случае, если блок данных был принят с ошибкой, приемник передает отрицательное подтверждение (negative acknowledgement, NAK), и передатчик повторяет передачу блока. Данный метод подходит для полудуплексного канала связи. Его недостатком является низкая скорость из-за высоких накладных расходов на ожидание.
Непрерывный запрос ARQ с возвратом (continuous ARQ with pullback)[]
Для этого метода необходим полнодуплексный канал. Передача данных от передатчика к приемнику производится одновременно. В случае ошибки передача возобновляется, начиная с ошибочного блока (то есть, передается ошибочный блок и все последующие).
Непрерывный запрос ARQ с выборочным повторением (continuous ARQ with selective repeat)[]
При этом подходе осуществляется передача только ошибочно принятых блоков данных.
См. также[]
- Цифровая связь
- Линейный код
- Циклический код
- Код Боуза — Чоудхури — Хоквингема
- Код Рида — Соломона
- LDPC
- Свёрточный код
- Турбо-код
Литература[]
- Мак-Вильямс Ф. Дж., Слоэн Н. Дж. А. Теория кодов, исправляющих ошибки. М.: Радио и связь, 1979.
- Блейхут Р. Теория и практика кодов, контролирующих ошибки. М.: Мир, 1986.
- Морелос-Сарагоса Р. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение. М.: Техносфера, 2005. — ISBN 5-94836-035-0
Ссылки[]
Имеется викиучебник по теме:
Обнаружение и исправление ошибок
- Помехоустойчивое кодирование (11 ноября 2001). — реферат по проблеме кодирования сообщений с исправлением ошибок. Проверено 25 декабря 2006.
Эта страница использует содержимое раздела Википедии на русском языке. Оригинальная статья находится по адресу: Обнаружение и исправление ошибок. Список первоначальных авторов статьи можно посмотреть в истории правок. Эта статья так же, как и статья, размещённая в Википедии, доступна на условиях CC-BY-SA .
Лекция 5
Проверка правильности передачи данных
- Причины возникновения ошибок
- Классификация методов защиты от ошибок
- Групповые методы
- мажоритарный
- блок с количественной характеристикой
- Помехоустойчивое кодирование
- Системы передачи с обратной связью
- решающая
- информационная
- Групповые методы
Проблема обеспечения безошибочности (достоверности) передачи информации в
сетях имеет очень большое значение. Если при передаче обычной телеграммы в
тексте возникает ошибка или при разговоре по телефону слышен треск, то в
большинстве случаев ошибки и искажения легко обнаруживаются по смыслу. Но при
передаче данных одна ошибка (искажение одного бита) на тысячу переданных
сигналов может серьезно отразиться на качестве информации.
Существует множество методов обеспечения достоверности передачи информации
(методов защиты от ошибок), отличающихся по используемым для их реализации
средствам, по затратам времени на их применение на передающем и приемном
пунктах, по затратам дополнительного времени на передачу фиксированного объема
данных (оно обусловлено изменением объема трафика пользователя при реализации
данного метода), по степени обеспечения достоверности передачи информации.
Практическое воплощение методов состоит из двух частей — программной и
аппаратной. Соотношение между ними может быть самым различным, вплоть до почти
полного отсутствия одной из частей. Чем больше удельный вес аппаратных средств
по сравнению с программными, тем при прочих равных условиях сложнее
оборудование, реализующее метод, и меньше затрат времени на его реализацию, и
наоборот.
Причины возникновения ошибок
Выделяют две основные причины возникновения ошибок при передаче информации в
сетях:
- сбои в какой-то части оборудования сети или возникновение
неблагоприятных объективных событий в сети (например, коллизий при
использовании метода случайного доступа в сеть). Как правило, система
передачи данных готова к такого рода проявлениям и устраняет их с помощью
предусмотренных планом средств; - помехи, вызванные внешними источниками и атмосферными явлениями. Помехи
— это электрические возмущения, возникающие в самой аппаратуре или
попадающие в нее извне. Наиболее распространенными являются флуктуационные
(случайные) помехи. Они представляют собой последовательность импульсов,
имеющих случайную амплитуду и следующих друг за другом через различные
промежутки времени. Примерами таких помех могут быть атмосферные и
индустриальные помехи, которые обычно проявляются в виде одиночных импульсов
малой длительности и большой амплитуды. Возможны и сосредоточенные помехи в
виде синусоидальных колебаний. К ним относятся сигналы от посторонних
радиостанций, излучения генераторов высокой частоты. Встречаются и смешанные
помехи. В приемнике помехи могут настолько ослабить информационный сигнал,
что он либо вообще не будет обнаружен, либо будет искажен так, что «единица»
может перейти в «нуль», и наоборот.
Трудности борьбы с помехами заключаются в беспорядочности, нерегулярности и в
структурном сходстве помех с информационными сигналами. Поэтому защита
информации от ошибок и вредного влияния помех имеет большое практическое
значение и является одной из серьезных проблем современной теории и техники
связи.
Классификация методов защиты от ошибок
Среди многочисленных методов защиты от ошибок выделяются три группы методов:
групповые методы, помехоустойчивое кодирование и методы защиты от ошибок в
системах передачи с обратной связью.
Групповые методы
Из групповых методов получили широкое применение мажоритарный метод,
реализующий принцип Вердана, и метод передач информационными блоками с
количественной характеристикой блока.
- Мажоритарный метод
- Суть этого метода, давно и широко используемого в телеграфии,
состоит в следующем. Каждое сообщение ограниченной длины передается
несколько раз, чаще всего три раза. Принимаемые сообщения запоминаются,
а потом производится их поразрядное сравнение. Суждение о правильности
передачи выносится по совпадению большинства из принятой информации
методом «два из трех». Например, кодовая комбинация 01101 при
трехразовой передаче была частично искажена помехами, поэтому приемник
принял такие комбинации: 10101, 01110, 01001. В результате проверки по
отдельности каждой позиции правильной считается комбинация 01101.- Передача блоками с количественной характеристикой
- Этот метод также не требует перекодирования информации. Он
предполагает передачу данных блоками с количественной характеристикой
блока. Такими характеристиками могут быть: число единиц или нулей в
блоке, контрольная сумма передаваемых символов в блоке, остаток от
деления контрольной суммы на постоянную величину и др. На приемном
пункте эта характеристика вновь подсчитывается и сравнивается с
переданной по каналу связи. Если характеристики совпадают, считается,
что блок не содержит ошибок. В противном случае на передающую сторону
поступает сигнал с требованием повторной передачи блока. В современных
телекоммуникационных вычислительных сетях такой метод получил самое
широкое распространение.
Помехоустойчивое (избыточное) кодирование
Этот метод предполагает разработку и использование корректирующих
(помехоустойчивых) кодов. Он применяется не только в телекоммуникационных сетях,
но и в ЭВМ для защиты от ошибок при передаче информации между устройствами
машины. Помехоустойчивое кодирование позволяет получить более высокие
качественные показатели работы систем связи. Его основное назначение заключается
в обеспечении малой вероятности искажений передаваемой информации, несмотря на
присутствие помех или сбоев в работе сети.
Существует довольно большое количество различных помехоустойчивых кодов,
отличающихся друг от друга по ряду показателей и прежде всего по своим
корректирующим возможностям.
К числу наиболее важных показателей корректирующих кодов относятся:
- значность кода n, или длина
кодовой комбинации, включающей информационные символы (m)
и проверочные, или контрольные, символы (К):
n = m
+ K
(Значения
контрольных символов при кодировании определяются путем контроля на четность
количества единиц в информационных разрядах кодовой комбинации. Значение
контрольного символа равно 0, если количество единиц будет четным, и равно 1
при нечетном количестве единиц); - избыточность кода Кизб,
выражаемая отношением числа контрольных символов в кодовой комбинации к
значности кода: Кизб = К/
n;
- корректирующая способность кода Ккс, представляющая
собой отношение числа кодовых комбинаций L,
в которых ошибки были обнаружены и исправлены, к общему числу переданных
кодовых комбинаций M в фиксированном объеме
информации: Ккс =
L/ M
Выбор корректирующего кода для его использования в данной компьютерной сети
зависит от требований по достоверности передачи информации. Для правильного
выбора кода необходимы статистические данные о закономерностях появления ошибок,
их характере, численности и распределении во времени. Например, корректирующий
код, обнаруживающий и исправляющий одиночные ошибки, эффективен лишь при
условии, что ошибки статистически независимы, а вероятность их появления не
превышает некоторой величины. Он оказывается непригодным, если ошибки появляются
группами. При выборе кода надо стремиться, чтобы он имел меньшую избыточность.
Чем больше коэффициент Кизб, тем менее эффективно используется
пропускная способность канала связи и больше затрачивается времени на передачу
информации, но зато выше помехоустойчивость системы.
В телекоммуникационных вычислительных сетях корректирующие коды в основном
применяются для обнаружения ошибок, исправление которых осуществляется путем
повторной передачи искаженной информации. С этой целью в сетях используются
системы передачи с обратной связью (наличие между абонентами дуплексной связи
облегчает применение таких систем).
Системы передачи с обратной связью
Системы передачи с обратной связью делятся на системы с решающей обратной
связью и системы с информационной обратной связью.
- Системы с решающей обратной связью
- Особенностью систем с решающей обратной связью (систем с
перезапросом) является то, что решение о необходимости повторной передачи
информации (сообщения, пакета) принимает приемник. Здесь обязательно применяется
помехоустойчивое кодирование, с помощью которого на приемной станции
осуществляется проверка принимаемой информации. При обнаружении ошибки на
передающую сторону по каналу обратной связи посылается сигнал перезапроса, по
которому информация передается повторно. Канал обратной связи используется также
для посылки сигнала подтверждения правильности приема, автоматически
определяющего начало следующей передачи.- Системы с информационной обратной связью
- В системах с информационной обратной связью передача информации
осуществляется без помехоустойчивого кодирования. Приемник, приняв информацию по
прямому каналу и зафиксировав ее в своей памяти, передает ее в полном объеме по
каналу обратной связи передатчику, где переданная и возвра0щенная информация
сравниваются. При совпадении передатчик посылает приемнику сигнал подтверждения,
в противном случае происходит повторная передача всей информации. Таким образом,
здесь решение о необходимости повторной передачи принимает передатчик.
Обе рассмотренные системы обеспечивают практически одинаковую достоверность,
однако в системах с решающей обратной связью пропускная способность каналов
используется эффективнее, поэтому они получили большее распространение.
Сайт управляется системой uCoz