Global Index (all files) (short | long) | Local Index (files in subdir) (short | long)
dout = filter_nr(vect, data);
dout = filter_nr(weights, data); Non-recursive filtering using centered weights Inputs: weights are the non-recursive weights (e.g., [1 2 1]/4) data will be smoothed in the column dimension Outputs: dout is the filtered output data. If the length of weights is odd, then there will be no phase shift. But, the first (length(weights)-1)/2 points are affected by the endpoints.
function dout = filter_nr(vect, data); if ndims(data) > 2; reshape_data = 1; sz_dat = size(data); data = reshape(data, sz_dat(1), prod(sz_dat(2:end))); else reshape_data = 0; end lvect = length(vect); if ~mod(lvect,2); error('This will introduce a phase shift. Please use odd number of weights'); end vect = vect/sum(vect); [ntim, nx] = size(data); kp = ((length(vect)-1)/2)+[1:ntim]; dout = repmat(NaN, [ntim nx]); for i = 1:nx; tem = conv(vect, data(:,i)); dout(:,i) = tem(kp); end if reshape_data; dout = reshape(dout, sz_dat); end