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

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> FIR 8000-20000 taps (коэффициентов), DSP или FPGA?
0xFF
сообщение Sep 2 2010, 06:24
Сообщение #1


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

Группа: Свой
Сообщений: 131
Регистрация: 9-01-06
Пользователь №: 12 984



Доброго времени суток, уважаемые господа!

Собственно ТЗ:

Необходимо реализовать FIR floating point или Fixed Point особенность задачи- фильтр очень длинный. Другие типы фильтров не интересуют.
  • 24 bit input
  • коэффициенты минимум 24 bit лучше float хотябы single precision
  • длина 8000-20000 taps
  • выход без округления.
  • частота сэмплирования 50-200 кГц

Прошу ващего совета: на чём это всё делать?
Также выносится на обсуждение Алгоритм вычисления: ВЛОБ или через FFT - IFFT
К посту прикладываю интересную статью вранцузов biggrin.gif . Да и ещё проект не комерческий. Так что использования opencores или free lib, LOW COST тех решения приветсвуются!!
Прикрепленные файлы
Прикрепленный файл  FIR_Computing.pdf ( 335.42 килобайт ) Кол-во скачиваний: 134
 
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Sep 2 2010, 06:50
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(0xFF @ Sep 2 2010, 10:24) *
Необходимо реализовать FIR floating point или Fixed Point особенность задачи- фильтр очень длинный.
А вы не думали над тем, чтобы заменить один фильтр высокого порядка каскадным соединением фильтров более низких порядков?
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Sep 2 2010, 07:19
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(0xFF @ Sep 2 2010, 10:24) *
[*] 24 bit input
[*] коэффициенты минимум 24 bit лучше float хотябы single precision
[*] длина 8000-20000 taps
[*] выход без округления.
[*] частота сэмплирования 50-200 кГц

20000 taps умножаем на 200 кГц и получаем необходимость выполнить 4 миллиарда умножений 24*24 в секунду. Для DSP наверное многовато. Для FPGA, если вести работу на 200 МГц потребуется всего 20 умножителей. В терминах FPGA, где умножители 18*18 это будет 80 умножителей для single precision или 180 умножителей для double precision. Можно пытаться на старших Циклонах делать, если не получится - на Virtex-5 SXT.
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Sep 2 2010, 07:29
Сообщение #4


Полное ничтожество
*****

Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354



у виртех 5 умножитель18*25
Go to the top of the page
 
+Quote Post
0xFF
сообщение Sep 2 2010, 07:35
Сообщение #5


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

Группа: Свой
Сообщений: 131
Регистрация: 9-01-06
Пользователь №: 12 984



Цитата(andrew_b @ Sep 2 2010, 09:50) *
А вы не думали над тем, чтобы заменить один фильтр высокого порядка каскадным соединением фильтров более низких порядков?


Да имменно по этому поводу привёл статью. Там как раз исследуется вопрос оптимального разбиения на низкие порядки. Но насколько я вижу для DSP более подходит FFT

Цитата(DmitryR @ Sep 2 2010, 10:19) *
20000 taps умножаем на 200 кГц и получаем необходимость выполнить 4 миллиарда умножений 24*24 в секунду. Для DSP наверное многовато. Для FPGA, если вести работу на 200 МГц потребуется всего 20 умножителей. В терминах FPGA, где умножители 18*18 это будет 80 умножителей для single precision или 180 умножителей для double precision. Можно пытаться на старших Циклонах делать, если не получится - на Virtex-5 SXT.

Насколько я понимаю в случае использования FPGA придётся и внешнюю RAM подключать, так как на внутренних блоках хранение всех промежуточных данных и коэффициентов врядли реализуемо? Не станет ли разрядность шины данных RAM узким местом?

4миллиарда это если классический FIR, оправдано ли использовать FFT подход на FPGA или другие более быстрые методы расчёта FIR на FPGA?


Цитата(rv3dll(lex) @ Sep 2 2010, 10:29) *
у виртех 5 умножитель18*25


что уже плохо.

Интересно сколько стоит 4 GFLOPS на FPGA? Вроде как в моём случае это как раз те самые 4 млрд.
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Sep 2 2010, 07:47
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(0xFF @ Sep 2 2010, 11:35) *
Насколько я понимаю в случае использования FPGA придётся и внешнюю RAM подключать, так как на внутренних блоках хранение всех промежуточных данных и коэффициентов врядли реализуемо? Не станет ли разрядность шины данных RAM узким местом?

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

Цитата(0xFF @ Sep 2 2010, 11:35) *
что уже плохо.

Их можно группировать и получать хоть double precision, я в первоначальных расчетах это учел и указал.

Цитата(0xFF @ Sep 2 2010, 11:35) *
Интересно сколько стоит 4 GFLOPS на FPGA? Вроде как в моём случае это как раз те самые 4 млрд.

В районе пятисот долларов я думаю получится.
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Sep 2 2010, 08:21
Сообщение #7


Полное ничтожество
*****

Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354



я вот никак не смог запустить фильтр на 400 мегагерц. пришлось на 200 остановиться( ресурсов хватило и ладно.
Go to the top of the page
 
+Quote Post
des00
сообщение Sep 2 2010, 08:32
Сообщение #8


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

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



делайте IIR, на флоатовском тигровом шарике


--------------------
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Sep 2 2010, 10:21
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Мне кажется что он может во-первых не успеть, а во-вторых оказаться подороже чем FPGA.
Go to the top of the page
 
+Quote Post
alex_os
сообщение Sep 2 2010, 12:07
Сообщение #10


Знающий
****

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



Если не секрет, для чего такой монстроидальный фильтр нужен ?

По поводу возможной реализации, Тут кто-то выкладывал хорошую статейку название что-то вроде
Spectral Masking FIR. В двух словах суть метода длинный FIR filter с передаточной функцией H(z),
представляется в виде каскадного соединения фильтров H(z) = A(z^n) * B(z). Фильтр "А" очень
длинный, но его коэффициенты в основном нули. Фильтр "В" значительно более короткий.





--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
0xFF
сообщение Sep 2 2010, 14:16
Сообщение #11


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

Группа: Свой
Сообщений: 131
Регистрация: 9-01-06
Пользователь №: 12 984



Цитата(des00 @ Sep 2 2010, 11:32) *
делайте IIR, на флоатовском тигровом шарике


IIR не подходит. ФЧХ не устраивает

Цитата(alex_os @ Sep 2 2010, 15:07) *
Если не секрет, для чего такой монстроидальный фильтр нужен ?

По поводу возможной реализации, Тут кто-то выкладывал хорошую статейку название что-то вроде
Spectral Masking FIR. В двух словах суть метода длинный FIR filter с передаточной функцией H(z),
представляется в виде каскадного соединения фильтров H(z) = A(z^n) * B(z). Фильтр "А" очень
длинный, но его коэффициенты в основном нули. Фильтр "В" значительно более короткий.


Фильтр предназначен для очень резкого разделения частот. Давление порядка 300 дб.

Вы наверное иммели ввиду эту статью?
Прикрепленные файлы
Прикрепленный файл  FIR_Computing_2.pdf ( 335.63 килобайт ) Кол-во скачиваний: 96
 
Go to the top of the page
 
+Quote Post
MKS
сообщение Sep 2 2010, 16:12
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 469
Регистрация: 13-03-05
Пользователь №: 3 315



Цитата(alex_os @ Sep 2 2010, 15:07) *
...
По поводу возможной реализации, Тут кто-то выкладывал хорошую статейку название что-то вроде Spectral Masking FIR.
....

Подробное описание этой методики есть в книге Ljiljana Milić. Multirate Filtering for Digital Signal Processing: MATLAB Applications глава 10.
Go to the top of the page
 
+Quote Post
blackfin
сообщение Sep 2 2010, 16:23
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(0xFF @ Sep 2 2010, 18:16) *
Фильтр предназначен для очень резкого разделения частот. Давление порядка 300 дб.

Для этого все промежуточные вычисления нужно делать как минимум с 300/6.02=50 битной точностью.. rolleyes.gif
Go to the top of the page
 
+Quote Post
DS
сообщение Sep 2 2010, 16:55
Сообщение #14


Гуру
******

Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250



Цитата(blackfin @ Sep 2 2010, 20:23) *
Для этого все промежуточные вычисления нужно делать как минимум с 300/6.02=50 битной точностью.. rolleyes.gif


Еще лучше представить себе физический процесс с различием в размахе составляющих в 10^15 в полосе 50 - 200 КГц. ИМХО, автора надо отправлять учить школьную физику и уточнять постановку задачи.


--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
Go to the top of the page
 
+Quote Post
0xFF
сообщение Sep 2 2010, 18:01
Сообщение #15


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

Группа: Свой
Сообщений: 131
Регистрация: 9-01-06
Пользователь №: 12 984



Цитата(DS @ Sep 2 2010, 19:55) *
Еще лучше представить себе физический процесс с различием в размахе составляющих в 10^15 в полосе 50 - 200 КГц. ИМХО, автора надо отправлять учить школьную физику и уточнять постановку задачи.

в школе Дискретные Цифровые Системы, вроде пока ещё не преподают...

Физический процес - звуковой сигнал. Цель проекта - активный кроссовер для разделения частот, не PC based.
Фильтр должен работать на заранее выбранной фиксированной частоте сэмплирования. Остановимся на 3х: 41, 96, 192 кГц. Задача фильтра обработать окно длинной 0.1 сек., соответсвенно по т Котельникова в идеале фильтруемые частоты 10 - 21,5 кГц и выше... , . Коэффициенты фильтра должны быть не фиксированные, то есть считываться из какой-то RAM. Если я ещё что-то упускаю, уточню ещё раз.

Один из самых важных вопросов ФПГА или DSP, например, TI floating point серрии С6000 ( TMS320C6745)?. Очень интересуют готовые корки либы и тп....

... Что то я начинаю склоняться больше к DSP
Go to the top of the page
 
+Quote Post

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

 


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


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