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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Дробные интерполяторы (+), гуру проясните по теме
des00
сообщение May 29 2009, 12:27
Сообщение #1


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

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



Добрый день!

Гуру просвятите вот такой момент. Возможно ли создание ресамплера(интерполятор + NCO) в приемнике, на основе структур фарроу с преобразованием именно тактовой частоты.

Я всегда считал что ресамплер работает на одной тактовой частоте, кратной/не кратной символьной частоте потока. И на выходе ресамплера идут данные с частотой кратной символьной(пусть она и дрожит), но на той же тактовой частоте. А коллега утверждает что можно сделать ресамплер, на выходе которого будет частота кратная символьной, но на тактовой частоте != частоте нарезки АЦП(а также работе фильтров фарроу и т.д.). Я не могу представить как можно реализовать такой ресамплер полностью в цифре. Но может быть я ошибаюсь.

Спасибо.


--------------------
Go to the top of the page
 
+Quote Post
petrov
сообщение May 29 2009, 12:49
Сообщение #2


Гуру
******

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



Чёта как-то сумбурно, можно попроще поконкретнее?
Go to the top of the page
 
+Quote Post
des00
сообщение May 30 2009, 16:17
Сообщение #3


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

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



Цитата(petrov @ May 29 2009, 07:49) *
Чёта как-то сумбурно, можно попроще поконкретнее?


конкретнее будет так

есть модем с символьной частотой 25 МГц(1/8*200МГц), есть АЦП который работает на 180 МГц. Коллега хочет ресамплер на входе которого сигнал на тактовой частоте 180МГц, а на выходе 2sps клок домен на тактовой частоте 200МГц. По моему это не реализуемо. Я думаю что в таком случае нужно делать ресамплер на 180МГц, на выходе которого будет 2sps клок домен на тактовой частоте 180. Или я ошибаюсь?


--------------------
Go to the top of the page
 
+Quote Post
petrov
сообщение May 30 2009, 18:33
Сообщение #4


Гуру
******

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



Очевидно что чистый тактовый сигнал без джиттера в 200 100 50 25 МГц без аналоговых цепей не получить, но в 2sps домене будет тактовый сигнал в 50 МГц с джиттером определяемым тактовой 180 МГц, если подать енаблы 2sps домена на частотомер то он конечно же покажет 50 МГц, можно и в явном виде сделать не через енаблы а через управление CLK регистров, будет буквально тактовый сигнал в 50 МГц но от джиттера ессно в цифре никак не избавиться.
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 1 2009, 02:41
Сообщение #5


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

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



Цитата(petrov @ May 30 2009, 12:33) *
Очевидно что чистый тактовый сигнал без джиттера в 200 100 50 25 МГц без аналоговых цепей не получить, но в 2sps домене будет тактовый сигнал в 50 МГц с джиттером определяемым тактовой 180 МГц, если подать енаблы 2sps домена на частотомер то он конечно же покажет 50 МГц, можно и в явном виде сделать не через енаблы а через управление CLK регистров, будет буквально тактовый сигнал в 50 МГц но от джиттера ессно в цифре никак не избавиться.


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

Похоже что мой коллега ошибается, спасибо за помощь!!!


--------------------
Go to the top of the page
 
+Quote Post
SM
сообщение Jun 1 2009, 23:25
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Если я правильно понимаю суть, то 180 -> 20 MHz легко (делить на 9), при этом 10 выборок хранить. Это уже полностью эквивалентно - пачка в 10 выборок на 20 МГц, или по одной, но на 200.
Go to the top of the page
 
+Quote Post
sup-sup
сообщение Jun 2 2009, 11:24
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 674
Регистрация: 26-08-05
Пользователь №: 7 997



Сейчас нечто подобное пытаюсь сделать в LabVIEW с помощью поочередной децимации и интерполяции.
То есть, перегнать несколько раз оцифровку через фильтры с разной тактовой частотой.
Ограничения такие, не зафильтровать сигнал (для децимации) и не поднять сильно тактовую частоту (возможность реализации интерполятора)
В заданном примере это выглядело бы так:
децимация на 3: 180 --> 60 (полоса сигнала не более 30 МГц)
интерполяция на 5: 60 --> 300
децимация на 3: 300 --> 100
интерполяция на 2: 100 --> 200
Можно бы сразу сделать интерполяцию на 10 и децимацию на 9, но железо должно потянуть на 1800, а так только полуторная частота (300 МГц)
Go to the top of the page
 
+Quote Post
SM
сообщение Jun 2 2009, 11:58
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



А вот как получить 200 МГц из 180 физически, если нельзя использовать аналоговую PLL, а 1800 железо не тянет?
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 3 2009, 03:18
Сообщение #9


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

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



Цитата(SM @ Jun 1 2009, 17:25) *
Если я правильно понимаю суть, то 180 -> 20 MHz легко (делить на 9), при этом 10 выборок хранить. Это уже полностью эквивалентно - пачка в 10 выборок на 20 МГц, или по одной, но на 200.


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


--------------------
Go to the top of the page
 
+Quote Post
SM
сообщение Jun 3 2009, 06:25
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(des00 @ Jun 3 2009, 07:18) *
в принципе при указанных мной частотах это можно было бы сделать, но в этом приемнике мне нужны не только данные, но и темп их следования. В общем буду делать на двух генераторах. Цифровой приемник будет на одном фиксированном генераторе, а за ним деджитер по данным на ГУНе.

а PLL 20 -> 200? Есть же PLL-и с отменным джитетром.
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 5 2009, 02:54
Сообщение #11


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

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



Цитата(SM @ Jun 3 2009, 00:25) *
а PLL 20 -> 200? Есть же PLL-и с отменным джитетром.


думаю что в контексте приемников так сделать не получиться. генератор на 180 независимый, отвязанный по фазе генератор. Восстановление символьной частоты идет в цифровом виде, поэтому поток отсчетов идет не равномерный. А мне нужно сделать из этого потока равномерный на таковой в 200. Как я понимаю для этого нужно привязать генератор тактовой 200 МГц, к восстановленной символьной на 180МГц. Это можно сделать на деджитере по данным с аналоговым гуном и узкой петлей.


--------------------
Go to the top of the page
 
+Quote Post
SM
сообщение Jun 5 2009, 06:42
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(des00 @ Jun 5 2009, 06:54) *
Это можно сделать на деджитере по данным с аналоговым гуном и узкой петлей.

Так именно об этом и речь. Поделить имеющиеся дрожащие 180 на 9, получить 20, затолкав в фифо например 20 выборок, или 40 (чтобы никакое дрожание не привело к проскальзыванию, а просто к +- по кол-ву данных). Затем эти 20 на вход PLL 20->200. PLL же имеет в себе именно аналоговый ГУН и вроде как вполне узкую петлю. Ну а уже в домене 200 просто тупо читать из фифо. Другое дело, справится ли с этим внутренняя PLL ПЛИС (вряд-ли, у альтеры специфицирован входной джиттер 650 пс, а в лэтисе и того меньше, 300), или нужна внешняя - вот это вопрос открытый. Но случае это все равно PLL 20->200.
Go to the top of the page
 
+Quote Post
petrov
сообщение Jun 5 2009, 07:51
Сообщение #13


Гуру
******

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



А зачем этот деджиттер, данные приняли, записали в FIFO, местным клоком их считывать и следить чтобы переполнений опустошений небыло, в чём нужда обрабатывать их именно на клоке передатчика?
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 5 2009, 08:33
Сообщение #14


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

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



Цитата(petrov @ Jun 5 2009, 02:51) *
местным клоком их считывать и следить чтобы переполнений опустошений небыло


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


--------------------
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 5 2009, 09:43
Сообщение #15


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(des00 @ Jun 5 2009, 09:33) *
как это можно сделать в полностью цифровом виде, при условии что поток данных на чтение должен быть равномерным ? Т.е. время между обновлением данных на выходе было постоянно и фиксированно ?


Делал я так.Тут хорошо помогает эластичный буфер.Но он работает когда средняя скорость записи равна скорости чтения(которая постоянна).Для вашей задачи это подойдёт?
Go to the top of the page
 
+Quote Post

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

 


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


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