МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ___.___ ТАГАНРОГСКИЙ ГОСУДАРСТВЕННЫЙ РАДИОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ИНФОРМАЦИОННО-ИЗМЕРИТЕЛЬНОЙ ТЕХНИКИ Конспект лекций Часть II ТАГАНРОГ 2001 2 УДК 621.317 (075.8) Кавчук С.В. Теоретические основы информационно-измерительной техники: Конспект лекций. Часть II. Таганрог: Изд-во ТРТУ, 2001. 125с. Во второй части конспекта рассмотрены основы теории информации и теории кодирования. Излагаются основные понятия и расчетные соотношения для оценки информационных характеристик, эффективного кодирования и помехоустойчивого кодирования групповым и циклическим кодами. На структурном уровне приводятся примеры технического построения кодирующих и декодирующих устройств. Конспект предназначен для студентов специальностей: 072000 “Стандартизация и сертификация в промышленности”, 190304 “Приборы и комплексы экологического мониторинга” и 190900 “Информационно-измерительная техника и технологии”. Он может быть полезен в качестве учебного пособия для смежных специальностей, где изучаются вопросы получения, преобразования и передачи измерительной информации. Табл.10. Ил.90. Библиогр.: 14 назв. Рецензенты: А.А. Борисов, канд.техн.наук, ст. науч. сотр., гл. инженер Таганрогского НИИ связи. Н.И. Денисенко, канд.техн.наук, ведущий науч. сотр. Таганрогского НИИ связи. О.Е. Шведенко, канд.техн.наук, гл. конструктор опытно-производственной базы ТРТУ. Таганрогский государственный с радиотехнический университет, 2001 3 ПРЕДИСЛОВИЕ В учебный план специальностей: 072000 “Стандартизация и сертификация в промышленности”, 190300 “ Авиационные приборы и измерительновычислительные комплексы”, 190304 “Приборы и комплексы экологического мониторинга” и 190900 “Информационно-измерительная техника и технологии” входит курс “Теоретические основы информационно-измерительной техники”. Данный курс неоднократно читался для студентов специальностей 0642, 0720 и 1909. Полный материал лекций включает четыре раздела - теорию сигналов, теорию информации, теорию кодирования и технические приложения теории сигналов в задачах измерительной техники. Изучение курса поддерживается практическими и лабораторными занятиями. Основы теории сигналов составляют содержание первой части конспекта лекций. Вторая часть конспекта отражает второй и третий разделы лекционного курса. Она содержит основные понятия и расчетные соотношения для оценки информационных характеристик, эффективного кодирования и помехоустойчивого кодирования групповым и циклическим кодами. Четвертый раздел лекционного курса входит в третью часть конспекта лекций. В четвертом разделе рассматриваются основы аппаратурного определения числовых характеристик случайных сигналов и синтеза аналоговых фильтров. Изложение ведется в форме, справочно-прикладной для решения технических задач измерительной техники. На структурном уровне приводятся примеры технического построения измерительных систем и узлов. Содержание конспекта позволяет решать вопросы анализа и синтеза измерительных устройств и систем на уровне их системотехнического проектирования. Автор глубоко признателен коллективу кафедры АСНИиЭ ТРТУ за полезные методические замечания при формировании данного курса, которые способствовали его улучшению. 4 1. ОСНОВЫ ТЕОРИИ ИНФОРМАЦИИ 1.1. Общие понятия Один из основных вопросов теории информации выбор меры для количества информации. В настоящее время универсальной (всеобъемлющей) меры информации нет. Различают три вида информации: 1) синтаксическую смысл и ценность не учитывают; 2) семантическую учитывают в основном смысл сообщения; 3) прагматическую учитывают ценность и актуальность. Для каждого вида можно ввести меру информации. На данный момент разработана только оценка количества синтаксической информации. Здесь наиболее часто применяют две меры информации: 1) комбинаторная (мера Хартли); 2) статистическая (мера Шеннона). В их основе лежит понятие неопределенности. Можно говорить о неопределенности знаний, объекта познания, технической системы, какой-либо ситуации и т.д. Степень неопределенности может быть разной. Для ее оценки разработаны различные меры. Пусть H мера неопределенности. Различают: 1) неопределенность до опыта (априорная) H; 2) остаточная неопределенность после опыта (апостериорная) H0. Неопределенность Н>Н0, т.е. неопределенность наших знаний до опыта всегда больше после опытной неопределенности. Зная меру неопределенности, можно ввести меру для количества информации. На синтаксическом уровне количество информации I определяется как мера уменьшения неопределенности I=HH0. Если в результате опыта неопределенность снята полностью, то H0=0 и I=H, т.е. количество информации будет равно исходной неопределенности. Очевидно, чем больше неопределенность до опыта, тем больше количество получаемой информации. Это соответствует интуитивным представлениям об информации. 1.2. Комбинаторная мера информации Хартли Она введена для дискретных объектов. Пусть Х дискретная величина, которая может принимать N значений. Очевидно, чем больше N, тем труднее найти конкретное значение величины Х, например методом перебора. Поэтому 5 исходная неопределенность должна быть возрастающей функцией от числа N, т.е. H f ( N ) . Хартли предложил использовать логарифмическую функцию от N H=logaN, где a основание логарифма. В результате опыта находится конкретное значение величины Х и исходная неопределенность полностью снимается, т.е. H0=0. Тогда получаемое количество информации I=H=loga N мера Хартли. Логарифмическая функция для неопределенности и информации выбрана Хартли не случайно. Пусть X и Y две дискретные величины. H(X) и H(Y) их неопределенности. Составим объединение (X,Y). Логарифмическая мера Хартли удовлетворяет требованию аддитивности: H(X,Y) =H(X)+H(Y) или I(X,Y) =I(X)+I(Y), где (X,Y) совокупность или объединение двух независимых величин X и Y. Тем самым она удобна для описания сложных опытов. Покажем это на примере. Пусть X N x 2 x1 , x 2 X и Y независимые . Y N y 3 y1 , y 2 , y 3 Объединенный опыт одновременно определяем значения X и Y. Тогда (X, Y) x1y1, x1y2 , x1y3 , x 2 y1, x 2 y2 , x 2 y3 N xy 6 N x N y . возможны следующие сочетания Неопределенность объединенного опыта по Хартли H(X, Y) log a N xy log a N x N y log a N x log a N y H(X) H(Y) . Единица неопределенности и информации определяется выбором основания логарифма a. При a=2 она называется двоичной единицей информации (бит), при а=10 десятичной (дит), при а=е натуральной (нит). Мера Хартли удобна для оценки информационной емкости чисел, кодов и дискретных устройств. 1.3. Статистическая мера информации Шеннона Мера Шеннона это дальнейшее развитие меры Хартли. Она введена для дискретных вероятностных объектов и ситуаций. В математическом плане такие объекты можно всегда свести к модели дискретных случайных величин. Мера Шеннона учитывает зависимость неопределенности как от числа значений N случайной величины Х, так и от вероятностей появления этих значений. 6 В качестве меры априорной неопределенности здесь применяется специальная характеристика, называемая энтропией. 1.3.1. Энтропия дискретной случайной величины Пусть дискретная случайная величина X задана рядом распределения: X P(X) x1 P(x1) ... ... xi P(xi) ... ... xN P(xN) Условие нормировки будет N P( x ) 1, i 1 i где N число дискретных значений; P(xi) вероятность i-го значения. Вероятностная мера неопределенности или энтропия, введенная Шенноном, имеет вид N N 1 H( X) P(x i ) log a P(x i ) log a P(x i ), P( x i ) i 1 i 1 где log a (1.1) 1 H i мера неопределенности i-го значения; знак "" пониP( x i ) мается как наличие "беспорядка" для величины Х. Обычно основание логарифма а=2. В дальнейшем будем всегда иметь в виду двоичный логарифм. Тогда P(xi) Hi бит 0,5 1 1 0 0 N Формулу (1.1) можно записать так: H(X ) Pi H i M H i , i 1 т.е. энтропия случайной величины определяется как математическое ожидание неопределенностей ее значений. Таким образом, энтропия это средняя неопределенность одного любого значения случайной величины. Энтропия "n" значений последовательности "n" независимых опытов N H n ( X ) nH(X ) n P( x i )log 2 P( x i ) . i 1 Энтропия или средняя неопределенность i-го значения H(x i ) P( x i )log 2 P( x i ) . Формулу (1.1) можно записать в компактном виде 7 H(X)=M[-log2P(x)], где log2P(x) дискретная случайная величина, для которой i-е значение log2P(xi) имеет вероятность P(xi). Основные свойства энтропии: 1) Энтропия всегда положительна, H(X) 0 ; 2) Зависимость энтропии i-го значения от вероятности показана на рис.1.1. H(x i) При P(xi)=0,5 она максимальна. При P(xi)=0 и P(xi)=1 энтропия H(xi)=0, где P(xi)=0 - полная невозможность значения и P(xi)=1 - полная достоверность значения. 0.5 0 P(xi) 0.5 Рис.1.1 3) Энтропия максимальна, когда значения случайной величины равновероятны, т.е. P( x1 ) P( x 2 ) P( x N ) P 1 . N Тогда N H(X) i 1 1 1 log 2 log 2 N , N N где log 2 N мера Хартли. В этом случае статистическая мера Шеннона совпадает с комбинаторной мерой Хартли. Таким образом, 0 H(X) log 2 N , где log 2 N предельное значение. 4) Энтропия детерминированной величины равна нулю, так как для нее одна вероятность равна единице, а остальные нулю. Например, пусть Х детерминированная величина с двумя значениями x1 P1 1 и x 2 P2 0 ; P1+P2=1+0=1. достоверное значение невозможное значение Энтропия детерминированной величины H( X) ( p 1 log 2 p 1 p 2 log 2 p 2 ) (1 log 2 1 0 log 2 0) 0 бит. 8 1.3.2. Энтропия непрерывной случайной величины Пусть плотность вероятности p(x) имеет вид (рис.1.2): p(x) P(xi) X xi x Рис.1.2 Вероятность P( x i ) p(x i )x . Тогда энтропия будет равна: H( X) p(x i ) x log 2 [p(x i ) x ] p(x i )[log 2 p(x i )]x i i [log 2 x ] p( x i )x . i 1 При малых x имеем H(X) p(x)log 2 p(x)dx log 2 x p(x)dx , где p( x)dx 1. Величина x характеризует точность перехода от непрерывной к дискретной величине. При x 0 величина log 2 x и энтропия H(X) , т.е. энтропия непрерывной величины при неограниченной точности в принципе равна бесконечности. На практике точность всегда ограничена. Поэтому энтропию непрерывной величины можно выражать конечной величиной. Можно сравнивать энтропии при одинаковой точности x . Тогда второе слагаемое не нужно. Достаточно иметь величину H( X) p(x) log 2 p(x)dx . (1.2) Эту величину называют дифференциальной или относительной энтропией. Например, энтропия нормального распределения H н о р ( X) log 2 2e 2 , 9 энтропия равномерного распределения H р а в ( X) log 2 12 . При одинаe . 6 H но р ( X) H р ав ( X) на величину log 2 ковых дисперсиях При одинаковых дисперсиях распределений наибольшую энтропию имеет нормальное распределение. Это распределение наиболее информативно. 1.3.3. Энтропия системы дискретных величин Рассмотрим две дискретных случайных величины X и Y. Пусть величина Х характеризуется рядом распределения: x1 P(x1) x P(X) ... ... xi P(xi) ... ... xn P(xn) n Здесь: n число значений величины Х; P( x ) 1 (условие нормировки). i i 1 Для величины Y ряд распределения пусть имеет вид: y1 P(y1) Y P(Y) ... ... yj P(yj) ... ... ym P(ym) m Здесь: m число значений величины Y; P( y ) 1 . j j1 Объединим две эти величины. В результате получим систему (Х,Y) двух случайных величин. Система характеризуется матрицей двухмерного распределения P(X,Y): xi x1 ... xi ... xn P(x1,y1) ... P(x1,yj) P(x1,ym) ... ... ... ... P(xi,y1) ... P(xi,yj) P(xi,ym) ... ... P(xn,y1) ... P(xn,yj) P(xn,ym) yj y1 ... yj ym ... Число совместных значений системы N=mn; m P( x i , y j ) P( x i ) ; j1 n m n P( x , y ) P( y ) ; i 1 i j j P(x , y ) 1 (условие нормировки). i 1 j1 i j 10 Согласно (1.1) энтропия системы или средняя неопределенность в расчете на одно совместное значение будет n m H ( X, Y ) P(x i , y j ) log 2 P(x i , y j ) (1.3) i 1 j 1 или в форме математического ожидания H(X,Y) [ log 2 P( X,Y)] , где log2P(X,Y) случайная величина, принимающая значения согласно матрице распределения. Рассмотрим два случая. Случай А. Величины X и Y независимы. По теореме умножения вероятностей для независимых событий P ( X, Y ) P ( X ) P ( Y ) . Отсюда следует log 2 P( X,Y) log 2 P( X) log 2 P(Y) . Энтропия системы независимых величин ( X) (Y) H H H(X,Y) [ log 2 P( X) log 2 P(Y) [ log 2 P( X)] [ log 2 P(Y)] или H(X,Y)=H(X)+H(Y), т.е. при объединении независимых величин их энтропии складываются. В общем случае n H(x1 , x 2 ,..., x r ) H(X k ) . k 1 Таким образом, энтропия Шеннона (1.1) обладает свойством аддитивности. Этот же результат можно получить из формулы (1.3) при замене P ( x , y ) P( x ) P( y ) . i j i j Случай Б. Величины X и Y зависимы. По теореме умножение вероятностей для зависимых событий имеем P ( X, Y ) P ( X ) P(Y / X ) условная вероятность P(Y) P(X / Y) . условная вероятность Отсюда следует log 2 P( X,Y) log 2 P( X) log 2 P( X / Y) . Энтропия системы зависимых величин H(X,Y) [ log 2 P( X) log 2 p(Y / X)] H(X) H(Y / X) или 11 H(X, Y) H(Y) H(X/Y) , где H(X) безусловная энтропия величины Х; H(Y) безусловная энтропия величины Y; H(Y/X) условная энтропия величины Y относительно величины Х; H(X/Y) условная энтропия величины X относительно Y. Для независимых величин H(X/Y)=H(X) и H(Y/X)=H(Y). Это предельный случай. В общем случае справедливы неравенства H(X) H(X / Y) и H(Y) H(Y / X) . H(X) H(Y / X) H(X) H(Y) , Отсюда следует т.е. энтропия системы зависимых величин всегда меньше энтропии системы независимых величин. Рассмотрим трактовку условной энтропии. Для этого введем схему опыта (рис.1.3). Прямое наблюдение величины X невозможно. Однако изменение величины Х проявляется в виде изменений величины Y, т.е. имеет место отражение X на Y. Величину Y можно наблюдать. Зная в результате опыта величину Y, можно судить о величине X. Это суждение возможно, если X и Y зависимы. Очевидно, если они независимы, то наблюдение Y ничего не дает о величине X. К этой модели можно свести мноРис.1.3 гие технические задачи. Таким образом, условная энтропия H(X/Y) это остаточная средняя неопределенность величины X после снятия средней неопределенности величины Y в расчете на одно совместное значение величины X и величины Y. Найдем формулу для расчета условной энтропии X Y H ( X, Y ) H ( Y ) H ( X / Y ) P(x , y ) log i i j 2 P(x , y ) log P( x i , y j ) j i i j 2 P( y j ) P ( x i / y j ) j P( x i , y j ) log 2 P( y j ) P( x i , y j ) log 2 P( x i / y j ) . H(Y) H(X / Y) доказательство H(Y): H ( Y ) log 2 P( y j ) P(x i , y j ) P( y j ) log 2 P( y j ) H(Y). j j P( y j ) Таким образом, условная энтропия X относительно Y 12 H( X / Y) P(x i , y j ) log 2 P(x i / y j ) M [ log 2 P( X / Y)] . (1.4) i X j Y Для схемы опыта на рис.1.4 условная энтропия Y относительно X H(Y / X) P( x i , y j ) log 2 P( y j / x i ) . i j Иногда представляет интерес вопрос какова средняя неопределенность величины X, если величина Y приняла конкретное значение yi. Рис.1.4 Ответ дает условная энтропия H(X/yj) величины X относительно значения yi величины Y. Очевидна следующая связь H ( X / Y ) P( y j ) H ( X / y j ) . j Представим выражение (1.4) в подобной форме: H(X / Y) P( y j )P(x i / y j ) log 2 P(x i / y j ) P( y j ) P(x i / y j ) log 2 P(x i / y j ) . i j j i H(X / y j ) Отсюда следует H (X / y j ) X Y детерминированная связь n P( x i 1 i / y j ) log 2 p( x i / y j ) . Условная энтропия H(X/Y)=0, когда X и Y имеют жесткую детерминированную связь (рис.1.5).Тогда H(X,Y)=H(X)=H(Y), т.е. наблюдение одной из величин полностью характеризует систему. Рис.1.5 1.3.4. Оценка количества информации по Шеннону В общем случае количество информации это уменьшение неопределенности I=H-H0. При вероятностном подходе неопределенность в среднем оценивается энтропией. Отсюда следует, что количество информации по Шеннону это уменьшение энтропии после опыта или другого какого-нибудь действия. Опыт A Исследуем (рис.1.6) величину X. Наблюдение непосредственное без мешающих факторов. После исследования неопределенность снимается полностью, т.е. H0=0. Тогда количество информации равно энтропии: 13 X Рис.1.6 I(X)=H(X)=M[-log2P(X)]=M[Hi] это средняя или полная информация, получаемая от всех возможных значений X в расчете на одно значение. Частная информация, получаемая от отдельного значения xiIi=Hi=-logp(xi). Тогда полная информация I(X)=M[Ii]. Опыт B Исследуем (рис.1.7) величину X путем наблюдения величины Y. Вопрос какое количество информации о X дает наблюдение Y? Ее оценивают уменьшением энтросвязь пии величины X в результате получения вероятностная сведений о Y. Неопределенность до опыта энтропия H(X). Неопределенность после опыта условная энтропия H(X/Y). Отсюда следует Рис.1.7 I(YX)=H(X)-H(X/Y), (1.5) где I(YX) полное количество информации о X, содержащейся в Y. Опыт C X Исследуем (рис.1.8) величину Y путем наблюдения величины X. В этом случае I(XY)=H(X)-H(X/Y), где I(XY) полное количество информации о Y, содержащейся в X. Y X Y Рис.1.8 Сравнение B и C Оно показывает, что справедливо равенство I(XY)=I(YX)=I(YX), где I(YX) полная взаимная информация, содержащаяся в X и Y. 14 Для независимых X и Y полная взаимная информация I(YX)=0. При детерминированной связи X и Y имеем I(YX)=I(X)=I(Y)=H(X)=H(Y). Формулу (1.5) можно представить в другом виде. Так как H(X/Y)=H(X,Y)-H(Y), то I(YX)=H(X)+H(Y)-H(X,Y), (1.6) т.е. полная взаимная информация двух величин равна сумме их энтропий минус энтропия объединенной системы. Так как H(X)=M[-log2P(X)]; H(Y)=M[-log2P(Y)] и H(X,Y)=M[-log2P(X,Y)], то на основании (1.6) имеем I(YX)=M[-log2P(X)-log2P(Y)+log2P(X,Y)] или в другой форме P ( X, Y ) I(Y X ) M log 2 . P( X ) P(Y ) Отсюда следует n P(x i , y j ) m I(X Y) P(x i , y j )log 2 i 1 j1 P(x i )P(y j ) . (VI ) (1.7) Опыт D X yj Рис.1.9 Найдем (рис.1.9) частную информацию о величине X, которую дает отдельное значение yi величины Y. Обозначим эту информацию как I(yiX). Очевидно, полная (или средняя) информация I(YX) должна представлять собой математическое ожидание частной информации, т.е. m I(Y X) P( y j )I( y j X) . j1 Представим формулу (1.7) в подобном виде I(Y X) P(x i , y j ) log 2 i j P( x i , y j ) P( x i ) P( y j ) P( y j )P(x i / y j ) log 2 i j P( x i / y j ) P( y j ) P( x i / y j ) log 2 . P( x i ) j i I ( y j X ) Таким образом, частная информация о X в значении yi P( y j )P( x i / y j ) P( x i ) P( y j ) 15 n P( x i , y j ) i 1 P( x i ) I( y j X) P( x i / y j ) log 2 или, учитывая равенство P( x i / y j ) P( x i , y j ) P( y j ) n P(x i , y j ) i 1 P(y j ) I(y j X) log 2 (VIIa ) (1.8) , P(x i , y j ) P(x i )P(y i ) . (VII ) (1.9) Опыт E Найдем (рис.1.10) частную информацию о значении xi величины X, которую дает значение yi величины Y. x yj i n I( y j X ) P ( x i / y j ) I( y j X ) . i 1 Отсюда следует частная информация о значении xi в значении yj I(y j x i ) log 2 P(x i , y j ) P(x i )P(y j ) Рис.1.10 log 2 P(x i /y j ) P(x i ) . Таким образом, различают 4 вида информации: 1) полная информация о величине X при непосредственном ее наблюдении I(X)=H(X)0; 2) полная информация о величине X, содержащаяся в величине Y I(Y X) I(Y X) 0 ; полная взаимная информация 3) частная информация о величине чины Y X, содержащаяся в значении yi вели- I(yiX)0; 4) частная информация о значении xi величины X, содержащаяся в значении yi величины Y I( y j x i ) I( y j x i ) , 0 , где I(yjxi) частная взаимная информация двух значений, которая может быть как положительной, так и отрицательной величиной. 16 Пример. Фигура на шахматной доске установлена произвольным образом. Найдем информацию в сообщении фигура находится в такой-то клетке. Шахматная доска X имеет N=64 клетки. В каждой из них с равной вероятностью может быть фигура, т.е. p(x1)=p(xi)=p(xN)=1/N. Тогда I(X)=H(X)=log2N=log264=6 [бит]. 1.4. Примеры информационных моделей в технике 1) X источник дискретных сообщений или источник дискретной информации; xi i-е сообщение; P (xi) вероятность i-го сообщения; X I(X) - полная или средняя информация на одно сообщение; Ii частная информация в одном i-м сообщении. 2) X цифровой вероятностный автомат; xi i-е состояние автомата; P (xi) вероятность i-го состояния; X Ii информация в ответе автомат находится в i-м состоянии; I(X) количество информации в среднем на один ответ. 3) X КС Y X источник дискретных сообщений; Y приемник дискретных сообщений. помехи На канал связи КС действуют помехи. Поэтому связь между источником и приемником вероятностная. Когда помех нет связь детерминированная. В случае помех: передаем xi принимаем yi. Вероятность этого события P(xi,yi). Для данной модели имеем: I(YX) количество информации в приемнике об источнике в среднем на одно сообщение; 17 I(yiX) количество информации в сообщении yi приемника об источнике в целом; I(yixi) количество информации в сообщении yi приемника о сообщении xi источника. 4) X источник независимых символов или букв; x i in1 алфавит источника; P(xi) вероятность появления i-й буквы; X I(X)=H(X) количество информации в среднем на одну букву; In(X)=Hn(X)=nH(X) количество информации в среднем на одно слово из "n" букв. 5) X X источник аналоговой информации (аналоговый объект измерения). Y измерительный прибор с погрешностью измерения = x /2. Y Энтропия до опыта зависит от распределения аналоговой случайной величины X (рис.1.11). Пусть погрешность имеет равномерный закон распределения (рис.1.12). Остаточная энтропия после опыта зависит от распределения случайной погрешности (рис.1.13, где x1 результат измерения). P( ) p(x) 1 x X Рис.1.11 x 2 x 2 Рис.1.12 18 p(x) P( ) В результате количество информации в среднем на одно измерение 1 x I H ( X ) H ( ) p(x) log 2 p(x)dx X x1 0 x1 x 2 x1 p( ) log 2 p( )d . x 2 Рис.1.13 6) X КС ИП X измеряемая величина. XИ истинное значение. XР результат измерения. Xp Из-за наличия случайной погрешности измерения вместо истинного значения XИ имеем результат измерения XР. Случайная погрешность несет дезинформацию. Ее величину можно оценить энтропийным значением погрешности. Рассмотрим две ситуации измерения произвольную (рис.1.14) и эталонную (рис.1.15). Эталонная ситуация измерения Произвольная ситуация измерения p2(xи/xр) распределе- p(x) ние погрешности ление измеряемой величины Xр пределение погрешности 2 p1(x) распреде- 0 p2эт(xи/xр) эталонное рас- p(x) p1эт(x) эталонное распределение измеряемой величины 1/2 x X1 Xр X2 x Рис .1.14 Рис.1.15 В общем случае (рис.1.14) распределение погрешности определяется условной плотностью вероятности p2(xи/xр). Это значит, что закон распределения погрешности зависит от результата измерения Xр. Другими словами, каждая точка Xр диапазона измерения может иметь свое распределение погрешности, отличное от других. На рис.1.15 как измеряемая величина, так и погрешность имеют равномерный закон распределения. Измеряемая величина с равной вероятностью может 19 находиться в любой точке диапазона измерения D=X2-X1. Так как распределение погрешности ограничено, то ее предельная величина max=. Количество информации на одно измерение I H( X) H( X И / X Р ) , где H(X) энтропия до измерения; H(XИ/XР) энтропия истинного значения при условии получения результата XР, причем H ( X И / X P ) p 2 (x И / x P ) log 2 p 2 (x И / x Р )dx И H ( X ) p 1 (x) log a p 1 (x)dx; дифференциальные или относительные энтропии Для эталонной ситуации количество получаемой информации о X I эт H эт (X) H эт ( x н / x p ) x2 Xp 1 1 1 1 log a ( )dx log a dx н x x1 x 2 x1 2 2 x1 2 Xp log a ( 1 1 ) log a log a ( x 2 x1 ) log a 2 . x 2 x1 2 Обычно реальная ситуация отличается от эталонной только произвольным видом плотности вероятности p2(xИ/xp), а распределение p1(x) принимается равномерным. Таким образом, для реальной ситуации с произвольным распределением погрешности количество информации будет I=Hэт(X)-H(Xи/Xp)=loga(X2-X1)-H(Xи/Xp). Энтропийное значение погрешности э это предельное значение погрешности с равномерным (эталонным) ее распределением, которое эквивалентно реальной погрешности с произвольным распределением с точки зрения потерь информации. Тем самым произвольное распределение погрешности заменяется при условии равенства потерь информации эталонным, для которого можно указать предельное значение погрешности max=э. В случае неограниченных распределений погрешности данный информационный подход позволяет нормировать погрешность средства измерения такой метрологической характеристикой как энтропийное значение погрешности. При этом предельная погрешность max=э будет не так завышена, как ее оценка по критерию “трех сигм”. Величину э можно найти из условия равенства количества информации в реальной и эталонной ситуации 20 I=Iэтloga(X2-X1)-loga2э=loga(X2-X1)-H(Xи/Xp). 1 H(x / x ) Отсюда э a и p , где H(XИ/XР) энтропия реальной погрешности. 2 Если реальная погрешность статистически не зависит от измеряемой величины X, то p2(xи/xp)=p() и H( X И / X Р ) p( ) log 2 p( )d , где p() безусловный закон распределения погрешности. Энтропийное значение погрешности э позволяет сравнивать погрешности с различными законами распределения с точки зрения потерь информации. На практике удобно пользоваться энтропийным коэффициентом KЭ Э , где среднеквадратическое отклонение закона распределения погрешности, имеющего энтропийное значение погрешности э. Максимальный коэффициент имеет нормальное распределение KЭнор=2,066. Поэтому погрешность с нормальным распределением обладает максимальным дезинформационным эффектом. Наименьшее значение KЭ=1,11 имеет арксинусоидальное распределение. 1.5. Избыточность и производительность источника информации Избыточность источника оценивается коэффициентом избыточности R H max H(X) H(X) 1 H max H max или, так как I(X)=H(X), R 1 I( X ) , I max I( X ) показывает степень насыщенности сообщения информаI max цией; Imax=Hmax=log2N. Коэффициент избыточности R показывает степень недоиспользования где отношение источника. 21 H( X) H max в общем случае 0 R 1 . H( X) 0 Чем больше избыточность R, тем хуже степень использования источника R 0, если R 1, если в смысле выдаваемой им информации. Производительность источника это количество информации в сообщении за одну секунду, I( X ) ~ I (X) x I( X ) , x где x средняя длительность одного сообщения; x средняя скорость создания сообщения источником, x =1 x . Единица измерения производительности бит/с. 1.6. Пропускная способность канала связи 1.6.1. Основные понятия Модель передачи информации показана на рис. 1.16. Количество информации в приемнике об источнике в среднем на одно сообщение X КС Y помехи I(YX)=H(X)-H(X/Y). Рис.1.16 Скорость передачи информации по каналу это количество информации на выходе за одну секунду, ~ I ( Y X ) k I( Y X ) , где k 1 средняя скорость передачи сообщения по каналу; k средk няя длительность сообщения в канале связи. Скорость k зависит от технических свойств канала. Количество ин- формации I(YX) зависит как от свойств источника сообщений, так и от свойств помех в канале связи. Важнейшая характеристика канала это пропускная способность. Она определяется как максимально возможная скорость передачи информации по каналу связи, а именно ~ C k max I (Y X) [дв.ед./с] или [бит/c], 22 ~ где max I ( Y X ) эта величина уже не зависит от источника, а зависит только от свойств помех в канале. 1.6.2. Пропускная способность дискретного канала без помех Здесь источник сообщений X и приемник Y имеют жесткую детерминированную связь. Поэтому среднее количество информации в приемнике об источнике I(YX)=I(X)=I(Y)=H(X)=H(Y). Максимальное количество этой информации будет при максимальной энтропии источника (когда сообщения равновероятны) max{I(YX)}=max{H(X)}=Hmax=log2N, где N число сообщений источника. Таким образом, пропускная способность дискретного канала без помех C k log 2 N [ бит/с]. Теорема №1 Шеннона о кодировании. Пусть источник имеет энтропию H(X), а канал пропускную способность C. Тогда сообщения всегда можно закодировать так, чтобы скорость их передачи k была близка к максимальной k max Для случая k k max C . H( X) не существует способа кодирования. ~ Следствие из теоремы Шеннона. Если I ( X ) C , то при любом кодировании передача сообщений без искажений и задержек невозможна. ~ Если I ( X ) C , то сообщение всегда можно закодировать так, что его можно передавать без задержек и искажений с вероятностью, близкой к единице. 1.6.3. Пропускная способность дискретного канала с помехами Дискретный канал с помехами характеризуется матрицей условных вероятностей(канальная матрица) 23 P ( x 1 / y1 ) ... P( x 1 / y j ) ... P( x 1 / y m ) ... P( x i / y1 ) ... ... ... P( x i / y j ) ... ... ... P( x i / y m ) ... ... ... ... ... где P(xi/yj) вероятность передачи сообщения xi n P( x щения yj.Условие нормировки i 1 i P ( x n / y1 ) ... P( x n / y j ) , ... P( x n / y m ) при условии приема сооб- / y j) 1. Источник дискретных сообщений характеризуется вероятностями P(xi), i=1,2,...,n. Приемник дискретных сообщений вероятностями P(yj), j=1,2,...,m. Среднее количество информации на одно сообщение на выходе приемника I(Y X) P( x i , y j ) log 2 i j P( x i , y j ) P( x i ) P( y j ) P( x i / y j ) . P( y j ) P( x i / y j ) log 2 P( x i ) j i I ( y j X ) Пропускная способность канала связи ~ C k max I (Y X) [бит/c]. Максимум здесь ищется по всем возможным распределениям вероятностей P(X) и P(Y). Найдем пропускную способность двоичного симметричного канала связи. Модель канала имеет вид (рис.1.17): Неискаженная передача 1-p0 x1“0” Передаваемый сигнал x2“1” y1“0” Искаж. p0 p0 Искаж. 1-p0 Неискаженная передача Рис.1.17 Принимаемый сигнал y2“1” 24 Пусть вероятность искажения или ошибки равна p0. Тогда вероятность правильной передачи (1-p0). Матрица условных вероятностей P(X/Y) будет P( x 1 / y 1 ) P( x 2 / y 1 ) . P( x 1 / y 2 ) P( x 2 / y 2 ) Так как P(x2/y1)=P(x1/y2)=p0 ( такой канал называется симметричным), то канальная матрица двоичного симметричного канала примет вид (1 p 0 ) p 0 P( X / Y ) (1 p 0 ) p0 . Для несимметричного канала P(x2/y1)P(x1/y2). Условная энтропия Н( X / Y) 2 j 1 2 P( y j ) P(x / y ) log i j 2 P( x i / y j ) i 1 P( y1 )(1 p 0 ) log 2 (1 p 0 ) p 0 log 2 p 0 P( y 2 )p 0 log 2 p 0 (1 p 0 ) log 2 (1 p 0 ) P( y1 ) P( y 2 )p 0 log 2 p 0 (1 p 0 ) log 2 (1 p 0 ) . 1 Таким образом, H(X/Y)= -[p0log2p0+(1-p0)log2(1-p0)], т.е. зависит только от канала, а именно от вероятности ошибки p0. Среднее количество информации на выходе приемника в расчете на одно сообщение I(YX)=H(X)-H(X/Y) будет максимально, когда H(X)=Hmax и H(X/Y)0. Энтропия H(X)=Hmax, когда P(x1)=P(x2)=0,5 и равна Hmax=log22. Таким образом, max{I(YX)=log22+p0log2p0+(1-p0)log2(1-p0). Отсюда имеем пропускную способность двоичного симметричного канала С k log 2 2 p 0 log 2 p 0 (1 p 0 ) log 2 (1 p 0 ) . При отсутствии помех p0 = 0 и C C max k log 2 2 . При p0 =1 также будет детерминированный случай и пропускная способность максимальна, т.е. C C max k log 2 2 . Пропускная способность минимальна при p0 =1/2 и будет Cmin k 1 0,5log 2 0,5 o,5log 2 0,5 k 1 0,5 0,5 0 [бит]. 1 1 25 Теорема №2 Шеннона о кодировании для дискретного канала с помехами. Если источник имеет энтропию H(X), а канал связи пропускную способность C, то 1) сообщение источника всегда можно закодировать так, что скорость их передачи k будет близка к величине k max C , H( X) а вероятность ошибки будет меньше заданной величины; 2) не существует метода кодирования, который позволяет вести передачу со скоростью k k max и малой вероятностью ошибки. Следствие из теоремы. Другими словами теорема Шеннона говорит: ес- ~ ли производительность источника I (X ) x H ( X ) C , то может быть подобран специальный код, позволяющий передавать информацию со сколь ~ угодно малой вероятностью ошибки. При I (X) C такого кода не существует. Теорема не дает ответа, как выбрать этот код. Она позволяет, зная пропускную способность канала C, оценивать эффективность применяемых методов кодирования в данной системе передачи информации путем сравнения k и k max . 1.6.4. Пропускная способность непрерывного канала с помехами Для непрерывного канала с помехами пропускная способность определяется выражением C k max{ I(Y X)} f k log 2 (1 Pxk ), P где I(Y X) H(X) H() ; H () энтропия помехи; fk граничная частота пропускания канала; Pxk средняя мощность сигнала, допускаемая в канале; P средняя мощность помехи в канале. Модель аналогового сигнала нормальный случайный процесс с дисперсией 2xk Pxk . Модель помехи аддитивный белый шум с нормальным распределением и дисперсией 2 P . 26 Максимальное количество информации, которое можно передать по каналу связи за время Tk, I m Tk C Tk f k log 2 (1 При Pxk 1 имеем P Pxk ). P P I m Tk f k log 2 xk Tk f k L k Vk . P Lk Произведение Vk=TkfkLk называется объемом или емкостью канала. Аналогичным образом определяется объем сигнала Vc Tc f c L c Tc f c log 2 Px , P где Tc длительность сигнала; fc граничная частота среза спектра сигнала; Px средняя мощность сигнала; P средняя мощность помехи в канале. Для передачи сигнала по каналу необходимо Tc Tk; fc fk; Lc Lk. Это достаточные условия. Тогда VcVk, т.е. сигнал полностью уместится в объеме Vk. 1.7. Эффективное кодирование Идея эффективного двоичного кодирования основывается на теореме Шеннона о кодировании для дискретных каналов без помех. Согласно этой теореме путем кодирования скорость передачи можно сделать максимальной k max C . H( X) Для этого нужно статистически согласовать источник и канал. Зная статистические свойства источника, можно минимизировать среднее число двоичных символов на одно сообщение. Это достигается так наиболее вероятные сообщения кодируются более короткими кодовыми комбинациями, а менее вероятные более длинными. Пусть X источник независимых сообщений xi, i=1,2,..., n с энтропией H(X). Для передачи сообщений имеется двоичный канал с пропускной способностью C k H max , где k 1 0 и H max log 2 2 1 [бит], 0 длительность двоичного символа. Отсюда имеем пропускную способность C 1 0 [бит/с]. 27 Каждое сообщение кодируем двоичным кодом. Средняя длительность кодовой комбинации n x 0 cp 0 p i ( x i ) , i 1 где ( x i ) число кодовых символов для i-го сообщение xi; pi вероятность этого сообщения. Тогда производительность источника после кодирования I( X ) H)( X ) ~ I ( X) . x x ~ Источник будет согласован с двоичным каналом, когда I ( X ) C . Отсюда следует H( X) x 1 H( X) 1 или . 0 0 cp 0 В случае эффективного кодирования имеем cp H(X) и k max 1 0 cp . Код, обеспечивающий это равенство, имеет наибольшую эффективность. В общем случае cp H ( X ) . Равенство имеет место, когда вероятности pi= 1/2i, т.е. равны целочисленным отрицательным степеням двойки. Методика построения эффективного кода разработана Шенноном и Фано. Этот код называется кодом Шеннона Фано. Пример 1. Дан источник 4-х сообщений с рядом распределения: X P(X) x1 1/2 x2 1/4 x3 1/8 x4 1/8 Пусть имеется канал с пропускной способностью C=1400 [бит/с] или [дв.ед./c]. Энтропия источника 1 1 1 1 1 1 1 14 1 [бит/сообщ.]. H( X) log 2 log 2 log 2 log 2 2 2 4 4 8 8 8 8 8 Возможная скорость передачи по каналу k max C 8 1400 800 [сообщ./с]. H( X) 14 Закодируем сообщения простым двоичным кодом: X Код x1 00 x2 01 x3 10 Такой код будет передаваться по каналу со скоростью x4 11 28 k 1400 бит/c =700 сообщ. . с 2 бит/сообщ. Данный код неоптимален, так как не использует полностью возможности канала. Построим код Шеннона Фано. Составим таблицу кодирования (см. табл.1.1). Таблица 1.1 Группа разбиения Код xi P(xi) ( x i ) I II III 1/2 1 1 1 x1 1/4 0 1 01 2 x2 1/8 0 0 1 001 3 x3 1/8 0 0 0 000 3 x4 Среднее число двоичных символов в комбинации 1 2 3 3 14 [дв.ед./сообщ.]. 2 4 8 8 8 Для данного кода имеем cp H ( X ) . При этом длительность двоичного cp символа 0 1 [ с/дв.ед.] и составит 1/1400 [с/дв.ед.]. Средняя длительность С кодовой комбинации x 0 cp cp C . Эффективный код будет передаваться по каналу со скоростью 1 C 1400 бит/c сообщ. = 800 = k бит/сообщ. с 14 x cp k max . 8 Если вероятности pi1/2i, i=1,2,..., то эффективность кода Шеннона Фано падает [ cp H ( X ) ]. Для увеличения эффективности следует переходить к кодированию нескольких сообщений одной комбинацией, т.е. к блочному кодированию. Чем длинней блок, тем больше будет эффект. Однако блочное кодирование приводит к задержке в передаче информации. Недостаток эффективного кодирования разная длина комбинаций. Отсюда трудность декодирования, неравномерность появления символов на выходе кодера. Линия связи (ЛС) используется эффективно при равномерной передаче символов. Поэтому между кодером и ЛС целесообразно ставить буферное запоминающее устройство БЗУ. Это тоже недостаток. 29 Кроме методики Шеннона Фано разработана еще методика Хаффмена. В отличие от первой она обеспечивает однозначное построение кода. Рассмотрим методику Хаффмена. Здесь сообщения выписываются в основной столбец в порядке убывания их вероятностей (см. пример 2). Два последних сообщения объединяются в одно вспомогательное. Ему приписывается суммарная вероятность. Вероятности снова располагаются в порядке их убывания в дополнительном столбце, где две последние объединяются. Процесс продолжается до получения вспомогательного столбца с вероятностью, равной единице. Пример 2. Выполним эффективное кодирование по методике Хаффмена (табл.1.2). Таблица 1.2 Сооб- ВероятВспомогательные столбцы щения ности 1 2 3 4 5 x1 0,22 0,26 0,32 0,42 0,58 1 x2 0,20 0,22 0,26 0,32 0,42 x3 0,16 0,20 0,22 0,26 x4 0,16 0,16 0,20 x5 0,16 0,16 x6 0,10 Согласно этой таблице для наглядности строится кодовое дерево (рис.1.18) в виде графа. При движении из вершины дерева P =1 ребрам графа присваиваются соответствующие вероятности и кодовые символы, например “1” при выходе из узла влево и “0”при выходе из узла вправо. P=1 0,58 0 1 0,32 1 0,16 x3 0,22 1 0,26 x 1 0 0,10 0,16 0,16 1 1 0 x4 0,42 0 x5 Рис.1.18 x6 0,20 0 x2 Движение по кодовому дереву сверху вниз дает кодовую комбинацию для каждого сообщения: x1 01 x2 00 x3 111 x4 110 x5 101 x6 100 30 2. ОСНОВЫ ТЕОРИИ КОДИРОВАНИЯ 2.1. Системы счисления Они служат для представления чисел и характеризуются: 1) алфавитом или набором используемых символов a j r 1 j 0 , в качестве символов обычно применяют цифровые знаки 0,1,2 и т.д.; 2) основанием системы счисления p, которое равно числу символов в алфавите, т.е. p = r . Простейшей системой счисления является единичная. Здесь p = 1, a = 1 . Число изображается повторением единственного символа ”1”, определенное число раз. Например, 5 11111 . Единичная система неудобна и является непозиционной вес или числовое значение символа не зависит от его положения в числе. Наибольшее применение нашли позиционные системы счисления. В этих системах каждый символ в записи числа имеет определенный вес. Этот вес зависит от положения символа в записи числа. В общем случае в позиционной системе счисления любое целое число А можно представить так A a m1 p m1 a m 2 p p2 m1 ... a 1 p a 0 p a i p i , 1 0 i0 p основание системы; a символы из алфавита системы счисления; m m количество разрядов. Диапазон представимых чисел D A [0, p ] ; сокращенная запись числа А = (а m -1 ...a1a 0 ). где Общепринята и широко применяется для индикации и регистрации результатов десятичная система счисления: p = 10, a j [0,1,2,3,4,5,6,7,8,9]; A = 7610 = 7 101 6 100. В ЭВМ и преобразователях информации обычно применяется двоичная система счисления p 2, a i [0,1]. Ее достоинства: простота выполнения арифметических и логических операций, простота технической реализации элементы с двумя устойчивыми состояниями. Недостатки: неудобна для восприятия человеком, запись чисел громоздкая. 31 Кроме двоичной, в технике получили применение восьмеричная система счисления (p = 8) и двоично-десятичная. Они легко сводятся к двоичной, но дают более компактную запись. В двоично-десятичной системе счисления целое число записывается в следующем виде: A m a 10 i i 1 , где a i i 1 4 b 2 j 1 j j 1 b1 1 b2 2 b3 4 b4 8 b1R1 b 2 R 2 b 3 R 3 b 4 R 4 . R1 R2 R3 R4 Здесь: {ai} десятичный алфавит; {bj} двоичный алфавит; {Rj} весовые коэффициенты, например 8-4-2-1; 2-4-2-1; 5-1-2-1; 4-2-2-1. В названных системах цифры алфавита получают последовательно путем деления на основание p по алгоритму: A A1p a 0 ; А делится на р, при этом A1 и A p остаток частное A А1 делится на р, при этом 1 A 2 и А 1 - А 2 p = a 1 ; p .................................................................................................... Аj-1 делится на р, при этом A j-1 Aj p и А j-1 - А jр = а j-1 , j = 0,1,..., m - 1. Здесь результат предшествующего этапа участвует на следующем этапе. Это отражает присущую позиционным системам счисления зависимость между разрядами числа. Это приводит к необходимости учета переносов из младших разрядов в соседние старшие. Зависимость разрядов усложняет аппаратурную реализацию арифметических операций и ограничивает быстродействие. Поиски новых путей построения арифметических устройств за счет устранения межразрядных связей привели к разработке на основании теории вычетов системы счисления в остаточных классах СОК. 32 2.2. Понятие кода и кодирования Код - это система соответствия между сообщениями и кодовыми комбинациями. Кодовая комбинация (КК) это последовательность символов. Набор используемых символов - это алфавит кода. Число символов в алфавите это основание кода (В). Число символов в кодовой комбинации это ее длина или значность. Коды с постоянной длиной кодовых комбинаций называются равномерными. Основание является одним из основных параметров кода. Наибольшее распространение получили цифровые коды. Основу цифрового кода составляет определенная система счисления. В цифровом коде основание кода В соответствует основанию системы счисления В = р , длина кодовой комбинации разряду числа ( = m ), алфавит кода алфавиту системы счисления. Вид кодовой комбинации в простейшем случае соответствует сокращенной записи числа, т.е. номера сообщения. Наибольшее применение нашла двоичная система счисления и основанные на ней двоичные коды. Здесь B 2 ; a i [ 0,1] . Полное число комбинаций длины m для равномерного кода с основанием В будет N = Bm . Кодирование это операция представления сообщений кодом. Пусть имеется М сообщений. Если M = N , то все комбинации будут использованы. Если M < N , то часть кодовых комбинаций не используется. Код, для которого B < M B , называется простым или первичным кодом. Такой код практически не содержит избыточности и обладает большой ”чувствительностью” к помехам. Например, пусть передается четыре сообщения (M=4) a,b,c и d. Закодируем их простым 2-х разрядным двоичным кодом (табл.2.1). Здесь кодовые комбинации в худшем случае отличаются только в одном разряде. Достаточно принять ошибочно Таблица 2.1 один символ, чтобы вместо переданной комби№ Сообщение Код нации получить в приемнике совсем другую 1 a 00 комбинацию. В результате будет неправильное декодирование сообщения. Например, пусть 2 b 01 3 c 10 передается сообщение a код 00. 4 d 11 За счет действия помех в линии связи на приемной стороне получают код 01 сообщение b .Тем самым при декодировании в приемнике формируется сообщение b вместо переданного сообщения a. m-1 m 33 2.3. Помехоустойчивый прием двоичных сигналов 2.3.1. Основные понятия Повышение помехоустойчивости - одна из важных задач при передаче информации. Увеличение помехоустойчивости связано с введением избыточности и требует дополнительных затрат. Различают следующие меры повышения помехоустойчивости: 1) увеличение мощности сигнала; 2) применение избыточного кодирования; 3) применение помехоустойчивых видов модуляции(например, КИМ); 4) передача информации с обратной связью (например, повторная передача по запросу приемной стороны). Для решения задачи помехоустойчивого приема используются: а) избыточность; б) сведения о свойствах и характеристиках сигнала и канала связи. Рассмотрим модель приема двоичных сигналов (рис.2.1). y0“0” из ЛС z(t)=a(t)+(t) y(t)=u(t)+(t) Фильтрующее Решающее y устройство устройство y Pu P z Pa P y1“1” Рис.2.1 Пусть передается двоичный сигнал u ( t ) , принимающий два значения: u 0 (t ) код “0” и u 1 (t ) код”1”. В линии связи ЛС на него накладывается случайная помеха ( t ) . Обычно модель помехи “белый” шум. В результате принимается смесь сигнала и помехи, т.е. искаженный сигнал y(t ) u(t ) (t ) , где u(t) полезная составляющая. Смесь характеризуется отношением сигнал-помеха y Pu P , 2 где Pu u 2 (t ) и P ( t ) средние мощности сигнала и помехи (черта означает усреднение по времени). Задача приема состоит в решении одного из вопросов: 1) если u0(t)=0 и u1(t)0, то содержит ли принятый сигнал y(t) полезный сигнал u(t) или принимается только шум; 2) если u0(t)0 и u1(t)0, то какой полезный сигнал содержится в принятом сигнале y(t). 34 Первый вопрос называют задачей обнаружения сигналов. Второй задачей различения (распознавания) сигналов. Эти задачи не имеют точного решения из-за случайного характера помехи. Ответ дается с определенной вероятностью. Для уменьшения вероятности ошибки нужно выполнить специальное преобразование искаженного сигнала y(t). Его цель увеличить отношение полезной составляющей к помехе. Преобразование такого типа называют фильтрацией. На выходе фильтрующего устройства имеем сигнал z(t ) a (t ) (t ) , где a(t) полезная составляющая, связанная с u(t); (t) шум, связанный с помехой (t). Для выходного сигнала фильтра отношение z=Pa/P должно быть больше y. Решающее устройство принимает решение y*: y*= y0 u0(t)“0” или y*= y1 u1(t)“1”. 2.3.2. Фильтрация методом накопления Ограничимся задачей обнаружения. Допустим, что передается видеоимпульс u0(t) с амплитудой Um и длительностью 0. Принимаемый сигнал представляет собой сумму видеоимпульса и помехи (t) типа “белого” шума (рис.2.2,а), т.е y(t) U m (t) , 0 2 t 0 2 . Выполним (рис.2.2,б) временную дискретизацию сигнала y(t), t0 при условии t p k ( k интервал корреляции шума ). В этом случае отсчеты y(t i ) U m (t i ) будут некоррелированными, т.е. статистически независимыми. 2 2 y(ti) 5 y( t ) u 0( t ) 1 y( t ) Um u 0( t ) 0 5 1 tp 0 0 0 1 1 10 0 t а 10 10 0 t б Рис.2.2 Фильтрующее устройство по методу накопления реализует алгоритм 10 35 n n i 1 i 1 z(t i ) y(t i ) n U m (t i ) a (t i ) . Отношение сигнал-помеха на его выходе z a2 D (t i ) n 2 U 2m , n D (t i ) i 1 где D (t i ) дисперсия отсчетов помехи на выходе. n ( t ) D (t i ) . i i 1 i 1 Ввиду некоррелированности отсчетов (ti) D n В силу стационарности входной помехи (t) D(t 1 ) D(t 2 ) ... D(t n ) D(t ) . Поэтому n 2 U 2m U 2m z n ny . n D (t ) D (t ) Таким образом, для метода накопления отношение сигнал-помеха растет пропорционально числу отсчетов. 2.3.3. Корреляционный метод фильтрации Рассмотрим квазидетерминированный синусоидальный сигнал u(t ) U m sin( 0 t ) . Ограничимся задачей обнаружения. Пусть амплитуда Um и частота 0 известны. Начальная фаза случайная величина, равномерно распределенная на интервале 2, т.е. имеет плотность вероятности 1 2 при ; p() 0 при . Найдем корреляционную функцию R u () данного сигнала. Среднее зна- чение такого случайного процесса равно нулю. Поэтому функция корреляции R u () Mu ( t )u ( t ) M U 2m sin( 0 t ) sin( 0 t 0 ) 1 U 2m M cos 0 cos( 20 t 0 2) 2 36 U 2m U2 cos 0 m Mcos( 20 t 0 2) . 2 2 Раскроем знак математического ожидания: Mcos(20 t 0 2) cos(2 t 2)p()d 0 0 1 cos(2 0 t 0 2)d 0 . 2 Таким образом, R u ( ) U 2m cos 0 . 2 В данном случае корреляционная функция оказывается периодической. Она имеет период, равный периоду исходного сигнала. Корреляционная функция R ( ) флюктуационного шума (t) быстро убывает и при стремится к нулю. В отличие от обычного шума корреляционная функция R u ( ) периодического сигнала при не стремится к нулю (рис.2.3). 2 R u() R () 1 6 4 2 0 2 4 6 1 Рис.2.3 Этот факт можно использовать для обнаружения и выделения достаточно длинного, но слабого сигнала u(t) на фоне более интенсивного шума. Допустим (рис.2.4), что имеется сумма периодического сигнала u(t) и стационарной помехи (t) y(t ) u(t ) (t ) . 37 2 u( t ) 0 y( t ) 0 2 10 0 10 10 t 0 10 t Рис.2.4 Корреляционная функция суммарного сигнала R y ( ) M u (t ) (t )u ( ) (t ) M u (t )u (t ) Mu(t )(t M(t )u(t ) M(t )(t ) R u ( ) R u ( ) R u ( ) R ( ) , где R u ( ) и R ( ) автокорреляционные функции сигнала u(t) и помехи (t); R u ( ) и R u ( ) взаимно корреляционные функции сигналов u(t) и (t). Если сигнал и шум статистически независимы, то R u ( ) 0 и R u ( ) 0 . Тогда получим R y (t ) R u ( ) R ( ) , т.е. корреляционная функция суммарного сигнала равна сумме корреляционных функций слагаемых (рис.2.5). Так как R ( ) 0 при , то отсюда следует, что R y ( ) R u ( ) . 2 2 1 R u( ) 1 R ( ) 5 0 1 5 R y( ) 5 0 5 1 Рис.2.5 Следовательно, анализ корреляционной функции R y ( ) позволяет установить наличие или отсутствие в принятом сигнале y(t) гармонического сигнала u(t): 38 а) R y ( ) при k периодична сигнал u(t) есть; б) R y ( ) при k непериодична и R y ( ) 0 сигнала u(t) нет. Таким образом, пропускание смеси сигнала и помехи через коррелометр (рис.2.6, где БЗ блок задержки) позволяет увеличить отношение сигналпомеха z R u ( ) R ( ) . y(t) y(t)y(t-) R y ( ) y(t-) tm tm y(t )y(t )dt 0 z R u () R () БЗ 1 Рис.2.6 Этот метод фильтрации позволяет одновременно измерять частоту переданного сигнала. Если частота 0 заранее известна, то эту дополнительную информацию можно использовать для улучшения качества фильтрации. Для этого на приемной стороне определяют взаимно корреляционную функцию R y s ( ) принимаемого сигнала y(t) и вспомогательного сигнала s(t) kU m sin 0 t , где k некоторый коэффициент. В этом случае R y s ( ) kR u ( ) . Таким образом, знание частоты 0 позволяет избавиться от составляющей помехи R ( ) на выходе корреляционного фильтра. Поэтому здесь не требуется ждать затухания корреляционной функции шума. 2.3.4. Согласованная фильтрация Рассмотрим импульсный сигнал u(t) произвольной формы, определенный на интервале [0, T] и равный нулю вне этого интервала (рис.2.7). Пусть принимаемый сигнал есть сумма импульсного сигнала u(t) и стационарной помехи (t), u( t) 1 т.е. y( t ) u(t ) ( t ) . Сигнал g ф( t ) y(t) пропускается через линей- T 0 5 10 t Рис.2.7 15 ный фильтр, который имеет импульсную (весовую) функцию следующего вида (рис.2.7): g Ф (t ) u (T t ) . 39 Такая импульсная функция является зеркальным отражением импульса относительно точки T. Фильтр с такой характеристикой называется согласованным. Выходная реакция фильтра определяется интегралом свертки z(t ) y( )g Ф (t )d u ( )u (T t )d ( )(T t )d . Полученные два интеграла представляют собой скалярные произведения функции и сдвинутой на величину (T-t) ее копии. По определению они соответственно равны автокорреляционным функциям сигнала и помехи, т.е. z(t ) B u (T t ) B (T t ) . Отсюда видно, что реакция согласованного фильтра совпадает с выходным сигналом корреляционного фильтра. Но при согласованной фильтрации не нужно использовать устройство перемножения и вспомогательный генератор. 2.3.5. Оптимальный прием двоичных сигналов Задача оптимального приема двоичных сигналов при белом шуме в канале решена В. А. Котельниковым. Задача решена для случая распознавания сигналов на основе критерия идеального наблюдателя. Рассмотрим оптимальный приемник Котельникова (рис.2.8). Генератор U0(t) Вычислитель U(t) из ЛС “0” E0 Вычислитель E1-E0 E0 E1 Решающая схема E1-E0 “1” E1 Генератор U1(t) Рис.2.8 Пусть: символ "1" передается сигналом u1 ( t ) в течение времени 0 ; символ "0" передается сигналом u 0 ( t ) в течение времени 0 . Из линии связи ЛС приходит сигнал u( t ) u1 ( t ) u 0 ( t ) ( t) , где (t) белый гауссов шум; знак дизъюнкции. 40 В оптимальном приемнике генерируются два известных заранее образцовых сигнала U1(t) и U0(t) и вычисляются энергии E1 0 u(t) - u 1 (t) 2 dt и E 0 0 0 u(t) - u 0 (t ) 2 dt . 0 Решающая схема сравнивает разность этих энергий с некоторым порогом . Если E1 E 0 , то принимается решение о передаче сигнала u 0 ( t ) и, “0”. Если E1 E 0 , то принимается решение о передаче сигнала u1 ( t ) символ “1”. Выбором порога можно обеспечить значит, кодового символа минимум средней вероятности ошибки. В математическом плане модель двоичного канала с помехами представляется следующим образом (рис.2.9): x1 Передающая сторона x2 (1-p 0) y1 p= 0 p (x 1 Приемная сторона /y 2) y2 (1-p 0) Рис.2.9 Вероятность перехода P x i Передаются два сообщения x1 код “0” и x2 код “1”. В приемнике формируются два сообщения y1 код “0” и y2 код “1”. y i (трансформации) типа 0 1 1 2 P0 1 Ф() , где Ф( x) = e z / R dz табличная функция. 2 x Вероятность перехода типа 1 0 P(1 0) Ф( 2 ) , где отношение сигнал-помеха 1 = Uп 0 u1 t u 0 t 2 dt , 0 где U п эффективное (действующее) напряжение помехи; 0 - длительность элементарного сигнала. Для симметричного канала P1 0 P0 1 p 0 , где p 0 вероятность ошибки. Чтобы получить симметричный канал, следует выбрать порог = 2. Тогда вероятность ошибочного приема символа 41 p 0 P1 0 P0 1 Ф . 2 Найдем отношение сигнал-помеха для разных видов манипуляции. 1) Амплитудная манипуляция АМн. Здесь u 1 t U m sin(t) и u0 t 0 . В этом случае 2 E u1 U 2п U 2m 0 2U 2п 0 , где энергия E u1 u 12 t dt = 0 U 2m 0 . 2 2) Частотная манипуляция ЧМн. Здесь u 1 t U m sin1t и u 0 t U m sin 0 t , причем 2 U 2m 0 2 1 0 . Тогда имеем . 0 U 2п 3) Фазовая манипуляция ФМн. Здесь u 1 t U m sint и u 0 t U m sin t . Квадрат отношения сигнал-шум будет 2 2U 2m 0 U 2п . Эффективное напряжение помехи в виде “белого” шума определяется, исходя из спектральной плотности мощности S, следующим образом (рис.2.10). Дисперсия “белого” шума в полосе частот это площадь заштрихованного на S рис.2.10 прямоугольника. Таким образом, S0 D D S0 S0 2 f , где f 1 0 . 0 Отсюда следует эффективное напряжение помехи U п п D = Рис. 2.10 2S 0 f . Для симметричного канала и оптимального приема вероятность ошибки можно записать в универсальном виде p 0 Ф 0 0 , где 0 U m 0 Uп ; модуляции значения: 0 коэффициент, принимающий в зависимости от вида 42 При 0 1/2 1/ 2 1 Вид модуляции АМн ЧМн ФМн 0 0 вероятность ошибки p 0 0 . Чем больше 0, тем лучше. 2.4. Распределение ошибок в дискретных каналах связи Передаваемые символы можно считать независимыми. Это допущение довольно хорошо отражает действительность. В этом случае симметричный двоичный канал полностью характеризуется одним параметром вероятностью ошибочного приема символа p 0. Такой характер ошибок имеет место в гауссовских каналах, т.е. в каналах с аддитивной нормальной помехой флюктуационного типа. Минимум вероятности ошибки p 0 обеспечивает оптимальный приемник Котельникова. Пусть кодовая комбинация состоит из m независимых двоичных символов. Пусть она передается по двоичному симметричному каналу, который имеет вероятность ошибки p 0. Найдем вероятность P (1, m ) того, что в m-разрядной кодовой комбинации будет ровно 1 ошибка. Предварительно определим вероятность искажения одного i-го разряда (рис.2.11). 1 2 1 0 i 1 0 m-1 m 1 0 кодовая позиция правильные искаженная позиции позиция Рис.2.11 Так как разряды передаются и принимаются независимо друг от друга, то по теореме умножения вероятностей для независимых событий вероятность искажения i-го разряда правильные позиции Pi p0 (1 p0 ) m 1 , где (1 p 0 ) вероятность неискажения разряда. Один разряд может искажаться на любой кодовой позиции (рис.2.11). Число таких случаев равно m , т.е. равно числу сочетаний C m , где C знак сочетания. Следовательно, вероятность ровно одной ошибки в m-разрядной кодовой комбинации будет 1 P(1, m) m i 1 Pi Pi m p 0 (1 p 0 ) m 1 C1m p 0 (1 p 0 ) m 1 . 43 Вероятность того, что в m-разрядной комбинации на q позициях произошла ошибка, а на (m-q) позициях ошибки нет, будет равна Pq pq0 1 p0 m q . В комбинации из m символов ошибка на q позициях может произойти в самых различных сочетаниях этих позиций. Число таких сочетаний Cqm m! . q ! m q ! Следовательно, вероятность того, что в m-разрядной комбинации будет ровно q ошибок (в любом сочетании позиций) P(q, m) Cqm pq0 (1 p0 ) m q . Биномиальное распределение Величину q часто называют кратностью ошибки кодовой комбинации. Таким образом, для независимых символов вероятность P(q,m) ошибки в кодовой комбинации кратности q подчиняется биноминальному распределению. Пусть m 10 и P0 103 . Тогда б) вероятность 2-х ошибок P 2,10 0.00005 0 . , 0.01 ; а) вероятность 1-й ошибки P 110 Отношение вероятностей P1,10 200 . P2,10 Таким образом, чаще всего встречается одна ошибка, от которой и надо защищаться. Оценим помехоустойчивость первичного двоичного кода. При передаче информации таким кодом наличие хотя бы одной ошибки в принятой комбинации ведет к неправильному декодированию информации. В канале с биномиальным распределением ошибок вероятность неправильного декодирования сообщения m Pнд 1 Pпд 1 Pппс , где Pпд вероятность правильного декодирования; Pппс вероятность пра- вильного приема символа, Pппс 1 p 0 ; p 0 вероятность ошибочного приема символа. Отсюда следует Pнд 1 1 p 0 m 44 или так как p0 10 3 10 5 , то Pнд 1 1 mp0 mp0 . Значит, вероятность неправильного декодирования в m раз больше вероятности ошибки двоичного символа. 2.5. Общие принципы введения избыточности для коррекции ошибок Помехоустойчивость приема можно повысить введением избыточности. Делать это можно так. Выбирают n-разрядный двоичный код, у которого число N 2 n превышает число сообщений N 2 M 2 m , m число разрядов первичного кода. комбинаций M 2m , т.е. n Тогда для передачи можно использовать не все возможные комбинации nразрядного кода, а только некоторые из них. Комбинации, используемые для передачи, называются разрешенными Р. Остальные 2 n 2 m комбинаций будут запрещенными З. Код, имеющий запрещенные кодовые комбинации, называется избыточным или корректирующим. Рассмотрим пример. Пусть число сообщений M 2x 1 , x 2 . А) Обнаружение ошибок. Первичный код (m=1). Таблица кодирования имеет вид (см. табл.2.2). Таблица 2.2 x Код x1 1 x2 0 Возможные трансформации кодовых комбинаций приведены на рис.2.12. Разре- 1 шенные комбина- ции Р 0 Передача Прием 1 Разре шенные комбина0 ции Р Рис.2.12 Для первичного кода ошибки, т.е. трансформации кодовых комбинаций типа 10 или 01, обнаружить нельзя, так как нет запрещенных кодовых комбинаций. Избыточный код (n=2>m). Таблица кодирования имеет вид (см. табл.2.3). Таблица 2.3 x x1 x2 Код 01 10 Разрешенные кодовые комбинации 45 Возможные трансформации кодовых комбинаций приведены на рис.2.13, где a и c одиночные ошибки; б двойная ошибка. Ошибка a Разрешенные Р 00 запрещенная З1 Правильно 01 10 Ошибка б 01 Разрешенные Р 10 11 запрещенная З2 Ошибка c Рис.2.13 Запрещенные комбинации З1 и З2 это индикатор ошибок. Их появление в приемнике свидетельствует о наличии ошибок при передаче. Ошибки типа а и с обнаруживаются. Ошибка типа б не обнаруживается. В общем случае возможно 2 m 2 n различных трансформаций. Среди них: 2 m число случаев правильного приема; 2m (2m 1) число случаев трансформации в разрешенные комбинации; 2m (2n 2m ) число случаев перехода в запрещенные комбинации. Обнаруживающая способность избыточного кода составит 0 2m 2n 2m 2m . 1 2m 2n 2n Б) Исправление ошибок. Идея метода (рис.2.14). Множество запрещенных комбинаций разбивается на M = 2 m непересекающихся подмножества. Каждое подмножество Зi ставят в соответствие с одной из разрешенных комбинаций Рi. Если полу- РM чают комбинацию из подмножества, то принимают решение о передаче соответствующей разрешенной комбинации. Например, пусть число сообщений M 2( x 1 , x 2 ) и число разрядов избыточного кода n = 3 m = 1 . Тогда таблица кодирования избыточного кода (n=3) имеет вид (см. табл.2.4). Таблица 2.4 x Код x1 000 x2 111 Р1 З1 ЗM З2 Зi Рi Рис.2.14 Р2 46 Возможные трансформации показаны на рис.2.15, где где a одиночные ошибки; б двойные ошибки и c тройная ошибка. Правильно а 000 а а б б б c 111 Правильно 000 разрешенная Р1 001 010 Запрещенные З1 100 011 101 110 Запрещенные З2 111 разрешенная Р2 Рис.2.15 Ошибки типа а и типа б (одиночные и двойные) обнаруживаются. Ошибка типа с (тройная) не обнаруживается. В данном примере множество запрещенных комбинаций разбивается на два подмножества З1 и З2. При этом можно принять следующее взаимно однозначное соответствие: P1 31 и P2 32 . Если на приемной стороне получают комбинацию из подмножества 31, то принимают решение о передаче разрешенной кодовой комбинации P1 000. Ошибка будет исправлена только при трансформации типа а. Это будет в 2 n - 2 m случаях. Всего случаев перехода в запрещенные комбинации 2 m 2 n 2 m . В принципе любой избыточный код способен исправлять ошибки. Исправляющая способность кода составит H количество исправленн ых комбинаций количество обнаруженных ошибок 2n 2m 1 m. m n m 2 2 2 2 Способ разбиения на подмножества зависит от вида ошибок, которые нужно исправлять. В частности, для примера n = 3 и M = 2 разбиение позволяет исправлять одиночную ошибку в разрешенной комбинации. Приведенные примеры показывают, что способность кода обнаруживать и исправлять ошибки зависит от наличия избыточных символов в кодовой комбинации. 47 Обычно корректирующие коды строят на базе первичного кода. Символы первичного кода называют информационными. Избыточность в первичный код вводят простым добавлением к m информационным символам k дополнительных символов или разрядов. Дополнительные символы называются контрольными или проверочными. Контрольные символы формируют по определенным правилам. В технических приложениях наибольшее применение нашли блочные коды. Эти коды обладают алгебраическими свойствами. Операции над блочными кодами линейны. При блочном кодировании каждому сообщению ставится в соответствие кодовый блок длины n = m + k . Кодовый блок это избыточная кодовая комбинация, состоящая из m информационных символов или разрядов и k контрольных символов. Длина блока n = m + k . Блочный код называют равномерным, если длина блока n постоянна. Обычно кодирование и декодирование каждого блока осуществляется независимо друг от друга. Различают разделимые и неразделимые блочные коды. В разделимых кодах позиции информационных и контрольных символов раздельны. Обычно эти коды условно обозначают в виде (n, m) , где n общая длина кодовой комбинации, m число информационных символов. Тогда число проверочных символов k = n-m. В неразделимых кодах информационные и контрольные символы разделить нельзя. Среди блочных разделимых кодов обширную группу составляют систематические коды. Это коды, в которых контрольные символы получают путем линейных операций над информационными символами. Любой двоичный систематический код является групповым кодом. Здесь совокупность входящих в код комбинаций образует так называемую группу. Среди групповых кодов можно выделить циклические коды. В этих кодах на группу накладывают дополнительное условие цикличности. Общее понятие группы это множество элементов, в котором определена основная операция. Эта операция должна быть ассоциативной, т.е. a + b c a b c . Группа должна иметь также обратную операцию. 2.6. Параметры корректирующих кодов Основные параметры, характеризующие корректирующие свойства: 1) избыточность кода R; 2) кодовое расстояние d; 48 3) число обнаруживаемых кодом ошибок r; 4) число исправляемых кодом ошибок S. Избыточностью кода называют величину R 1 где log 2 N p log 2 N 0 , log2 N p число разрешенных комбинаций; log 2 N 0 общее число ком- бинаций. Для разделимого кода N 0 2 n , N p 2 m . Тогда R 1 m k 1 R0 . n n Величину R 0 m n принято называть относительной скоростью передачи или коэффициентом использования канала. Она показывает, какую долю составляют информационные символы в общем числе символов. Расстоянием между двумя комбинациями называют число позиций, в которых комбинации имеют различные символы. Расстояние L W1 2 равно числу единиц W в сумме этих комбинаций по моду- лю 2. Например, 1 1 0 1 1 0 1 - кодовая комбинация 0 1 1 1 1 0 - кодовая комбинация 2 , здесь W L 4 . 1 1 0 0 1 1 расстояние равно 4 Расстояние между парами комбинаций некоторого кода может быть различным. Например, для первичного кода оно меняется от 1 до m. Минимальное расстояние между кодовыми комбинациями называют кодовым или расстоянием по Хеммингу. Обозначают его через d, причем d minL i L min . Кодовое расстояние d имеет особую важность. Оно характеризует корректирующие свойства кода. Для обнаружения ошибок кратности r и менее необходимо и достаточно, чтобы кодовое расстояние было равно d r 1. Кратность ошибки это число искаженных позиций кодовой комбинации. Для исправления ошибок кратности S и менее необходимо иметь d 2S 1 . 49 Для исправления ошибок кратности S и одновременного обнаружения ошибок кратности r S нужно иметь d r S 1 ( r S ), при r S d 2S 1. Связь между кодовым расстоянием и числом контрольных символов устанавливается с помощью оценок Хемминга K log 2 d 1 2 C qn K 1 log 2 Зная d и Например, при d нечетном; q 0 d 2 2 C qn 1 при d четном. q 0 m, можно найти необходимое число контрольных символов k. 2 n! . d 5 k log 2 C qn log 2 C 0n C 1n C 2n log 2 1 n 2 !n 2 ! q 0 Освобождаясь от знака логарифма, получим неравенство 2k 1 n m k m k 1 n n 1 , 1 m k 2 2 которое необходимо выполнить подбором числа контрольных символов k. В случае d 2 k 1 log 2 0 C 0n 1 1 . q 0 2.7. Простейшие корректирующие коды Простейшие избыточные коды имеют кодовое расстояние d=2. Они широко применяются когда: 1) в каналах связи наиболее вероятны однократные ошибки; 2) для достижения заданной достоверности передачи достаточно только обнаружения ошибок. 2.7.1. Двоичный код с контролем четности Этот код является циклическим кодом, у которого образующий полином P x x 1 . Такой код можно строить по методике построения циклических кодов. Однако проще следующий алгоритм. 50 К информационным комбинациям простого m-разрядного кода добавляется один контрольный разряд. В контрольном разряде записывают ”1”, если число “единиц” в информационных разрядах нечетное. Символ ”0” записывают, если число “единиц” четное. В результате общее число ”единиц” в любой кодовой комбинации будет четным. Число комбинаций двоичного кода с контролем на четность N 2 n1 , где n m 1 ; k 1 . Например, при m 3 результат кодирования дан в табл.2.5. Таблица 2.5 Простой код 1 р. 2 р. 3 р. 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Контр. разряд 0 1 1 0 1 0 0 1 Избыточность кода минимальна R 1 . n Данный код позволяет обнаружить любые ошибки нечетной кратности ( q H = 1,3,5 и т.д., q < n ). При обнаружении ошибки кодовая комбинация в приемнике стирается, т.е. не выдается получателю. Вероятность обнаружения ошибки или стирания комбинации при декодировании (сд) будет Pсд n 1 Ц 2 C 2ni1p 02i1 1 p 0 n 2i 1 np 0 , i 1 где 2i 1 q н ошибки нечетной кратности. Вероятность неправильного декодирования (нд) Pнд n Ц 2 C i 1 где 2i 2i n p0 1 p 0 n2i n! p 02 , 2n 2! 2i q ч - ошибки четной кратности. Вероятность правильного декодирования (пд) Рпд 1 Рнд Рсд , так как Pп д Pн д Pс д 1 полная группа событий. Данные три вероятности характеризуют помехоустойчивость двоичного кода с контролем на четность при симметричном канале и оптимальном приеме. 51 2.7.2. Код с постоянным весом Здесь каждая разрешенная комбинация имеет постоянный вес W b1 , т.е. содержит одинаковое число ”1”. Такой код дает следующее число комбинаций log 2 C bn1 NC ; R 1 . log 2 2 n b! n b1 ! 1 2 3 b 3 . Результат кодирования Пример. Пусть n 3 , b1 2 , C n 2 1 n! b1 n приведен в табл.2.6. Таблица 2.6 № Код с b1 = 2 1 011 2 101 3 110 Здесь к неправильному декодированию приводит одинаковое число искажений нулей и единиц. Помехоустойчивость кода можно рассчитать по следующим формулам. Вероятность неправильного декодирования Pнд b 0 или b1 Cib 0 Cib1 p02i i 1 1 p0 n 2i b0 b1p02 , где b0 число нулей в кодовой комбинации; b1 число единиц в кодовой комбинации. В качестве верхнего предела берется меньшее из чисел b0 и b1. Вероятность правильного декодирования Pпд 1 p 0 . n Вероятность стирания при декодировании Pсд 1 Pнд Pпд . 2.7.3. Корреляционный код Здесь вводят зависимость между символами. Алгоритм построения. Каждая ”1” в комбинации простого кода заменяется двоичной последовательностью ”10”, а ”0” ”01”. Число комбинаций этого кода N 2 ; избыточность R 1 2 . Двоичный корреляционный код отличается постоянством числа единиц и нулей в комбинации. Число единиц и нулей равно разрядности m первичного кода. Еще одна особенность этого кода нет подряд трех и более одинаковых символов. n2 52 Эти свойства позволяют обнаружить все одиночные ошибки. Кроме того, обнаруживаются ошибки большей кратности, если они не связаны с искажением двоичных символов, соответствующих одному разряду первичного кода. Число необнаруживаемых кодом двукратных ошибок типа 01 ошибка 10 10 01 равно разрядности m первичного кода. Вероятность одной двукратной ошибки равна p02 1 p0 n 2 . Тогда вероятность неправильного декодирования Pнд m p 02 1 p 0 n 2 Вероятность стирания при декодировании . Pс д Pик Pн д , где Pик ве- роятность искажения комбинации корреляционного кода, n Pик 1 P нк 1 (1 p 0 ) np 0 вероятность неискажения комбинации 2 Отсюда следует вероятность стирания Pсд np 0 mp 0 1 p 0 n 2 . Вероятность правильного декодирования Pнд 1 Рсд Рнд . 2.7.4. Инверсный код В основе лежит метод повторения исходной комбинации. При повторении комбинация инвертируется. В результате каждая комбинация простого кода дополняется инвертированной последовательностью своих же символов. Например, Комбинации первичного кода 1010 1010 Комбинации инверсного кода Основные символы Контрольные символы 1 0 1 0 0 1 0 1 0 1 0 1 1 0 1 0 Необнаруживаемая двукратная ошибка Инверсный код разделимый, имеет постоянный вес комбинаций. Здесь обнаруживаются все однократные ошибки. Из двукратных не обнаруживаются такие, которые связаны с искажением одних и тех же позиций исходного кода и его дополнения. Поэтому вероятность неправильного декодирования Pнд m C i 2i m p0 1 p0 n 2i m p 02 . i 1 Вероятность стирания при декодировании 53 Pсд 1 Pнд Pпд np 0 mp 02 . 2.8. Групповой код В основе построения n-разрядных двоичных комбинаций группового кода лежит линейная операция поразрядного суммирования по модулю 2. Комбинация группового (n,m) кода представляется в виде m k = b1b 2 ... b m c1c 2 ... c k , n где b1 b m информационные символы; c1 c k контрольные символы. (n, m) код полностью описывается с помощью образующей матрицы G m,n , содержащей m строк и n столбцов. В канонической форме Групповой образующая матрица имеет вид G m,n I m R m,k , где Im единичная квадратная матрица размерности m m , у которой на главной диагонали расположены единицы, а все остальные элементы равны нулю; R m,k матрица контрольных символов размерности m k . Матрица Im является образующей матрицей первичного m-разрядного кода. Ее строки представляют собой набор линейно независимых комбинаций первичного кода и соответствуют информационным разрядам b1 b m группового кода. Матрица R m,k составляется из контрольных символов. Приписывая справа к матрице Im матрицу R m,k , контрольные символы ставят в соответствие комбинациям первичного кода, входящих в единичную матрицу. Строки контрольной матрицы соответствуют контрольным разрядам c1 c k группового кода. С помощью образующей матрицы могут быть получены все кодовые комбинации группового кода. Строки самой матрицы являются комбинациями группового кода. Остальные комбинации получают поразрядным суммированием по модулю 2 строк образующей матрицы в различных сочетаниях. По сути дела построение образующей матрицы сводится к построению матрицы контрольных символов. Строки матрицы R m,k должны удовлетворять двум условиям: 1) содержать не менее (d-1) единичных символов; 2) отличаться друг от друга не менее чем в (d-2) разрядах. 54 Если выполнить эти условия не удается, следует увеличить число контрольных символов k. Пример 1. Рассмотрим построение образующей матрицы. Пусть m=2, k=2 и d=2. Единичная матрица имеет вид b1 b 2 I2 1 0 . 01 К этой матрице нужно подобрать контрольную матрицу R 2 ,2 , строки ко- торой должны иметь не менее одной единицы d 1 2 1 1 и могут даже не отличаться друг от друга d 2 2 2 0 . Можно составить три набора, отвечающих этим условиям: 11, 10, 01. Любое сочетание двух из этих наборов может составить матрицу контрольных символов. Здесь допустимо даже повторение любого набора. Выберем в качестве строк матрицы контрольных символов первые два набора. Тогда c1 c 2 b1 b 2 c1 c 2 R 2 ,2 1 1 и G 2 ,4 1 0 1 1 . 10 0 110 Для наглядности над каждой матрицей показаны разряды группового кода, которым соответствуют ее столбцы. Поразрядное суммирование по модулю 2 строк матрицы G 2 , 4 во всевозможных сочетаниях (здесь два сочетания) дает полное кодовое множество: 1 1001 , 2 0110 , 3 1111 , 4 0000 . Вторым способом задания группового кода является проверочная матрица H k ,n R Tm,k I k , где Ik единичная квадратная матрица ранга k, построенная на позициях контрольных символов; R Tm,k Q k ,m транспонированная матрица контрольных символов, построенная на позициях информационных символов. Проверочная матрица дает связь между информационными и контрольными символами. На этой основе можно построить кодер. Кроме того, она используется для обнаружения и исправления ошибок. Ошибочная комбинация группового кода может быть представлена как l , 55 где безошибочная комбинация; l двоичная последовательность (комбинация ошибки) длины n, содержащая единицы только в тех разрядах, которые искажены. При отсутствии ошибок имеем H Tk,n 0 , а при их наличии H Tk,n D 0 , где H Tk ,n транспонированная кон- трольная матрица. Эти соотношения лежат в основе обнаружения и исправления ошибок. Строки проверочной матрицы дают систему проверочных (на четность) уравнений m b i q ij C j d j , j 1,2,..., k . i 1 Если положить символов (2.1) dj=0, то имеем уравнения для формирования контрольных Cj m b q i ij , j 1,2,..., k , (2.2) i 1 m где i 1 сумма по модулю 2; bi i-й информационный символ; qij эле- мент j-й строки и i-го столбца матрицы Q k ,m R Tm,k ; Cj j-й контрольный символ; dj результат j-й проверки на четность. Двоичная последовательность D d 1d 2 d k называется синдромом (опознавателем) ошибки. Если синдром состоит из одних нулей, комбинация считается безошибочной. Ненулевая величина синдрома говорит о наличии ошибки. Число ненулевых синдромов равно 2 1 . Ошибку l можно исправить, если ей соответствует индивидуальный синдром. Если разным ошибкам отвечает один и тот же синдром, то они не различаются и их можно только обнаружить. Вместо (2.1) и (2.2) набор синдромов удобно получать непосредственно из проверочной матрицы. В матрице H k ,n i-й столбец представляет собой синk дром одиночной ошибки в i-м разряде кодовой комбинации. Остальные синдромы находят поразрядным суммированием по модулю 2 столбцов проверочной матрицы в различных сочетаниях. Если код исправляет ошибки, то полученные синдромы сводятся в таблицу декодирования. В ней приводятся комбинация ошибки l, вид синдрома D и действие декодирующего устройства: выдача принятой комбинации получате- 56 лю при нулевом синдроме, стирание принятой комбинации при обнаружении факта наличия неисправляемых кодом ошибок, исправление i-го разряда в принятой комбинации при получении синдрома, соответствующего ошибке в iом разряде. Поскольку получателю выдаются только информационные разряды, исправление ошибок в контрольных разрядах обычно не производится. Пример 2. Составим проверочную матрицу и набор синдромов для группового кода (2,4) из примера 1. Матрица контрольных символов c1 c 2 R 2 ,2 1 1 , следовательно, Q 2 ,2 R 10 T 2 ,2 b1 b 2 11 10 и проверочная матрица принимает вид b 1 b 2 c 1 c 2 разряды группового кода 11 1 0 d H 2 ,4 1 0 0 1 1 d2 разряды синдрома D l 1 l 2 l 3 l 4 разряды комбинации ошибки Строки матрицы l H 2 ,4 дают уравнение для проверки на четность и для формирования контрольных символов: d 1 b 1 b 2 c1 ; c 1 b 1 b 2 ; d 2 b1 c 2 ; c 2 b 1 . знак суммы по модулю 2. Столбцы проверочной матрицы и последующее их суммирование по модулю 2 (например, двух столбцов в разных сочетаниях) дают набор синдромов D d 1d 2 , сведенный в табл.2.7. Таблица 2.7 Кратность ошибки Ошибка l = l1 l2 l3 l4 Синдром D=d1 d2 0 0000 00 1000 0100 0010 0001 1100 1010 1001 0110 0101 0011 11 10 10 01 01 01 10 00 11 11 1 2 Действие декодера Выдача получателю информационных символов Стирание принятой комбинации Стирание Выдача Стирание В данном примере двум разным одиночным ошибкам соответствует одинаковый синдром D=10. Поэтому код (2,4) не обеспечивает исправление оди- 57 ночной ошибки. Так как двойной ошибке l = l1l2l3l4 0110 отвечает нулевой синдром D=00, то данный код не позволяет обнаруживать все двойные ошибки. 2.9. Код Хемминга Код Хемминга является разновидностью группового кода. В отличие от последнего контрольные символы располагаются в разрядах 1,2,4,…, т.е. кратных вид 2 i , где i 0,1,2, . Структура кодовой комбинации по Хеммингу имеет = c1c 2 b1c 3 b 2 b 3 b 4 c 4 b5 , причем ее разряды нумеруются слева направо. Код Хемминга строится на основе уравнений для формирования контрольных символов. Один из способов его построения состоит в следующем. Составляется таблица, в которой приводятся номера разрядов комбинации , соответствующие им символы по Хеммингу и запись номеров разрядов в двоичной системе счисления. Эта таблица формализует составление уравнений для формирования контрольных символов. Например, при m=2 и k=3 имеем таблицу кодирования по Хеммингу Номер разряда 1 2 3 4 5 Символы C1 C2 b1 C3 b2 d3 0 0 0 Разряды кода d2 0 1 1 d1 1 0 1 1 1 0 0 0 1 Единицы в j-м столбце dj таблицы кодирования определяют состав символов, входящих в j-ю проверку на четность. Отсюда следует d 1 c1 b 1 b 2 ; c 1 b 1 b 2 . d 2 c 2 b1 ; c 2 b 1 . d 3 c3 b2 ; c3 b2 . Синдром ошибки D d 3d 2 d 1 . Он дает номер искаженного разряда в дво- ичной системе счисления. Разрядность синдрома должна быть достаточной, чтобы отразить число, равное n. Код Хемминга (n, m) при d = 4 и k = n - m строится на базе кода (n -1, m) с d = 3 путем добавления одного k-го разряда с общей проверкой 58 на четность. Например, применительно к рассмотренной таблице кодирования получим c 4 c1 c 2 b1 c 3 b 2 ; d 4 c1 c 2 b1 c 3 b 2 c 4 . Синдром ошибки D d k 1 d 2 d 1 . В его образовании k-й контрольный разряд не участвует. Декодирование ведется в два этапа. Сначала проводится общая проверка на четность dk. Затем находится (k-1)-разрядный синдром D. При этом возможны следующие ситуации: а) d k = 0 , D = 0 ошибки нет; б) d k = 1 , D 0 ошибка исправляется согласно D; в) d k 0 , D 0 ошибку исправить нельзя; г) d k 1 , D 0 искажен k-й контрольный разряд. 2.10. Циклический код 2.10.1. Основные сведения Множество кодовых комбинаций называется циклическим кодом, если циклический сдвиг любой комбинации на любое число разрядов влево или вправо дает комбинацию из этого же множества. Циклический код является частным видом группового кода. Он обладает всеми свойствами, присущими групповому коду. Кроме того, имеет дополнительную особенность цикличность. Кодовая комбинация разделимого циклического кода представляется в виде блока длины n m k , m k = b n-1b n-2 b k b k-1 b1b 0 , n где b 0 b k 1 контрольные символы; b k b n 1 информационные символы. При описании циклических кодов наиболее удобной является запись двоичной комбинации циклического кода в виде многочлена (х) некоторой фиктивной переменной х. Двоичная комбинация m-разрядного первичного кода записывается аналогично в виде информационного многочлена m(x). Например, комбинация первичного четырехразрядного кода 1101 может быть представлена полиномом mx 1 x 1 x 0 x 1 x 0 или со3 2 1 59 кращенно m x x x 1 . Следовательно, 1101 x x 1 , где стрелка означает соответствие двух записей. В теории циклического кодирования над полиномами и соответствующими им комбинациями вводятся операции сложения, умножения и деления. Сложение многочленов выполняется как поразрядное суммирование по 3 модулю 2, причем 2 3 2 x i x i 0 . Например, если 1 x x2 x и 2 x x x 1 , то 1 x 2 x x x x x 1 x x 1 , так как x x 1 1 0 . 3 3 2 3 2 Операция умножения (деления) многочленов включает их перемножение (деление) по обычным правилам с дальнейшим приведением подобных членов по модулю 2. Например, а) Умножение x2 x x 1 x3 x 2 x 2 x x3 x 1010 . При умножении полиномов старшая степень произведения может быть больше (n-1) . Для того, чтобы остаться в рамках n-разрядной комбинации циклического кода, вводится операция умножения по модулю двучлена x n 1 : (x) (x) 1 (x)2 (x) mod( x n 1) Re m 1 n 2 , x 1 где R e m означает остаток от деления произведения 1 (x) 2 (x) на двучлен x 1 . б) Деление n x4 x x2 1 2 x4 x x2 1 x2 x , или x 1 x 1 где x + 1 11 - остаток 10010 101 101 101 011 000 , 110 101 11 где 11 x + 1 Построение циклического кода основано на использовании так называемого образующего или порождающего полинома р(х). Он должен быть неприводимым многочленом, т.е. делиться только сам на себя и на единицу. Образующий полином выбирается в разложении двучлена x n 1 на неприводи- 60 мые многочлены [8, 9]. Старшая степень р(х) определяется числом контрольных символов k. h x x n 1 p x называется проверочным. Его высшая степень совпадает с числом информационных разрядов m первичного кода. Полином Кодовые комбинации циклического кода помимо общих для групповых кодов свойств удовлетворяют двум условиям: 1) без остатка делятся на образующий полином, т.е. (2.3) x 0 по модулю р(х) или x Re m 0; p x 2) при умножении на проверочный полином дают тождественный нуль по модулю двучлена x n 1 , т.е. x h x 0 по модулю x n 1 (2.4) или x h x Re m n 0. x 1 Сущность операции умножения по модулю x n 1 состоит в том, что многочлены (х) и h(x) перемножаются по обычным правилам с приведением подобных по модулю 2. Если старшая степень полученного произведения не превышает (n-1), то оно является результатом умножения по модулю x n 1 . В противном случае результат умножения делится на двучлен x 1 и получившийся при этом остаток является результатом умножения по n модулю x 1 . n На названных выше двух свойствах основано обнаружение и исправление ошибок при передаче циклического кода по каналу связи. Эти же свойства лежат в основе его построения и технической реализации кодирующих устройств. Циклический сдвиг кодовой комбинации на i шагов влево (вправо) равносилен умножению полинома (х) на одночлен члена x n 1 , т.е.: xi x i по модулю дву- 61 i сдвиг влево x i по mod x n 1 ; i сдвиг вправо x -i по mod x n 1 . 2.10.2. Способы описания Наиболее целесообразно циклический код представлять в виде разделимого (n,m) кода. Тогда алгоритм кодирования определяется выражением x x mx r x , где k где x k m x , p x r x Re m (2.5) r(x) остаток от деления произведения x k mx на образующий по- лином р(х). Пример 1. Пусть n=7, m=4, k=3 и p x x x 1 (согласно [9]). Представим в разделимом коде (7,4) информационную комбинацию 3 1101 m x x3 x2 1 . Найдем произведение x 3mx x 6 x 5 x 3 1101000 . Умножение на одночлен xk эквивалентно приписыванию k нулей со стороны младших разрядов. Данная операция позволяет впоследствии на месте этих нулей размещать контрольные символы. Разделим полученное произведение на образующий полином x 6 x5 x 3 x3 x 1 6 3 x x4 x x3 x2 x 1 x5 x 4 2 5 x x3 x x4 x3 x2 4 x x2 x x3 x x3 x 1 1 остаток Отсюда следует r x 1 и x x6 x5 x3 1 1101001 , где 1101 информационные символы; 001 контрольные символы. 62 Циклический код подобно групповому коду можно описать полно и компактно с помощью образующей матрицы G m,n I m R m,k . Строки единичной матрицы Im определяют вид информационных полиномов m j x x j , где j m 1,,1,0 . В отличие от группового кода стро- ки матрицы контрольных символов R m,k соответствуют остаткам r j x . В целом строки образующей матрицы представляют собой кодовые полиномы j x . Пример 2. Составим образующую матрицу для условий примера 1. На основании (2.5) имеем m3 x x3 и 3 x x3m3 x r3 x x6 x2 1 1000101 ; m2 x x 2 и 2 x x3m2 x r2 x x5 x2 x 1 0100111; m1 x x1 и 1 x x3m1 x r1 x x4 x2 x 0010110 ; m0 x x0 и 0 x x3m0 x r0 x x3 x 1 0001011 . Тогда образующая матрица примет вид b G 4 ,7 6 b 5 b 4 b 3 b 2 b b 1 0 3 x 1 0 0 01 0 1 x 0 1 0 01 1 1 2 0 0 1 01 1 0 . 1 x 0 0 0 10 1 1 0 x Im R m ,k Процесс построения образующей матрицы формализуется следующим образом. Исходя из числа информационных разрядов m, составляется единичная матрица Im. К ней справа приписывают матрицу контрольных символов R m,k , которая находится следующим формальным приемом. Единица с рядом нулей делится на образующий полином в виде кодовой комбинации. Выписываются m промежуточных остатков деления. Эти остатки, записанные в обратном порядке, образуют матрицу контрольных символов. Пример 3. Найдем матрицу контрольных символов для условий примера 1, когда p x x3 x 1 1011. Выполним деление 63 1000 1011 0110 0000 1100 1011 1110 1011 101 1011 1011 Порядок выписывания остатков Знаком отмечены промежуточные остатки деления. Выписывая их снизу вверх, получим матрицу контрольных символов b R 4 ,3 2 b 1 b 0 101 111 . 110 011 С помощью образующей матрицы могут быть получены все М кодовые комбинации циклического кода путем суммирования строк матрицы по модулю 2 в различных сочетаниях. Кроме образующей матрицы, циклический код можно описать с помощью проверочной матрицы. В принципе ее можно представить в канонической форме H k ,n R Tm,k I k Q k ,mI k , как для группового кода. Однако эта фор- ма не позволяет использовать свойство цикличности для коррекции ошибок. В этом случае обнаружение и исправление ошибок подобно групповому коду. Наибольшее применение на практике имеет циклическая форма проверочной матрицы Hk,n. Ее первая строка зависит от вида проверочного полинома h(x), а остальные строки получаются циклическим сдвигом вправо первой строки. Первая строка проверочной матрицы связана с видом проверочного полинома следующим правилом. Полином h(x) представляется в виде кодовой комбинации. Запись этой комбинации в обратном порядке и приписывание к ней справа (k-1) нулевых символов дает первую строку матрицы H k ,n . 64 Строки проверочной матрицы отражают состав проверок на четность n d k j hij b ni 0 , j 1,2, , k , i 1 где h ij - элемент j-й строки и i-го столбца проверочной матрицы. Результаты проверок на четность дают синдром D d k 1d k 2 d 1d 0 . Пример 4. Составим проверочную матрицу для условий примера 1, ко- гда n=7, m=4, k=1 и p x x x 1 . Проверочный полином будет 3 x7 1 x 4 x 2 x 1 10111 . x3 x 1 Тогда первая строка матрицы примет вид 1110100, а проверочная матриh x ца будет b 6 b 5 b 4 b 3 b 2 b b 1 0 1 110 1 0 0 H 3, 7 0 1 1 1 0 1 0 0 011 1 0 1 d k 1 d2 d1 d0 d0 Синдром D d 2 d 1d 0 . Состав проверок на четность и уравнения для формирования контрольных символов имеют вид d 2 b 6 b5 b 4 b 2 0 ; b 2 b 6 b 5 b 4 ; d 1 b5 b 4 b 3 b1 0 ; b1 b5 b 4 b 3 ; d 0 b4 b3 b2 b0 0 ; b0 b4 b3 b2 . 2.10.3. Построение циклического кода Прежде чем строить циклический код, нужно знать его параметры m, d, k и n=m+k (см.п.2.7). Тогда построение кода по сути дела сводится к выбору образующего полинома p(x). Образующий полином следует искать по таблице разложения двучлена x 1 на неприводимые сомножители (см. [8, 9]). Полином р(х) должен удовлетворять двум условиям: 1) степень полинома равна k; 2) число ненулевых членов d . n Если в разложении двучлена x 1 нет требующегося полинома, то допускается выбор в качестве образующего полинома произведения двух или более неприводимых многочленов этого разложения. При этом, естественно, n 65 должны выполняться два выше названных условия. Однако такой выбор дает код с меньшей мощностью кодовых комбинаций. Выбранный полином необходимо проверить на соответствие требуемой корректирующей способности. С этой целью единица с нулями делится на образующий полином. Полученные остатки должны удовлетворять трем требованиям: 1) число различных остатков m ; 2) число единиц каждого остатка (его вес) d 1 ; 3) остатки должны отличаться друг от друга в числе разрядов d 2. При выполнении этих требований полином р(х) обеспечивает построение (n,m) циклического кода с кодовым расстоянием d. Если в расположении двучлена x 1 не удается найти многочлен степени k и длины d , то прибегают к построению укороченного циклического кода. Допустим, что m=3, d=3, k=3 и n=6. В разложении двучлена n x 6 1 x 1 x 2 x 1 [9] нет многочлена со степенью k=3, а произ2 2 ведение x 1 x2 x 1 x3 1 дает полином третьей степени, однако число его ненулевых членов равно 2, что не обеспечивает условия d=3. Поэтому следует строить укороченный циклический код. Для этого ищем x n1 1 степени n1 n , в разложении которого имеется 7 полином требуемой степени k. В нашем случае это двучлен x 1 и полином 3 p x x x 1, остатки которого удовлетворяют трем выше перечисленближайший двучлен ным требованиям. Строим образующую матрицу кода n , m , где m 1 1 1 n1 k . В нашем случае n1 7 , m1 7 3 4 и матрица кода (7,4) найдена в примере 1. В полученной матрице вычеркиваем n1 n первых строк и столько же столбцов слева. В итоге получим образующую матрицу укороченного циклического кода (6,3): G 3, 6 1 0 0 0 1 0 1 0 1 0 0 1 1 1 1 0 0 1 1 1 0 0 1 0 1 1 0 0 1 0 1 1 0 . 0 0 0 1 0 1 1 0 0 1 0 1 1 Для укороченного кода проверенный полином определяется как h x x n1 1 p x . 66 В ряде случаев может получиться, что образующий полином имеет степень k и число членов d , но его применение не обеспечивает заданной корректирующей способности, т.е. при делении 1000… на р(х) не получаются требуемые остатки. В этом случае необходимо повышать степень k (увеличивать число контрольных символов) до тех пор, пока не будет достигнута заданная корректирующая способность. 2.10.4. Кодеры циклического кода Для реализации кодирования необходимо осуществлять как операцию умножения, так и деления двух многочленов с приведением подобных членов по mod 2. Реализовать такие операции позволяют регистры сдвига с обратными связями и сумматоры по mod 2. 2.10.4.1. Реализация умножения и деления полиномов А) Реализация умножения. Представим образующий полином в виде px p k x k p0 x 0 , k число контрольных разрядов; pi символы двоичного алфавита, т.е. p i 01 , , i 0, 1,..., k . где Информационный полином mx q m 1x m 1 q 0 x 0 , где информационных разрядов и символы q i m число 01 , , i 0, 1,..., m 1 . Тогда произведение можно записать следующим образом: p( x )m( x ) p k q m 1 x n 1 p k q m 2 p k 1q m 1 x n 2 1 й такт 2й такт p k q m 3 p k 1q m 2 p k 2q m 1 x n 3 ... p1q 0 p 0q1 x p 0q 0 . 3 й такт Пусть информационный полином ( n 1) й такт n й такт mx подается на устройство умноже- ния старшим разрядом вперед. Умножение выполняется потактно. Рассмотрим последовательно такты произведения. 1-й такт. Всегда коэффициент (символ) p k 1 . Поэтому p k q m1 определяется значением символа q m1 (0 или 1). Его сразу можно подавать на выход. 2-й такт. При p k 1 1 нужно сложить по mod 2 текущее значение инфор- мационного кода q m2 с предыдущим значением q m1 и результат выдать на выход. Для этого предыдущее значение нужно запоминать. Отсюда следует 67 реализация 2-го такта на базе сумматора по mod 2 (рис.2.16). Dt-триггера с внутренней задержкой и Микросхема серии 155 Dt-триггер q D p k q(P +Pp k q1q)m 1 m kq2m-2 вых. k-1 m-1 T Вых. Pk ТИ C R qm-2 155TM2 Dt qm-1 Pk-1 Pk-1 D1.1 Рис.2.16 Перед записью символа q m1 триггер Dt должен быть в нулевом состоянии. 3-й такт. Результат сложения первых двух слагаемых дает схема 2-го такта. Для добавления 3-го слагаемого нужен еще Dt-триггер регистра сдвига РС и сумматор по mod 2 (рис.2.17). Pkqm-3+Pk-1qm-2+Pk-2qm-1 Pkqm-3+Pk-1qm-2 Pk qm-3 Pk-2 Pk-1 Dt qm-2 Dt qm-1 Рис.2.17 Таким образом, структура устройства умножения двух полиномов принимает вид, показанный на рис.2.18. Вых. вых. qi Pk Dt xk-1 Pk-1 Dt xk-2 Pk-2 Dt xk-3 Pk-3 P1 Dt x0 P0 (x) Рис.2.18 Исходное состояние все триггеры в нулевом состоянии. Число триггеров равно k. Наличие связи рi на сумматор по mod 2 имеет место при коэффициенте p i 1 . Модификация устройства умножения приведена на рис.2.19. 68 q0,...,q m-2 ,qm-1 Dt x0 Dt x1 P0 Dt x2 P1 P2 Dt xk-1 P3 Pk Рис.2.19 В исходном состоянии все триггеры находятся в нулевом состоянии. Связь рi имеет место при p i 1 и отсутствует при p i 0 . Число сумматоров по mod 2 равно числу отличных от нуля коэффициентов рi минус 1. Б) Реализация деления. Деление есть сдвиг делителя до совпадения со старшим разрядом делимого и их сложение по mod 2. Операция продолжается до тех пор, пока старшая степень остатка станет меньше степени делителя. Пример на рис.2.20 это 3-х регистровая реализация деления (соответствует делению столбиком). Ее можно сделать последовательно (потактно) на одном регистре. РС делимого 101001011 001111011 000110111 000010001 РС делителя 100110000 001001100 000100110 000010011 2 сдвига 1 сдвиг РС остатка 001111011 000110111 000010001 Рис.2.20 1 сдвиг 000000010 остаток Делитель делитель 10011 101001011 10011 10111 01111 00000 Деление столби11110 ком для условий 10011 примера на рис.2.20. 11011 10011 10001 10011 0010 остаток Делимое делимое Структура устройства деления полиномов представляет собой регистр сдвига с сумматорами по mod 2 (рис.2.21). 69 Делимое Dt x0 m(x) Dt x1 P0 Dt x2 P1 Dt xk-1 Pk-1 P2 Вых. Pk Рис.2.21 Обратные связи регистра соответствуют виду полинома р(х). Число триггеров равно k. Число сумматоров равно числу ненулевых членов полинома р(х) минус 1. Для сложения старших разрядов полиномов делимого и делителя сумматора не надо результат сложения заранее известен, а именно равен нулю. Принцип реализации деления. Первые k тактов коэффициенты делимого m(x) заполняют регистр сдвига. Если в старшей степени х символ q есть ”1”, то на (k+1)-м такте осуществляется поразрядное сложение по mod 2. Если в старшей степени х или y полученного остатка коэффициент q есть ”0”, то делитель не складывается по mod 2, а только сдвигается вправо по регистру на один разряд. Деление заканчивается с приходом последнего символа делимого m(x). Конечный результат в регистре имеет степень ниже делителя и есть остаток от деления. 2.10.4.2. Структуры кодирующих устройств 1) I тип. Алгоритм кодирования x x m x r x . Структурная реализация кодера показана на рис .2.23. Схема деления отличается от ранее рассмотренной схемы на рис.2.21. Здесь коэффициенты k P1 P0 0 x P2 1 x Pk-1 2 x 1 ЭК k-1 x 2 m(x) или (x) старшим разрядом впер ед Рис.2.23 m(x) участвуют в обратной связи не через k тактов, а сразу с первого такта. Принцип работы. Исходное положение: электронный ключ ЭК в положении 1, триггеры в нулевом состоянии. В регистре через m тактов образуется остаток r(x). На (m+1)-м такте ЭК переключается в положение 2 и остаток из регистра сдвига выдвигается в линию связи. 70 2) II тип. Алгоритм кодирования x m x p x . Структурная реализация кодирующего устройства (рис.2.24). m(x) x0 x1 P0 x2 P1 (x) xk-1 P2 Pk-1 Pk Рис.2.24 3) III тип. Алгоритм кодирования b k j m 1 h ij b n i , j 1,2, , k . i0 Здесь h ij элементы проверочной матрицы в циклической форме. Для каждого форме j при i = 0,1,...,m-1 они определяются проверочным полиномом в h(x) h m 1x m 1 h m 2 x m 2 ...h 1x1 h 0 x 0 , где символы h i 0,1 . Структурная реализация кодера с использованием многовходового сумматора по mod2 приведена на рис.2.25. M2 hm-1 2 ЭК hm-2 xm-1 h1 xm-1 h0 x1 (x) x0 Вых. 1 m(x) Старшим разрядом вперед Рис.2.25 Модификация схемы с применением двухвходового сумматора (рис.2.26). 2 ЭК m(x) xm-1 hm-1 xm-2 hm-2 x1 1 Рис.2.26 h1 x0 h0 (x) 71 Принцип работы. ЭК в положении 1. За m тактов регистр заполняется. На (m+1)-м такте ЭК переводится в положение 2. При этом на каждом последующем такте один информационный символ выдается в канал связи и одновременно формируется контрольный символ, который записывается в ячейку x m 1 регистра. Через (m+k) тактов формирование контрольных символов заканчивается. ЭК переводится в положение 1. В течение последующих m тактов содержание регистра выдается в канал с одновременным заполнением ячеек регистра новой последовательностью информационных символов. 2.11. Обнаружение и исправление ошибок Ошибочная комбинация циклического кода представляется следующим образом: = l x x lx , где безошибочная комбинация; l комбинация ошибки; (x) и '(x) кодовые полиномы; l(x) полином ошибки степени n 1 . В основе методов обнаружения и исправления ошибок лежат соотношения (2.3) и (2.4). При коррекции ошибок с использованием свойства образующего полинома (2.3) определяется синдром (опознаватель) ошибок длины k x x lx lx dx Re m Re m Re m . (2.6) px px px В случае использования свойства проверочного полинома (2.4) вычисляется синдром ошибок длины n d x xh x lxh x или в другой форме modx 1 n x lx h (x) x lxh (x) d x Re m n Re m n Re m .(2.7) n x 1 x 1 x 1 В декодирующих устройствах соотношения (2.6) или (2.7) реализуются вычислителем синдрома. Если синдром d x 0 , то это говорит о наличии ошибок в принятой кодовой комбинации. Число возможных ненулевых синдромов M 2 1 . Если полиному ошибок l(x) соответствует индивидуальный синдром d(x), то по виду синдрома можно найти полином ошибок и исправить принятый кодовый полином путем его сложения по mod 2 с полиномом ошибок, т.е. x x l x . k 72 Если разным ошибкам отвечает один и тот же синдром d(x), то такие ошибки не различаются и их можно только обнаружить. Вместо (2.6) набор синдромов удобно получать непосредственно из проверочной матрицы H k ,n в канонической форме. Синдром (2.7) удобно получать из проверочной матрицы H *k ,n в цикличе- H *k ,n нужно достроить циклическим ской форме. Однако для этого матрицу сдвигом вправо ее строк до квадратной матрицы H *n ,n ранга n. Тогда столбцы этой матрицы представляют собой n-разрядные синдромы одиночных ошибок в соответствующих им разрядах кодовой комбинации. Остальные синдромы находят поразрядным суммированием по mod 2 столбцов матрицы в разных сочетаниях. А) Обнаружение ошибок по синдрому. Структура декодера циклического кода по синдрому в режиме обнаружения ошибок представлена на рис.2.27. (x) bn-1...b0 Буферный регистр сдвига (БРС) Вход b0 b1 bn-2 ... bn-1 Запись Буферный регистр памяти (БРП) bk ... bn-2 bn-1 Выходы И Вычислитель синдрома d0 d1 ... dk-2 dk-1 Селектор нулевого синдрома И Z НЕ (n+1)-й ТИ Рис.2.27 Стирание 73 Вычислитель синдрома, например, для (2.6) это схема деления произвольного полинома x на образующий полином р(х). Селектор это комбинационная схема. Сигнал Z на ее выходе это ФАЛ Z d k 1 & d k 2 & & d1 & d 0 d k 1 d k 2 d 1 d 0 , где d i 0,1 двоичные разряды синдрома d(x). Принцип работы. Кодовая комбинация циклического кода поступает одновременно в n-разрядный буферный регистр сдвига БРС и k-разрядный вычислитель синдрома старшим разрядом вперед. Время декодирования, измеряемое в тактах генератора тактовых импульсов ГТИ, определяется временем вычисления синдрома, которое составляет n тактовых импульсов (ТИ). Обнаружение ошибок осуществляется на (n+1)-м такте работы декодера. Если d(x)0, то Z=0 и формируется сигнал "Стирание" (считывание информации при этом не происходит). Б) Исправление ошибок по синдрому. Пусть код (n,m) может исправлять все ошибки кратности S. Тогда число исправляемых ошибок равно числу индивидуальных синдромов S N C qn M 2 k 1 . q 1 Для исправления ошибок нужно знать полином ошибок l(x). В декодирующих устройствах полином l(x) формируется специальной решающей схемой селектором синдромов. Возможны два способа определения полинома ошибок l(x) параллельный и последовательный. 1) Параллельный способ. Структура декодера по синдрому в режиме исправления ошибок параллельного действия (рис.2.28). Здесь селектор '(x) Вход БРС Вычислитель синдрома '(x) (x) d(x) Селектор N синдромов L(x) Рис.2.28 настраивается на N синдромов. Он формирует соответствующие им полиномы 74 ошибок. Такой селектор это комбинационная схема, на вход которой подается комбинация синдрома, а с выхода снимается параллельным кодом полином ошибки l(x). Ошибка исправляется параллельным поразрядным суммированием искаженного кодового полинома x и полинома ошибки l(x) с помощью многовходового сумматора. Сложность селектора определяется числом N селектируемых синдромов. Она быстро растет с ростом S и n. Например, n S N 1 15 15 2 120 3 575 1 31 31 2 496 3 4991 2) Последовательный способ. Этот способ определения l(x) позволяет уменьшить сложность селектора синдромов. Он использует свойство цикличности кода и базируется на операции циклического сдвига синдрома в его вычислителе по modp x при декодировании по (2.6); d j x x q d i x n по mod x 1 при декодировании по (2.7), где d j x и d i x синдромы полиномов ошибок l j x и l i x ; q число сдвигов, q 0,1,2,, n 1 . Из множества N индивидуальных синдромов можно выделить Т базовых синдромов S T C qn 11 . q 1 Остальные (N-T) синдромов приводятся к базовым при помощи цикличе* ского сдвига. Эти базовые синдромы называются корректорами d j x , j 0,1,2,, T . Из канала связи обычно первым поступает старший разряд. При наличии в нем ошибки он первым же должен исправляться. Поэтому, в качестве корректоров выбирают синдромы, которым соответствуют комбинации ошибок с единицей на позиции старшего разряда. Селектор синдромов настраивается на Т корректоров. Вычисленный синдром ошибок d(x) циклически сдвигается влево (т.е. в сторону старших разрядов) в вычислителе синдрома до совпадения с одним из корректоров. Совпадение фиксируется селектором. Вид корректора, с которым совпал сдвигаемый синдром и число его шагов сдвига q до совпадения, определяют искаженные разряды. 75 Отсутствие совпадения с корректорами при изменении q от 0 до ворит о наличии обнаруженных и неисправленных ошибок. (n-1) го- Число Т корректоров d x растет с ростом n и S. n 15 S 1 2 3 T 1 15 106 Поэтому область применения последовательного способа декодирования ограничивается кодами с S=1 и S=2. Рассмотрим алгоритм исправления одиночных ошибок (S=1), например, на основе полинома h(x). Алгоритм определяется выражением * d *n 1 x xq d x , q 0, n 1 по mod x n 1 , где d * n1 (2.8) корректор, который представляет собой синдром полинома ошибки l n 1 x x , что соответствует ошибке в старшем разряде b n1 кодовой комбинации. Действие алгоритма состоит в следующем. Корректор вычисляется по формуле (2.7) и известен заранее. На этот корректор настраивается селектор синдромов. Число корректоров Т=1 при S=1. При коррекции полинома x вычисляется на основании (2.7) синдром n 1 d(x). Если d x 0 , то в (2.8), начиная с нуля, последовательно изменяется q до выполнения равенства. Полученное значение q позволяет указать номер искаженного разряда, равный (n-1)-q. Если при изменении q от 0 до (n-1) равенство (2.8) не выполняется, то это говорит о наличии неисправляемой ошибки. Пример. Пусть d=3, S=1, код (7,4), h x x x Корректор должен отвечать ошибке в старшем разряде 4 3 l 6 x x6 1000000 . x2 1 . Тогда d 6 x x h x x x x x mod x 1 1001110 . * 6 6 3 2 7 x x5 x4 x2 0110100 , l x x4 (искажен 4-й разряд) 5 2 и x x l x x x . Вычислим для комбинации x синдром ошибки d( x ) ( x )h ( x ) x 5 x 2 x 4 x 3 x 2 1 Пусть x x 6 4 x 1 mod x 1. 7 76 Итак, синдром d(x) D=1010011, при этом D d *6 , т.е. 6-й разряд не- искажен. Циклически сдвигаем синдром D до совпадения с корректором d *6 : 0100111 5-й разряд не искажен; * 2) q=2 1001110 = d 6 значит 4-й разряд искажен. 1) q=1 Подобным образом работает алгоритм и при вычислении синдрома и корректора по формуле (2.6). Структура декодера последовательного действия в режиме исправления и обнаружения ошибок по синдрому, например, на основе образующего полинома p(x) приведена на рис.2.29. (x) bn-1...b0 Буферный регистр сдвига Вход М 2 Модификация (x) Выход Коррекция Вычислитель синдрома d0 d1 ... dk-1 Селектор T синдромов-корректоров Y Селектор нулевого синдрома И Z НЕ И Запись Стирание (2n+1)-й ТИ Рис.2.29 Принцип работы. Символы кодовой комбинации ' последовательно, начиная со старшего разряда, вводятся в n-разрядный БРС и одновременно в kразрядный вычислитель синдрома, где за n тактов сдвига определяется остаток от деления кодового полинома '(x) на образующий полином p(x). Затем в декодере производится еще n тактов сдвига. С каждым сдвигом буферный регистр покидает один символ, а в вычислителе синдрома появляет- 77 ся новый синдром. Этот синдром будет совпадать с одним из корректоров, когда каждый из ошибочных символов занимает крайнюю правую ячейку БРС. При этом селектор синдромов-корректоров формирует логическую единицу (Y=1), которая, воздействуя на сумматор коррекции М2, исправляет искаженный символ. Исправленный символ покидает декодер при следующем такте сдвига. Одновременно логическая единица с выхода селектора подается в вычислитель синдрома, модифицируя синдром так, чтобы он снова соответствовал более простому полиному ошибок, которые еще подлежат исправлению. После исправления последней ошибки все ячейки памяти вычислителя синдрома должны оказаться в нулевом состоянии. Противный случай означает, что имеет место неисправляемая ошибка. Конечное состояние вычислителя синдрома фиксируется селектором нулевого синдрома. Обнаружение неисправляемых ошибок производится на (2n+1)-м такте сдвига, подобно схеме декодера на рис. 2.27. Таким образом, декодирование здесь длится 2n тактов сдвига, при этом n тактов затрачивается на вычисление синдрома d(x) и n тактов затрачивается на исправление ошибок. Новая кодовая комбинация не может быть принята до тех пор, пока предыдущая исправляется. Промежутки времени между принимаемыми кодовыми полиномами должны составлять не менее n тактов. Вычислитель синдрома здесь, в отличие от декодера на рис. 2.27, имеет дополнительную связь для модификации синдрома. Основу модификации составляет синдром-корректор d n 1 (x) d n 1 (x) одиночной ошибки в старшем (n-1)-м разряде кодовой комбинации. Объясняется это тем, что любой синдром S ошибок может быть представлен как сумма по модулю 2 S синдромов одиночных ошибок (соответствующих столбцов проверочной матрицы). Поэтому каждый корректор d j (x) в подобной сумме обязательно содержит синдром d n 1 ( x) одиночной ошибки в старшем разряде. Следует отметить, что при S=1 модификация это просто сброс вычислителя синдрома. 2.12. Помехоустойчивость циклического кода Помехоустойчивость оценивается: вероятностью неправильного декодирования PНД; вероятностью правильного декодирования PПД; вероятностью стирания кодовой комбинации при декодировании PСД. 78 Эти три вероятности образуют полную группу событий. Тем самым PНД PП Д PС Д 1 . Вероятности определяются в зависимости от режима декодирования. А) Декодирование в режиме обнаружения r ошибок d r 1 . В этом режиме при обнаружении ошибок принятая кодовая комбинация ' стирается. В остальных случаях комбинация выдается получателю. Неправильное декодирование имеет место в том случае, когда комбинация ошибки l отлична от нуля и совпадает с безошибочной комбинацией . Тогда PНД P l , l 0 ; PП Д Pl 0 ; PС Д P l . Для кода, обнаруживающего ошибки кратности правильного декодирования PНД r и менее, вероятность не- (q ) P(q, n ) , q q r 1 C n n где (q ) число необнаруживаемых кодом ошибок кратности qr; C qn общее число ошибок кратности q. Так как (q ) C qn (2 m 1) (2 n 1) 1 2 n m , то можно записать PНД n 1 2 n m P(q, n ) 2 q d 1 n m P d, n ; PПД P0, n ; PСД P 1, n PНД P 1, n , так как обычно Здесь P d , n P 1, n PНД . вероятность появления d и более ошибок в кодовой комбинации длины n. Для биномиальной модели P j, n P j, n , n (2.9) j d где вероятность появления делением j ошибок определяется биномиальным распре- P j, n C nj P0j 1 P0 n j . 79 Б) Декодирование в режиме исправления S ошибок d 2S 1 . В этом режиме при приеме искаженной комбинации ' всегда принимается решение о передаче безошибочной комбинации . Таким образом PС Д 0 ; PН Д P l u ; PП Д 1 PНД P l u , где u множество исправляемых комбинаций ошибок, причем их число u (q ) C qn при q S . Так как в общем случае n u (q ) P(q, n ) , q q 0 C n PП Д то отсюда с учетом дует u (q ) C qn при q S и u (q ) 0 при q S слеS PП Д P(q, n ) 1 P S 1, n ; q 0 PНД P S 1, n ; PСД 0 , где вероятность P S 1, n определяется согласно (2.9). В) Декодирование в режиме исправления d r S 1, r S . В этом случае S и обнаружения r ошибок S PНД C in P d S, n ; 2 1 Р S 1, n ; i0 nm Р ПД PСД 1 PПД Р НД . 80 ЛИТЕРАТУРА Основная 1. Темников Ф. Е., Афонин В. А., Дмитриев В. И., Теоретические основы информационной техники. М.: Энергия, 1977. 2. Орнатский П.П. Теоретические основы информационно-измерительной техники. M: Высшая школа, 1983. 3. Вострокнутов Н.Г., Евтихнеев Б.Н. Информационно-измерительная техника. M.: Высшая школа, 1977. 4. Лапа В.Г. Математические основы кибернетики. M.: Высшая школа, 1971. Дополнительная 5. Кузин Л.Т. Основы кибернетики. М.: Высшая школа, 1973. 6. Солодов А.В. Теория информации и ее применение к задачам автоматического управления. М.: Физматгиз, 1967. 7. Вентцель Е.С. Теория вероятностей. M.: Физматгиз, 1964. 8. Питерсон У., Э. Уэлдон. Коды, исправляющие ошибки. М.: Связь, 1976г. 9. Кавчук А. А. Основы передачи непрерывных сообщений по дискретным каналам связи. Учебное пособие, Таганрог, 1978. 10. Корн Г, Корн Т. Справочник по математике для научных работников и инженеров. М.: Наука, 1973. 11. Удалов А. П., Супрун Б. А. Избыточное кодирование при передаче информации двоичными кодами. M.: Связь, 1964. 12. Бородин Л. Ф. Введение в теорию помехоустойчивого кодирования. M.: Советское радио, 1968. 13. Котов П. А. Повышение достоверности передачи цифровой информации. M.: Связь, 1966. 14. Шастова Г. А. Кодирование и помехоустойчивость передачи телемеханической информации. M.: Энергия, 1966. 81 ОГЛАВЛЕНИЕ 1. ОСНОВЫ ТЕОРИИ ИНФОРМАЦИИ ..................................... 4 1.1. Общие понятия ..........................................................................................4 1.2. Комбинаторная мера информации Хартли .........................................4 1.3. Статистическая мера информации Шеннона .....................................5 1.3.1. Энтропия дискретной случайной величины.......................................6 1.3.2. Энтропия непрерывной случайной величины....................................8 1.3.3. Энтропия системы дискретных величин ............................................9 1.3.4. Оценка количества информации по Шеннону .................................12 1.4. Примеры информационных моделей в технике................................16 1.5. Избыточность и производительность источника информации .....20 1.6. Пропускная способность канала связи ...............................................21 1.6.1. Основные понятия ..............................................................................21 1.6.2. Пропускная способность дискретного канала без помех................22 1.6.3. Пропускная способность дискретного канала с помехами .............22 1.6.4. Пропускная способность непрерывного канала с помехами ..........25 1.7. Эффективное кодирование ....................................................................26 2. ОСНОВЫ ТЕОРИИ КОДИРОВАНИЯ.................................. 30 2.1. Системы счисления ................................................................................30 2.2. Понятие кода и кодирования ................................................................32 2.3. Помехоустойчивый прием двоичных сигналов ................................33 2.3.1. Основные понятия ..............................................................................33 2.3.2. Фильтрация методом накопления .....................................................34 2.3.3. Корреляционный метод фильтрации ................................................35 2.3.4. Согласованная фильтрация................................................................38 2.3.5. Оптимальный прием двоичных сигналов .........................................39 2.4. Распределение ошибок в дискретных каналах связи .......................42 2.5. Общие принципы введения избыточности для коррекции ошибок ....................................................................................................................44 2.6. Параметры корректирующих кодов ...................................................47 2.7. Простейшие корректирующие коды ...................................................49 2.7.1. Двоичный код с контролем четности ...............................................49 2.7.2. Код с постоянным весом....................................................................51 2.7.3. Корреляционный код .........................................................................51 2.7.4. Инверсный код ...................................................................................52 2.8. Групповой код..........................................................................................53 2.9. Код Хемминга ..........................................................................................57 82 2.10. Циклический код .................................................................................. 58 2.10.1. Основные сведения .......................................................................... 58 2.10.2. Способы описания ........................................................................... 61 2.10.3. Построение циклического кода ...................................................... 64 2.10.4. Кодеры циклического кода ............................................................. 66 2.10.4.1. Реализация умножения и деления полиномов ........................ 66 2.10.4.2. Структуры кодирующих устройств ......................................... 69 2.11. Обнаружение и исправление ошибок ............................................... 71 2.12. Помехоустойчивость циклического кода ........................................ 77 ЛИТЕРАТУРА ................................................................... 80 83 КАВЧУК СЕРГЕЙ ВАСИЛЬЕВИЧ ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ИНФОРМАЦИОННО-ИЗМЕРИТЕЛЬНОЙ ТЕХНИКИ Конспект лекций Часть II Ответственный за выпуск Редактор Корректор Кавчук С.В. Кочергина Т.Ф. Чиканенко Л.В. ЛР №020565 от 23.06.97 Подписано к печати Формат 60x84 1/16 Бумага офсетная Печать офсетная. Усл. п.л. 5,1. Уч.-изд. л. 4,8 Заказ № Тираж 100 экз. “C” Издательство Таганрогского государственного радиотехнического университета ГСП 17А, Таганрог, 28, Некрасовский, 44 Типография Таганрогского государственного радиотехнического университета ГСП 17А, Таганрог, 28, Энгельса, 1