Remove linear trends
y = detrend(x)
y = detrend(x,'constant')
y = detrend(x,'linear',bp)
detrend removes the mean value or linear trend from a vector or matrix, usually for FFT processing.
y = detrend(x,'linear',bp) removes a continuous, piecewise linear trend from vector x or, if x is a matrix, from each column of the matrix. Vector bp contains the indices of the breakpoints between adjacent linear segments. The breakpoint between two segments is defined as the data point that the two segments share.
detrend(x,'linear'), with no breakpoint vector specified, is the same as detrend(x).
sig = [0 1 -2 1 0 1 -2 1 0]; % signal with no linear trend trend = [0 1 2 3 4 3 2 1 0]; % two-segment linear trend x = sig+trend; % signal with added trend y = detrend(x,'linear',5) % breakpoint at 5th element y = -0.0000 1.0000 -2.0000 1.0000 0.0000 1.0000 -2.0000 1.0000 -0.0000
Note that the breakpoint is specified to be the fifth element, which is the data point shared by the two segments.