Методы кодирования цифровых сигналов. Физическое кодирование

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

Простейшим способом кодирования формы сигнала является так называемая импульсно-кодовая модуляция ИКМ (или PCM – Pulse Code Modulation), при использовании которой производятся просто дискретизация и равномерное квантование входного сигнала, а также преобразование полученного результата в равномерный двоичный код.

Для речевых сигналов со стандартной для передачи речи полосой 0,3 – 3,5 кГц обычно используют частоту дискретизации F дискр ³2F max = 8 кГц. Экспериментально показано, что при равномерном квантовании для получения практически идеального качества речи нужно квантовать сигнал не менее чем на ± 2000 уровней, иными словами, для представления каждого отсчета понадобится 12 бит, а результирующая скорость кода будет составлять

R = 8000 отсчетов/с * 12 бит/отсчет = 96000 бит/с = 96 кбит/с.

Используя неравномерное квантование (более точное для малых уровней сигнала и более грубое для больших его уровней, таким образом, чтобы относительная ошибка квантования была постоянной для всех уровней сигнала ), можно достичь того же самого субъективного качества восстановления речевого сигнала, но при гораздо меньшем числе уровней квантования – порядка ± 128 . В этом случае для двоичного представления отсчетов сигнала понадобится уже 8 бит и результирующая скорость кода составит 64 кбит/с.



С учетом статистических свойств речевого сигнала (вида распределения вероятностей мгновенных значений), а также нелинейных свойств слуха, гораздо лучше различающего слабые звуки, оптимальной является логарифмическая шкала квантования, которая и была принята в качестве стандарта еще в середине 60-х годов и сегодня повсеместно используется. Правда, в США и Европе стандарты нелинейного квантования несколько различаются (m-law companding и A-law compression), что приводит к необходимости перекодирования сигналов.

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

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

Описанная идея лежит в основе так называемой дифференциальной импульсно-кодовой модуляции - ДИКМ (DPCM ) – способа кодирования, при котором кодируются не сами значения сигнала, а их отличия от некоторым образом предсказанных значений. Простейшим способом предсказания является использование предыдущего отсчета сигнала в качестве предсказания его текущего значения :

x* i = x i –1 , e i = x i - x* I . (8.10)

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

x* i = å a k x i – k , e i = x i - x* I . (8.11)

К сожалению, точность предсказания не всегда растет с ростом порядка предсказания, поскольку свойства сигнала между отсчетами начинают уже изменяться, поэтому обычно ограничиваются предсказанием не выше 2 – 3-го порядка.

На рис. 8.16 и 8.17 приведены схемы ДИКМ кодера и декодера.

При кодировании речевых сигналов с учетом степени их кратковременной (на несколько очередных отсчетов) предсказуемости результирующая скорость кода для ДИКМ (DPCM ) обычно составляет 5 – 6 бит на отсчет или 40 – 48 кбит/с.

Эффективность ДИКМ может быть несколько повышена, если предсказание и квантование сигнала будет выполняться не на основе некоторых усредненных его характеристик, а с учетом их текущего значения и изменения во времени, то есть адаптивно. Так, если скорость изменения сигнала стала большей, можно увеличить шаг квантования, и, наоборот, если сигнал стал изменяться гораздо медленнее, величину шага квантования можно уменьшить. При этом ошибка предсказания уменьшится и, следовательно, будет кодироваться меньшим числом бит на отсчет. Такой способ кодирования называется адаптивной ДИКМ , или АДИКМ (ADPCM ). Сегодня такой способ кодирования стандартизован и широко используется при сжатии речи в междугородных цифровых системах связи, в системе микросотовой связи DECT , в цифровых бесшнуровых телефонах и т.д. Использование АДИКМ со скоростью кода 4 бита/отсчет или 32 кбит/с обеспечивает такое же субъективное качество речи, что и 64 кбит/с - ИКМ , но при вдвое меньшей скорости кода.

На сегодня стандартизованы также АДИКМ – кодеки для скоростей 40, 24 и 16 кбит/с (в последнем случае с несколько худшим, чем для 32 кбит/с – АДИКМ, качеством сигнала). Таким образом, видно, что сжатие речевых сигналов на основе кодирования их формы обеспечивает в лучшем случае двух - трехкратное уменьшение скорости кода. Дальнейшее снижение скорости ведет к резкому ухудшению качества кодируемого сигнала.

Описанные выше кодеры формы сигнала использовали чисто временной подход к описанию этого сигнала. Однако возможны и другие подходы. Примером может служить так называемое кодирование поддиапазонов (Sub-Band Coding - SBC ), при котором входной сигнал разбивается (или расфильтровывается) на несколько частотных диапазонов (поддиапазонов - sub-bands) и сигнал в каждом из этих поддиапазонов кодируется по отдельности, например, с использованием техники АДИКМ .

Поскольку каждый из частотных поддиапазонов имеет более узкую полосу (все поддиапазоны в сумме дают полосу исходного сигнала), то и частота дискретизации в каждом поддиапазоне также будет меньше. В результате суммарная скорость всех кодов будет по крайней мере не больше, чем скорость кода для исходного сигнала. Однако у такой техники есть определенные преимущества. Дело в том, что субъективная чувствительность слуха к сигналам и их искажениям различна на разных частотах. Она максимальна на частотах 1 - 1,5 кГц и уменьшается на более низких и более высоких частотах. Таким образом, если в диапазоне более высокой чувствительности слуха квантовать сигнал более точно, а в диапазонах низкой чувствительности более грубо, то можно получить выигрыш в результирующей скорости кода. Действительно, при использовании технологии кодирования поддиапазонов получено хорошее качество кодируемой речи при скорости кода 16 – 32 кбит/с. Кодер получается несколько более сложным, чем при простой АДИКМ, однако гораздо проще, нежели для других эффективных способов сжатия речи.

Упрощенная схема подобного кодера (с разбиением на 2 поддиапазона) приведена на рис. 8.18.

Близким к кодированию поддиапазонов является метод сжатия, основанный на применении к сигналу линейных преобразований, к примеру, дискретного косинусного или синусного преобразования. Для кодирования речи используется так называемая технология ATC (Adaptive Transform Coding), при которой сигнал разбивается на блоки, к каждому блоку применяется дискретное косинусное преобразование и полученные коэффициенты адаптивно, в соответствии с характером спектра сигнала, квантуются.

Чем более значимыми являются коэффициенты преобразования, тем большим числом бит они кодируются. Техника очень похожа на JPEG , но применяется к речевым сигналам. Достигаемые при таком кодировании скорости кодов составляют 12 – 16 кбит/с при вполне удовлетворительном качестве сигнала. Широкого распространения для сжатия речи этот метод не получил, поскольку известны гораздо более эффективные и простые в исполнении методы кодирования.

Рис. 8.18. Схема, поясняющая кодирование поддиапазонов

Следующим большим классом кодеров речевых сигналов являются кодеры источника.

Кодирование источника

В отличие от кодеров формы сигнала , вообще не использующих информацию о том, как был сформирован кодируемый сигнал, кодеры источника основываются именно на модели источника и из кодируемого сигнала извлекают информацию о параметрах этой модели. При этом результатом кодирования являются не коды сигналов, а коды параметров источника этих сигналов. Кодеры источника для кодирования речи называются вокодерами (VOice CODERS) и работают примерно следующим образом. Голосообразующий тракт представляется как линейный фильтр с переменными во времени параметрами, возбуждаемый либо источником белого шума (при формировании согласных звуков), либо последовательностями импульсов с периодом основного тона (при формировании гласных звуков) – рис. 8.19 .

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

Информация, которую получает вокодер в результате анализа речевого сигнала и передает декодеру, это параметры речеобразующего фильтра, указатель гласный/негласный звук, мощность сигнала возбуждения и период основного тона для гласных звуков . Эти параметры должны обновляться каждые 10 – 20 мс, чтобы отслеживать нестационарность речевого сигнала.

Вокодер, в отличие от кодера формы сигнала, пытается сформировать сигнал, звучащий как оригинальная речь, и не обращает внимания на отличие формы этого сигнала от исходного. При этом результирующая скорость кода на его выходе обычно составляет не более 2,4 кбит/с, то есть в пятнадцать раз меньше, чем при АДИКМ ! К сожалению, качество речи, обеспечиваемой вокодерами, очень далеко от идеального, ее звучание хотя и достаточно разборчиво, но абсолютно ненатурально. При этом даже существенное увеличение скорости кода практически не улучшает качества речи, поскольку для кодирования была выбрана слишком простая модель системы речеобразования. Особенно грубым является предположение о том, что речь состоит лишь из гласных и согласных звуков, не допускающее каких либо промежуточных состояний.

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

Канальные вокодеры. Это наиболее древний тип вокодера, предложенный еще в 1939 году. Этот вокодер использует слабую чувствительность слуха человека к незначительным фазовым (временным) сдвигам сигнала.

Для сегментов речи длиной примерно в 20 - 30 мс с помощью набора узкополосных фильтров определяется амплитудный спектр. Чем больше фильтров, тем лучше оценивается спектр, но тем больше нужно бит для его кодирования и тем больше результирующая скорость кода. Сигналы с выходов фильтров детектируются, пропускаются через ФНЧ, дискретизуются и подвергаются двоичному кодированию (рис. 8.20).

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

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

Рис. 8.20. Схема начального вокодера

Декодер (рис. 8.21), получив информацию, вырабатываемую кодером, обрабатывает ее в обратном порядке, синтезируя на своем выходе речевой сигнал, в какой-то мере похожий на исходный.

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

Синтезированная речь

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

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

log(|S(e jw)|) = log(|P(e jw)|) + log(|V(e jw)|, (8.12)

где S(e jw) - спектр речи, P(ejw) спектр сигнала возбуждения и V(ejw) - частотная характеристика голосового тракта.

Если теперь выполнить над log(|S(e jw)|) обратное преобразование Фурье (ОПФ ), то получим так называемый кепстр сигнала. Параметры голосового тракта изменяются во времени сравнительно медленно (их спектр находится в области низких частот - НЧ), тогда как сигнал возбуждения – быстроосциллирующая функция (ее спектр сосредоточен в области высоких частот - ВЧ). Поэтому в кепстре речевого сигнала эти составляющие разделяются (рис. 8.22) и могут быть закодированы по отдельности.

Рис. 8.22. Представление речевого сигнала в виде НЧ и ВЧ составляющих

Схема гомоморфного кодера/декодера речи приведена на рис. 8.23, с его использованием можно получить скорость кода порядка 4 кбит/с.

Формантные вокодеры. Как уже отмечалось ранее, основная информация о речевом сигнале содержится в положении и ширине составляющих его формант. Если с высокой точностью определять и кодировать параметры этих формант, можно получить очень низкую результирующую скорость кода – менее 1 кбит/с. К сожалению, сделать это очень трудно, поэтому формантные кодеры речи пока не нашли широкого распространения.

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

Рис. 8.23. Схема гомоморфного кодера/декодера

В ЛПК-вокодере речевой сигнал делится на блоки длиной около 20 мс, для каждого из которых определяются коэффициенты предсказывающего фильтра. Эти коэффициенты квантуются и передаются декодеру. Затем речевой сигнал пропускается через фильтр, частотная характеристика которого обратна частотной характеристике голосового тракта. На выходе фильтра получается ошибка предсказания. Назначение предсказателя – устранить корреляцию между соседними отсчетами сигнала. В результате гораздо отчетливее проявляется долговременная корреляция в сигнале, что позволяет точнее определить частоту основного тона и выделить признак гласный/согласный звук.

Вокодеры на основе линейного предсказания сейчас наиболее популярны, поскольку все используемые ими фильтровые модели речевого тракта работают очень хорошо. Получаемые с их помощью скорости кодов при неплохом качестве речи составляют до 2,4 кбит/с.

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

1) Коды запросных сигналов содержат требования к характеру выдаваемой информации ответчиков, а ответных сигналов – информацию о параметрах воздушного объекта;

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

3) Кодирование запросных и ответных сигналов повышает имитоустойчивость системы опознавания.

С целью приспособления формы информации к линии САЗО как каналу связи, информацию представляют в виде сообщений, построенных по определенному правилу (коду). Сообщение состоит из одного или нескольких слов. Каждое слово представляет собой конечную последовательность кодовых знаков (символов). Под кодовым знаком понимают условное обозначение элементарного сигнала, обладающего определенными параметрами. Количество различных символов, которые используются в словах данного кода, называют основанием кода.

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

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

Чем больше основание n кода, тем больше можно передавать различных сообщений размерностью l . Но при большом основании кода ухудшается различимость его элементарных сигналов, усложняется построение кодирующих и декодирующих устройств. Поэтому во многих областях техники наибольшее распространение получили коды с основание два, которые называют двоичными кодами. В САЗО наряду с двоичным кодом и его разновидностями (импульсно-временным кодом (ИВК) и частотно-временным кодом (ЧВК)) применяется код амплитудно-модулированных импульсов (АМИ).

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

При цифровом кодировании дискретной информации применяют потенциальные и импульсные коды.

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

Требования к методам цифрового кодирования

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

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

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

Обладал способностью распознавать ошибки;

Обладал низкой стоимостью реализации.

Более узкий спектр сигналов позволяет на одной и той же линии (с одной и той же полосой пропускания) добиваться более высокой скорости передачи данных. Кроме того, часто к спектру сигнала предъявляется требование отсутствия постоянной составляющей, то есть наличия постоянного тока между передатчиком и приемником. В частности, применение различных трансформаторных схем гальванической развязки препятствует прохождению постоянного тока.

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

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

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

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

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

Потенциальный код без возвращения к нулю

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

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

Метод биполярного кодирования с альтернативной инверсией

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

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

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

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

Потенциальный код с инверсией при единице

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

(NonReturntoZerowithonesInverted,NRZI). Этот код удобен в тех случаях, когда использование третьего уровня сигнала весьма нежелательно, например в оптичес­ких кабелях, где устойчиво распознаются два состояния сигнала - свет и темнота. Для улучшения потенциальных кодов, подобныхAMIиNRZI, используются два метода. Первый метод основан на добавлении в исходный код избыточных бит, содержащих логические единицы. Очевидно, что в этом случае длинные последовательности нулей прерываются и код становится самосинхронизирующимся для любых передаваемых данных. Исчезает также постоянная составляющая, а значит, еще более сужается спектр сигнала. Но этот метод снижает полезную пропускную способность линии, так как избыточные единицы пользовательской информации не несут. Другой метод основан на предварительном «перемешивании» исходной информации таким образом, чтобы вероятность появления единиц и нулей на ли­нии становилась близкой. Устройства, или блоки, выполняющие такую операцию, называются скрэмблерами (scramble- свалка, беспорядочная сборка). При скремблировании используется известный алгоритм, поэтому приемник, получив двоич­ные данные, передает их на дескрэмблер, который восстанавливает исходную последовательность бит. Избыточные биты при этом по линии не передаются. Оба метода относятся к логическому, а не физическому кодированию, так как форму сигналов на линии они не определяют. Более детально они изучаются в следующем разделе.

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

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

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

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

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

Потенциальный код 2В1 Q

На рис. 2.16, д показан потенциальный код с четырьмя уровнями сигнала для кодирования данных. Это код 2В1Q, название которого отражает его суть - каждые два бита (2В) передаются за один такт сигналом, имеющим четыре состояния (1Q). Паре бит 00 соответствует потенциал -2,5 В, паре бит 01 соответствует потенциал -0,833 В, паре 11 - потенциал +0,833 В, а паре 10 - потенциал +2,5 В. При этом способе кодирования требуются дополнительные меры по борьбе с длинными по­следовательностями одинаковых пар бит, так как при этом сигнал превращается в постоянную составляющую. При случайном чередовании бит спектр сигнала в два раза уже, чем у кодаNRZ, так как при той же битовой скорости длительность такта увеличивается в два раза. Таким образом, с помощью кода 2В1Qможно по одной и той же линии передавать данные в два раза быстрее, чем с помощью кодаAMIилиNRZI. Однако для его реализации мощность передатчика должна быть выше, что­бы четыре уровня четко различались приемником на фоне помех.

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

Наиболее простым и часто используемым является кодирование методом без возврата к нулю (NRZ – Non Return to Zero) , в котором бит «1» представляется положительным напряжением (H – высокий уровень), а бит «0» – отрицательным напряжением (L – низкий уровень). Т. е. сигнал всегда выше или ниже нулевого напряжения, откуда и название метода. Иллюстрация изложенных методов кодирования сигналов приведена на рисунке 5.22.

Как при передаче аналоговых, так и цифровых сигналов, если следующие друг за другом биты ровны (оба «0» или оба «1»), то трудно сказать, когда кончается один и начинается другой. Для решения этой задачи приемник и передатчик надо синхронизировать, т. е. одинаково отсчитывать интервалы времени.

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

Рисунок 5.22 – Варианты кодирования сигналов.

Методы передачи данных по сетям

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

При асинхронной передаче генераторы синхронизируются в начале передачи каждого пакета (или байта) данных и предполагается, что за это время не будет рассогласования генераторов, которые бы вызвали ошибки в передаче. При этом считается, что все пакеты одной длины (например, байт). Синхронизация тактового генератора приемника достигается тем, что:

· перед каждым пакетом (байтом) посылается дополнительный «старт-бит», который всегда равен «0»;

· в конце пакета посылается еще один дополнительный «стоп-бит», который всегда равен «1».

Если данные не передаются, линия связи находится в состоянии «1» (состояние незанятости). Начало передачи вызывает переход от «1» к «0», что означает начало «старт-бита». Этот переход используется для синхронизации генератора приемника. Поясним этот процесс временной диаграммой (рисунок 5.23):

Рисунок 5.23 – Асинхронная передача

При передаче с автоподстройкой – используется метод Манчестерского кодирования, при котором:

· тактовый генератор приемника синхронизируется при передаче каждого бита;

· следовательно, можно посылать пакеты любой длины .

Синхронизация сигнала данных достигается обеспечением перехода от «H»-уровня к «L»-уровню или наоборот, в середине каждого бита данных (рисунок 5.24). Эти переходы служат для синхронизации тактового генератора приемника. Биты данных кодируются: «0» – при переходе «L» → «H» и «1» – при переходе «H» → «L»


Рисунок 5.24 – Передача с автоподстройкой

Если информация не передается, в линии данных нет никаких переходов и тактовые генераторы передатчика и приемника рассогласованы.

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

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

Например, можно использовать преамбулу из восьми битов: 11111110, где первые 7 битов используются для начальной синхронизации, а последний – для сообщения приемнику, что преамбула окончилась, т. е. далее пойдут биты данных.

Лекция 17

Тема 5.3 Принципы функционирования локальных вычислительных сетей

План лекции

– Основные компоненты ЛВС

– Типы ЛВС

– Одноранговые сети

– Сети на основе сервера

– Комбинированные сети

– Аппаратное обеспечение

– Понятие топологии сети и базовые топологии:

топология типа «шина»

топология типа «звезда»

топология типа «кольцо»

комбинированные топологии

– Сравнительные характеристики топологий

– Методы доступа к физической среде передачи

Основная часть лекции

Основные компоненты ЛВС

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

серверы – это аппаратно-программные комплексы, которые исполняют функции управления распределением сетевых ресурсов общего доступа;

рабочие станции – это компьютеры, осуществляющие доступ к сетевым ресурсам, предоставляемым сервером;

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

Типы ЛВС

Выделяется два основных типа ЛВС: одноранговые (peer-to-peer) ЛВС и ЛВС на основе сервера (server based). Различия между ними имеют принципиальное значение, т. к. определяют разные возможности этих сетей.

Выбор типа ЛВС зависит от:

· размеров предприятия;

· необходимого уровня безопасности;

· объема сетевого трафика;

· финансовых затрат;

· уровня доступности сетевой административной поддержки.

При этом в задачи сетевого администрирования обычно входит:

· управление работой пользователей и защитой данных;

· обеспечение доступа к ресурсам;

· поддержка приложений и данных;

· установка и модернизация прикладного ПО.

Одноранговые сети

В этих сетях все компьютеры равноправны: нет иерархии среди них; нет выделенного сервера. Как правило, каждый ПК функционирует и как рабочая станция (РС), и как сервер, т. е. нет ПК ответственного за

Рисунок 5.25 – Компоненты ЛВС

администрирование всей сети (рисунок 5.26). Все пользователи решают сами, какие данные и ресурсы (каталоги, принтеры, факс-модемы) на своем компьютере сделать общедоступными по сети

Рабочая группа – это небольшой коллектив, объединенный общей целью и интересами. Поэтому в одноранговых сетях чаще всего не более 10 компьютеров. Эти сети относительно просты. Т. к. каждый ПК является одновременно и РС, и сервером. Нет необходимости в мощном центральном сервере или в других компонентах, обязательных для более сложных сетей.

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

Рисунок 5.26 – Одноранговая сеть

В такие операционные системы, как: MS Widows NT for Workstation; MS Widows 95/98, Widows 2000 встроена поддержка одноранговых сетей. Поэтому, чтобы установить одноранговую сеть, дополнительного ПО не требуется, а для объединения компьютеров применяется простая кабельная система. Одноранговая сеть вполне подходит там, где:

· количество пользователей не превышает 10-15 человек;

· пользователи расположены компактно;

· вопросы защиты данных не критичны;

· в обозримом будущем не ожидается расширения фирмы, и, следовательно, увеличения сети.

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

– пользователь устанавливает ее самостоятельно;

– «общие» ресурсы могут находиться на всех ПК, а не только на центральном сервере.

Такая ситуация – угроза для всей сети; кроме того пользователи могут вообще не установить защиту.

Сети на основе сервера

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

Рисунок 5.27 – Структура сети на основе сервера

С увеличением размеров сети и объема сетевого трафика необходимо увеличивать количество серверов. Распределение задач среди нескольких серверов гарантирует, что каждая задача будет выполняться самым эффективным способом из всех возможных.

Круг задач, которые выполняют серверы, многообразен и сложен. Чтобы приспособиться к возрастающим потребностям пользователей, серверы в ЛВС стали специализированными. Так, например, в операционной системе Windows NT Server существуют различные типы серверов (рисунок 5.15):

Файл-серверы и принт-серверы . Они управляют доступом пользователей к файлам и принтерам. Другими словами, файл-сервер предназначен для хранения файлов и данных;

– серверы приложений (в том числе сервер баз данных, WEB –сервер) . На них выполняются прикладные части клиент серверных приложений (программ). Эти серверы принципиально отличаются от файл-серверов тем, что при работе с файл-сервером нужный файл или данные целиком копируются на запрашивающую РС, а при работе с сервером приложений на РС пересылаются только результаты запроса;

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

– факс-серверы – управляют потоком входящих и исходящих факсимильных сообщений через один или несколько факс-модемов;

– коммуникационные серверы – управляют потоком данных и почтовых сообщений между данной ЛВС и другими сетями или удаленными пользователями через модем и телефонную линию. Они же обеспечивают доступ к Интернет;

– сервер служб каталогов – предназначен для поиска, хранения и защиты информации в сети.

Windows NT Server объединяет PC в логические группы-домены, система защиты которых наделяет пользователей различными правами доступа к любому сетевому ресурсу.

Рисунок 5.28. – Типы серверов в ЛВС

При этом каждый из серверов может быть реализован как на отдельном компьютере, так и в небольших по объему ЛВС, быть совмещенным на одном компьютере с каким-либо другим сервером. Север и ОС работают как единое целое. Без ОС даже самый мощный сервер представляет собой груду железа. ОС позволяет реализовать потенциал аппаратных ресурсов сервера.

Методы кодирования цифровых сигналов

Форматы кодов

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

  • Формат БВН (без возвращения к нулю) естественным образом соответствует режиму работы логических схем. Единичный бит передается в пределах такта уровень не меняется. Положительный перепад означает переход из 0 к 1 в исходном коде, отрицательный - от 1 к 0. Отсутствие перепадов показывает, что значения предыдущего и последующего битов равны. Для декодирования кодов в формате БВН необходимы тактовые импульсы, так как в его спектре не содержится тактовая частота. Соответствующий коду формата БВН сигнал содержит низкочастотные компоненты (при передаче длинных серий нулей или единиц перепады не возникают).
  • Формат БВН-1 (без возвращения к нулю с перепадом при передаче 1) является разновидностью формата БВН. В отличие от последнего в БВН-1 уровень не передает данные, так как и положительные и отрицательные перепады соответствуют единичным битам. Перепады сигнала формируются при передаче 1. При передаче 0 уровень не меняется. Для декодирования требуются тактовые импульсы.
  • Формат БВН −0 (без возвращения к нулю с перепадом при передаче 0) является дополнительным к БВН-1 (перепады соответствуют нулевым битам исходного кода). В многодорожечных системах записи цифровых сигналов вместе с кодом в формате БВН надо записывать тактовые импульсы. Возможным вариантом является запись двух дополнительных сигналов, соответствующих кодам в форматах БВН-1 и БВН-0. В одном из двух сигналов перепады происходят в каждом такте, что позволяет получить импульсы тактовой частоты.
  • Формат ВН (с возвращением к нулю) требует передачи импульса, занимающего только часть тактового интервала (например, половину), при одиночном бите. При нулевом бите импульс не формируется.
  • Формат ВН-П (с активной паузой) означает передачу импульса положительной полярности при единичном бите и отрицательной - при нулевом бите. Сигнал этого формата имеет в спектре компоненты тактовой частоты. Он применяется в ряде случаев для передачи данных по линиям связи.
  • Формат ДФ-0 (двухфазный со скачком фазы при передаче 0) соответствует способу представления, при котором перепады формируются в начале каждого такта. При единичных битах сигнал в этом формате меняется с тактовой частотой, то есть в середине каждого такта происходит перепад уровня. При передаче нулевого бита перепад в середине такта не формируется, то есть имеет место скачок фазы. Код в данном формате обладает возможностью самосинхронизации и не требует передачи тактовых сигналов.

Направление перепада при передаче сигнала единицы не имеет значения. Поэтому изменение полярности кодированного сигнала не влияет на результат декодирования. Он может передаваться по симметричным линиям без постоянной составляющей. Это также упрощает его магнитную запись. Этот формат известен также под названием «Манчестер 1». Он используется в адресно-временном коде SMPTE, широко применяющемся для синхронизации носителей звуковой и видеоинформации.

By Northwest (Serov, CMT)

Бинарное кодирование

Без возврата к нулю

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

NRZ

Потенциальный код NRZ (перевёрнутый)

Для передачи единиц и нулей используются два устойчиво различаемых потенциала:
NRZ (прямой) :

  • биты 0 представляются нулевым напряжением 0 (В);
  • биты 1 представляются значением U (В).

NRZ (перевёрнутый):

  • биты 0 представляются значением U (В);
  • биты 1 представляются нулевым напряжением 0 (В).

NRZI

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

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

Достоинства метода NRZ:

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

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

Основная гармоника f0 имеет достаточно низкую частоту (равную N/2 Гц, где N - битовая скорость передачи дискретных данных [бит/с]), что приводит к узкому спектру.

Недостатки метода NRZ:

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

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

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

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

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

Дифференциальное манчестерское кодирование

Дифференциальное манчестерское кодирование

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

Тринарное кодирование

(c возвратом к нулю)

То есть каждый бит передается 3-мя уровнями напряжения. Поэтому требует в 2 раза больше скорости по сравнению с обычной скоростью. Это квазитроичный код, то есть изменение сигнала происходит между 3-мя уровнями.

Биполярный код AMI

Биполярный код AMI

AMI-код использует следующие представления битов:

  • биты 0 представляются нулевым напряжением (0 В);
  • биты 1 представляются поочерёдно значениями -U или +U (В).

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

HDB3

Код HDB3 исправляет любые 4 подряд идущие нули в исходные последовательности. Правило формирования кода следующее: каждые 4 нуля заменяются 4 символами в которых имеется хотя бы один сигнал V. Для подавления постоянной составляющей полярность сигнала V чередуется при последовательных заменах. Для замены используются два способа: 1)если перед заменой исходный код содержал нечётное число единиц то используется последовательность 000V, если чётное то 100V

V-cигнал единицы запрещённого для данного сигнала полярности

Тоже что и AMI, только кодирование последовательностей из четырех нулей заменяется на код -V, 0, 0, -V или +V, 0, 0, +V - в зависимости от предыдущей фазы сигнала.

MLT-3

MLT-3 Multi Level Transmission - 3 (многоуровневая передача) - метод кодирования, использующий три уровня сигнала. Метод основывается на циклическом переключении уровней -U, 0, +U. Единице соответствует переход с одного уровня сигнала на следующий. Так же как и в методе NRZI при передаче «нуля» сигнал не меняется. В случае наиболее частого переключения уровней (длинная последовательность единиц) для завершения цикла необходимо четыре перехода. Это позволяет вчетверо снизить частоту несущей относительно тактовой частоты, что делает MLT-3 удобным методом при использовании медных проводов в качестве среды передачи. Метод разработан Cisco Systems для использования в сетях FDDI на основе медных проводов, известных как CDDI. Также используется в Fast Ethernet 100BASE-TX.

Тетрарное кодирование

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

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

Код 2B1Q передает пару бит за один битовый интервал. Каждой возможной паре в соответствие ставится свой уровень из четырех возможных уровней потенциала. Паре
00 соответствует потенциал −2.5 В,
01 соответствует −0.833 В,
11 - +0.833 В,
10 - +2.5 В.