exponenta event banner

dsp. VariableBandwidthIIRFilter

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

Описание

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

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

  1. Создать dsp.VariableBandwidthIIRFilter и задайте его свойства.

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

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

Создание

Описание

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

пример

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

Свойства

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

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

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

Дополнительные сведения об изменении значений свойств см. в разделе Проектирование системы в MATLAB с использованием системных объектов.

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

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

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

Укажите порядок фильтра IIR как положительный целочисленный скаляр. Это свойство не настраивается.

Типы данных: 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 использование фильтра IIR с переменной полосой пропускания для получения выходных данных y. Объект БИХ-фильтра переменной полосы пропускания работает на каждом канале, что означает, что объект фильтрует каждый столбец входного сигнала независимо по последовательным вызовам алгоритма.

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

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

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

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

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

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

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

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

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

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

release(obj)

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

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

Примеры

свернуть все

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

В этом примере показано, как настроить центральную частоту и полосу пропускания фильтра IIR.

    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

Алгоритмы

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

Ссылки

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

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

.
Представлен в R2014a