声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

楼主: wangbohust

[随机振动] 由加速度时程到位移时程

[复制链接]
发表于 2006-12-25 10:59 | 显示全部楼层
我做过这种积分,要注意零均值化,否则积分后有趋势项,这种微积分方法很不错的,因为不要初始条件(积分)。
回复 支持 反对
分享到:

使用道具 举报

发表于 2007-2-7 11:27 | 显示全部楼层
我觉得按你的方法,主要看你对低频信号的要求,一般加速度信号的低频成分误差较大,高频信号应没问题,因此所得到的位移信号的低频成分误差较大。一般5Hz以下越低误差越大。
发表于 2007-6-4 10:11 | 显示全部楼层

关于《matlab在振动信号处理中的应用》中由加速度求位移的问题

在频域积分方法中,由加速度信号求位移信号的时候,《matlab在振动信号处理中的应用》书中给出的程序个人觉得好像有一点问题,用该程序求位移信号没有错误(平方将符号错误更正过来了),但是求速度恐怕有点bug,我没有进行结果对比,但从理论上讲,程序中的w=[w1,w2]应改为w=[w1,-w2],这样才能将FFT结果对应到[0~pi,-pi~0]的区间!欢迎大家批评指正,共同商榷!

评分

1

查看全部评分

发表于 2007-6-4 10:18 | 显示全部楼层
另外,需要补充的是,FFT得出的整个信号的平均频谱分布,因此,利用上述基于FFT的频域积分进行加速度时程到位移时程的变换利用了系统为平稳系统的假设,所以应用时一定要注意了!如果信号呈现严重的非平稳特性,是否应该使用时频分布来求积分呢?各位可以考虑一下!
发表于 2007-6-4 23:31 | 显示全部楼层
由加速度时程到位移时程

本人已有编好的考虑地震动空间变异性的地震动加速度时程,但是要将其转为位移时程,这样通用程序使用才方便点,下面是变换思路:

1、对加速度时程进行傅立叶变换,得出其加速度的傅氏谱:

2、对要求的位移时程进行傅立叶变换,得出其位移的傅氏谱;

3、对位移傅氏谱进行二阶微分,得到加速度的傅氏谱值,利用已知的加速度谱和频率分量可以求出位移傅氏谱

:hug: ??:对傅氏谱进行二阶微分是错误的,得不到加速度傅氏谱,因为位移、速度、加速度是时间域的微积分关系,不是频率域的微积分关系;正确的做法应该用纵坐标逐个除以横坐标的平方,如果是功率谱,要除四次方,并且注意角频率和频率的转化,理论来自于A*sin(wt+phi)。:hug:

4、对位移傅氏谱进行逆傅立叶变换求出位移时程。
具体推导方程和程序见附件,希望大家帮我解决一下这个问题,也希望大家讨论讨论该方法的可行性!谢谢!

:hug: 我的经历:如果将加速度积分成位移,至少需要去平均值;并且要求传感器能测量到比最低振动频率更低的振动,最好是漂移小的惯性器件或者零频的加速度传感器;这样还不算可靠,因为往往积分出来的位移低频会占很大成分,高频只有一点点,你到说说从那里开始可信。
无锡702所的李老师几年前给我一份他对此问题的研究报告,其中有一个观点认为慢信号准,快信号不准,我也作过很多试验,我认为用一般的振动加速度传感器信号去积分意义不大,除非你确定没有低频信号。:hug:  
个人意见,请明查。

[ 本帖最后由 马社 于 2007-6-4 23:33 编辑 ]

评分

1

查看全部评分

发表于 2007-6-5 08:59 | 显示全部楼层
本帖最后由 VibInfo 于 2016-5-6 15:02 编辑
原帖由 马社 于 2007-6-4 23:31 发表
具体推导方程和程序见附件

没有附件,马社看到了就给补上吧。谢谢经验分享
发表于 2007-6-5 09:01 | 显示全部楼层
本帖最后由 VibInfo 于 2016-5-6 15:02 编辑
原帖由 马社 于 2007-6-4 23:31 发表
由加速度时程到位移时程

本人已有编好的考虑地震动空间变异性的地震动加速度时程,但是要将其转为位移时程,这样通用程序使用才方便点,下面是变换思路:

1、对加速度时程进行傅立叶变换,得出其加速度的 ...


  你这里说的信号慢变是什么意思?
发表于 2007-6-5 13:10 | 显示全部楼层
无水1324,

按照李老师的报告,慢信号指的是变化缓慢的信号,快信号指的是类似冲击这样的快信号,但是我不认为这是这个问题的症结所在,关键还是看低频数据准不准,实在不行就用导弹上的加速度计,低频好。
发表于 2007-6-5 13:11 | 显示全部楼层
xinyuxf
(管理委员会成员)
你说要我不什么没看懂?
发表于 2007-6-5 13:15 | 显示全部楼层
本帖最后由 VibInfo 于 2016-5-6 15:02 编辑
原帖由 马社 于 2007-6-5 13:11 发表
xinyuxf
(管理委员会成员)
你说要我不什么没看懂?

xinyuxf
说你的附件没有看到,叫你传上来

第一次听说慢信号指的是变化缓慢的信号,快信号指的是类似冲击这样的快信号,多谢!
我也是觉得主要是低频段的影响

[ 本帖最后由 无水1324 于 2007-6-5 13:16 编辑 ]
发表于 2007-6-24 10:42 | 显示全部楼层
我目前也在做加速度信号的频域积分运算
但是积分出来的数据与时域积分得到的数据差别好大呀,
看了好多次不知道那个地方出问题了
大家帮着看看,
谢谢了




clear
%close all
clc
format long

sf=300;%采样频率
%数据
f1=0.6;f2=1;f3=2;f4=3;
t=0:1/sf:(1024*3-1)/sf;
x=sin(f3*t)+sin(f1*t)+sin(f4*t);
%数据
%
%直接积分的关系式
yyy=-cos(f3*t)/f3-cos(f1*t)/f1-cos(f4*t)/f4+1/f3+1/f1+1/f4;
%

t1=1/sf;
%%%%%辛普森(simpson)算法时域积分求速度
yvs(1)=t1*(x(1)+x(2))/2;
n=length(t);
for k=2:n-1
yvs(k)=yvs(k-1)+t1*(x(k-1)+4*x(k)+x(k+1))/6;
end
yvs(n)=yvs(n-1);
%%%%%辛普森(simpson)算法时域积分求速度





%利用王济的程序

%%定义变量
%数据长度
n=length(x);
%时间向量
nfft=2^(nextpow2(n));

%建立时间向量
t=(0:1/sf:(n-1)/sf);
%最小截至频率
fmin=0.3;
fmax=8;
%FFT变换
y1=fft(x,nfft);
%yvp1=fft(ya,nfft);
%计算频率间隔
df=sf/nfft;
%四舍五入计算指定频带对应频率数组的下标
ni=round(fmin/df+1);
na=round(fmax/df+1);
%计算圆频率间隔
dw=2*pi*df;
%建立正的离散圆频率向量
w1=0:dw:2*pi*(0.5*sf-df);
%建立负的离散圆频率向量
w2=2*pi*(0.5*sf-df):-dw:0;
%将正负圆频率向量组合成一个向量
w=i*[w1,-w2];
%w=i*[w1,w2];
%以积分次数为指数,建立圆频率变量向量
it=1;
%w1=w';
%w2=w.^2';
w=w.^it;
b=zeros(1,nfft);
b(2:nfft-1)=y1(2:nfft-1)./w(2:nfft-1);

% if it==2
%     y=-b;
% else
%     myreal=imag(b);
%     myimag=-real(b);
%     y=myreal+i*myimag;
% end

a=zeros(1,nfft);
%
a(ni:na)=b(ni:na);
a(nfft-na+1:nfft-ni+1)=b(nfft-na+1:nfft-ni+1);
y2=ifft(a,nfft);
%y=real(y(1:n));
y3=real(y2(1:n));
figure
plot(t,yyy,'r');
hold on
plot(t,yvs,'b');
hold on
plot(t,y3)
xlabel('时间(s)');
ylabel('速度(m/s)');
legend('时域积分速度时程图','频域积分速度时程图');
title('频域一次积分后的速度时程曲线图形');
% xlabel('时间(s)');
% ylabel('位移(m)');
% %legend('频域积分位移','时域积分位移');
% title('频域两次积分后的位移时程曲线图形')
grid on
发表于 2007-6-24 10:49 | 显示全部楼层
频域积分原理上是
将加速度信号做FFT
然后除以(j×2×pi×k(det(f)))^n圆频率(其中n为积分次数)
然后IFFT
转换到时域
但是我得到的结果与时域积分差别很大
或者说根本不对。
请大家看一看那个地方有问题
发表于 2007-7-4 17:18 | 显示全部楼层
,《matlab在振动信号处理中的应用》 是一本什么书啊?  没有看见过 ,那为大侠有电子档  发给小弟我看看! 本人新手 不懂!还请大家帮忙!!!!向大家学习!     swk_sun@126.com
发表于 2007-7-5 16:31 | 显示全部楼层
没有看到电子版的
matlab在振动信号处理中的应用
全名
作者
王济
胡晓
发表于 2007-9-5 22:59 | 显示全部楼层
本帖最后由 VibInfo 于 2016-5-6 15:02 编辑
原帖由 toes 于 2006-10-14 20:49 发表
无水1324 :
不对啊,粗看了一下你贴的程序,至少这个地方不对:

    % 进行一次积分的相位变换
    real(y)=imag(a);
    imag(y)=-real(a);

这个赋值语句怎么对呢?

我也不理解,麻烦 无水1324 解释一下吧,谢谢了!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-3 23:03 , Processed in 0.226939 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表