我很抱歉,事先有点笨拙的问题,但我真的陷入了一个简单的,但不是微不足道的问题,找到幅度谱函数从给定的PSD或ASD。
所以,我最初得到的是信号的ASD和PSD:
最后我想要的是时间序列域的信号。。
我读过很多论坛页面,我知道这里的ifft应该发生,以便从频域切换到时间域(用于ex )。这里给出了一个很好的算法:https://www.researchgate.net/post/How-do-I-generate-time-series-data-from-given-PSD-of-random-vibration-input)
事情是,我已经有一个信号在时间域(从其他软件获得),所以我可以检查自己的ifft工作是否正确。
总之,如果一切正常工作,输出时间序列信号的ASD和PSD应与输入ASD和PSD重合:
我的问题是,为了在ifft程序中进一步使用它,我无法正确计算频域U(f)中的振幅谱:
在青色曲线下面的图上是U(f),因为它应该是,是,灰色曲线,就像我得到的。因此,输出ASD和PSD与输入不一致(下图右)。
请您告诉我,为了从输入的ASD (或PSD)到正确的U(f),我应该使用什么样的转换?
下面是初始函数的方程:
y = (1e-12 * sqrt( (1e-3./f).^4 ./ ((1e-5./f).^4+1) + 1 + (f/1e-1).^4)).^2;
acc_freq_asd = abs(sqrt(y)); %convert to ASD
acc_freq_psd = abs(y); %convert to PSD
绘制的U(f)‘灰色曲线’由以下公式得到:
U_f = sqrt(2*acc_freq_psd.*tslength);
其中tslength
-是信号长度
但是我也使用了更多的组合(包括规范化等等),但是没有一个给出正确的U(f)。
非常感谢你的帮助!
发布于 2021-06-24 11:04:01
在ASD和振幅谱(AS)之间正确过渡的步骤如下:
这个计划对我来说非常有效。
https://stackoverflow.com/questions/67925356
复制相似问题