基于广义极大极小凹惩罚的心电信号降噪方法(MATLAB R2021B)

凸优化是数学最优化的一个子领域,研究定义于凸集中的凸函数最小化问题。由于心电信号降噪的过程可以理解为求信号的稀疏近似解,因此基于凸优化和稀疏性表达的去噪方法可用于心电信号处理。在凸优化的数学模型中,惩罚项的选取对最终结果会产生较大影响。1范数作为惩罚项是产生稀疏近似解的一个较为广泛的选择。在1范数的基础上,广义极大极小凹罚函数能够进一步提高解的稀疏性,大大提高降噪效果,而且还能够避免产生局部最小值,更容易使所得到的解达到全局最优。因此,采用基于GMC的凸优化方法对心电信号进行降噪处理,创新运行环境为MATLAB R2021B。

function 

% [x, v] = srls_GMC(y, A, AH, rho, lam, gamma)

% Saddle point problem:
%
% argmin_x  argmax_v { F(x,v) =
%  1/2 ||y - A x||^2 + lam ||x||_1 - gamma/2 ||A(x-v)||_2^2 - lam ||v||_1 }
%
% INPUT
%   y       data
%   A, AH   operators for A and A^H
%   rho     rho >= maximum eigenvalue of A^H A
%   lam     regularization parameter, lam > 0
%   gamma   0 <= gamma < 1
%
% OUTPUT
%   x, v

MAX_ITER = 10000;
TOL_STOP = 1e-4;

% soft thresholding for complex data
soft = @(x, T) max(1 - T./abs(x), 0) .* x;

% soft thresholding for real data
% soft = @(t, T) max(t - T, 0) + min(t + T, 0);

% rho = max(eig(A'*A));
mu = 1.9 / ( rho * max( 1,  gamma / (1-gamma) ) );

AHy = AH(y);

% initialization
x = zeros(size(AHy));
v = zeros(size(AHy));

iter = 0;
old_x = x;
delta_x = [inf];

while (delta_x(end) > TOL_STOP) && (iter < MAX_ITER)    
    iter = iter + 1;
    
    % update x
    zx = x - mu * ( AH(A(x + gamma*(v-x))) - AHy );
    zv = v - mu * ( gamma * AH(A(v-x)) );
    
    % update v
    x = soft(zx, mu * lam);
    v = soft(zv, mu * lam);
    
    delta_x(iter) = max(abs( x(:) - old_x(:) )) / max(abs(old_x(:)));
    old_x = x;    
    %完整代码:https://mbd.pub/o/bread/mbd-ZZaZmZZs

end

图片

图片

图片

图片

图片

工学博士,担任《Mechanical System and Signal Processing》《中国电机工程学报》《控制与决策》等期刊审稿专家,擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LLVM技术在GaussDB等数据库中的应用

目录 LLVM和数据库 LLVM适用场景 LLVM对所有类型的SQL都会有收益吗&#xff1f; LLVM在OLTP中就一定没有收益吗&#xff1f; GaussDB中的LLVM 1. LLVM在华为应用于数据库的时间线 2. GaussDB LLVM实现简析 3. GaussDB LLVM支持加速的场景 支持LLVM的表达式&#xff1a…

python zip()函数(将多个可迭代对象的元素配对,创建一个元组的迭代器)zip_longest()

文章目录 Python zip() 函数深入解析基本用法函数原型基础示例 处理不同长度的迭代器高级用法多个迭代器使用 zip() 与 dict()解压序列 注意事项内存效率&#xff1a;zip() 返回的是一个迭代器&#xff0c;这意味着直到迭代发生前&#xff0c;元素不会被消耗。这使得 zip() 特别…

浅谈SpringBoot配置文件

文章目录 一、配置文件作用二、配置文件分类三、SpringBoot内置的配置文件格式3.1、.properties3.1.1、.properties配置语法3.1.2、.properties读取方式 3.2、.yml/.yaml3.2.1、.yml配置语法3.2.2、.yml读取形式 四、两种配置文件优缺点4.1、.properties4.2、.yml4.2.1、.yml支…

多门店小程序如何给各个门店进行结算

​有些商家业务扩张&#xff0c;会开设多个门店。其中有些门店是直营&#xff0c;有些门店是加盟。如果用一个小程序来涵盖所有门店的业务&#xff0c;那将有助于商家进行统一管理和建立品牌效应。但如何给各个门店进行资金结算&#xff0c;是一个重要的问题&#xff0c;本文将…

探索JavaScript函数---基础篇

目录 函数 声明和调用 声明&#xff08;定义&#xff09; 调用 参数 形参和实参 形参&#xff08;Formal Arguments&#xff09; 实参&#xff08;Actual Arguments&#xff09; 形参与实参的关系 返回值 作用域 全局作用域 局部作用域 匿名函数 函数表达式 立…

无限可能LangChain——开启大模型世界

什么是大语言模型&#xff1f; 大语言模型是一种人工智能模型&#xff0c;通常使用深度学习技术&#xff08;如神经网络&#xff09;来理解和生成人类语言。这些模型拥有非常多的参数&#xff0c;可以达到数十亿甚至更多&#xff0c;使得它们能够处理高度复杂的语言模式。 我…

【网络安全】Web安全基础 - 第二节:前置基础知识- HTTP协议,握手协议,Cookie及Session

本章节主要介绍一些基础知识 d(^_^o) HTTP协议 什么是HTTP 超文本传输协议&#xff08;HyperText Transfer Protocol&#xff09;是一种用于分布式、协作式和超媒体信息系统的应用层协议。 HTTP是一个基于请求与响应&#xff0c;无状态的&#xff0c;应用层协议&#xff0c;…

30 分钟内掌握 Mainnet、Testnet 和 Devnet。Devnet是什么??

在区块链技术领域&#xff0c;Mainnet、Testnet 和 Devnet 等术语经常被使用&#xff0c;但也经常被误解。 这三种环境在区块链应用的开发和部署中起着至关重要的作用&#xff0c;但它们的区别和目的却常常被混淆。 让我们踏上探索之旅&#xff0c;揭开 Mainnet、Testnet 和 De…

HTML5+CSS3回顾总结

一、HTML5新特性 1.语义化标签 <header> 头部标签<nav> 导航标签<article> 内容标签<section> 定义文档某个区域<aside> 侧边栏标签<footer> 尾部标签 2.多媒体标签 2.1视频标签vedio 》常规写法&#xff08;尽量都使用mp4&#xff0…

google的chromedriver最新版下载地址

Chrome for Testing availability (googlechromelabs.github.io) 复制对应的地址跳转进去即可下载&#xff0c;下载前先看下自己google浏览器版本&#xff0c;找到对应的版本号去下载&#xff0c;把解压缩的exe放到google浏览器目录下。

3D软件开发的相关技术

3D开发涉及到广泛的技术和工具&#xff0c;涵盖了多个领域&#xff0c;包括计算机图形学、编程、设计、物理模拟等。以下是3D开发中常用的技术和工具&#xff0c;掌握这些技术需要广泛的知识和实践&#xff0c;项目的成功依赖于对这些技术的有效整合和应用。北京木奇移动技术有…

写大型C工程makefile构建~

正文 最开始学习linux应用开发编写的时候&#xff0c;估计大部分伙伴们都是在一个目录里面编译整个工程&#xff0c;主要是linux通常没有非常合适的集成开发环境。 以前单目录的方式实在太过捡漏&#xff0c;在linux环境中进行C代码工程开发很多时候需要编写一个相对比较通用的…

海康 面阵相机命名规则

海康 面阵相机命名规则 https://www.v-club.com/vCollage/vCollageDetail/516?subjectIdRMse6nPiyo

Nginx(openresty) 开启gzip压缩功能 提高web网站传输速度

1 开启nginx gzip压缩后&#xff0c;网页的图片&#xff0c;css、js等静态资源的大小会减少&#xff0c;节约带宽&#xff0c;提高传输效率&#xff0c;给用户快的体验,给用户更好的体验. 2 安装 #centos 8.5 yum install gzip 3 配置 #建议统一配置在http段 vim /usr/loca…

汇舟问卷:兼职做国外问卷三小时挣200

在繁忙的都市生活中&#xff0c;许多人为了生计而日夜奔波。对于大多数人来说&#xff0c;白天的工作已经足够充实&#xff0c;但依然有很多人选择在下班时间&#xff0c;多做些什么&#xff0c;为自己带来一份额外​的收入。 目前下班做的兼职工作不是跑滴滴&#xff0c;就是…

发表《Science Advances》!量子近似优化算法实现再突破

内容来源&#xff1a;量子前哨&#xff08;ID&#xff1a;Qforepost&#xff09; 文丨慕一/娴睿 排版丨沛贤 深度好文&#xff1a;1500字丨6分钟阅读 摘要&#xff1a;摩根大通、美国能源部&#xff08;DOE&#xff09;阿贡国家实验室和 Quantinuum 的研究人员证明了量子近似…

NetApp财季报告亮点:全闪存阵列需求强劲,云计算收入增长放缓但AI领域前景乐观

在最新的财季报告中&#xff0c;NetApp的收入因全闪存阵列的强劲需求而显著增长。截至2024年4月26日的2024财年第四季度&#xff0c;NetApp的收入连续第三个季度上升&#xff0c;达到了16.7亿美元&#xff0c;较前一年同期增长6%&#xff0c;超出公司指导中值。净利润为2.91亿美…

MySQL-事务日志

事务的隔离性由 锁机制 实现 事务的原子性、一致性、隔离性 由事务的 redo日志 和 undo 日志来保证 redo log 称为 重做日志&#xff0c;提供再写入操作&#xff0c;恢复提交事务修改的页操作&#xff0c;用来保证事务的持久性。undo log 称为 回滚日志&#xff0c;回滚行记录…

揭秘c语言作用域

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文主要整理c语言中 与作用域相关的知识点 本文适合对象:无编程基础&#xff0c;因为解释的比较多&#xff0c;所以不适合有基础的人快速掌握了 作用域描述 其实就是起作用的区域。比如个变量&#xff0c;函数…

System-Verilog 实现DE2-115倒车雷达模拟

System-Verilog 实现DE2-115倒车雷达模拟 引言&#xff1a; 随着科技的不断进步&#xff0c;汽车安全技术也日益成为人们关注的焦点。在众多汽车安全辅助系统中&#xff0c;倒车雷达以其实用性和高效性脱颖而出&#xff0c;成为现代汽车不可或缺的一部分。倒车雷达系统利用超声…