|
отличие CIC от FIR, просветите плиз |
|
|
|
Jul 22 2008, 17:38
|
Профессионал
    
Группа: Свой
Сообщений: 1 143
Регистрация: 22-04-08
Из: г. Екатеринбург
Пользователь №: 36 992

|
вроде бы без проблем использую CIC и FIR для децимации и интерполяции, знаю их характеристики (АЧХ, ФЧХ, ПФ). использую микросхемы дециматор и интерполятор (AD6620 и AD9856), там CIC фильтры, + в первой FIR есть на последней стадии децимации.
Но так до конца не понимаю разницы между CIC и FIR. Попытался найти в учебнике по ЦОС- про CIC нет ни слова...
За свою жизнь воплотил проект, где сигнал интерполировался в 4 раза FIR фильтром, причем свойства фильтра выбрал так- * неравномерность АЧХ в полосе <= необходимой, * затухание на 2-й гармонике исходного сигнала не менее требуемого получил коэф-ты, зарядил в ДСПш-ку и все. правильно ли я это сделал?
Вот что не дает покоя- 1. зачем тогда в ряде прог по расчету ЦФ (напр. MATLAB) есть фильтры, к-е наз-ся интерполирующие/децимир. 2. в чем фишка использовать CIC? не лучше ли FIR? 3. может просто все дело в простоте реализации CIC? 4. можно ли использовать IIR, если не важна ФЧХ интерполятора/дециматора?
|
|
|
|
|
 |
Ответов
(1 - 14)
|
Jul 22 2008, 18:00
|
Частый гость
 
Группа: Участник
Сообщений: 141
Регистрация: 25-10-07
Пользователь №: 31 729

|
Есть вопросы изменения частоты дискретизации. Там необходимо использовать предварительно фильтрацию. В принципе, если ФЧХ не важна, то фильтрация может осуществляться как FIR так и IIR. Однако, теория теорией, но в жизни важны реализационные аспекты. С учетом этого, FIR в этих задачах предпочтительнее, так как именно на их базе возможны вычислительно эффективные полифазные структуры. А CIC фильтры эффективно реализуются на аппаратном уровне так как не требует умножителей. При этом надо учесть, что CIC это по сути FIR, только типа рекурсивная реализация. При чисто программной фильтрации-децимации архитектура CIC вычислительно менее эфективна, чем полифазные FIR. При аппаратной реализации CIC более эффективны.
|
|
|
|
|
Jul 23 2008, 06:30
|
Частый гость
 
Группа: Участник
Сообщений: 141
Регистрация: 25-10-07
Пользователь №: 31 729

|
Цитата сейчас использую дециматор на 256, 8 из которых- CIC2, 16- CIC5 и 2- FIR - а почему Вы приняли именно такую схему децимации? Вообще то считается, что первый каскад должен максимально децимировать, т.е в Вашем случае как минимум 64, а то и все 128. По поводу IIR сам не работал по такой схеме, но чисто теоритически (если фаза не страшна) можно, однако вычислительная сложность будет нерационально большой, так как в этом случае придется рассчитывать отсчеты, которые потом все равно удалять (децимировать).
|
|
|
|
|
Jul 23 2008, 09:18
|
Профессионал
    
Группа: Свой
Сообщений: 1 143
Регистрация: 22-04-08
Из: г. Екатеринбург
Пользователь №: 36 992

|
Цитата(Alex65111 @ Jul 23 2008, 12:30)  - а почему Вы приняли именно такую схему децимации? Вообще то считается, что первый каскад должен максимально децимировать, т.е в Вашем случае как минимум 64, а то и все 128. схема такова потому что она реализуется на ИМС AD6620, у нее ограниченные возможности, можно сделать CIC2= 8, CIC5=16, FIR=2. Цитата(Alex65111 @ Jul 23 2008, 12:30)  По поводу IIR сам не работал по такой схеме, но чисто теоритически (если фаза не страшна) можно, однако вычислительная сложность будет нерационально большой, так как в этом случае придется рассчитывать отсчеты, которые потом все равно удалять (децимировать). а дляинтерполятора все равно- выч сложность будет примерно одного порядка?
|
|
|
|
|
Jul 23 2008, 13:19
|
Местный
  
Группа: Участник
Сообщений: 468
Регистрация: 4-03-05
Пользователь №: 3 066

|
Цитата(Михаил_K @ Jul 23 2008, 14:27)  Еще один немаловажный параметр фильтра - ГВЗ. У рекурсивных фильтров, которым является CIC она не линейна (линейна лишь в части полосы) Немного не так - CIC это не рекурсивный фильтр (в том смысле что это не IIR), это рекурсивная реализация FIR фильтра, причем с линейной ФЧХ во всей частотной области и следовательно постоянным ГВЗ Что касается использования IIR для децимации, то конечно можно. Но только ГВЗ для IIR будет не такая уж и маленькая. Хотя и меньше  Но будет нелинейной ФЧХ и будут (скорее всего) вычисления с плавающей точкой. Хотя, если не ошибаюсь, для IIR также возможна полифазная реализация.
|
|
|
|
|
Jul 23 2008, 14:12
|
Знающий
   
Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481

|
Цитата(Самурай @ Jul 23 2008, 17:19)  Немного не так - CIC это не рекурсивный фильтр (в том смысле что это не IIR), это рекурсивная реализация FIR фильтра, причем с линейной ФЧХ во всей частотной области и следовательно постоянным ГВЗ  гм. Возможно я ошибся на счет ГВЗ.... Цитата(shf_05 @ Jul 23 2008, 17:51)  с дециматором ясно, а как насчет интерполятора? ведь даже в матлабе по умолчанию ф-я decimate использует БИХ фильтр чебышева? С интерполяцией наоборот. Если есть требования к неравномерности АЧХ, то сначала нужно интерполировать FIRом, а потом можно добить CICом Кстати, неплохо про CIC написано у Xilinx. Смотрите прикрепленный файлик
Прикрепленные файлы
cic.pdf ( 452.98 килобайт )
Кол-во скачиваний: 830
|
|
|
|
|
Jul 23 2008, 14:57
|
Частый гость
 
Группа: Участник
Сообщений: 141
Регистрация: 25-10-07
Пользователь №: 31 729

|
Цитата Лучше для максимальной децимации использовать FIR, а уж чего не хватает - добивать CICом - Чето намудрили, если уж FIRом сумели много децимировать, то CIC уже нафиг не нужен.
|
|
|
|
|
Jul 24 2008, 09:51
|
Знающий
   
Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481

|
Цитата(shf_05 @ Jul 24 2008, 12:49)  спасибо всем за ответы. как насчет реализации дециматоров и интерполяторов на FPGA, нужно реализовать интерполятор и дециматор на 256, "конечная" Fs>= 4MSPS. насколько это трудоемкая задача? можно ли реализовать на cpld? кто делал- поделитесь соображениями. сам до этого не использовал FPGA, только ДСП. если есть ссылки по теме скинте пожалуйста. Боюсь что на CPLD будет трудновато. Разве что действительно CIC использовать, если нет требования к АЧХ. Если же использовать FIR, то нужно строить полифазную структуру, с учетом того, что фильтр как правило симметричный. Задача не слишком сложная, главное правильно понять. Помню когда делал дециматор, чуть мозг не спалил, когда делал разворот в центре фильтра
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|