Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория систем и системный анализ.doc
Скачиваний:
114
Добавлен:
15.11.2018
Размер:
1.69 Mб
Скачать
      1. Кодирование в отсутствие шумов

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

Пусть алфавит системы состоит из m символов. Средствами этого алфавита требуется представить любой из М возможных сигналов {uk}, k=1, ... , M, вероятности которых {р(uk)} заданы. Обычно М>т, поэтому каждый из сигналов, подлежащих передаче, невозможно обозначить только одним символом и приходится ставить им в соответствие некоторые последовательности символов; назовем их кодовыми словами. Так как возможна последовательная передача разных кодовых слов, то они не только должны различаться для разных uk, но и не должны быть продолжением других, более коротких. Пусть сигналу uk соответствует кодовое слово длиной lk символов. При стационарной передаче сигналов с вероятностями {р(uk)} средняя длина кодового слова равна L=k lkp(uk).

Возникает вопрос о том, как выбирать L и {lk}. Он не имеет смысла, пока не задан критерий выбора этих величин. Определим этот критерий так: L и {lk} должны быть минимальными величинами, такими, при которых еще не происходит потери информации. Напомним, что в отсутствие шумов среднее количество информации на один элемент uk ансамбля {uk} равно энтропии этого ансамбля, т.е. H(U)=k=1Mp(uk)logp(uk), а индивидуальное количество информации в uk есть i(uk)=-logp(uk). С другой стороны, на один символ придется максимальное количество информации, если символы равновероятны и независимы; при этом i = log m. Поскольку кодирование должно вестись без потерь информации, сразу получаем: H(U)log-1mL; i(uk)log-1mlk i(uk)log-1m + 1;

Так из общих соображений находим нижние границы для L и lk. В теории информации доказываются теоремы об условиях достижимости этих границ. Мы не будем приводить эти теоремы; укажем лишь, что речь идет не только о принципиальной возможности: разработаны процедуры построения кодов, обеспечивающих безызбыточное кодирование (либо в случае невозможности этого - сколь угодно близкое к нему).

      1. Кодирование при наличии шумов

Наиболее интересные и важные результаты были получены при рассмотрении передачи информации по каналам связи с шумами. В этом случае безызбыточное кодирование приведет к безвозвратным потерям информации: искаженный символ нельзя ни обнаружить, ни исправить. Для борьбы с влиянием помех необходимо ввести избыточность в сигнал. Основываясь на интуитивных соображениях (например, на опыте многократного повторения), легко прийти к выводу, что при неограниченном повышении требований к малости вероятности ошибки избыточность и при любом способе кодирования должна неограниченно возрастать, а скорость передачи - стремиться к нулю. Здесь мы имеем яркий пример того, как сильно интуиция может привести к заблуждению. Шеннон показал, что существуют такие способы введения избыточности, при которых обеспечиваются одновременно и сколь угодно малая вероятность ошибки, и конечная (отличная от нуля) скорость передачи информации, причем эта скорость может быть сколь угодно близкой к пропускной способности канала. Это замечательное открытие и привлекло столь большое внимание к теории информации.

Воспроизведем упрощенное доказательство указанного утверждения. Рассмотрим схему передачи по каналу с шумом. Будем считать, что на вход кодера сигналы поступают закодированными безызбыточно. Кодер вносит в сигналы избыточность, увеличивая длительность кодовых слов. Число возможных последовательностей сразу резко увеличивается, но избыточность и состоит в том, что к отправке предназначаются не все из них, а лишь разрешенные. Согласно фундаментальному свойству энтропии, число всевозможных последовательностей длины n равно 2nH(X) а число разрешенных к отправке равно 2nH<2nH(X) (считаем, что энтропия исчисляется в битах); H-энтропия на символ во множестве разрешенных к отправке последовательностей ("энтропия источника", или "скорость создания информации"), Н(Х)-энтропия на символ во множестве всевозможных последовательностей. В результате воздействия шумов какие-то из символов отправленной последовательности подменяются другими и на приемный конец поступает другая, отличная от отправленной, последовательность. Поскольку p(x|y) считается известным, каждой принятой последовательности соответствует 2nH(X|Y) возможно отправленных. Декодирование (т.е. принятие решения о том, какая последовательность была отправлена) можно выразить как разбиение всего множества К принимаемых последовательностей на 2nH подмножеств, сопоставляемых с разрешенными к отправке: если, например, принят сигнал i-й группы, то считается, что был послан i-й разрешенный сигнал, который тут же выдается в "чистом" виде получателю.

Итак, в построенной модели проблема выбора кода (способа передачи) состоит в размещении разрешенных последовательностей среди множества всевозможных на передающем конце и в разбиении этого множества из 2nH(X) последовательностей на 2nH подмножеств на приемном конце. Идея Шеннона состоит не в том, чтобы указать некоторый регулярный способ кодирования со сколь угодно малой вероятностью ошибки, а в том, чтобы показать, что такой код вообще существует. Рассмотрим класс всевозможных кодов, которые получаются, если разрешенные последовательности размещать среди всевозможных случайным образом, а в качестве декодирующего подмножества брать 2nH(X/Y) последовательностей высоковероятностной группы, соответствующей принятому сигналу.

Вероятность ошибки при этом равна вероятности того, что среди 2nH(X/Y) последовательностей окажется более одной разрешенной. Так как код получается в результате случайного (равновероятностного) выбора 2nH последовательностей среди 2nH(X), то вероятность того, что данная последовательность окажется разрешенной, равна 2nH/2nH(X)=2nH-nH(X). Средняя вероятность того, что в декодирующем подмножестве из 2nH(X/Y) последовательностей имеется только одна разрешенная, выразится соотношением P=(1-2n(H-H(X))2nH(X/Y)-1; это и есть вероятность безошибочного приема. Поскольку H<C=H(Х)-Н(Х|Y), имеем H(Х)-Н(Х)=-Н(Х|Y)-, где >0. Отсюда (пренебрегая единицей по сравнению с 2nH(X/Y) ) находим P=(1-2-n(H|Y)+)2nH(X/Y).

Логарифмируя и применяя правило Лопиталя, легко показать, что lim|n P=1, т.е. что при кодировании достаточно длинными блоками средняя вероятность ошибки может быть сделана сколь угодно малой. Доказательство завершается утверждением, что существуют коды с вероятностями ошибок меньше средней.