Измерьте импульсный ответ аудиосистемы

Импульсный ответ (IR) является важным инструментом для охарактеризования или представления системы линейного независимого от времени (LTI). impulseResponseMeasurer позволяет вам измерить и получить импульсный ответ аудиосистем, включая:

  • Аудио оборудование ввода-вывода

  • Комнаты и залы

  • Замкнутые пространства как внутренняя часть автомобиля или студии звукозаписи

В этом примере вы используете impulseResponseMeasurer, чтобы измерить импульсный ответ вашей комнаты. Вы затем используете полученный импульсный ответ с audiopluginexample.FastConvolver, чтобы добавить реверберацию в звуковой сигнал.

Этот пример требует, чтобы ваша машина имела аудио устройство, способное к полнодуплексному режиму и соответствующему драйверу аудио. Чтобы узнать больше как записи приложения и аудиоданные игр, смотрите audioPlayerRecorder.

Описание техник измерений IR

Развернутая техника измерений Синуса использует экспоненциальную выращивающую время развертку частоты в качестве выходного сигнала. Выходной сигнал зарегистрирован, и развертка используется, чтобы восстановить импульсный ответ с развернутого тона синуса. Для получения дополнительной информации см. [1].

Метод Максимальной Последовательности длины (MLS) основан на возбуждении акустического пробела периодическим псевдослучайным сигналом. Импульсный ответ получен круговой взаимной корреляцией между измеренным выводом и тестовым тоном (последовательность MLS). Для получения дополнительной информации см. [2].

В этом примере вы используете технику измерений MLS.

Получите импульсный ответ комнаты

1. Открыть приложение, в командной строке MATLAB®, введите:

impulseResponseMeasurer

2. Используйте настройки по умолчанию приложения и нажмите Capture. Убедитесь, что имя устройства и номер канала совпадают с настройкой вашей системы.

3. Если вы получаете импульсный ответ, нажимаете кнопку Export и выбираете To Workspace.

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

Свертка временного интервала входного кадра с долгим импульсным ответом добавляет задержку, равную продолжительности импульсного ответа. Алгоритм, используемый частотным диапазоном использования плагина audiopluginexample.FastConvolver, разделил свертку, чтобы уменьшать задержку до дважды размера раздела [3]. audiopluginexample.FastConvolver является подходящим, чтобы послать импульсы ответы, полученные с помощью impulseResponseMeasurer.

1. Создать audiopluginexample. Объект FastConvolver, в командной строке MATLAB®, введите:

fastConvolver = audiopluginexample.FastConvolver
fastConvolver = 

  audiopluginexample.FastConvolver with properties:

    ImpulseResponse: [1x227497 double]
      PartitionSize: 1024

2. Установите импульсное свойство ответа на свое полученное импульсное измерение ответа. Можно очистить импульсный ответ для рабочей области, если это сохранено в быстрый конвольвер.

load measuredImpulseResponse
irEstimate = measuredImpulseResponse.ImpulseResponse.Amplitude(:,1);
fastConvolver.ImpulseResponse = irEstimate;

3. Откройте аудио испытательный стенд и задайте ваш быстрый объект конвольвера

audioTestBench(fastConvolver)

4. По умолчанию Audio Test Bench читает из звукового файла и записей к вашему аудио устройству. Нажмите Run, чтобы слушать звуковой файл, к которому применяют операцию свертки с вашим полученным импульсным ответом.

Советы и приемы

Ползунок уровня возбуждения на impulseResponseMeasurer применяет усиление к выходному тестовому тону. Более высокому уровню на выходе обычно рекомендуют максимизировать отношение сигнал-шум (SNR). Однако, если уровень на выходе слишком высок, нежелательное искажение может произойти.

Экспортируйте в фильтр visualizer (fvtool) через кнопку Export, чтобы посмотреть на другие полезные графики как фазовый отклик, групповая задержка, и т.д.

Ссылки

[1] Фарина, Анджело. "Продвижения в импульсных измерениях ответа развертками синуса". Представленный в Обществе звукоинженеров 122-е Соглашение, Вена, Австрия, 2007.

[2] Парень-Bart, Стэн, Жан-Жак Эмбрешц и Доминик Аршамбо. "Сравнение различных импульсных техник измерений ответа". Журнал Общества звукоинженеров. Издание 50, Выпуск 4, стр 249-262.

[3] Armelloni, Энрико, Кристиан Джиоттоли и Анджело Фарина. "Реализация разделенной свертки в реальном времени на Плате DSP". Приложения Обработки сигналов к Аудио и Акустике, 2 003 Семинарам IEEE на., стр 71-74. IEEE, 2003.