dsp.VariableBandwidthIIRFilter

Фильтр БИХ переменной полосы пропускания

Описание

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

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

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

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

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

Создание

Описание

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

пример

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

Задайте пропускную способность фильтра в Hertz как действительный, положительный скаляр, меньше 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. Прототип является транспонированным каскадом Direct Form II секций второго порядка (фильтр Биквада). Прототип преобразуется в желаемый фильтр с помощью алгоритмов, используемых в Цифровых Частотных Преобразованиях. Каждая секция SOS прототипа трансформируется отдельно. Когда FilterType является 'Lowpass' или 'Highpass'полученный фильтр остается транспонированным каскадом формы II второго порядка. Если на FilterType является 'Bandpass' или 'Bandstop'полученный фильтр представляет собой каскад транспонированного каскада Direct Form II четвертого порядка.

Ссылки

[1] А. Г. Константинид. «Спектральные преобразования для цифровых фильтров», Proc. Inst. Elect. Энг. Том 117, № 8, 1970, с. 1585-1590.

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

.
Введенный в R2014a