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

 
 
 
Reply to this topicStart new topic
> Интерполяция сигнала с получением двух отсчётов за такт, Интерполяция в целое число раз на частоте оцифровки исходного сигнала
Lionet
сообщение Jun 9 2017, 07:32
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 10-11-10
Пользователь №: 60 787



Есть модуль ЦАП, принимающий данные по два отсчёта за такт обмена. Т.е. частота оцифровки сигнала 500 МГц, а обмен идёт на 250 МГц, но по два отсчёта. Модуль подключён к ПЛИС.

Есть сигнал с частотой оцифровки 250 МГц. Соответственно, необходимо произвести передискретизацию (интерполяцию) сигнала на частототу оцифровки 500 МГц и, далее, группировку симплов парами.

Проблема в том, что привычные методы (например, FIR и CIC ядра для ПЛИС), выдают по одному отсчёту за такт и требуют тактовой частоты не менее 500 МГц, соответственно.
На такой частоте проект у меня не собирается даже в пустой ПЛИС.
Само по себе это странно, используется Kintex-7, Xilinx FIR пишет в конфигураторе допустимую тактовую до 700 с лишним МГц, но, возможно, проблема в том, что используется LabView FPGA и это добавляет
какие-то дополнительные модули, не дающие проекту собраться на такой частоте. На 250 МГц всё собирается нормально даже в больших проектах.

Есть ли какие-то методы, позволяющие проводить интерполяцию "параллельно", получая сразу N-й и N-1 отсчёты выходного сигнала?
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 9 2017, 07:52
Сообщение #2


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

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



Цитата(Lionet @ Jun 9 2017, 10:32) *
Есть ли какие-то методы, позволяющие проводить интерполяцию "параллельно", получая сразу N-й и N-1 отсчёты выходного сигнала?

Это называется полифазная реализация. Ищите.
Go to the top of the page
 
+Quote Post
quato_a
сообщение Jun 9 2017, 19:48
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 95
Регистрация: 27-07-11
Из: Зеленоград
Пользователь №: 66 439



Может быть от производителя ЦАП есть готовый драйвер потоковой работы с их IC.

Думаю, рыть нужно в сторону примотивов xilinx selectio.


--------------------
Суббота начинается в понедельник
Go to the top of the page
 
+Quote Post
aT-DeviLru
сообщение Jun 9 2017, 19:49
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 106
Регистрация: 11-11-10
Из: Санкт-Петербург
Пользователь №: 60 826



Xilinx FIR Compiler в Vivado умеет делать интерполяцию параллельных потоков, поэтому задача интерполяции сигнала в 2 раза с Fд = 250 МГц до 500 МГц на клоке 250 МГц решается очень просто.
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Jun 10 2017, 05:16
Сообщение #5


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



Если человек разрабатывает прошивку с помощью костылей то начинаешь подозревать что проблема не там где он её видит , ТС - вы не могли бы сказать какой тип ЦАП вы применяете и в МГц какой частоты сигнал вы на выходе цап ждёте?


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
Lionet
сообщение Jun 13 2017, 07:04
Сообщение #6





Группа: Участник
Сообщений: 14
Регистрация: 10-11-10
Пользователь №: 60 787



Цитата(_Anatoliy @ Jun 9 2017, 11:52) *
Это называется полифазная реализация. Ищите.


Спасибо огромное!
Нашёл описание у Айфичера, сделал на двух фильтрах из FIR compiler-a.

Единственный странный момент: судя по описанию, Xilinx FIR Compiler тоже применяет полифазную интерполяцию. Но у него нельзя убрать выходной коммутатор, собирающий данные с отдельных трактов. Поэтому он выдаёт отсчёты только последовательно (а не парами, как надо). И странно, что из-за этого коммутатора он, видимо, по таймингам и не собирается.

Цитата(Lmx2315 @ Jun 10 2017, 09:16) *
Если человек разрабатывает прошивку с помощью костылей то начинаешь подозревать что проблема не там где он её видит , ТС - вы не могли бы сказать какой тип ЦАП вы применяете и в МГц какой частоты сигнал вы на выходе цап ждёте?


Почему Вы считаете, что с помощью костылей? Интерполяция сигнала к частоте работы ЦАП - это штатная операция.
Модуль ЦАП - NI 5782.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 13 2017, 07:47
Сообщение #7


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Подумал, что же здесь не так...
Интерполяцией вы дополнительной информации в сигнал не добавите. Значит, хватит и 250 МГц выборок. Дальше можно фильтровать аналоговым фильтром. Просто.
Go to the top of the page
 
+Quote Post
Lionet
сообщение Jun 13 2017, 07:56
Сообщение #8





Группа: Участник
Сообщений: 14
Регистрация: 10-11-10
Пользователь №: 60 787



Цитата(ViKo @ Jun 13 2017, 11:47) *
Подумал, что же здесь не так...
Интерполяцией вы дополнительной информации в сигнал не добавите. Значит, хватит и 250 МГц выборок. Дальше можно фильтровать аналоговм фильтром. Просто.


Аналоговый (восстанавливающий) фильтр уже встроен в блок ЦАП (потому я и написал, что у меня модуль, а не микросхема). И рассчитан на частоту дискретизации 500 МГц - по сути это оцифровка с запасом
по частоте, позволяет упростить фильтр и сделать его более линейным. Но требования Найквиста-Котельникова нужно соблюдать :-)
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Jun 13 2017, 09:35
Сообщение #9


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



Цитата(Lionet @ Jun 13 2017, 10:04) *
Почему Вы считаете, что с помощью костылей? Интерполяция сигнала к частоте работы ЦАП - это штатная операция.
Модуль ЦАП - NI 5782.

это я про лабвью так по хамски сказал, прошу прощения, потом посмотрел описание на ваш модуль цап и увидел что лабвью - это нормально.
Кстати , в описании на ваш DAC - http://www.ti.com/lit/ds/symlink/dac5682z.pdf , сказано что внутри есть интерполяционные фильтры и как я понял вовсе не надо на него лить поток на 500 Мгц , чтобы иметь эту тактовую на нём.


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
Lionet
сообщение Jun 13 2017, 12:03
Сообщение #10





Группа: Участник
Сообщений: 14
Регистрация: 10-11-10
Пользователь №: 60 787



Цитата(Lmx2315 @ Jun 13 2017, 13:35) *
Кстати , в описании на ваш DAC - http://www.ti.com/lit/ds/symlink/dac5682z.pdf , сказано что внутри есть интерполяционные фильтры и как я понял вовсе не надо на него лить поток на 500 Мгц , чтобы иметь эту тактовую на нём.


Да, ЦАП там TI-евский, но специфика технологии LabView FPGA в том, что ко всем модулям прилагается одно или несколько IP-ядер, осуществляющих взаимодействие по правилам этой системы и имеющих поддержку в среде разработки и прочее... Можно сделать и что-то своё, но это весьма нетривиальный процесс и вся инициализация ЦАП и передача данных ложится на разработчика. В условиях прототипирования единичной системы этого хотелось избежать.

Конкретно с 5782 идёт два ядра - одно с обменом 2 семпла/такт на 250 МГц, другое - 4 семпла/такт на 125 МГц. Т.е. в любом случае фактическая частота дискретизации - 500 МГц.
Go to the top of the page
 
+Quote Post

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

 


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


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