exponenta event banner

dsp. ParametricEQFilter

(Удален) Настраиваемый фильтр параметрического эквалайзера второго порядка

dsp.ParametricEQFilter объект удален. Используйте designParamEQ функции или MultibandParametricEQ вместо этого объект из Audio Toolbox™. Дополнительные сведения см. в разделе Вопросы совместимости.

Описание

dsp.ParametricEQFilter объект является настраиваемым фильтром параметрического эквалайзера второго порядка.

Применение фильтра к каждому каналу входа:

  1. Определите и настройте фильтр эквалайзера. См. раздел Строительство.

  2. Звонить step фильтровать каждый канал в соответствии со свойствами dsp.ParametricEQFilter. Поведение step относится к каждому объекту на панели инструментов.

Примечание

Начиная с R2016b, вместо использования step для выполнения операции, определенной системным object™, можно вызвать объект с аргументами, как если бы это была функция. Например, y = step(obj,x) и y = obj(x) выполнять эквивалентные операции.

Строительство

H = dsp.ParametricEQFilter возвращает фильтр параметрического эквалайзера второго порядка, который независимо фильтрует каждый канал ввода во времени, используя значения по умолчанию для Bandwidth, CenterFrequency, и PeakGaindB. center frequency и bandwidth задаются в Гц и настраиваются. peak gain (dip) указывается в дБ и также настраивается. bandwidth измеряется в среднем арифметическом между peak gain в абсолютных энергоблоках и одном.

H = dsp.ParametricEQFilter('Specification', 'Quality factor and center frequency') задает коэффициент качества (коэффициент Q) фильтра. Q factor определяется как центральная частота/полоса пропускания. Более высокое Q factor соответствует более узкому пику/падению. Коэффициент Q должен быть скалярным значением больше 0. Коэффициент Q настраивается.

H = dsp.ParametricEQFilter('Specification', 'Coefficients') определяет значения коэффициента усиления для полосы пропускания и центральной частоты. Это удаляет вычисления тригонометрии, используемые при настройке свойств. CenterFrequencyCoefficient должен быть скаляром между -1 и 1, где -1 соответствует 0 Гц, и 1 соответствует частоте Найквиста. BandwidthCoefficient должен быть скаляром между -1 и 1, где -1 соответствует наибольшей полосе пропускания, а 1 соответствует наименьшей полосе пропускания. В этом режиме пиковый коэффициент усиления задается в линейных единицах, а не в дБ.

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

Свойства

Specification

Расчетные параметры или коэффициенты, определяющие фильтр

Выберите один из следующих вариантов: Specification значения. Используйте соответствующие настраиваемые свойства для указания фильтра:

  • Bandwidth and center frequency - Использование Bandwidth, CenterFrequency, и PeakGaindB.

  • Quality factor and center frequency - Использование QualityFactor, CenterFrequency, и PeakGaindB.

  • Coefficients - Использование BandwidthCoefficient, CenterFrequencyCoefficient, и PeakGain.

Значение по умолчанию: Bandwidth and center frequency.

Используя Coefficients определяет значения усиления для полосы пропускания и центральной частоты. Этот подход не требует тригонометрических расчетов двух других подходов, где расчетные параметры задаются в Гц.

Bandwidth

полоса пропускания фильтра

Укажите полосу пропускания фильтра как конечный положительный числовой скаляр, который меньше половины частоты дискретизации входного сигнала, в Гц. Это свойство применимо, если Specification имеет значение Bandwidth and center frequency. Значение по умолчанию - 2205 Гц. Это свойство можно настроить.

BandwidthCoefficient

Коэффициент для полосы пропускания фильтра

Укажите значение, определяющее пропускную способность фильтра как конечный числовой скаляр в диапазоне [-1 1]:

  • -1 соответствует максимальной полосе пропускания (SampleRate/4).

  • 1 соответствует минимальной полосе пропускания (0 Гц, то есть фильтру allpass).

Это свойство применимо только в том случае, если Specification имеет значение Coefficients. Значение по умолчанию - 0,72654. Это свойство можно настроить.

CenterFrequency

Центральная частота фильтра

Укажите центральную частоту фильтра как конечный положительный числовой скаляр, который меньше половины частоты дискретизации входного сигнала, в Гц. Это свойство применимо только в том случае, если Specification имеет значение Bandwidth and center frequency или Quality factor and center frequency. Значение по умолчанию: 11025 Гц. Это свойство можно настроить.

CenterFrequencyCoefficient

Коэффициент для центральной частоты фильтра

Укажите значение, определяющее центральную частоту фильтра как конечный числовой скаляр между -1 и 1:

  • -1 соответствует минимальной центральной частоте (0 Гц).

  • 1 соответствует максимальной центральной частоте (SampleRate/ 2 Гц).

Это свойство применимо только в том случае, если Specification имеет значение Coefficients. Значение по умолчанию: 0, что соответствует SampleRate/ 4 Гц.

Это свойство можно настроить.

PeakGain

Пиковое или понижающее усиление фильтра в линейных единицах

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

PeakGaindB

Пиковое или понижающее усиление фильтра в дБ

Укажите пиковое значение или коэффициент усиления фильтра в дБ. Положительное значение повышает сигнал. Отрицательное значение ослабляет сигнал. Значение по умолчанию: 6.0206 дБ. Это свойство можно настроить.

QualityFactor

Коэффициент качества параметрического EQ-фильтра

Укажите коэффициент качества (коэффициент Q) фильтра. Коэффициент Q определяется как центральная частота, деленная на полосу пропускания. Более высокий коэффициент Q соответствует более узкому пику или падению. Это свойство применимо только в том случае, если Specification имеет значение Quality factor and center frequency. Значение по умолчанию - 5. Это свойство можно настроить.

SampleRate

Частота входных выборок

Укажите частоту дискретизации входного сигнала в виде конечного числового скаляра в Гц. Значение по умолчанию: 44100 Гц.

Методы

getBandwidthПреобразование коэффициента качества или коэффициента полосы пропускания в полосу пропускания в Гц
getCenterFrequencyПреобразование коэффициента центральной частоты в частоту в Гц
getOctaveBandwidthИзмерить пропускную способность фильтра параметрического эквалайзера в октавах
getPeakGainПреобразование пикового или десятичного коэффициента усиления из дБ в абсолютные единицы
getPeakGaindBПеревести пиковый или десятичный коэффициент усиления из абсолютных единиц в дБ
getQualityFactorПреобразование полосы пропускания в коэффициент качества
сбросСброс состояний ParametricEQFilter объект
шагВход фильтра с ParametricEQFilter объект
tfВычислительная передаточная функция
Общие для всех системных объектов
release

Разрешить изменение значения свойства объекта системы

Примеры

свернуть все

Создать ParametricEQFilter объект, где центральная частота и полоса пропускания фильтра эквалайзера равны 5000 Гц и 500 Гц соответственно. Частота дискретизации для фильтра по умолчанию составляет 44 100 Гц.

h = dsp.ParametricEQFilter('CenterFrequency',5000,...
       'Bandwidth',500);

Создайте объекты для оценки и отображения передаточной функции фильтра.

htf = dsp.TransferFunctionEstimator('FrequencyRange','onesided',...
         'SpectralAverages',50);
hplot = dsp.ArrayPlot('PlotType','Line','YLimits',[-15 15],...
       'SampleIncrement',44100/1024);

Генерация случайного сигнала и фильтрация сигнала.

for i=1:1000
   x = randn(1024,1);       % Random signal
   y = h(x);           % Filter signal
   H = htf(x,y);       % Estimate transfer function
   magdB = 20*log10(abs(H));% Convert to dB
   hplot(magdB);       % Display transfer function
    
   if (i==1)                % Pause to display initial transfer function
      pause;  
   end
   if (i==500)              % Tune filter
      h.CenterFrequency = 10000;
      h.Bandwidth = 2000;
      h.PeakGaindB = -10;
   end
 end

Программа отображает начальную оценку передаточной функции.

Для продолжения нажмите любую клавишу.

В i=500, фильтр настроен. Центральная частота, полоса пропускания и пиковое усиление фильтра теперь имеют различные значения. Программа отображает новую функцию переноса.

Алгоритм

Параметрический эквалайзер формируется линейной комбинацией пика и фильтра выемок. См. раздел Алгоритм dsp.NotchPeakFilter для получения подробной информации.

H (z) = Hnotch (z) + GHпик (z)

Вот график двух случаев (увеличение и сокращение) величины в квадрате передаточных функций:

Передаточная функция может быть записана следующим образом:

H (z) = (1 + Gγ1 + γ) 2 (cos, 01 + γ) z 1 + (1 Gγ1 + γ) z 21 2 (cos, 01 + γ) z 1 + (1 γ 1 + γ) z − 2hereγ = tan (Δω2) andGB2 = 1 + G22

G - коэффициент усиления параметрического эквалайзера, GB - коэффициент усиления полосы пропускания, то есть уровень усиления, на котором измеряется коэффициент Δλ полосы пропускания.

dsp.NotchPeakFilter при этом большая часть работы реализуется в развязанном виде, так что центральная частота может быть настроена независимо от полосы пропускания. Следует отметить, что коэффициент Q определяется как центральная частота/полоса пропускания.

Ссылки

[1] Орфанидис, Софокл Дж. Введение в обработку сигналов реки Верхнее седло, Нью-Джерси: Прентис-Холл, 1996

Вопросы совместимости

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

Ошибки, начинающиеся с R2021a

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