Как применить фильтр Баттерворта на заданный сигнал?

Есть заданный сигнал, в котором требуется убрать помехи приблизительно на 46 и на 600 отсчете. Я очень слаб в этой теме, но хотел бы понять и разобраться, каким вообще образом это можно сделать. Я не уверен, или здесь подойдет этот фильтр, так как был небольшой совет по применению функции yulewalk в scilab. Допустим я проинициализировал фильтр Баттерворта низких частот 8 порядка, и вопрос - как применить этот фильтр на заданный сигнал? Также хотел бы узнать - какой фильтр лучше всего подойдет, чтобы убрать помеху на 600 отсчете.

Вот заданный сигнал:

Вот пример моей реализации:

fw = 600;
fd = 10*fw; 
fd2=fd/2
T=1/fd;
T2=T/2;
T2T=2/T;
wac=2*%pi*fw;
wcc=T2T*atan(wac*T2);
fcc=wcc/2/%pi;
www = 48/fd;
frq=1:10000;
ft=frq*T;
zz_t=iir(8,'lp','butt',[www www],[0 0.5]);
sz_t=syslin('d',zz_t);
Hz_t=freq(sz_t.num, sz_t.den, exp(%i*2*%pi*ft));
ampz_t=abs(Hz_t);
phiz_t=atan(imag(Hz_t),real(Hz_t));
//----------------------------------------

y=fft(s_in);
amp=abs(y);
scf(6)
plot(f(5:n2), amp(5:n2)) // это вывод самого сигнала
//на который требуется применить фильтр Баттерворта (либо функцию yulewalk)
xgrid()

Ответы (0 шт):