123456789101112131415161718192021222324252627282930313233 |
- function data=locsmooth(data,Fs,Tw,Ts)
- % Running line fit (using local linear regression) - 1d only, continuous
- % processes
- % Usage: data=locsmooth(data,Fs,Tw,Ts)
- % Inputs:
- % Note that units of Fs, movinwin have to be consistent.
- % data (single vector)
- % Fs (sampling frequency) - optional. Default 1
- % Tw (length of moving window) - optional. Default. full length of data (global detrend)
- % Ts (step size) - optional. Default Tw/2.
- %
- % Output:
- % data (locally smoothed data).
- data=change_row_to_column(data);
- N=size(data,1);
- if nargin < 2; Fs=1; end;
- if nargin < 3; Tw=N/Fs; end;
- if nargin < 4; Ts=Tw/2; end;
- n=round(Fs*Tw);
- dn=round(Fs*Ts);
- if ~isreal(data)
- yr=real(data);
- yi=imag(data);
- tmp=runline(yr,n,dn);
- yr=tmp';
- tmp=runline(yi,n,dn);
- yi=tmp';
- data=yr+i*yi;
- else
- tmp=runline(data,n,dn);
- data=tmp';
- end
|