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

 
 
> 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
Ответов
soldat_shveyk
сообщение Sep 3 2010, 17:53
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 454
Регистрация: 3-07-07
Из: С-Петербург
Пользователь №: 28 859



Немного добавлю ко всему вышеизложенному.

1. КИХ-фильтр надо рассчитывать как оптимальный по Чебышеву. Он обладает наименьшим порядком.

2. Скорее всего, MatLab не подойдет для рассчета КИХ-фильтра такой длины. Результат не будет дотягивать до оптимального.
Длинные фильтры лучше считать в специализированной программе. Раньше была FD (Filter Designer), сделанная в Питере в коллективе А.А. Ланне.

3. Считать фильтр, чтобы имп. характеристика получилась четной длины. Тогда она будет полностью симметричной и можно вычислять свертку по приведенной схеме.
Тогда, например, за 10 тактов на одном умножителе можно вычислить свертку длиной 20 коэффициентов.
При симметричной имп. характеристике достаточно хранить только половину коэффициентов - существенная экономия при таких порядках.

4. В Вашем случае Fs = 200 кГц, Ft = 200 МГц. Значит на каждый поступающий отсчет сигнала есть 1000 тактов для умножения.
Если взять 8 умножителей и воспользоваться приведенной схемой, то можно реализовать фильтр длиной 16000 коэффициентов.

5. Реализовать в FPGA. Единственная проблема - хранение отсчетов сигнала, может быть понадобится внешняя память.

Делал подобные фильтры, но не длиннее 8192 коэффициентов, на Stratix, Stratix II, Cyclone II.


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


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

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



Цитата(soldat_shveyk @ Sep 3 2010, 21:53) *
Немного добавлю ко всему вышеизложенному.

1. КИХ-фильтр надо рассчитывать как оптимальный по Чебышеву. Он обладает наименьшим порядком.

2. Скорее всего, MatLab не подойдет для рассчета КИХ-фильтра такой длины. Результат не будет дотягивать до оптимального.
Длинные фильтры лучше считать в специализированной программе. Раньше была FD (Filter Designer), сделанная в Питере в коллективе А.А. Ланне.

3. Считать фильтр, чтобы имп. характеристика получилась четной длины. Тогда она будет полностью симметричной и можно вычислять свертку по приведенной схеме.
Тогда, например, за 10 тактов на одном умножителе можно вычислить свертку длиной 20 коэффициентов.
При симметричной имп. характеристике достаточно хранить только половину коэффициентов - существенная экономия при таких порядках.

4. В Вашем случае Fs = 200 кГц, Ft = 200 МГц. Значит на каждый поступающий отсчет сигнала есть 1000 тактов для умножения.
Если взять 8 умножителей и воспользоваться приведенной схемой, то можно реализовать фильтр длиной 16000 коэффициентов.

5. Реализовать в FPGA. Единственная проблема - хранение отсчетов сигнала, может быть понадобится внешняя память.

Делал подобные фильтры, но не длиннее 8192 коэффициентов, на Stratix, Stratix II, Cyclone II.

Спасибо, очень дельный совет.. Если вы можете выкладывать примеры, исходного хдл кода , только приветсвуется.

Сегодня просматривал характеристики процессора от Analog Sharc Audio Processor 1,2-1,6 GFLOPS Audio proceesor. Расчёт 1 taps FIR занимает 1,25 нс что уже позволяет посчитать не один фильтр для 96кГц и длительностью в 0.1с.
Если я не ошибаюсь (9600 taps*10*1,25*10^(-9) c == 0.12 ms на один фильтр)

Go to the top of the page
 
+Quote Post
petrov
сообщение Sep 3 2010, 19:16
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



И зачем такие крутые срезы нужны? Динамики разделяются аналоговыми фильтрами, а неравномерности АЧХ и заодно акустика помещения компенсируется адаптивным фильтром, микрофон только хороший нужен.
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
- - des00   делайте IIR, на флоатовском тигровом шарике   Sep 2 2010, 08:32
|- - DmitryR   Мне кажется что он может во-первых не успеть, а во...   Sep 2 2010, 10:21
||- - alex_os   Если не секрет, для чего такой монстроидальный фил...   Sep 2 2010, 12:07
|- - 0xFF   Цитата(des00 @ Sep 2 2010, 11:32) делайте...   Sep 2 2010, 14:16
|- - blackfin   Цитата(0xFF @ Sep 2 2010, 18:16) Фильтр п...   Sep 2 2010, 16:23
|- - DS   Цитата(blackfin @ Sep 2 2010, 20:23) Для ...   Sep 2 2010, 16:55
||- - 0xFF   Цитата(DS @ Sep 2 2010, 19:55) Еще лучше ...   Sep 2 2010, 18:01
|- - DmitryR   Цитата(blackfin @ Sep 2 2010, 20:23) Для ...   Sep 3 2010, 05:25
|- - 0xFF   Цитата(DmitryR @ Sep 3 2010, 09:25) А это...   Sep 3 2010, 06:53
||- - des00   Цитата(0xFF @ Sep 3 2010, 01:53) Следующи...   Sep 3 2010, 07:07
||- - VladimirB   Цитата(0xFF @ Sep 3 2010, 10:53) Спасибо ...   Sep 3 2010, 07:22
||- - DmitryR   Цитата(VladimirB @ Sep 3 2010, 11:22) 1) ...   Sep 3 2010, 07:39
||- - alex_os   Самый простой способ сделать такой чудовищный филь...   Sep 3 2010, 08:28
||- - 0xFF   Цитата(alex_os @ Sep 3 2010, 12:28) Самый...   Sep 3 2010, 10:32
||- - DS   Цитата(0xFF @ Sep 3 2010, 14:32) Ну их в ...   Sep 3 2010, 12:03
||- - 0xFF   Цитата(DS @ Sep 3 2010, 16:03) А чем, про...   Sep 3 2010, 15: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
- - 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 Текстовая версия Сейчас: 31st July 2025 - 14:17
Рейтинг@Mail.ru


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