Посвящение в радиоэлектронику
Шрифт:
Ввиду широкого использования двоичных сигналов в вычислительной технике и связи, чаще всего используют логарифм по основанию два. При этом количество информации оказывается выраженным в битах. Если в примере с влюбленными вероятность ответов «Да» и «Нет» одинакова и, следовательно, составляет 0,5, то количество информации в одном ответе составляет 1 бит.
Ну а что если выбор надо осуществить не из двух сочетаний, а из множества? У древних индейцев Центральной Америки существовало узелковое письмо. Писали, завязывая узелки на веревке. Совершенно очевидно, что при таком способе письма можно использовать двоичный код: есть узелок в данном месте единица, нет узелка — нуль. Если на каждом сантиметре длины веревки разместить по узелку, то метровая веревка будет нести 100 бит информации. Согласитесь, это не так уж мало.
В одном романе
Еще один пример, но теперь из реальной жизни — 1943 год, англо-американские войска готовятся к высадке на итальянский остров Сицилию, занятый фашистскими войсками. В это время в одной из тюрем США сидел очень влиятельный гангстер Лучано, выходец из Сицилии. Американская разведка, пользуясь всяческими средствами, вступила с ним в сговор, пообещав досрочное освобождение. В результате с самолета над Сицилией был сброшен вымпел — шелковый платок с вышитой на нем буквой L. Сицилийские мафиози, в то время не ладившие с немецко-фашистскими оккупантами, прекрасно поняли смысл сообщения: Лучано за союзников! Эффект был поразителен — американская армия практически не понесла потерь при освобождении Сицилии, так как мафиози основательно помогли ей, начав партизанскую войну против немцев.
Сейчас нас интересует не значимость для истории сообщения на вышитом платке, а лишь количество переданной информации. В английском алфавите 26 букв, добавим еще служебные знаки препинания — всего 32 знака. Значит, осуществлялся выбор одного из 32 знаков. Пример характерен тем, что при передаче любых телеграмм, на любом языке в приемном устройстве происходит выбор одной буквы из алфавита, который чаще всего содержит 32 знака. Если вероятность появления каждого из знаков одинакова и, следовательно, составляет 1/32, то при передаче одного знака сообщается log232 = 5 бит информации. Ту же цифру мы можем получить и иным способом. Перенумеруем все буквы алфавита по порядку.
Буква L стоит на двенадцатом месте, и ее порядковый номер будет 12. Теперь для выбора этой буквы достаточно передать ее порядковый номер. Число 12, выраженное в двоичном коде, выглядит как 01100. Для передачи любого из 32 чисел двоичным кодом нужно пять разрядов, а любого из N чисел log2N. Вы еще не умеете переводить числа из десятичного исчисления в двоичное и обратно?
Научитесь, это не так уж сложно! Вам поможет приведенная таблица и простое правило: последний разряд двоичного числа дает единицы (20), предпоследний — двойки (21), третий разряд справа — четверки (22), четвертый восьмерки (23), и т. д. Обозначив символы двоичного кода (1 и 0) в последнем разряде х1, в предпоследнем х2 и т. д., получим простую формулу для структуры двоичного числа:
N = х1·20 + х2·21 + х3·23 +…
Для передачи любого числа от 0 до 31 необходимо пять двоичных разрядов, или 5 бит информации. Таким образом, сообщение гангстера Лучано мафиози содержало 5 бит информации.
В народном хозяйстве необходимо передавать значительно больше информации. Не вызовет удивления, например, такая телеграмма, переданная работником снабжения: «В феврале на Чукотку поступило 10 000 грампластинок». Информация здесь такова: во-первых, февраль. Надо думать, поставки товаров подобного рода производятся ежемесячно, поэтому февраль надо обозначить цифрой 2. Отсюда определяем число двоичных разрядов, необходимых для передачи номера месяца: 4 (24 = 16, имеется некоторая избыточность информации). Далее необходимо ввести код Чукотки. Пусть соответствующая организация поставляет товары в 120 краев и областей, причем Чукотке ввиду ее удаленности присвоен последний номер. Тогда для передачи кода Чукотки (120) потребуется 7 двоичных разрядов (27 = 128). После кода области надо указать код товара. Если всего поставляется, например, 512 наименований товаров, то для обозначения грампластинок, скажем № 384, потребуется 9 разрядов (29 = 512). И наконец, число грампластинок 10000 в двоичном коде займет 14 разрядов. Получаем следующую таблицу:
Полное сообщение требует 34 двоичных разряда. Спереди обычно добавляют несколько разрядов служебной информации адрес, знак начала сообщения и т. д. Последовательность кодов и число разрядов каждого кода, указанные в таблице, должны быть и у отправителя, и у получателя сообщения, чтобы они имели возможность закодировать и раскодировать телеграмму. На линии связи эти процессы автоматизированы, соответствующие устройства называют кодерами и декодерами.
В книгах про разведчиков подобные таблицы называются шифрами и ключами к шифрам, скажет сообразительный читатель, и будет совершенно прав. Надеюсь, что наиболее юные и энергичные из читателей придумывают свои собственные шифровальные таблицы для игры в разведчиков, и их шифры, особенно представленные в двоичном коде, вряд ли расшифрует «неприятель». Итак, мы научились представлять информацию в цифровой форме и определять ее объем. А как быть с аналоговыми сигналами? Раньше их обрабатывали в аналоговой форме, теперь все чаще преобразуют в цифровую.
Вспомним автопилот самолета, который мы уже рассматривали, и попробуем сконструировать простейший датчик углового положения фюзеляжа. Возьмем отвес — жесткий стержень с грузом на конце, закрепленный на горизонтальной оси 0. Верхний конец стержня соединим с подвижным контактом потенциометра R, а к крайним выводам потенциометра подключим источники напряжения -10 и + 10 В. Если фюзеляж самолета находится в горизонтальном положении, подвижный контакт будет в середине резистивной подковки потенциометра, а потенциал на нем U обратится в нуль.
Стоит самолету наклониться вперед, скажем войти в пике, движок потенциометра переместится влево по подковке и потенциал U станет отрицательным. Если же носовая часть самолета будет направлена вверх, потенциал U станет положительным. Пусть при наклоне фюзеляжа на угол ± 20° потенциал U изменяется от + 10 до —10 В. Крутизна характеристики преобразования угол напряжение для такого датчика составит 0,5 В на градус. Таким образом мы получим аналоговый сигнал углового положения самолета. Для преобразования этого сигнала в цифровую форму необходимо задаться шагом дискретизации — минимальным изменением напряжения, соответствующим изменению цифрового кода на единицу.
Если в нашем простейшем случае достаточна точность 1°, то шаг дискретизации будет равен 0,5 В. Число шагов дискретизации, на которое изменилось напряжение U, и будет являться углом наклона фюзеляжа, выраженным в градусах. Его значение можно представить и двоичным кодом, как это показано на рисунке.
Датчик углового положения.
Дискретизация по уровню.