exponenta event banner

dsp. FIRFilter

Статический или изменяющийся во времени фильтр FIR

Описание

dsp.FIRFilter Система object™ фильтрует каждый канал входного сигнала с помощью реализации статического или изменяющегося во времени фильтра FIR.

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

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

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

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

При определенных условиях этот объект System также поддерживает создание кода SIMD. Дополнительные сведения см. в разделе Создание кода.

Создание

Описание

fir = dsp.FIRFilter возвращает объект фильтра конечной импульсной характеристики (FIR), fir, который независимо фильтрует каждый канал входного сигнала во времени с использованием указанной реализации фильтра FIR.

пример

fir = dsp.FIRFilter(num) возвращает объект System фильтра FIR, fir, с Numerator свойство имеет значение num.

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

Свойства

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

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

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

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

Укажите структуру фильтра. Можно указать структуру фильтра как одну из Direct form | Direct form symmetric | Direct form antisymmetric | Direct form transposed | Lattice MA.

Укажите источник коэффициентов фильтра как Property или Input port. При указании Input portобъект фильтра обновляет изменяющийся во времени фильтр один раз в каждый кадр.

Зависимости

Это применимо при установке Structure кому Direct form | Direct form symmetric | Direct form antisymmetric | Direct form transposed.

Укажите источник коэффициентов фильтра решетки как Property или Input port. При указании Input portобъект фильтра обновляет изменяющийся во времени фильтр один раз в каждый кадр.

Зависимости

Это применимо при установке Structure кому Lattice MA.

Укажите коэффициенты фильтра как действительный или комплексный числовой вектор строки.

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

Зависимости

Это свойство применяется при установке NumeratorSource свойство для Propertyи свойство Structure имеет значение Direct form, Direct form symmetric, Direct form antisymmetric, или Direct form transposed.

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

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

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

Зависимости

Это свойство применяется при установке для свойства Structure значения Lattice MA, и ReflectionCoefficientsSource свойство для Property.

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

Укажите начальные условия состояний фильтра. Число состояний или элементов задержки равно количеству коэффициентов отражения для решетчатой структуры или числу коэффициентов-1 фильтра для других структур прямого вида.

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

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

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

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

Укажите, следует ли использовать правила полной точности. Если установить FullPrecisionOverride кому trueпо умолчанию объект вычисляет все внутренние арифметические и выходные типы данных с использованием правил полной точности. Эти правила обеспечивают наиболее точные числа фиксированных точек. Он также отключает отображение других свойств фиксированной точки, поскольку они не применяются по отдельности. Эти правила гарантируют, что квантование не происходит внутри объекта. При необходимости добавляются биты, чтобы гарантировать отсутствие скругления или переполнения. Если установить FullPrecisionOverride кому falseтипы данных с фиксированной точкой управляются с помощью отдельных настроек свойств с фиксированной точкой. Дополнительные сведения см. в разделе Полная точность для системных объектов с фиксированной точкой.

Укажите метод округления.

Зависимости

Это свойство применяется только в том случае, если объект находится не в режиме полной точности.

Укажите действие переполнения как Wrap или Saturate.

Зависимости

Это свойство применяется только в том случае, если объект находится не в режиме полной точности.

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

Зависимости

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

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

Зависимости

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

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

Зависимости

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

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

Зависимости

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

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

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

Зависимости

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

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

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

Зависимости

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

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

Зависимости

Это свойство не применяется ни к одной из структур фильтра прямой формы или прямой формы I.

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

Зависимости

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

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

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

Зависимости

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

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

Описание

пример

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

y = fir(x,coeff) использует изменяющиеся во времени коэффициенты, coeff , для фильтрации входного сигнала x и производить выходные данные y . Эту опцию можно использовать при установке NumeratorSource или ReflectionCoefficientsSource свойство для Input port.

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

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

Ввод данных, заданный как вектор или матрица. Если входные данные имеют тип с фиксированной точкой, они должны быть подписаны, если для структуры установлено значение Direct form symmetric или Direct form antisymmetric. Объект КИХ-фильтра работает на каждом канале входного сигнала независимо по последовательным вызовам объекта.

Этот объект System поддерживает ввод переменного размера.

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

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

Типы данных: 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 дискретно-временного фильтра
generatehdlСоздание кода HDL для квантованного фильтра DSP (требуется кодер HDL конструкции фильтра)
stepЗапустить алгоритм объекта System
releaseДеблокирование ресурсов и разрешение изменений значений свойств объекта системы и входных признаков
resetСброс внутренних состояний объекта System

Примеры

свернуть все

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

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

 sr = dsp.SignalSource;
 sr.Signal = xin;
 sink = dsp.SignalSink;

 fir = dsp.FIRFilter(fir1(10,0.5));

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

 while ~isDone(sr)
      input = sr();
      filteredOutput = fir(input);
      sink(filteredOutput);
      sa(filteredOutput)
 end

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

Создайте фильтр FIR как объект System.

N = 10;
Fc = 0.4;
B = fir1(N,Fc);
fir1 = dsp.FIRFilter(B);
fvtool(fir1)

Это также может быть достигнуто с помощью fdesign как конструктор и design для проектирования фильтра.

N = 10;
Fc = 0.4;
specLowpass = fdesign.lowpass('N,Fc',N,Fc);
fir2 = design(specLowpass,'systemobject',true)
fvtool(fir2);
fir2 = 

  dsp.FIRFilter with properties:

            Structure: 'Direct form'
      NumeratorSource: 'Property'
            Numerator: [1x11 double]
    InitialConditions: 0

  Use get to show all properties

Алгоритмы

Этот объект реализует алгоритм, входы и выходы, описанные на странице ссылки на блок дискретного КИХ-фильтра (Simulink). Свойства объекта соответствуют параметрам блока.

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

.

Преобразование с фиксированной точкой
Проектирование и моделирование систем с фиксированной точкой с помощью Designer™ с фиксированной точкой.

Представлен в R2012a