dsp.VariableBandwidthFIRFilter

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

Описание

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

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

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

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

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

Создание

Описание

vbw = dsp.VariableBandwidthFIRFilter возвращает Систему object™, vbw, который независимо фильтрует каждый канал входа по последовательным вызовам объекта. Частота среза фильтра может быть настроена во время операции фильтрации. Переменный КИХ-фильтр пропускной способности спроектирован с помощью метода окна.

пример

vbw = dsp.VariableBandwidthFIRFilter(Name,Value) возвращается переменный КИХ пропускной способности фильтруют Системный объект, vbw, с каждым набором свойств к заданному значению. Можно задать дополнительные аргументы пары "имя-значение" в любом порядке как (Name1,Value1,...,NameN,ValueN).

Свойства

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

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

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

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты (MATLAB).

Введите частоту дискретизации, заданную как положительная скалярная величина в Гц. Это свойство является ненастраиваемым.

Типы данных: double | single

Задайте тип фильтра как один из 'Lowpass' | 'Highpass' | 'Bandpass' | 'Bandstop'. Это свойство является ненастраиваемым.

Задайте порядок КИХ-фильтра как положительный целочисленный скаляр. Это свойство является ненастраиваемым.

Типы данных: double | single

Укажите, что функция окна раньше проектировала КИХ-фильтр как один из 'Hann' | 'Hamming' | 'Chebyshev' | 'Kaiser'. Это свойство является ненастраиваемым.

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

Зависимости

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

Типы данных: double | single

Задайте частоту среза фильтра в Гц как действительное, положительная скалярная величина, меньшая, чем SampleRate/2.

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

Зависимости

Это свойство применяется, если вы устанавливаете FilterType свойство к 'Lowpass' или 'Highpass'.

Типы данных: double | single

Задайте частоту центра фильтра в Гц как действительное, положительная скалярная величина, меньшая, чем SampleRate/2.

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

Зависимости

Это свойство применяется, когда вы устанавливаете FilterType свойство к 'Bandpass' или 'Bandstop'.

Типы данных: double | single

Задайте пропускную способность фильтра в Герц как действительное, положительная скалярная величина, меньшая, чем SampleRate/2.

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

Зависимости

Это свойство применяется, если вы устанавливаете FilterType свойство к 'Bandpass' или 'Bandstop'.

Типы данных: double | single

Задайте затухание Окна Чебышева как действительное, положительную скалярную величину в децибелах (дБ). Это свойство является ненастраиваемым.

Зависимости

Это свойство применяется, если вы устанавливаете Window свойство к 'Chebyshev'.

Типы данных: double | single

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

Синтаксис

Описание

пример

y = vbw(x) фильтрует входной сигнал x использование переменного КИХ пропускной способности фильтрует, чтобы произвести выход y. Переменный КИХ-объект фильтра пропускной способности работает с каждым каналом, что означает, что объект фильтрует каждый столбец входного сигнала независимо по последовательным вызовам алгоритма.

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

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

Ввод данных, заданный как вектор или матрица. Этот объект также принимает входные параметры переменного размера. Если объект заблокирован, можно изменить размер каждого входного канала, но вы не можете изменить количество каналов.

Типы данных: double | single
Поддержка комплексного числа: Да

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

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

Фильтрованный выходной параметр, возвращенный как вектор или матрица. Размер, тип данных и сложность соответствий выходного сигнала тот из входного сигнала.

Типы данных: double | single
Поддержка комплексного числа: Да

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

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

release(obj)

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

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

Примеры

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

Примечание: Этот пример запускается только в R2016b или позже. Если вы используете более ранний релиз, заменяете каждый вызов функции с эквивалентным step синтаксис. Например, myObject (x) становится шагом (myObject, x).

Этот пример показывает вам, как настроить центральную частоту и пропускную способность КИХ-фильтра.

Fs = 44100; % Input sample rate
% Define a bandpass variable bandwidth FIR filter:
vbw = dsp.VariableBandwidthFIRFilter('FilterType','Bandpass',...
    'FilterOrder',100,...
    'SampleRate',Fs,...
    'CenterFrequency',1e4,...
    'Bandwidth',4e3);
tfe = dsp.TransferFunctionEstimator('FrequencyRange','onesided');
aplot = dsp.ArrayPlot('PlotType','Line',...
    'XOffset',0,...
    'YLimits',[-120 5], ...
    'SampleIncrement', 44100/1024,...
    'YLabel','Frequency Response (dB)',...
    'XLabel','Frequency (Hz)',...
    'Title','System Transfer Function');
FrameLength = 1024;
sine = dsp.SineWave('SamplesPerFrame',FrameLength);
for i=1:500
    % Generate input
    x = sine() + randn(FrameLength,1);
    % Pass input through the filter
    y = vbw(x);
    % Transfer function estimation
    h = tfe(x,y);
    % Plot transfer function
    aplot(20*log10(abs(h)))
    % Tune bandwidth and center frequency of the FIR filter
    if (i==250)
        vbw.CenterFrequency = 5000;
        vbw.Bandwidth = 2000;
    end
end

Алгоритмы

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

Ссылки

[1] Jarske, P., И. Неуво и С. К. Митра, "Простой подход к проекту линейных цифровых фильтров фазы FIR с переменными характеристиками". Обработка сигналов. Издание 14, Выпуск 4, июнь 1988, стр 313-326.

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

Введенный в R2014a