В тестовой лаборатории «КомпьютерПресс» проведено тестирование 12 внешних и одного внутреннего аналоговых модемов на предмет выяснения их производительности при работе по протоколу V.34. Тестировались следующие модемы: 3Com Courier V.Everything 56K (Model 3453), 3Com OfficeConnect 56K Business Modem (Model 3294), 3Com U.S.Robotics 56K FaxModem (Model 5630), D-Link DU-560M USB, Eline ELC-576E, Genius GM56E-V, Genius GM56USB, INPRO IDC-5614BXL/VR, Zoom/FaxModem 56K Dual Mode (Model 2949), ZyXEL Omni56K Pro, ZyXEL U-336E Plus. Вне конкурса были протестированы внешний модем U.S. Robotics Courier V.Everything и внутренний модем с интерфейсом ISA HTS Express Xs12.
Тестирование внешних модемов
Тестирование на устойчивость к затуханию
Тестирование на устойчивость к шуму
Тестирование на устойчивость к джиттеру фазы
Тестирование на устойчивость к сдвигу несущей частоты
Тестирование на корректное распознавание сигнала «занято»
Комплексное тестирование модемов на линиях различного качества
Особенности тестовых испытаний
3Com Courier V.Everything 56K (Model 3453)
3Com OfficeConnect 56K Business Modem (Model 3294)
3Com U.S. Robotics 56K FaxModem (Model 5630)
INPRO IDC-5614BXL/VR (версия микропрограммы 2.14)
Zoom/FaxModem 56K Dual Mode (Model 2949)
U.S. Robotics COURIER V.Everything — старый друг лучше новых двух
HTS Express Xs12 — модем для профессионалов
Тестирование на реальной «плохой» линии связи
ZyXEL объявляет о бесплатной модернизации модемов серии OMNI 56K к стандарту V.92
Несмотря на заявление ведущих производителей модемных чипсетов о поддержке нового стандарта V.92, для многих отечественных пользователей остается все еще актуальным протокол V.34. Согласно опросу, приведенному в 1999 году на сайте http://www.stolica.ru, только 10% пользователей могут позволить себе соединение по протоколу V.90. Несмотря на возможную неточность такого опроса, совершенно очевидно, что подавляющему большинству пользователей приходится довольствоваться скоростями ниже 33 600 бит/с. А потому актуальной остается проблема выбора модема, который «несмотря и вопреки» смог бы обеспечить как скоростное, так и гарантированно надежное соединение по протоколу V.34.
В нашем тестировании приняли участие как хорошо известные пользователям модемы, так и новые модели модемов, некоторые из которых, судя по соответствующей надписи на коробке, специально адаптированы для использования в странах СНГ. Естественно, что все современные модемы, предназначенные для конечных пользователей, поддерживают не только стандарт V.34, но и V.90. Но при тестировании модемов особое внимание уделялось именно способности работать по протоколу V.34 в условиях дестабилизирующего воздействия различного рода помех.
Прежде чем переходить к обсуждению методики и результатов тестирования, остановимся на некоторых основных аспектах теории связи и протокола V.34, с тем чтобы пояснить некоторые специфические термины, с которыми неизбежно приходится сталкиваться при настройке модемов и анализе диагностики соединения.
Немного теории
Модем предназначен для передачи/приема информации по обычным телефонным проводам. В этом смысле модем осуществляет роль интерфейса между компьютером и телефонной сетью. Его основная задача заключается в преобразовании передаваемой информации к виду, приемлемому для передачи по телефонным каналам связи, и в преобразовании принимаемой информации к виду, приемлемому для компьютера.
Как известно, компьютер способен обрабатывать и передавать информацию в двоичном коде, то есть в виде последовательности логических нулей и единиц, называемых битами. Логической единице можно поставить в соответствие высокий уровень напряжения, а логическому нулю — низкий. При передаче информации по телефонным проводам необходимо, чтобы характеристики передаваемых электрических сигналов (мощность, спектральный состав и т.д.) соответствовали требованиям приемной аппаратуры АТС. Одно из основных требований заключается в том, чтобы спектр сигнала лежал в диапазоне от 300 до 3400 Гц, то есть имел ширину не более 3100 Гц. Для того чтобы удовлетворить этому и многим другим требованиям, данные подвергаются соответствующему кодированию, которым, собственно, и занимается модем. Существует несколько способов возможной кодировки, при которых данные можно передавать по абонентским коммутируемым каналам. Эти способы отличаются друг от друга как скоростью передачи, так и помехоустойчивостью. В то же время, независимо от способа кодировки, данные передаются по абонентским каналам только в аналоговом виде. Это означает, что для передачи информации используется синусоидальный несущий сигнал, который подвергается аналоговой модуляции. Применение аналоговой модуляции приводит к спектру гораздо меньшей ширины при неизменной скорости передачи информации. Аналоговая модуляция — это такой способ физического кодирования, при котором информация кодируется изменением амплитуды, частоты и фазы синусоидального сигнала несущей частоты. Существует несколько базовых способов аналоговой модуляции: амплитудная, частотная и относительная фазовая. В модемах используются перечисленные способы модуляции, но не по отдельности, а все вместе. К примеру, амплитудная модуляция может использоваться совместно с фазовой модуляцией (амплитудно-фазовая модуляция).
Главная проблема, возникающая при передаче информации по абонентским каналам, — это повышение скорости. Скорость ограничивается шириной спектральной полосы пропускания канала связи. Однако имеется способ, позволяющий значительно повысить скорость передачи информации без увеличения ширины спектра сигнала. Основная идея такого способа заключается в использовании многопозиционного кодирования. Последовательность бит данных разбивается на группы (символы), каждой из которых ставится в соответствие некоторое дискретное состояние сигнала. Например, используя 16 различных состояний сигнала (они могут отличаться друг от друга как по амплитуде, так и по фазе), можно закодировать все возможные комбинации для последовательностей из 4 бит. Соответственно 32 дискретных состояния позволят закодировать в одном состоянии группу из пяти бит.
На практике для повышения скорости передачи информации используется в основном многопозиционная амплитудно-фазовая модуляция с несколькими возможными значениями уровней амплитуды и сдвига фазы сигнала. Такой тип модуляции получил название квадратурно-амплитудной модуляции (КАМ). В случае КАМ-модуляции состояния сигнала удобно изображать на сигнальной плоскости. Каждая точка сигнальной плоскости имеет две координаты: амплитуду и фазу сигнала и представляет собой закодированную комбинацию последовательности бит.
Для повышения помехоустойчивости квадратурно-амплитудной модуляции может использоваться так называемая треллис-модуляция (Trellis Code Modulation, ТСМ) или, иначе, решетчатое кодирование. При треллис-модуляции к каждой группе бит, передаваемых за одно дискретное состояние сигнала, добавляется еще один избыточный треллис-бит. Если, к примеру, информационные биты разбиты на группы по 4 бита (всего возможно 16 различных комбинаций), то в сигнальной плоскости размещается 16 сигнальных точек. Добавление пятого треллис-бита приведет к тому, что возможных комбинаций окажется 32, то есть количество сигнальных точек увеличится вдвое. Однако не все комбинации бит являются разрешенными, то есть имеющими смысл. В этом и заключается идея треллис-кодирования.
Значение добавляемого треллис-бита определяется по особому алгоритму. Расчетом добавляемого треллис-бита занимается специальный кодер. На принимающем модеме для анализа поступающих последовательностей битов предназначен специальный декодер — так называемый декодер Витерби. Если принимаемые последовательности являются разрешенными, то считается, что передача происходит без ошибок и треллис-бит просто удаляется. Если же среди принимаемых последовательностей встречаются запрещенные последовательности, то при помощи особого алгоритма декодер Витбери находит наиболее подходящую разрешенную последовательность, исправляя, таким образом, ошибки передачи.
Итак, смысл решетчатого кодирования — ценой сравнительно небольшой избыточности повысить помехоустойчивость передачи. Использование треллис-кодирования позволяет главным образом, защитить от перепутывания именно соседние в сигнальном пространстве точки, которые как раз более всего подвержены возможности «перепутаться» под действием помех.
Повышение скорости передачи за счет использования хитроумных способов кодирования ограничивается не только шириной полосы пропускания канала связи, но и помеховой обстановкой. Чем выше уровень шума, тем сложнее различить близко расположенные сигнальные точки. В этом случае необходимо использовать модуляцию с меньшим числом дискретных состояний, что, естественно, сказывается на уменьшении скорости передачи. Согласно известной теореме Клода Шенона, независимо от способа модуляции сигнала максимальная скорость передачи информации ограничивается шириной полосы пропускания канала связи и соотношением сигнал/шум, причем:
где С — теоретически возможная максимальная скорость передачи, выраженная в бит/с; F — ирина спектра сигнала, выраженная в Гц; S — уровень сигнала в единицах мощности; N — уровень шума в единицах мощности.
Эту формулу удобно воспринимать как состоящую из двух частей:
Первая часть, то есть ширина спектра сигнала, ограничивает скорость модуляции — количество дискретных состояний, передаваемых в единицу времени, не превосходит спектральную ширину канала связи. Вторая часть формулы определяет максимально возможное (теоретическое значение) количество бит, которые можно закодировать в одном дискретном состоянии.
Отношение сигнал/шум принято выражать не в относительных безразмерных единицах, то есть в «количестве раз», а в децибелах. При таком определении отношение сигнал/шум (Signal to Noise Ratio, SNR) выражается в виде:
где S — уровень сигнала в ваттах; N — уровень шума в ваттах.
Разобравшись с основными принципами передачи данных по телефонным каналам, перейдем к рассмотрению их практической реализации. Использование того или иного способа аналоговой модуляции зависит от протокола взаимодействия модемов между собой. Протокол взаимодействия — это своего рода набор правил, по которым происходит передача информации между модемами. Протоколом определяется и способ модуляции сигнала, и скорость передачи информации, и многое другое. В самом начале установления сеанса связи между модемами они договариваются о протоколе взаимодействия. Этот процесс, сопровождаемый характерным шипением, дословно переводится как «рукопожатие» (Handshake). В настоящее время разработано достаточно большое количество протоколов, но многие из них представляют интерес лишь с исторической точки зрения и практически не используются из-за низкой скорости передачи. К общеупотребительным относятся протоколы V.21, V.22, V.22bis, V.32, V.32bis, V.34, V.34+ и V.90. Обсуждение модемных протоколов — тема отдельной книги, поэтому мы лишь в двух словах отметим основные особенности исключительно протокола V.34. Прежде всего протоколы отличаются друг от друга максимально возможной скоростью передачи. Наиболее употребительными на сегодняшний день являются протоколы V.34+ и V.90. Остальные протоколы — менее скоростные, и их использование необходимо только в случае плохой помеховой обстановки. Для большинства пользователей модемов наиболее актуальным на сегодняшний день все еще остается протокол V.34. И дело здесь отнюдь не в качестве модема, а в качестве канала связи и в типе используемого оборудования на АТС. Протокол V.90, к сожалению, доступен далеко на всем пользователям, однако любой модем, поддерживающий протокол V.90, автоматически поддерживает и протокол V.34.
Для того чтобы разобраться с диагностикой соединения и иметь возможность правильно настроить модем, необходимо определиться с некоторыми общими понятиями и основами протокола V.34. Именно на нем мы и остановимся. Сразу отметим, что полное описание этого стандарта выходит далеко за рамки данной статьи и требует соответствующей математической подготовки. Поэтому мы попытаемся описать работу модема по данному протоколу лишь на качественном уровне.
Протокол V.34 был первым модемным стандартом, который предусматривал адаптивное изменение характеристик связи в зависимости от состояния линии. Это означает, что в процессе установления связи модем сам выбирает оптимальную символьную скорость (Symbol Rate), скорость передачи данных (Data Signalling Rate), частоту несущей (Carrier Frequency) и другие параметры соединения. Кроме того, сами параметры соединения могут и должны адаптивно изменяться при изменении качества линии связи.
В протоколе V.34 предусмотрено несколько возможных скоростей модуляции. При этом принято говорить о символьной скорости. Символьная скорость измеряется в количестве символов в секунду или, согласно английской аббревиатуре, CPS (Characters per Second). Протоколом предусматривается шесть возможных символьных скоростей (Symbol Rate) — 2400, 2743, 2800, 3000, 3200 и 3429 CPS. Отметим, что символьная скорость определяет ширину спектра передаваемого сигнала и в этом смысле могла бы измеряться и в герцах.
Несущая частота синусоидального сигнала тоже может иметь несколько различных значений: 1600, 1646, 1680, 1800, 1829, 1867, 1920, 1959 Гц. Естественно, что между символьной скоростью и частотой несущей имеется строгая зависимость, причем каждой символьной скорости, кроме наивысшей, соответствуют две различные частоты несущей гармоники (табл. 1).
Таблица 1. Связь между символьными скоростями, частотами несущего сигнала, границами спектра сигнала и битовыми скоростями
Символьная скорость (CPS) |
Битовая скорость (бит/с) |
Частота несущей (Гц) |
Границы спектра |
Частота несущей (Гц) |
Границы спектра |
||
---|---|---|---|---|---|---|---|
Fmin, (Гц) |
Fmax, (Гц) |
Fmin (Гц) |
Fmax (Гц) |
||||
2400 |
2400…21 600 |
1600 |
400 |
2800 |
1800 |
600 |
3000 |
2743 |
4800…26 400 |
1646 |
275 |
3018 |
1829 |
458 |
3201 |
2800 |
4800…26 400 |
1680 |
280 |
3080 |
1867 |
467 |
3267 |
3000 |
4800…28 800 |
1800 |
300 |
3300 |
2000 |
500 |
3500 |
3200 |
4800…31 200 |
1829 |
229 |
3429 |
1920 |
320 |
3520 |
3429 |
4800…33 600 |
1959 |
245 |
3674 |
1959 |
245 |
3674 |
Положение спектра сигнала, расположенного симметрично относительно несущей частоты, определяется как символьной скоростью, так и частотой несущей. Символьная скорость задает ширину спектра, а частота несущего сигнала определяет минимальную и максимальную частоту сигнала. Минимальная частота сигнала меньше частоты несущей на половину символьной скорости, а максимальная частота, наоборот, больше частоты несущей на половину символьной скорости. К примеру, если символьная скорость равна 3000 CPS, то при частоте несущей 1800 Гц спектр сигнала лежит в диапазоне от 1800-(3000/2) = 300 Гц до 1800+(3000/2) = 3300 Гц. При той же символьной скорости, но при частоте несущей 2000 Гц спектр сигнала лежит в диапазоне от 500 до 3500 Гц. Использование не одной, а двух частот несущего сигнала обусловливает возможность «сдвигать» спектр сигнала в сторону более высоких или низких частот в пределах полосы пропускания канала связи. Такая возможность позволяет избегать «опасных» участков полосы пропускания канала связи, в которых могут наблюдаться, например, шумы или чрезмерное затухание сигнала. При изменении параметров канала связи модемы могут пересогласовывать как символьную скорость, так и частоту несущего сигнала.
Скорость передачи данных также не является фиксированной, а может принимать различные значения в диапазоне от 2400 до 33 600 бит/с. Отметим, что возможные скорости передачи кратны 2400 бит/с. Скорость передачи данных, так же как и символьная скорость, может меняться в ходе работы, что позволяет модему адаптивно подстраиваться под изменяющиеся характеристики помеховой обстановки.
Естественно, что скорость передачи данных связана с символьной скоростью (табл. 1). Однако соотношение между этими скоростями не столь простое и очевидное, как, например, в протоколе V.32.
Дело в том, что в протоколе V.32 каждый символ состоит из целого числа бит — от 2 до 6. А поскольку символьная скорость фиксирована и составляет 2400 символов в секунду, то связь между символьной и линейной скоростью очень проста: линейная скорость равна произведению символьной скорости на количество бит в символе. Если же просмотреть таблицу соответствия между символьной и битовой скоростями в протоколе V.34, то становится ясно, что на один символ приходится дробное количество бит. К примеру, при битовой скорости 33 600 бит/с и символьной скорости 3429 CPS на один символ должно приходиться приблизительно 9,799 бит. Такое обстоятельство может показаться странным, так как понятие «символ» более чем прозрачно — это группа бит, передаваемая за одно дискретное состояние сигнала. Однако такой взгляд на символ неприемлем в протоколе V.34.
В протоколе V.34 принята несколько иная система организации передаваемых бит. Вместо группировки бит по символам они группируются по кадрам (frame). На верхней ступени кадровой иерархии находится суперкадр (superframe). Независимо от символьной и битовой скоростей длительность суперкадра составляет 280 мс. Суперкадр, в свою очередь, состоит из целого числа кадров данных (data frame). Причем количество кадров данных в одном суперкадре зависит от символьной скорости. Для символьных скоростей 2743 и 3429 суперкадр состоит из 8 кадров данных, а для остальных символьных скоростей — из 7 кадров данных. Кадр данных, в свою очередь, состоит из целого числа кадров отображения (mapping frame). Количество кадров отображения в одном кадре данных зависит от символьной скорости и может принимать значение 12, 14, 15 и 16. Сам кадр отображения сформирован из четырех кадров, каждый из которых представляет собой два 4D-символа. Не правда ли, довольно запутанная система организации данных? Но и это еще не все. Каждый кадр отображения может содержать для одной и той же символьной и битовой скоростей различное количество бит данных — это так называемые длинные (high frame) и короткие (low frame) кадры. Разница в количестве битов в длинном и коротком кадре невелика: плюс-минус один, и, естественно, протоколом строго регламентируется количество длинных и коротких кадров данных в одном кадре данных. Не вникая в дальнейшие тонкости кадровой иерархии, приведем лишь один пример. При символьной скорости 3429 CPS и битовой скорости 33 600 бит/с количество бит в одном кадре отображения может быть либо 79, либо 78, то есть длинный кадр отображения равен 79 битам, а короткий — 78 бит. В самом же кадре данных при этом должно быть 6 длинных и 9 коротких кадров отображения.
Казалось бы, после столь утомительного изложения «премудростей» кадровой организации пропадает всякое желание разбираться в этом. Поэтому попробуем более не углубляться в «дебри» протокола и подвести итог. В протоколе V.34 принята несколько иная система кодировки. Данные группируются и кодируются не символами, а кадрами отображения, каждый из которых содержит целое количество бит. При этом независимо от того, сколько бит в кадре отображения (high frame или low frame), он передается за 8 символьных интервалов. Таким образом, информационной единицей является не символ, как в протоколе V.32, а кадр отображения. На сам же символ может приходиться и дробное количество бит. Хотя более корректно говорить, что за время одного символьного интервала передается дробное количество бит данных.
Другим важным моментом, реализованным в протоколе V.34, является новая техника треллис-модуляции. Во всех остальных протоколах, использующих TCM-модуляцию, один треллис-бит добавляется к последовательности битов, приходящихся на один символ. Такая конструкция сигнального созвездия, или, иначе, сигнально-кодовая конструкция (СКК), называется двухмерной (2D). Треллис-бит образуется путем выполнения операции свертки (сверточное кодирование) над частью битов в группе. В протоколе V.34 используются четырехмерные СКК. При этом один тpеллис-бит добавляется на два последовательных символа (отсюда четыpехмеpность: две фазы плюс две амплитуды). Такая ТСМ-модуляция обозначается как 4D. Для вычисления треллис-бита используются схемы кодирования на 16, 32 и 64 состояния сверточного кода. Так, если в статистике соединения, которую выдают многие модели модемов, появляется надпись 4D-64S, то это означает, что используется четырехмерная СКК с 64-позиционным сверточным кодером.
Кадровая структура данных и четырехмерная CKK далеко не исчерпывают всех особенностей протокола V.34.
С целью повышения помехоустойчивости в протоколе V.34 предусмотрено еще несколько технологий: предкоррекция (pre-emphasis), предкодирование (precoding), нелинейное кодирование (warping, non-linear encoding).
Предкоррекция (pre-emphasis) — это особый способ введения искажений в передаваемый сигнал. Дело в том, что практически любой телефонный канал в той или иной степени искажает амплитудно-частотную характеристику сигнала. В результате какие-то частоты ослабляются, какие-то усиливаются. Это приводит к тому, что на определенных переходах между символами сигнал усиливается, тогда как на других — ослабляется. В итоге символы могут смещаться и слегка «заезжать» друг на друга (межсимвольная интерференция). Для того чтобы правильно воспринять такие символы на приемном конце, необходимо компенсировать эти искажения. Компенсация на принимаемой стороне возможна с помощью частотного эквалайзера. Однако у такого решения имеется один серьезный недостаток. Эквалайзер способен усиливать одни частоты и ослаблять другие. Но наряду с усилением и ослаблением полезных сигналов аналогичное преобразование претерпевает и шум. Более предпочтительным является такое решение, когда усиление одних частот и ослабление других происходит не на принимаемой, а на передающей стороне. То есть при передаче сигнала в него специально вводят предыскажения, которые компенсируют искажения передачи. Предкоррекция — это предыскажения, вносимые в тракт передачи на основе одного из фиксированных частотных шаблонов. Всего таких шаблонов (масок) предусмотрено 11, и каждому из них соответствует свой индекс. Эти шаблоны предполагают подъем высокочастотных составляющих спектра, что должно скомпенсировать искажения, вносимые абонентскими и соединительными линиями.
Для более точного выравнивания АЧХ в модемах используется и другой тип предыскажения — предкодирование (precoding). В отличие от предкоррекции, выполняемой по одному из фиксированных шаблонов, предкодирование подразумевает способ настройки частотного фильтра на передающей стороне. Приемник модема рассчитывает оптимальные коэффициенты коррекции сигнала и возвращает их обратно передатчику, который на их основе строит нужный фильтр передачи.
Нелинейное кодирование (warping, non-linear encoding) — это нелинейное преобразование сигнального созвездия, при котором сигнальные точки, соответствующие большей амплитуде сигнала, располагаются на большем расстоянии друг от друга, а точки, соответствующие малой амплитуде, оказываются расположенными более плотно. Нелинейное кодирование созвездия производится в том случае, если сигнал от модема передается по тракту через аппаратуру с временным разделением каналов (ВРК). Дело в том, что при аналого-цифровом преобразовании (АЦП) сигнала на АТС обычно используют такую сетку квантования уровней напряжения в линии, в которой чем больше напряжение — тем дальше друг от друга располагаются уровни квантования. Такая шкала хорошо подходит для оцифровки звука, но неприемлема для цифрового преобразования сигнала модема. Если модем будет использовать для передачи по такому каналу равномерно распределенные уровни, то символы с большой амплитудой будут получать большие ошибки из-за «нелинейной сетки» квантования канала. При использовании «нелинейного кодирования» уровни сигнала, используемые модемом, больше соответствуют «нелинейной сетки» квантования канала.
Еще одним средством повышения помехоустойчивости является специальное предкодирование Shell Mapping. Необходимость его введения вызвана следующими причинами. При большом значении сигнальных точек в СКК возникают ситуации, когда при генерации выходного кода могут появляться последовательности сигнальных точек с малой или, наоборот, с большой амплитудой. И то и другое негативно отражается на передаче. К примеру, длинная последовательность «слабых» сигналов может быть неверно интерпретирована удаленным модемом как снижение уровня передачи. Для того чтобы избежать таких ситуаций, двухмерное созвездие сигнальных точек разбивается на концентрические кольца, содержащие равное количество сигнальных точек с приблизительно одинаковым значением амплитуды сигнала, а специальные преобразования позволяют получить необходимое чередование колец.
Столь утомительный, особенно для непосвященного читателя, экскурс в «дебри» протокола V.34 должен создать впечатление, что сам протокол сложен не только для восприятия, но и для его практической, то есть аппаратной, реализации. Если с первым утверждением можно и не согласиться, то уж второе является бесспорным. Действительно, точное следование рекомендациям V.34 требует от производителей модемов использования достаточно сложной и дорогостоящей схемотехники. Именно поэтому многие производители не всегда полностью соблюдают рекомендации V.34, а в ряде случаев входят с ними в прямое противоречие. Однако конечного пользователя интересует в первую очередь не то, насколько строго его модем соответствует каким-либо рекомендациям, а то, как он работает на конкретной линии связи. Итак, перейдем от теории к практике.