一维信号的小波变换与重构算法matlab仿真

目录

1.程序功能描述

2.测试软件版本以及运行结果展示

3.核心程序

4.本算法原理

4.1 小波变换原理

4.2 离散小波变换(DWT)

5.完整程序


1.程序功能描述

       一维信号的小波变换与重构算法matlab仿真,对正弦测试信号进行小波变换,然后进行重构,然后计算重构之后的信号与原信号的误差。

2.测试软件版本以及运行结果展示

MATLAB2022A版本运行

(完整程序运行后无水印)

3.核心程序

...............................................................
% 绘制分解后的各个系数图像
figure
subplot(411)
plot(x);title('原始信号');xlim([0,length(x)]);
subplot(412)
plot(cD1);title('cD1');xlim([0,length(x)/2]);
subplot(413)
plot(cD2);title('cD2');xlim([0,length(x)/4]);
subplot(414)
plot(cA2);title('cA2');xlim([0,length(x)/4]);

% 一维小波重构过程
% 对低频系数cA1进行上抽取(补零操作)
upl=func_up_sample(cA1);         
% 对上抽取后的信号使用低通滤波器进行重构
cvl=func_wlfilter(upl,Lw);      
% 对高频系数cD1进行上抽取(补零操作)
uph=func_up_sample(cD1);       
% 对上抽取后的信号使用高通滤波器进行重构
cvh=func_wlfilter(uph,Hi);      
% 将低频和高频重构部分相加以得到最终重构信号
yst=cvl+cvh;             

% 绘制重构信号与原始信号的对比图
figure
subplot(211)
plot(x);title('原始信号');axis([0 1000 -1.5 1.5]); 
subplot(212)
plot(yst);title('重构信号');axis([0 1000 -1.5 1.5]); % 设置重构信号的坐标轴范围


%重构误差
figure
plot(x-yst(1+6:length(x)+6));title('重构误差');axis([0 1000 -2.5 2.5]); 
63

4.本算法原理

        一维信号的小波变换是一种时频分析方法,它通过在不同的尺度上分析信号,以捕捉信号的局部特征和时频结构。小波变换能够提供时间局部化和频率局部化的信息,这对于非平稳信号的分析尤为有效。小波变换的核心思想是使用一族具有多分辨率特性的基函数——小波基,这些基函数在时间和频率上都有局部化特性,既能在时间域聚焦于信号的某一局部,也能在频率域集中于某一频带。

4.1 小波变换原理

4.2 离散小波变换(DWT)

        在实际应用中,连续小波变换计算量巨大,因此通常采用离散小波变换(Discrete Wavelet Transform, DWT)来简化计算。DWT通过在时间域和尺度域进行量化,将连续小波变换离散化。最常用的离散小波变换方法之一是Mallat算法,也称为塔式算法。

        小波包变换(Wavelet Packet Transform, WPT)是对DWT的扩展,它不仅在尺度上进行分解,还在每个尺度上同时进行频率分割,使得在每个尺度上都能获得不同频率带的信息。小波包变换能够提供更细粒度的频带分析,适合于信号中包含多种频率成分的情况。

       其中,分解过程中的卷积和降采样操作可以用公式表示为:

其中,x[k]是原始信号的样本,h[n]和g[n]分别是低通和高通滤波器的系数。

       小波重构是分解过程的逆过程,涉及上采样和卷积:

        一维信号的小波变换通过选择合适的小波基函数和利用Mallat算法,可以在不同尺度上提取信号的特征,实现信号的时频分析。小波变换不仅在信号去噪、压缩、特征提取等方面有广泛应用,而且在图像处理、数据压缩、生物医学信号分析等领域也显示出强大的优势。小波包变换作为小波变换的扩展,进一步提高了信号分析的灵活性和精确度。

5.完整程序

VVV

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

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

相关文章

django admin添加自己的页面

建立模型 如果要单独建一个页面,用于展示model的数据,可以新建一个model,继承自要展示的那个类 class ViewsByDayModel(ViewsByDay): # 父类为要展示的model类class Meta:proxy True # 使用代理verbose_name 每日浏览次数统计verbose_nam…

快递大件多少算超重物品?

在快递大件物品时,我们经常听到“超重”这个词,但究竟多重才算超重呢?今天,就让我们来探讨一下快递大件的超重标准,以及如何更经济地快递这些超重物品。 1. 祺祺寄快递: “祺祺寄快递”是一个便捷的快递服…

python中类的继承详解

面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展 (1)在类的继承中,存在父类跟子类,子类可以继…

面包板的使用

概要 当你学习怎样去建立一个电路时,面包板是最基本、最简单的元件之一。由于板子上有很多小插孔,各种电子元器件可根据需要任意插入或拔出,免去了焊接的工序,节省了电路的组装时间,且元件可以重复使用,非…

比较器 XD393 XINLUDA(信路达) DIP-8 2.5mA 模拟比较器 双路差动

XD393是一款比较器集成电路,适用于各种电子设备中的信号比较和处理。它的应用领域可能包括但不限于以下几个方面: 1. 电源管理:在电源管理系统中,XD393可以用来监控电压水平,确保系统稳定运行,或者触发某…

【pytorch11】高阶操作

高阶操作 WhereGather where 三个参数,第一个是condition,第二个参数是源头A,第三个参数是源头B,也就是说有两项数据A和B,C有可能来自于A也有可能来自于B,如果全部来自于A的话直接赋值给A,如果…

G8 - ACGAN

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 目录 模型结构 模型结构 之前几期打卡中,已经介绍过GAN CGAN SGAN,而ACGAN属于上述几种GAN的缝合怪,其模型的结构图如下&a…

Leetcode 矩阵问题

36题.有效的数独 此类问题特点是给出行列的多种限定条件,数独限制每行每列每个小九宫格元素范围为1-9且不可重复 。解决此类问题最简单的想法就是使用哈希set,记录每行,每列,每个小九宫格已经出现的元素。在遍历矩阵时提前做出是否…

一个简单的文件上传功能

代码如下&#xff1a; PostMapping("/upload")public ResponseEntity<String> handleFileUpload(RequestParam(value "uploadDirectory") String uploadDirectory,RequestParam("fileName") MultipartFile fileName) {try {// 确保文件不…

SQL 29 计算用户的平均次日留存率题解

问题截图如下&#xff1a; SQL建表代码&#xff1a; drop table if exists user_profile; drop table if exists question_practice_detail; drop table if exists question_detail; CREATE TABLE user_profile ( id int NOT NULL, device_id int NOT NULL, gender varchar…

国外问卷调查,让你远离酷暑的赚钱新方式

大家好&#xff0c;我是汇舟问卷&#xff0c;一家专注于国外问卷调查领域的互联网企业。随着夏季的到来&#xff0c;高温酷暑无疑给许多人的日常工作带来了极大的不便与挑战。 在这样的季节里&#xff0c;我们都在寻求一种既能实现经济收益又能避免高温炙烤的工作模式。 在此…

Davtest一键远程编辑远程Web服务器上的文件(KALI工具系列三十三)

目录 1、KALI LINUX 简介 2、Davtest 工具简介 3、信息收集 3.1 目标IP&#xff08;服务器) 3.2 kali的IP 4、操作实例 4.1 常见漏洞扫描 4.2 身份验证 4.3 特定扫描 4.4 输出结果 5、总结 1、KALI LINUX 简介 Kali Linux 是一个功能强大、多才多艺的 Linux 发行版 &…

windows11 OneDrive禁止开机自启动。

1、先上个图&#xff1a; 开机默认自启&#xff0c;然后设置中&#xff0c;也没有找到可以设置的。 2、然后我们通过任务管理器来处理&#xff0c;右键任务栏&#xff1a; 打开任务管理器&#xff1a; 选中OneDrive&#xff0c;然后点击【禁 用】按钮即可。 或者鼠标右键&…

《分析模式》漫谈08-单继承不是“唯一继承”

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 《分析模式》第2章这一段&#xff1a; 划线处的single inheritance&#xff0c;2004中译本的翻译&#xff1a; 翻译为“单继承”&#xff0c;是正确的。 2020中译本的翻译&#xff1a…

Python 中的抽象语法树

Abstract Syntax Trees in Python 注&#xff1a;机翻&#xff0c;未校对。 Requirement: All examples are compatible with at least Python v3.6, except for using ast.dump() with the attribute indent which has been added in Python v3.9. 要求&#xff1a;所有示例至…

R语言 | 使用ggplot绘制柱状图,在柱子中显示数值和显著性

原文链接&#xff1a;使用ggplot绘制柱状图&#xff0c;在柱子中显示数值和显著性 本期教程 获得本期教程示例数据&#xff0c;后台回复关键词&#xff1a;20240628。&#xff08;PS&#xff1a;在社群中&#xff0c;可获得往期和未来教程所有数据和代码&#xff09; 往期教程…

【websocket】websocket网课视频记录

仅个人方便回顾。 【WebSocket入门与案例实战-哔哩哔哩】 https://b23.tv/2p1f9t2 课程对应代码仓库: https://gitee.com/duoli-java/websocket-demo.git

【机器学习项目实战(二)】基于朴素贝叶斯的中文垃圾短信分类

完整代码、数据集和相应的报告 链接已经放在了正文最下方, 供大家参考学习 摘要 ​ 本文探讨了中文垃圾短信分类的问题,通过收集实际数据集,运用多种机器学习算法进行分类,并对比了不同算法在垃圾短信分类任务上的性能。本研究旨在提高中文垃圾短信的识别准确率,为构建更…

elasticsearch导出和导入数据

这里我使用的是离线操作的方式&#xff0c; 前提&#xff1a;安装了node, 安装elasticdump命令&#xff1a; npm install elasticdump -g 安装成功后进入elasticdump所在的目录&#xff1a; cd /usr/local/nodejs/lib/node_modules/elasticdump/bin 导出目标索引的映射结构…

Keil5中:出现:failed to execute ‘...\ARMCC\bin\ArmCC‘

点三个点&#xff0c;去自己的磁盘找自己的ARM\ARMCC\bin