Библиотека Интернет Индустрии I2R.ru |
|||
|
Как работают модемыЭто - первая часть из цикла "Как работают модемы"Так уж сложилось исторически, что есть очень много книг на русском языке про то, как пользоваться Windows, как работать с Internet, но, к сожалению, практически нет никакой литературы, которая достаточно полно с одной стороны, и понятно для неспециалиста - с другой, описывала бы работу таких непростых, но широко распространенных устройств, как модемы. Несмотря на то, что большинство пользователей компьютеров имеют представление о том, что такое Интернет, и либо время от времени, либо ежедневно пользуются им, мало кто задумывался о том, что модем, как основное некорпоративное средство доступа в Интернет на сегодня, едва ли не самое слабое звено в цепочке, по которой информация попадает на дисплей пользователя! Как-то само собой подразумевается, что купил в магазине модем, подключил к компьютеру и телефону, и все, больше не о чем беспокоиться. В этом цикле статей будет сделана попытка наглядно показать, сколь далеко это представление от действительности, и будут даны практические советы, как можно улучшить ситуацию. Материал рассчитан на того, кого называют Advanced user, то есть интересующегося далее простого нажимания на кнопки пользователя, но - пользователя, а не специалиста в цифровой обработке сигналов. Многие принципы и особенности работы модемов будут сознательно упрощены так, чтобы не отнимать лишнего времени у тех, кому важно решить главный вопрос - улучшить качество работы через телефонную сеть, понимая, что именно там происходит. Не в качестве саморекламы, но лишь с целью расстановки точек над 'i' отметим, что сами авторы этих статей как раз являются самыми что ни на есть профессионалами в этой области, несколько лет занимающиеся конкретно адаптацией модемов под Российские телефонные линии, и написавшие свои реализации многих популярных протоколов связи, таких как V.34 и прочих V.xx. Итак, часть первая: что такое модем, и как он работает.Эта часть, надо признаться, потребует от Вас некоторого вспоминания физики уровня средней школы, поэтому если Вам этого не хочется делать, Вы можете ее пропустить. Однако, мы будем в дальнейшем ссылаться на такие термины, как символьная скорость, глубина модуляции, полоса пропускания канала и сигнал/шум, поэтому Вам либо придется запомнить как факт, что и как на что влияет, или все же прочитать нижеследующий раздел про то, как же модем передает информацию. В любом случае, в конце раздела есть резюме. Модем представляет собой устройство, имеющее, с внешней точки зрения, цифровой интерфейс c компьютером (обычно последовательный порт RS-232) и аналоговый интерфейс с каналом связи (телефонной линией) - разъем для телефонного кабеля (RJ-11). "Внутри" модем представляет собой микрокомпьютер с достаточно мощным процессором (иногда несколькими), постоянной и оперативной памятью, и аналоговой частью, ответственной за сопряжение модема с телефонной сетью - устройство набора номера, усилитель, АЦП и ЦАП - Аналого-Цифровой и Цифро-Аналоговый Преобразователи, ответственные за преобразование сигнала из аналоговой формы (непрерывный сигнал-напряжение) в цифровую (отдельные отсчеты сигнала, дискретизованные по времени и квантованные по напряжению), и наоборот, соответственно. Практически все современные модемы производят обработку информации в цифровой форме, без сколь-либо сложной аналоговой предобработки, так как это позволяет добиться высокой стабильности и в значительной степени упростить разработку и анализ алгоритмов. При этом обычно частота дискретизации (скорость следования отдельных отсчетов оцифрованного сигнала) находится в пределах 7-12 тысяч отсчетов в секунду (килоГерц, kHz). Теоретически, частота дискретизации должна быть как минимум в два раза выше максимальной частоты сигнала, для того, чтобы сигнал был представим отдельными отсчетами без потерь. Количество уровней квантования для ЦАП и АЦП современных модемов достигает десятков тысяч. Обычно, поскольку с "цифровой стороны" ЦАП и АЦП пишутся или читаются в виде числа, говорят о количестве разрядов у ЦАП/АЦП, т.е., количестве разрядов двоичного числа, требуемого для представления всех возможных уровней, например, 16-разрядный АЦП может распознавать 65536 уровней, обозначаемых числами от -32768 до +32767. Давайте посмотрим на это устройство вот с какой стороны: понятно, что его задача - пересылать информацию с одного компьютера на другой. В случае работы в Интернете - с компьютера клиента на компьютер провайдера, и наоборот. Дабы упростить себе жизнь, будем пока считать, что модем выполняет всего одну, примитивную функцию - модулятора-демодулятора цифрового сигнала (кстати, именно отсюда и взялось сокращение - модем). Будем считать, что он уже набрал номер, установил соединение, начал передавать и принимать данные, и нам интересен пока лишь процесс, как байты информации идут от удаленной стороны к нам, и наоборот. Как же это происходит? Рассмотрим подробнее, как же модем кодирует сигнал и как помехи этому мешают. Наиболее популярные ныне протоколы передачи данных - V.34 и V.32 - используют амплитудно-фазовую модуляцию сигнала. Базовый сигнал - несущая синусоида определенной протоколом частоты при передаче модулируется, т.е. подвергаются изменению ее амплитуда, то есть уровень, и фаза (сдвиг фазы сигнала относительно немодулированной "исходной" синусоиды). При этом состояния сигнала, характеризующиеся неизменной амплитудой и фазой, последовательно сменяют друг друга. Каждое такое состояние кодирует небольшое количество битов данных и называется одним символом (не путать с буквами и цифрами). Скорость, с которой символы сменяют друг друга, называется символьной скоростью (Symbol rate в статистике модема). Она определяется протоколом, для V.32 она всегда равна 2400 символов в секунду, для V.34 может достигать 3429 символов в секунду. Таким образом, у нас уже два параметра - символьная скорость и частота несущей. Когда один символ сменяется другим, происходит изменение (увеличение или уменьшение) амплитуды и сдвиг фазы ("вперед" или "назад") сигнала. Мгновенно ни амплитуда, ни фаза измениться не могут - это потребовало бы бесконечной скорости изменения сигнала (напряжения и тока) в канале, т.е. неограниченной полосы пропускания канала. Обычно же требуется передать максимум информации, заняв отведенный диапазон частот. Минимальный диапазон частот, требующийся для передачи сигнала, в котором фаза меняется максимально быстро (худший случай с точки зрения занятия полосы частот) вперед или назад, то есть, на половину периода несущей за один символьный интервал, в точности равен символьной скорости в Гц. Например, если фаза сигнала должна сдвигаться вперед на половину периода несущей за время передачи одного символа, частота сигнала в ходе этого перехода как минимум должна достигать ((исходной частоты несущей) + (символьная скорость)/2). В противном случае будет накапливаться "отставание" фазы сигнала от требуемой. Для того, чтобы "вписать" сигнал в этот минимально необходимый диапазон частот, переходы между символами сглаживаются с тем, чтобы скорость изменения сигнала (и его частота, соответственно) не превышала это ограничение. Например, если требуется существенный сдвиг фазы "вперед", этот сдвиг происходит не мгновенно, а постепенно. В течение этого переходного периода частота сигнала в канале будет выше исходной частоты несущей (слышимый тон - выше), поскольку для сдвига фазы вперед требуется более быстрое изменение сигнала. И наоборот, для сдвига фазы назад требуется замедление изменения сигнала, и слышимый ухом тон - ниже. А поскольку такие переходы происходят часто (с символьной скоростью, т.е., более 2000 раз в секунду), и требуемые величины изменения фазы сигнала достаточно случайны, в результате, когда модем передает данные, мы слышим не ровный тон, или последовательность тонов, а "шипение", т.е., в среднем все частоты в рабочей полосе используются одинаково часто. Если рассмотреть спектр сигнала за длительный период времени, он будет равномерным, с центром, совпадающим с частотой исходной несущей, простирающимся в ширину симметрично влево и вправо от центральной частоты несущей на полосы частот, равные половине символьной скорости. Таким образом, для рассматриваемых протоколов ширина спектра сигнала равна символьной скорости. Остановимся пока на этом, и посмотрим, что же предоставляет нам телефонная линия. А предоставляет она нам обязательство пропускать наши сигналы до удаленного абонента в полосе частот от 300 до 3400 герц, и, будем надеяться, без искажений. Очевидно, что модем должен выбрать такую несущую и такую символьную скорость, чтобы несущая поместилась ровно посередине между 300 и 3400, а символьная скорость была в точности равна 3400-300. Это - необходимое и достаточное условие для того, чтобы спектр сигнала модема ровно занял весь предоставляемый канал. Если он займет меньше, значит часть канала будет неиспользована, и модем сможет передать меньше информации, чем мог бы. Если он займет больше, то часть спектра будет обрезана и удаленный модем его не получит, а, стало быть, не получит и части передаваемой информации. Вообще, есть теоретический предел пропускной способности канала, который нельзя превысить никакими силами. Сколько бы мы ни старались, и как бы мы ни приспосабливали форму нашего сигнала к параметрам линии, мы не сможем передать информации больше этого теоретического предела. Таким образом, главная задача модема - так приспособиться к каналу, чтобы передать через него все, что канал может пропустить. Продолжим теперь про модуляцию. К паре параметров сигнала - центральной частоте и ширине спектра (т.е. частоте несущей и символьной скорости) нам надо знать про третий определяющий параметр - назовем его глубиной модуляции. Хотя это не до конца правильный термин в данном применении, но сильно похож. Он говорит о том, сколько разных состояний может быть у передаваемого сигнала. Вспомним, что модем передает один символ (не букву!), какое-то время. А затем - другой символ. Символы отличаются друг от друга. Так сколько же всего может быть разных символов? Это зависит, главным образом, от того, сколько разных амплитуд и фаз мы можем передать в канал так, чтобы с противоположной стороны их еще не путали друг с другом. Иными словами, сколько градаций по амплитуде и фазе мы можем выбрать так, чтобы с той стороны они еще однозначно отличались. Как несложно посчитать, например 16 градаций по амплитуде и 16 по фазе дают 16*16=256 различных состояний сигнала, с помощью которых можно закодировать 8 битов информации. В этом случае при символьной скорости, например, в 1000 символов в секунду мы получим скорость передачи информации ровно 8000 битов в секунду. Если глубина модуляции меньше, то есть число состояний сигнала всего 32, к примеру, то мы получим 5 бит за символ, то есть 5 килобит в секунду. Если символьная скорость возрастет до 2000, это будет уже 10 килобит в секунду. На протоколе V.32 каждый символ соответствует группе бит. При этом эта группа, очевидно, состоит из целого числа бит - от 2 до 6. А поскольку символьная скорость равняется 2400 символов в секунду, добавление очередного бита в группу (и увеличение количества используемых символов в два раза, соответственно), приводит к увеличению битовой скорости на 2400бит/с. Именно поэтому поддерживаемые V.32 скорости - от 4800 до 14400 бит/с с шагом в 2400. Протокол V.34 кодирует символы не по одному, а группами по 8 (так называемыми "кадрами отображения", mapping frames). При этом каждая группа имеет некоторые параметры (амплитудную огибающую), общие для всех 8 символов. За счет этого на один символ может приходиться "дробное" количество бит. Однако из соображений совместимости, список поддерживаемых битовых скоростей и на V.34 состоит из скоростей, кратных 2400, даже если символьная скорость выбрана не 2400, а большая. Например, известная Вам скорость 33600 бит/сек получается при передаче 79 бит на группу из 8 символов на символьной скорости 3429. А теперь опять посмотрим на то, что нам предоставляет линия. С точки зрения увеличения числа состояний сигнала, она предоставляет нам параметр, именуемый динамическим диапазоном. То есть разницу между самым громким и самым тихим сигналом, который линия еще может пропустить без искажений. Сверху это обычно ограничивается перегрузочной способностью канала, а снизу - уровнем шумов канала. Иначе это еще называют соотношением сигнал/шум (SNR), то есть во сколько раз сигнал на приемной стороне громче шума, к нему примешиваемого. При этом помнят о том, что увеличение громкости сигнала сверх предела, допускаемого линией, невозможно. И, наконец, еще раз про помехи. Все они сводятся к тому, что модем либо временно перестает различать сигнал, либо вовсе теряется точка привязки, то есть происходит так называемый срыв синхронизации, и модем уже не может без специальных процедур восстановления (retrain) нормально отделять ни символы друг от друга, ни понять, насколько фаза сигнала отличается от образцовой. Теперь краткое резюме всего изложенного.
Часть вторая - что такое телефонная линия, и как она мешает нам жить.Телефонная линия представляет собой пару проводов, которые идут от Вас на АТС, некоторое оборудование на АТС, называемое абонентским комплектом, затем межстанционное оборудование, которое передает сигнал на удаленную АТС, там имеется удаленный абонентский комплект, от которого идет пара проводов до провайдера(к примеру). Таким образом, первая интересная нам особенность состоит в том, что телефонная линия - это не просто два провода, которые у Вас на столе начались, а у провайдера - закончились. К сожалению, все намного сложнее и капризнее. Что же предоставляет Вам АТС при помощи всей этой цепочки? Идеально - некий канал для передачи аналоговой информации, то есть - голоса, с некими нормированными параметрами, такими как затухание сигнала, полоса пропускания, уровень шумов, динамический диапазон и т.п., то, что в сумме своей отличает хорошую линию от плохой. В реальной же жизни, кроме всего упомянутого по ГОСТу, как правило, Вам "предоставляются" в нагрузку еще одно или несколько из:
К чему все это приводит? Если кратко, то к очень простой вещи: модем кодирует каждый байт информации определенным состоянием сигнала, который он передает на другую сторону. Удаленный модем смотрит на линию, определяет форму, фазу, амплитуду и т.п. сигнала, и декодирует это опять в байты информации. Если линия вносит искажения, то состояния сигнала становятся плохо различимыми на удаленной стороне, или, хуже того, начинают путаться друг с другом, и удаленный модем неправильно декодирует информацию, получая неверный результат. А откуда это все берется? Оттуда же, откуда и разбитые дороги. И исчезнет тогда же. Причем, как правило, основные проблемы вносят либо соединительные провода до Вас, либо межстанционная аппаратура. Первое обычно трещит, а второе - искажает и ослабляет. Мы рассмотрим далее, как можно бороться и с тем, и с другим. Но стоит обратить внимание и на еще один источник проблем. Это, как ни странно, то, что стоит у Вас, у абонента! Первейший враг модемной связи и источник снижения ее качества - это разного рода офисные АТС. Причем, вовсе не кустарные поделки наших или китайских умельцев, а именно дорогие миниАТС ведущих фирм. Кустарные-то поделки обычно представляют в основном реле, которые коммутируют ваш телефон на городскую линию и все, а вот серьезные миниАТС обычно имеют еще довольно много сервиса, который реализуется за счет дополнительных подключений к сигнальным проводам. Вы можете быть сильно удивлены, увидев лично разницу в работе между прямым подключением модема к телефонным проводам, и подключением через офисную станцию. Вторым врагом в Вашем доме являются телефоны, подключенные не после модема, для чего у него сделано второе гнездо, а параллельно модему. То, что на телефоне повешена трубка, ничего не меняет: он же в состоянии воспринимать звонок и звенеть, а, стало быть, подключен к телефонной линии и искажает сигнал на ней. Особенно плохо с советскими АОНами, которые не только портят сигнал пассивно, но в придачу еще и активно подмешивают в линию фон от сети, шумы от низкокачественной собственной электроники и т.п. Вообще, гениальное, как все простое, правило: приходящий к Вам сигнал нельзя улучшить, подключая к линии что-либо, его можно либо ухудшить, либо, в лучшем случае, не ухудшить. Уж что пришло - то Ваше, но больше Вы из линии не добудете, что к ней ни подключайте. Можно либо сохранить то, что пришло, и отдать это на обработку модему, либо сначала испортить. Всякие поделки из серии "улучшатель приема факсов" не выдерживают никакой критики, и могут пригодиться лишь для самых дешевых факсов и модемов, поскольку в любом серьезном модеме электроники на входе стоит на порядок больше, чем в этих поделках, и ничего нового они туда добавить не могут. Если их авторы рекламируют улучшение параметров сигнала, например сигнал/шума, то, следуя логике, если поставить их подряд штук 100, то можно так его улучшить, что модемы начнут работать быстрее локальной сети! Мы оставим за пределами нашего цикла рассмотрение идей с вечными двигателями и прочими внешними улучшателями сигнал/шумов. Третий враг связи в Вашем доме - это разного рода уплотнительные устройства, такие как АВУ. Даже если АВУ стоит у Ваших соседей, а у Вас - низкочастотный канал, то все равно на лестнице Вы найдете такую круглую коробку с катушками, которая портит жизнь не только соседскому модему, но и Вашему тоже, поскольку вносит фазовые и частотные искажения в сигнал. Убирать эту катушку нельзя, иначе при наборе номера на Вашем телефоне у соседей в трубке будет нечто, похожее на стрельбу из пулемета. Кроме АВУ, те же проблемы дает и блокиратор, если телефон спаренный. Часть третья - почему модемы стоят по-разному.Кроме понятных причин - реклама, имя фирмы, наценки торговли, есть главная, по которой модемы отличаются, бывает больше чем в 10 раз по цене друг от друга: насколько они в состоянии обработать то, что к ним приходит, без потерь. Как отмечалось выше, есть некоторый теоретический предел скорости передачи сигнала через телефонную сеть, и все отклонения от оптимальных решений лишь понижают скорость. Не считая набора сервисных и дополнительных возможностей, таких как голосовой режим, прием факсов и т.п., цену модема, главным образом, определяют три вещи:
Часть модема, называемая супервизором, может только понижать скорость передачи при увеличении помех на линии, а может гораздо более детально отслеживать все, что происходит, и так варьировать параметры модуляции сигнала, чтобы в минимальной степени снижать скорость передачи, наиболее точно подстраиваясь под особенности данной телефонной линии. Как бы хорошо ни работала аналоговая часть модема и алгоритмы цифровой обработки, но если параметры модуляции будут выбраны неадекватно, или же модем будет плохо отслеживать изменение состояния линии и не вовремя их изменять, то о близкой к теоретически-максимальной скорости передачи информации можно смело забыть. Причем, если первые два пункта можно строить по принципу "сколько есть денег, на столько и припаяем/напишем", то адекватность поведения модема на линии измеряется не только объемом затраченных на разработку или заплаченных клиентом денег, поскольку ведь ни модем, ни его разработчики никогда не знают точно, что произойдет на линии через пять секунд, и не могут выбрать единственно верное поведение в данный момент. Поэтому задача определения поведения модема на линии решается в первую очередь на основании знаний особенностей телефонии в данном конкретном месте, и написании тысячи алгоритмов и алгоритмиков, которые пытаются распознать типичные проблемные ситуации и выбрать адекватное решение. Надо ли говорить, что ни одна, даже самая ведущая западная фирма никогда не сможет сделать ничего похожего, поскольку не знает (а как правило - и не желает знать) всего того, чем отечественная телефония отличается от нормальной. В отличие от автомобиля, где большие колеса и крепкая подвеска решают проблемы плохих дорог, модем должен именно подстраиваться под линию, в нем нельзя просто поставить передатчик на два киловатта и приемник на полмикровольта, чтобы справиться с нашими плохими линиями. Как модем борется с проблемами на линии.1. Чрезмерное ослабление сигнала (слышно тихо).Для того, чтобы основные подсистемы модема работали хорошо, необходимо, чтобы сигнал на их входе был в области допустимых значений, т.е. не переполнял разрядную сетку и не был слишком мал. Для нормирования мощности сигнала на входе, практически все модемы имеют систему АРУ (Автоматическую Регулировку Усиления), призванную приводить мощность сигнала к требуемому последующими системами модема уровню. Базовая идея системы достаточно проста - необходимо периодически измерять мощность сигнала на входе и так подстраивать коэффициент усиления (множитель, на который умножается входной сигнал в простейшем случае), чтобы после этого коэффициента мощность сигнала соответствовала ожидаемой. Т.е. происходит ослабление или усиление входного сигнала. Очевиден тот факт, что при усилении тихого сигнала вместе с полезным сигналом во столько же раз усиливаются и шумы, т.е., соотношение сигнал/шум улучшено быть не может в любом случае. А вот ухудшено может быть легко. Например, если АРУ выполнено исключительно в цифровой части модема (после АЦП), и АЦП имеет небольшое количество разрядов, возможно, что подавляющая часть разрядов АЦП будет использоваться только при работе с очень громкими сигналами, а на обычной телефонной линии реально "работать" будут немного разрядов, например, как будто использован не 16-разрядный АЦП, а 3-разрядный. Небольшое количество разрядов (и, соответственно, распознаваемых уровней напряжения для АЦП) может привести к тому, что цифровой сигнал будет неточно соответствовать аналоговому сигналу на входе модема. При этом неизбежно ухудшение связи. Эффект очень похож на добавление шума в линию, с мгновенными значениями равными половине разницы между соседними уровнями квантования - недаром такие шумы называются "шумами квантования". Для уменьшения шумов квантования АЦП должен иметь достаточно высокое разрешение (количество разрядов) для того, чтобы обеспечивать требуемую точность во всем диапазоне входных сигналов (с учетом работы внутреннего АРУ). Иногда в "продвинутых" модемах в аналоговую часть встраиваются системы управления усилением входного сигнала еще до АЦП (для увеличения количества разрядов АЦП, реально используемых при работе модема). 2. Эхо ("заворот" собственного сигнала назад или отражения от дальних объектов).Практически все скоростные протоколы передачи данных, предназначенные по телефонной сети, используют один и тот же диапазон частот и для передачи и для приема (напомним, что современные протоколы, такие как V.32 и V.34, являются дуплексными, т.е., передача ведется одновременно в двух направлениях). Несмотря на то, что два сигнала в одном диапазоне, казалось бы, должны мешать друг другу, этого не происходит. Дело в том, что при правильном согласовании сопротивления модема, телефонного кабеля и станционного оборудования, модем не должен слышать сигнала, который сам передает. Между АТС, как правило, используется каналообразующая аппаратура, в которой прием и передача вообще разделены. И если удаленный модем, кабель от него до абонентского комплекта и сам абонентский комплект также правильно согласованы, то передатчик нашего локального модема в принципе не должен мешать работать его приемнику. На практике, к сожалению, все не так просто. Из-за рассогласованности сопротивлений аппаратуры и кабелей, "заворот" сигнала передатчика на свой же приемник может во много раз превышать сигнал удаленного модема, особенно, если он сильно ослаблен из-за плохого состояния кабелей или разрегулированности аппаратуры АТС. Кроме того, возможно возвращение задержанного по времени "эха" сигнала, возникающего по той же причине, с противоположного конца. Возможно даже наличие нескольких "эхо", возникающих благодаря некачественным стыкам кабелей, участкам переприема, и т.п. К счастью, большинство причин возникновения "эхо" стационарны (не изменяются или медленно меняются во времени), и могут быть описаны линейной моделью канала. Это делает возможным для модемов оценить вид "эхо" на этапе установления соединения (или после установления соединения соединения в ходе "ретрейна"), построить модель канала, и в дальнейшем, зная, какой сигнал передается, рассчитывать ожидаемое "эхо" и вычитать его из принимаемого сигнала, делая возможным распознавание сигнала удаленного модема даже на фоне достаточно громкого "заворота" собственного сигнала. Задачей оценки и подавления эхо собственного сигнала занимается подсистема под названием "эхогаситель" ("echo-canceller"). Как и большинство задач в обработке сигналов, эта задача может решаться более или менее успешно. Как правило, эхогаситель моделирует образование эхо в канале, используя линейный фильтр с конечным размером временного отклика, размер которого определяется количеством коэффициентов фильтра. Если этот размер недостаточен для того, чтобы адекватно "покрыть" эхо, часть эхо-сигнала останется непогашенной, и, соответственно, прибавится на последующих стадиях обработки к остальным шумам. Если по тем или иным причинам модель канала рассчитана не точно (шумы помешали правильно настроить фильтр, разрядности коэффициентов фильтра не хватило, алгоритм настройки был выбран неудачно), ошибка в оценке эхо также прибавится к шумам в дальнейшем. Кроме того, если эхо имеет нелинейную природу и не может быть описано применяемой моделью, также погасить его не удастся. К счастью, последнее бывает достаточно редко. В худшем случае, если остаточная ошибка будет настолько велика, что не позволит нормально детектировать сигнал удаленного модема, связь установить не удастся. 3. Перекос АЧХ (глухой звук, плохая разборчивость)Практически любой телефонный канал в той или иной степени искажает амплитудно-частотную характеристику сигнала. В результате, какие-то частоты ослабляются (обычно на краях полосы пропускания, особенно сверху), какие-то усиливаются. Это приводит к тому, что на определенных переходах между символами (соответствующих усиливаемым частотам) сигнал усиливается, на других (соответствующих ослабляемым частотам) сигнал ослабляется. В результате, символы могут смещаться и "заезжать" слегка друг на друга. Для того, чтобы продетектировать их на приемном конце, необходимо компенсировать эти искажения. Этой задачей обычно занимается "эквалайзер" модема, выполняющий функции, сходные с функциями эквалайзера бытовой аудиоаппаратуры, с той лишь разницей, что обычно количество параметров его гораздо больше, настраивается он автоматически на этапе установления соединения или "ретрейна", и качество его настройки может быть охарактеризовано количественно - тем, насколько близок сигнал на его выходе к желаемому. Как правило, эквалайзер выполняется в виде линейного адаптивного фильтра, т.е. исходят из линейной модели канала, что обычно очень близко к реальности. Также, как и в случае с эхогасителем, все, что не смог компенсировать эквалайзер, становится дополнительными шумами, мешающими работать последующим подсистемам модема. Компенсация искажений на приемной стороне эквалайзером имеет свою оборотную сторону. Если мы поднимаем частоты, сильно ослабленные каналом, происходит также усиление шумов на этих частотах. Для сохранения соотношения сигнал-шум в современных протоколах (например, V.34) применяют предыскажение сигнала на передающей стороне, например, подъем верхних частот (продолжая аналогию с бытовой аудиоаппаратурой, можно заметить, что популярная в свое время в бытовой аналоговой звукозаписи система шумоподавления "Dolby B" идет тем же путем - при записи на магнитофон высокие частоты искусственно усиливаются, при воспроизведении - ослабляются, в результате высокочастотные шумы магнитофона меньше слышны при воспроизведении). В протоколе V.34 предусмотрено два вида предыскажений сигнала при передаче: "pre-emphasis" и "non-linear precoding". Первое есть ни что иное, как использование одного из нескольких предусмотренных стандартом фиксированных фильтров, в большей или меньшей степени поднимающих верхнюю часть спектра сигнала при передаче. Второй вид предыскажений ("нелинейный прекодер") использует настраиваемые коэффициенты, определяемые принимающим модемом при установлении соединения с тем, чтобы внести в сигнал предыскажения, по возможности точно компенсирующие искажения, вносимые каналом связи. Фактически, это "кусочек" эквалайзера принимающего модема, перенесенный на передающую сторону. Слово "нелинейный" объясняется тем, что при внесении предыскажений прекодер может "скачкообразно" заменить передаваемые символы с целью гарантирования стабильности фильтра прекодера (поскольку последний имеет обратную связь). Не следует путать "нелинейный прекодер" с еще одной "нелинейной" штукой - "нелинейным кодированием созвездия", которое некоторые модемы называют "warping". Последнее есть нелинейное (точнее, близкое к логарифмическому) отображение передаваемых символов, при котором символы, имеющие большую амплитуду, оказываются на большем расстоянии друг от друга, а имеющие относительно небольшую амплитуду - оказываются расположенными более плотно. Возможность такого кодирования предусмотрена на таких протоколах, как V.34, а также V32Terbo. "Нелинейное кодирование созвездия" производится для того, чтобы расстояния между символами примерно соответствовали уровням квантования телефонного сигнала, передаваемого через цифровую каналообразующую аппаратуру, получившую большое распространение во всем мире. Цифровые телефонные системы передают звук в цифровом виде, в аналоговую форму он преобразуется только на "концах" канала, где происходит сопряжение с аналоговой аппаратурой и собственно абонентской линией с использованием ЦАП и АЦП (почти как в модеме). А поскольку эти системы изначально разрабатывались и используются в первую очередь для передачи человеческого голоса, их АЦП и ЦАП обычно используют такую сетку квантования уровней напряжения в линии, в которой чем больше напряжение - тем дальше друг от друга располагаются уровни квантования. Такая "логарифмическая" шкала примерно соответствует чувствительности человеческого уха, что позволяет при использовании относительно небольшого количества уровней закодировать звук, сохраняя субъективное его качество. Если модем будет использовать для передачи по такому каналу равномерно распределенные уровни, то символы с большой амплитудой будут получать большие ошибки из-за "логарифмического квантования" канала. При использовании "нелинейного кодирования созвездия", уровни сигнала, используемые модемом, лучше соответствуют "логарифмическому квантованию" канала. И наоборот, если канал связи не использует логарифмического квантования (не содержит цифровых каналообразующих систем, а есть либо просто "кусок провода", либо проходит только через аналоговую аппаратуру), использование "нелинейного кодирования созвездия" может ухудшить качество связи, поскольку символы с малыми уровнями будут более подвержены шуму, чем были бы все символы, если бы использовалась равномерная шкала. Поэтому большинство модемов позволяют включать или выключать это кодирование. 4. Постоянные помехи (фон, гудение, разговор соседей, музыка от радио)Помехи (шум, посторонние звуки) в канале складываются с сигналом передающего модема, в результате принимаемые на противоположной стороне символы отличаются от того, что должно было бы быть получено. И, если искажения АЧХ канала модем может оценить и компенсировать, то случайные воздействия на сигнал из-за помех предсказать и учесть невозможно в принципе. Если помехи имеют локализованный частотный спектр, т.е., не совсем случайны - например, помехи в области нижних частот из-за "помех питания" - 50Гц и их гармоники, или высокочастотные шумы с верхней стороны спектра, то модем может попытаться выбрать для работы такую полосу частот, которая не перекрывается со спектром шумов. Например, протокол V.34 для этого имеет возможность некоторого варьирования ширины используемой для работы полосы частот (выбором одной из 6 символьных скоростей) и перемещения ее "вверх" или "вниз" по спектру путем выбора одной из двух несущих. Возможность использования той или иной полосы частот для работы выбирается на этапе установления соединения или "ретрейна", по результатам тестирования линии. Другие стандартные протоколы не имеют и таких возможностей. К сожалению, для обеспечения высокой скорости передачи требуется широкая полоса сигнала, поэтому, если шумы не локализованы в нижней или верхней части спектра, скорее всего, их полоса перекроется с полосой, используемой для передачи данных, даже если шум узкополосный. Иногда это приводит к полной невозможности использования скоростного протокола, типа V.34 или V.32. В таких случая, возможно, удастся передать данные с использованием низкоскоростных протоколов (например, V.22/V.22bis), обеспечивающих передачу со скоростями 1200 или 2400бит/с, или даже V.21 (300бит/c). Продолжение на iXBT. Михаил Лихачев, Дмитрий Утянский |
|
2000-2008 г. Все авторские права соблюдены. |
|