
假设一自由度系统受到的激励力是均值为0、自谱为S0=1的理想白噪声平稳过程。求系统响应的均方值与自谱( 功率谱密度 函数,)。
设m=1,k=(2*pi)**2,阻尼系数zeta=0.16,即构造固有频率为1Hz,快速衰减的系统。
激励力随机时,和确定时 类 似,都需要利用系统的脉冲响应函数h(t)或者复频响应函数H(w)。
系统的脉冲响应函数h(t)见下图:
系统频响函数见下图:
理想白噪声激励力的自谱见下图:
位移响应的自谱见下图:

import matplotlib.pyplot as plt
import numpy as np
from numpy import pi,sqrt,cos,sin,arctan,exp
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
##########begin:计算单自由度振动###############
k=(2*pi)**2
m=1
wn=sqrt(k/m)
s_=0.02 #0.02 0.16
wd=sqrt(1-s_**2)*wn
c=2*s_*wn*m
delta=s_*wn
#系统激励力为均值为0自谱为S0的理想白噪声平稳过程:
S0=1
#系统的脉冲响应函数:
h_t=lambda t:1/(m*wd)*exp(-delta*t)*sin(wd*t)
#系统的频响函数:
H_w=lambda w:1/sqrt((k-m*w**2)**2+c**2*w**2)
#响应的均方值:
phi2_x=S0/(2*c*k)
#响应的自谱:
Sxx_w=lambda w:S0/((k-m*w**2)**2+c**2*w**2)
ti=np.array(np.linspace(0,4,1000,False))#0:0.002:2;
h_ti=h_t(ti)
wi=np.array(np.linspace(0,100,1000,False))#0:0.002:2;
H_wi=H_w(wi)
Sxx_wi=Sxx_w(wi) #双边功率谱的一边
Gxx_wi=2*Sxx_wi #单边功率谱
plt.figure
fig_mpl, ax =plt.subplots(4,1,figsize=(5,3), facecolor='white')
ax[0].plot(ti,h_ti,label='系统的脉冲响应函数')
ax[0].set_title("h(t)")
ax[0].set_xlabel("t")
ax[0].legend()
ax[1].plot(wi,H_wi,label='系统频响函数')
ax[1].set_title("H(w)")
ax[1].set_xlabel("w")
ax[1].legend()
ax[2].plot(wi,np.ones(np.size(wi))*S0*2,label='输入力白噪声自谱(单边)')
ax[2].set_title("Gff(w)")
ax[2].set_xlabel(
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删