В этом примере показано, как получить конструкции для наиболее распространенных весовых фильтров - A-weighting, C-weighting, C-message, ITU-T 0.41 и ITU-R 468-4 - с использованием weightingFilter Конструктор системных объектов и звуковых весовых фильтров, fdesign.audioweighting, в Toolbox™ аудио.
Во многих применениях, включающих акустические измерения, конечным датчиком является человеческое ухо. По этой причине акустические измерения обычно пытаются описать субъективное восприятие звука этим органом. Контрольно-измерительные приборы созданы для обеспечения линейного отклика, но ухо является нелинейным датчиком. Для учета нелинейности используются специальные фильтры, известные как фильтры взвешивания.
Можно проектировать весовые фильтры A и C, соответствующие стандартам ANSI S1.42 [1] и IEC 61672-1 [2], используя weightingFilter Системный объект. Фильтр A-взвешивания представляет собой полосовой фильтр, предназначенный для имитации воспринимаемой громкости низкоуровневых тонов. Фильтр A-взвешивания постепенно отменяет выделение частот ниже 500 Гц. Фильтр С-взвешивания удаляет звуки вне диапазона звуковых частот от 20 Гц до 20 кГц и имитирует восприятие громкости тональных сигналов высокого уровня. Следующий код проектирует фильтр БИХ для A-взвешивания с частотой дискретизации 48 кГц.
AWeighting = weightingFilter('A-weighting',48000)AWeighting =
weightingFilter with properties:
Method: 'A-weighting'
SampleRate: 48000
А и С-весовые конструкции фильтров основаны на прямой реализации передаточной функции фильтра на основе полюсов и нулей, указанных в стандарте ANSI S1.42.
Стандарт IEC 61672-1 требует, чтобы значения фильтра находились в пределах указанной маски допуска. Стандарт определяет две маски, одна с более строгими значениями допуска, чем другая. Фильтр, соответствующий требованиям к допускам более строгой маски, называется фильтром класса 1. Фильтр, соответствующий спецификациям менее строгой маски, называется фильтром класса 2. Можно просмотреть амплитудную характеристику фильтра вместе с маской, соответствующей спецификациям класса 1 или класса 2, вызвав visualize метод на объекте. Обратите внимание, что выбор значения класса не повлияет на саму конструкцию фильтра, но будет использоваться для визуализации правильной маски допуска на графике визуализации.
visualize(AWeighting,'class 1')
Стандарты взвешивания A- и C определяют значения величины допуска до 20 кГц. В следующем примере мы используем частоту выборки 28 кГц и конструируем фильтр С-взвешиванием. Даже если интервал Найквиста для этой частоты дискретизации ниже максимальной заданной частоты 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')

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

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

В то время как конструкции БИХ дают меньшие порядки фильтров, конструкции КИХ имеют преимущество линейной фазовой характеристики. В конструкциях FIR метод equiripple конструирования обычно дает более низкие порядки фильтров по сравнению с методом частотной выборки, но может иметь некоторые проблемы конвергенции во время конструирования при больших скоростях дискретизации.
Фильтры взвешивания ITU-T 0.41 и C-сообщений являются полосовыми фильтрами, используемыми для измерения звуковых шумов на телефонных схемах. Фильтр ITU-T 0.41 используется для международных телефонных каналов. Фильтр C-сообщений обычно используется для североамериканских телефонных каналов. Частотная характеристика весовых фильтров ITU-T 0.41 и C-сообщений указана в стандарте ITU-T O.41 [4] и техническом справочнике системы Bell 41009 [5] соответственно.
При проектировании весового фильтра ITU-T 0.41 для частоты дискретизации 24 кГц используется следующий код. Можно выбрать выборку частоты FIR или равнозначные аппроксимации. Фильтры спроектированы с минимальным порядком, который соответствует стандартным спецификациям (маске) для текущей частоты дискретизации.
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')

При проектировании фильтра взвешивания сообщения C для частоты дискретизации 51,2 кГц используется следующий код. Вы можете выбрать из выборки частоты FIR или равнодействующей аппроксимации или из точной реализации IIR полюсов и нулей на основе полюсов и нулей, указанных в [6]. Проект IIR можно получить, выбрав метод проектирования 'bell41009'. Аппроксимации фильтра FIR разработаны с минимальным порядком, который соответствует стандартным спецификациям (маске) для текущей частоты дискретизации.
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')

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

Некоторые стандарты звукового взвешивания не задают точные значения полюса/нуля, вместо этого они задают список значений частоты, величин и допусков. Если точные полюса и нули не указаны в стандарте, фильтры проектируются с использованием частотной выборки, эквиппл или аппроксимаций произвольной величины наименьшей P-нормы БИХ на основе вышеупомянутого списка значений частоты, затуханий и допусков. Порядок фильтрации конструкций произвольной величины выбирается как минимальный порядок, для которого результирующий отклик фильтра находится в пределах маски допуска. Проекты задают допуски маски спецификации только в пределах интервала Найквиста. Если Fs/2 меньше наибольшего значения частоты маски, заданного стандартом, алгоритм проектирования будет пытаться соответствовать спецификациям до Fs/2.
В конструкциях FIR метод проектирования equiripple обычно дает более низкие порядки фильтров по сравнению с методом частотной выборки, но может иметь некоторые проблемы сходимости при больших скоростях выборки.
[1] «Расчетная реакция весовых сетей для акустических измерений», Американский национальный стандарт, ANSI S1.42-2001.
[2] «Электроакустичные измерители уровня звука Часть 1: Технические характеристики», МЭК 61672-1, первое издание 2002-05.
[3] «Измерение уровня напряжения звукового шума в звуковом вещании», рекомендация ITU-R BS.468-4 (1970-1974-1978-1982-1986).
[4] «Спецификации измерительного оборудования для измерения аналоговых параметров, псофометр для использования на схемах телефонного типа», Рекомендация ITU-T 0.41.
[5] «Параметры передачи, влияющие на методы передачи и измерения данных голосовой полосы», Bell System Technical Reference, PUB 41009, 1972.
[6] «Стандартные требования к оборудованию IEEE ® и методы измерения параметров аналоговой передачи для телекоммуникаций», IEEE Std 743-1995 Том, выпуск, 25, сентябрь 1996.