wings215 发表于 2007-8-2 20:22

消趋势项

这里有个书上的通用例子
最小二乘去趋势项
fni=input('消除多项式趋势项-输入文件名:','s')
fidin=fopen(fni,'r')
Fs=1024
%实际振动中常采用m=1~3来去趋势项
m=2
fidout=fopen('xqsx2.txt','w')
x=fscanf(fidin,'%f',inf)
status=fclose(fidin)
%取数据长度
n=length(x)
t=(0:1/Fs:(n-1)/Fs)'
%求趋势项多项式待定系数向量
a=polyfit(t,x,m)
y=x-polyval(a,t)
subplot(211)
plot(t,x)
xlabel('t/s')
ylabel('加速度/g')
title('消趋势项前')
grid on
subplot(212)
plot(t,y)
xlabel('t/s')
ylabel('加速度/g')
title('消趋势项后')

wings215 发表于 2007-8-2 20:25

另外,利用小波包多层分解和重构,剩余的信号里通常包含长周期趋势项,因此小波分解对趋势项的抑制也是不错的。这是他人的经验,我没试过,仅供参考!

hahaer 发表于 2007-8-3 21:45

如果信号中混有一个正弦单频信号(把它当作噪声)
你用陷波滤波器就可以把它去掉
这不输入趋势项
趋势项是由于传感器等采集设备随温度等环境变化使得信号有规律或无规律的偏离均值的一个现象
用最小二乘或多项式拟合都可以消除趋势项

无水1324 发表于 2007-8-4 08:52

回复 #17 wings215 的帖子

你有没有具体的计算程序?

a1runner 发表于 2010-12-20 15:01

如果趋势项的波动频率与信号频率偏离比较远,则可以用:
1)直接对数据差分
2)高通滤波
如果数据比较短,则最好用最小二乘法拟合趋势项,然后从原始数据中减去这个趋势项

hitalfa 发表于 2012-6-1 18:54

{:{13}:},新手,还是不太懂

yzsldj 发表于 2014-6-28 14:59

请教一个基础问题:是不是包含有趋势项的序列都属于非平稳序列?

binglanyouyou 发表于 2014-9-13 08:51

怎么确定采集的振动信号中存在趋势项呢
页: 1 [2]
查看完整版本: 针对信号消除趋势项,大家都用哪些办法?