|
FIR 8000-20000 taps (коэффициентов), DSP или FPGA? |
|
|
|
Sep 2 2010, 06:24
|
Частый гость
 
Группа: Свой
Сообщений: 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 К посту прикладываю интересную статью вранцузов  . Да и ещё проект не комерческий. Так что использования opencores или free lib, LOW COST тех решения приветсвуются!!
|
|
|
|
|
 |
Ответов
|
Sep 2 2010, 14:16
|
Частый гость
 
Группа: Свой
Сообщений: 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 дб. Вы наверное иммели ввиду эту статью?
|
|
|
|
|
Sep 3 2010, 06:53
|
Частый гость
 
Группа: Свой
Сообщений: 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 - насколько он генерит синтезибельный код?
Заранее всем откликнувшимся - спасибо
|
|
|
|
|
Sep 3 2010, 07:22
|
Знающий
   
Группа: Свой
Сообщений: 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 - насколько он генерит синтезибельный код?
Заранее всем откликнувшимся - спасибо  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 блоков.
|
|
|
|
|
Sep 3 2010, 07:39
|
Профессионал
    
Группа: Свой
Сообщений: 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 кГц частоты. Но для упрощенной модели сойдет.
|
|
|
|
|
Sep 3 2010, 08:28
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Самый простой способ сделать такой чудовищный фильтр - это взять комп. с современным Inteloвским процессором. Взять хорошее FFT и вполне потянет. Вот люди меряли -20ms на преобразование размером 2^20 ccылка p.s. но наверняка можно сделать проще и дешевле, ибо супер вычислитель для звукового фильтра это крайне подозрительно, сразу на ум приходят аудиофилы с их золотыми проводами и серебряными конденсаторами  .
--------------------
ну не художники мы...
|
|
|
|
|
Sep 3 2010, 10:32
|
Частый гость
 
Группа: Свой
Сообщений: 131
Регистрация: 9-01-06
Пользователь №: 12 984

|
Цитата(alex_os @ Sep 3 2010, 12:28)  Самый простой способ сделать такой чудовищный фильтр - это взять комп. с современным Inteloвским процессором. Взять хорошее FFT и вполне потянет. Вот люди меряли -20ms на преобразование размером 2^20 ccылка p.s. но наверняка можно сделать проще и дешевле, ибо супер вычислитель для звукового фильтра это крайне подозрительно, сразу на ум приходят аудиофилы с их золотыми проводами и серебряными конденсаторами  . Ну их в баню со с их золотом. Да я подискал пару PC based систем вот например BruteFIR, или есть такие же решения на CUDE от nVidia.
|
|
|
|
|
Sep 3 2010, 12:03
|
Гуру
     
Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250

|
Цитата(0xFF @ Sep 3 2010, 14:32)  Ну их в баню со с их золотом. А чем, простите, Ваши 150 или 300 Дб отличаются от их золота? Вы про шумы, в частности, тепловые, слышали когда-нибудь ? А также про всякие неприятности с оцифровкой высокоточных сигналов ?
--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
|
|
|
|
|
Sep 3 2010, 15:07
|
Частый гость
 
Группа: Свой
Сообщений: 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 лет чтобы ответить на несколько вопросов. Будьте более дружелюбны!
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|