首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从PSD或ASD中得到振幅谱函数?

如何从PSD或ASD中得到振幅谱函数?
EN

Stack Overflow用户
提问于 2021-06-10 16:45:49
回答 1查看 447关注 0票数 0

我很抱歉,事先有点笨拙的问题,但我真的陷入了一个简单的,但不是微不足道的问题,找到幅度谱函数从给定的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),我应该使用什么样的转换?

下面是初始函数的方程:

代码语言:javascript
运行
复制
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)‘灰色曲线’由以下公式得到:

代码语言:javascript
运行
复制
U_f = sqrt(2*acc_freq_psd.*tslength);

其中tslength -是信号长度

但是我也使用了更多的组合(包括规范化等等),但是没有一个给出正确的U(f)。

非常感谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-24 11:04:01

在ASD和振幅谱(AS)之间正确过渡的步骤如下:

  1. 定义等效噪声带宽:

  1. 计算单面 AS:

这个计划对我来说非常有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67925356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档