fdesign.ciccomp

Объект спецификации фильтров компенсатора 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(...,spec) создает объект спецификаций Компенсатора CIC и устанавливает его свойство 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

Как правило, когда они разрабатывают фильтры, разработчики хотят плоские полосы пропускания и области перехода, которые являются максимально узкими. 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-фильтра и компенсатора для того фильтра.

Примеры

свернуть все

Разработанный, чтобы компенсировать спад, свойственный от CIC-фильтров, компенсаторы CIC могут улучшать производительность вашего проекта CIC. Этот пример разрабатывает компенсатор d с пятью разделами и дифференциальной задержкой, равной одной. График, отображенный после кода, показывает увеличивающееся усиление в полосе пропускания, которая является характеристической для компенсаторов CIC, чтобы преодолеть свисание в полосе пропускания CIC-фильтра. Идеально, расположение каскадом компенсатора CIC с CIC-фильтром приводит к фильтру lowpass с плоским ответом полосы пропускания и узкой областью перехода.

h = fdesign.ciccomp;
set(h, 'NumberOfSections', 5, 'DifferentialDelay', 1);
cicComp = design(h,'equiripple','SystemObject',true);
fvtool(cicComp)

Этот компенсатор работал бы на decimator или интерполятор, который имел дифференциальную задержку 1 и 5 разделов.

Смотрите также

|

Введенный в R2011a