Психоакустическое басовое улучшение для ограниченных полосой сигналов

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

Введение

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

Пример основан на алгоритме в [1]. Нелинейное устройство переключает низкочастотную область значений сигнала к высокочастотной области значений посредством генерации гармоник. Подача исходного сигнала сохраняется из-за "виртуальной подачи" психоакустическое явление.

Алгоритм реализован с помощью аудио сменного объекта.

Алгоритм

Фигура ниже иллюстрирует алгоритм, используемый в [1].

1. Входной сигнал стерео разделен в lowpass и highpass компоненты с помощью перекрестного фильтра. Частота среза фильтра равна частоте среза докладчика (набор к 60 Гц в этом примере).

2. highpass компонент, разделен в левые и правые каналы: и, соответственно.

3. Компонент lowpass, преобразован в моно, путем добавления левых и правых каналов поэлементно.

4. передается через полный интегратор волны. Полный интегратор волны переключает к более высоким гармоникам.

  • входной сигнал,

  • выходной сигнал

  • индекс времени

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

6., полоса пропускания отфильтрованный сигнал, проходит через настраиваемое усиление.

7. добавляется налево и право highpass каналы.

8. Левые и правые каналы конкатенированы в одну матрицу и выведены.

Несмотря на то, что получившийся выходной сигнал стерео не содержит низкочастотные элементы, басовая подача входа сохраняется благодаря сгенерированным гармоникам.

Басовый плагин Аудио Усилителя

audiopluginexample. BassEnhancer является аудио объектом плагина, который реализует психоакустический басовый алгоритм улучшения. Сменные параметры являются верхней частотой среза полосового фильтра и усилением, примененным при выходе полосового фильтра (G в схеме выше). Можно включить объект в симуляцию MATLAB или использовать его, чтобы сгенерировать аудио плагин с помощью generateAudioPlugin.

Можно открыть испытательный стенд для audiopluginexample.BassEnhancer использование audioTestBench. Испытательный стенд обеспечивает графический интерфейс пользователя, чтобы помочь вам протестировать свой аудио плагин в MATLAB. Можно настроить сменные параметры, когда испытательный стенд выполняется. Можно также открыть осциллограф времени и спектр анализатор, чтобы просмотреть и сравнить сигналы ввода и вывода во временном и частотном диапазоне, соответственно.

bassEnhancer = audiopluginexample.BassEnhancer;
audioTestBench(bassEnhancer)

Можно также использовать audiopluginexample.BassEnhancer в MATLAB так же, как вы использовали бы любой другой объект MATLAB. Можно использовать configureMIDI позволять настроить объект с помощью MIDI-устройства. Это особенно полезно, если объект является частью потоковой передачи симуляция MATLAB, где командное окно не свободно.

HelperBassEnhancerSim простая функция, которая может использоваться, чтобы выполнить басовое улучшение как часть большей симуляции MATLAB. Функция инстанцирует audiopluginexample.BassEnhancer плагин и использование setSampleRate метод, чтобы установить его уровень выборки на Фс входного параметра. Параметры плагина настраиваются путем устанавливания их значений к входным параметрам Фкутофф и G, соответственно. Обратите внимание на то, что также возможно сгенерировать файл MEX от этой функции с помощью codegen команда. Производительность улучшается в этом режиме, не ставя под угрозу способность к настройкам параметров.

Ссылки

[1] 'Улучшая воспринятый бас и реконструкцию высоких частот для полосы ограниченные сигналы', Aarts, Р.М.; Ларсен, E; Schobben, D; MPCA - ноябрь 2002.