Сначала вы должны прочитать документацию по функции Matlab butter
(которая находится в наборе инструментов обработки сигналов).
Эта функция используется для разработки фильтра Баттерворта.Один из возможных синтаксисов:
[b a]=butter(n,Wn,'ftype');
- b и a - это коэффициенты цифрового фильтра, которые можно использовать с функцией
filter
- n - порядок фильтра, за исключением случая полосового или полосового фильтра, в этом случае порядок равен 2 * n
- Wn - частота среза, если вы хотите создать полосовой или полосовой фильтрэто может быть вектор из 2 элементов.Ожидается, что частота среза будет между 0 и 1, где 1 представляет частоту Найквиста
Теперь, если вы хотите применить это к вашему случаю, вы можете сделать что-то вроде этого:
% Read wav file (store sampling frequency in fs)
[data fs]=wavread('sample.wav');
% Design a 4th order lowpass filter with a cutoff frequency of 5000 Hz
% (notice how the cutoff frequency is scaled by the Nyquist frequency fs/2)
n=4;
Wn=5000*2/fs;
[b a]=butter(n,Wn,'low');
% Apply the filter to the data
datafilt=filter(b,a,data);