功率谱密度估计(Power Spectral Density Estimation, PSD)介绍,轴承磨损检测

news2024/11/27 12:39:47

介绍

功率谱密度估计(Power Spectral Density Estimation, PSD)是信号处理中的一项重要技术,用于描述信号在频率域中的能量分布。PSD提供了信号的功率随频率变化的情况,是分析随机信号和确定信号频率特性的常用工具。

功率谱密度的基本概念

功率谱密度(PSD)是信号在频率域中的一个表示,它描述了信号的功率如何分布在不同的频率上。对于一个时间信号 x ( t ) x(t) x(t),PSD通常定义为信号的傅里叶变换的平方的期望值,即:
S x x ( f ) = lim ⁡ T → ∞ 1 T E [ ∣ X T ( f ) ∣ 2 ] S_{xx}(f) = \lim_{T \to \infty} \frac{1}{T} \mathbb{E} \left[ \left| X_T(f) \right|^2 \right] Sxx(f)=TlimT1E[XT(f)2]
其中:
S x x ( f ) S_{xx}(f) Sxx(f) 是功率谱密度,表示频率 f f f处的功率分布。
X T ( f ) X_{T}(f) XT(f)是信号 x ( t ) x(t) x(t)在时间 T T T内的傅里叶变换
E \mathbb{E} E表示期望值
对于离散时间信号 x [ n ] x[n] x[n],功率谱密度可以表示为离散傅里叶变换(DFT)的平方的期望值:
S x x ( f ) = lim ⁡ T → ∞ 1 N E [ ∣ X N ( f ) ∣ 2 ] S_{xx}(f) = \lim_{T \to \infty} \frac{1}{N} \mathbb{E} \left[ \left| X_N(f) \right|^2 \right] Sxx(f)=TlimN1E[XN(f)2]

PSD的估计方法

由于在实践中我们通常只能得到有限长度的信号,因此PSD通常需要通过估计来获得。以下是几种常见的PSD估计方法:

周期图法(Periodogram Method)

周期图法是最基本的PSD估计方法。对于一个长度为 N N N的离散信号 x [ n ] x[n] x[n],其周期图定义为:
S x x ( f ) = 1 N [ ∣ X N ( f ) ∣ 2 ] S_{xx}(f) = \frac{1}{N} \left[ \left| X_N(f) \right|^2 \right] Sxx(f)=N1[XN(f)2]
其中 X N ( f ) X_{N}(f) XN(f)是信号 x [ n ] x[n] x[n]的DFT,周期图法简单易用,但其估计的PSD具有较大的方差,尤其是在有限数据长度的情况下。

Welch方法

Welch方法是周期图法的改进版本,通过将信号分成重叠的子段,每个子段计算周期图并进行平均,以减少估计的方差。Welch方法的步骤包括:

将信号分成重叠的窗口(例如50%的重叠)。
对每个窗口应用窗函数(如汉宁窗)。
计算每个窗口的周期图。
对所有窗口的周期图进行平均。
这种方法通过减少方差提高了PSD估计的稳定性,是应用最广泛的PSD估计方法之一。

多段谱估计法(Multitaper Method)

多段谱估计法通过使用多个正交窗函数(称为tapers)对信号进行加窗处理,然后对不同窗函数得到的谱进行平均,从而进一步降低估计的方差。多段谱估计法在低信噪比条件下表现尤为出色。

自回归(AR)模型方法

自回归模型方法假设信号可以用有限阶自回归(AR)模型来描述,然后通过AR模型的参数来估计PSD。这种方法能够提供高分辨率的PSD估计,特别适合短数据长度信号的频谱分析。

PSD的应用

功率谱密度估计在许多领域有广泛的应用,以下是几个主要的应用场景:

信号分析与处理

在通信系统中,PSD用于分析信号的频谱特性,例如噪声频谱和带宽使用情况。
在音频信号处理、语音信号处理和振动分析中,PSD用于检测和识别信号中的频率成分。

噪声分析

在物理实验中,PSD用于测量和分析噪声特性。例如,在测量电子设备的噪声电平时,PSD可以帮助确定噪声的频率分布。

地震学与地质勘探

在地震学中,PSD用于分析地震波的频谱,帮助理解地震事件的性质以及地下结构的特性

生物医学信号处理

在生物医学领域,PSD用于分析心电图(ECG)、脑电图(EEG)等信号的频谱特征,用于疾病诊断和信号特征提取

振动与机械故障诊断

在机械系统中,PSD用于分析机械振动信号,帮助检测和诊断设备故障,如轴承磨损或电机不平衡

PSD估计的局限性与挑战

虽然PSD估计在信号处理中非常有用,但它也有一些局限性和挑战

有限数据长度

由于实际数据的长度通常有限,PSD估计可能受到数据长度的限制。短数据长度会导致估计的频谱分辨率低,并且方差较大

频谱泄漏

由于有限长度数据的截断效应,频谱泄漏(Spectral Leakage)会影响PSD的准确性。窗函数的选择对减少频谱泄漏非常重要

噪声影响

噪声会对PSD估计产生显著影响,尤其是低信噪比情况下。适当的平滑技术和去噪处理可以改善估计效果

非平稳信号

传统的PSD估计方法假定信号是平稳的,对于非平稳信号,时频分析方法(如短时傅里叶变换、Wavelet变换)可能更为适用

本文代码

轴承磨损检测是机械系统故障诊断中的一个重要应用。功率谱密度(PSD)分析可以有效地检测和识别轴承中的异常振动特征,帮助预防和诊断轴承故障。该代码通过PSD分析来检测轴承磨损。该代码包括信号模拟、噪声添加、PSD估计、故障特征提取以及可视化分析

核心代码

% MATLAB Code for Bearing Wear Detection Using PSD Analysis

% Step 1: Simulate a Bearing Vibration Signal
Fs = 50000;                 % Sampling frequency (50 kHz)
T = 5;                      % Signal duration in seconds
t = (0:1/Fs:T-1/Fs)';       % Time vector

% Simulate healthy bearing vibration signal (harmonic + noise)
freq1 = 1200;               % Fundamental frequency of bearing vibration
freq2 = 2400;               % Second harmonic due to structural resonance
healthy_signal = 0.8*sin(2*pi*freq1*t) + 0.5*sin(2*pi*freq2*t);

% Simulate bearing wear by adding a high-frequency component
wear_freq = 8000;           % High frequency due to bearing wear
wear_amplitude = 0.3;       % Amplitude of the wear-induced vibration
wear_signal = wear_amplitude * sin(2*pi*wear_freq*t);

% Combine healthy and wear signals
combined_signal = healthy_signal + wear_signal;

% Add Gaussian noise to simulate measurement noise
SNR = 20;                   % Signal-to-noise ratio (in dB)
noisy_signal = awgn(combined_signal, SNR, 'measured');

% Step 2: Apply Welch's PSD Estimation
% Parameters for Welch's method
window_length = 1024;               % Length of each segment
overlap_length = 512;               % Overlap between segments
nfft = 4096;                        % Number of FFT points

% Compute PSD using Welch's method
[pxx,f] = pwelch(noisy_signal, window_length, overlap_length, nfft, Fs);

% Step 3: Apply Smoothing to the PSD for better visualization   
 % Smoothing with a moving average filter
% Step 4: Visualize the Results

% Plot the time-domain signals
figure;
subplot(3,1,1);
plot(t, healthy_signal);
title('Healthy Bearing Vibration Signal');
xlabel('Time (s)');
ylabel('Amplitude');

subplot(3,1,2);
plot(t, noisy_signal);
title('Noisy Bearing Vibration Signal with Wear');
xlabel('Time (s)');
ylabel('Amplitude');

subplot(3,1,3);
plot(t, wear_signal);
title('Simulated Wear-induced Vibration Component');
xlabel('Time (s)');
ylabel('Amplitude');

% Plot the Power Spectral Density (PSD)
figure;
plot(f, 10*log10(smoothed_pxx));
title('Power Spectral Density (PSD) Estimate');
xlabel('Frequency (Hz)');
ylabel('Power/Frequency (dB/Hz)');
xlim([0, Fs/2]); % Focus on the first half of the spectrum
grid on;

% Step 5: Feature Extraction and Fault Detection
% Identify peaks in the PSD corresponding to wear frequency

% Plot the identified peaks
hold on;
plot(f(locs), 10*log10(peaks), 'r*', 'MarkerSize', 10);
legend('PSD', 'Detected Peaks');

% Display detected wear frequencies
fprintf('Detected wear frequencies (Hz):\n');
for i = 1:length(locs)
    fprintf('  Peak at %.2f Hz with power %.2f dB\n', f(locs(i)), 10*log10(peaks(i)));
end

% Step 6: Advanced Analysis - Kurtosis of the Time-Domain Signal
% Kurtosis is a measure of the "tailedness" of the probability distribution of the signal
signal_kurtosis = kurtosis(noisy_signal);
fprintf('Kurtosis of the noisy signal: %.2f\n', signal_kurtosis);

% Step 7: Further Signal Processing and Fault Isolation (Optional)
% Advanced techniques like Envelope Detection, Time-Frequency Analysis, or Wavelet Transform can be applied
% to further isolate and analyze the fault characteristics.

代码说明

轴承振动信号模拟
首先生成了一个健康的轴承振动信号,由基本频率和二次谐波组成。这些频率代表了正常运转中的轴承振动。
然后,模拟了由于轴承磨损引起的高频振动信号,频率设置为8000Hz。这种高频成分通常是轴承磨损或损坏的指示。
信号合成与噪声添加
将健康信号和磨损信号合并在一起,以模拟轴承磨损情况下的振动信号。
添加了高斯噪声,以模拟实际测量中可能存在的环境噪声,使得信号更加接近真实情况。
Welch方法的PSD估计
使用Welch方法估计信号的功率谱密度(PSD)。Welch方法通过分段、加窗和平均来降低估计的方差,提供更平滑、更稳定的PSD。
通过设置参数如窗口长度、重叠长度和FFT点数,控制PSD估计的分辨率和精度。
PSD的平滑处理
对PSD进行平滑处理,以消除高频噪声的影响,使得频谱图更加易于分析和解释。
结果可视化
使用多个子图展示了健康信号、噪声信号和模拟的磨损信号,帮助理解信号的组成部分。
绘制了平滑后的PSD,并使用红色星号标出了检测到的频率峰值,帮助识别磨损特征。
特征提取与故障检测
通过检测PSD中的峰值,识别出与磨损相关的频率成分。这些频率通常表现为PSD图中的显著峰值。
输出检测到的磨损频率和对应的功率,帮助判断轴承是否存在磨损。
高级分析(选项)
使用峰度(Kurtosis)作为时间域信号的特征,进一步评估信号的异常性。峰度值越高,表明信号中包含更多的异常成分或尖锐突变,可能与轴承故障有关。
提到了进一步的信号处理方法,如包络检测、时频分析和小波变换,以更深入地分析和隔离故障特征。

效果

在这里插入图片描述
在这里插入图片描述

完整代码

关注下方卡片公众号,回复"PSD"获取完整代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2100062.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

美团代付支持多模板全开源多种支付通道 多模版三合一源码附教程

美团代付 支持多模板全开源多种支付通道 多模版三合一源码附教程 美团代付源码,支持多模板,全开源,多种支付通道,其它的就没什么好介绍的了,有兴趣的自行去体验吧。

驱动(RK3588S)第五课时:字符设备驱动编程

目录 一、操作系统的框架二、设备的类型三、什么是设备四、杂项字符设备的 API五、代码实现1、底层实现(内核)2、应用层代码3、交叉编译环境4、结果展示 一、操作系统的框架 二、设备的类型 硬件设备其实是分类型的: 字符设备:所…

TCP/IP 报文传输过程

目录 1. 概念理解2. 传输过程 原文回到 TCP/IP 强烈推荐下面博客,详细阐述了TCP/IP协议概念和传输过程 TCP协议详解 (史上最全) 1. 概念理解 2. 传输过程 以一个具体例子为例,如下图所示,由A 给 F 发送一个数据包整个过程是怎样的

Windows 安装 MySQL8

目录 前言 下载 安装 配置 连接 前言 一般数据库都是部署在 Linux 服务器上,在 Windows 上开发,通过数据库连接工具来连接数据库。在工作中,如果条件允许,会有单独的开发库给开发人员使用,否则开发人员就只能连接…

U盘损坏深度解析与高效数据恢复指南

一、U盘损坏现象初探 在数字化时代,U盘作为便捷的数据存储与传输工具,几乎成为了我们日常生活与工作中的必需品。然而,不少用户都曾遭遇过U盘损坏的困境,面对无法读取、文件丢失或系统提示错误等问题,往往感到束手无策…

【概率与统计 动态规划】 808. 分汤

本文涉及知识点 C动态规划 数学 概率与统计 LeetCode 808. 分汤 有 A 和 B 两种类型 的汤。一开始每种类型的汤有 n 毫升。有四种分配操作: 提供 100ml 的 汤A 和 0ml 的 汤B 。 提供 75ml 的 汤A 和 25ml 的 汤B 。 提供 50ml 的 汤A 和 50ml 的 汤B 。 提供 25…

Chapter 10 async函数 await关键字

欢迎大家订阅【Vue2Vue3】入门到实践 专栏,开启你的 Vue 学习之旅! 文章目录 前言一、async 函数二、await 关键字 前言 在现代 JavaScript 开发中,异步编程是一个重要的概念。随着 ES2017 的引入,async 函数和 await 关键字为处…

一文读懂Mysql连接数的基本知识

目录 前言1. 基本知识2. 常用命令 前言 原先写过一篇SQL Server的知识点,推荐阅读:Sql Server缓冲池、连接池等基本知识(附Demo) 其余知识点推荐阅读: java框架 零基础从入门到精通的学习路线 附开源项目面经等&…

Windows10上Nginx如何通过自签名证书方式发布Https服务(上)

背景 在Android开发中使用平板设备进行调试,Android版本是13。在调试中遇到一个这样的报错信息:“java.io.IOException: Cleartext HTTP traffic to 192.168.137.1 not permitted”,然后查了下报错原因是:应用正在尝试通过不安全的HTTP协议进行网络通信,而你的应用运行的环…

计时计费收银软件如何控制设备 佳易王电玩城PS5机计时定时提醒管理系统操作教程

一、前言 计时计费收银软件如何控制设备 佳易王电玩城PS5机计时定时提醒管理系统操作教程 【特别说明:下载的文件为压缩包文件,右键 解压到当前文件夹,将解压后 的文件夹复制到电脑的D盘或E盘,打开该文件夹,将程序图…

竞品分析文档——word版

今天和大家免费分享产品必备文档模板——竞品分析文档(word),包括一下部分内容: 1、竞品概述——基本信息、竞品目的、发展历程、产品定位、商业模式 2、市场分析——发展背景、发展现状、流量分析 3、用户分析——用户画像、用…

如何使用Windows自带的软件进行扫描

我们在使用电脑办公的时候,可能会需要进行文件的扫描。有的小伙伴在扫描的过程中可能会出现一些问题,明明扫描仪已经安装了,但是又不知道Windows扫描仪程序在哪里怎么启动;那么今天就跟大家分享一下Windows扫描仪程序在哪里&#…

uniapp插槽用法

目录 什么是插槽? 基本概念 默认插槽 命名插槽 作用域插槽 场景一:子插槽向父组件传递一个字符串 场景二:子插槽向父组件传递对象 什么是插槽? 在 UniApp 中,插槽(Slot)是一种允许父组件向子组件特定位置插入HTML内容的方式。这种方式使得组…

安科瑞DJSF1352型电子式直流电能表 CE/UL等资质认证

产品概述 DJSF1352型电子式直流电能表采用液品显示,具有RS485功能可与微机进行数据交换。适合充电桩直流计量、电池、太阳能电池板等直流信号设备电量测量和电能计量使用,亦可用于工矿企业,民用建筑,楼宇自动化等现代供配直…

JeecgBoot积木报表AviatorScript表达式注入漏洞复现

文章目录 漏洞信息漏洞复现环境搭建poc复现DNSLog验证 漏洞信息 影响组件:JimuReport积木报表 影响版本:v1.6.0 < JimuReport ≤ 1.7.8 漏洞名称:AviatorScript表达式注入漏洞 漏洞链接:积木报表软件存在AviatorSc…

强化学习实践(二):Dynamic Programming(Value \ Policy Iteration)

强化学习实践(二):Dynamic Programming(Value \ Policy Iteration) 伪代码Value IterationPolicy IterationTruncated Policy Iteration 代码项目地址 伪代码 具体的理解可以看理论学习篇,以及代码中的注释…

Shader学习笔记

1. 渲染管线概述 定义:渲染管线(流水线)就是将数据分阶段的变为屏幕图像的过程 数据就是我们在游戏场景中放置的模型、光源、摄像机等等内容的数据 阶段就是渲染管线中的三个阶段:应用阶段一>几何阶段一>光栅化阶段 通过这…

超详细步骤——Keil MDK-ARM 如何修改工程名字

背景: 注意:本项目是基于 STM32 单片机的裸机程序,使用 STM32CubeMX 工具生成的 Keil MDK-ARM 工程。 目标: 在 Keil MDK-ARM 开发环境中,将名为version0805 的工程重命名为 version0910,并确保所有新编译…

PHP+Thinkphp+MySQL民宿管理系统41279-计算机毕业设计项目选题推荐(免费领源码)

摘 要 伴随着国内旅游经济的迅猛发展民宿住宿行在国内也迎来了前所未有的发展机遇。传统的旅游模式已难以满足游客日益多元化的需求,随着人们外出度假的时间越来越长,导致人们在住宿的选择上更加追求舒适、个性化的住宿体验。以往大家出游度假首选都是以…

Android图片缓存工具类LruCache原理和使用介绍

LruCache & DiskLruCache原理。 常用的三级缓存主要有LruCache、DiskLruCache、网络,其中LruCache对应内存缓存、 DiskLruCache对应持久化缓存。Lru表示最近最少使用,意思是当缓存到达限制时候,优先淘汰近 期内最少使用的缓存&#xff0c…