dsp. FIRFilter

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

Описание

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

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

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

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

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

Создание

Синтаксис

fir = dsp.FIRFilter
fir = dsp.FIRFilter(num)
fir = dsp.FIRFilter(Name,Value)

Описание

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

пример

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

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

Свойства

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

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

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

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты (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 без знака или со знаком.

Зависимости

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

Зависимости

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

Задайте фиксированную точку состояния как масштабированный объект numerictype без знака или со знаком.

Зависимости

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

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

Задайте выходную фиксированную точку как масштабированный объект numerictype без знака или со знаком.

Зависимости

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

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

Для версий ранее, чем R2016b, используйте функцию step, чтобы запустить алгоритм Системного объекта. Аргументы к step являются объектом, который вы создали, сопровождаемый аргументами, показанными в этом разделе.

Например, y = step(obj,x) и y = obj(x) выполняют эквивалентные операции.

Синтаксис

y = fir(x)
y = fir(x,coeff)

Описание

пример

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. Свойства объектов соответствуют параметрам блоков.

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

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

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

Для просмотра документации необходимо авторизоваться на сайте