Объект спецификации фильтров компенсатора 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-фильтра и компенсатора для того фильтра.