книги / Телемеханика и связь
..pdfисправить на обратный ему, т.е. 1 на 0 или 0 на 1. После этого контрольные символы, стоящие на заранее известных местах, отбрасывают.
|
|
|
|
|
|
|
Ò à á ë è ö à |
2 . 6 |
||
|
|
Примеры кода Хемминга |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
Десятизначный |
|
|
Позиции, разряды и обозначения кода |
|
|
|
||||
|
|
|
23 |
|
22 |
21 |
20 |
|
òäîë |
|
эквивалент |
|
|
|
|
|
|
|
|
|
|
m1 |
|
m2 |
k4 |
m3 |
k3 |
k2 |
k1 |
|
|
|
|
|
|
|
|||||||
1 |
1 |
|
1 |
0 |
1 |
0 |
0 |
1 |
|
0 |
2 |
0 |
|
1 |
0 |
1 |
0 |
1 |
0 |
|
1 |
3 |
1 |
|
0 |
0 |
0 |
0 |
1 |
1 |
|
1 |
4 |
1 |
|
0 |
0 |
1 |
1 |
0 |
0 |
|
1 |
5 |
0 |
|
1 |
0 |
0 |
1 |
0 |
1 |
|
1 |
6 |
1 |
|
1 |
0 |
0 |
1 |
1 |
0 |
|
0 |
7 |
0 |
|
0 |
0 |
1 |
1 |
1 |
1 |
|
0 |
8 |
1 |
|
1 |
1 |
0 |
0 |
0 |
0 |
|
1 |
Несколько комбинаций четырехразрядного двоичного кода, закодированных для исправления одиночной ошибки, с добавлением дополнительного контрольного разряда òäîë с целью проверки этих комбинаций на четность приводятся в табл. 2.6.
При проверках принятой комбинации возможны следующие варианты:
1)ошибок нет (прием верен); это показывают как общая проверка на четность, так и частные проверки (для рассматриваемого кода частных проверок три), в процессе которых òäîë отбрасывается;
2)одиночная ошибка; общая проверка на четность показывает наличие ошибки (сумма единиц по модулю 2, входящих в кодовую комбинацию, не дает нуль), а частные проверки комбинации без
разряда òäîë указывают на номер искаженного символа (нулевое значение числа, полученное в результате проверки, свидетельствует об искажении в дополнительной контрольной позиции);
3)две ошибки; общая проверка на четность указывает на отсутствие ошибок, а частные проверки – на наличие ошибок (указывается номер позиции, где якобы возникла ошибка, но ее не следует исправлять, надо лишь констатировать наличие двух ошибок).
51
ELIB.PSTU.RU
Стр. 51 |
ЭБ ПНИПУ (elib.pstu.ru) |
Добавление дополнительного контрольного символа к закодированной для исправления одиночной ошибки кодовой комбинации увеличивает кодовое расстояние с d = 3 äî d = 4, что следует из уравнения (2.5), так как r = 2, s = f, a d = 2 + 1 + 1 = 4.
Циклические коды. Циклические коды относятся к числу блоковых систематических кодов, в которых каждая комбинация кодируется самостоятельно (в виде блока) таким образом, что информационные k и контрольные ò символы всегда находятся на определенных местах.
Возможность обнаружения и исправления практически любых ошибок при относительно малой избыточности по сравнению с другими кодами, а также простота схемной реализации аппаратуры кодирования и декодирования сделали эти коды широко распространенными.
Теория циклических кодов базируется на теории групп и алгебре многочленов над полем Галуа. Конспективно некоторые материалы из этой теории были изложены в начале главы, другие будут приводиться по ходу изложения.
Многочлен (полином), который можно представить в виде произведения многочленов низших степеней, называют приводимым (в данном поле), в противном случае – неприводимым. Неприводимые многочлены играют роль, сходную с простыми числами в теории чисел. Неприводимые многочлены Ð(Õ) можно записать в виде десятичных или двоичных чисел либо в виде алгебраического многочлена (рис. 2.4).
Рис. 2.4. Неприводимые многочлены и их эквиваленты
На рис. 2.4 указаны все неприводимые многочлены до пятой степени включительно, используемые для построения циклических кодов. Многочлены более высоких степеней приводятся лишь выборочно.
52
ELIB.PSTU.RU
Стр. 52 |
ЭБ ПНИПУ (elib.pstu.ru) |
Многочлен в поле двоичных чисел называется неприводимым, если он делится без остатка только на себя или на единицу; что касается многочленов, приведенных на рис. 2.4, то это определение справедливо только для конечного поля двоичных чисел.
В основу циклического кодирования положено использование неприводимого многочлена Ð(Õ), который применительно к цикли- ческим кодам называется образующим, генераторным или производящим многочленом (полиномом).
Методы построения циклических кодов. В качестве информационных символов k для построения циклических кодов берут комбинации двоичного кода на все сочетания. В общем случае, если заданную кодовую комбинацию Q(X) умножить на образующий многочлен Ð(Õ), получится циклический код, обладающий теми или иными корректирующими свойствами в зависимости от выбора Ð(Õ). Однако в этом коде контрольные символы ò будут располагаться в самых разнообразных местах кодовой комбинации. Такой код не является систематическим, что затрудняет его схемную реализацию. Ситуацию можно значительно упростить, если контрольные символы приписать в конце кода, т.е. после информационных символов. Для этой цели целесообразно воспользоваться следующим методом:
1.Умножаем кодовую комбинацию G(X), которую мы хотим закодировать, на одночлен X m, имеющий ту же степень, что и образующий многочлен Ð(Õ).
2.Делим произведение G(X)X m на образующий многочлен
Ð(Õ m):
G(X )X m |
Q(X ) |
R(X ) |
, |
(2.14) |
|
P(X ) |
P(X ) |
||||
|
|
|
ãäå Q(X) – частное от деления; R(X) – остаток.
Умножая выражение (2.14) на P(X) и перенося R(X) в другую часть равенства согласно правилам алгебры двоичного поля, т.е. без перемены знака на обратный, получаем
F(X) = Q(X)P(X) = G(X)X m + R(X). |
(2.15) |
Таким образом, согласно равенству (2.15), циклический код, т.е. закодированное сообщение F(X), можно образовать двумя способами:
53
ELIB.PSTU.RU
Стр. 53 |
ЭБ ПНИПУ (elib.pstu.ru) |
1)умножением одной из комбинаций двоичного кода на все со- четания (комбинация Q(X) принадлежит к той же группе того же кода, что и заданная комбинация G(X)) на образующий многочлен
Ð(Õ);
2)умножением заданной кодовой комбинации G(X) íà îäíî- ÷ëåí X m, имеющий ту же степень, что и образующий многочлен Ð(Õ), с добавлением к этому произведению остатка R(X), полученного после деления произведения G(X)X m на образующий многоч- лен Ð(Õ).
В качестве примера закодируем комбинацию 1101. Для кодирования возьмем образующий многочлен P(X) = X 3 + X + 1.
Умножая G(X) íà X m, который имеет третью степень, получим G(X) X3 = (X 3 + X 2+ 1) X 3 = X 6 + X 5 + X 3 = 1101000.
От умножения степень каждого многочлена повысилась, что эквивалентно приписыванию трех нулей к многочлену, выраженному в двоичной форме.
Разделив произведение G(X m) на образующий многочлен Ð(Õ ò), согласно (2.14) получим
X 6 X |
5 X |
3 |
(X |
3 |
X |
2 |
X 1) |
|
|
1 |
|
, |
X 3 |
X 1 |
|
|
|
X 3 |
X 1 |
||||||
|
|
|
|
|
|
|
|
таким образом, в результате деления получаем частное Q(X) той же степени, что и G(X):
Q(X) = X 3 + X 2 + X + 1 = 1111 ,
и остаток
R(X) = 1 = 001.
В итоге комбинация двоичного кода, закодированная цикли- ческим кодом, согласно (2.15) примет вид
F(X)= 1111 1011 = 1101000 + 001 = 1101001.
Циклические коды с d = 3. Эти коды могут обнаруживать одиночные и двойные ошибки или обнаруживать и исправлять одиноч- ные ошибки.
54
ELIB.PSTU.RU
Стр. 54 |
ЭБ ПНИПУ (elib.pstu.ru) |
1. Выбор числа контрольных символов. Есть два способа выбора числа ò. При первом способе исходят из того, что число контрольных символов m = n – k зависит от числа информационных символов, а значит, и от длины всей кодовой комбинации. Выбор ò производится, как и для кода Хэмминга, с исправлением одиночной ошибки. Условие (2.12) может быть записано в виде
m = E” log2(n + 1), |
(2.16) |
ãäå E” – знак округления в сторону большего значения.
При втором способе число контрольных символов ò определяется по эмпирической формуле
m = E” log2[(k + 1)] + E” log2[(k + 1)]. |
(2.17) |
В основу выбора ò в последнем выражении положено значение числа информационных разрядов. Это удобно, так как первое, что известно в начале кодирования, – именно число разрядов информационных символов. Уравнение (2.17) дает тот же результат, что и (2.16). Если в (2.16) вместо ï подставить k, получится тот же результат, что и в (2.17), начиная с k = 8.
2. Выбор образующего многочлена Р(Õ). Степень образующего многочлена l не может быть меньше числа контрольных символов ò. Это значит, что если m = 3, то из рис. 2.4 можно выбрать любой образующий многочлен Ð(Õ) начиная с третьей степени и выше. Для упрощения технической реализации кодирования степень Ð(Õ) следует выбирать равной числу ò, ò.å. l = ò. Если в таблице имеется ряд многоч- ленов с данной степенью, то из них следует выбрать самый короткий. Однако число ненулевых членов многочлена Ð(Õ) не должно быть меньше кодового расстояния d.
Декодирование циклических кодов. Обнаружение ошибок.
Идея обнаружения ошибок в принятом циклическом коде заключа- ется в том, что при отсутствии ошибок закодированная комбинация F(X) делится на образующий многочлен Ð(Õ) без остатка. При этом контрольные символы ò отбрасываются, а информационные символы k используются по назначению. Если произошло искажение принятой комбинации, то эта комбинация F(X) преобразуется в комбинацию Í(Õ), которую можно представить как сумму двух многочленов:
55
ELIB.PSTU.RU
Стр. 55 |
ЭБ ПНИПУ (elib.pstu.ru) |
H(X) = F(X) + E(X), |
(2.18) |
ãäå Å(Õ) – многочлен ошибок, содержащий столько единиц, сколько элементов в принятой комбинации не совпадает с элементами переданной комбинации.
Пусть была передана комбинация кода F(X) = 1101001 (n = 7, k = 4), закодированная с помощью Р(Õ) = 1011. Если она принята правильно, то деление на Ð(Õ) даст остаток, равный нулю. Если же комбинация принята как Í(Õ) = 1101011, то при делении на Ð(Õ) образуется остаток 010, что свидетельствует об ошибке, и принятая комбинация бракуется.
Обнаружение и исправление ошибок. Существует несколько вариантов декодирования циклических кодов. Один из них заклю- чается в следующем:
1.Вычисление остатка (синдрома). Принятую комбинацию делят на образующий многочлен Ð(Õ). Остаток R(X) = 0 означает, что комбинация принята без ошибок. Наличие остатка свидетельствует
îтом, что комбинация принята искаженной. Следовательно, продолжается процедура исправления ошибок.
2.Подсчет веса остатка W. Если вес остатка равен или мень-
ше числа исправляемых ошибок, т.е. W s, то принятую комбинацию складывают по модулю 2 с остатком и получают исправленную комбинацию.
3. Циклический сдвиг на один символ влево. Åñëè W > s, то производят циклический сдвиг на один символ влево и полученную комбинацию снова делят на образующий многочлен. Если вес полученного остатка W s, то циклически сдвинутую комбинацию складывают с остатком и затем циклически сдвигают ее в обратную сторону вправо на один символ (возвращают на прежнее место).
Âрезультате получают исправленную комбинацию.
4.Дополнительные циклические сдвиги влево. Если после циклического сдвига на один символ по-прежнему W > s, то производят дополнительные циклические сдвиги влево. При этом после каждого сдвига сдвинутую комбинацию делят на Ð(Õ) и проверяют вес остатка. При W s выполняют действия, указанные в п. 3, с той лишь разницей, что обратных циклических сдвигов вправо делают столько, сколько их было сделано влево.
56
ELIB.PSTU.RU
Стр. 56 |
ЭБ ПНИПУ (elib.pstu.ru) |
В качестве примера проверим принятый код 1101110, закодированный образующим многочленом Ð(Õ) = 1011 ñ s = l, и в случае обнаружения ошибки исправим ее.
Делим комбинацию 1101110 на 1011 и находим, что остаток R(X) = 111. Так как это не удовлетворяет равенству W = s, сдвигаем комбинацию 1101110 циклически на один символ влево. Получаем 1011101. В результате деления этой комбинации на Ð(Õ) находим остаток R1(X) = 101. Вес этого остатка равен двум, т.е. больше s. Осуществляем новый циклический сдвиг влево. Получаем 0111011. Деление на Ð(Õ) дает остаток R2(X)=001, вес которого равен s. Складываем 0111011 ( 001 = 0111010. Теперь осуществляем два цикли- ческих сдвига последней комбинации вправо: после первого она принимает вид 0011101, после второго – 1001110, т.е. получается уже исправленная комбинация. Проверка показывает, что эта комбинация делится на Ð(Õ) без остатка.
ELIB.PSTU.RU
Стр. 57 |
ЭБ ПНИПУ (elib.pstu.ru) |
ГЛАВА 3. ФИЛЬТРЫ
3.1. Основные теоретические положения
Электрические фильтры предназначены для выделения ряда гармонических составляющих из спектра частот несинусоидальных колебаний. Фильтр должен пропускать колебания в определенном интервале частот, называемом полосой пропускания, и максимально ослаблять колебания других частот, образующих полосу задержания (непрозрачности). Частота ñ, разделяющая эти полосы, называется частотой среза или граничной частотой фильтра. В соответствии с тем, как на шкале частот расположены полосы прозрачности и задерживания, различают фильтры нижних частот, верхних частот, полосовые пропускающие и полосовые задерживающие.
Одиночные и связанные колебательные контуры способны фильтровать колебания тех или иных частот, но их избирательность недостаточна, т.е. нет резкого изменения затухания на частоте среза. При необходимости прибегают к фильтрам в виде цепочки линейных четырехполюсников. По расположению сопротивлений в звеньях цепочки фильтры делятся на Г-образные, Т-образные, П-образные (рис. 3.1). Несмотря на более сложную схему, Т- и П-образные фильтры применяются чаще. Их преимущество заключается в симметрии входа и выхода, что позволяет менять местами генератор и нагрузку. Такими же свойствами обладает двухпроводная линия. Из этих соображений дальнейший анализ работы фильтров посвящен Т- и П-образным фильтрам. Сопротивления звеньев должны быть реактивными, чтобы фильтр меньше ослаблял сигнал в полосе прозрачности.
Если сопротивления Z1, Z2 подобраны так, что зависимость их от частоты обратная, то произведение Z1 Z2 = K 2 не зависит от частоты (K – постоянная величина). Фильтр с такими элементами назы-
58
ELIB.PSTU.RU
Стр. 58 |
ЭБ ПНИПУ (elib.pstu.ru) |
вается фильтром типа K. В нем одно из сопротивлений индуктив-
ное, а другое емкостное, например, Z1 =j L è Z2 |
|
1 |
. |
|
|||
|
|
j C |
Основными качественными показателями фильтра являются затухание и частотная характеристика.
Затухание определяет степень уменьшения амплитуды напряжения от входа (U1m) к входу (U2m).
Рис. 3.1. Фильтры: à Г образные; á Т образные; â П образные
Основной единицей затухания является непер
Íï lnU1m .
U2m
59
ELIB.PSTU.RU
Стр. 59 |
ЭБ ПНИПУ (elib.pstu.ru) |