|
|
  |
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, 07:35
|
Частый гость
 
Группа: Свой
Сообщений: 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 млрд.
|
|
|
|
|
Sep 2 2010, 07:47
|
Профессионал
    
Группа: Свой
Сообщений: 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 млрд. В районе пятисот долларов я думаю получится.
|
|
|
|
|
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 2 2010, 18:01
|
Частый гость
 
Группа: Свой
Сообщений: 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
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|