You are here : matlabSignal Processingdetrend

detrend() - Signal Processing

detrend removes the mean value or linear trend from a vector or matrix, usually for FFT processing.

y = detrend(x) removes the best straight-line fit from vector x and returns it in y. If x is a matrix, detrend removes the trend from each column.

y = detrend(x,'constant') removes the mean value from vector x or, if x is a matrix, from each column of the matrix.

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.


Syntax

y = detrend(x)
y = detrend(x,'constant')
y = detrend(x,'linear',bp)


Example

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


Output / Return Value

y =

   -0.0000
    1.0000
   -2.0000
    1.0000
    0.0000
    1.0000
   -2.0000
    1.0000
   -0.0000


Limitations


Alternatives / See Also


Reference

http://in.mesersathworks.com/help/matlab/ref/detrend.html