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

восстановление тактовой частоты при двух отчетах на символ

Добрый день!

 

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

 

Собрал модель с кубическим интерполятором, действительно приемник цепляется и хорошо держится за фазу частоты передатчика (изменение фазы моделирую интерполятором).

 

Но меня интересует вот какой вопрос. Промоделированная система это система в которой частоты передатчика и приемника равны, отличаются только их фазы. Будет ли работать такая система если частоты разные? Да частоты будут отличаются не сильно, но тем не менее они разные?

Если частота передатчика ниже частоты приемника, то система будет работать, ошибка будет копиться и рано или поздно будет взят 1 отчет за 2 такта.

Но что будет если частота передатчика будет выше частоты приемника? Ведь NCO в такой системе упирается в верхнюю границу по генерируемой частоте и он не сможет сделать так что бы взять 2 отчета за 1 такт.

 

Или я не правильно понимаю принцип работы петли по тактовой для системы с интерполятором ?

 

ЗЫ. Как я понимаю подобная ситуация не возникнет если в системе с интерполятором больше чем 2 отсчета на символ или в системе с ГУНом, который сможет дотянуть частоту.

 

 

Спасибо!

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


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

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

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


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

Или я не правильно понимаю принцип работы петли по тактовой для системы с интерполятором ?

 

ЗЫ. Как я понимаю подобная ситуация не возникнет если в системе с интерполятором больше чем 2 отсчета на символ или в системе с ГУНом, который сможет дотянуть частоту.

 

 

Спасибо!

Все будет работать. Немножко не правильно Вы себе представляете систему, интерполятор вырабатывает выходной отсчет не из одного входного а из нескольких последовательных входных отсчетов. Вообще проще представлять себе интерполятор+NCO как некое единое устройство - ресамплер, которое в единицу времени потребляет N отсчетов и производит M отсчетов. M может быть как больше, так и меньше N.

-----------------------------------

Интересно при каком минимальном отношении частоты дискретизации к символьной скорости возможно восстановить тактовую, мне кажется что эта величина должна быть больше (1+коэффициент_скругления)?

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


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

Все будет работать. Немножко не правильно Вы себе представляете систему, интерполятор вырабатывает выходной отсчет не из одного входного а из нескольких последовательных входных отсчетов. Вообще проще представлять себе интерполятор+NCO как некое единое устройство - ресамплер, которое в единицу времени потребляет N отсчетов и производит M отсчетов. M может быть как больше, так и меньше N.

 

Спасибо за ответ и отдельное спасибо MKS за модель. Я смотрел на интерполятор не с той стороны и рассматривал его как устройство у которого на входе 2 отсчета и на выходе 2 отсчета. А надо было смотреть как на входе 2 отсчета, а на выходе один.

 

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

 

Спасибо.

 

PS. глупый вопрос, почти уверен что до %)

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


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

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

 

После интерполятора , конечно, если до интерполятора то его очень тяжко будет подстраивать (если LMS подобный алгоритм, то придется ошибку на выходе решателя как-то пересчитывать в domain до интерполятора, что-то такое сложное и непонятное нужно будет городить).

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


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

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

 

При двух отсчётах должно быть ну очень плохо.

 

 

Но меня интересует вот какой вопрос. Промоделированная система это система в которой частоты передатчика и приемника равны, отличаются только их фазы. Будет ли работать такая система если частоты разные? Да частоты будут отличаются не сильно, но тем не менее они разные?

Если частота передатчика ниже частоты приемника, то система будет работать, ошибка будет копиться и рано или поздно будет взят 1 отчет за 2 такта.

Но что будет если частота передатчика будет выше частоты приемника? Ведь NCO в такой системе упирается в верхнюю границу по генерируемой частоте и он не сможет сделать так что бы взять 2 отчета за 1 такт.

 

Если у вас АЦП берёт 2 отсчёта на символ и частота передатчика чуть выше то действительно будет нехватать тактов для последовательных вычислений с частотой 2 отсчёта на символ передатчика, это вопрос организации вычислений а не принципа работы символьной ФАПЧ, вам придётся считать параллельно.

 

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

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


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

При двух отсчётах должно быть ну очень плохо.

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

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


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

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

 

Существуют работающие feedforward схемы для 2-х отсчетов, которые нормально работают c mPSK

Предполагается, что тактовые частоты приемника и передатчика совпадают с нужной точностью.

Что обычно выполняется легко для пакетных (burst) модемов

dF*N/F<<1

и никогда не выполняется для непрерывного модема, разве что проводить периодически пересинхронизацию заново

 

 

Кубический интерполятор (не совсем Farrow) для 2=х точек докучи

A_fully_digital_timing_recovery_scheme_using_two_samples_per_symbol.pdf

Interpolator_for_all_digital_receivers.pdf

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


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

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

 

Да, des00 использует Farrow кубический, ессно он будет большие искажения вносить.

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


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

При двух отсчётах должно быть ну очень плохо.

 

хмм, я может быть что то не понимаю, но вот моделька для 2-х отчетов на символ. В модели использован самый простой линейный интерполятор. В данной модели есть расстройка частоты передатчика на 1кгц, если ее убрать (поставить в Signal Source -> Random Integer Generator -> Sample Time == 1/Fs) то видно что ошибка для QPSK составит 4.5 градуса. Если в этой модели использовать кубический интерполятор то ошибка составит ~1 градуса. Для моей системы эти ошибки допустимы, т.к. потом планируется поставить деджитер с аналоговым ГУНом. Расшифруйте пожалуйста что вы понимаете под словами ну очень плохо. Если судить по созвездию, то не все так плохо.

 

Если у вас АЦП берёт 2 отсчёта на символ и частота передатчика чуть выше то действительно будет нехватать тактов для последовательных вычислений с частотой 2 отсчёта на символ передатчика, это вопрос организации вычислений а не принципа работы символьной ФАПЧ, вам придётся считать параллельно.

 

Если посмотреть модель, то там вычисления идут последовательно и при расстройке частот да видны ухудшения (точки "булькают"), но при этом вроде как все работает.

-----------------

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

 

 

Существуют работающие feedforward схемы для 2-х отсчетов, которые нормально работают c mPSK

Предполагается, что тактовые частоты приемника и передатчика совпадают с нужной точностью.

Что обычно выполняется легко для пакетных (burst) модемов

dF*N/F<<1

и никогда не выполняется для непрерывного модема, разве что проводить периодически пересинхронизацию заново

 

если рассмотреть 2 генератора в приемнике и передатчике на одну частоту ~30МГц со стабильностью 100ppm, если я правильно понял ваш критерий то dF*1/2 << 1 будет выполняться и для непрерывных модемов. Или я ошибаюсь ?

 

Есть ли среди ваших запасников статьи о feedback синхронизации по 2-м отсчетам ? :)

 

Спасибо.

timing_recovery_loop_2sps_first_order_R14.zip

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


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

если рассмотреть 2 генератора в приемнике и передатчике на одну частоту ~30МГц со стабильностью 100ppm, если я правильно понял ваш критерий то dF*1/2 << 1 будет выполняться и для непрерывных модемов. Или я ошибаюсь ?

 

Есть ли среди ваших запасников статьи о feedback синхронизации по 2-м отсчетам ? :)

 

Спасибо.

 

Я элементарно полагаю, что для 100 ppm в тактовой необходима пересинхронизация на << 1/100ppm = 10000 символов. Фаза не успевает уйти. Для пакетных модемов это выполняется практически всегда, если мы синхронизируем тактовую в начале по преамбуле или даже по всей длине пакета, если демодулятор программный и памяти хватает. В пакетных модемах практически никогда не следят за тактовой, достаточно определить её один раз (на пакет)

 

Для непрерывного модема фаза раньше или позже уйдет на пол-символа

 

У вас же есть модель на R14 зачем Вам ещё статьи? :rolleyes:

 

Классический алгоритм Гарднера как раз для двух отсчетов на символ.

Хотя реальные возможности любого модемного алгоритма кроются в деталях, которые Вы "скрываете": тип модуляции, х-ки канала и т.д.

gardner.zip

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


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

Если судить по созвездию, то не все так плохо.

 

По мне так плохо, можно вообще упростить модель и смотреть наихудший случай когда на интерполятор постоянно подаётся mu = 0.5 , посмотрите в литературе ЧХ для этого случая.

 

 

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

 

Да нужен будет лишний такт которого нету.

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


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

По мне так плохо, можно вообще упростить модель и смотреть наихудший случай когда на интерполятор постоянно подаётся mu = 0.5 , посмотрите в литературе ЧХ для этого случая.

 

вот это мне тоже не понятно. В атаче АЧХ и ФЧХ фарроу первого порядка и простая модель с фарроу первого и второго порядка при mu = 0.5 при 2-х отчетах на символ. Если смотреть на ЧХ то видно что по идее, при 2-х отчетах на символ, будет полный ужас, но в модельке с первым порядком ошибка ~4.5 градусов, а с третим порядком ~1 градуса. Результат странный, но факт остается фактом. %(

 

 

про эквалайзер понятно, надо уходить на 4 отсчета на символ. А как поступают в ситуации когда АЦП может дать только 2 отсчета на символ ? повышают частоту дискретизации интерполяцией в 2 раза и берут сигнал с интерполятора ?

 

Спасибо.

OSFx2.zip

post-3453-1239967229_thumb.jpg

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


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

А как поступают в ситуации когда АЦП может дать только 2 отсчета на символ ? повышают частоту дискретизации интерполяцией в 2 раза и берут сигнал с интерполятора ?

 

Параллельно вычислять раз тактов не хватает.

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


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

Параллельно вычислять раз тактов не хватает.

 

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

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


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

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

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

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

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

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

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

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

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

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