dsp. VariableBandwidthIIRFilter

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

Описание

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

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

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

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

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

Создание

Синтаксис

vbwIIR = dsp.VariableBandwidthIIRFilter
vbwIIR = dsp.VariableBandwidthIIRFilter(Name,Value)

Описание

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

пример

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

Свойства

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

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

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

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

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

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

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

Синтаксис

y = vbwIIR(x)

Описание

пример

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