dsp.FIRFilter

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

Описание

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

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

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

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

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

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

Создание

Описание

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

Зависимости

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

Задайте тип фиксированной точки состояния как масштабируемый со знаком или без знака 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: [1x11 double]
    InitialConditions: 0

  Use get to show all properties

Алгоритмы

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

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

.

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

Введенный в R2012a