基于CNN的变转速轴承故障智能诊断方法(CWTS+PSPP)

本方法的最大优势在于,可以在机器变速的情况下,依然可以获取较好的精确度,也就是防止了过拟合(有的模型只能在特定条件的数据下才能达到高准确率,条件一变准确率就断崖式下降)

流程图:

实际的技术改进有两个:

1.CWTS

用于对数据进行预处理,二维的CWTS对信号进行拆分后,它能维持信号在时域和频域上的所有信息

然后根据机器的转速,对二维信号作适当的大小裁剪,裁剪后的数据才作为CNN的输入

CWT

CWT,即连续小波变换,能把一段振动信号分解为时域和频域信号,原理如下

傅里叶提出,任何周期函数都可以用正弦函数和余弦函数构成的无穷级数来表示(机器是依靠旋转工作的,必然拥有周期)

我们要做的,就是把这些信号所对应的三角函数找出来

在连续小波变换中,我们需要用到小波碰撞,小波的基函数为

              

它由一个复三角函数乘上一个指数衰减函数构成的

其中,i代表常数,wo代表中心频率,t为自变量

复三角函数决定了函数的频率(指数函数没有频率和周期,因此三角函数就直接决定了函数频率)

指数衰减函数决定了函数的持续时间(指数函数参数不同衰减快慢不一样,衰减慢,持续时间就长,衰减快,持续时间就短)

进阶公式:

其中,b代表平移距离,a代表自变量的缩放

 

了解了小波基函数,就可以开始作连续小波变换了

连续小波变换的运算实际上是积分,是原始信号与小波基函数乘积后积分的过程

这里需要用到一个原理,不同三角函数相乘,频率一致时,得到的积分最大;频率相近,积分有数值;频率相差较大,积分基本为0

 

图示例子

  • 5
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
以下是一个简单的MATLAB代码实现,演示了如何使用短时分数阶傅里叶换(SFCWT)提取线性调频信号(LFM)的脉冲宽度。 ```matlab % 生成一个线性调频信号 Fs = 1000; % 采样频率 T = 1/Fs; % 采样间隔 L = 1000; % 信号长度 t = (0:L-1)*T; % 时间向量 f0 = 50; % 起始频率 f1 = 150; % 终止频率 B = f1 - f0; % 频率带宽 S = chirp(t, f0, t(end), f1); % 生成线性调频信号 % 使用短时分数阶傅里叶换提取脉冲宽度 wname = 'db10'; % 小波基函数 n = 2; % 分数阶次数 win = hamming(64); % 窗函数 step = 32; % 步长 cwtS = zeros(length(S), 1000); % 存储SFCWT系数 for i = 1:1000 idx = (i-1)*step+1 : (i-1)*step+64; % 窗口位置 [cfs,frq] = cwt(S(idx), win, 'scales', 1:64, 'wavelet', wname, 'frqscale', 'log'); % 计算SFCWT系数 cwtS(idx,:) = abs(cfs).^n .* sign(cfs); % 取模和相位 end width = zeros(1,1000); % 存储脉冲宽度 for i = 1:1000 idx = (i-1)*step+1 : (i-1)*step+64; % 窗口位置 cfs = cwtS(idx,i); % SFCWT系数 cfs(cfs==0) = eps; % 避免除以0 q = log(abs(cfs))/n; % 计算幂指数 [~,maxidx] = max(q); % 找到峰值位置 width(i) = 2^frq(maxidx)/B; % 计算脉冲宽度 end % 绘制结果 figure; subplot(2,1,1); plot(t, S); xlabel('时间(秒)'); ylabel('幅度'); title('线性调频信号'); subplot(2,1,2); plot((0:999)*step/Fs, width); xlabel('时间(秒)'); ylabel('脉冲宽度(秒)'); title('使用短时分数阶傅里叶换提取脉冲宽度'); ``` 此代码生成一个线性调频信号,使用SFCWT提取脉冲宽度,并绘制结果图。可以根据需要修改参数和细节以适应不同的应用场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值