matlab可以使用detrend函数去除时间序列x中的均值或线性趋势,这在FFT处理中尤其常用。
格式:
y = detrend(x) % 消除时间序列中的线性趋势项
y = detrend(x,'constant') % 消除时间序列中的均值
y = detrend(x,'linear',bp) % 分段消除时间序列中的线性趋势项,bp为分段点向量
如
sig = [0 1 -2 1 0 1 -2 1 0]; % 无线性趋势的信号
trend = [0 1 2 3 4 3 2 1 0]; % 有两段线性的趋势
x = sig+trend; % 将上面趋势叠加到信号上
y = detrend(x,'linear',5) % 根据指定的分段点去除两段线性趋势