|
Реализация полифазного интегратора |
|
|
|
Oct 15 2014, 12:47
|
Местный
  
Группа: Участник
Сообщений: 236
Регистрация: 7-02-11
Пользователь №: 62 755

|
Цитата(_Anatoliy @ Oct 15 2014, 14:15)  Коллеги,помогите найти решение.На картинке вверху изображён обычный интегратор,внизу - его полифазная реализация.Сразу бросается в глаза большое дерево сумматоров по входному сигналу.Как следствие на нужной частоте эта схема в FPGA не работает.Как правильно конвееризировать это дерево сумматоров не нарушая при этом логику работы схемы?Очень мешает обратная связь,она вносит рекурсию...Вообще в принципе это решаемо? Можно попробовать поставить в каждую ветвь сначала сумматор последних 4-х отсчетов, а за ним простой интегратор.
|
|
|
|
|
Oct 15 2014, 12:50
|
Знающий
   
Группа: Свой
Сообщений: 646
Регистрация: 21-06-04
Пользователь №: 71

|
Цитата(_Anatoliy @ Oct 15 2014, 13:15)  Коллеги,помогите найти решение.На картинке вверху изображён обычный интегратор,внизу - его полифазная реализация.Сразу бросается в глаза большое дерево сумматоров по входному сигналу.Как следствие на нужной частоте эта схема в FPGA не работает.Как правильно конвееризировать это дерево сумматоров не нарушая при этом логику работы схемы?Очень мешает обратная связь,она вносит рекурсию...Вообще в принципе это решаемо? Look-ahead transformation Можно посмотреть в Shoab Ahmed Khan "Digital Design of Signal Processing Systems_ A Practical Approach"
|
|
|
|
|
Oct 15 2014, 17:00
|
Участник

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

|
Я такую же задачу решал при реализации полифазного CIC фильтра. Вот тестовая схемка (без оконечного сумматора и интеграторов):
Так как при рекурсии постоянно увеличивается разрядность сигнала после суммирования,то первый сумматор должен иметь настройку точности не Full, а заданную пользователем(например,30 бит). В первой схеме так и сделано,но лучше будет если суммировать с полной точностью,а после сумматора, перед блоком округления поставить регистр,тогда временные характеристики будут намного лучше. P.S.: не тестировал как эта реализация будет работать в схеме цифровой обработки.
integrator.rar ( 34.85 килобайт )
Кол-во скачиваний: 62
Сообщение отредактировал Skryppy - Oct 15 2014, 17:36
|
|
|
|
|
Oct 26 2014, 15:39
|

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

|
Цитата(KalashKS @ Oct 15 2014, 14:47)  Можно попробовать поставить в каждую ветвь сначала сумматор последних 4-х отсчетов, а за ним простой интегратор. Хочу извиниться за долгое молчание не по моей вине.На работе нет интернета,снаряд перебил оптическую магистраль. сумматор последних 4-х отсчетов, а за ним простой интегратор. Если в каждой ветви будет отдельный интегратор то это будет совсем другое устройство.Должны обрабатываться отсчёты во всех ветвях. Цитата(Кнкн @ Oct 15 2014, 14:50)  Look-ahead transformation Можно посмотреть в Shoab Ahmed Khan "Digital Design of Signal Processing Systems_ A Practical Approach" Спасибо,посмотрел.Но,по моему,они рассматривают частные случаи,не понял как нужно действовать для решения любой произвольной задачи(в общем виде). Цитата(Skryppy @ Oct 15 2014, 19:00)  Я такую же задачу решал при реализации полифазного CIC фильтра. Вот тестовая схемка (без оконечного сумматора и интеграторов): Вот-вот,мне как раз и нужно сделать полифазный CIC-фильтр. Но по Вашей картинке видно что Вы применяли обычное дерево сумматоров.У меня тактовая частота высокая,этот метод не годится.
|
|
|
|
|
Oct 26 2014, 18:09
|
Местный
  
Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163

|
Цитата(_Anatoliy @ Oct 26 2014, 19:39)  Вот-вот,мне как раз и нужно сделать полифазный CIC-фильтр. Но по Вашей картинке видно что Вы применяли обычное дерево сумматоров.У меня тактовая частота высокая,этот метод не годится. Если факторы децимации Вашего CIC фильтра являются степенями 2, то эти статьи могут представлять для Вас интерес
Сообщение отредактировал andyp - Oct 26 2014, 18:26
|
|
|
|
|
Oct 27 2014, 17:28
|
Местный
  
Группа: Участник
Сообщений: 236
Регистрация: 7-02-11
Пользователь №: 62 755

|
Цитата(_Anatoliy @ Oct 27 2014, 12:45)  Спасибо за информацию. Вот такой получился у меня полифазный интегратор.А эти сумматоры уже конвейеризуются штатным способом. Я имел в виду примерно то, что у вас в итоге получилось, только предлагал сначала задерживать и суммировать, а потом интегрировать.
|
|
|
|
|
Oct 28 2014, 10:32
|
Знающий
   
Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515

|
Цитата(_Anatoliy @ Oct 15 2014, 13:15)  Коллеги,помогите найти решение.На картинке вверху изображён обычный интегратор,внизу - его полифазная реализация.Сразу бросается в глаза большое дерево сумматоров по входному сигналу.Как следствие на нужной частоте эта схема в FPGA не работает.Как правильно конвееризировать это дерево сумматоров не нарушая при этом логику работы схемы?Очень мешает обратная связь,она вносит рекурсию...Вообще в принципе это решаемо? По-моему в символьном виде описать преобразования описать гораздо проще. Исходные с добавленной задержкой на такт по всем входам: outA = Z(Z(inA)+outD) outB = Z(Z(inA)+Z(inB)+outD) outC = Z(Z(inA)+Z(inB)+Z(inC)+outD) outD = Z(Z(inA)+Z(inB)+Z(inC)+Z(inD)+outD) И перегруппировать outC и outD, исходя из того, что Xilinx 6+ серии умеет складывать тройки в одной цепи переноса: outC = Z(Z(inA+inB+inC)+outD) outD = Z(Z(inA+inB+inC)+Z(inD)+outD) Можно и по двойкам перегруппировать, но получится больше сумматоров и задержка ещё на такт, например, для outD: outD = Z(Z(Z(inA+inB)+Z(inC+inD))+outD)
|
|
|
|
|
Oct 29 2014, 10:07
|
Местный
  
Группа: Участник
Сообщений: 236
Регистрация: 7-02-11
Пользователь №: 62 755

|
Цитата(_Anatoliy @ Oct 28 2014, 08:46)  А,ясно.Интеграл суммы эквивалентен сумме интегралов,схема линейная.Или в реализации будет какой выигрыш? Думаю, должен быть, т.к. большую часть схемы займут сумматоры. В моем случае разрядность сумматоров должна быть меньше, а разрядность интегратора всего на два бита больше.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|