|
эквалайзер и tanlock loop, особенности совместной работы |
|
|
|
Aug 4 2010, 06:59
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Добрый день! Наткнулся я тут на один интересный эффект. Имеем модель демодулятора : Гарднер по тактовой, Tanlock по несущей, TSE LMS эквалайзер для простоты реализации. Модель в приложении. В модели ошибка для петель по несушке и эквалайзеру вычисляется одним и тем же блоком. В том смысле что жесткое решение по символу для обоих петель общее. Видно занятный эффект : созвездие на выходе эквалайзера стоит, но на его входе крутится, эффект пропадает если отключить адаптацию эквалайзера. Если посмотреть на коэффициенты эквалайзера то видно что фазу крутит именно он за счет центрального коэффициента. Самое интересное, что амплитуда вращения созвездия на входе эквалайзера по мере продолжительности работы увеличивается и эффект не пропадает даже при сильном заужении петли по эквалайзеру(было 1/2^8, проверял до 1/2^14). Для случая когда частотная расстройка фиксирована и резкой смены частоты, отрабатывают и эквалайзер и петля, но потом эквалайзер быстро возвращается в исходное состояние 0 0 0 0 1 0 0 0. Но если частотная расстройка переменная, то эквалайзер все равно уходит, почему не понятно %( Понятно что т.к. петли работают с одного детектора ошибки то они начинают бороться друг с другом. Но не понятно другое, почему петля по несушке, будучи более широкой отрабатывает ошибку по частоте, но не отрабатывает ошибку по фазе и этим занимается эквалайзер? Почему амплитуда вращения созвездия на входе эквалайзера увеличивается? Если же поставить TSE эквалайзер после петли по несушке, то все хорошо работает. Но в этом случае петля по несушке работает по более плохому сигналу, да и как же тогда работают демодуляторы с FSE эквалайзером ? Может быть у кого то есть ответы на мои вопросы %) Спасибо.
--------------------
|
|
|
|
|
 |
Ответов
(1 - 57)
|
Aug 5 2010, 05:48
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(des00 @ Aug 5 2010, 04:33)  Да, есть такой способ решения этой проблемы, но центральный коэффициент может вырасти где угодно, а неполноценный тап в FIRе не айс для коррекции искажений %) Ну речь о TSE, он в данной модели развязан с символьной синхронизацией да и задержку компенсировать не может, не должен вроде бы центральный тап где угодно вырастать, по крайней мере в не слишком плохом канале с доминирующим лучём, но не уверен. Цитата(des00 @ Aug 5 2010, 04:33)  ЗЫ. Хмм, наблюдая за поведением демодулятора в различных вариантах в железе и в матлабе, пришла в голову мысль, что если эквалайзер занимается подстройкой характеристики петли по несущей? Ну там задержку подправить, фазовую характеристику подкрутить.... Не понял мысль...
|
|
|
|
|
Aug 5 2010, 05:58
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(petrov @ Aug 4 2010, 23:48)  Ну речь о TSE, он в данной модели развязан с символьной синхронизацией да и задержку компенсировать не может, не должен вроде бы центральный тап где угодно вырастать, по крайней мере в не слишком плохом канале с доминирующим лучём, но не уверен. если выключить модулятор, дать искажения, немного подождать и включить модулятор тогда может %) Цитата Не понял мысль... исполнительный элемент петли по несушке это смеситель на входе RRC фильтра, поэтому тракт петли по несушке получается : mixer-> DDS -> RRC -> symb_recovery-> equ -> Tanlock -> loop filter -> DDS -> mixer. Таким образом эквалайзер является адаптивным элементом петли и по идее может корректировать АЧХ замкнутой петли. Но это только моя версия, как ее проверить пока не понятно %)
--------------------
|
|
|
|
|
Aug 5 2010, 08:45
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(des00 @ Aug 5 2010, 12:04)  но в таком случае все FSE/FSE-DFE эквалайзеры для модемов в петлями вида Gardner, M&M, Tanlock, Costas loop не имеют смысла. Потому что FIR в прямой ветви работает интерполятором и фазовращателем. Тем не менее FSE эквалайзеры используются и утыкают по качеству TSE эквалайзеры %) Вот такая вилочка ...... Судя по всему не имеет. Делают периодическую передачу известной последовательности и по ней отдельными синхронизаторами настраиваются без охвата всякими общими петлями. Цитата(des00 @ Aug 5 2010, 12:04)  Насчет противоположных сторон тоже не сходится, поворот созвездия обе петли отрабатывают одинаково. FIR крутит фазу в обратную сторону напрямую, а несушка крутит в ту же сторону через DDS %) Сделал эквалайзер с одним коэффициентом и вывел коффициент на scatter, и несущую с DDS на другой scatter, видно что есть момент когда они в противоположные стороны вращаются, и амплитуда раскачки всё увеличивается и увеличивается.
|
|
|
|
|
Aug 5 2010, 11:03
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(petrov @ Aug 5 2010, 03:20)  сделали же они его как-то, а КВ каналы очень плохие... в общем понятно, надо делать систему на двух смесителях. Первый подстраивается по частоте, второй по фазе. Осталось порыться как народ делает AFC для камов %) С петлей по несушке, основанной на "точках", использовать эквалайзеры до детектора низя %( Цитата(petrov @ Aug 5 2010, 03:45)  Судя по всему не имеет. Кстати в свете нашего старого разговора о слепых алгоритмах адаптации. Устойчивость алгоритма Годдарда, к ошибке по фазе несущей, может вылезти боком. Эквалайзер может повернуть созвездие, и петля по несушке его не скомпенсирует, т.к. эквалайзер должен стоять вне ее %)
--------------------
|
|
|
|
|
Aug 5 2010, 11:32
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(vadimuzzz @ Aug 5 2010, 06:15)  можно простой вопрос?  а в чем выигрыш от совместной настройки эквалайзера и несущей? ну эквалайзер и несушка же работают всегда, или вы отключаете эквалайзер по определенному критерию? Цитата кстати, если мне склероз не изменяет, в оригинальной статье Годара был раздел по восстановлению несущей хмм, надо глянуть, где то она у меня была. Во избежание недомолвок хотел бы дополнить что в посте про годдарда это относится только к модемам с одним смесителем перед RRC фильтром. ЗЫ. Годдард корректирует несушку после эквалайзера %)
Эскизы прикрепленных изображений
--------------------
|
|
|
|
|
Aug 5 2010, 11:41
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(des00 @ Aug 5 2010, 08:46)  Использование критерия настройки Годдарда показывает то же самый результат что и DD детектор, но т.к. mu меньше то нужно ждать больше, что бы его увидеть Напрасно Годарда обижаете. %) Проверил, ждал долго, развязаны петли получаются. Цитата(des00 @ Aug 5 2010, 08:46)  Во избежание недомолвок хотел бы дополнить что в посте про годдарда это относится только к модемам с одним смесителем перед RRC фильтром. Умножение на несущую стояло перед эквалайзером но после RRC.
|
|
|
|
|
Aug 5 2010, 12:00
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(petrov @ Aug 5 2010, 06:41)  Напрасно Годарда обижаете. %) Проверил, ждал долго, развязаны петли получаются. не верю, у меня и в матлабе и в железе крутиться, очень медленно, но крутится %), в матлабе смотрел до 1e7, в железе минут 30-40 на полосе 11МГц %) Использовал стандартный детектор Годарда Код E = y*(|y|^2 - R), где
y = y_re + j*y_im
R = E[|const|^4]/E[|const|^2] Да и не обижаю я его, прямо говорю о недостатках %). Он мог бы и предупредить. В доках о модемостроении куча недомолвок (а в доках о линеаризации усилителей раза в 2 больше) %) вот например в матлабе, если интересно могу привести скан созвездия в железе %)
Эскизы прикрепленных изображений
--------------------
|
|
|
|
|
Aug 5 2010, 16:25
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(petrov @ Aug 5 2010, 07:27)  А в железе получается без специального воздействия как в модели? модель бьется с железом один в один. собран простой стенд: модулятор - СВЧ шлейф - демодулятор, поведение одинаковое. Цитата(petrov @ Aug 5 2010, 08:01)  У меня в блоке Phase/Frequency Offset2 не стояла галка freq offset from input port и сигнал соответственно подключить. странно что конвертация в R14 не сработала %) Цитата(vadimuzzz @ Aug 5 2010, 09:18)  я к тому, что разные параметры лучше (проще) в разных контурах подстраивать. например, детектор Гарднера не зависит от захвата несущей (ну, в разумных пределах) или как в статье Годара. отсюда и мой вопрос, а что собственно дает совместная оценка (в смысле, в рамках одной петли) параметров? дык контур несущей и тактовой и так развязан. А вот петли по эквалайзеру и несушке, если эквалайзер стоит до детектора по несущей получаются связанными. И, например, при использовании DD детектора для эквалайзера и Tanlock для несушки начинается борьба петель. Получается интересная вешь : казалось бы эквалайзер хорошо, потому что петля будет работать по восстановленному сигналу, но в то же время из-за того что начинается воина петель эквалайзер это плохо. Даже не смотря на то, что сигнал восстанавливается правильно.
--------------------
|
|
|
|
|
Aug 6 2010, 14:20
|

Гуру
     
Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874

|
Гы... Ахренеть... Угадайте-ка, что это за график? PS Подсказка в модели PPS На самом деле модель очень устойчивая. У контура фазового компенсатора есть одно неуправляемое состояние - константное смещение фазы на входе эквалайзера вместе с фазой самого коэффициента. Вдоль этого состояния система может медленно дрейфовать из-за вычислительных ошибок. Скользить с ненулевой постоянной скоростью фаза коэффициентов эквалайзера очевидно не может при постоянстве частоты на входе - ПИ регулятор частоты не позволит.
Эскизы прикрепленных изображений
--------------------
Пишите в личку.
|
|
|
|
|
Aug 8 2010, 13:33
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(petrov @ Aug 7 2010, 04:29)  Всё проще оказалось, ошибка в симулинковском блоке сдвига частоты с внешним входом, на выходе получался нарастающий сдвиг частоты. Если вручную сделать подобный блок, то такая совместная схема эквалайзера и фазовой синхронизации работает нормально. des00, в железе что-то другое у вас... хмм, очень интересно, сей факт в железе мне точно не приснился, все модемщики с отдела его видели и объяснить не могли. Какая именно схема работает? Годдард + tanlock или DD + tanlock? Не могли бы вы модельку выложить ? ЗЫ. я использую матлаб 2007а, надо проверить есть ли в нем сей баг.
--------------------
|
|
|
|
|
Aug 9 2010, 01:43
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(petrov @ Aug 8 2010, 10:23)  Вполне ожидаемое явление, можно подобрать коэффициенты петель такие, что это будет практически незаметно. На длительных интервалах наблюдения (в матлабе ждать замучаешься %)) это заметно. Цитата(Oldring @ Aug 8 2010, 16:07)  Он не гоняется. Он медленно дрейфует. Ну можно и так сказать, на полосе 11МГц, созвездие на входе эквалайзера вращается против часовой стрелки со скоростью пара оборотов за ~6 минут. Когда ставишь эквалайзер за петлями, такого дрейфа нет. Что то же является причиной возникновения этого дрейфа?
--------------------
|
|
|
|
|
Aug 9 2010, 06:54
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(des00 @ Aug 9 2010, 05:43)  На длительных интервалах наблюдения (в матлабе ждать замучаешься %)) это заметно. Ну можно и так сказать, на полосе 11МГц, созвездие на входе эквалайзера вращается против часовой стрелки со скоростью пара оборотов за ~6 минут. В модели не видно такого поведения, покачивание происходит в ограниченном секторе и он не увеличивается. Цитата(des00 @ Aug 9 2010, 05:43)  Что то же является причиной возникновения этого дрейфа? Ошибка слежения ФАПЧ, чем меньше меньше ошибка и mu тем меньше амплитуда качания на входе эквалайзера.
|
|
|
|
|
Aug 9 2010, 07:28
|

Гуру
     
Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874

|
Цитата(des00 @ Aug 9 2010, 05:43)  Ну можно и так сказать, на полосе 11МГц, созвездие на входе эквалайзера вращается против часовой стрелки со скоростью пара оборотов за ~6 минут. Когда ставишь эквалайзер за петлями, такого дрейфа нет. Что то же является причиной возникновения этого дрейфа? Оборот более чем за миллиард символов. IMHO просто ограниченость разрядности цифровых сигналов в контуре. Фазовый компенсатор не может абсолютно точно скомпенсировать частоту, вот она и дрейфует. В паре дифференциатор-интегратор есть неуправляемое состояние, из-за вычислительных ошибок оно может дрейфовать. Что тут ни делай - это неуправляемое состояние неизбежно, если нуль компенсируется расположенным далее полюсом. Если же контур фазового слежения полностью замкнут перед эквалайзером, те же ошибки должны приводить не к дрейфу, но к нулеым циклам колебания фазового контура. Так как каждая из петель замкнута по своему фазовому сигналу, они, разумеется, обе не могут дрейфовать. А нулевые колебания, разумеется, заметить гораздо сложнее, чем непрерывный, хоть и медленый дрейф. Может быть и не нулевые колебания, если шум каждого сигнала существенно превышает его дискрет, но интегратор всё равно интегрирует вычислительные ошибки, и неуправляемое состояние уплывает. Правда, если фаза дрейфует равномерно, это на случайные блуждания непохоже, то есть шум оказывается со слегка ненулевым средним. Так что скорее всего или разрядность тут играет определяющую роль, или смещенность округления отбрасыванием младших разрядов. С этим, разумеется, можно бороться, для начала реализовав несмещенное округление к четному, добившись случайности блужданий вместо непрерывного одностороннего дрейфа, но зачем?
--------------------
Пишите в личку.
|
|
|
|
|
Aug 9 2010, 10:11
|

Гуру
     
Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874

|
Цитата(petrov @ Aug 9 2010, 13:32)  Там в модели синусоидальной воздействие и соответственно есть ошибка слежения, она второй контур и раскачивает, можно эквалайзер заменить на ФАПЧ 1-го порядка, и точно такое же поведение будет наблюдаться. Но схема в разнос не идёт, ничему это мешать не должно вроде бы. Всё верно, каков бы ни стоял ФАПЧ перед эквалайзером, на его выходе ошибка компенсации фазы не может оказаться нулевой во всём частотном диапазоне. Поэтому, если при этом эквалайзер постоянно подстраивается - он неизбежно будет отрабатывать эту остаточную ошибку. Я же писал о том, что в статике там полюс в нуле у контура компенсации фазы, поэтому ошибка в статике нулевая в точной арифметике. Поэтому, наблюдаемый медленный дрейф неизбежно связан с погрешностями арифметики. И до тех пор, пока эквалайзер содержит дифференциатор, то есть нуль в нуле, скольжение большого контура неизбежно. В этом всём более интересна не фаза, а символьная синхронизация. В принципе, возможна ситуация, когда при нестационарном канале пик эквалайзера будет дрейфовать вбок, несмотря на то, что гарднер стоит перед эквалайзером. В отличие от фазы коэффициентов, смещение тапов эквалайзера может и переполниться.
--------------------
Пишите в личку.
|
|
|
|
|
Aug 10 2010, 06:11
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Oldring @ Aug 9 2010, 01:28)  С этим, разумеется, можно бороться, для начала реализовав несмещенное округление к четному, добившись случайности блужданий вместо непрерывного одностороннего дрейфа, но зачем? после замены матлабовского блока на DDS модель стала вести себя адекватно. Сразу подумал про ошибку округления, т.к. в железе использую простой floor (жрет меньше ресурса). Но при этом отрицательные и положительные числа округляются в разную сторону. Такое округление было в FIR по выходным данным и по коэффициентам эквалайзера, при взятии фазы синуса/косинуса в DDS. Поставил везде округление к нулю. Но не помогло. Дрейф все равно остался %) Потом заметил, что по ошибке у меня стоит макрос использовать честный кордик, вместо таблички для решений по точкам, а т.к. у меня предполагается только QPSK модуляция выбрал использование таблицы. И скорость вращения уменьшилась раза в 2-3. Что странно, т.к. кордик гарантированно рабочий (вычисления им и в матлабе бьются один в один), разрядность фазы составляет 32бита, используется 16 шагов. Ваше указание на источник такого поведения оказалось верным %) Собрал демодулятор с эквалайзером перед tanlock, поставлю на суточные прогоны, посмотрю как будет работать.
--------------------
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|