当前位置: 首页 > news >正文

一种非凸全变差正则化的信号降噪方法(以模拟信号和轴承振动信号为例,MATLAB)

以旋转机械振动信号为例,由于旋转机械运行中背景噪声较强,振动信号需要进行降噪处理。常用的小波阈值降噪会在信号的不连续处产生虚假的波峰和伪吉布森震荡,而奇异值分解SVD去噪容易产生虚假分量,全变差去噪则不会出现这样的情况,因此采用全变差降噪以达到更好的效果。全变差降噪的问题作为一个L1正则化问题,可以通过优化极小化方法进行求解,可以有效地去除振动信号中的强背景噪声,较好地体现出冲击的故障特征。

鉴于此,采用一种非凸全变差正则化的信号降噪方法对模拟信号和轴承振动信号进行验证,运行环境为MATLAB 2018A。

cleary = load('blocks_noisy.txt');   % load data
sigma = 0.5;x_clean = load('blocks.txt');   % load dataN = length(y);
n = 1:N;figure(1)
clf
plot(n, y, 'color', 'black', 'linewidth', 1)
title('Noisy signal');
ax = [0 length(y) -3 6];
axis(ax)

clc;clear all
%轴承2_2,采样频率25600Hz,外圈故障特征频率因子3.083,转速2250/60Hz,外圈故障特征频率115.6125
%x1 = xlsread('Bearing2_2/161.xlsx');%重度故障
x1 = xlsread('Bearing2_2/60.xlsx');%早期故障
x1 =x1(:,1);x1=x1(1:10240*2)
x1 = x1-mean(x1);
fs = 25600;
N = length(x1);
t = 0:1/fs:(N-1)/fs;
figure
[pEnvInner, fEnvInner, xEnvInner, tEnvInner] = envspectrum(x1, fs);plot(fEnvInner, pEnvInner)
xlim([0 500]);ncomb = 20;helperPlotCombs(ncomb,115.6125);xlabel('Frequency(Hz)');ylabel('Ampitude')y = x1;   %data
sigma = 0.5;
% x_clean = load('blocks.txt');   % load data
N = length(y);
n = 1:N;完整代码可通过知乎学术咨询获得:
https://www.zhihu.com/consult/people/792359672131756032?isMe=1

擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Typora failed to export as pdf. undefined
  • Qt时间日期处理与定时器使用总结
  • 如何在Java中使用Elasticsearch
  • uniapp + vite中 uni.scss 使用 /deep/ 不生效(踩坑记录三)
  • Java面试题:sql优化
  • PHP框架Symfony详解
  • mxd的地图文件 像百度地图那样在vue页面上展示出来
  • JS滚动时显示元素
  • Vuetify3:隐藏超出的文字
  • Python正则表达式的入门用法(上)
  • 快速上手文心一言指令:解锁AI交互新体验
  • 【linux/shell】shell中使用for循环读取数据
  • three.js利用着色器实现波浪效果
  • 新手教学系列——慎用Flask-SQLAlchemy慢日志记录
  • C++_STL---list
  • JS 中的深拷贝与浅拷贝
  • .pyc 想到的一些问题
  • 2017-08-04 前端日报
  • Debian下无root权限使用Python访问Oracle
  • ES学习笔记(12)--Symbol
  • GitUp, 你不可错过的秀外慧中的git工具
  • Javascript Math对象和Date对象常用方法详解
  • javascript从右向左截取指定位数字符的3种方法
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • Python 基础起步 (十) 什么叫函数?
  • Spring框架之我见(三)——IOC、AOP
  • 高性能JavaScript阅读简记(三)
  • 巧用 TypeScript (一)
  • 线上 python http server profile 实践
  • 新书推荐|Windows黑客编程技术详解
  • 应用生命周期终极 DevOps 工具包
  • 大数据全解:定义、价值及挑战
  • # 职场生活之道:善于团结
  • #nginx配置案例
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • $.ajax()方法详解
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (done) 两个矩阵 “相似” 是什么意思?
  • (补充)IDEA项目结构
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (回溯) LeetCode 46. 全排列
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (每日一问)基础知识:堆与栈的区别
  • (原創) 物件導向與老子思想 (OO)
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET C# 使用GDAL读取FileGDB要素类
  • .net 使用ajax控件后如何调用前端脚本
  • .NetCore发布到IIS
  • /var/log/cvslog 太大
  • @Documented注解的作用
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • [4.9福建四校联考]
  • [8] CUDA之向量点乘和矩阵乘法