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

 
 
> Multirate decimation filter, Как правильно сделать?
Vitaliy_ARM
сообщение Dec 2 2009, 04:40
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 509
Регистрация: 19-07-07
Из: г. Таганрог
Пользователь №: 29 246



Доброе время суток.

Возникла необходимость сделать прореживающий фильтр с коэффициентами прореживания R = 512, 1024, 2048, 4096 на базе CIC + компенсирующий FIR. У альтеры в апноуте (AN 455) описан алгоритм расчета коэффициентов FIR-а для компенсации "односкоростного" CIC. Вопрос, как это применить для многоскоростного фильтра? Правильно ли будет разбить CIC на две части, первая допустим с коэффициентами прореживания 4,8,16,32, вторая с прореживанием на 128, и рассчитать компенсирующий FIR для второго CIC?


--------------------
Умные речи подобны строкам, напечатанным курсивом. К. Прутков
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
des00
сообщение Dec 3 2009, 04:04
Сообщение #2


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

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



подумал на досуге о вашей проблеме.

Варианта с нормальной производительностью/ресурсом вижу два
1. 5 каскадов циков с 30/34 бита арифметикой, правда придеться "поесть" памяти.
2. Каскадная децимация, сначала на 128 + FIR, потом уже хогенауэр. Арифметика будет "всего" 43 битная.

Что из этого будет в итоге "весить" меньше решать вам %)

ЗЫ. еще немаловажный вопрос время выхода фильтра на режим при перестройке полосы, помните что интегральные части циков надо сбрасывать.


--------------------
Go to the top of the page
 
+Quote Post
Vitaliy_ARM
сообщение Dec 3 2009, 05:11
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 509
Регистрация: 19-07-07
Из: г. Таганрог
Пользователь №: 29 246



Цитата(MKS @ Dec 2 2009, 19:27) *
В догонку, загляните еще в эту тему. Там решается похожая задача с примером в матлабе.
Успехов.


К сожалению пока нет матлаба. Обязательно гляну при возможности.

Цитата(des00 @ Dec 3 2009, 07:04) *
подумал на досуге о вашей проблеме.

Варианта с нормальной производительностью/ресурсом вижу два
1. 5 каскадов циков с 30/34 бита арифметикой, правда придеться "поесть" памяти.
2. Каскадная децимация, сначала на 128 + FIR, потом уже хогенауэр. Арифметика будет "всего" 43 битная.

Что из этого будет в итоге "весить" меньше решать вам %)

ЗЫ. еще немаловажный вопрос время выхода фильтра на режим при перестройке полосы, помните что интегральные части циков надо сбрасывать.

Тогда вопрос, каким способом делать переменное прореживание?
Делаем прореживание в CICе и при этом используем один FIR, пренебрегая изменением АЧХ CICа?

Почему нельзя пользоваться усечением разрядности CIC?
p.s. приношу извинения за ламерские вопросы, не могу найти именно ответ на вопрос - как правильно сделать переменное прореживание в фильтре Хогенауэра.


--------------------
Умные речи подобны строкам, напечатанным курсивом. К. Прутков
Go to the top of the page
 
+Quote Post
des00
сообщение Dec 3 2009, 05:39
Сообщение #4


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

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



Цитата(Vitaliy_ARM @ Dec 2 2009, 23:11) *
Тогда вопрос, каким способом делать переменное прореживание?
Делаем прореживание в CICе и при этом используем один FIR, пренебрегая изменением АЧХ CICа?


как я понимаю вопрос у вас про каскадную децимацию ? Если да то считать надо насколько вы портите нужную вам полосу. Без цифр сложно судить.

Цитата
Почему нельзя пользоваться усечением разрядности CIC?


Если вы про фильтр хогенауэра, как уже сказал читайте теорию у первоисточников

"An Economical Class of Digital Filters for Decimation and Interpolation" EUGENE В. HOGENAUER -> Register Growth

Цитата
Not only is Bmax the MSB at the filter output, but it is also
the MSB for all stages of the filter. This can be shown by
applying modulo arithmetic to the filter output function. For
two’s complement arithmetic, the modulo operation can be
implemented by simply eliminating bit positions above Bmax .


Но если очень хочется то можно, но с умом, но это вам не сильно поможет. Все равно первый интегратор должен быть точным по разрядности. В других типах CIC фильтров усекать между ступенями фильтра можно.

Цитата
не могу найти именно ответ на вопрос - как правильно сделать переменное прореживание в фильтре Хогенауэра.


что сложного то ? логика здравого смысла + сделайте 4 разных цик фильтра и сравните. Перестройка частоты вообще делается элементарно, этот блок на виду у всех. Остается только сделать перестройку усиления фильтра, т.к. у циков он сильно зависит от коэфф. децимации.


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Vitaliy_ARM   Multirate decimation filter   Dec 2 2009, 04:40
- - Михаил_K   Цитата(Vitaliy_ARM @ Dec 2 2009, 07:40) В...   Dec 2 2009, 06:58
|- - Vitaliy_ARM   Цитата(Михаил_K @ Dec 2 2009, 09:58) А ва...   Dec 2 2009, 07:04
|- - des00   Цитата(Vitaliy_ARM @ Dec 2 2009, 01:04) В...   Dec 2 2009, 08:47
|- - Vitaliy_ARM   Цитата(des00 @ Dec 2 2009, 11:47) нет, та...   Dec 2 2009, 09:15
|- - serebr   Цитата(des00 @ Dec 2 2009, 14:47) ЗЗЫ. Ду...   Dec 2 2009, 10:48
|- - des00   Цитата(serebr @ Dec 2 2009, 04:48) Если ф...   Dec 2 2009, 11:29
|- - Vitaliy_ARM   Цитата(des00 @ Dec 2 2009, 14:29) Но поло...   Dec 2 2009, 11:41
|- - des00   Цитата(Vitaliy_ARM @ Dec 2 2009, 05:41) Ф...   Dec 2 2009, 11:54
|- - serebr   Цитата(Vitaliy_ARM @ Dec 2 2009, 17:41) Р...   Dec 2 2009, 12:18
|- - Vitaliy_ARM   Цитата(serebr @ Dec 2 2009, 15:18) Сказат...   Dec 2 2009, 13:35
|- - des00   Цитата(Vitaliy_ARM @ Dec 2 2009, 07:35) У...   Dec 2 2009, 13:42
- - MKS   В догонку, загляните еще в эту тему. Там решается ...   Dec 2 2009, 16:27
||- - Vitaliy_ARM   Сейчас окончательно определился с т.з. У меня 80Мг...   Dec 7 2009, 15:24
||- - serebr   Цитата(Vitaliy_ARM @ Dec 7 2009, 21:24) С...   Dec 7 2009, 15:46
|||- - Vitaliy_ARM   Цитата(serebr @ Dec 7 2009, 18:46) Постан...   Dec 8 2009, 10:58
||- - des00   Цитата(Vitaliy_ARM @ Dec 7 2009, 09:24) С...   Dec 7 2009, 16:52
|- - dmitry-tomsk   Цитата(Vitaliy_ARM @ Dec 3 2009, 09:11) К...   Dec 7 2009, 16:26
- - hobgoblin   В догонку, на всякий случай, посмотрите вот этот ф...   Dec 8 2009, 10:03
- - анатолий   Посмотрите вот сюда http://kanyevsky.kpi.ua/Studen...   Dec 8 2009, 17:54
- - des00   Цитата(анатолий @ Dec 8 2009, 11:54) Посм...   Dec 9 2009, 04:33
- - des00   Цитата(des00 @ Dec 8 2009, 22:33) 500 яче...   Dec 9 2009, 17:24
- - dmitry-tomsk   Цитата(des00 @ Dec 9 2009, 20:24) кстати ...   Dec 9 2009, 18:08
- - des00   Цитата(dmitry-tomsk @ Dec 9 2009, 12...   Dec 11 2009, 04:49
- - dmitry-tomsk   Цитата(des00 @ Dec 11 2009, 07:49) вам ко...   Dec 11 2009, 07:02
- - des00   Цитата(dmitry-tomsk @ Dec 11 2009, 01...   Dec 11 2009, 07:38
- - dmitry-tomsk   Цитата(des00 @ Dec 11 2009, 11:38) огласи...   Dec 11 2009, 08:07
- - des00   Цитата(dmitry-tomsk @ Dec 11 2009, 02...   Dec 11 2009, 08:10
- - dmitry-tomsk   Цитата(des00 @ Dec 11 2009, 11:10) т.е. н...   Dec 11 2009, 08:24
- - des00   Цитата(dmitry-tomsk @ Dec 11 2009, 02...   Dec 11 2009, 08:38


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

 


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


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