реклама на сайте
подробности

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> восстановление тактовой частоты при двух отчетах на символ, Гуру прошу вашей помощи
des00
сообщение Apr 16 2009, 16:53
Сообщение #1


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Добрый день!

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

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

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

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

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


Спасибо!


--------------------
Go to the top of the page
 
+Quote Post
eugen_pcad_ru
сообщение Apr 17 2009, 04:29
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 642
Регистрация: 15-11-07
Пользователь №: 32 353



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


--------------------
Правильно сформулированый вопрос содержит в себе половину ответа.
P.S.: Некоторые модераторы в качестве ответа так навязчиво предлагают посетить свой сайт, что иначе как саморекламу такие действия интерпретировать сложно.
Go to the top of the page
 
+Quote Post
alex_os
сообщение Apr 17 2009, 04:32
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(des00 @ Apr 16 2009, 20:53) *
Или я не правильно понимаю принцип работы петли по тактовой для системы с интерполятором ?

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


Спасибо!

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


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
des00
сообщение Apr 17 2009, 04:40
Сообщение #4


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(alex_os @ Apr 16 2009, 22:32) *
Все будет работать. Немножко не правильно Вы себе представляете систему, интерполятор вырабатывает выходной отсчет не из одного входного а из нескольких последовательных входных отсчетов. Вообще проще представлять себе интерполятор+NCO как некое единое устройство - ресамплер, которое в единицу времени потребляет N отсчетов и производит M отсчетов. M может быть как больше, так и меньше N.


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

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

Спасибо.

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


--------------------
Go to the top of the page
 
+Quote Post
alex_os
сообщение Apr 17 2009, 04:53
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(des00 @ Apr 17 2009, 08:40) *
Тогда возник еще вопрос, в такой системе где должен стоять дробный эквалайзер работающей с двумя отсчетами на символ? До или после интерполятора?


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


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
petrov
сообщение Apr 17 2009, 08:12
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(des00 @ Apr 16 2009, 20:53) *
На данном форуме в темах про интерполяторы для восстановления тактовой/символьной частоты несколько раз встречал упоминание, что если ошибки вызванные влиянием интерполятора устраивают, то можно восстановить тактовую частоту всего при двух отчетах на символ.


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


Цитата(des00 @ Apr 16 2009, 20:53) *
Но меня интересует вот какой вопрос. Промоделированная система это система в которой частоты передатчика и приемника равны, отличаются только их фазы. Будет ли работать такая система если частоты разные? Да частоты будут отличаются не сильно, но тем не менее они разные?
Если частота передатчика ниже частоты приемника, то система будет работать, ошибка будет копиться и рано или поздно будет взят 1 отчет за 2 такта.
Но что будет если частота передатчика будет выше частоты приемника? Ведь NCO в такой системе упирается в верхнюю границу по генерируемой частоте и он не сможет сделать так что бы взять 2 отчета за 1 такт.


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

По вопросу эквалайзера до интерполятора alex_os совершенно прав, тут как с задержками при конвейеризации фильтра было, приходилось ставить аналогичную задержку в апдейт коэффициентов, здесь придётся ставить интерполятор.
Go to the top of the page
 
+Quote Post
alex_os
сообщение Apr 17 2009, 08:30
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(petrov @ Apr 17 2009, 12:12) *
При двух отсчётах должно быть ну очень плохо.

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


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
fontp
сообщение Apr 17 2009, 08:32
Сообщение #8


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



Цитата(des00 @ Apr 16 2009, 20:53) *
На данном форуме в темах про интерполяторы для восстановления тактовой/символьной частоты несколько раз встречал упоминание, что если ошибки вызванные влиянием интерполятора устраивают, то можно восстановить тактовую частоту всего при двух отчетах на символ.


Существуют работающие feedforward схемы для 2-х отсчетов, которые нормально работают c mPSK
Предполагается, что тактовые частоты приемника и передатчика совпадают с нужной точностью.
Что обычно выполняется легко для пакетных (burst) модемов
dF*N/F<<1
и никогда не выполняется для непрерывного модема, разве что проводить периодически пересинхронизацию заново


Кубический интерполятор (не совсем Farrow) для 2=х точек докучи
Прикрепленные файлы
Прикрепленный файл  A_fully_digital_timing_recovery_scheme_using_two_samples_per_symbol.pdf ( 255.54 килобайт ) Кол-во скачиваний: 391
Прикрепленный файл  Interpolator_for_all_digital_receivers.pdf ( 266.85 килобайт ) Кол-во скачиваний: 833
 
Go to the top of the page
 
+Quote Post
petrov
сообщение Apr 17 2009, 08:35
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(alex_os @ Apr 17 2009, 12:30) *
Вы имеете ввиду, что интерполятор некачественный получается при двух отсчетах на символ?


Да, des00 использует Farrow кубический, ессно он будет большие искажения вносить.
Go to the top of the page
 
+Quote Post
des00
сообщение Apr 17 2009, 09:45
Сообщение #10


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(petrov @ Apr 17 2009, 02:12) *
При двух отсчётах должно быть ну очень плохо.


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

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


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


Цитата(fontp @ Apr 17 2009, 02:32) *
Существуют работающие feedforward схемы для 2-х отсчетов, которые нормально работают c mPSK
Предполагается, что тактовые частоты приемника и передатчика совпадают с нужной точностью.
Что обычно выполняется легко для пакетных (burst) модемов
dF*N/F<<1
и никогда не выполняется для непрерывного модема, разве что проводить периодически пересинхронизацию заново


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

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

Спасибо.
Прикрепленные файлы
Прикрепленный файл  timing_recovery_loop_2sps_first_order_R14.zip ( 12.85 килобайт ) Кол-во скачиваний: 144
 


--------------------
Go to the top of the page
 
+Quote Post
fontp
сообщение Apr 17 2009, 10:53
Сообщение #11


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



Цитата(des00 @ Apr 17 2009, 13:45) *
если рассмотреть 2 генератора в приемнике и передатчике на одну частоту ~30МГц со стабильностью 100ppm, если я правильно понял ваш критерий то dF*1/2 << 1 будет выполняться и для непрерывных модемов. Или я ошибаюсь ?

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

Спасибо.


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

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

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

Классический алгоритм Гарднера как раз для двух отсчетов на символ.
Хотя реальные возможности любого модемного алгоритма кроются в деталях, которые Вы "скрываете": тип модуляции, х-ки канала и т.д.
Прикрепленные файлы
Прикрепленный файл  gardner.zip ( 629.67 килобайт ) Кол-во скачиваний: 187
 
Go to the top of the page
 
+Quote Post
petrov
сообщение Apr 17 2009, 11:08
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(des00 @ Apr 17 2009, 13:45) *
Если судить по созвездию, то не все так плохо.


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


Цитата(des00 @ Apr 17 2009, 13:45) *
Кажеться доходит вы имеете в виду что в этом случае дробный эквалайзер будет не успевать проводить последовательные вычисления со скоростью 2 отчета на символ, т.к. будет разрыв когда NCO возьмет отчеты каждый такт?


Да нужен будет лишний такт которого нету.
Go to the top of the page
 
+Quote Post
des00
сообщение Apr 17 2009, 11:25
Сообщение #13


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(petrov @ Apr 17 2009, 06:08) *
По мне так плохо, можно вообще упростить модель и смотреть наихудший случай когда на интерполятор постоянно подаётся mu = 0.5 , посмотрите в литературе ЧХ для этого случая.


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


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

Спасибо.
Эскизы прикрепленных изображений
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  OSFx2.zip ( 22.1 килобайт ) Кол-во скачиваний: 56
 


--------------------
Go to the top of the page
 
+Quote Post
petrov
сообщение Apr 17 2009, 11:38
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(des00 @ Apr 17 2009, 15:25) *
А как поступают в ситуации когда АЦП может дать только 2 отсчета на символ ? повышают частоту дискретизации интерполяцией в 2 раза и берут сигнал с интерполятора ?


Параллельно вычислять раз тактов не хватает.
Go to the top of the page
 
+Quote Post
des00
сообщение Apr 17 2009, 11:59
Сообщение #15


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(petrov @ Apr 17 2009, 06:38) *
Параллельно вычислять раз тактов не хватает.


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


--------------------
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 10th July 2025 - 19:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01529 секунд с 7
ELECTRONIX ©2004-2016