exponenta event banner

dsp. AllpoleFilter

Фильтр IIR без нулей

Описание

dsp.AllpoleFilter объект фильтрует каждый канал ввода с использованием реализаций фильтра allpole.

Для фильтрации каждого канала входа:

  1. Создать dsp.AllpoleFilter и задайте его свойства.

  2. Вызовите объект с аргументами, как если бы это была функция.

Дополнительные сведения о работе системных объектов см. в разделе Что такое системные объекты?.

Создание

Описание

пример

allpole = dsp.AllpoleFilter возвращает системный object™ фильтра allpole, allpole, который независимо фильтрует каждый канал входа по последовательным вызовам алгоритма. Этот объект System использует указанную реализацию фильтра allpole.

allpole = dsp.AllpoleFilter(Name,Value) возвращает объект System фильтра allpole, allpole, каждое свойство имеет заданное значение.

Свойства

развернуть все

Если не указано иное, свойства не настраиваются, что означает невозможность изменения их значений после вызова объекта. Объекты блокируются при их вызове, и release функция разблокирует их.

Если свойство настраивается, его значение можно изменить в любое время.

Дополнительные сведения об изменении значений свойств см. в разделе Проектирование системы в MATLAB с использованием системных объектов.

Укажите структуру фильтра как одну из | Direct form | Direct form transposed | Lattice AR. Методы анализа не поддерживаются для обработки с фиксированной точкой, если структура Direct form или Direct form transposed. Это свойство не настраивается.

Задайте коэффициенты знаменателя как числовой вектор строки.

Настраиваемый: Да

Зависимости

Это свойство применимо, если свойству Structure присвоено значение Direct form | Direct form transposed.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Поддержка комплексного номера: Да

Задайте коэффициенты фильтра решетки как числовой вектор строки.

Настраиваемый: Да

Зависимости

Это свойство применимо, когда Structure свойство имеет значение Lattice AR.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Поддержка комплексного номера: Да

Укажите начальные условия состояний фильтра.

Начальные условия можно задать как скаляр, вектор или матрицу. Если указать скалярное значение, этот объект System инициализирует все элементы задержки в фильтре к этому значению. Можно также указать вектор, длина которого равна количеству элементов задержки в фильтре. При этом каждый векторный элемент задает уникальное начальное условие для соответствующего элемента задержки. Объект применяет один и тот же вектор начальных условий к каждому каналу входного сигнала.

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

Настраиваемый: Да

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Поддержка комплексного номера: Да

Укажите коэффициенты знаменателя фиксированного типа данных как один из Same word length as input | Custom. Это свойство не настраивается.

Укажите коэффициент отражения фиксированного типа данных в качестве одного из Same word length as input | Custom. Это свойство не настраивается.

Свойства с фиксированной точкой

Укажите тип данных продукта с фиксированной точкой как один из | Full precision | Same as input | Custom |. Это свойство не настраивается.

Укажите тип данных с фиксированной точкой в накопителе для одного из | Full precision | Same as input | Same as product | Custom |. Это свойство не настраивается.

Укажите выходной тип данных с фиксированной точкой как один из | Same as accumulator | Same as input | Custom |. Это свойство не настраивается.

Укажите тип данных с фиксированной точкой состояния как один из | Same as input | Same as accumulator | Custom. Это свойство не настраивается.

Укажите коэффициенты знаменателя фиксированного типа в качестве автоматически назначаемого numerictype (Конструктор фиксированных точек). Это свойство не настраивается.

Зависимости

Это свойство применимо, когда CoefficientsDataType свойство - Custom.

Укажите коэффициенты знаменателя фиксированного типа в качестве автоматически назначаемого numerictype (Конструктор фиксированных точек). Это свойство не настраивается.

Зависимости

Это свойство применимо, когда ReflectionCoefficientsDataType свойство - Custom.

Укажите тип продукта с фиксированной точкой как автоматически масштабированный numerictype (Конструктор фиксированных точек). Это свойство не настраивается.

Зависимости

Это свойство применяется при установке ProductDataType свойство для Custom.

Укажите тип фиксированной точки накопителя как автоматически масштабированный numerictype (Конструктор фиксированных точек). Это свойство не настраивается.

Зависимости

Это свойство применяется при установке AccumulatorDataType свойство для Custom.

Укажите тип фиксированной точки состояния как автоматически масштабированный numerictype (Конструктор фиксированных точек). Это свойство не настраивается.

Зависимости

Это свойство применяется при установке StateDataType свойство для Custom.

Укажите тип выходной фиксированной точки как автоматически масштабированный numerictype (Конструктор фиксированных точек). Это свойство не настраивается.

Зависимости

Это свойство применяется при установке OutputDataType свойство для Custom.

Использование

Синтаксис

Описание

пример

y = allpole(x) фильтрует действительный или комплексный входной сигнал x использование фильтра allpole для получения выходных данных y.

Входные аргументы

развернуть все

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

Если входные данные имеют фиксированный тип, они должны быть подписаны. Объект фильтра allpole работает на каждом канале входного сигнала независимо по последовательным вызовам алгоритма.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fi
Поддержка комплексного номера: Да

Выходные аргументы

развернуть все

Отфильтрованные выходные данные, возвращаемые в виде вектора или матрицы. Размер, тип данных и сложность выходного сигнала совпадают с размером входного сигнала.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fi
Поддержка комплексного номера: Да

Функции объекта

Чтобы использовать функцию объекта, укажите объект System в качестве первого входного аргумента. Например, для освобождения системных ресурсов объекта System с именем obj, используйте следующий синтаксис:

release(obj)

развернуть все

freqzЧастотная характеристика объекта системы дискретно-временного фильтра
fvtoolВизуализация частотной характеристики фильтров DSP
impzИмпульсная характеристика объекта системы дискретно-временного фильтра
infoСведения об объекте filter System
coeffsВозвращает коэффициенты объекта System фильтра в структуре
costОценка затрат на внедрение фильтра Объект системы
grpdelayОтвет групповой задержки объекта System дискретно-временного фильтра
phasezФазовый отклик объекта System дискретно-временного фильтра (развернутый)
stepЗапустить алгоритм объекта System
releaseДеблокирование ресурсов и разрешение изменений значений свойств объекта системы и входных признаков
resetСброс внутренних состояний объекта System

Примеры

свернуть все

Используйте фильтр Allpole для применения фильтра нижних частот к сигналу с двумя синусоидальными частотами.

Примечание.Этот пример выполняется только в R2016b или более поздних версиях. При использовании более ранней версии замените каждый вызов функции эквивалентным step синтаксис. Например, myObject (x) становится шагом (myObject, x).

 t = (0:1000)./8e3;
 xin = sin(2*pi*1e3*t)+sin(2*pi*3e3*t);

 src = dsp.SignalSource(xin', 4);
 sink = dsp.SignalSink;
 allpole = dsp.AllpoleFilter;
 tt = (-25:25)';
 xsinc = 0.4*sinc(0.4*tt);
 asinc = lpc(xsinc,51);
 allpole.Denominator = asinc;

 sa = dsp.SpectrumAnalyzer('SampleRate',8e3,...
    'PlotAsTwoSidedSpectrum',false,...
    'OverlapPercent', 80,'PowerUnits','dBW',...
    'YLimits', [-150 50]);

while ~isDone(src)
      input = src();
      filteredOutput = allpole(input);
      sink(filteredOutput);
      sa(filteredOutput)
 end

 filteredResult = sink.Buffer;
 fvtool(allpole,'Fs',8000)

Алгоритмы

Этот объект реализует алгоритм, входы и выходы, описанные на странице ссылок блока фильтра Allpole. Свойства объекта соответствуют параметрам блока.

Расширенные возможности

.
Представлен в R2012b