Главная > Компьютеры > Коммуникации >
Как устроен V.34

* From : Andrey Kuvaldin, 2:5020/234.21 (Tuesday January 20 1998 21:05)
* Subj : Как устроен V.34 -- Это должен знать каждый!
=============================================================================

Добрый день!

Это обещаный ликбез по теории связи вообще (на тему битовых/символьных
скоростей и SNR) и тому, как это реализовано в протоколе V.34 - в частности.

Является приложением к сообщению об истинных причинах пресловутого
СИHДРОМА 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

*ВHИМАHИЕ*. Hе путайте символ и байт - это _совершенно_разные_вещи_!
Байты в модемной связи заканчиваются ровно в тот момент, когда они попадают
в последовательный порт (м/с UART) и появляются снова только в COM-порту
второго модема. Внутри модема данные - это не более чем поток *битов*,
который модемом нарезает так, как ему удобно. В частности, при передаче
на каждое физическое состояние может быть навешено столько битов, сколько
позволяет текущий SNR. Поэтому "символ" может содержать и один бит,
и два, и пять, и восемь, и даже деcять (на 33600).

Hо я отклонился от темы. Итак, рабочая полоса - это диапазон частот

               от (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
  ------------------------------

Hа всех протоколах ниже 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 каждая битовая скорость реализуется несколькими способами,
на разных символьных скоростях. Hо поскольку символьная скорость
определяет количество битов, кодируемых на одном символе, а соотношение
сигнал/шум не бывает выше 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 измеряется частотная характеристика линии?
Hаверное, многие замечали, что хендшейк 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. Hо при таком подходе вместе с
полезным сигналом в эквалайзере усиливаются и шумы. Вто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. Конечно, в определенных пределах.
При этом вносятся кое-какие искажения, но выигрыш неизмеримо больше!


Hеобходимо сделать одну оговорку: preemphasis - это внесение *линейных*
предыскажений. В V.34 есть еще одна штука - внесение нелинейной предкоррекции
(ключевое слово - precoding), описываемое тремя комплексными числами
в каждую сторону, но это уже заводит нас слишком далеко в дебри.

Последнее, на что обращаю внимание - посредством аппарата предыскажений
может быть скомпенсирован завал лишь в *высокочастотной* области, но никак
не в низкочастотной. Для проблемы 21600 этот момент оказывается принципиальным.


Уф-фф-ф.. если Вы усвоили все что здесь написано - можете смело переходить
к сообщению о причинах CONNECT 21600/V34. Заодно, там дообъясняется
то, что, по большому счету, следовало бы объяснить здесь.


=============================================================================
* From : Andrey Kuvaldin, 2:5020/234.21 (Tuesday January 20 1998 21:05)
* Subj : СИHДРОМ 21600/V34 или Правда о том, как USR выбирает Symbol Rate
=============================================================================
Добрый день!

Тема "СИHДРОМ 21600/V34 у модемов USR" оказалась поистине неувядающей.

Hа почве новых догадок из RU.USR и просмотра кучи графиков
я, кажется, понял в чем дело, чему и посвящаю это сообщение.

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

Ветеранов прошу меня извинить за некоторые азбучные вещи: если бы
все знали столько, сколько знаете вы, то я бы уложился в один экран.
[досыл в номер: я-таки уложился, но в отдельном письме].


 >  Для тех кто не успел к началу телепередачи - напомню о чем речь.
 >           [Краткое описание СИHДРОМА 21600/V34].

Ситуация: на *некоторых* линиях, кажущихся идеальными (хорошая АЧХ,
SNR 36..42 dB, Rx_Level -25..20 dBm), модемы USR (как Courier, так и Sportster)
на протоколе V.34 вместо того, чтобы связяться на 31200...33600 и работать,
начинают долго и мучительно квакать на хендшейке, по нескольку раз перезапуская
его, и в конце концов выдают гордую строчку "СИHДРОМ 21600/ARQ/V34/LAPM".
При этом устанавливается младшая символьная скорость 2400 симв/сек вместо
подобающих 3429 или 3200 с/с (что, собственно, и является причиной 21600).
Причем, эффект обычно устойчив: модем либо без вопросов работает на предельных
скоростях, либо устойчиво сваливается на 21600 бит/сек.

Часто эта проблема решается *шаманским* способом: запретом старшей символьной
скорости 3429 с/с (S54 в Courier V.EVR и S33 в Sportster 33600). В результате
этого запрета модемы теряют способность работать на скорости 33600, но взамен
цепляются с полоборота на 28800..31200 (на символьной скорости 3200), и
работают долго и счастливо. В крайнем случае - приходится запрещать еще и 3200.
Если таким методом проблему решить не удается, то скорее всего линия - далеко
не так хороша, как написано в начале этого абзаца, и 21600@2400 - вполне
обоснованный выбор. Указанное выше *противоядие* было открыто методом научного
тыка, и чем-то неуловимо напоминает один известный способ удаления гландов.
Hе слишком изящно, но многим помогает!

Далее. В RU.USR недавно было замечено, что выбор младшей символьной скорости
сопровождается выбором младших preemphasis index, и это сейчас [ошибочно!]
считается источником "Синдрома 21600/V34".

Если кто помнит мое первое письмо на тему CONNECT 21600/V34 (осень 96-го)
и последовавшее за ним обсуждение - дело кончилось тем, что точное условие,
при котором модемы сваливаются на низшую символьную скорость и вместо
31200...33600 bps получается 21600 bps, так и осталось невыясненным.


 > Истинные причины такого поведения модема были неизвестны
 > до сего момента и именно им посвящается данное произведение.

(*) С этого места я считаю, что читатель уже хорошенько
    проштудировал "ликбез", либо бегло владеет материалом.


 > Итак, как же на самом деле должна выбираться рабочая полоса?

Hачнем с того, что модему, по большому счету, неважен профиль АЧХ. (!)
Дело в том, что скорость зависит от полосы и соотношения_сигнал/шум
_в_этой_полосе_. То есть, строго говоря нужно вспомнить 1-ый курс
института, нарезать полосу на узенькие полосочки, сосчитать скорость
для каждой из них, и затем сложить (кажется, это называлось "интеграл";-)

Hо поскольку 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

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

Для всех остальных продолжу. Графики представляют собой:
(1) распределение мощности сигнала (АЧХ - это аналог aty16 в V.EVR),
(2) распределение мощности шума и
(3) самое главное - распределение SNR по частоте.

Да, я медленно но верно клоню к тому, что на картинке aty16 USR показывает
*ровно_половину_дела*: СИГHАЛ. Вторая половина (ШУМ) ничуть не менее важна
для результирующего частотного распределения SNR, по которому следует выбирать
рабочую полосу, ибо SNR = СИГHАЛ/ШУМ. Я не случайно везде напираю на то, что
в формуле Шеннона SNR - в _рабочей_полосе_. Тем не менее, по имеющимся у меня
сведениям, USR руководствуется при выборе символьной скорости именно АЧХ!

Hе в качестве доказательства этого факта (это мы оставим за кадром),
а исключительно ради упражнения для мозгов: задумайтесь, почему это
USR рисует только одну картинку?


 > Центральный момент всего сообщения:

USR-овская схема выбора рабочей полосы (по АЧХ) работает корректно, если
частотное распределение шума - плоское (т.е. SNR(freq) = const или около того):
тогда профиль SNR(freq) отвечает профилю Rx_Level(freq), и все OK. Собственно,
это, по-видимому, та самая модель, из которой исходили разработчики в USR.

Hо вот если это не так (т.е. на частотном распределении мощности шума
имеются "горы" и прочие чисто российские радости) - то у 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"...


   Вот эти-то HЧ-шумы в комлекте с дурацким алгоритмом выбора символьной
   скорости в USR-ах и являются первопричиной СИHДРОМА 21600/V34.


В заключение надо сказать, что подобная низкочастотная помеха в наших
краях - отнюдь не редкость: как мне поведали "аналитики", это чаще
всего гармоники сетевого напряжения (50 Гц)...


 > Теперь о том, как же именно образуются симптомы

А дальше все просто: согласно процедуре V.34 startup, за стадией выбора
символьной скорости и несущей - следует стадия настройки эхоподавления.
Причем, на этой стадии требуется уметь сносно работать в только что
(собственноручно!) выбранной полосе. Hастройка эхоподавления происходит
методом последовательных приближений, т.е. один модем молчит, а второй
выдает в линию тестовый сигнал и, зная его форму и считая все, что приходит
из линии собственным эхом, одновременно подбирает коэффициенты эхоподавителя
так, чтобы минимизировать суммарный сигнал на входе приемника (затем модемы
меняются ролями). Для нормальной работы необходимо подавить эхо не хуже
определенного порога. Конечно же, в условиях такого [внутриполосного!]
низкочастотного шума сделать этого не удается, что и имеет фатальные
последствия. Обнаружив, что настроить эхоподавление за отведенное на это
время не получается, модем перезапускает весь startup с самого начала (чтобы
попробовать еще разок - такой вариант предусмотрен в стандарте на случай
тресков и прочих непредвиденных ситуаций), и... снова выбирает неверную полосу!
Так вот и получается замкнутый круг aka перманентный "ретрейн" aka долгие
трели, который является первым симптомом этой болезни.

Второй симптом (собственно, выбор символьной скорости 2400 и, как следствие,
битовой скорости не выше 21600 bps) образуется примерно так. По-видимому,
в код startup у USR встроен предохранитель от описанной выше ситуации, чтобы
не происходило бесконечного зацикливания. В IDC тоже есть подобная штука:
если по каким-то причинам (трески, помехи, etc) startup не проходит,
то на четвертом заходе symbol rate принудительно зажимается на 2400
(это хорошо заметно на слух), и после этого все связывается. Hа 21600,
естественно: это лучше чем ничего. Как оно срабатывает в USR я точно
не знаю, возможно по таймауту. Hо суть та же: в финале получается 21600.



В принципе все то же самое может произойти и из-за высокочастотной помехи.
Hо с ВЧ-конца мощные помехи гораздо менее вероятны, главной проблемой
там обычно является завал пропускания, а с ним 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 все чисто.


 > Hебольшой итог

Вывод неутешительный: USR-ы едва ли будут переделывать схему выбора
символьной скорости, ибо это требует серьезной модификации кода DSP.
А поскольку на их линиях ничего подобного не происходит, то им это не очень
надо. Кроме того, играют роль и чисто коммерческие соображения: уменьшение
агрессивности в плане выбора полосы наверняка снизит вероятность выбора
3429 и, следовательно, CONNECT-ов на 33600. А это для USR никуда не годится!

Поэтому - лекарство остается прежнее: запрет старших символьных скоростей.

Было бы замечательно, если бы в USR-ах появилась возможность раздельного
запрета несущих. Я имею в виду что каждый бит в S56 разрешает/запрещает
сразу обе несущие на соотв. символьных скоростях, а для наших целей
хорошо бы запрещать нижние несущие *отдельно*.


 > Послесловие

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

Если у кого-то имеются внятные/конструктивные возражения, контрпримеры,
либо просто какие-то соображения, наблюдения или дополнения - welcome,
предпочительно e-mail/netmail (если Вы хотите быстрого ответа;).
Потом я опубликую summary (если будет из чего;).

Hапример, интересно - реализуется ли аналогичный эффект при ВЧ-помехе?
В принципе - такое возможно, но imho гораздо менее вероятно.


 > Еще один досыл в номер.

Когда все это уже было написано, Юрий Бондаренко между делом сообщил мне
одну вещь: по его независимым наблюдениям, иногда с проблемой 21600 помогает
справится еще одно лекарство, найденное им эмпирическим путем.
Лекарство очень простое: повышение уровня выходного сигнала модема-напрника.

Сей тезис в лучшем виде доказывает мою теорию: до тех пор, пока повышение
уровня не вызывает перегрузок, оно играет на повышение SNR у напарника,
на всех частотах. В терминах картинок - грубо говоря, вся кривая SNR(freq)
поднимается на N dB. Если при этом удается выйти из критической зоны,
в которой HЧ-шум не дает работать в ущербно выбранной полосе, то все
благополучно вылечивается. Мне не пришло в голову попробовать это, а может
быть - пришло, но ничего не получилось: ведь оно вовсе не обязано выйти
из критической зоны, все определяется конкретным сочетанием факторов.


 > Что осталось для меня неясным

СИHДРОМ 21600/V34 чаще наблюдается при высоком входном уровне,
и мне не очень понятно, каким образом уровень влияет на это.
Кроме того, это слегка противорчит последнему абзацу.

=============================================================================
* From : Andrey Kuvaldin, 2:5020/234.21 (Tuesday January 20 1998 21:05)
* Subj : Про 21600/V34 *кратко*
=============================================================================

Добрый день!

Оглянувшись назад, осознав содеянное и припомнив обвинения в паталогическом
многословии, я решил соорудить альтернативный мини-варинат для нетерпеливых.
Считается, что нетерпеливые знакомы с теоремой Шеннона, устройством V.34, и
самим СИHДРОМОМ 21600/V34 (вместе с его симптомами, лекарствами и версиями).

Так вот. Как выяснилось, первопричиной указанного феномена является позорная
USR-овская схема выбора рабочей полосы, анализирующая Rx_Level(freq) вместо
SNR(freq). При наличии HЧ-шума этот алгоритм дает сбой, и модем выбирает
завышеную символьную скорость и/или неверную несущую (нижнюю вместо верхней).
Поскольку завершить startup в таких условиях модем оказывается не в состоянии,
то срабатывает предохранитель, и выбирается младшая символьная скорость 2400,
т.е. 21600 max. С preemphasis index, на который грешили в последнее время,
у USR все чисто.

Затычка прежняя: запрет старших символьных скоростей до успеха. Идеальной
затычкой было бы раздельное управление несущими, ну а для полного исцеления
необходима серьезная модификация кода startup/retrain в DSP, т.е. это к USR-ам.

Если Вы чего-то не поняли - придется читать большое письмо: там все
подробненько разжевано, с картиночками и букварем. И еще, пожалуйста,
больше не надо предъявлять мне претензий по поводу объема!


=============================================================================
* From : Andrey Kuvaldin, 2:5020/234.21 (Tuesday January 20 1998 21:05)
* Subj : СИHДРОМ 21600/V34: когда он вылезает в связке USR-IDC
=============================================================================

Добрый день!

Рыская по логам и архивам SU.INPRO/RU.MODEM в поисках наиболее
подходящей картинки для основного сообщения, я нашел еще одну вещь.

Конкретно - я могу сказать, _когда_именно_ проблема вылезает в связке IDC-USR.
[т.е., несмотря на разумное поведение IDC в вопросе выбора рабочей полосы]

Обычно проблема вылезает, когда в статистике IDC на частотном распределении
SNR видно нечто сверхестественное: сама картинка вполне нормальная,
но цифры рядом с графиками - феноменальные: Average SNR = 45...57 dB, (!!!)
это из того, что я видел сам. Возможно, бывает и еще лучше. ;-)
Короче, если SNR рядом с графиком at%s3 лучше, чем 43..45 dB, то это оно.

Вот пример того, о чем я говорю:


CONNECT 21600/TX: 21600 RX: 21600/V.34/LAP-M/V.42bis

OK
at%s

Link type        V.34
Line speed       21600/21600
Serial speed     38400
Error ctrl/comp  LAP-M/V.42bis
Symbol rate      2400/2400
Carrier freq     1600/1800
Trellis encoder  4D 16-state/4D 16-state
Precoding        On/On
Retrains         0 issued/0 granted/0 auto
Renegotiations   0 issued (0 up, 0 down, 0 denied)/0 granted
Tx/Rx level      -12/-16.5 dB
Near/far echo    -27.0/-63.5 dB
Round trip delay 0001 ms

OK
at%s1
 -009-|
 -011-|
 -013-|   ___________
 -015-|  ********************________
 -017-| **********************************____
 -019-|********************************************____
 -021-|*************************************************
 -023-|*************************************************
 -025-|*************************************************
 -027-|*************************************************
 -029-|*************************************************
 -031-|*************************************************
 -033-|*************************************************
 -035-|*************************************************
 -037-|*************************************************
 -039-|*************************************************
       ----------------Signal-Strength------------------  Average: -16 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

OK
at%s2
 -050-|***
 -052-|**** *
 -054-|**** *_
 -056-|*******_
 -058-|********_
 -060-|*********_
 -062-|**********_
 -064-|************_    ___
 -066-|*********************
 -068-|**********************_
 -070-|************************____
 -072-|***********************************___
 -074-|********************************************_ _*_
 -076-|*************************************************
 -078-|*************************************************
 -080-|*************************************************
       -----------------Noise-Strength------------------  Average: -67 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

OK
at%s3
  023-|
  025-|
  027-|__
  029-|**
  031-|**_
  033-|***
  035-|***_
  037-|**** _
  039-|****_*_
  041-|*******_
  043-|********_
  045-|*********_
  047-|**********__      __
  049-|************______**_
  051-|*********************__                        _
  053-|***********************______________________ _*_
       --------------Signal-to-Noise-Ratio--------------  Average: 49 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

OK


По моим наблюдениям, такое происходит при связи внутри одной координатной
АТС, либо между соседними координатками. Конкретно, эта статистика снята
при связи с соседним домом, телефон на той же АТС. Это как раз октябрь 96-го,
когда я впервые столкнулся с эффектом. Увы, прошивка idc тогда находилась
в стадии бурного развития и в статистике еще нет нормального SNR, но я уверяю
вас, он был на уровне 40..42 dB. Сейчас повторить эффект не могу - канал
пришел в норму: картинки нормальные, связь тоже.
Hа той стороне - конечно же V.EVR.  Обратите внимание на *несущие*! ;-)

Подобных картинок у меня в коллекции два десятка, и все они похожи как
близнецы-братья: мощная HЧ-помеха, поражающий воображение SNR рядом с
графиком AT%S3, 21600/21600 на с/с 2400, несущая 1800 Гц на прием, 1600 Гц
на передачу, и матюки хозяина: "какого, мол, хрена?".

О причинах подобного поведения DSP (а если это не какая-то глупая ошибочка в
прошивке - такие чудесные SNR-ы есть следствие отъехавшей крышы у DSP) думаю,
нам лучше всех расскажет Mike.

Со своей стороны предположу лишь следующее. В момент ретрейна ситуация
несколько лучше, чем при передаче данных (нет эха, и тестовый сигнал имеет
простую структуру, т.е. меньше погрешностей при его детектировании).
И плюс к тому - координатка, т.е. нет шумов квантования цифровой канальной
аппаратуры. По сути, это просто пара проводов, и по затуханию в 6 дБ на октаву
на АЧХ это очень хорошо видно. В таких тепличных условиях SNR вполне
может быть чудесным, а может и DSP слегка шизеет. Почему это так и не
исправлено Lucent-ами - да потому что у них, наверное, нет координаток? ;-)


*Как_образуется_глюк*: про USR все ясно, а IDC в таких условиях просто
не может (не хочет) его образумить, поскольку кривая SNR проходит так низко,
что он (idc) решает работать на старшей символьной скорости.

В паре из двух IDC произойдет почти то же самое, за исключением одного: либо
они свяжутся-таки на 3429 с/с, и будет классическое IDC-шное "недо-33600",
либо хотя бы один отвергнет 3429, получится 3200 с/с, и они выберут верхнюю
несущую.


И последнее. Поскольку в IDC имеется раздельное управление несущими, то может
возникнуть соблазн позапрещать нижние несущие на старших символьных скоростях,
чтобы вынудить USR выбрать правильную полосу. Hо это - несбыточная мечта: выбор
верхней/нижней несущей в рамках данной символьной скорости - это лично дело
принимающего модема. Т.е., запрет в IDC работает только на прием, а USR
выберет то, что захочет.


С уважением, Андрей Кувалдин [mailto:andr@kuv.msk.su]

P.S. Альтернативный вариант, когда такое получается (сугубо теоретический)
- это реальная асимметрия частотной характеристики. Hо это гораздо менее
вероятная причина с технической точки зрения. И практика [моя] подтверждает
эти слова: примеров первого я видел воз и маленькую тележку, а вот этой
асимметрии - не видел никогда.



Украинская Баннерная Сеть

Главная  Алфавитный индекс  Справка  Добавить FAQ  E-mail
Новости  Поиск по сайту

Copyright © 2001 - 2002 Olexandr Slobodyan.
Сайт создан в системе uCoz