|
Multirate decimation filter, Как правильно сделать? |
|
|
|
Dec 2 2009, 04:40
|
Знающий
   
Группа: Свой
Сообщений: 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?
--------------------
Умные речи подобны строкам, напечатанным курсивом. К. Прутков
|
|
|
|
|
 |
Ответов
|
Dec 3 2009, 05:11
|
Знающий
   
Группа: Свой
Сообщений: 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. приношу извинения за ламерские вопросы, не могу найти именно ответ на вопрос - как правильно сделать переменное прореживание в фильтре Хогенауэра.
--------------------
Умные речи подобны строкам, напечатанным курсивом. К. Прутков
|
|
|
|
|
Dec 3 2009, 05:39
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 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 разных цик фильтра и сравните. Перестройка частоты вообще делается элементарно, этот блок на виду у всех. Остается только сделать перестройку усиления фильтра, т.к. у циков он сильно зависит от коэфф. децимации.
--------------------
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|