dfilt.cascadeallpass

Каскад allpass фильтров дискретного времени

Синтаксис

hd = dfilt.cascadeallpass(c1,c2,...)

Описание

hd = dfilt.cascadeallpass(c1,c2,...) создает каскад фильтров allpass, каждый из которых использует минимальное количество множителей, учитывая коэффициенты фильтра, обеспеченные в c1C2 , и так далее.

Каждый векторный c представляет один раздел в каскадном фильтре. c векторы должны содержать один, два, три, или четыре элемента как коэффициенты фильтра для каждого раздела. В результате алгоритма проекта каждый раздел является a dfilt.allpass структура, коэффициенты которой даны в соответствующем c вектор, такой как c1 вектор содержит коэффициенты для первой стадии.

Состояния для каждого раздела совместно используются разделами.

Векторы c не должна быть та же длина. Можно объединить различные векторы длины во входных параметрах. Например, можно расположить каскадом разделы четвертого порядка с секциями второго порядка или разделы первого порядка.

Для получения дополнительной информации о векторах ci и о передаточной функции каждого раздела, обратитесь к dfilt.allpass.

Обычно вы не создаете эти каскадные фильтры allpass непосредственно. Вместо этого они следуют из процесса проектирования для БИХ-фильтра. Обратитесь к первому примеру в Примерах для больше об использовании dfilt.cascadeallpass спроектировать БИХ-фильтр.

Свойства

В следующей таблице записи строки являются свойствами фильтра и кратким описанием каждого свойства.

PropertyName

Краткое описание

AllpassCoefficients

Содержит коэффициенты для allpass объекта фильтра

FilterStructure

Описывает поток сигналов для объекта фильтра, включая все активные элементы, которые выполняют операции во время фильтрации — усиления, задержки, суммы, продукты и ввод/вывод.

PersistentMemory

Задает, сбросить ли состояния фильтра и память перед каждой операцией фильтрации. Позволяет вам решить, сохраняет ли ваш фильтр состояния от предыдущих запусков фильтрации. False настройка по умолчанию.

States

Это свойство содержит состояния фильтра прежде, во время, и после работы фильтра. Состояния действуют как память фильтра между фильтрацией запусков или сеансов. Они также обеспечивают рычажное устройство между разделами фильтра мультираздела, такими как каскадный фильтр. Для получения дополнительной информации обратитесь к filtstates в документации Signal Processing Toolbox™ или в Системе справочной информации.

Примеры

Два примера показывают как dfilt.cascadeallpass работает в совсем других приложениях — разработка фильтра полуполосы IIR и построение allpass каскада dfilt объекты.

Во-первых, спроектируйте БИХ-использование полуленточного фильтра расположенные каскадом фильтры allpass. Каждая ветвь параллельной каскадной конструкции является cascadeallpass объектом фильтра.

tw = 100;  % Transition width of filter to be designed, 100 Hz.
ast = 80;  % Stopband attenuation of filter to be designed, 80dB.
fs = 2000; % Sampling frequency of signal to be filtered.
% Store halfband design specs in the specifications object d.
d = fdesign.halfband('tw,ast',tw,ast,fs);

Теперь выполните фактическое создание фильтра. hd содержит два dfilt.cascadeallpass объекты.

hd = design(d,'ellip','filterstructure','cascadeallpass');
% Get summary information about one dfilt.cascadeallpass stage.
StageInfo = hd.Stage(1).Stage(1);

Этот второй пример создает dfilt.cascadeallpass объект фильтра непосредственно данные allpass коэффициенты для входных векторов.

section1 = 0.8;
section2 = [1.2,0.7];
section3 = [1.3,0.9];
hd = dfilt.cascadeallpass(section1,section2,section3);
% Get information about the filter
% return informatio in character array
S = info(hd);
Введенный в R2011a
Для просмотра документации необходимо авторизоваться на сайте