回复 #31 VibrationMaster 的帖子
我也看到了,还没想出来为什么。加速度信号是在5000点那个地方,至于小波分解后不在5那里,可能是小波分析的问题了。不过在我们的讨论下,似乎离楼主的目标又近了一点。个人认为楼主程序的问题主要是出在刚度K和阻尼C的数量大小上,我是因为发现他原来的K即使减小到0.05%,输出也没什么变化,这就说明K值在输出中所取的作用太小,必须加大取值。K如果太小,楼主的那个框架就成柔性的了。
[ 本帖最后由 zhlong 于 2007-7-8 19:51 编辑 ]
回复 #32 zhlong 的帖子
不太可能是小波的问题。因为小波是时限(否则怎么反映时间的局部化特性)。K值自己的大小影响也不会太大,5%的改变只会影响2.5的固有频率变化.你试一下特别小的阻尼情形,但是初条件特别大,看看会有什么感觉. 楼主的问题其实就是单自由度系统在简谐激励下的响应求解问题,可以利用解析解验证一下数值结果。十分感谢二位的大力协助!!!
我现在的程序运行的和你的结果运行的不一样,我的根本看不到你所体现出来的损伤指示信号,所以我想看看你的所有的m文件和执行文件,无论你用的我的也好,还是怎么样,我想对照一下,我的图形无法看到这样的损伤,我不知道是怎么回事,如果程序一样的话,我修改了你的数量级,但结果还是不一样,再就是我的f是20*sin(25*+30)不是100*t,所以我想看看这到底是怎么回事,请您贴出你的所有的程序编码,十分感谢,如果您不相信,我想让你运行一下我的程序,我的结果还是发不上来,不知道怎么回事,您能直接告诉我吗,到底怎么弄才能把自己的结果像您那样贴出来,红色是我和您不一样的地方,这次务必,请您把您的程序都贴出来让我比较一下:function xdot=danziyoudukuangjia1(t,x)
F=20*sin(25*t+30);
M=31.2;
zeta=0.01;
if(t<5)
K=67.51*10^5;
else
K=67.51*10^5*0.95;
end
%K=67.51;
% C=2*zeta*sqrt(K*M);
C=1.4*10^3;
xdot=;
%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%
clc;clear all;
close all;
t0=0;
te=10;
dt=0.005;%采样间隔
t=t0:dt:te;
x0=';
=ode45('danziyoudukuangjia1',t,x0);
d=x(:,1);
v=x(:,2);
s1=(diff(v(1:end-1))+diff(v(2:end)))/2;%中心差分法
s1=; %少的两个点用前向和后向差分法补齐
s1=s1/dt; %近似为导数
%T=12001;
%
%x2=zeros(1,T);
%x2(6001)=1;
s=s1+0.01*randn(size(s1));%+x2;
%subplot(311);plot(t,s);
%AXIS();%单层框架加速度信号输出
%下面进行离散的单尺度小波变换并生成,各尺度上的信号
=wavedec(s,5,'bior6.8');%对第一信号进行3尺度一维离散小波分解,采用墨西哥小帽函数
%提取结构的低频和高频信号
ca3=appcoef(c,l,'bior6.8',5);%提取第三尺度系数的低频
=detcoef(c,l,);%提取第一、二、三尺度系数的高频
%重构信号的低频和高频部分
a3=wrcoef('a',c,l,'bior6.8',3);
d1=wrcoef('d',c,l,'bior6.8',1);
d2=wrcoef('d',c,l,'bior6.8',2);
d3=wrcoef('d',c,l,'bior6.8',3);
d4=wrcoef('d',c,l,'bior6.8',4);
d5=wrcoef('d',c,l,'bior6.8',5);
%显示多尺度一维信号的分解结果
subplot(611);plot(t,a3);title('信号的低频细节部分');%AXIS();
subplot(612);plot(t,d1);title('Detailsd1');%AXIS();
subplot(613);plot(t,d2);title('Detailsd2');%AXIS();
subplot(614);plot(t,d3);title('Detailsd3');%AXIS();
subplot(615);plot(t,d4);title('Detailsd4');%AXIS();
subplot(616);plot(t,d5);title('Detailsd5');%AXIS();
[ 本帖最后由 zhlong 于 2007-7-9 10:01 编辑 ] function xdot=danziyoudukuangjia(t,x)
F=20*sin(100*t+30);
M=31.2;
zeta=0.01;
if(t<5)
K=67.51*10^5;
else
K=67.51*10^5*0.95;
end
%K=67.51;
% C=2*zeta*sqrt(K*M);
C=1.4*10^3;
xdot=;
close all;
t0=0;
te=10;
dt=0.005;%采样间隔
t=t0:dt:te;
x0=';
=ode45('danziyoudukuangjia',t,x0);
d=x(:,1);
v=x(:,2);
s1=(diff(v(1:end-1))+diff(v(2:end)))/2;%中心差分法
s1=; %少的两个点用前向和后向差分法补齐
s1=s1/dt; %近似为导数
%T=12001;
%
%x2=zeros(1,T);
%x2(6001)=1;
s=s1;%+0.01*randn(size(s1));%+x2;
%subplot(311);plot(t,s);
%AXIS();%单层框架加速度信号输出
%下面进行离散的单尺度小波变换并生成,各尺度上的信号
=wavedec(s,5,'bior6.8');%对第一信号进行3尺度一维离散小波分解,采用墨西哥小帽函数
%提取结构的低频和高频信号
ca3=appcoef(c,l,'bior6.8',5);%提取第三尺度系数的低频
=detcoef(c,l,);%提取第一、二、三尺度系数的高频
%重构信号的低频和高频部分
a3=wrcoef('a',c,l,'bior6.8',3);
d1=wrcoef('d',c,l,'bior6.8',1);
d2=wrcoef('d',c,l,'bior6.8',2);
d3=wrcoef('d',c,l,'bior6.8',3);
d4=wrcoef('d',c,l,'bior6.8',4);
d5=wrcoef('d',c,l,'bior6.8',5);
%显示多尺度一维信号的分解结果
subplot(611);plot(t,a3);title('信号的低频细节部分');%AXIS();
subplot(612);plot(t,d1);title('Detailsd1');%AXIS();
subplot(613);plot(t,d2);title('Detailsd2');%AXIS();
subplot(614);plot(t,d3);title('Detailsd3');%AXIS();
subplot(615);plot(t,d4);title('Detailsd4');%AXIS();
subplot(616);plot(t,d5);title('Detailsd5');%AXIS();
回复
在无噪声记入的时候,是一样的,但为什么早噪声加入以后,就有很大的差别,你可以看到损伤的地方,我无法看到损伤,我真的不知道这是为什么,程序一样,只是图形的y坐标不一样,但当我改了以后,还是不一样,这到底是怎么回事啊回复 #36 zhlong 的帖子
差别非常大,在你的含噪声的图形中,可以看到损伤,而且在detail5中的图形和我的差别太大了含噪声的图形
现在我把y坐标和你做的一样了,但差别还是这么大,请指教 对于结构振动。 我们习惯取阻尼比zeta为1-5%,至于真实多少鬼知道!5%的数值意味着15个自振周期后,自由振动幅度衰减为1%。对应的c=2*zeta*sqrt(m*k)。 Zhlong所取的c=1.4*10^3,相当于zeta=0.0482, 这是合理的.
回复 #34 zhlong 的帖子
ode45应该没问题,经过这么多千锤百炼,有问题就早发现了.楼主关心的问题时,结构在某个时刻的刚度减小了5%,用小波变换是否能检出来?
其实小波具有适应性,但是特异性很差,因为它没有尽量利用系统的信息.
这种看法,也是我反对所谓狗屁"神经元网络"的原因.
回复 #41 VibrationMaster 的帖子
ode45是变步长的,那么这样得到的信号相当于不断改变采样频率采集得到的信号,会不会不合适呢?我觉得是不是应该将ode45的输出改为等步长输出,或采用4阶龙格-库塔法积分。[ 本帖最后由 zhlong 于 2007-7-9 15:41 编辑 ]