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

 
 
> 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
 
Start new topic
Ответов
des00
сообщение Sep 2 2010, 08:32
Сообщение #2


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

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



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


--------------------
Go to the top of the page
 
+Quote Post
0xFF
сообщение Sep 2 2010, 14:16
Сообщение #3


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

Группа: Свой
Сообщений: 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
blackfin
сообщение Sep 2 2010, 16:23
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 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
DmitryR
сообщение Sep 3 2010, 05:25
Сообщение #5


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

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



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

А это double precision как раз. DSP точно не успеет - у них пиковая производительность где-то 4 GMACs, но single precision.
Go to the top of the page
 
+Quote Post
0xFF
сообщение Sep 3 2010, 06:53
Сообщение #6


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

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



Цитата(DmitryR @ Sep 3 2010, 09:25) *
А это double precision как раз. DSP точно не успеет - у них пиковая производительность где-то 4 GMACs, но single precision.


Спасибо за информацию, значит пока остановимся на VIRTEX. В наличие есть XC2VP30 - следующий EVO Board XUP2VP. Подойдёт вместо 5 SXT серии? На борту есть DDR2 память, Ethernet 100 Mbit.

Следующий список вопросов
  • Посоветуйте Генератор FIR на HDL с более гибкими настройками xilinx FIR 3.2 не подходит у него макс ширина коэф 18 бит
  • Есть ли ещё какой хороший тул по синтезу и верификации фильтров кроме Matlab Filter Design Toolbox, Вроде xilinx accel DSP когда-то позволял делать верификацию между Float и Fixed системами, но он вроде тоже потом стал опираться на Matlab.
  • На Open Cores есть проект FIRGen/MultGen - насколько он генерит синтезибельный код?


Заранее всем откликнувшимся - спасибо rolleyes.gif
Go to the top of the page
 
+Quote Post
VladimirB
сообщение Sep 3 2010, 07:22
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219



Цитата(0xFF @ Sep 3 2010, 10:53) *
Спасибо за информацию, значит пока остановимся на VIRTEX. В наличие есть XC2VP30 - следующий EVO Board XUP2VP. Подойдёт вместо 5 SXT серии? На борту есть DDR2 память, Ethernet 100 Mbit.

Следующий список вопросов
  • Посоветуйте Генератор FIR на HDL с более гибкими настройками xilinx FIR 3.2 не подходит у него макс ширина коэф 18 бит
  • Есть ли ещё какой хороший тул по синтезу и верификации фильтров кроме Matlab Filter Design Toolbox, Вроде xilinx accel DSP когда-то позволял делать верификацию между Float и Fixed системами, но он вроде тоже потом стал опираться на Matlab.
  • На Open Cores есть проект FIRGen/MultGen - насколько он генерит синтезибельный код?


Заранее всем откликнувшимся - спасибо rolleyes.gif


1) MATLAB (Filter Design Tolbox -> HDL Compiler)
2) всегда пользовался чистым матлабом, АссельДСП уж больно навороченная и глючная тулза.
3) хз

Если запустите на 200МГц то вроде ваш виртекс2 подойдёт. У него 136 умножителей 18х18, что позволит реализовать 34 умножителя 36х36 и фильтр 34000 порядка с входной частотой данных 200кГц при тактовой 200МГц.

Единственно нужно помаксимуму конвейезировать ваш фильтр (галочка в Matlab HDL Compiler есть помнится), чтобы он запустился на 200МГц при достаточно большой загрузке ПЛИС.

З.Ы. понмится у нас ребята в особенно тяжёлых случаях писали свой фильтр путём ручного соединения и ручной настройки генериками DSP48 блоков.
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Sep 3 2010, 07:39
Сообщение #8


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

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



Цитата(VladimirB @ Sep 3 2010, 11:22) *
1) MATLAB (Filter Design Tolbox -> HDL Compiler)
2) всегда пользовался чистым матлабом, АссельДСП уж больно навороченная и глючная тулза.

Я честно говоря в сомнении что MatLab сможет сделать такой фильтр в HDL. Писать его скорее всего придется руками, а вот проверить можно будет действительно против модели в MatLab.

Цитата(VladimirB @ Sep 3 2010, 11:22) *
Если запустите на 200МГц то вроде ваш виртекс2 подойдёт. У него 136 умножителей 18х18, что позволит реализовать 34 умножителя 36х36 и фильтр 34000 порядка с входной частотой данных 200кГц при тактовой 200МГц.

Да, только как мы выяснили выше тут понадобится double precision, а не 36*36, поэтому хватит его в лучшем случае на 100 кГц частоты. Но для упрощенной модели сойдет.
Go to the top of the page
 
+Quote Post
alex_os
сообщение Sep 3 2010, 08:28
Сообщение #9


Знающий
****

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



Самый простой способ сделать такой чудовищный фильтр - это взять комп. с современным Inteloвским процессором. Взять хорошее FFT и вполне
потянет. Вот люди меряли -20ms на преобразование размером 2^20 ccылка


p.s. но наверняка можно сделать проще и дешевле, ибо супер вычислитель для звукового фильтра это крайне подозрительно, сразу на ум приходят аудиофилы с их золотыми проводами и серебряными конденсаторами smile.gif.



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


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

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



Цитата(alex_os @ Sep 3 2010, 12:28) *
Самый простой способ сделать такой чудовищный фильтр - это взять комп. с современным Inteloвским процессором. Взять хорошее FFT и вполне
потянет. Вот люди меряли -20ms на преобразование размером 2^20 ccылка


p.s. но наверняка можно сделать проще и дешевле, ибо супер вычислитель для звукового фильтра это крайне подозрительно, сразу на ум приходят аудиофилы с их золотыми проводами и серебряными конденсаторами smile.gif.


Ну их в баню со с их золотом.

Да я подискал пару PC based систем вот например BruteFIR, или есть такие же решения на CUDE от nVidia.
Go to the top of the page
 
+Quote Post
DS
сообщение Sep 3 2010, 12:03
Сообщение #11


Гуру
******

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



Цитата(0xFF @ Sep 3 2010, 14:32) *
Ну их в баню со с их золотом.

А чем, простите, Ваши 150 или 300 Дб отличаются от их золота? Вы про шумы, в частности, тепловые, слышали когда-нибудь ? А также про всякие неприятности с оцифровкой высокоточных сигналов ?


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


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

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



Цитата(DS @ Sep 3 2010, 16:03) *
А чем, простите, Ваши 150 или 300 Дб отличаются от их золота? Вы про шумы, в частности, тепловые, слышали когда-нибудь ? А также про всякие неприятности с оцифровкой высокоточных сигналов ?


Я прекрасно понимаю соотношение качество-простота реализации и совсем не подымал этого вопроса. Да, бесспорно, можно воспользоваться FIR 18 bit с длинной 20-500 и в 95% задач это устраивает. Вот, например, при разработке Atomic Force микроскопа стояла задача измерения частоты изгиба контилевера (при изгибе менялось сопротивление подложки). Контилевер обладал так же ещё микро пьезо актуатором для реализации коллебаний (полуконтактный метод сканирования). Все измерения проводились в микро вольт области. После мостовой схемы измерения сопротивления с очень термостабильными резисторами, стоял аналоговый усилителем ina с коэф усиления 100-1000, дальше АЦП от Аналога. В итоге измеряемая разрядность сигнала оставалась к сожалению порядка 10-12 бит,а всё остальное шум. Вот в таком случае применять фир с флоатом и в тысячи taps для выделения основной резонансной частоты глупо. Я надеюсь это яркий пример про тепловые шумы и оцифровку сигналов в пару 10 кГц? или вы ещё сомневаетесь?

P.S. если вам не нравиться постановка задачи или ещё что, не нужно обвинять меня в некомпетентности! ок, вам за 50 и вы перечитали уже всё и на личном опыте уже всё знаете,всё пробовали, так вот я и обратился сюда чтобы не тратить 50 лет чтобы ответить на несколько вопросов. Будьте более дружелюбны!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 0xFF   FIR 8000-20000 taps (коэффициентов)   Sep 2 2010, 06:24
- - andrew_b   Цитата(0xFF @ Sep 2 2010, 10:24) Необходи...   Sep 2 2010, 06:50
- - DmitryR   Цитата(0xFF @ Sep 2 2010, 10:24) [*] 24 b...   Sep 2 2010, 07:19
- - rv3dll(lex)   у виртех 5 умножитель18*25   Sep 2 2010, 07:29
- - 0xFF   Цитата(andrew_b @ Sep 2 2010, 09:50) А вы...   Sep 2 2010, 07:35
|- - DmitryR   Цитата(0xFF @ Sep 2 2010, 11:35) Наскольк...   Sep 2 2010, 07:47
- - rv3dll(lex)   я вот никак не смог запустить фильтр на 400 мегаге...   Sep 2 2010, 08:21
|- - DmitryR   Мне кажется что он может во-первых не успеть, а во...   Sep 2 2010, 10:21
||- - alex_os   Если не секрет, для чего такой монстроидальный фил...   Sep 2 2010, 12:07
|- - DS   Цитата(blackfin @ Sep 2 2010, 20:23) Для ...   Sep 2 2010, 16:55
||- - 0xFF   Цитата(DS @ Sep 2 2010, 19:55) Еще лучше ...   Sep 2 2010, 18:01
||- - des00   Цитата(0xFF @ Sep 3 2010, 01:53) Следующи...   Sep 3 2010, 07:07
||- - DS   Вы все-таки изложите физическую постановку вопроса...   Sep 3 2010, 16:12
||- - 0xFF   Цитата(DS @ Sep 3 2010, 20:12) На результ...   Sep 3 2010, 17:52
||- - alex_os   Цитата(0xFF @ Sep 3 2010, 21:52) В итоге ...   Sep 3 2010, 19:55
|- - DS   Цитата(DmitryR @ Sep 3 2010, 09:25) А это...   Sep 3 2010, 07:18
- - MKS   Цитата(alex_os @ Sep 2 2010, 15:07) ... П...   Sep 2 2010, 16:12
|- - alex_os   Цитата(MKS @ Sep 2 2010, 20:12) Подробное...   Sep 2 2010, 18:32
|- - DS   Цитата(alex_os @ Sep 2 2010, 22:32) upd: ...   Sep 2 2010, 18:50
|- - 0xFF   Цитата(alex_os @ Sep 2 2010, 21:32) Немно...   Sep 2 2010, 20:31
- - soldat_shveyk   Немного добавлю ко всему вышеизложенному. 1. КИХ-...   Sep 3 2010, 17:53
|- - 0xFF   Цитата(soldat_shveyk @ Sep 3 2010, 21:53)...   Sep 3 2010, 18:10
|- - petrov   И зачем такие крутые срезы нужны? Динамики разделя...   Sep 3 2010, 19:16
- - 0xFF   Цитата(petrov @ Sep 3 2010, 23:16) И заче...   Sep 3 2010, 19:48
|- - petrov   Цитата(0xFF @ Sep 3 2010, 23:48) Потому ч...   Sep 3 2010, 20:03
|- - alex_os   Цитата(0xFF @ Sep 3 2010, 23:48) Потому ч...   Sep 3 2010, 20:03
- - 0xFF   Цитата(petrov @ Sep 4 2010, 00:03) Не виж...   Sep 3 2010, 20:16
|- - petrov   Цитата(0xFF @ Sep 4 2010, 00:06) Расскажи...   Sep 3 2010, 20:19
||- - 0xFF   Цитата(petrov @ Sep 4 2010, 00:19) Один р...   Sep 3 2010, 20:22
||- - petrov   Цитата(0xFF @ Sep 4 2010, 00:22) "Ад...   Sep 3 2010, 20:30
|- - alex_os   Цитата(0xFF @ Sep 4 2010, 00:16) Расскажи...   Sep 3 2010, 20:26
|- - 0xFF   Цитата(alex_os @ Sep 4 2010, 00:26) Я нич...   Sep 3 2010, 20:51
|- - petrov   Цитата(0xFF @ Sep 4 2010, 00:51) Есть инт...   Sep 3 2010, 20:58
|- - 0xFF   Цитата(petrov @ Sep 4 2010, 00:58) Методо...   Sep 3 2010, 21:08
|- - petrov   Цитата(0xFF @ Sep 4 2010, 01:08) Да я не ...   Sep 3 2010, 21:26
|- - DmitryR   Цитата(0xFF @ Sep 4 2010, 01:08) Качество...   Sep 5 2010, 07:26
- - 0xFF   Цитата(petrov @ Sep 4 2010, 01:26) Прости...   Sep 3 2010, 21:30
|- - petrov   Цитата(0xFF @ Sep 4 2010, 01:30) Простите...   Sep 3 2010, 21:37
|- - 0xFF   Цитата(petrov @ Sep 4 2010, 01:37) Удачи....   Sep 3 2010, 22:10
- - 0xFF   Цитата(DmitryR @ Sep 5 2010, 10:26) Вам к...   Sep 6 2010, 23:15
- - Timmy   Кроссовер со срезом 300дБ на декаду будет звучать ...   Sep 10 2010, 08:37
- - wolfman   Хм, а слушать в машине ТС небось будет мр3...   Sep 10 2010, 09:13
- - 0xFF   Цитата(Timmy @ Sep 10 2010, 12:37) Кроссо...   Sep 10 2010, 13:16
- - Timmy   Цитата(0xFF @ Sep 10 2010, 17:16) вы о КИ...   Sep 10 2010, 17:12


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

 


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


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