Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТОИ.pdf
Скачиваний:
18
Добавлен:
11.12.2024
Размер:
1.82 Mб
Скачать

сообщения о преобразуют в последовательность кодовых символов, а затем каждый символ преобразуется в соответствующий элемент сигнала.

В непрерывных каналах связи кодирование обеспечивает получение принципиально лучших результатов, так как в этом случае отсутствуют дополнительные стадии преобразования, которые приводят к потере информации. Однако такое кодирование является более сложным в реализации. Значительно чаще и в ущерб некоторым потерям информации применяют кодирование в дискретных каналах связи, реализация которого существенно проще.

Задача. Определить пропускную способность при приеме и передаче двоичных данных через непрерывный канал связи с ограниченной полосой частот F = 27 кГц и ограниченной средней мощностью сигнала PC = 1 мВт, если при обработке информации установлена средняя мощность шума Pш = 3 мкВт.

Решение. В соответствии с формулой (15) пропускная способность:

 

P

 

 

 

 

 

1 10

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C = F log2 1 +

C

 

= 27 10

3

log2

1 +

 

 

2.26 10

5

бит/с

P

 

3 10

6

 

 

 

 

 

 

 

 

 

 

 

ш

 

 

 

 

 

 

 

Ответ: C ≈ 2.26 · 105 бит/с.

Тема «Основы построения корректирующих кодов»

Изучаемые вопросы:

1.Классификация корректирующих кодов.

2.Основные характеристики блочных корректирующих кодов.

3.Обнаружение и исправление ошибок в коде.

4.Линейные двоичные корректирующие коды.

5.Пример задания линейного корректирующего кода.

Классификация корректирующих кодов

Целью помехоустойчивости кодирования является повышение вероятности передаваемых сообщений посредством целенаправленного введения избыточности в процессе преобразования информации.

Для классификации помехоустойчивых кодов используются различные признаки, одним из которых является основание кода m (иногда используют q) – это объем кодового алфавита, то есть число символов в алфавите.

Блочные коды – это коды, у которых каждый очередной знак преобразуется в некоторой конечный блок.

В непрерывных кодах разделение на отдельные блоки или слова не происходит (кодовые символы определяются всей последовательностью знаков сообщения).

Для блочных кодов используется параметр длина кода (если длина одинаковая – код равномерный, иначе – неравномерный).

Пример равномерного кода – МТК-2, неравномерного – код Морзе.

Если длина кодового слова равна n, удовлетворять неравенству:

M m

то число различных блоков M будет

n

(1)

 

Если M = mn, код называют простым или примитивным, если M < mn, код называют избыточным (помехоустойчивым).

Основные характеристики блочных корректирующих кодов

Блочные коды принято обозначать (n, k), где n – общее число символов

вкодовом блоке (длина кодового слова), k – число информационных символов

вблоке.

Корректирующие коды характеризуют:

1. Число проверочных (избыточных) символов:

r = n k

2.

Объем кода:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

M = 2

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.

Скорость кода:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R =

log

2

 

M

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n log

2

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

При m = 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R =

log

2

M

 

log

2

mk

m = 2 =

log

2

2k

 

k

 

 

 

=

 

 

 

=

 

 

=

 

 

n log2 m

n log2 m

n log2 2

n

(2)

(3)

(4)

4.Вес кодового слова w(Vi) – число символов в слове Vi (где i = 1÷M), отличное от нуля.

5.Расстояние Хемминга ρ(Vi, Vj) между двумя кодовыми словами – число позиций (разрядов, элементов) в которых они отличаются друг от друга.

Для любых Vi Vj можно записать

 

(

 

 

)

 

1

V ,V

j

 

n

 

 

i

 

 

(5)

6. Минимальное кодовое расстояние d. Для заданного кода принято называть минимальное расстояние по Хеммингу между всеми парами его несовпадающих кодовых слов.

d = min (Vi ,Vj )

(6)

V

V

j

 

i

 

 

7. Максимум правдоподобия

Пусть Vi – передаваемое кодовое слово, Z – принятый блок. Тогда можно записать правило декодирования в виде

P (Z |V ) P (Z |V

); j = 1, M

i

j

 

j i или max P (Z |V )

 

i

i

 

 

(7)

В симметричном канале без помех декодирование по максимуму правдоподобия соответствует декодированию по минимальному расстоянию Хемминга, которое формально можно представить соотношением

V = min (Z ,V )

i

i

i

 

 

8. Кратность ошибок t

(8)

Обычно говорят, что произошла ошибка с кратностью t, если в кодовом слове искажено t символов

Обнаружение и исправление ошибок в коде

Если корректирующий код с величиной d > 1 используется в режиме обнаружения ошибок, то все ошибки с кратностью t d – 1 будут обнаружены гарантированно.

Если t > d, то кодовый блок может оказаться разрешен с необнаруженными ошибками.

Минимальное кодовое расстояние, при котором могут обнаруживаться любые одиночные ошибки d = 2.

Если корректирующий код используется в режиме исправления ошибок, то он способен исправить с гарантией любые ошибки при выполнении условий:

при четном d:

t d / 2 1

при нечетном d: t (d 1) / 2

(9)

(10)

При использовании корректирующего кода для одновременного обнаружения и исправления ошибок и стираний, его кодовое расстояние должно удовлетворять условию:

d

2tо

+ t

с

 

,

(11)

где tо – число гарантированно исправляемых ошибок, tc – число исправляемых стираний.

Линейные двоичные корректирующие коды

Линейным двоичным блочным кодом называется множество двоичных последовательностей длиной n, которое содержит чисто нулевую последовательность (000…0) и обладает следующим свойством: сумма по модулю 2 любых пар последовательностей из этого множества также является элементом этого множества.

Такие коды иногда также называют групповыми, поскольку они представляют собой подгруппу для группы всех двоичных последовательностей длиной n.

В классе линейных кодов наибольший интерес представляют систематические (n, k)-коды. В них первые k символов – информационные, остальные – проверочные.

Известно, что совокупность кодовых слов V1, V2, …, Vk нейно независимой, если справедливо соотношение

1V1 + 2V2 + ...

+ kVk

0

,

при всех значениях αi, за исключением

называется ли-

(12)

 

=

2

= =

k

 

 

 

где αi {0, 1}.

=

0

,

(13)

Доказано, что из общего числа M = 2k разрешенных кодовых слов линейного кода можно выбрать совокупность, содержащую k произвольных ненулевых слов, которые отвечают свойству линейной независимости. Эта совокупность называется линейным базисом. Далее все элементы базиса могут быть сложены поразрядно по модулю 2 в различных сочетаниях. Общее число таких комбинаций равно 2k (соответствует числу разрешенных кодовых блоков).

Следовательно, линейный блочный код можно определить с помощью элементов базиса, содержащих k линейно независимых кодовых комбинаций.

Такие комбинации принято называть порождающей матрицей. Она содержит k строк, n столбцов и обычно записывается в канонической форме:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

100...0

 

 

 

 

 

 

 

010...0

 

 

 

 

 

 

 

G

= I

 

B

 

=

 

k

 

 

n,k

 

k (nk )

 

 

 

 

 

 

 

 

 

000...1

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

... b

 

1,k +1

1,n

 

b

... b

 

2,k +1

2,n

 

 

 

 

b

... b

 

 

k ,k +1

k ,n

r=nk

 

,

(14)

где Ik – единичная матрица размером k × k с единицами на главной диагонали и нулями в других местах; Bk×(nk) – матрица, которая содержит проверочные символы корректирующего кода в своих строках.

Строки матрицы Ik представляют собой информационные символы, вырабатываемые источником сообщений.