Этот пример показывает, как использовать алгоритм наименьшего среднего квадрата (LMS), чтобы вычесть шум из входного сигнала. Адаптивный фильтр LMS использует опорный сигнал на Input
порт и требуемый сигнал на Desired
порт, чтобы автоматически соответствовать фильтру. Когда он сходится к правильной модели фильтра, отфильтрованный шум вычитается, и сигнал ошибки должен содержать только исходный сигнал.
В модели сигнал, выводимый в верхнем порту подсистемы Acoustic Environment, является белым шумом. Выходной сигнал нижнего порта состоит из цветного шума и сигнала из файла. Эта модель примера использует адаптивный фильтр, чтобы удалить шум из сигнала, выводимого в нижнем порту. Когда вы запускаете симуляцию, вы слышите и шум, и человека, играющего на барабанах. Со временем адаптивный фильтр в модели отфильтровывает шум, чтобы вы слышали только барабаны.
Полноплатформенная версия модели с плавающей точкой показана ниже.
Запустив эту модель, мы можем прослушать аудиосигнал в режиме реального времени (во время выполнения симуляции). Время остановки устанавливается на бесконечность. Это позволяет нам взаимодействовать с моделью во время ее работы. Например, мы можем изменить фильтр или чередоваться с медленной адаптации к быстрой адаптации (и наоборот), и получить представление о поведении обработки аудио в реальном времени в этих условиях.
Заметьте цвета блоков в модели. Это выборочные временные цвета, которые указывают, насколько быстро выполняется блок. Здесь самый быстрый дискретный шаг расчета (например, фрагмент обработки аудиосигнала 8 кГц) является красным, и второй самый быстрый дискретный шаг расчета является зеленым. Вы можете увидеть, что цвет изменяется с красного на зеленый после понижающей выборки на 32 (в блоке Downsample перед блоком Waterfall Scope). Более подробную информацию об отображении временных цветов расчета можно найти в документации Simulink ®.
В окне Waterfall отображается поведение коэффициентов фильтра адаптивного фильтра. Он отображает несколько векторов данных за один раз. Эти векторы представляют значения коэффициентов фильтра нормализованного адаптивного фильтра LMS и являются входными данными в последовательных шагах расчета. Данные отображаются в трехмерной оси в окне Waterfall. По умолчанию ось X представляет амплитуду, ось Y представляет выборки, а ось Z представляет время. В окне Waterfall есть кнопки на панели инструментов, которые позволяют масштабировать отображаемые данные, приостанавливать сбор данных, замораживать отображение возможностей, сохранять положение возможностей и экспортировать данные в рабочую область.
Подробные сведения о Подсистеме Акустического Окружения можно увидеть, дважды нажатие по этому блоку. Гауссов шум используется, чтобы создать сигнал, отправленный на внешний выходной порт Mic. Если вход в порт Filter изменяется от 0 до 1, блок Цифровой фильтр переходит от lowpass к полосно-пропускающему фильтру. Отфильтрованный шум, выводимый из блока Цифровой фильтр, добавляется к сигналу, поступающему из WAV-файла, чтобы получить сигнал, отправленный на выходной порт Mic пилота.
Haykin, S., Adaptive Filter Theory, 3rd Ed., Prentice Hall, 1996.
Версия с плавающей точкой: dspanc
Версия с фиксированной точкой: dspanc_fixpt