Перейти к содержанию
    

эквалайзер и tanlock loop

Вот именно это и странно, т.е. в состоянии покоя эквалайзер гоняется за фазой. Гуру модемостроители утверждают что это не правильно, не должен эквалайзер при статическом канале так себя вести %)

 

Кому он чего-то не должен? Неизвестным гуру?

Он не гоняется. Он медленно дрейфует.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вполне ожидаемое явление, можно подобрать коэффициенты петель такие, что это будет практически незаметно.

На длительных интервалах наблюдения (в матлабе ждать замучаешься %)) это заметно.

 

Он не гоняется. Он медленно дрейфует.

Ну можно и так сказать, на полосе 11МГц, созвездие на входе эквалайзера вращается против часовой стрелки со скоростью пара оборотов за ~6 минут. Когда ставишь эквалайзер за петлями, такого дрейфа нет. Что то же является причиной возникновения этого дрейфа?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На длительных интервалах наблюдения (в матлабе ждать замучаешься %)) это заметно. Ну можно и так сказать, на полосе 11МГц, созвездие на входе эквалайзера вращается против часовой стрелки со скоростью пара оборотов за ~6 минут.

 

В модели не видно такого поведения, покачивание происходит в ограниченном секторе и он не увеличивается.

 

 

Что то же является причиной возникновения этого дрейфа?

 

Ошибка слежения ФАПЧ, чем меньше меньше ошибка и mu тем меньше амплитуда качания на входе эквалайзера.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну можно и так сказать, на полосе 11МГц, созвездие на входе эквалайзера вращается против часовой стрелки со скоростью пара оборотов за ~6 минут. Когда ставишь эквалайзер за петлями, такого дрейфа нет. Что то же является причиной возникновения этого дрейфа?

 

Оборот более чем за миллиард символов.

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

 

Может быть и не нулевые колебания, если шум каждого сигнала существенно превышает его дискрет, но интегратор всё равно интегрирует вычислительные ошибки, и неуправляемое состояние уплывает. Правда, если фаза дрейфует равномерно, это на случайные блуждания непохоже, то есть шум оказывается со слегка ненулевым средним. Так что скорее всего или разрядность тут играет определяющую роль, или смещенность округления отбрасыванием младших разрядов.

 

С этим, разумеется, можно бороться, для начала реализовав несмещенное округление к четному, добившись случайности блужданий вместо непрерывного одностороннего дрейфа, но зачем?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ошибка слежения ФАПЧ, чем меньше меньше ошибка и mu тем меньше амплитуда качания на входе эквалайзера.

 

У контура в нуле один нуль и два полюса. В остатке - один полюс в нуле. В точной арифметике статическая ошибка равна нулю вне зависимости от mu и параметров фильтров.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В точной арифметике статическая ошибка равна нулю вне зависимости от mu и параметров фильтров.

 

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

 

В этом всём более интересна не фаза, а символьная синхронизация. В принципе, возможна ситуация, когда при нестационарном канале пик эквалайзера будет дрейфовать вбок, несмотря на то, что гарднер стоит перед эквалайзером. В отличие от фазы коэффициентов, смещение тапов эквалайзера может и переполниться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Oldring, как проще всего в данной модели дрейф продемонстрировать?

 

 

Прибавить к ошибке на входе фильтра компенсатора контура фазового слежения phase_offset_loop_filter1 ненулевую константу. Одна десятая смещает фазу на 6 градусов, при этом констелляция на входе эквалайзера начинает быстро вращаться. Меньшие смещения пропорционально меньше смещают точку равновесия ошибки фазы, и при этом скольжение эквалайзера оказывается пропорционально медленнее. Так что при одном обороте за миллиард отсчетов ошибка фазы должна быть пренебрежимо малой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прибавить к ошибке на входе фильтра компенсатора контура фазового слежения phase_offset_loop_filter1 ненулевую константу. Одна десятая смещает фазу на 6 градусов, при этом констелляция на входе эквалайзера начинает быстро вращаться. Меньшие смещения пропорционально меньше смещают точку равновесия ошибки фазы, и при этом скольжение эквалайзера оказывается пропорционально медленнее. Так что при одном обороте за миллиард отсчетов ошибка фазы должна быть пренебрежимо малой.

 

Угу вижу, т. е. если к ближайшему четному округлять то постоянного дрейфа в одну сторону не будет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Угу вижу, т. е. если к ближайшему четному округлять то постоянного дрейфа в одну сторону не будет?

 

Теория говорит, что если все ошибки округления имеют нулевое матожидание - то направления дрейфа равновероятны, и вместо равномерного дрейфа должно наблюдаться лишь случайное блуждание. Которое в бесконечности тоже уходит в бесконечность, но за квадратичное время ;) Источниками смешенных ошибок могут являться смещенное округление, и просто ненулевое смещение шума квантования на входе последнего интегратора фазы, зависящее от частоты. Больше источников смещеного шума я в этом контуре не вижу. Но если шум в этой точке задания частоты сущетсвенно превышает дискрет - то его заметное смещение невозможно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Теория говорит, что если все ошибки округления имеют нулевое матожидание - то направления дрейфа равновероятны, и вместо равномерного дрейфа должно наблюдаться лишь случайное блуждание. Которое в бесконечности тоже уходит в бесконечность, но за квадратичное время ;) Источниками смешенных ошибок могут являться неправильное округление, и просто ненулевое смещение шума квантования на входе последнего интегратора фазы, зависяще от частоты. Больше источников смещеного шума я в этом контруре не вижу. Но если шум в этой задания точке частоты сущетсвенно превышает дискрет - то его заметное смещение невозможно.

 

Спасибо!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С этим, разумеется, можно бороться, для начала реализовав несмещенное округление к четному, добившись случайности блужданий вместо непрерывного одностороннего дрейфа, но зачем?

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

 

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

 

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

 

Собрал демодулятор с эквалайзером перед tanlock, поставлю на суточные прогоны, посмотрю как будет работать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...