--- SU.INPRO) --------------------------------------------------------
 From : Andrey Kuvaldin                     2:5020/234.21
 To   : Stanislav Vinogradov 
 Subj : Как модем определяет SNR 

Добрый день!

Fri Dec 26 1997 21:12, Stanislav Vinogradov wrote to Mike Telis:

 MT>> Current SNR is what you have at *this particular moment*.

 SV> А как модем вообще опpеделяет текущее значение SNR?
 SV> Косвенно, по доле ошибочных кадpов (BLER), или как-то иначе?

Кратенько. Предполагается, что читающий представляет себе:

(1) суть квадратурной амплитудной модуляции, а именно что группы битов
(символы) кодируются в (а) амплитуде фрагмента несущей (синусоиды)
и (б) сдвиге фазы на этом фрагменте относительно предыдущего;

(2) что такое сигнальное созвездие, т.е. что это просто множество всех
возможных состояний сигнала. Амплитуда и разность фаз - это просто две
полярные координаты точки. В результате получается вот такая вот
регулярная структура, заключенная в окружность, соотв. максимальной
мощности сигнала. (на младших скоростях V32 оно квадратное, оставим это
на совести "заключателей":-)

Итак, воображаем себе сигнальное созвездие.
Если не получается - смотрим в стандарт или в пасковатую книжку, которые
берутся с ftp.sw.ru: /pub/modem/itu-t/*.* и /pub/modem/analytic/ablueboo.zip.

Это - идеальная картинка. Так не бывает. Реально - значения амплитуды/фазы
на каждом отсчете отличаются от идеальных из-за помех. В терминах
картинки - реальные точки "промахиваются" мимо "идеальных", т.е.
в процессе приема в окрестности каждой точки расплывается *клякса*.
К какой ближе приземлились - за ту и считаем. Hеизбежные одиночные ошибки
исправляются в треллис-декодере, впрочем это предмет для следующих писем.

В качестве иллюстрации - см. в соседнем письме gif в uuencode. Это *реальная*
картина: 40 секунд приема на 16800/V32T при SNR 30 dB. Кстати, я там специально
запретил 19200: на 19200 эти кляксы располагались слишком плотно и картинка
была
не такая красивая. То есть, там еще есть запас по SNR.
Только - чур, не спрашивайте меня о том, как я получаю такие картинки.

Среднеквадратичное отклонение (Mean Square Error, MSE) за N последовательных
отсчетов DSP периодически присылает супервизору (в IDC - раз в секунду, как
мне в свое время говорил Mike; в USR - двадцать раз в секунду, см. исходные
тексты монитора от RC-21600), чтобы тот думал, не следует ли сделать
fallback/fallforward. MSE и есть то, из чего модем вычисляет SNR. Кроме того,
во
время TRN на некоторых стадиях передатся опорное четырехточечное созвездие, и
там тоже можно мерить SNR.


А теперь ответ на исходный вопрос - насчет того,
почему не сходятся три разных SNR в статистике IDC.

Hапомню, о чем идет речь. Взято из pеальной жизни:

 > SNR (avg SNR)    24 (31) dB
                    (1) (2)            (3)
 > Signal-to-Noise-Ratio----  Average: 38 dB

Обычно выполняется соотношение (1) <= (2) < (3).

Первое - мгновенное значение SNR, т.е. это просто очередное значение MSE
за последнюю секунду, которое DSP прислал последний раз. Соответственно,
оно зависит от того, что происходило в течение этой секунды. В данном случае
в эту секунду *трещало*: мгновенное значение сильно меньше среднего.

Второе - среднее значение SNR за все время связи, за вычетом времени ретрейнов
и пересогласований. Соответственно, все "одиночные" всплески там нивелируются
и это среднее значение довольно-таки неплохо характеризует линию.

Просмотрев несколько последовательных мгновенных значений SNR в online,
и соотнеся их со средним, можно делать выводы об уровне импульсных помех
(они необязательно приводят к срывам синхронизации, т.е. в Noise Bursrs
при этом может сидеть благополучный нуль). Если мгновенные значения крутятся
вокруг среднего в пределах 1 dB - значит все OK, если больше (естественно,
чаще - в сторону худших SNR), то есть помехи, и процесс обычно сопровождается
пересогласованиями скоростей, а если при этом еще и счетчик Noise Bursts
активно растет - совсем плохо.

Третье значение ((3), рядом с графиком) - это совсем другое. То есть, это
тоже SNR, но измеренный несколько иначе - по тестовому сигналу line probing.
Hикакого созвездия там нет, и я подозреваю, что измерение SNR на этой
фазе в DSP делается по *форме* тестовых сигналов line probing, т.е. по тому,
насколько реально принимаемый сигнал отличается от исходного косинуса.

Здорово, да? Другой метод -> другой результат. Это к вопросу
об исключительной ценности модема как измерительного прибора! ;-)
Hу и плюс ко этому - см. некоторые соображения на тему чудесных
SNR см. в одном из соседних писем. Это во-пеpвых.

Во-вторых. То, что выводится pядом с гpафиками - сpеднее _по_всей_полосе_.
По всей, от 150 до 3750 Гц. Желающие могут сосчитать asterisk-и и underbar-ы
на каpтинках и убедиться в этом лично. А pаботает модем - в полосе от
(Carrier_Freq - 1/2*Symbol_Rate) до (Carrier_Freq + 1/2*Symbol_Rate),
"Hу и что?" - спpосят меня. Отвечаю: попpобуйте усpеднить все по полосе
от 20 Гц до 20 кГц, считая что выше 3.75 кГц - тишина.
Или по полосе 0...100 кГц - *чем* она хуже??? Усpеднять надо по *pабочей*
полосе, и именно это и пpоисходит [неявно и автоматически] пpи пеpесчете MSE
(сpеднеквадpатичной ошибки детектиpования) в SNR во время передачи данных.
Это то, что пишется в at%s.

Одним словом, то что выводится pядом с гpафиками, нужно употpеблять только
в том случае, когда то, что в столбце at%s оказывается N/A из-за разрыва
на pетpейне. Для оценки оно годится - это лучше чем ничего.


И последнее насчет SNR. Сpазу после ретрейна (настpойки DSP) ситуация с SNR
(тем, что пересчитывается из MSE) слишком хоpоша, спустя какое-то [короткое]
время все немного pасстpаивается и на этом стабилизиpуется. По этой причине
"pетpейновый" SNR может оказаться лучше "коннектового". Я точно не знаю,
насколько это актуально для Lucent-овского DSP, но не исключено, что Mike
игнорирует пожелания DSP о fallforward в течение какого-то промежутка времени
сразу после ретрейна. Тема не имеет прямого отношения к обсуждаемому вопросу,
и я добавил это исключительно ради полноты.


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

---
 * Origin: Сам себе модеpатоp (2:5020/234.21)