对一实测信号的处理,希望大家参与讨论
这段时间做一些谱分析方面的数据处理,主要进行了滤波平滑、去趋势项、FFT、STFT和Hilbert-Huang变换等,希望大家能够不吝赐教,提出宝贵意见,参与讨论,相互学习,以期起到抛砖引玉的作用。结合一桥梁上实测位移信号进行分析,采样频率为5Hz,信号长度600秒,计3000个采样点,其处理过程及各步的结果如下:
1. 滤波平滑。采用Vondrak滤波法处理,削弱噪声的影响。
2.消除信号趋势项。通过二阶多项式最小二乘拟合消除其趋势项,拟合多项式的阶数可以根据数据中的长周期信号情况再取高一些。
3. 对去趋势项后的结果进行FFT计算。FFT结果中,最高谱线对应频率为0.07833Hz,幅值为0.01999;次最高谱线在其左边,频率为0.07667Hz,幅值为0.01346。采用一种代数法进行频谱校正,得校正后频率为0.0777Hz。计算过程为0.07833-0.01346*5/(0.01346+0.01999)/3000=0.0777Hz
4. EMD分解。效果还是不错的,信号两端也没有出现明显的端部效应,第二个IMF以后的幅值太小,可以忽略。
5. 计算边际谱。FFT频谱校正后频率与边际谱频率吻合较好,差值为0.0002Hz,相对误差为(0.0777-0.0775)/0.0775=0.26%。对于该类型信号,若考虑FFT频率校正,那么边际谱和FFT结果均比较理想。
6. 短时傅里叶分析。基本上能够反映信号的频率和能量分布情况,但是能量小的信号效果不理想(0~190s)。
7. Morlet小波谱。由于其计算量太大,这里取150s到354.6s共计1024个采样点计算。从该图可以看出,从150s到190s的频率也显示出来了,相对于STFT来说,它对于弱小能量信号有更强的识别能力,这是由小波本身的特点所决定的,它对微弱信号有较强的探测能力。
8. Hilbert-Huang变换。显然,相对于STFT和小波谱其结果精细得多,而且在能量较小时也表现得相当出色。
----END---- 在“6. 短时傅里叶分析”中,谱图中的幅值是线性值,所以能量小的信号不易看到;如果把幅值用对数表示,则小信号部分也能看到了。
回复 沙发 songzy41 的帖子
有道理!这样低频、长周期信号就反映得更清晰。我把数据发上来,有兴趣的可以算一算,讨论一下。谢谢
数据文件为dispy.mat(其中,yy为横向位移,t为时间向量),在Matlab中load dispy即可。
STFT中如何把颜色深度改成log?
[ 本帖最后由 bcyangbc 于 2009-11-8 20:32 编辑 ] LZ在做 STFT时可能直接用:
tfrstft(yy)
可以设置为:
n2=1:1500;
h=hamming(1023);
=tfrstft(yy,1:N,N,h);
imagesc(tt/fs,f(n2)*fs,10*log10(abs(S(n2,:))));
axis xy; ylim();
这样做出的图幅值是取对数的。 对于实际测量信号的分析,比较边际谱和FFT的频谱,实质意义不大,个人是这样认为的,如果是单频率分量,边际谱和频谱是一致的,但是对于多频率分量,尤其是间歇性事件存在的信号,频谱得不到正确的幅值结果,而边际谱还是可以的,所以,我看过很多文章比较频谱和边际谱,一直存在这样一个疑惑。 可否建议楼主考量是否可给齐相关程序!? 或者直接说明不方便给出!?
否则可能会有一堆非讨论性的邮箱!:loveliness: 抱歉,11月下旬出差了,刚回来!
我会尽快把几个程序整理出来发给大家, 谢谢关注! 我直接处理你的原信号,用的分析方法是WVD和HHT,除了出现在0.077HZ的频率外,WVD和HHT都出现了0.05HZ左右的频率成分,时间点在400附近,不知楼主是否注意到了。另外想请教关于信号中的0.077HZ对应是何物理意义。
[ 本帖最后由 吃书的老虎 于 2010-1-6 18:05 编辑 ] :handshake楼主很厉害,程序如果能共享就好了。
请教楼主一个问题,Matlab里的求瞬时频率的函数instfreq,求出的瞬时频率的幅值是在0-0.5,为什么啊?
[ 本帖最后由 MinnieLMickey 于 2010-1-6 20:45 编辑 ]
回复 12楼 hahaer 的帖子
请问,我们一般遇到的信号不都是多频率分量吗? 边际谱和傅里叶变换的频谱 使用场合到底是什么啊。?回复 19楼 MinnieLMickey 的帖子
你用的是哪个版本的?我怎么找不到这个函数!回复 地板 songzy41 的帖子
你好,直接用您的程序计算,结果跟0.07多的有出入,显示是0.015多呢?[ 本帖最后由 wangzemin 于 2010-1-9 16:11 编辑 ] 0.07833Hz 不知道您用什么传感器测试的数据 这可信吗? 现给出程序,包括所有代码,附数据。
前面给出邮箱的我不再一一发至各位,请自行下载,见谅!
使用方法:
将两个文件(程序文件和数据文件)下载至Matlab搜索路径所包含的目录或当前工作目录下,运行程序文件即可。
运行速度还可以,一般配置的机器10s以内可出所有结果。
>> data_analysis_vib 回复18楼
我计算的结果中没有出现0.05Hz的频率成分,可否把你的结果发上来看一看?
这个数据是某桥梁横向位移,0.077Hz对应主梁一阶侧弯。
回复19楼
瞬时频率在0-0.5Hz是因为没有设置采样频率,或者计算结果是归一化频率,将其乘以采样频率即可。
回复23楼
这个数据是利用大地测量手段(GPS技术)获得的,而不是加速度传感器。
动态GPS测量技术可用于位移测量,非常适用于低频位移信号的获取,通常情况下其频率范围为1-20Hz。目前国际上报道最高可达100Hz,但是相关论文显示数据存储有问题,而且解算结果达不到100Hz。
因我本人并非土木工程专业,对于结构物理现象的解释也不是很清楚,希望大学继续讨论,互相学习。