八戒 发表于 2010-4-12 19:34

功率谱大小及单位问题?

下面是一个文献《空间相关多点地震动合成的简化方法》(刘先明, 叶继红, 李爱群. 空间相关多点地震动合成的简化方法. 工程抗震. 2003, (1):30-33.)中的一个算例编写的程序,
       算例思路是:应用《公路桥梁抗震细则》89中的反应谱,利用反应谱与功率谱的近似转公式生成功率谱。
      例中参数为:设防烈度为7度、Ⅱ类场地上(远震),目标谱的阻尼比为0.05,场地卓越周期为0.4s,超越概率p=0.05,αmax=0.08(TJ-89);
   我也就是按照这个思路用(TJ-89)规范中反应谱数据转化成功率谱,与文献中给出的功率谱相比,有两个很大的区别,分别如下:
      1、功率谱的数值差很大(如下图对比所示),其中我的程序计算出功率谱峰值为4.2E-06,而文献计算出自功率谱峰值约为0.8E-4,两个值相差好几个数量级。
      2、我按公式用程序算出来的功率谱是负的呢,而文献中的自功率谱是正值,不知道是为什么?
   不知道我是哪里出错了,请更位高手帮忙指点,将不甚感激!!!!!!!!
程序如下:
%%%由反应谱转换成功率谱%%
% 基于反应谱,由近似转换公式转换成功率谱
%应用《公路桥梁抗震细则89》中的反应谱
%%%%%%%%
clear;
%%%%参数————————
nn=500;                %
dt=20/nn;            %周期增量,取0.02S
T=(1:nn)*dt;         %周期变化量,取值为0.02-20s
ff=1./T;               %频率变化量,取值为50-0.05HZ
pp=0.05               %超越概率
fs=25;                %截断频率
Tg=0.4;             %场地卓越周期
kece=0.05;            %场地阻尼比
alfa=0.08;            %反应谱水平系数
Ts=20;                %地震动持时,取20s
%%%%程序————————
%根据周期T的大小计算放大系数beta
for ii=1:nn
    if T(ii)<0.1
   beta(ii)=1+12.5*T(ii);
    elseif (T(ii)>=0.1&T(ii)<=Tg)
      beta(ii)=2.25;
    else
      beta(ii)=2.25*(0.4/T(ii))^0.98;
    end;
end;
%化入公式计算功率谱
for ii=1:nn
omiga(ii)=2*pi*ff(ii);      %圆频率变化值,rad/s
%%根据刘先明文献中式(6)计算功率谱
AA(ii)=kece./pi/omiga(ii);
BB(ii)=(alfa*beta(ii))^2;
CC(ii)=log(abs(-pi/omiga(ii)/Ts*log(1-pp)));
Gomiga(ii)=AA(ii)*BB(ii)/CC(ii);
end;
%%%%%%%作图
figure(1)
subplot(211);
plot(T,beta,'.');
xlabel('周期S');ylabel('放大系数');
title('设计反应谱放大系数Beta');grid;
xlim();
subplot(212);
plot(omiga,Gomiga,'-');
xlabel('圆频率rad/s');ylabel('功率谱');
title('反谱转化的功率谱');grid;

[ 本帖最后由 八戒 于 2010-4-12 19:57 编辑 ]

八戒 发表于 2010-7-7 23:17

在大崎顺彦《地震动的谱分析入门》P121写到
加速度时程的功率谱的单位为:伽^2*秒或 cm^2/s^3
页: [1]
查看完整版本: 功率谱大小及单位问题?