Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Телемеханика и связь

..pdf
Скачиваний:
1
Добавлен:
12.11.2023
Размер:
3.69 Mб
Скачать

исправить на обратный ему, т.е. 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)