Объект спецификации фильтров компенсатора CIC
d= fdesign.ciccomp
d= fdesign.ciccomp(d,nsections,rcic)
d= fdesign.ciccomp(...,spec)
h = fdesign.ciccomp(...,spec,specvalue1,specvalue2,...)
d= fdesign.ciccomp создает объект d спецификаций компенсатора CIC, применяя значения по умолчанию для свойств Fpass, Fstop, Apass и Astop. В этом синтаксисе фильтр имеет два раздела, и дифференциальная задержка равняется 1.
Используя fdesign.ciccomp с design метод создает Систему object™, если флаг 'SystemObject' установлен в true.
d= fdesign.ciccomp(d,nsections,rcic) создает объект спецификаций компенсатора CIC с набором задержки дифференциала фильтра к d, количеству разделов в наборе фильтра к nsections и наборе фактора изменения уровня CIC к rcic. Значения по умолчанию этих параметров: дифференциальная задержка равняется 1, количество разделов, равных 2, и фактор изменения уровня CIC, равный 1.
Если фактор изменения уровня CIC равен 1, ответ полосы пропускания фильтра является инверсией sinc, который является приближением к истинному обратному ответу полосы пропускания CIC-фильтра.
Если вы задаете фактор изменения уровня CIC, не равный 1, ответ полосы пропускания фильтра является инверсией Дирихле sinc, который совпадает точно с истинным обратным ответом полосы пропускания CIC-фильтра.
d= fdesign.ciccomp(..., создает объект спецификаций Компенсатора CIC и устанавливает его свойство spec)Specification на spec. Записи в spec представляют различные функции ответа фильтра, такие как порядок фильтра, которые управляют проектом фильтра. Действительные доступы для spec показывают в списке ниже. Записи не являются чувствительными к регистру.
'fp,fst,ap,ast' (spec по умолчанию)
'n,fc,ap,ast'
'n,fp,ap,ast'
'n,fp,fst'
'n,fst,ap,ast'
Спецификации фильтра заданы можно следующим образом:
ap — сумма пульсации, позволенной в полосе передачи в децибелах (модули по умолчанию). Также названный Apass.
\ast затухание в полосе задерживания в децибелах (модули по умолчанию). Также названный Astop.
фК частота среза для точки точки 6 дБ ниже значения полосы пропускания. Заданный в нормированных единицах частоты.
fp частота в конце полосы передачи. Заданный в нормированных единицах частоты. Также названный Fpass.
fst — частота в начале полосы задерживания. Заданный в нормированных единицах частоты. Также названный Fstop.
n отфильтруйте порядок.
В графической форме выглядят так спецификации фильтра:

Области между значениями спецификации как fp и fst являются областями перехода, где ответ фильтра явным образом не задан.
Методы разработки фильтра, которые применяются к изменению объекта спецификаций компенсатора CIC в зависимости от Specification. Используйте designmethods, чтобы определить, какой метод разработки применяется к объекту и его спецификации.
h = fdesign.ciccomp(...,spec,specvalue1,specvalue2,...) создает объект и устанавливает спецификации в порядке, они заданы во входе spec, когда вы создаете объект.
Как правило, когда они разрабатывают фильтры, разработчики хотят плоские полосы пропускания и области перехода, которые являются максимально узкими. CIC-фильтры представляют (sinx/x) профиль в полосе пропускания и относительно широких переходах.
Чтобы компенсировать это уменьшаются в полосе пропускания, и пытаться уменьшить ширину области перехода, можно использовать фильтр компенсатора CIC, который демонстрирует (x/sinx) профиль в полосе пропускания. fdesign.ciccomp в частности адаптируется в соответствии с разработкой компенсаторов CIC.
Можно разработать компенсатор для CIC-фильтра с помощью дифференциальной задержки, d, количества разделов, numberofsections, и применимой частоты полосы пропускания, Fpass.
Путем взятия количества разделов, полосы пропускания и дифференциальной задержки от CIC-фильтра и использования их в определении компенсатора CIC, получившийся фильтр компенсатора эффективно исправляет для свисания полосы пропускания CIC-фильтра и сужает область перехода.
Как демонстрация этой концепции, этот пример создает CIC decimator и его компенсатор.
fs = 96e3; % Input sampling frequency. fpass = 4e3; % Frequency band of interest. m = 6; % Decimation factor. hcic = design(fdesign.decimator(m,'cic',1,fpass,60,fs),'SystemObject',true); hd = design(fdesign.ciccomp(hcic.DifferentialDelay, ... hcic.NumSections,fpass,4.5e3,.1,60,fs/m),'SystemObject',true); fvtool(hcic,hd,... cascade(hcic,hd),'ShowReference','off','Fs',[96e3 96e3/m 96e3]) legend('CIC Decimator','CIC Compensator','Resulting Cascade Filter');

Вот график CIC-фильтра и компенсатора для того фильтра.