Фильтры взвешивания аудио

Этот пример показывает, как получить проекты для наиболее распространенных весовых фильтров - A-взвешивания, C-взвешивания, C-сообщения, ITU-T 0.41 и ITU-R 468-4 - с использованием weightingFilter Системный объект и проектировщик весовых фильтров, fdesign.audioweighting, в Audio Toolbox™.

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

Взвешивание A и C (ANSI ® S1.42 стандарт

)

Вы можете проектировать весовые фильтры A и C, которые соответствуют стандартам ANSI S1.42 [1] и IEC 61672-1 [2] с помощью weightingFilter Системный объект. А-взвешивающий фильтр является полосно-пропускающим фильтром, предназначенным для моделирования воспринимаемой громкости низкоуровневых тонов. Фильтр для взвешивания А постепенно снимает акцент на частотах ниже 500 Гц. Фильтр С-взвешиванием удаляет звуки вне аудио области значений от 20 Гц до 20 кГц и имитирует громкость восприятия высокоуровневых тонов. Следующий код проектирует БИХ для А-взвешивания со частотой дискретизации 48 кГц.

AWeighting = weightingFilter('A-weighting',48000)
AWeighting = 
  weightingFilter with properties:

        Method: 'A-weighting'
    SampleRate: 48000

Создания фильтра A и C основаны на прямой реализации передаточной функции фильтра, основанной на полюсах и нулях, заданных в стандарте ANSI S1.42.

Стандарт МЭК 61672-1 требует, чтобы величины фильтра попадали в заданную маску допуска. Стандарт задает две маски, одна с более строгими значениями допуска, чем другая. Фильтр, который соответствует спецификациям допуска более строгой маски, упоминается как фильтр класса 1. Фильтр, который соответствует спецификациям менее строгой маски, упоминается как фильтр класса 2. Можно просмотреть величину ответ фильтра вместе с маской, соответствующей спецификациям класса 1 или класса 2, вызвав visualize метод для объекта. Обратите внимание, что выбор значения класса не повлияет на само создание фильтра, но будет использоваться, чтобы отобразить правильную маску допуска на графике визуализации.

visualize(AWeighting,'class 1')

Стандарты взвешивания A- и C определяют значения величины допуска до 20 кГц. В следующем примере мы используем частоту дискретизации 28 кГц и проектируем фильтр С-взвешиванием. Несмотря на то, что интервал Nyquist для этой частоты дискретизации ниже максимальной заданной частоты 20 кГц, конструкция все еще соответствует допускам класса 2, как показано зеленой маской вокруг величины графика отклика. Проект, однако, не соответствует допускам класса 1 из-за небольшого значения скорости дискретизации, и вы увидите, как маска вокруг графика отклика величины становится красной.

CWeighting = weightingFilter('C-weighting',28000)
CWeighting = 
  weightingFilter with properties:

        Method: 'C-weighting'
    SampleRate: 28000

visualize(CWeighting,'class 2')
visualize(CWeighting,'class 1')

Утяжеляющий фильтр 468-4 ITU-R

Рекомендация ITU-R 468-4 [3] была разработана для лучшего отражения субъективной громкости всех типов шума в отличие от тонов. Взвешивание ITU-R 468-4 было спроектировано, чтобы максимизировать свою реакцию на типы импульсного шума, часто связанного с аудио кабелей, когда они проходят через средства телефонной коммутации. Взвешивание ITU-R 468-4 хорошо коррелирует с шумовым восприятием, поскольку исследования восприятия показали, что частоты между 1 кГц и 9 кГц являются более «раздражающими», чем указано А-взвешиванием.

Вы проектируете фильтр взвешивания на основе стандарта ITU-R 468-4 используя fdesign.audioweighting объект спецификации. Можно выбрать между частотной дискретизацией или эквивалентными аппроксимациями для проекта КИХ-фильтра или использовать аппроксимацию наименьшей P-нормы для БИХ-фильтра. Во всех случаях фильтры разработаны с минимальным порядком, который соответствует стандартным спецификациям (маска) для частоты дискретизации под рукой.

ITUR4684Designer = fdesign.audioweighting('WT','ITUR4684',80e3)
ITUR4684Designer = 
  audioweighting with properties:

               Response: 'Audio Weighting'
          Specification: 'WT'
            Description: {'Weighting type'}
    NormalizedFrequency: 0
                     Fs: 80000
          WeightingType: 'ITUR4684'

ITUR4684FIR = design(ITUR4684Designer,'allfir','SystemObject',true);
visualizer = fvtool(ITUR4684FIR{1});
addfilter(visualizer,ITUR4684FIR{2});
legend(visualizer,'ITU-R 468-4 FIR equiripple approximation', ...
    'ITU-R 468-4 FIR frequency sampling approximation')

Figure Filter Visualization Tool - Magnitude Response (dB) contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) contains 4 objects of type line. These objects represent ITU-R 468-4 FIR equiripple approximation, ITU-R 468-4 FIR frequency sampling approximation.

ITUR4684IIR = design(ITUR4684Designer,'iirlpnorm','SystemObject',true);
setfilter(visualizer,ITUR4684IIR);
legend(visualizer,'ITU-R 468-4 IIR least P-norm approximation')

Figure Filter Visualization Tool - Magnitude Response (dB) contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) contains 3 objects of type line. This object represents ITU-R 468-4 IIR least P-norm approximation.

В то время как проекты БИХ дают меньшие порядки фильтра, проекты конечные импульсные характеристики имеют преимущество линейного фазового отклика. В проектах конечных импульсных характеристиках метод разработки равновесия обычно приводит к более низким порядкам фильтра по сравнению со способом частотной выборки, но может иметь некоторые проблемы сходимости во время проектирования при больших скоростях дискретизации.

Фильтры взвешивания ITU-T 0.41 и C-сообщений

Весовые фильтры ITU-T 0,41 и C-сообщений являются полосно-пропускающими фильтрами, используемыми для измерения звукового шума на телефонных схемах. Фильтр ITU-T 0.41 используется для международных телефонных каналов. Фильтр C-сообщений обычно используется для телефонных каналов Северной Америки. Частотная характеристика весовых фильтров ITU-T 0.41 и C-сообщений задана в стандартах ITU-T O.41 [4] и Bell System Technical Reference 41009 [5], соответственно.

Вы проектируете весовой фильтр ITU-T 0.41 для частоты дискретизации 24 кГц с помощью следующего кода. Можно выбрать из конечной импульсной характеристики частотной дискретизации или эквивалентных приближений. Фильтры разработаны с минимальным порядком, который соответствует стандартным спецификациям (маска) для частоты дискретизации.

ITUTDesigner = fdesign.audioweighting('WT','ITUT041',24e3);
ITUT = design(ITUTDesigner,'allfir','SystemObject',true);
setfilter(visualizer,ITUT{1});
addfilter(visualizer,ITUT{2});
legend(visualizer,'ITU-T 0.41 FIR equiripple approximation', ...
    'ITU-T 0.41 FIR frequency sampling approximation')

Figure Filter Visualization Tool - Magnitude Response (dB) contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) contains 4 objects of type line. These objects represent ITU-T 0.41 FIR equiripple approximation, ITU-T 0.41 FIR frequency sampling approximation.

Вы проектируете фильтр взвешивания C-сообщений для частоты дискретизации 51,2 кГц с помощью следующего кода. Вы можете выбрать из конечной импульсной характеристики частотной выборки или эквивалентных приближений или из точной реализации БИХ полюсов и нулей на основе полюсов и нулей, заданных в [6]. Вы получаете проект БИХ, выбирая метод проекта 'bell41009'. Приближения конечной импульсной характеристики спроектированы с минимальным порядком, который соответствует стандартным спецификациям (маска) для частоты дискретизации под рукой.

CMessageDesigner = fdesign.audioweighting('WT','Cmessage',51.2e3);
CMessageFIR = design(CMessageDesigner,'allfir','SystemObject',true);
setfilter(visualizer,CMessageFIR{1});
addfilter(visualizer,CMessageFIR{2});
legend(visualizer,'C-message FIR equiripple approximation', ...
    'C-message FIR frequency sampling approximation')

Figure Filter Visualization Tool - Magnitude Response (dB) contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) contains 4 objects of type line. These objects represent C-message FIR equiripple approximation, C-message FIR frequency sampling approximation.

CMessageIIR = design(CMessageDesigner,'bell41009','SystemObject',true);
setfilter(visualizer,CMessageIIR);
legend(visualizer,'C-message weighting (IIR)')

Figure Filter Visualization Tool - Magnitude Response (dB) contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) contains 3 objects of type line. This object represents C-message weighting (IIR).

Заключения

Некоторые стандарты взвешивания звука не определяют точные значения полюса/нуля, вместо этого они определяют список значений частот, величин и допусков. Если точные полюсы и нули не заданы в стандарте, фильтры проектируются с использованием частотной выборки, равновесия или произвольных величин наименьшей P-нормы БИХ приближений основанных на вышеупомянутом списке значений частот, ослаблений и допусков. Порядок фильтра проектов произвольной величины выбирается как минимальный порядок, для которого результирующая реакция фильтра находится в пределах маски допуска. Проекты нацелены на допуски маски спецификации только в интервале Nyquist. Если Fs/2 меньше, чем самое большое значение частоты маски, заданное стандартом, алгоритм проекта постарается удовлетворить спецификациям до Fs/2.

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

Ссылки

[1] 'Проект ответа весовых сетей для акустических измерений', Американский национальный стандарт, ANSI S1.42-2001.

[2] 'Electroacoustics Sound Level Meters Part 1: Спецификации, IEC 61672-1, First Edition 2002-05.

[3] 'Measurement of Audio-Frequency Noise Voltage Level in Sound Broadcasting', Рекомендация ITU-R BS.468-4 (1970-1974-1978-1982-1986).

[4] 'Спецификации на измерительное оборудование для измерения аналоговых параметров, псофометр для использования на телефонных схемах', Рекомендация ITU-T 0.41.

[5] 'Transmission Parameters Weeking Voiceband Data-Measurement Technologies', Bell System Technical Reference, PUB 41009, 1972.

[6] «Требования к стандартному оборудованию IEEE ® и методы измерения параметров аналоговой передачи для телекоммуникаций», IEEE Std 743-1995 Volume, Issue, 25, September 1996.

Для просмотра документации необходимо авторизоваться на сайте