信号基本分析方法——频域分析

news2024/11/29 8:33:40

 二、频域分析

随机信号的时域分析只能提供有限的时域故障特征信息,故障发生时往往会引起信号频率结构的变化,而故障频率可以计算和预知,通过检测频率的幅值变换规律,就可以监控故障的发展过程。

频谱分析的理论基础是傅里叶变换,傅里叶变换包括傅里叶级数和傅里叶积分。

2.1 傅里叶级数

满足Dirichlet条件的周期信号X(t)可以分解为很多谐波分量之和:

x(t)=\frac{a_{0}}{2}+\sum_{n=1 }^{\infty }(a_{n}cosn\omega _{0}t+b_{n}sinn\omega _{0}t)

其中

傅里叶级数的概念是任何一个周期函数都可以采用无限个三角函数去拟合和描述。

时域分析和频域分析只是从不同侧面反映信号。

2.2 傅里叶变换

傅里叶变换对

为了计算机上实现信号的频谱分析,需要时域信号是离散的,且是有限长。

离散傅里叶变换公式为:

傅里叶分析的不足

变换之后的信号完全失去了时间信息,无法反映频率随时间的变化

傅里叶变换命令

y=fft(x)

y=fft(x,n)  n表示执行n点fft

若x的长度是2的整数次幂,函数fft运行速度最佳

傅里叶逆变换命令

y=ifft(x)

y=ifft(x,n)

例3. 对信号y=2sin(2\pi *30t)+sin(2\pi *80t)分别64点,256点进行fourier变换,并画出幅频图,采样频率256Hz。

clc
clear
close all
fs=256;
f1=30;
f2=80;
t=0:1/fs:1-1/fs;
p=length(t);
y=2*sin(2*pi*f1.*t)+sin(2*pi*f2.*t);
nfft1=64;
nfft2=256;
rfft1=fft(y,nfft1);
ys1=abs(rfft1);
fz1=(1:nfft1/2)*fs/nfft1;
figure(1)
subplot(211)
plot(fz1,ys1(1:nfft1/2)*2/p)
xlabel('频率/Hz')
ylabel('幅值')
title('64点fft')
rfft2=fft(y,nfft2);
ys2=abs(rfft2);
fz2=(1:nfft2/2)*fs/nfft2;
subplot(212)
plot(fz2,ys2(1:nfft2/2)*2/p);
xlabel('频率/Hz')
ylabel('幅值')
title('256点fft')

从上图可以看出,采样频率越多,频谱图效果越好

例4.对例3的信号进行fft逆变换,与原信号对比。

clc
clear
close all
fs=256;
f1=30;
f2=80;
t=0:1/fs:1-1/fs;
p=length(t);
y=2*sin(2*pi*f1.*t)+sin(2*pi*f2.*t);
nfft=256;
rfft=fft(y,nfft);
ys=abs(rfft);
fz=(1:nfft/2)*fs/nfft;
xifft=ifft(rfft);
realx=real(xifft);
ti=[0:length(xifft)-1]/fs;
yfft=fft(xifft,nfft);
myfft=abs(yfft);
p1=length(xifft);
figure(1)
subplot(221)
plot(t,y)
xlabel('时间/s')
ylabel('幅值')
title('原始信号')
subplot(222)
plot(fz,ys(1:nfft/2)*2/p);
xlabel('频率/Hz')
ylabel('幅值')
title('原始信号的fft')
subplot(223)
plot(ti,realx);
xlabel('时间/s')
ylabel('幅值')
title('逆变换后的信号')
subplot(224)
plot(fz,myfft(1:nfft/2)*2/p1);
xlabel('频率/Hz')
ylabel('幅值')
title('逆变换后得到的信号的fft')

例5 对西储大学的数据进行傅里叶变换

clc,
clear,
close all;

load 130.mat
x = X130_DE_time;
fs = 12000;
N=length(x);   %采样频率和数据点数
t = 0:1/fs:(N-1)/fs;
y = fft(x,N);
y1 = abs(y);
ayy = y1/(N/2);
ayy(1) = ayy(1)/2;
f = ((1:N)-1)*fs/N;
subplot(211)
tt=1000:1500;
plot(tt,x(tt),'color',[0/255,0/255,255/255],'LineWidth',0.8);
title('时域分析')
xlabel('时间(t)')
ylabel('m/s^2')
subplot(212)
plot(f(1:(N-1)/2),ayy(1:(N-1)/2),'color',[0/255,0/255,255/255],'LineWidth',0.8);
grid on
%xlim([0 500])
xlabel('频率[f]');
ylabel('Amplitude(m/s^2)')
title('频域分析')

参考资料:

[1] 时献江 《机械故障诊断及典型案例解析》

[2]张玲玲 《基于matlab的机械故障诊断技术案例教程》

[3]傅里叶分析之掐死教程(完整版)更新于2014.06.06 - 知乎 (zhihu.com)

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

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

相关文章

AI音乐模型:创新还是颠覆?

文章目录 AI音乐大模型的崛起音乐创作门槛的降低与兴奋AI音乐作品的版权归属问题创意产业在AI阴影下的生长结语 🎉欢迎来到AIGC人工智能专栏~探索Java中的静态变量与实例变量 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨博客主页:IT陈寒的博客&…

【数据结构】链表的大概认识及单链表的实现

目录 一、链表的概念及结构 二、链表的分类 三、单链表的实现 建立链表的节点: 尾插——尾删: 头插——头删: 查找: 指定位置之后删除——插入: 指定位置之前插入——删除指定位置: 销毁链表&am…

向量和矩阵的点乘、叉乘

# 本科学习的全都还回去了-_- 一、向量 (1)点乘 向量点积, 𝑎⋅𝑏𝑐 ,符号为 ⋅ ,要求向量长度相同,是两个向量之间的点乘运算,结果是一个标量。又称&…

在 Equinix 上使用 MinIO 控制云数据成本

公有云改变了公司构建、部署和管理应用程序的方式,主要是向好的方向发展。在您刚开始使用时,公有云会提供基础架构、服务、支持和维护,以便快速启动和运行。它以几乎无限的方式提供最终的可伸缩性,无论应用程序的负载如何&#xf…

ROS中的TF是什么

在ROS (Robot Operating System) 中,tf::TransformBroadcaster 是一个用于发布坐标变换信息的重要类,尤其在处理机器人定位和导航数据时非常常见。tf::TransformBroadcaster 对象允许你广播从一个坐标系到另一个坐标系的变换关系,这对于多传感…

c语言 课设 atm

功能需求分析 ATM功能主界面:显示所能进行的操作,用户可多次选择。 ATM注册界面:输入用户名,用户密码,确认密码,密码长度不是六位重新输入,两次密码不一致重新输入,输入账号。密码隐藏,实现退格换行对*无影响。多人注册 ATM登录界面:输入账号,密码,三次以内输入…

bug记录——C语言中运算符前假后面不执行

A&&B A为真&#xff0c;才会判断B&#xff0c; 所以如果B访问越界的情况下必有A为假&#xff0c;那么代码是正确的 像这里&#xff0c;当child 1 > n时&#xff0c;a[child 1]越界访问&#xff0c; 但由于&&前面判断了child 1 < n为假&#xff0c;所以…

荒野大镖客2启动找不到emp.dll的7个修复方法,轻松解决dll丢失的办法

一、emp.dll文件丢失的常见原因 安装或更新问题&#xff1a;在软件或游戏的安装过程中&#xff0c;可能由于安装程序未能正确复制文件到目标目录&#xff0c;或在更新过程中文件被意外覆盖或删除&#xff0c;导致emp.dll文件丢失。 安全软件误删&#xff1a;某些安全软件可能…

跌倒识别:守护公共安全的AI技术应用场景-免费API调用

随着科技的不断进步&#xff0c;人工智能在各个领域的应用日益广泛&#xff0c;其中在公共安全领域&#xff0c;智能跌倒识别系统正逐渐成为守护人们安全的重要工具。本文将分享智能跌倒识别系统在不同场景下的应用及其重要性。 产品在线体验地址-API调用或本地化部署 AI算法模…

C#实现音乐在线播放和下载——Windows程序设计作业3

1. 作业内容 编写一个C#程序&#xff0c;在作业二实现的本地播放功能的基础上&#xff0c;新增在线播放和在线下载功能&#xff0c;作业二博客地址&#xff1a;C#实现简单音乐文件解析播放——Windows程序设计作业2 2. 架构选择 考虑到需求中的界面友好和跨版本兼容性&#xf…

【Linux】基础IO_3

文章目录 六、基础I/O3. 软硬链接4. 动静态库 未完待续 六、基础I/O 3. 软硬链接 使用 ln 就可以创建链接&#xff0c;使用 ln -s 可以创建软链接&#xff0c;直接使用 ln 则是硬链接。 我们对硬链接进行测试一下&#xff1a; 根据测试&#xff0c;我们知道了 硬链接就像一…

Django框架数据库ORM查询操作

Django框架在生成数据库的models模型文件后&#xff0c;旧可以在应用中通过ORM来操作数据库了。今天抽空试了下查询语句。以下是常用的查询语句。 以下查询需要引入django的Sum&#xff0c;Count&#xff0c;Q模块 from django.db.models import Sum,Count,Q 导入生成的mode…

【FreeRTOS】删除任务 用遥控器控制音乐

参考《FreeRTOS入门与工程实践(基于DshanMCU-103).pdf》 学习视频&#xff1a;【FreeRTOS入门与工程实践 --由浅入深带你学习FreeRTOS&#xff08;FreeRTOS教程 基于STM32&#xff0c;以实际项目为导向&#xff09;】 【精准空降到 01:22】 https://www.bilibili.com/video/BV1…

App Store苹果应用商店如何退款

这几天想在App Store找一款录音可以转文字的app&#xff0c;结果找到后需要订阅才能转文字&#xff1b;最短1个月38元&#xff0c;购买之后&#xff0c;试用了功能&#xff0c;发现转出来的文字差强人意&#xff0c;且好多语音漏过了没转出来&#xff1b;于是决定取消订阅&…

ArkUI部分案例笔记——padding,space

基础的构建 组件分类&#xff1a; 容器组件&#xff1a;像Column&#xff0c;Row这种组件就是容器组件一般就来控制行和列的就是容器组件 基础组件&#xff1a;Text(文本组件)&#xff0c;像这种用来有一定功能的就是基础组件 注意&#xff1a;一个build只能有一个根容器组件…

8.12 矢量图层面要素单一符号使用五(栅格数据填充)

文章目录 前言栅格数据填充&#xff08;Raster image fill&#xff09;QGis设置面符号为栅格数据填充&#xff08;Raster image fill&#xff09;二次开发代码实现栅格数据填充&#xff08;Raster image fill&#xff09; 总结 前言 本章介绍矢量图层线要素单一符号中使用栅格…

XXL-Job实战(千万级短信推送实战)

上回我们介绍了传统定时任务与分布式任务调度的差异以及它们的优缺点&#xff0c;本节我们使用Xxl-job来实现相关需求。 首先我们需要下载Xxl-job对应的服务端&#xff1b;下面是Xxl-job的github地址&#xff1a; Releases xuxueli/xxl-job (github.com) 版本我们选择V-2.3…

【iOS】编译二进制文件说明

编译二进制文件说明 如何生成文件路径文件说明第一部分&#xff1a;.o文件第二部分&#xff1a;link第三部分&#xff1a;Segment第四部分&#xff1a;Symbol 如何生成 使用Xcode进行编译 &#xff0c;会生成二进制相关文件&#xff0c;可以更详细看产物的布局 项目Target -&…

Python统计实战:一题搞定多元线性回归、共线性、相对重要性分析

为了解决特定问题而进行的学习是提高效率的最佳途径。这种方法能够使我们专注于最相关的知识和技能&#xff0c;从而更快地掌握解决问题所需的能力。 &#xff08;以下练习题来源于《统计学—基于Python》。联系获取完整数据和Python源代码文件。&#xff09; 练习题 为了分析…

自动控制原理出射角计算

背景&#xff1a;突然发现自己出射角不会算 被减数是零点到极点的角度&#xff0c;减数是极点到极点的角度