Удаление интерферирующего тонального сигнала из аудиопотока

Этот пример показывает, как удалить тональный сигнал помехи 250 Гц из передачи потокового аудио с помощью узкополосного фильтра.

Введение

Узкополосный фильтр используется, чтобы исключить определенную частоту из заданного сигнала. В наиболее распространенном виде параметрами создания фильтра для узкополосных фильтров являются центральная частота для узкополосной области и ширина полосы 3 дБ. Центральная частота является точкой частоты, в которой фильтр имеет коэффициент усиления в нуле. Ширина полосы 3 дБ измеряет ширину частоты узкополосного фильтра, вычисленную в точке ослабления полустепени или 3 дБ.

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

Пример архитектуры

The audioToneRemovalExampleApp команда открывает пользовательский интерфейс, предназначенный для взаимодействия с симуляцией. Он также открывает спектральный анализатор для просмотра спектра аудио с фильтрацией и без нее и величины реакции узкополосного фильтра.

audioToneRemovalExampleApp

Узкополосный фильтр реализован с помощью dsp.NotchPeakFilter. Фильтр имеет два режима спецификации: 'Расчётные параметры' и 'Coefficients'. Режим 'расчётные параметры' позволяет вам задавать центральную частоту и полосу пропускания в Гц. Это единственный режим, используемый в этом примере. Режим 'Coefficients' позволяет вам задавать умножители или коэффициенты в фильтре непосредственно. В последнем режиме каждый коэффициент влияет только на одну характеристику фильтра (либо на центральную частоту, либо на полосу пропускания 3 дБ). Другими словами, эффект настройки коэффициентов полностью развязан.

Использование сгенерированного файла MEX

Используя MATLAB Coder, можно сгенерировать файл MEX для основного алгоритма обработки путем выполнения HelperAudioToneRemovalCodeGeneration команда. Можно использовать сгенерированный файл MEX путем выполнения audioToneRemovalExampleApp(true) команда.