1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/EthanLifeGreat-Mono_AEC

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 08.06.2025 09:10 a291da6

Mono_AEC

Описание

Пример кода для одночастотного аудио-уменьшения эха (AEC).

Используя адаптивный фильтр, находим подходящий фильтр w, основываясь на двух входных сигналах (сигнале-образце x и сигнале-ожидания d), чтобы минимизировать d - x * w.

Таким образом, d = x * w0 + r, где r — это гауссовский белый шум, а " * " обозначает операцию свертки.

Код функции AEC был адаптирован из книги Behrouz Farhang-Boroujeny "Adaptive Filters: Theory and Applications". Русский перевод доступен в издании Механико-математического института: "Принципы адаптивных фильтров и их MATLAB-симуляция".

Архитектура программного обеспечения

AECtest.m — основной демонстрационный файл, вызывающий 5 функций AEC:

  1. VSNLMS: переменная шага нормализованного минимального среднеквадратичного алгоритма
  2. VSNLMSNt: переменная шага нормализованного минимального среднеквадратичного алгоритма Ньютона
  3. VSAPLMS: переменная шага алгоритма проекции на пространство аффинных функций
  4. VSNPFBLMS: переменная шага нормализованного частотного или быстрого блочного минимального среднеквадратичного алгоритма
  5. SbLMS: поддиапазонный минимальный среднеквадратичный алгоритм

Кроме того, PFBfilter и SbFilter используются для фильтрации сигнала-образца x с использованием обученных параметров для приближения сигнала-ожидания d (из-за того, что эти два алгоритма не дают линейные фильтры свертки, их нельзя просто использовать функцию filter для фильтрации).#### Инструкции по установке

  1. Клонируйте все содержимое в путь выполнения MATLAB
  2. Запустите AECtest.m

Инструкции по использованию

  1. Запустите AECtest.m и просмотрите результаты
  2. Измените параметры алгоритма и просмотрите результаты
  3. Измените входные аудио-сигналы или параметры эха и просмотрите результаты

Дополнительные пояснения

Поскольку цели обучения первых трёх алгоритмов (NLMS, NLMS-Newton, APLMS) являются линейными фильтрами свёртки эха, эти три алгоритма могут восстановить исходный сигнал $\hat{x}$ (xhat) на основе сигнала-ожидания и обученного фильтра w. В то время как другие алгоритмы могут только вычислять вперёд (из x в $\hat{y}$ (yhat)), они не могут обратно проверить результат.

При использовании первых трёх алгоритмов можно попробовать воспроизвести исходный сигнал x, сигнал с эхом и шумом d, восстановленный исходный сигнал xhat, аппроксимированный сигнал с эхом yhat и сигнал после уменьшения эха e.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/EthanLifeGreat-Mono_AEC.git
git@api.gitlife.ru:oschina-mirror/EthanLifeGreat-Mono_AEC.git
oschina-mirror
EthanLifeGreat-Mono_AEC
EthanLifeGreat-Mono_AEC
master