Примените фильтр Lowpass к входному сигналу

При принятии частоты дискретизации 20 кГц создайте четвертый порядок Фильтр Баттерворта с частотой на 3 дБ 2,5 кГц. Отфильтруйте коэффициенты для butter должны быть константы для генерации кода.

type ButterFilt

Используйте Фильтр Баттерворта для фильтра lowpass шумная синусоида. Постройте результат.

t = transpose(linspace(0,pi,10000));
x = sin(t) + 0.03*randn(numel(t),1);

Отфильтруйте шумную синусоиду с помощью Фильтра Баттерворта.

fx = ButterFilt(x);
plot(fx)

Запустите codegen команда, чтобы получить исходный код C ButterFilt.c и файл MEX:

codegen ButterFilt -args {zeros(10000,1)} -o ButterFilt_mex -report
Code generation successful: To view the report, open('codegen/mex/ButterFilt/html/report.mldatx').

Исходный код C включает пять числителей и коэффициенты знаменателя четвертого порядка Фильтр Баттерворта как статические константы. Примените фильтр с помощью файла MEX:

output_data = ButterFilt_mex(x);
hold on
plot(output_data)
hold off