Эффект очистки фильтра в MATLAB - PullRequest
0 голосов
/ 08 октября 2018

Я знаю, как создать и применить фильтр нижних частот с заданной частотой среза для аудиовхода, используя функции butter и filter .Теперь я хочу увеличить частоту среза со временем, чтобы создать хорошо известный «эффект развертки фильтра».Мой наивный подход состоял бы в том, чтобы зациклить аудио вектор и применить фильтр для каждого семпла (или группы семплов), но это кажется очень неэффективным.Каково «правильное» выполнение этого в MATLAB?

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

1 Ответ

0 голосов
/ 13 ноября 2018

Если у вас есть набор инструментов DSP, посмотрите на dsp.IIRFilter, так как он был разработан для фильтрации в реальном времени.

Вы можете создать этот объект:

iir = dsp.IIRFilter;

Назначитькоэффициенты фильтра:

iir.Numerator = B;
iir.Denominator = A;

Фильтр кадра (например, стереозвук):

iir(randn(1024,2));

Промыть и повторить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...