振动信号的阶次分析方法_振动频谱图

振动信号的阶次分析方法_振动频谱图此示例说明如何使用阶次分析来分析振动信号。阶次分析用于量化转速随时间变化的旋转机械中的噪声或振动。阶次指的是参考转速的某个倍数的频率。例如,频率等于发动机旋转频率两倍的振动信号对应的是阶次2,同样,频率等于发动机旋转频率0.5倍的振动信号对应的是阶次0.5。此示例通过确定大振幅的阶次来调查直升机舱中不必要的振动的来源。简介此示例分析在主发动机加速和减速过程中,来自直升机舱中加速度计的仿真振动数据。直升机有几个旋转部件,包括发动机、变速箱、主旋翼和尾旋翼。每个部………

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

目录

简介

使用 RPM-频率图可视化数据

使用 RPM-阶次图可视化数据

使用平均阶次谱确定峰值阶次

分析峰值阶次随时间的变化

减少机舱振动

总结


        此示例说明如何使用阶次分析来分析振动信号。阶次分析用于量化转速随时间变化的旋转机械中的噪声或振动。阶次指的是参考转速的某个倍数的频率。例如,频率等于发动机旋转频率两倍的振动信号对应的是阶次 2,同样,频率等于发动机旋转频率 0.5 倍的振动信号对应的是阶次 0.5。此示例通过确定大振幅的阶次来调查直升机舱中不必要的振动的来源。

简介

        此示例分析在主发动机加速和减速过程中,来自直升机舱中加速度计的仿真振动数据。直升机有几个旋转部件,包括发动机、变速箱、主旋翼和尾旋翼。每个部件以相对于主发动机的已知固定速率旋转,每个部件都可能是不必要振动的诱发因素。可以将主要振动部件的频率与发动机的转速相关联,以研究高振幅振动的来源。此示例中的直升机在主旋翼和尾旋翼上都有四个叶片。当振动由旋翼叶片生成时,直升机旋翼振动的重要分量可能是旋翼旋转频率的整数倍。

        此示例中的信号是时间依赖电压 vib,采样率 fs 等于 500 Hz。数据包括涡轮发动机的角速度 rpm 和时刻的向量 t。每个旋翼的转速与发动机转速之比存储在变量 mainRotorEngineRatio 和 tailRotorEngineRatio 中。

        发动机速度信号通常由一系列转速表脉冲组成。tachorpm 可用于从转速表脉冲信号中提取 RPM 信号。tachorpm 自动识别双水平转速表波形的脉冲位置,并计算脉冲之间的间隔以估计转速。在此示例中,发动机速度信号包含转速 rpm,因此不需要转换。

        绘制发动机速度和振动数据对时间的图:

load helidata
vib = vib - mean(vib);  % Remove the DC component 

subplot(2,1,1) 
plot(t,rpm)             % Plot the engine rotational speed
xlabel('Time (s)') 
ylabel('Engine Speed (RPM)')
title('Engine speed')

subplot(2,1,2) 
plot(t,vib)             % Plot the vibration signal 
xlabel('Time (s)') 
ylabel('Voltage (mV)')
title('Accelerometer Vibration Data')

        如图所示:

振动信号的阶次分析方法_振动频谱图

        发动机转速在加速过程中增加,在减速过程中降低。振幅随着转速变化。这种类型的 RPM 曲线通常用于旋转机械振动分析。

使用 RPM-频率图可视化数据

         可以使用函数 rpmfreqmap 在频域中可视化振动信号。此函数计算信号的短时傅里叶变换,并生成 RPM-频率图。当省略输出参数时,rpmfreqmap 在交互式绘图窗口中显示图。

        生成并可视化振动数据的 RPM-频率图。

rpmfreqmap(vib,fs,rpm)

        如图所示:

振动信号的阶次分析方法_振动频谱图

        由 rpmfreqmap 生成的交互式图窗窗口包含 RPM-频率图、对应于该图的 RPM 对时间的曲线图,以及可用于量化振动分量的几个数值指示符。默认情况下,图的振幅是均方根 (RMS) 振幅。可使用可选参数指定其他振幅选项,包括峰值振幅和功率。瀑布图菜单按钮生成一个三维视图: 

        如图所示:

振动信号的阶次分析方法_振动频谱图

        RPM-频率图中的许多轨迹具有随发动机速度增加和减少的频率。这表明轨迹是发动机旋转频率的阶次。RPM 峰值附近有高振幅分量,频率在 20 至 30 Hz 之间。可以将十字准线放在图上的此位置,以在 RPM 曲线图下方的指标框中查看频率、RPM 值、时间以及图振幅。

        默认情况下,rpmfreqmap 通过将采样率除以 128 来计算分辨率。分辨率显示在图窗的右下角,在本例中等于 3.906 Hz。默认情况下使用 Hann 窗,但也可以使用其他几种窗口。

        将较小的分辨率值传递给 rpmfreqmap 可更好地解析某些频率分量。例如,低频分量在 RPM 峰值时没有分离。在低 RPM 值下,高振幅轨迹混合在一起。

        生成分辨率为 1 Hz 的 RPM-频率图可解析这些分量。 

rpmfreqmap(vib,fs,rpm,1)

        如图所示:

振动信号的阶次分析方法_振动频谱图

         低频分量现在可以在 RPM 峰值处解析,但在转速变化更快时,会出现明显的涂抹现象。随着发动机速度的增加或减少,振动阶次在每个时间窗内更改频率,产生更宽的频谱轨迹。由于需要更长的时间窗,这种涂抹效应对于更精细的分辨率来说更加明显。在本例中,提高频谱分辨率会导致加速和减速阶段的涂抹伪影增加。可以生成阶次图来避免这种权衡。

使用 RPM-阶次图可视化数据

        函数 rpmordermap 为阶次分析生成阶次对 RPM 的频谱图。该方法通过以恒定相位增量对信号进行重采样来消除涂抹伪影,为每个阶次产生一个平稳正弦波。使用短时傅里叶变换来分析重采样的信号。由于每个阶次均为参考转速的固定倍数,对于每个阶次,阶次图包含其对 RPM 的一条直线轨迹图。

        函数 rpmordermap 接受与 rpmfreqmap 相同的参数,并且在不带输出参数调用时还会生成交互式绘图窗口。分辨率参数现在以阶次而不是 Hz 指定,并且图的频谱轴现在是阶次而不是频率。默认情况下,该函数使用平顶窗口。

        使用 rpmordermap 可视化直升机数据的阶次图。指定以 0.005 阶次为单位的阶次分辨率。

rpmordermap(vib,fs,rpm,0.005)

        如图所示:

振动信号的阶次分析方法_振动频谱图

         对于每个阶次,该图包含一条直线轨迹,表明振动出现在发动机转速的固定倍数处。阶次图可以更轻松地展示每个频谱分量与发动机速度的关系。与 RPM-频率图相比,涂抹伪影显著减少。

使用平均阶次谱确定峰值阶次

        接下来,确定阶次图的峰值位置。寻找主旋翼和尾旋翼阶次的整数倍的阶次,这些旋翼会在这些位置产生振动。函数 rpmordermap 返回图以及对应的阶次和 RPM 值作为输出。分析数据以确定直升机舱内高振幅振动的对应阶次。

        计算并返回数据的阶次图。

[map,mapOrder,mapRPM,mapTime] = rpmordermap(vib,fs,rpm,0.005);

        接下来,使用 orderspectrum 计算并绘制 map 的平均频谱。该函数接受 rpmordermap 生成的阶次图作为输入,并随时间对其求平均值。

figure
orderspectrum(map,mapOrder)

        如图所示:

振动信号的阶次分析方法_振动频谱图

        返回平均频谱,并调用 findpeaks 以返回两个最高峰值的位置。

[spec,specOrder] = orderspectrum(map,mapOrder);          
[~,peakOrders] = findpeaks(spec,specOrder,'SortStr','descend','NPeaks',2);
peakOrders = round(peakOrders,3)


peakOrders = 2×1

    0.0520
    0.0660

        在图中大约 0.05 阶次处可以看到两个间隔很近的主峰。阶次小于 1,因为振动频率低于发动机转速。

分析峰值阶次随时间的变化

        接下来,使用 ordertrack 求峰值阶次的幅值随时间的变化。使用 map 作为输入,通过不带输出参数调用 ordertrack 来绘制两个峰值阶次的振幅。        

ordertrack(map,mapOrder,mapRPM,mapTime,peakOrders)

        如图所示:

振动信号的阶次分析方法_振动频谱图

        随着发动机转速的增加,两个阶次的振幅都会增加。尽管在这种情况下可以轻松分离阶次,不过 ordertrack 还可以在存在多个 RPM 信号时分离交叉阶次。

        接下来,使用 orderwaveform 提取每个峰值阶次的时域阶次波形。阶次波形可以直接与原始振动信号进行比较,并作为音频播放。orderwaveform 使用 Vold-Kalman 滤波器提取指定阶次的波形。将两个峰值阶次波形之和与原始信号进行比较。

orderWaveforms = orderwaveform(vib,fs,rpm,peakOrders);
helperPlotOrderWaveforms(t,orderWaveforms,vib)

        如图所示:

振动信号的阶次分析方法_振动频谱图

减少机舱振动

        为了确定机舱振动的来源,将每个峰值的阶次与直升机每个旋翼的阶次进行比较。每个旋翼的阶次等于旋翼转速与发动机转速的固定比率。

mainRotorOrder = mainRotorEngineRatio; 
tailRotorOrder = tailRotorEngineRatio;

ratioMain = peakOrders/mainRotorOrder
ratioMain = 2×1

    4.0310
    5.1163
ratioTail = peakOrders/tailRotorOrder


ratioTail = 2×1

    0.7904
    1.0032

         最高峰值位于主旋翼速度的四阶次处,因此最大振幅分量的频率是主旋翼频率的四倍。主旋翼有四个叶片,很可能是这种振动的来源,因为对于每个旋翼有 N 个叶片的直升机来说,以旋翼转速的 N 倍振动是很常见的。同样,第二大分量位于尾旋翼速度的一阶次处,表明振动可能源于尾旋翼。由于旋翼的速度不是整数倍数关系,因此第二大峰值相对于主旋翼速度的阶次不是整数。

        在对主旋翼和尾旋翼进行轨迹和平衡调整后,采集新数据集。加载新数据集并比较调整前后的阶次频谱。

load helidataAfter
vib = vib - mean(vib);             % Remove the DC component 
[mapAfter,mapOrderAfter] = rpmordermap(vib,fs,rpm,0.005);
figure
hold on  
orderspectrum(map,mapOrder)
orderspectrum(mapAfter,mapOrderAfter)
legend('Before Adjustment','After Adjustment')

        如图所示:

振动信号的阶次分析方法_振动频谱图

         主峰的振幅现在大幅降低。

总结

        此示例使用阶次分析来确定直升机的主旋翼和尾旋翼是否为机舱内高振幅振动的潜在来源。首先,使用了 rpmfreqmap 和 rpmordermap 对阶次进行可视化。RPM-阶次图在整个 RPM 范围内实现了阶次分离,且消除了在 RPM-频率图中出现的涂抹伪影。rpmordermap 最适合可视化在发动机加速和减速期间低 RPM 时的振动分量。

        接下来,该示例使用 orderspectrum 确定峰值阶次,使用 ordertrack 可视化峰值阶次的振幅随时间的变化情况,使用 orderwaveform 提取峰值阶次的时域波形。最大的振幅振动分量出现在主旋翼旋转频率的四倍处,表明主旋翼叶片不平衡。第二大分量出现在尾旋翼的旋转频率处。调整旋翼后,振动程度得以降低。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183466.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月10日 下午5:16
下一篇 2022年10月10日 下午5:16


相关推荐

  • Cas认证原理

    Cas认证原理参考文章:https://blog.csdn.net/duanmulanghuan/article/details/81203873介绍:1.cas相当于一个web应用,应配置在一台电脑上,作为cas认证服务器。首先有三个URL:登录URL:cas的登录认证url(假设为:https://cas/login)验证URL:cas的验证ticket(票据)url登出URL:cas的登出u…

    2022年6月28日
    34
  • 前端常见的浏览器兼容性问题及解决方案

    前端常见的浏览器兼容性问题及解决方案市场上浏览器种类很多 不同浏览器的内核也不尽相同 所以各个浏览器对网页的解析存在一定的差异 浏览器内核主要分为两种 一是渲染引擎 另一个是 js 引擎 内核更加倾向于说渲染引擎 常见的浏览器内核 常见的浏览器内核可以分四种 Trident Gecko Blink WebkitIE 浏览器 Trident 内核 也成为 IE 内核 Chrome 浏览器 Webkit 内核 现在是 Blink 内核 Firefox 浏览器 Gec

    2026年3月17日
    2
  • 2022年全球与中国机器人操作系统(ROS)市场现状及未来发展趋势

    2022年全球与中国机器人操作系统(ROS)市场现状及未来发展趋势2022 2028 全球与中国机器人操作系统 ROS 市场现状及未来发展趋势本文研究全球及中国市场机器人操作系统 ROS 现状及未来发展趋势 侧重分析全球及中国市场的主要企业 同时对比北美 欧洲 中国 日本 东南亚和印度等地区的现状及未来发展趋势 根据 QYR 恒州博智 的统计及预测 2021 年全球机器人操作系统 ROS 市场销售额达到了亿美元 预计 2028 年将达到亿美元 年复合增长率 CAGR 为 2022 2028 地区层面来看 中国市场在过去几年变化较快 2021 年市场规模为百万美元

    2026年3月19日
    3
  • 手把手教你!0基础小白也可以使用谷歌服务器搭建自己的博客网站

    手把手教你!0基础小白也可以使用谷歌服务器搭建自己的博客网站准备工作 visa 卡 用于谷歌的认证 fan 翻 qiang 墙 工具 用于登陆谷歌 一申请及注册谷歌云 1 登录 GoogleCloud 官网并进行账户注册 https cloud google com 我们在官网首页点击免费试用进行注册 2 我们进行国家和地区资料填写 我们在右侧栏可以看到 12 个月有效期的 300 刀赠额说明 国家地区选择真实所在地 这里我选择中国 勾选同意条款 点击同意并继续 3 我们接下来进行个人资料和信用卡资料的填写 个人资料和信用卡资料如实填写就好了 4

    2026年3月20日
    2
  • java.lang.NullPointerException出现的几种原因以及解决

    java.lang.NullPointerException出现的几种原因以及解决java.lang.NullPointerException出现的几种原因:1、字符串变量未初始化2、接口类型的对象没有用具体的类初始化,比如:Mapmap//会报错Mapmap=newMap();//则不会报错了3、当一个对象的值为空时,你没有判断为空的情况。4、字符串与文字的比较,文字可以是一个字符串或Enum的元素,如下会出现异常Stringstr…

    2022年5月20日
    48
  • iozone – 性能压力测试工具

    iozone – 性能压力测试工具IOzone 是一个文件系统的 benchmark 工具 可以测试不同的操作系统中文件系统的读写性能 可以测试 Read write re read re write readbackward readstrided fread fwrite randomread pread mmap aio read aio write 等等不同的模式下的硬盘的性能

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号