dsp.AllpoleFilter

Описание

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

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

  1. Создайте dsp.AllpoleFilter Объекту и установите его свойства.

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

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

Создание

Описание

пример

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

allpole = dsp.AllpoleFilter(Name,Value) возвращает 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
Поддержка комплексного числа: Да

Задайте начальные условия состояния фильтра.

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

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

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

Типы данных: 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 (Fixed-Point Designer) объект. Это свойство неразрывно.

Зависимости

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

Задайте коэффициенты знаменателя типа с фиксированной точкой как автознаковый numerictype (Fixed-Point Designer) объект. Это свойство неразрывно.

Зависимости

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

Задайте тип фиксированной точки продукта как автоматический масштабированный numerictype (Fixed-Point Designer) объект. Это свойство неразрывно.

Зависимости

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

Задайте тип фиксированной точки аккумулятора как автоматический масштабированный numerictype (Fixed-Point Designer) объект. Это свойство неразрывно.

Зависимости

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

Задайте тип фиксированной точки состояния как автоматический масштабированный numerictype (Fixed-Point Designer) объект. Это свойство неразрывно.

Зависимости

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

Задайте тип данных с фиксированной точкой на выходе как автоматический масштабированный numerictype (Fixed-Point Designer) объект. Это свойство неразрывно.

Зависимости

Это свойство применяется, когда вы устанавливаете 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
Поддержка комплексного числа: Да

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

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

release(obj)

расширить все

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

Примеры

свернуть все

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

Примечание.Этот пример выполняется только в 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 Filter блочных страниц с описанием. Свойства объекта соответствуют параметрам блоков.

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

.
Введенный в R2012b