dsp.ParametricEQFilter

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

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

Описание

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

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

  1. Определите и настройте фильтр эквалайзера. См. «Конструкция».

  2. Функции step для фильтрации каждого канала в соответствии со свойствами dsp.ParametricEQFilter. Поведение step характерен для каждого объекта в тулбоксе.

Примечание

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

Конструкция

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

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

H = dsp.ParametricEQFilter('Specification', 'Coefficients') задает значения усиления для полосы пропускания и центральной частоты. Это удаляет вычисления тригонометрии, связанные с настройкой свойств. The CenterFrequencyCoefficient должен быть скаляром между -1 и 1, с -1, соответствующим 0 Гц, и 1, соответствующим частоте Найквиста. The 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, фильтр настроен. Центральная частота, полоса пропускания и пиковое усиление фильтра теперь имеют другие значения. Программа отображает новую передаточную функцию.

Алгоритм

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

H(z)=Hnotch(z)+GHpeak(z)

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

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

H(z)=(1+Gγ1+γ)2(cosω01+γ)z1+(1Gγ1+γ)z212(cosω01+γ)z1+(1γ1+γ)z2whereγ=tan(Δω2)andGB2=1+G22

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

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

Ссылки

[1] Orfanidis, Sophocles J. Введение в обработку сигналов Upper Saddle River, NJ: Prentice Hall, 1996

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

расширить все

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

Введенный в R2014a