Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: эквалайзер и tanlock loop
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Страницы: 1, 2
petrov
Цитата(Oldring @ Aug 9 2010, 12:49) *
В точной арифметике статическая ошибка равна нулю вне зависимости от mu и параметров фильтров.


Там в модели синусоидальной воздействие и соответственно есть ошибка слежения, она второй контур и раскачивает, можно эквалайзер заменить на ФАПЧ 1-го порядка, и точно такое же поведение будет наблюдаться. Но схема в разнос не идёт, ничему это мешать не должно вроде бы.
Oldring
Цитата(petrov @ Aug 9 2010, 13:32) *
Там в модели синусоидальной воздействие и соответственно есть ошибка слежения, она второй контур и раскачивает, можно эквалайзер заменить на ФАПЧ 1-го порядка, и точно такое же поведение будет наблюдаться. Но схема в разнос не идёт, ничему это мешать не должно вроде бы.


Всё верно, каков бы ни стоял ФАПЧ перед эквалайзером, на его выходе ошибка компенсации фазы не может оказаться нулевой во всём частотном диапазоне. Поэтому, если при этом эквалайзер постоянно подстраивается - он неизбежно будет отрабатывать эту остаточную ошибку. Я же писал о том, что в статике там полюс в нуле у контура компенсации фазы, поэтому ошибка в статике нулевая в точной арифметике. Поэтому, наблюдаемый медленный дрейф неизбежно связан с погрешностями арифметики.

И до тех пор, пока эквалайзер содержит дифференциатор, то есть нуль в нуле, скольжение большого контура неизбежно.

В этом всём более интересна не фаза, а символьная синхронизация. В принципе, возможна ситуация, когда при нестационарном канале пик эквалайзера будет дрейфовать вбок, несмотря на то, что гарднер стоит перед эквалайзером. В отличие от фазы коэффициентов, смещение тапов эквалайзера может и переполниться.
petrov
Oldring, как проще всего в данной модели дрейф продемонстрировать?
Oldring
Цитата(petrov @ Aug 9 2010, 14:33) *
Oldring, как проще всего в данной модели дрейф продемонстрировать?



Прибавить к ошибке на входе фильтра компенсатора контура фазового слежения phase_offset_loop_filter1 ненулевую константу. Одна десятая смещает фазу на 6 градусов, при этом констелляция на входе эквалайзера начинает быстро вращаться. Меньшие смещения пропорционально меньше смещают точку равновесия ошибки фазы, и при этом скольжение эквалайзера оказывается пропорционально медленнее. Так что при одном обороте за миллиард отсчетов ошибка фазы должна быть пренебрежимо малой.
petrov
Цитата(Oldring @ Aug 9 2010, 14:46) *
Прибавить к ошибке на входе фильтра компенсатора контура фазового слежения phase_offset_loop_filter1 ненулевую константу. Одна десятая смещает фазу на 6 градусов, при этом констелляция на входе эквалайзера начинает быстро вращаться. Меньшие смещения пропорционально меньше смещают точку равновесия ошибки фазы, и при этом скольжение эквалайзера оказывается пропорционально медленнее. Так что при одном обороте за миллиард отсчетов ошибка фазы должна быть пренебрежимо малой.


Угу вижу, т. е. если к ближайшему четному округлять то постоянного дрейфа в одну сторону не будет?
Oldring
Цитата(petrov @ Aug 9 2010, 14:58) *
Угу вижу, т. е. если к ближайшему четному округлять то постоянного дрейфа в одну сторону не будет?


Теория говорит, что если все ошибки округления имеют нулевое матожидание - то направления дрейфа равновероятны, и вместо равномерного дрейфа должно наблюдаться лишь случайное блуждание. Которое в бесконечности тоже уходит в бесконечность, но за квадратичное время wink.gif Источниками смешенных ошибок могут являться смещенное округление, и просто ненулевое смещение шума квантования на входе последнего интегратора фазы, зависящее от частоты. Больше источников смещеного шума я в этом контуре не вижу. Но если шум в этой точке задания частоты сущетсвенно превышает дискрет - то его заметное смещение невозможно.
petrov
Цитата(Oldring @ Aug 9 2010, 15:15) *
Теория говорит, что если все ошибки округления имеют нулевое матожидание - то направления дрейфа равновероятны, и вместо равномерного дрейфа должно наблюдаться лишь случайное блуждание. Которое в бесконечности тоже уходит в бесконечность, но за квадратичное время wink.gif Источниками смешенных ошибок могут являться неправильное округление, и просто ненулевое смещение шума квантования на входе последнего интегратора фазы, зависяще от частоты. Больше источников смещеного шума я в этом контруре не вижу. Но если шум в этой задания точке частоты сущетсвенно превышает дискрет - то его заметное смещение невозможно.


Спасибо!!!
des00
Цитата(Oldring @ Aug 9 2010, 01:28) *
С этим, разумеется, можно бороться, для начала реализовав несмещенное округление к четному, добившись случайности блужданий вместо непрерывного одностороннего дрейфа, но зачем?

после замены матлабовского блока на DDS модель стала вести себя адекватно. Сразу подумал про ошибку округления, т.к. в железе использую простой floor (жрет меньше ресурса). Но при этом отрицательные и положительные числа округляются в разную сторону. Такое округление было в FIR по выходным данным и по коэффициентам эквалайзера, при взятии фазы синуса/косинуса в DDS. Поставил везде округление к нулю. Но не помогло. Дрейф все равно остался %)

Потом заметил, что по ошибке у меня стоит макрос использовать честный кордик, вместо таблички для решений по точкам, а т.к. у меня предполагается только QPSK модуляция выбрал использование таблицы. И скорость вращения уменьшилась раза в 2-3. Что странно, т.к. кордик гарантированно рабочий (вычисления им и в матлабе бьются один в один), разрядность фазы составляет 32бита, используется 16 шагов.

Ваше указание на источник такого поведения оказалось верным %)

Собрал демодулятор с эквалайзером перед tanlock, поставлю на суточные прогоны, посмотрю как будет работать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.