Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Дискретизация аналоговых сигналов

Поиск

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

Как мы уже упоминали в главе 3, начиная с 60-х годов прошлого века голос начал пере­даваться по телефонным сетям в цифровой форме, то есть в виде последовательности единиц и нулей. Основной причиной такого перехода является невозможность улучшения качества данных, переданных в аналоговой форме, если они существенно исказились при передаче. Сам аналоговый сигнал не дает никаких указаний ни на то, что произошло ис­кажение, ни на то, как его исправить, поскольку форма сигнала может быть любой, в том числе и такой, которую зафиксировал приемник. Улучшение же качества линий, особенно территориальных, требует огромных усилий и капиталовложений. Поэтому на смену ана­логовой технике записи и передачи звука и изображений пришла цифровая техника. В этой технике используется так называемая дискретная модуляция исходных непрерывных во времени аналоговых процессов.

Амплитуда исходной непрерывной функции измеряется с заданным периодом — за счет этого происходит дискретизация по времени.

Затем каждый замер представляется в виде двоичного числа определенной разрядности, что означает дискретизацию по значениям — непрерывное множество возможных значений амплитуды заменяется дискретным множеством ее значений.

Устройство, которое выполняет подобную функцию, называется аналого-цифровым пре­образователем (АЦП), После этого замеры передаются по линиям связи в виде последо­вательности единиц и нулей. При этом применяются те же методы кодирования (с ними мы познакомимся позднее), что и при передаче изначально дискретной информации.

На приемной стороне линии коды преобразуются в исходную последовательность битов, а специальная аппаратура, называемая цифро-аналоговым преобразователем (ЦАП), про­изводит демодуляцию оцифрованных амплитуд, восстанавливая исходную непрерывную функцию времени.

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

Если это условие не соблюдается, то восстановленная функция будет существенно от­личаться от исходной.

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

Для представления голоса в цифровой форме используются различные методы его дискре­тизации. Наиболее простой метод, в котором применяется частота квантования амплитуды звуковых колебаний в 8000 Гц, уже был кратко рассмотрен в главе 3. Этот метод имеет название импульсно-кодовой модуляции (Pulse Code Modulation, PCM).

Обоснование выбранной частоты квантования в методе РСМ достаточно простое. Оно объясняется тем, что в аналоговой телефонии для передачи голоса был выбран диапазон от 300 до 3400 Гц, который достаточно качественно передает все основные гармоники собеседников. В соответствии с теоремой Найквиста—Котельникова для качественной передачи голоса достаточно выбрать частоту дискретизации, в два раза превышающую самую высокую гармонику непрерывного сигнала, то есть 2 х 3400 = 6800 Гц. Выбранная в действительности частота дискретизации 8000 Гц обеспечивает некоторый запас качества. В методе РСМ обычно используется 7 или 8 бит кода для представления амплитуды одного замера. Соответственно это дает 127 или 256 градаций звукового сигнала, что оказывается вполне достаточно для качественной передачи голоса.

При использовании метода РСМ для передачи одного голосового канала необходима про­пускная способность 56 или 64 Кбит/с в зависимости от того, каким количеством битов представляется каждый замер. Если для этих целей применяется 7 бит, то при частоте передачи замеров в 8000 Гц получаем:

8000 х 7 = 56 000 бит/с или 56 Кбит/с.

А для случая 8 бит:

8000 х 8 - 64 000 бит/с или 64 Кбит/с.

Как вы знаете, стандартным является цифровой канал 64 Кбит/с, который также называет­ся элементарным каналом цифровых телефонных сетей; канал 56 Кбит/с применялся на ранних этапах существования цифровой телефонии, когда один бит из байта, отведенного для передачи данных, изымался для передачи номера вызываемого абонента (детали см. в разделе «Сети PDH» главы 11).

Передача непрерывного сигнала в дискретном виде требует от сетей жесткого соблюдения временного интервала в 125 мкс (соответствующего частоте дискретизации 8000 Гц) между соседними замерами, то есть требует синхронной передачи данных между узлами сети.

При отсутствии синхронности прибывающих замеров исходный сигнал восстанавливается неверно, что приводит к искажению голоса, изображения или другой мультимедийной информации, передаваемой по цифровым сетям. Так, искажение синхронизации в 10 мс может привести к эффекту «эха», а сдвиги между замерами в 200 мс приводят к невозмож­ности распознавания произносимых слов.

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

На качество сигнала после ЦАП влияет не только синхронность поступления на его вход замеров, но и погрешность дискретизации амплитуд этих замеров. В теореме Найквиста— Котельникова предполагается, что амплитуды функции измеряются точно, в то же время использование для их хранения двоичных чисел с ограниченной разрядностью несколько искажает эти амплитуды. Соответственно искажается восстановленный непрерывный сигнал - этот эффект называют шумом дискретизации (по амплитуде).

Методы кодирования

Выбор способа кодирования

При выборе способа кодирования нужно одновременно стремиться к достижению не­скольких целей:

§ минимизировать ширину спектра сигнала, полученного в результате кодирования;

§ обеспечивать синхронизацию между передатчиком и приемником;

§ обеспечивать устойчивость к шумам;

§ обнаруживать и по возможности исправлять битовые ошибки;

§ минимизировать мощность передатчика.

Более узкий спектр сигнала позволяет на одной и той же линии (с одной и той же полосой пропускания) добиваться более высокой скорости передачи данных. Спектр сигнала в об­щем случае зависит как от способа кодирования, так и от тактовой частоты передатчика. Пусть мы разработали два способа кодирования, причем в каждом такте передается один бит информации. Пусть также в первом способе ширина спектра сигнала F равна тактовой частоте смены сигналов f, то есть F = f, а второй способ дает зависимость F = 0.8 f. Тогда при одной и той же полосе пропускания В первый способ позволит передавать данные со скоростью В бит/с, а второй (1/0,8) B - 1,25 В бит/с.

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

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

Рис. 9.6. Синхронизация приемника и передатчика на небольших расстояниях

 

В сетях для решения проблемы синхронизации применяются так называемые самосин- хронизирующиеся коды, сигналы которых несут для приемника указания о том, в какой момент времени начать распознавание очередного бита (или нескольких битов, если код ориентирован более чем на два состояния сигнала). Любой резкий перепад сигнала — фронт — может служить указанием на необходимость синхронизации приемника с пере­датчиком.

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

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

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

Потенциальный код NRZ

Рисунок 9.7, а иллюстрирует уже упомянутый ранее метод потенциального кодирования, называемый также кодированием без возвращения к нулю (Non Return to Zero, NRZ). Последнее название отражает то обстоятельство, что в отличие от других методов кодиро­вания при передаче последовательности единиц сигнал не возвращается к нулю в течение такта.

Рис. 9.7. Способы дискретного кодирования данных

 

Итак, достоинства метода NRZ.

§ Простота реализации.

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

§ Основная гармоника f 0 имеет достаточно низкую частоту (равную N /2 Гц, как было показано в предыдущем разделе), что приводит к узкому спектру

Теперь недостатки метода NRZ.

§ Метод не обладает свойством самосинхронизации. Даже при наличии высокоточного тактового генератора приемник может ошибиться с выбором момента съема данных, так как частоты двух генераторов никогда не бывают полностью идентичными. Поэтому при высоких скоростях обмена данными и длинных последовательностях единиц или нулей небольшое рассогласование тактовых частот может привести к ошибке в целый такт и, соответственно, считыванию некорректного значения бита.

§ Вторым серьезным недостатком метода NRZ является наличие низкочастотной со­ставляющей, которая приближается к постоянному сигналу при передаче длинных последовательностей единиц или нулей. Из-за этого многие линии связи, не обеспечи­вающие прямого гальванического соединения между приемником и источником, этот вид кодирования не поддерживают. Поэтому в сетях код NRZ в основном используется в виде различных его модификаций, в которых устранены проблемы плохой самосин­хронизации и постоянной составляющей.

Биполярное кодирование AMI

Одной из модификаций метода NRZ является метод биполярного кодирования с альтер­нативной инверсией (Alternate Mark Inversion, AMI). В этом методе применяются три уровня потенциала — отрицательный, нулевой и положительный (см. рис. 9.7, б). Для кодирования логического нуля используется нулевой потенциал, а логическая единица кодируется либо положительным потенциалом, либо отрицательным, при этом потенциал каждой новой единицы противоположен потенциалу предыдущей.

При передаче длинных последовательностей единиц код AMI частично решает проблемы наличия постоянной составляющей и отсутствия самосинхронизации, присущие коду NRZ. В этих случаях сигнал на линии представляет собой последовательность разнопо­лярных импульсов с тем же спектром, что и у кода NRZ, передающего чередующиеся нули и единицы, то есть без постоянной составляющей и с основной гармоникой N/2 Гц (где N — битовая скорость передачи данных). Длинные же последовательности нулей для кода AMI столь же опасны, как и для кода NRZ — сигнал вырождается в постоянный потенциал нулевой амплитуды.

В целом, для различных комбинаций битов на линии использование кода AMI приводит к более узкому спектру сигнала, чем для кода NRZ, а значит, и к более высокой пропускной способности линии. Например, при передаче чередующихся единиц и нулей основная гармоника /о имеет частоту N/ 4 Гц.

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

В коде AMI используются не два, а три уровня сигнала на линии. Дополнительный уро­вень требует увеличение мощности передатчика примерно на 3 дБ для обеспечения той же достоверности приема битов на линии, что является общим недостатком кодов с не­сколькими состояниями сигнала по сравнению с кодами, в которых различают только два состояния.

Потенциальный код NRZI

Существует код, похожий на AMI, но только с двумя уровнями сигнала. При передаче нуля он передает потенциал, который был установлен на предыдущем такте (то есть не меняет его), а при передаче единицы потенциал инвертируется на противоположный. Этот код называется потенциальным кодом с инверсией при единице (Non Return to Zero with ones Inverted, NRZI). Он удобен в тех случаях, когда наличие третьего уровня сигнала весьма нежелательно, например в оптических кабелях, где устойчиво распознаются только два состояния сигнала — свет и темнота.

Код NRZI хорош тем, что в среднем требует меньше изменений сигнала при передаче произвольной двоичной информации, чем манчестерский код, за счет чего спектр его сигналов уже. Однако код NRZI обладает плохой самосинхронизацией, так как при пере­даче длинных последовательностей нулей сигнал вообще не меняется (например, при передаче последних 3-х нулей на рис. 9.7, а), и, значит, у приемника исчезает возможность синхронизации с передатчиком на значительное время, что может приводить к ошибкам распознавания данных.

Для улучшения потенциальных кодов, подобных AMI и NRZI, используются два метода. Первый метод основан на добавлении в исходный код избыточных битов, содержащих логические единицы. Очевидно, что в этом случае длинные последовательности нулей пре­рываются, и код становится самосинхронизирующимся для любых передаваемых данных. Исчезает также постоянная составляющая, а значит, еще более сужается спектр сигнала. Однако этот метод снижает полезную пропускную способность линии, так как избыточные единицы пользовательской информации не несут.

Другой метод основан на предварительном «перемешивании» исходной информации таким образом, чтобы вероятность появления единиц и нулей на линии становилась близкой к нулю. Устройства, или блоки, выполняющие такую операцию, называются скрэмблера- ми. При скремблировании используется известный алгоритм, поэтому приемник, получив двоичные данные, передает их на дескрэмблер, который восстанавливает исходную по­следовательность битов.

Биполярный импульсный код

Помимо потенциальных кодов в сетях используются и импульсные коды, в которых данные представлены полным импульсом или же его частью — фронтом. Наиболее простым кодом такого рода является биполярный импульсный код, в котором единица представляется импульсом одной полярности, а ноль — другой (см. рис. 9.7, в). Каждый импульс длится половину такта. Подобный код обладает отличными самосинхронизирующими свойствами, но постоянная составляющая может присутствовать, например, при передаче длинной по­следовательности единиц или нулей. Кроме того, спектр у него шире, чем у потенциальных кодов. Так, при передаче всех нулей или единиц частота основной гармоники кода равна МГц, что в два раза выше основной гармоники кода NRZ и в четыре раза выше основной гармоники кода AMI при передаче чередующихся единиц и нулей. Из-за слишком широко­го спектра биполярный импульсный код используется редко.

Манчестерский код

В локальных сетях до недавнего времени самым распространенным был так называемый манчестерский код (см. рис. 9.7, г). Он применяется в технологиях Ethernet и Token Ring.

В манчестерском коде для кодирования единиц и нулей используется перепад потен­циала, то есть фронт импульса. При манчестерском кодировании каждый такт делится на две части. Информация кодируется перепадами потенциала, происходящими в середине каждого такта. Единица кодируется перепадом от низкого уровня сигнала к высокому, а ноль - обратным перепадом. В начале каждого такта может происходить служебный перепад сигнала, если нужно представить несколько единиц или нулей подряд. Так как сигнал изменяется, по крайней мере, один раз за такт передачи одного бита данных, то манчестерский код обладает хорошими самосинхронизирующими свойствами. Полоса пропускания манчестерского кода уже, чем у биполярного импульсного. У него также нет постоянной составляющей, к тому же основная гармоника в худшем случае (при передаче последовательности единиц или нулей) имеет частоту N Гц, а в лучшем (при передаче чередующихся единиц и нулей) — N/2 Гц, как и у кодов AMI и NRZ. В среднем ширина полосы манчестерского кода в полтора раза уже, чем у биполярного импульсного кода, а основная гармоника колеблется вблизи значения 3N/4. Манчестерский код имеет еще одно преимущество перед биполярным импульсным кодом. В последнем для передачи данных используются три уровня сигнала, а в манчестерском — два.

Потенциальный код 2B1Q

На рис. 9.7, д показан потенциальный код с четырьмя уровнями сигнала для кодирова­ния данных. Это код 2B1Q, название которого отражает его суть — каждые два бита (2В) передаются за один такт (1) сигналом, имеющим четыре состояния (Q — Quadra). Паре битов 00 соответствует потенциал -2,5 В, паре 01 — потенциал -0,833 В, паре 11 — потен­циал +0,833 В, а паре 10 — потенциал +2,5 В.

При этом способе кодирования требуются дополнительные меры по борьбе с длинными последовательностями одинаковых пар битов, так как при этом сигнал превращается в по­стоянную составляющую. При случайном чередовании битов спектр сигнала в два раза уже, чем у кода NRZ, так как при той же битовой скорости длительность такта увеличи­вается в два раза. Таким образом, с помощью кода 2B1Q можно по одной и той же линии передавать данные в два раза быстрее, чем с помощью кода AMI или NRZI. Однако для его реализации мощность передатчика должна быть выше, чтобы четыре уровня четко различались приемником на фоне помех.

Для улучшения потенциальных кодов типа AMI, NRZI или 2Q1B используются избыточ­ные коды и скрэмблирование.

Избыточный код 4В/5В

Избыточные коды основаны на разбиении исходной последовательности битов на порции, которые часто называют символами. Затем каждый исходный символ заменяется новым с большим количество битов, чем исходный.

Например, в логическом коде 4В/5В, используемом в технологиях FDDI и Fast Ethernet, исходные символы длиной 4 бит заменяются символами длиной 5 бит. Так как результи­рующие символы содержат избыточные биты, то общее количество битовых комбинаций в них больше, чем в исходных. Так, в коде 4В/5В результирующие символы могут содер­жать 32 битовые комбинации, в то время как исходные символы — только 16 (табл. 9.1). Поэтому в результирующем коде можно отобрать 16 таких комбинаций, которые не со­держат большого количества нулей, а остальные считать запрещенными кодами (code violations). Помимо устранения постоянной составляющей и придания коду свойства самосинхронизации, избыточные коды позволяют приемнику распознавать искаженные биты. Если приемник принимает запрещенный код, значит, на линии произошло искаже­ние сигнала.

После разбиения получившийся код 4В/5В передается по линии путем преобразования с помощью какого-либо из методов потенциального кодирования, чувствительного толь­ко к длинным последовательностям нулей. Таким кодом является, например, код NRZI.

Символы кода 4В/5В длиной 5 бит гарантируют, что при любом их сочетании на линии не встретятся более трех нулей подряд.

Таблица 9.1. Соответствие исходных и результирующих кодов 4В/5В

Исходный код Результирующий код Исходный код Результирующий код
       
       
       
       
       
       
       
       

ПРИМЕЧАНИЕ

Буква В в названии кода 4В/5В означает, что элементарный сигнал имеет два состояния (от англий­ского binary — двоичный). Имеются также коды и с тремя состояниями сигнала, например в коде 8В/6Т для кодирования 8 бит исходной информации используется код из 6 сигналов, каждый из которых имеет три состояния. Избыточность кода 8В/6Т выше, чем кода 4В/5В, так как на 256 ис­ходных кодов приходится З6 - 729 результирующих символов.

 

Использование таблицы перекодировки является очень простой операцией, поэтому этот подход не усложняет сетевые адаптеры и интерфейсные блоки коммутаторов и маршру­тизаторов.

Для обеспечения заданной пропускной способности линии передатчик, использующий из­быточный код, должен работать с повышенной тактовой частотой. Так, для передачи кодов 4В/5В со скоростью 100 Мбит/с требуется тактовая частота 125 МГц. При этом спектр сигналу на линии расширяется по сравнению со случаем, когда по линии передается не избыточный код. Тем не менее спектр избыточного потенциального кода оказывается уже спектра манчестерского кода, что оправдывает дополнительный этап логического кодиро­вания, а также работу приемника и передатчика на повышенной тактовой частоте.

Скремблирование

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

Bi = Ai Bi-3 Bi-5 .

Здесь Bi двоичная цифра результирующего кода, полученная на i-м такте работы скрэм- блера, A i - двоичная цифра исходного кода, поступающая на i-м такте на вход скрэмблера, B i-3 и B i-5 — двоичные цифры результирующего кода, полученные на предыдущих тактах работы скрэмблера (соответственно на 3 и на 5 тактов ранее текущего такта) и объединен­ные операцией исключающего ИЛИ (сложение по модулю 2).

Например, для исходной последовательности 110110000001 скрэмблер даст следующий результирующий код (первые три цифры результирующего кода будут совпадать с ис­ходным кодом, так как еще нет нужных предыдущих цифр):

B1 = A1 = 1

B2 = A2 = 1

B3 = A3 = 0

B4 = A4B1 = 11 = 0

B5 = A5B2 = 11 = 0

B6 = A6B3B1 = 001 = 1

B7 = A7B4B2 = 001 = 1

B8 = A8B5B3 = 000 = 0

B9 = A9B6B4 = 010 = 1

B10 = A10B7B5 = 010 = 1

B11 = A11B8B6 = 001 = 1

B12 = A12B9B7 = 111 = 1

Таким образом, на выходе скрэмблера появится код 110001101111, в котором нет после­довательности из шести нулей, присутствовавшей в исходном коде. После получения результирующей последовательности приемник передает ее дескрэмблеру, который восстанавливает исходную последовательность на основании обратного соотношения:

Ci = BiBi-3Bi-5 = (AiBi-3Bi-5)Bi-3Bi-5 = Ai

Различные алгоритмы скрэмблирования отличаются количеством слагаемых, дающих циф­ру результирующего кода, и сдвигом между слагаемыми. Так, в сетях ISDN при передаче данных от сети к абоненту используется преобразование со сдвигами на 5 и 23 позиции, а при передаче данных от абонента в сеть — со сдвигами на 18 и 23 позиции.

Существуют и более простые методы борьбы с последовательностями единиц, также от­носимые к классу скрэмблирования. Для улучшения биполярного кода AMI-используются два метода, основанные на искусственном искажении последовательности нулей запре­щенными символами.

Рисунок 9.8 иллюстрирует использование методов B8ZS (Bipolar with 8 -Zeros Substitution) и HDB3 (High-Density Bipolar 3-Zeros) для корректировки кода AMI. Исходный код со­стоит из двух длинных последовательностей нулей: в первом случае — из 8, а во втором - из 5.

Код B8ZS исправляет только последовательности, состоящие из 8 нулей. Для этого он после первых трех нулей вместо оставшихся пяти нулей вставляет пять цифр: V-1*-0-V-1*. Здесь V обозначает сигнал единицы, запрещенной (Violations) для данного такта поляр­ности, то есть сигнал, не изменяющий полярность предыдущей единицы, 1* — сигнал единицы корректной полярности (знак звездочки отмечает тот факт, что в исходном коде в этом такте была не единица, а ноль). В результате на 8 тактах приемник наблюдает 2 ис­кажения — очень маловероятно, что это случается из-за шума на линии или других сбоев передачи. Поэтому приемник считает такие нарушения кодировкой 8 последовательных нулей и после приема заменяет их исходными 8 нулями. Код B8ZS построен так, что его постоянная составляющая равна нулю при любых последовательностях двоичных цифр.

Рис. 9.8. Коды B8ZS и HDB3

 

Код HDB3 исправляет любые четыре смежных нуля в исходной последовательности. Правила формирования кода HDB3 более сложные, чем кода B8ZS. Каждые четыре нуля заменяются четырьмя сигналами, в которых имеется один сигнал V. Для подавления по­стоянной составляющей полярность сигнала V чередуется при последовательных заменах. Кроме того, для замены используются два образца четырехтактовых кодов. Если перед за­меной исходный код содержал нечетное число единиц, задействуется последовательность 000V, а если число единиц было четным — последовательность 1*00 V.

Улучшенные потенциальные коды обладают достаточно узкой полосой пропускания для любых последовательностей единиц и нулей, которые встречаются в передаваемых данных. На рис. 9.9 приведены спектры сигналов разных кодов, полученные при пере­даче произвольных данных, в которых различные сочетания нулей и единиц в исходном коде равновероятны. При построении графиков спектр усреднялся по всем возможным наборам исходных последовательностей. Естественно, что результирующие коды могут иметь и другое распределение нулей и единиц. Из рисунка видно, что потенциальный код NRZ обладает хорошим спектром с одним недостатком — у него имеется постоянная со­ставляющая. Коды, полученные из потенциального кода путем логического кодирования, обладают более узким спектром, чем манчестерский код, даже при повышенной тактовой частоте (на рисунке спектр кода 4В/5В должен был бы примерно совпадать с кодом B8ZS, но он сдвинут в область более высоких частот, так как его тактовая частота повышена на 1/4 по сравнению с другими кодами). Этим объясняется преимущественное применение в современных технологиях, подобных FDDI, Fast Ethernet, Gigabit Ethernet, ISDN и т. п., потенциальных избыточных и скрэмблированных кодов вместо манчестерского и бипо­лярного импульсного кода.

Рис. 9.9. Спектры потенциальных и импульсных кодов

 

Компрессия данных

Компрессия, или сжатие, данных применяется для сокращения времени их передачи. Так как на компрессию данных передающая сторона тратит дополнительное время, к которому нужно еще прибавить аналогичные затраты времени на декомпрессию этих данных прини­мающей стороной, то выгоды от сокращения времени на передачу сжатых данных обычно бывают заметны только на низкоскоростных каналах. Соответствующий порог скорости для современной аппаратуры составляет около 64 Кбит/с. Многие программные и аппа­ратные средства сети способны выполнять динамическую компрессию данных в отличие от статической, когда данные сначала сжимаются (например, с помощью популярных архиваторов типа WinZip), а уже затем отсылаются в сеть.

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

Когда данные состоят только из чисел, значительную экономию можно получить путем уменьшения количества используемых на цифру битов с 7 до 4, просто заменяя десятичные цифры кода ASCII двоичными. Просмотр таблицы кодов ASCII показывает, что старшие три бита всех кодов десятичных цифр содержат комбинацию 011. Если все данные в кадре информации состоят из десятичных цифр, то, поместив в заголовок кадра соответствую­щий управляющий символ, можно существенно сократить длину кадра. Этот метод носит название десятичной упаковки.

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

Часто передаваемые данные содержат большое количество повторяющихся байтов. На­пример, при передаче черно-белого изображения черные поверхности будут порождать большое количество нулевых значений, а максимально освещенные участки изображе­ния — большое количество байтов, состоящих из всех единиц. Передатчик сканирует по­следовательность передаваемых байтов и если обнаруживает последовательность из трех или более одинаковых байтов, заменяет ее специальной трехбайтовой последовательно­стью, в которой указывает значение байта, количество его повторений, а также отмечает начало этой последовательности специальным управляющим символом. Этот метод носит название символьного подавления.

Метод кодирования с помощью кодов переменной длины опирается на тот факт, что не все символы в передаваемом кадре встречаются с одинаковой частотой. Поэтому во мно­гих схемах кодирования коды часто встречающихся символов заменяют кодами меньшей длины, а редко встречающихся — кодами большей длины. Такое кодирование называется также статистическим кодированием. Из-за того что символы имеют разную длину, для передачи кадра возможна только бит-ориентированная передача. При статистическом ко­дировании коды выбираются таким образом, чтобы при анализе последовательности битов можно было бы однозначно определить соответствие определенной порции битов тому или иному символу или же запрещенной комбинации битов. Если данная последователь­ность битов представляет собой запрещенную комбинацию, то необходимо к ней добавить еще один бит и повторить анализ. Например, если при неравномерном кодировании для наиболее часто встречающегося символа «Р» выбран код 1, состоящий из одного бита, то значение 0 однобитного кода будет запрещенным. Иначе мы сможем закодировать только два символа. Для другого часто встречающегося символа «О» можно использовать код 01, а код 00 оставить как запрещенный. Тогда для символа «А» можно выбрать код 001, для символа «П» — код 0001 и т. п.

Неравномерное кодирование наиболее эффективно, когда неравномерность распределения частот передаваемых символов велика, как при передаче длинных текстовых строк. На­против, при передаче двоичных данных, например кодов программ, оно малоэффективно, так как 8-битные коды при этом распределены почти равномерно.

Одним из наиболее распространенных алгоритмов, на основе которых строятся неравно­мерные коды, является алгоритм Хафмана, позволяющий строить коды автоматически на основании известных частот появления символов. Существуют адаптивные модификации метода Хафмана, которые позволяет строить дерево кодов «на ходу», по мере поступления данных от источника.

Многие модели коммуникационного оборудования, такие как модемы, мосты, коммутаторы и маршрутизаторы, поддерживают протоколы динамической компрессии, позволяющие сократить объем передаваемой информации в 4, а иногда и в 8 раз. В таких случаях говорят, что протокол обеспечивает коэффициент сжатия 1:4 или 1:8. Существуют стандартные протоколы компрессии, например V.42bis, а также большое количество нестандартных фирменных протоколов. Реальный коэффициент компрессии зависит от типа передавае­мых данных. Так, графические и текстовые данные обычно сжимаются хорошо, а коды программ — хуже.



Поделиться:


Последнее изменение этой страницы: 2017-02-05; просмотров: 989; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.147.73.0 (0.014 с.)