Главная > Компьютеры и комплектующие > Коммуникации > |
Как устроен V.34 |
Секция 1 из 2 - Предыдущая - Следующая
* From : Andrey Kuvaldin, 2:5020/234.21 (Tuesday January 20 1998 21:05) * Subj : Как устроен V.34 -- Это должен знать каждый! ============================================================================= Добрый день! Это обещаный ликбез по теории связи вообще (на тему битовых/символьных скоростей и SNR) и тому, как это реализовано в протоколе V.34 - в частности. Является приложением к сообщению об истинных причинах пресловутого СИНДРОМА 21600/V34 у модемов USR, во всяком случае подбор материала делался в расчете на эту проблему. Впрочем, данный текст может представлять и самостоятельный интерес. Для начала - немного теории. ---------------------------- Итак, согласно теореме Шеннона, теоретический предел для скорости в канале с ограниченной полосой и гауссовским шумом определяется двумя параметрами: шириной полосы и соотношением сигнал/шум (Signal to Noise Ratio). V [bit/sec] = F * log2 (1 + S/N) F - шиpина полосы (Гц) S/N - отношение мощностей сигнала и шума в *разах* [и в этой полосе!]. Для SNR, выраженного в dB, формулка такая: > V = F * log2 [1 + 10^(SNR/10)]. Первый сомножитель определяет, сколько различимых физических состояний сигнала можно передать через канал так, что они не перемешаются между собой (не наедут друг на друга). Это так называемая модуляционная (или символьная) скорость. Второй сомножитель определяет, сколько бит информации может быть закодировано в каждом из этих состояний таким образом, что на приемном конце их можно будет отличить друг от друга (т.е., что они не перепутаются из-за помех). Физически в модемах все это реализовано так: сигнал представляет собой несущую (просто синусоиду опр. частоты), дискретно промодулированную по фазе и амплитуде. Т.е., друг за другом идут фрагменты этой синусоиды с разными амплитудами (несколько фиксированных значений) и сдвигом фазы отн. предыдущего фрагмента (---------------::---------------). Границы, естественно, оказываются смазаны из-за ограниченности спектра. Подробнее - см. мое сообщение про MSE в SU.INPRO, еще подробнее - пасковатую голубую книгу ftp.sw.ru/pub/modem/analytic/ablueboo.zip. *ВНИМАНИЕ*. Не путайте символ и байт - это _совершенно_разные_вещи_! Байты в модемной связи заканчиваются ровно в тот момент, когда они попадают в последовательный порт (м/с UART) и появляются снова только в COM-порту второго модема. Внутри модема данные - это не более чем поток *битов*, который модемом нарезает так, как ему удобно. В частности, при передаче на каждое физическое состояние может быть навешено столько битов, сколько позволяет текущий SNR. Поэтому "символ" может содержать и один бит, и два, и пять, и восемь, и даже деcять (на 33600). Но я отклонился от темы. Итак, рабочая полоса - это диапазон частот от (carrier_freq - 1/2*symbol_rate) до (carrier_freq + 1/2*symbol_rate). Т.е., при полосе f1...f2 логично выбрать частоту несущей посередине этого диапазона. Считается, что стандартная полоса телефонной линии составляет 3100 Гц: от 300 до 3400 Гц, хотя реально бывает и больше: при ИКМ-кодировании с частотой дискретизации 8 кГц полоса может достигать 4000 Гц. А на старом и/или расстроенном оборудовании - наоборот, полоса может быть и меньше 3100 Гц. ;-/ Вот несколько значений расчетной скорости -- не в качестве догмы, а исключительно чтобы читателям было легче "прочувствовать" формулу. По вертикали - SNR в dB, по горизонтали - полоса в Гц, в таблице - предел Шеннона в кбит/сек. Числа выбраны так: 2400 - симв. скор. для V.32 и младшая для V.34, 3100 - стандартная полоса 300...3400 Гц, 3429 - старшая симв. скорость для V.34, | 2400 3100 3429 ---+------------------------ 10 | 8.303 10.724 11.862 15 | 12.067 15.586 17.240 20 | 15.980 20.640 22.831 25 | 19.943 25.759 28.493 30 | 23.921 30.898 34.178 35 | 27.905 36.044 39.870 40 | 31.891 41.192 45.564 Реальная скорость - конечно же, всегда меньше. Меньше она не только потому, что это - теоретический предел, но еще и потому, что реальный шум вовсе не обязан удовлетворять условию теоремы (и, будьте уверены, не удовлетворяет). Свой вклад дают и импульсные помехи, впрочем не будем мешать все в одну кучу. Реально при полосе 2400 и SNR = 10 dB - 4800 бит/сек как счастье, а при полосе 3429 и SNR = 40 dB - 33600 живет не всегда. Другими словами, для получения более-менее реалистичной таблички из каждой скорости нужно вычесть 5-10 кбит/сек, а то и побольше. А теперь, собственно, про V.34 ------------------------------ На всех протоколах ниже V.34 символьная скорость (как впрочем и многое другое) фиксированная. Девизом же V.34 является "чего хотел - то получай", т.е. протокол асимметричен с головы до ног, и каждый параметр заказывается модемом в свою сторону независимо - по результатам измерений во время startup/retrain. В частности, модемы на V.34 адаптивно выбирают частоту несущей и символьную скорость, измеряя частотную характеристику на этапе входа в протокол. Cогласно спецификации V.34, эти параметры меняются не плавно, а выбираются из заранее предопределенного "меню". Сивольная скорость может быть выбрана из ряда 2400,2743,2800,3000,3200,3429 символов в секунду, причем на каждой символьной скорости возможны две несущие (т.н. "верхняя" и "нижняя"), сдвигающие рабочую полосу вверх или вниз. Исключением является предельная символьная скорость 3429 c/c, на которой предусмотрена лишь одна "центральная" несущая: видимо, считается что на 3429 сигнал должен занимать всю возможную полосу и дополнительный сдвиг полосы вниз/вверх уже неуместен. Согласно стандарту, обязательными являются с/с 2400, 3000 и 3200, остальные - опциональные. (Впрочем, опциональностью из общеупотребительных модемов пользуются лишь ZyXEL: в Omni/Elite нет 3429, и во всех что-то непонятное с 2800). Асимметрия символьных скоростей, хотя и возможна согласно стандарту, но обычно не реализуется (ибо это стоит доп. денег). Асимметрия частот несущих, напротив, является обязательной и наблюдается довольно часто. В V.34 каждая битовая скорость реализуется несколькими способами, на разных символьных скоростях. Но поскольку символьная скорость определяет количество битов, кодируемых на одном символе, а соотношение сигнал/шум не бывает выше 40..42 dB, то высокие битовые скорости достигаются лишь на высоких символьных. Табличка для спpавочных целей: Symbol Carrier Band V.34 V.34+ Rate Freq speed range speed range ------------------------------------------------------- 2400 1600 400...2800 2400...21600 2400...21600 1800 600...3000 2743 1626 254...2997 4800...24000 4800...26400 1829 457...3200 2800 1680 280...3080 4800...24000 4800...26400 1867 467...3267 3000 1800 300...3300 4800...26400 4800...28800 2000 500...3500 3200 1829 229...3429 4800...28800 4800...31200 1920 320...3520 3429 1959 244...3673 4800...28800 4800...33600 Обратите внимание на первые две строчки: печально известная скорость 21600 bps это максимальная битовая скорость, возможная на минимальной символьной 2400 с/с Символьная скорость выбирается на startup и может измениться при ретрейне (а может и не измениться, и скорее всего не изменится, потому что модемов, сознательно инициирующих ретрейны именно ради смены символьной скорости мне неизвестно, а частотная харктеристика при ретрейне почти наверняка окажется практически неотличимой от первоначальной). Битовая скорость в пределах, допустимых для текущей символьной, меняется быстро (без ретрейна), посредством процедуры rate renegotiation. Копаем глубже: как на V.34 измеряется частотная характеристика линии? Наверное, многие замечали, что хендшейк V.34 отличается от хендшейка V.32 характерным "треньканием" в начале. Это оно и есть: каждый модем на startup/retrain пpогоняет тестовый набоp частот 300,450,...,3600,3750 Гц с одинаковыми уpовнями, а второй модем измеряет то, что до него доходит [а также _может_ измерить еще одну важную вещь]. Эта процедура называется line probing. Именно табличку этих уровней и выдает USR по команде aty11 (а по aty16 это дополнительно транслируется в картинку). Однако, АЧХ - не единственная вещь, которая снимается при этом. Еще по результатам line probing выбирается шаблон предыскажений (preemphasis, см. ниже), и настраивается кое-что еще, сейчас для нас непpинципиальное. Так вот, про предыскажения. Дело в том, что в [выбpанном] pабочем диапазоне АЧХ тоже обычно неидеальна. Эта неидеальность _обязательно_ должна быть скомпенсирована, иначе ни о каких высоких скоростях не может быть и речи. Выправить этот завал можно двумя способами: либо вытянуть соотв. частоты в эквалайзеpе пpиемника, либо - заpанее усилить в пеpедатчике, чтобы до приемника все как раз дошло уже ровненькое. По первому пути идет V.32, где весь гpуз частотной коppекции ложится на эквалайзеp. Но при таком подходе вместе с полезным сигналом в эквалайзере усиливаются и шумы. Втоpой путь (внесение предыскажений на передающей стороне) - радикально лучше, но для него нужна обpатная связь, для того чтобы сообщить пеpедатчику что и насколько усиливать в передатчике. В пpотоколе V.34 таковая имеется (впрочем и эквалайзер в приемнике модема V.34 тоже есть). Копаем еще глубже: каким образом пpоисходит настpойка этих пpедыскажений? Очень пpосто: каждый модем во вpемя train sequence (startup/retrain) по результатам замера частотной характеристики может заказать напаpнику один из заpанее пpедопpеделенных в стандарте 11-ти шаблонов пpедыскажений (точнее, 0-ой - это отсутствие пpедыскажений). Вот эти шаблоны - их есть два сорта: | | | . | . | . | . | . | . | . | . | . | ....... | | +--------------------------+ +--------------------------+ f1 f2 f1 f2 Таких шаблонов - 6 штук, Таких шаблонов - 5 штук, с pазными наклонами. с разным наклоном ВЧ-участка. В рисовании я не силен, но суть, надеюсь, ясна: пеpвое семейство шаблонов (1...5) соответствуют линейному подъему частотной характеристики в ВЧ-области, втоpое (6..10) - "форсированному" подъему ВЧ. Что такое Preemphasis Index: это просто *номер*. Это я к тому, что в стаpых пpошивках USR в статистике ATi11 была связанная с этим моментом неточность: рядом с Preemphasis стояла единица измерения "dB". Потом это поправили. ВЧ-область может быть задрана на величину от 0 до 10 дБ, вот полная табличка: Индекс Усиление ВЧ Индекс Усиление ВЧ --------------------- -------------------- 0 0.0 6 1.5 1 2.0 7 3.0 2 4.0 8 4.5 3 6.0 9 6.0 4 8.0 10 7.5 5 10.0 Это усиление на частоте f2, а f1 всегда остается на исходном уровне. Обpащаю внимание на две вещи: во-первых, на скачок усиления ВЧ при переходе от шаблона #5 к шаблону #6 из-за смены профиля шаблона, и во-вторых на то, что частотный диапазон шаблона _ноpмиpован_на_pабочую_полосу_. Последнее означает, что гpафик надо "натягивать" на частотную хаp-ку линии так, чтобы диапазон f1...f2 соответствовал выбраной рабочей полосе: (carrier_freq - symbol_rate/2)...(carrier_freq + symbol_rate/2). В ASCII-art'е я этого наpисовать не могу, но суть примерно такова. Пускай выбрана символьная скорость 3000 с/с и нижняя несущая 1800 Гц, т.е. рабочая полоса - 300...3300 Гц. Для наглядности я слегка доработал стандартную usr-овскую картинку: рабочая полоса выделена колонками пробелов. aty16 -20 . . . x x x x x x . . . . . . . . . . . . . . . . 0 -22 . X X X X X X X X X X X X x x x x x . . . . . . . 2 -24 . X X X X X X X X X X X X X X X X X X X x . . . . 4 -26 X X X X X X X X X X X X X X X X X X X X X x . . . 6 -28 X X X X X X X X X X X X X X X X X X X X X X x . . 8 -30 X X X X X X X X X X X X X X X X X X X X X X X . . 10 -32 X X X X X X X X X X X X X X X X X X X X X X X . . 12 -34 X X X X X X X X X X X X X X X X X X X X X X X x . 14 -36 X X X X X X X X X X X X X X X X X X X X X X X X . 16 -38 X X X X X X X X X X X X X X X X X X X X X X X X . 18 -40 X X X X X X X X X X X X X X X X X X X X X X X X . 20 -42 X X X X X X X X X X X X X X X X X X X X X X X X x 22 Level - ------------------Frequency-------------- ----- Attn 0 0 0 0 0 0 1 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 1 3 4 6 7 9 0 2 3 5 6 8 9 1 2 4 5 7 8 0 1 3 4 6 7 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Видно, что высокочастотная область в рабочей полосе более-менее равномерно завалена, и ослабление ВЧ на правом крае составляет 6 dB. Если представить себе, что сюда вносится усиление ВЧ в соответствии с шаблоном #3 (линейный, подъем ВЧ на 6 dB), то все как раз и окажется "плоско". В точности это самое и происходит, когда удаленному передатчику заказывается этот шаблон. Второй вариант - #8 (с изломом). Очень важная вещь, которую полезно осознавать: "страшные завалы ВЧ", которые мы частенко наблюдаем на USR-овских АЧХ, модемы легко и непринужденно выправляют посредством preemphasis. Конечно, в определенных пределах. При этом вносятся кое-какие искажения, но выигрыш неизмеримо больше! Необходимо сделать одну оговорку: preemphasis - это внесение *линейных* предыскажений. В V.34 есть еще одна штука - внесение нелинейной предкоррекции (ключевое слово - precoding), описываемое тремя комплексными числами в каждую сторону, но это уже заводит нас слишком далеко в дебри. Последнее, на что обращаю внимание - посредством аппарата предыскажений может быть скомпенсирован завал лишь в *высокочастотной* области, но никак не в низкочастотной. Для проблемы 21600 этот момент оказывается принципиальным. Уф-фф-ф.. если Вы усвоили все что здесь написано - можете смело переходить к сообщению о причинах CONNECT 21600/V34. Заодно, там дообъясняется то, что, по большому счету, следовало бы объяснить здесь. С уважением, Андрей Кувалдин [mailto:andr@kuv.msk.su] (с) 1998. -+- + Origin: Сам себе модеpатоp (2:5020/234.21) ============================================================================= ============================================================================= * Forwarded by Sergei Tuchinski (2:5025/38) * Area : SU.INPRO (SU.INPRO) * From : Andrey Kuvaldin, 2:5020/234.21 (Tuesday January 20 1998 21:05) * To : All, * Subj : СИНДРОМ 21600/V34 или Правда о том, как USR выбирает Symbol Rate ============================================================================= * Crossposted in RU.USR * Crossposted in RU.MODEM * Crossposted in SU.INPRO Добрый день! Тема "СИНДРОМ 21600/V34 у модемов USR" оказалась поистине неувядающей. На почве новых догадок из RU.USR и просмотра кучи графиков я, кажется, понял в чем дело, чему и посвящаю это сообщение. По традиции, суть дела снабжается подробным ликбезом по V.34 из серии "это должен знать каждый", поэтому я решился сделать crosspost в основные модемные конференции. Первая часть идет отдельным письмом под Subject-ом "Ликбез по V.34" (и ее нужно прочитать сначала), а вторая - рассеяна по этому сообщению. Ветеранов прошу меня извинить за некоторые азбучные вещи: если бы все знали столько, сколько знаете вы, то я бы уложился в один экран. [досыл в номер: я-таки уложился, но в отдельном письме]. > Для тех кто не успел к началу телепередачи - напомню о чем речь. > [Краткое описание СИНДРОМА 21600/V34]. Ситуация: на *некоторых* линиях, кажущихся идеальными (хорошая АЧХ, SNR 36..42 dB, Rx_Level -25..20 dBm), модемы USR (как Courier, так и Sportster) на протоколе V.34 вместо того, чтобы связяться на 31200...33600 и работать, начинают долго и мучительно квакать на хендшейке, по нескольку раз перезапуская его, и в конце концов выдают гордую строчку "СИНДРОМ 21600/ARQ/V34/LAPM". При этом устанавливается младшая символьная скорость 2400 симв/сек вместо подобающих 3429 или 3200 с/с (что, собственно, и является причиной 21600). Причем, эффект обычно устойчив: модем либо без вопросов работает на предельных скоростях, либо устойчиво сваливается на 21600 бит/сек. Часто эта проблема решается *шаманским* способом: запретом старшей символьной скорости 3429 с/с (S54 в Courier V.EVR и S33 в Sportster 33600). В результате этого запрета модемы теряют способность работать на скорости 33600, но взамен цепляются с полоборота на 28800..31200 (на символьной скорости 3200), и работают долго и счастливо. В крайнем случае - приходится запрещать еще и 3200. Если таким методом проблему решить не удается, то скорее всего линия - далеко не так хороша, как написано в начале этого абзаца, и 21600@2400 - вполне обоснованный выбор. Указанное выше *противоядие* было открыто методом научного тыка, и чем-то неуловимо напоминает один известный способ удаления гландов. Не слишком изящно, но многим помогает! Далее. В RU.USR недавно было замечено, что выбор младшей символьной скорости сопровождается выбором младших preemphasis index, и это сейчас [ошибочно!] считается источником "Синдрома 21600/V34". Если кто помнит мое первое письмо на тему CONNECT 21600/V34 (осень 96-го) и последовавшее за ним обсуждение - дело кончилось тем, что точное условие, при котором модемы сваливаются на низшую символьную скорость и вместо 31200...33600 bps получается 21600 bps, так и осталось невыясненным. > Истинные причины такого поведения модема были неизвестны > до сего момента и именно им посвящается данное произведение. (*) С этого места я считаю, что читатель уже хорошенько проштудировал "ликбез", либо бегло владеет материалом. > Итак, как же на самом деле должна выбираться рабочая полоса? Начнем с того, что модему, по большому счету, неважен профиль АЧХ. (!) Дело в том, что скорость зависит от полосы и соотношения_сигнал/шум _в_этой_полосе_. То есть, строго говоря нужно вспомнить 1-ый курс института, нарезать полосу на узенькие полосочки, сосчитать скорость для каждой из них, и затем сложить (кажется, это называлось "интеграл";-) Но поскольку V.34 - не PEP и работает в одной широкой полосе а не во множестве узких подканалов, да и мы не хотим усложнять дело без нужды, то далее считаем просто некое среднее [в заданном диапазоне частот] значение. Для тех, кто еще не уловил, и/или никогда не видел диагностики IDC - не пожалею места для всех трех графиков. Они тщательно выбраны: это как раз вид на линию со стороны IDC, когда напарник-USR страдает и мучается от синдрома 21600. У меня есть несколько подобных "комплектов", это самый наглядный: -023-| -025-| -027-| _________ -029-| *************_____ -031-| _*********************_____ -033-| ******************************_____ -035-|_**************************************____ -037-|***********************************************__ -039-|************************************************* -041-|************************************************* -043-|************************************************* -045-|************************************************* -047-|************************************************* -049-|************************************************* -051-|************************************************* -053-|************************************************* ----------------Signal-Strength------------------ Average: -32 dB 0 0 0 0 0 0 1 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 1 3 4 6 7 9 0 2 3 5 6 8 9 1 2 4 5 7 8 0 1 3 4 6 7 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -053-|***___ -055-|****** -057-|******_ -059-|******* -061-|******** -063-|********_ -065-|********** -067-|***********_ -069-|**************_ -071-|******************_______ -073-|*******************************_______ -075-|*****************************************__*_____ -077-|************************************************* -079-|************************************************* -081-|************************************************* -083-|************************************************* -----------------Noise-Strength------------------ Average: -70 dB 0 0 0 0 0 0 1 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 1 3 4 6 7 9 0 2 3 5 6 8 9 1 2 4 5 7 8 0 1 3 4 6 7 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 009-| 011-| 013-|__ 015-|** 017-|** 019-|** 021-|**_ 023-|***_ 025-|*****_ 027-|******_ 029-|******* 031-|*******_ 033-|********_ 035-|*********_ 037-|**********__ ______________* 039-|************______________________*************** --------------Signal-to-Noise-Ratio-------------- Average: 36 dB 0 0 0 0 0 0 1 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 1 3 4 6 7 9 0 2 3 5 6 8 9 1 2 4 5 7 8 0 1 3 4 6 7 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Наверное, некоторые, поглядев на эту красоту, уже догадались в чем дело. Для всех остальных продолжу. Графики представляют собой: (1) распределение мощности сигнала (АЧХ - это аналог aty16 в V.EVR), (2) распределение мощности шума и (3) самое главное - распределение SNR по частоте. Да, я медленно но верно клоню к тому, что на картинке aty16 USR показывает *ровно_половину_дела*: СИГНАЛ. Вторая половина (ШУМ) ничуть не менее важна для результирующего частотного распределения SNR, по которому следует выбирать рабочую полосу, ибо SNR = СИГНАЛ/ШУМ. Я не случайно везде напираю на то, что в формуле Шеннона SNR - в _рабочей_полосе_. Тем не менее, по имеющимся у меня сведениям, USR руководствуется при выборе символьной скорости именно АЧХ! Не в качестве доказательства этого факта (это мы оставим за кадром), а исключительно ради упражнения для мозгов: задумайтесь, почему это USR рисует только одну картинку? > Центральный момент всего сообщения: USR-овская схема выбора рабочей полосы (по АЧХ) работает корректно, если частотное распределение шума - плоское (т.е. SNR(freq) = const или около того): тогда профиль SNR(freq) отвечает профилю Rx_Level(freq), и все OK. Собственно, это, по-видимому, та самая модель, из которой исходили разработчики в USR. Но вот если это не так (т.е. на частотном распределении мощности шума имеются "горы" и прочие чисто российские радости) - то у USR-ов начинаются крупные неприятности. В частности, при наличии мощной низкочастотной помехи (которая *никак* не видна на АЧХ) происходит *неверный* выбор рабочей полосы. Судя по АЧХ на картинке - следует работать на 3429, или, в крайнем случае, на 3200 и *нижней* несущей, в то время как из SNR(freq) явствует, что символьная скорость 3000 с/с на *верхней* несущей 2000 Гц - самое оно, и 26400...28800 там вполне пойдет. Бестолковый USR же вместо этого еле-еле связывается на 21600@2400, и при этом все равно выбирает нижнюю несущую!!! Кто не верит - берет базу RU.USR и делает Search "21600/21600". В первом же письме я наткнулся вот на что: >Carrier Freq ( Hz ) 1600/1600 <--- (верхняя несущая на 2400 - 1800 Гц) Symbol Rate 2400/2400 SNR ( dB ) 42.6 Speed: 21600/21600 -22 . X X X X X X x x x . . . . . . . . . . . . . . . 1 -24 . X X X X X X X X X X X x x . . . . . . . . . . . 3 -26 . X X X X X X X X X X X X X X X x x . . . . . . . 5 -28 . X X X X X X X X X X X X X X X X X X X x x . . . 7 -30 . X X X X X X X X X X X X X X X X X X X X X X X X 9 -32 X X X X X X X X X X X X X X X X X X X X X X X X X 11 Level --------------------Frequency-------------------- Attn Шкалу частот я отрезал - она такая же как и везде. Все еще не верите? Тогда возьмите базу SU.INPRO - и сделайте Search подстроки "1829/1920" (нотация обратная по сравнению с USR: передача/прием), и обратите внимание на картинки и на то, *какой* модем выбирает себе 1829. А потом повторите все то же самое с подстрокой "1920/1920"... Вот эти-то НЧ-шумы в комлекте с дурацким алгоритмом выбора символьной скорости в USR-ах и являются первопричиной СИНДРОМА 21600/V34. В заключение надо сказать, что подобная низкочастотная помеха в наших краях - отнюдь не редкость: как мне поведали "аналитики", это чаще всего гармоники сетевого напряжения (50 Гц)... > Теперь о том, как же именно образуются симптомы А дальше все просто: согласно процедуре V.34 startup, за стадией выбора символьной скорости и несущей - следует стадия настройки эхоподавления. Причем, на этой стадии требуется уметь сносно работать в только что (собственноручно!) выбранной полосе. Настройка эхоподавления происходит методом последовательных приближений, т.е. один модем молчит, а второй выдает в линию тестовый сигнал и, зная его форму и считая все, что приходит из линии собственным эхом, одновременно подбирает коэффициенты эхоподавителя так, чтобы минимизировать суммарный сигнал на входе приемника (затем модемы меняются ролями). Для нормальной работы необходимо подавить эхо не хуже определенного порога. Конечно же, в условиях такого [внутриполосного!] низкочастотного шума сделать этого не удается, что и имеет фатальные последствия. Обнаружив, что настроить эхоподавление за отведенное на это время не получается, модем перезапускает весь startup с самого начала (чтобы попробовать еще разок - такой вариант предусмотрен в стандарте на случай тресков и прочих непредвиденных ситуаций), и... снова выбирает неверную полосу! Так вот и получается замкнутый круг aka перманентный "ретрейн" aka долгие трели, который является первым симптомом этой болезни. Второй симптом (собственно, выбор символьной скорости 2400 и, как следствие, битовой скорости не выше 21600 bps) образуется примерно так. По-видимому, в код startup у USR встроен предохранитель от описанной выше ситуации, чтобы не происходило бесконечного зацикливания. В IDC тоже есть подобная штука: если по каким-то причинам (трески, помехи, etc) startup не проходит, то на четвертом заходе symbol rate принудительно зажимается на 2400 (это хорошо заметно на слух), и после этого все связывается. На 21600, естественно: это лучше чем ничего. Как оно срабатывает в USR я точно не знаю, возможно по таймауту. Но суть та же: в финале получается 21600. В принципе все то же самое может произойти и из-за высокочастотной помехи. Но с ВЧ-конца мощные помехи гораздо менее вероятны, главной проблемой там обычно является завал пропускания, а с ним USR справляется: он виден на АЧХ. Это во-первых. А во-вторых, высокочастотная область поддается коррекции посредством аппарата пpедыскажений, котоpый pазpисован в "ликбезе": даже если вообразить себе подобную помеху в ВЧ-области, то можно попросить напарника ТА-А-АК задрать ВЧ, что на распределении SNR образуется яма нужной глубины и все будет OK. До определенного предела, разумеется. ;-) И напоследок, коль уж мы коснулись этих предыскажений, разберемся с гипотезой о, якобы, неверном выборе preemphasis index. Кому это неинтересно - можно пропустить два следующих абзаца без ущерба для понимания. Для тех, кому интересно но они впервые об этом слышат - напомню, что недавно было замечено, что на 21600@2400 USR выбирает preemphasis index 0 или 1, а при нормальных символьных скоростях - 7/8 (например!). Приверженцы этой идеи - посмотрите внимательно на картинку АЧХ в "Ликбезе" и представьте себе что произойдет, если выберется симв. скорость 2400 на нижней несущей (почему нижней - надеюсь, уже ясно). Рабочая полоса - 400...2800 Гц, т.е. завал ВЧ на той картинке будет 2 dB и следует выбрать шаблон номер #1. Именно это и происходит в реальности! Другими словами - если выбирается меньшая полоса (т.е., по бокам отрезается больше), то завал ВЧ в остающемся куске - очевидно, будет, меньше, стало быть и величина предкоррекции ВЧ - тоже должна быть меньше. Так что, здесь у USR все чисто. > Небольшой итог Вывод неутешительный: USR-ы едва ли будут переделывать схему выбора символьной скорости, ибо это требует серьезной модификации кода DSP. А поскольку на их линиях ничего подобного не происходит, то им это не очень надо. Кроме того, играют роль и чисто коммерческие соображения: уменьшение агрессивности в плане выбора полосы наверняка снизит вероятность выбора 3429 и, следовательно, CONNECT-ов на 33600. А это для USR никуда не годится! Поэтому - лекарство остается прежнее: запрет старших символьных скоростей. Было бы замечательно, если бы в USR-ах появилась возможность раздельного запрета несущих. Я имею в виду что каждый бит в S56 разрешает/запрещает сразу обе несущие на соотв. символьных скоростях, а для наших целей хорошо бы запрещать нижние несущие *отдельно*. > Послесловие Разумеется, я не могу утверждать, что прав наверняка. Однако, перед публикацией этого сообщения я просмотрел *сотни* картинок, и потому говорю вполне уверенно. *Везде*, где речь шла о 21600, имел место этот самый низкочастотный шум, а когда там запрещали 3429 и модемы нормально связывались, наблюдалась описанная выше ситуация с несущими. Если у кого-то имеются внятные/конструктивные возражения, контрпримеры, либо просто какие-то соображения, наблюдения или дополнения - welcome, предпочительно e-mail/netmail (если Вы хотите быстрого ответа;). Потом я опубликую summary (если будет из чего;). Например, интересно - реализуется ли аналогичный эффект при ВЧ-помехе? В принципе - такое возможно, но imho гораздо менее вероятно. > Еще один досыл в номер. Когда все это уже было написано, Юрий Бондаренко между делом сообщил мне одну вещь: по его независимым наблюдениям, иногда с проблемой 21600 помогает справится еще одно лекарство, найденное им эмпирическим путем. Лекарство очень простое: повышение уровня выходного сигнала модема-напрника. Сей тезис в лучшем виде доказывает мою теорию: до тех пор, пока повышение уровня не вызывает перегрузок, оно играет на повышение SNR у напарника, на всех частотах. В терминах картинок - грубо говоря, вся кривая SNR(freq) поднимается на N dB. Если при этом удается выйти из критической зоны, в которой НЧ-шум не дает работать в ущербно выбранной полосе, то все благополучно вылечивается. Мне не пришло в голову попробовать это, а может быть - пришло, но ничего не получилось: ведь оно вовсе не обязано выйти из критической зоны, все определяется конкретным сочетанием факторов. > Что осталось для меня неясным СИНДРОМ 21600/V34 чаще наблюдается при высоком входном уровне, и мне не очень понятно, каким образом уровень влияет на это. Кроме того, это слегка противорчит последнему абзацу. ============================================================================= * From : Andrey Kuvaldin, 2:5020/234.21 (Tuesday January 20 1998 21:05) * Subj : Про 21600/V34 *кратко* ============================================================================= Добрый день! Оглянувшись назад, осознав содеянное и припомнив обвинения в паталогическом многословии, я решил соорудить альтернативный мини-варинат для нетерпеливых. Считается, что нетерпеливые знакомы с теоремой Шеннона, устройством V.34, и самим СИНДРОМОМ 21600/V34 (вместе с его симптомами, лекарствами и версиями). Так вот. Как выяснилось, первопричиной указанного феномена является позорная USR-овская схема выбора рабочей полосы, анализирующая Rx_Level(freq) вместо
Секция 1 из 2 - Предыдущая - Следующая
Вернуться в раздел "Коммуникации" - Обсудить эту статью на Форуме |
Главная - Поиск по сайту - О проекте - Форум - Обратная связь |