dsp.VariableBandwidthIIRFilter

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

Описание

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

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

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

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

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

Создание

Описание

vbwIIR = dsp.VariableBandwidthIIRFilter возвращает Систему object™, vbwIIR, который независимо фильтрует каждый канал входа по последовательным вызовам алгоритма. Этот Системный объект использует заданную БИХ-реализацию фильтра. Частота полосы пропускания фильтра может быть настроена во время операции фильтрации. Переменный БИХ-фильтр пропускной способности создан с использованием эллиптический метод. Фильтр настраивается с помощью БИХ спектральные преобразования на основе фильтров allpass.

пример

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

Свойства

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

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

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

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

Задайте частоту дискретизации входа в Герц в виде конечного числа. Это свойство является ненастраиваемым.

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

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

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

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

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

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

Зависимости

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

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

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

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

Зависимости

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

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

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

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

Зависимости

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

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

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

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

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

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

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

Синтаксис

Описание

пример

y = vbwIIR(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 IIR filter:
    vbwiir = dsp.VariableBandwidthIIRFilter('FilterType','Bandpass',...
                                          'FilterOrder',8,...
                                          '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 = vbwiir(x);
       % Transfer function estimation
       h = tfe(x,y);
       % plot transfer function
       aplot(20*log10(abs(h)))
       % Tune bandwidth and center frequency of the IIR filter
       if (i==250)
         vbwiir.CenterFrequency = 5000;
         vbwiir.Bandwidth = 2000;
       end
    end

Алгоритмы

Этот фильтр покрывает преобразования частоты. БИХ-прототип lowpass спроектирован, с помощью эллиптического метода путем определения его порядка, частоты полосы пропускания, неравномерности в полосе пропускания и затухания в полосе задерживания. Неравномерность в полосе пропускания и затухание в полосе задерживания равны значениям PassbandRipple и StopbandAttenuation свойства. Прототипная частота полосы пропускания установлена в 0,5. Если FilterType свойством является 'Lowpass' или 'Highpass', порядок прототипа равен значению FilterOrder. Если FilterType свойством является 'Bandpass' или 'Bandstop', прототипный порядок фильтра равен FilterOrder/2. Прототип является Прямой Формой II транспонированный каскад секций второго порядка (фильтр Biquad). Прототип преобразовывается в желаемый фильтр с помощью алгоритмов, используемых в Цифровых Преобразованиях Частоты. Каждый прототипный раздел SOS преобразовывается отдельно. Когда FilterType 'Lowpass' или 'Highpass', получившийся фильтр остается Прямая Форма II транспонированный каскад разделов второго порядка. Если FilterType 'Bandpass' или 'Bandstop', получившийся фильтр является каскадом Прямой Формы II транспонированный каскад четвертых разделов порядка.

Ссылки

[1] А. Г. Констэнтинайдс. “Спектральные преобразования для цифровых фильтров”, Proc. Inst. Выбрать. Издание 117 инженера, № 8, 1970, стр 1585-1590.

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

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