根据单质点阻尼系的地震反应计算加速度反应谱时,发现在某些地震时程下,同SeismoSignal软件计算的加速度反应谱相差较大,尤其是高频部分。SeismoSignal软件可以查看每个不同固有频率的单自由度系统在地震激励下的时程响应,经查看发现SeismoSignal求解的时程响应样本点非常多,远远高于原地震加速度时程。
将SeismoSignal计算的响应时程提取出来与自己的计算结果对比,发现在地震时程的采样时刻处,SeismoSignal与自己的计算结果是一致的,与下图类似:
图中红线是SeismoSignal计算的加速度时程,蓝线是自己计算的加速度时程。计算的加速度、速度及位移响应时程都有这种现象,固SeismoSignal计算过程中应该是对地震时程进行了线性插值,而且插值后采样频率变得极高,使其依此计算的结果在原来的采样时间之外也有值。在求加速度响应谱时,是单个频率响应下的最大值,图中红线的峰值与蓝线的峰值自然不一样,而且当计算的单自由度系统的固有频率越大时,这种误差也会越来越大。
在很多情况下,不经过插值求得的精度已经满足工程应用的需要,但自己计算响应谱的时候仍然对频率范围进行判断,当最大计算频率大于20倍的采样频率时,就对地震时程进行插值。
ddy=rand(1,1000)-0.5; %随机地震加速度
f=20; %单自由度系统固有频率20Hz
dt=0.01; %地震时程采样间隔
h=0.02; %阻尼比
fSampling=1/dt; %当单自由度系统固有频率过大时对地震时程进行插值
if fSampling<20*f
fSampling=20*f;
time=0:dt:length(ddy)*dt-dt;
dt2=1/fSampling;
time2=0:dt2:max(time);
ddy2=interp1(time,ddy,time2);
end
[acc1,vel1,dis1]=sdof_response(h,f,dt,ddy);
[acc2,vel2,dis2]=sdof_response(h,f,dt2,ddy2);
plot(time,dis1)
hold on
plot(time2,dis2,'r');
--------06/25---------
我这里用的是简单的线性加速度法,SeismoSignal有可能是用了其他的积分算法,然后积分步长特别小。