基于L1范数惩罚的稀疏正则化最小二乘心电信号降噪方法(Matlab R2021B)

news2024/11/17 19:34:37

L1范数正则化方法与Tikhonov正则化方法的最大差异在于采用L1范数正则化通常会得到一个稀疏向量,它的非零系数相对较少,而Tikhonov正则化方法的解通常具有所有的非零系数。即:L2范数正则化方法的解通常是非稀疏的,并且解的结果在一定范围内是发散的,而L1范数正则化方法的解通常是稀疏的。

鉴于此,采用L1范数惩罚的稀疏正则化最小二乘方法对心电信号进行降噪,算法可迁移至金融时间序列,地震信号,语音信号,声信号,生理信号等一维时间序列信号,运行环境为MATLAB R2021B,主算法代码如下:

function [x, cost, delta_x] = L1NORM(y, A, AH, rho, lam)

% x = srls_L1(y, A, AH, rho, lam)
%
% Minimize ||y - A x||_2^2 + lam ||x||_1
%
% INPUT
%   y      : data
%   A, AH  : function handles for A and its conj transpose
%   rho    : rho >= maximum eigenvalue of A'A
%   lam    : regularization parameter, lam > 0
%
% OUTPUT
%   x      : solution
%
% [x, cost] = srls_L1(...) returns cost function history

% Algorithm: ISTA (forward-backward splitting)

MAX_ITER = 10000;
TOL_STOP = 1e-4;

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

cost = zeros(1, MAX_ITER);            % cost function history

mu = 1.9 / rho;

% Initialization
AHy = AH(y);                                % A'*y
x = AH(zeros(size(y)));
Ax = A(x);

iter = 0;
old_x = x;

delta_x = [inf];

while (delta_x(end) > TOL_STOP) && (iter < MAX_ITER)
    iter = iter + 1;
    
    z = x - mu * ( AH(Ax) - AHy );
    x = soft(z, lam * mu);
    Ax = A(x);
    
    % cost function history
    residual = y - Ax;
    cost(iter) = 0.5 * sum(abs(residual(:)).^2) + lam * sum(abs(x(:))) ;
    
    delta_x(iter) = max(abs( x(:) - old_x(:) )) / max(abs(old_x(:)));
    old_x = x;   
end
%完整代码:https://mbd.pub/o/bread/mbd-ZZaZmplr

cost = cost(1:iter);

图片

图片

图片

图片

图片

完整代码:https://mbd.pub/o/bread/mbd-ZZaZmplr

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

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

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

相关文章

虹科Pico汽车示波器 | 免拆诊断案例 | 2010 款北京现代ix35车挡位偶尔锁定在4挡

故障现象 一辆2010款北京现代ix35车&#xff0c;搭载G4KD发动机和6速自动变速器&#xff0c;累计行驶里程约为23.6万km。该车行驶中急加速时&#xff0c;挡位偶尔锁定在4挡&#xff0c;同时发动机故障灯异常点亮。 故障诊断 该车自动变速器控制模块&#xff08;TCM&#xff0…

css-calc动态计算属性值无效

1.calc计算 可以使用css属性动态适应盒子的宽高&#xff0c;适用于布局中左侧固定宽或高&#xff0c;右侧宽度适应&#xff1b;右侧宽度等于calc(100vw - rightWidth); 2.属性值无效 3.解决 width: calc(100vw - 360px); 减号左右需要空格

Kivy 项目51斩百词 5

MRWord\pages\infopage\info.py def read_random_word(self) def read_random_word(self):"""随机读取一条数据"""sql "SELECT * FROM word WHERE id (SELECT word_id FROM today ORDER BY RANDOM() limit 1)"rows select_data(sq…

Google使用AI改进了 Sheets;开源视觉语言模型llama3v;开源情绪语音模型ChatTTS;

✨ 1: Google has improved Sheets with AI. Google 使用 AI 改进了 Sheets 您可以使用 Gemini 处理您的数据并将其变成老师。 优化您的数据 Gemini 了解您的数据并提出改进建议。 例如&#xff0c;它可以将重复数据转换为更实用的下拉框。 解释数据 通过单击双子座图标…

产品推荐 | 基于Xilinx Zynq-7015 FPGA的MYC-C7Z015开发板

一、产品概述 基于 Xilinx Zynq-7015&#xff0c;双Cortex-A9FPGA全可编程处理器&#xff1b;PS部分(ARM)与PL部分(FPGA)之间采用AXI高速片上总线通信&#xff0c;吉比特级带宽&#xff0c;突破传统ARMFPGA架构的通信瓶颈&#xff0c;通过PL部分(FPGA)灵活配置丰富的外设接口&…

电表自动抄表系统:智能时代的能源管理新方式

1.界定和功能 电表自动抄表系统是一种现代化电力计量技术&#xff0c;它利用先进的通讯技术和互联网&#xff0c;完成了远程控制、实时电磁能数据采集和处理。系统的主要作用包含全自动载入电表数据信息、实时检测电力应用情况、出现异常报案及其形成详尽能源使用报告&#xf…

OpenHarmony面向万物智联的应用框架的思考与探索

应用框架&#xff0c;是操作系统连接开发者生态&#xff0c;实现用户体验的关键基础设施。业务的飞速发展促进了应用框架不断演进和变化。 01►业界应用框架的演进 应用是用户使用操作系统/设备的入口&#xff0c;应用框架则是应用开发和运行的基础设施。以移动端为例&#x…

逍遥散人的“痛婚”,让《光夜》玩家悄悄破防了

网红博主的一场求婚&#xff0c;让《光与夜之恋》玩家破防了。 知名游戏博主逍遥散人发微博公布求婚成功&#xff0c;本来应该是一件喜事&#xff0c;但却因为求婚场景布满了《光与夜之恋》男主角之一陆沉的谷子&#xff08;周边&#xff09;&#xff0c;遭到了“6推”&#x…

什么是组态?什么是工业控制中的组态软件?

随着工业4.0和智能制造的发展&#xff0c;工控软件的应用越来越广泛&#xff0c;它们在提高生产效率、降低能耗和减少人力成本等方面发挥着越来越重要的作用。 什么是工控软件&#xff1f; 工控软件是指用于工业控制系统的软件&#xff0c;主要应用于各种生产过程控制、自动化…

6种经典的网页布局设计,你最喜欢哪个?

信息时代&#xff0c;我们每天都会浏览很多网页&#xff0c;但你有没有想过&#xff0c;让你停留在一个新网页的关键因素有哪些&#xff1f;毫无疑问&#xff0c;网页布局一定是关键因素之一。一个优秀的网页布局不仅可以让网站看起来更美观、更专业&#xff0c;还能够抓住用户…

如何顺利通过软考中级系统集成项目管理工程师?

中级资格的软考专业包括"信息系统"&#xff0c;属于软考的中级级别。熟悉软考的人都知道&#xff0c;软考分为初级、中级和高级三个级别&#xff0c;涵盖计算机软件、计算机网络、计算机应用技术、信息系统和信息服务五个专业&#xff0c;共设立了27个资格。本文将详…

代码随想录算法训练营第八天| 344.反转字符串、541. 反转字符串II、 卡码网:54.替换数字、151.翻转字符串里的单词、卡码网:55.右旋转字符串

344.反转字符串 题目链接&#xff1a; 344.反转字符串 文档讲解&#xff1a;代码随想录 状态&#xff1a;so easy 题解&#xff1a; public void reverseString(char[] s) {int left 0, right s.length - 1;char temp s[0];while (left < right) {temp s[left];s[left] …

linux下常用的终端命令

文章目录 1. MV移动文件、重命名文件1.1 移动文件&#xff1a;mv [选项] 源文件或目录 目标文件或目录1.2 文件重命名 2. 查找&#xff1a;文件&#xff0c;内容&#xff0c;统计文件2.1 find查找文件2.2 Linux查找文件内容 3. 查看当前用户4. linux修改文件所属用户和组5. 复制…

MiniPCIe/SATA双用插槽无法识别minipcie模块怎么回事!

在计算机和嵌入式系统设计中,MiniPCIe/SATA双用插槽作为一种高度集成的解决方案,提供了极大的灵活性与扩展能力。它不仅能够支持MiniPCIe接口的无线网卡、固态硬盘控制器等模块,还能适应SATA接口的硬盘或固态存储设备,大大丰富了系统配置的可能性。尽管设计初衷良好,但在实…

【YOLO系列】YOLOv10模型结构详解与推理部署实现

点击开始系统化学习YOLOv系列网络 YOLOv10模型 早晨看到一堆推文&#xff0c;说YOLOv10已经发布了&#xff0c;吓我一跳&#xff0c;这个世界变化这么快&#xff0c; 然后快速的看一下相关的文档&#xff0c;发现YOLOv10 相比YOLOv8有两个最大的改变分别是 添加了PSA层跟CIB…

【AI赋能】香橙派OrangePi AIpro初体验

【AI赋能】香橙派OrangePi AIpro初体验 1、初识香橙派1.1、仪式感开箱1.2、OrangePi AIpro(8T)介绍 2、上电开机2.1、开机2.2、串口调试2.2.1 两种方式登录2.2.2 相关信息 2.3、启动系统2.4、网络配置 3、连接摄像头4、目标检测4.1、Jupyter Lab模式4.2、 目标检测测试4.2.1 视…

开一个抖音小店可以经营几个类目?经营几个类目最合适?

大家好&#xff0c;我是喷火龙。 抖音小店的商品类目和商品数量是没有限制的&#xff0c;只要是在营业执照的经营范围之内的类目都能入驻抖音小店&#xff0c;但是选择的主营类目不能超过三个。 有些商家可能会想&#xff0c;自己经营多个类目&#xff0c;做多种商品种类&…

梳理清楚的echarts地图下钻和标点信息组件

效果图 说明 默认数据没有就是全国地图&#xff0c; $bus.off("onresize")是地图容器变化刷新地图适配的&#xff0c;可以你们自己写 getEchartsFontSize是适配字体大小的&#xff0c;getEchartsFontSize(0.12) 12 mapScatter是base64图片就是图上那个标点的底图 Ge…

【Java SE】超详细讲解String类

&#x1f970;&#x1f970;&#x1f970;来都来了&#xff0c;不妨点个关注叭&#xff01; &#x1f449;博客主页&#xff1a;欢迎各位大佬!&#x1f448; 文章目录 1. 初步认识String2. String类的常用方法2.1 字符串构造2.2 String对象比较2.2.1 比较是否引用同一个对象2.2…

3.4 移动机器人工作空间(摘自自主移动机器人导论2)

对于一个机器人来说&#xff0c;机动性等效于它的控制自由度。但是&#xff0c;机器人是处于某种环境的&#xff0c;因而下一个问题是把我们的分析放到环境之中。 我们关心机器人用它可控制的自由度在环境中定位它本身的方法。例如&#xff0c;考虑 Ackerman 车辆或汽车&#…