dsp.FIRFilter

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

Описание

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

Отфильтровать каждый канал входа:

  1. Создайте dsp.FIRFilter объект и набор его свойства.

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

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты?

При особых условиях этот Системный объект также поддерживает генерацию кода SIMD. Для получения дополнительной информации смотрите Генерацию кода.

Создание

Описание

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

пример

fir = dsp.FIRFilter(num) возвращается КИХ фильтруют Системный объект, fir, с Numerator набор свойств к num.

fir = dsp.FIRFilter(Name,Value) возвращается КИХ фильтруют Системный объект, 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 для других прямых структур формы.

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

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

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

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

Типы данных: 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 Объект (Fixed-Point Designer).

Зависимости

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

Задайте отражательный содействующий тип данных с фиксированной точкой как Same word length as input или Custom.

Зависимости

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

Задайте отражательную содействующую фиксированную точку как со знаком или без знака numerictype Объект (Fixed-Point Designer).

Зависимости

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

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

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

Зависимости

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

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

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

Зависимости

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

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

Зависимости

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

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

Зависимости

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

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

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

Зависимости

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

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

Синтаксис

Описание

пример

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

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

Входные параметры

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

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

Этот Системный объект поддерживает вход переменного размера.

Типы данных: 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
Поддержка комплексного числа: Да

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

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

release(obj)

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

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

Примеры

свернуть все

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

 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)

Спроектируйте КИХ-фильтр как Системный объект.

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: [-1.2414e-18 -0.0126 -0.0247 0.0635 0.2748 0.3981 ... ]
    InitialConditions: 0

  Use get to show all properties

Алгоритмы

Этот объект реализует алгоритм, входные параметры и выходные параметры, описанные на странице с описанием блока Discrete FIR Filter (Simulink). Свойства объектов соответствуют параметрам блоков.

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

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