0001 function y = vb_online_highpass_cut2(x,Fs,Fcut)
0002
0003
0004
0005
0006
0007
0008 [Nch,T] = size(x);
0009
0010
0011 [a, z] = vb_lowpass_init(Fs,Fcut,Nch);
0012
0013
0014 T0 = Fs/Fcut;
0015 for t=1:T0
0016 z = vb_online_lowpass(a,x(:, t),z);
0017 end
0018
0019 y = zeros(Nch,T);
0020
0021
0022 for t=1:T
0023 [y(:,t), z] = vb_online_highpass(a, x(:, t), z);
0024 end
0025
0026 z0 = z;
0027 yz = zeros(Nch,T0);
0028
0029
0030 for t=1:T0
0031 [yz(:,t), z] = vb_online_highpass(a, z0, z);
0032 end
0033
0034 for t=T0:-1:1
0035 [yt, z] = vb_online_highpass(a, yz(:,t), z);
0036 end
0037
0038 xy = y;
0039
0040 for t=T:-1:1
0041 [y(:,t), z] = vb_online_highpass(a, xy(:, t), z);
0042 end
0043