24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2026级博士研究生招生报考通知(长期有效)
查看: 2610  |  回复: 1

龙马往昔

新虫 (初入文坛)

[交流] 关于matlab求加速度功率谱

最近碰到一个频谱分析的问题,要将如图所示的一个a-w振动信号,转换为加速度功率谱密度,以求得与频率相对应的PSD值。
    我查了一些资料找到了一个大致的思路,a(w)通过逆傅里叶变换得到a(t),再求得a(t)的自相关函数R(s),最后对R(s)做傅里叶变换,得到加速度的功率谱密度S(w)。我用Matlab编写了这些程序,最终得到的功率谱密度函数是一个关于w,t,s的函数。因此再求频率对应的功率谱密度值时,得到的是一个函数,而不是数值解,有谁知道问题出在哪里吗?
   下面是matlab的代码:
clear all
syms w t T s
a1=10*exp(i*w*t)
a2=(22-2/3)*w*exp(i*w*t)
a3=2*exp(i*w*t)
a(t)=(int(a1,w,7,18)+int(a2,w,18,30)+int(a3,w,30,50))/(2*pi)
t=1:1:450
plot(t,abs(a(t)))
syms w t T s
m(s)=int(a(t)*a(t+s),t,0,T)
R(s)=limit(m(s)/T,T,inf)
S(w)=int(R(s)*exp(-i*w*s),s,-inf,inf)
z1=S(7)
z2=S(18)
z3=S(30)
z4=S(50)

关于matlab求加速度功率谱
PSD.PNG
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

萝花山人

铜虫 (小有名气)

楼主好帅啊
2楼2019-06-01 08:41:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 龙马往昔 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见