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

timing loop

Добрый вечер! Если я правильно понимаю то под этим определением имеется в виду тактовая синхронизация по клоку мастера? Может кто-нибудь объяснить "на пальцах" как это делается?

 

Передатчик передает OFDM сигнал с известной пилотной частотой. Нужно подстроить клок приемника АЦП. Как это делается?Допустим после БПФ по фазе сигнала на пилотном бине я могу определить смещение границы забора OFDM символа во времени, (это если я правильно понимаю timing recovery?). Далее по движению фазы во времени я могу определить разницу между номиналами тактовых частот приемника и передатчика. Но как подстроить фазу приемного клока по передающему?

 

Извиняюсь, если сумбурно. Буду благодарен за примеры.

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


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

Перед БПФ должна быть реализована частотная и временная синхронизация по тренировочному символу (преамбула) либо по CP символов. На вход БПФ должны заходить синхронизованные по времени символы, т.е. Вы знаете начало символа в пределах CP. После БПФ по пилот-тонам можно оценить фазовое смещение символов, которое обусловлено:

- фазовым смещением от рассогласования синтезаторов передатчика/приёмника и канала,

- остаточным частотным рассогласованием после частотной синхронизации,

- остаточным временным смещением в пределах CP.

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

Это было, так сказать, оценка и компенсация целого фазового смещения.

 

Если подумать, то после этого можно оценить остаточное (дробное) фазовое смещение в символе и его завести, как обратную связь в дробный интерполятор (ресемплер, фильтр Фарроу), который поставить сразу же после АЦП и тем самым дробно сдвигать не сам клок, а находить значения сигнала между сэмплами.

http://www.ee.iitm.ac.in/~giri/pdfs/EE6002/book-cho.pdf

стр.178 - восстановление тактовой частоты

 

К слову, на практике не приходилось компенсировать дробное фазовое смещение. :laughing:

Компенсации целого было достаточно (например, QAM64).

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


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

Да так и есть, предварительно перед передачей данных там выполняется тренинг во время которого я определяю границы ofdm символа во времени по известному синхрофрейму, после чего по изменению фазы на пилоте от символа к символу получаю разность частот между генератором передающего устройства и моего приемника. Далее перестраиваю свой тактовый генератор (разница в частотах получается точнее чем +-50ppm предусмотренная в стандарте). Далее перед данными опять периодически передаются синхрофреймы по которым я перерассчитываю частотный эквалайзер при приеме. Созвездия хорошо различимы.

 

При передаче данных: Когда я выступаю в роли мастера, слейв отвечает на передаваемые мною данные всегда. А когда выступаю в роли слейва, то периодически отвечает а периодически нет, при одинаковой логике работы.

 

Вот у меня и возникает нехорошая мысль что передатчик слейва должен полностью синхронизироваться по тактовому клоку передатчика мастера. Такое вообще возможно?

 

During this state, the S shall do timing recovery and loop timing and may do other adaptive

AFE algorithms. Loop timing is defined as the combination of the slaving of the S ADC

clock to the received signal (i.e., to the M DAC clock), and tying the S DAC and ADC

clocks together.

Изменено пользователем Kokos

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


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

Ну у меня аналогичный принцип работы: мастер - слейв. Связь типа точка-точка. Транзакция обмена мастер-слейв разделена, например, 50/50 символов + таймауты между передачами для перестройки аналоговых трактов (усилители, коммутаторы и проч.).

 

...после чего по изменению фазы на пилоте от символа к символу получаю разность частот между генератором передающего устройства и моего приемника.

Да, по пилотам можно определить частотное рассогласование CFO, но перед этим надо на самом первом этапе обработки оценить и скомпенсировать (грубо) CFO по автокорреляции. Без частотной синхры загонять сэмплы в FFT бессмысленно. По крайней мере, в моём случае оценка CFO показывает 20-30 кГц при том, что ширина одной поднесущей 60 кГц.

http://sdsu-dspace.calstate.edu/bitstream/....pdf?sequence=1

тут описан принцип long и short preamble

Оценить CFO через пилоты возможно только, если рассогласование в незначительных пределах.

Предыдущая книга по MIMO-OFDM: стр. 161, figure 5.7

 

Далее перед данными опять периодически передаются синхрофреймы по которым я перерассчитываю частотный эквалайзер при приеме.

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

По первому фрейму временная синхра ... таймаут ожидания ... по 2-му фрейму частотная синхра ... таймаут ожидания ... по 3-му фрейму эквалайзирование?

 

 

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


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

Я оцениваю разницу и перестраиваю свою частоту дискретизации своего устройства (+-50ppm).

На этапе частотной синхронизации не нужно перестравить дискретизацию устройства (это больше похоже на тактовую синхронизацию).

Пример:

Фаза в пике автокорреляции по преамбуле или CP покажет на разницу частот синтезаторов передатчика и приёмника. Это значение фазы заводим на cordic, который выдает гармонический сингал cos/sin, который комплексно умножаем на входной I/Q, тем самым компенсируем разницу частот.

В книге MIMO-OFDM в разделе CFO про это подробно рассказано.

 

Тут нужно отметить что у меня сигнал уже на нулевой частоте изначально. Полоса 1.104 МГц, частота дискретизации 2.208 МГц. Частотное разделение канала вверх и вниз. Вот, я подозреваю что нужно добиться полной синхронизации частот дискретизации передатчика мастера и приемника слейва.

У меня в системе тоже оцифровывается сигнал на нулевой частоте. Правда, полоса 1.104 МГц прямо на самом краю fs/2; - опасно. У меня fs = 61.44 МГц, полоса 12 МГц. Повторюсь, работаю без синхронизации fs передатчика/приёмника.

 

:rolleyes:

 

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


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

Ой, я не так выразился прошу прощения. У меня в самой системе нет гетеродинирования, т.е. сигнал изначально на нулевой частоте, без переносов.

Т.о. частотную синхронизацию мне делать не нужно. Временная сделана корреляцией синхрофреймов. А тактовая - перестройкой задающего генератора (+-50ppm) по сдвигу фазы на пилоте за интервал времени. Вообще могут быть какие-нибудь вредные эффекты из-за несовпадения по фазе тактовых частот передатчика и приемника? Или мне следует искать проблемы в чем-то другом все же?

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


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

Вообще могут быть какие-нибудь вредные эффекты из-за несовпадения по фазе тактовых частот передатчика и приемника?

 

Тут вредные эффекты не сколько в несовпадение фаз тактовых генераторов, а сколько в несовпадении этих частот. Из-за 2-го фактора будет возникать межсимвольная интерференция.

Все относительно: период символа к периоду семплирования.

 

Во к примеру решил для себя подсчитать:

fs tx = 61.44 МГц

Ts tx = 16.276 нс

длина символа len = 1024 + 64 (CP) = 1088 сэмплов fs

Tsym tx = 17.708 мкс

 

Предположим, что генератор передатчика идеальный, а нестабилен генератор приёмника на +50ppm.

fs rx = fs tx * (1 + ppm) = 61.443072 МГц

Ts rx = Ts tx / (1 + ppm) = 16.275 нс

 

N = len * (1 + ppm) = 1088.0544

Т.е. за 1088 тактов на приёмнике оцифруется более, чем один символ: 1-й символ + 0.0544 части такта следующего.

 

Верно ли?

Изменено пользователем quato_a

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


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

Да все верно, возникает вопрос приемник мастера сам должен компенсировать это расхождение, либо передатчик слейва должен как-то "предискажать сигнал" (не знаю как это назвать по-научному)?

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


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

Да все верно, возникает вопрос приемник мастера сам должен компенсировать это расхождение, либо передатчик слейва должен как-то "предискажать сигнал" (не знаю как это назвать по-научному)?

 

Если пакетные транзакции.

Допустим, синхронизировались по синхросимволу, далее от символа к символу расхождение возрастает, а тут и фрейм закончился. Все результаты синхронизации, оценки и прочего сбрасываем; оставляем только уровень АРУ. И по новой синхронизируемся по новому синхросимволу, причем предыдущие расхождение нивелируется, начнет заново расходиться.

 

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

http://ru.dsplib.org/content/resampling_lagrange.html

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


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

Статья полезная, спасибо. С приемной стороны слейва я понимаю как сделать обработку. Меня беспокоит возможно ли такое что с выходным сигналом для мастера нужно делать что-то подобное?

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


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

Статья полезная, спасибо. С приемной стороны слейва я понимаю как сделать обработку. Меня беспокоит возможно ли такое что с выходным сигналом для мастера нужно делать что-то подобное?

 

Ресемплер на входе приемников мастера и слейва.

 

Ранее Вы упоминали, что используется частотное разделение каналов uplink/downlink.

Как вы это реализуете без переноса на несущую. Переносите в цифровом виде: перед ЦАПом и после АЦП ставите up/downconverter?

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


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

Там просто не перекрывающиеся частотные каналы используются "вверх" 1-31 бин полосы, "вверх" - 32-255 бин полосы. На ОБПФ и в линию.

 

В теории про такой способ не находил, но размышлял.

Получается, если модемы мастера и слейва постоянно и одновременно фигачат, то у Вас хорошая межканальная интерференция от CFO, так что поднесущие в тракте друг на друга полезут. :rolleyes:

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


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

Да все верно, возникает вопрос приемник мастера сам должен компенсировать это расхождение, либо передатчик слейва должен как-то "предискажать сигнал" (не знаю как это назвать по-научному)?

 

Обычно слейв подстраивается под мастер. Как правило это делают аппаратно, изменяя частоту опорного генератора с помощью ЦАП (в частности таким образом функционируют все мобильные телефоны, имеющие собственный низкостабильный опорник из-за ограниченных габаритов и потребления и использующие сигнал базовой станции в качестве референсного для подстройки). Если возможности такой подстройки у Вас нет, то это можно сделать программно с помощью передискретизации.

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


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

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

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

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

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

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

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

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

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

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