首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用Python处理整车路躁结果,简单又暴力

整车路躁仿真,是使用虚拟路谱作为激励,得到整车噪声和振动响应。所谓的虚拟路谱,就是路面不平度的功率谱密度(有自谱和互谱),是一种随机激励信号。由于激励为随机信号,所以响应也为随机信号,是一种统计意义上的数值。对于噪声响应,应该确切的说是声压的功率谱密度,单位为Pa^2/Hz,如果是振动响应,应该是加速度的功率谱密度,单位为(mm/s^2)^2/Hz。

说完了仿真,现在大致说一下实验。一般整车路躁实验采集的是时域的麦克声压数据,通过傅里叶变化变成频域,然后再处理成dB(A),所以最后得到的曲线是一条横坐标为频率,纵坐标为dB(A)的曲线。同时,会求一个给定频域段内的RMS(root meam square),就是均方根值,也就是这个频域段内的有效值,这个值就是我们常说的噪声大小。

路躁仿真结果的处理就是要把仿真曲线处理成同实验规格一致,方便理解也方便同实验对标。这就要求两个:后处理的曲线纵坐标应该是A记权的声压级以及在给定频率段的RMS值。

首先第一个,就是要把输出的声压的功率谱密度最终转化成dB(A)。这个还是比较简单的,声压的功率谱密度乘以频率间隔即得到声压的平方(Pa^2),然后开方得到声压大小(Pa),到这个地步应该就比较容易了,采用基准声压2E-5Pa取20倍的log,得到无量纲的声压级——dB,再转成A记权的声压级——dB(A)。

第二个,如何求解给定频域段内的RMS值。这个稍微有点复杂,首先看看LMS test.lab关于RMS的算法的解释:

输出的是线性谱,即:

如果是功率谱,即:

其实本质是一样的,所谓线性谱,就是单位为Pa(或者dB或者dB(A)),所谓功率谱,就是Pa^2,但是至于你处理的是线性谱还是功率谱,其实在"Channel Processing"设置即可,AutoPowers Linear代表线性谱,AutoPowers PSD代表功率谱。

不管是线性谱还是功率谱,其求解的RMS本质来说都是一样的,就是求解曲线与横坐标围城的面积,也就是最终能量功率的概念,抓住这个本质,就很好理解这两者之间的关系,求解RMS(均方根值或者说有效值)也很简单了。那么你会问了,CAE仿真得到的是线性谱还是功率谱呢?首先来看输出的DISPLACEMENT的解释:

和随机响应输出的有关的定义红色圈圈已经标记出来,默认的输出格式为PSDF,即为功率谱密度,当然,也可以输出ATOC自相关函数,CRMS即累加的均方根值,RALL即把前三者全部输出。这样搞清楚了吧,有且只能输出功率谱密度。其实,早最终的结果*.pch文件中可以看到,输出的是功率谱密度:

算法大致搞清楚了,不嫌麻烦可以使用商业软件HyperGraph处理了,但是步骤繁琐,还得自己写脚本,计算两小时,你要花30分钟来处理这个结果,显然不太理想,这个时候Python的数据处理就能排上用场了,简直就是简单又暴力。

软件运行视频

这是处理出来的数据,实际实验中声压常用dB(A),振动响应常用加速度幅值,所以处理出来的结果如下(随便找了Altair模型做的,请忽视实际结果大小):

码字不易,客官,您不赏一个!?

觉得不错,请关注我,更多分享,尽在itincae

PS:本文已经开启开放转载功能,欢迎转载。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180707G14JZI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券