对信号进行一层分解

clc;
clear;
% 获取噪声信号
load('matlab.mat');
sig = M(1,1:1400);
SignalLength = length(sig);
%使用db1分解1层
[cA1,cD1] = dwt(sig,'db1');
%从系数 cA1 和 cD1 中构建一层近似A1 和细节 D1
A1 = upcoef('a',cA1,'db1',1,SignalLength);
D1 = upcoef('d',cD1,'db1',1,SignalLength);
% %或
% A1 = idwt(cA1,[],'db1',l_s);
% D1 = idwt([],cD1,'db1',l_s);
%显示近似和细节
subplot(1,2,1); plot(A1); title('Approximation A1')
subplot(1,2,2); plot(D1); title('Detail D1')
%使用逆小波变换恢复信号
A0 = idwt(cA1,cD1,'db1',SignalLength);
err = max(abs(sig-A0))

  对信号进行三层分解

[C,L] = wavedec(sig,3,'db1');%函数返回 3 层分解的各组分系数C(连接在一个向量里) ,向量 L 里返回的是各组分的长度。
%抽取近似系数和细节系数
%从 C 中抽取 3 层近似系数
cA3 = appcoef(C,L,'db1',3);
%从 C 中抽取 3、2、1 层细节系数
[cD1,cD2,cD3] = detcoef(C,L,[1,2,3]);
%或者
%cD3 = detcoef(C,L,3);
%cD2 = detcoef(C,L,2);
%cD1 = detcoef(C,L,1);
%重建 3 层近似和 1、2、3 层细节
%从 C 中重建 3 层近似
A3 = wrcoef('a',C,L,'db1',3);
%从 C 中重建 1、2、3 层细节
D1 = wrcoef('d',C,L,'db1',1);
D2 = wrcoef('d',C,L,'db1',2);
D3 = wrcoef('d',C,L,'db1',3);
%显示多层分解的结果
%显示 3 层分解的结果
figure(2)
subplot(2,2,1); plot(A3);
title('Approximation A3')
subplot(2,2,2); plot(D1);
title('Detail D1')
subplot(2,2,3); plot(D2);
title('Detail D2')
subplot(2,2,4); plot(D3);
title('Detail D3')
%从 3 层分解中重建原始信号
A0 = waverec(C,L,'db1');
err = max(abs(sig-A0))
% 我们注意到连续的近似随着越来越多的高频信息从信号中滤除,
% 噪声变得越
% 来越少。 3 层近似与原始信号对比会发现变得很干净。对比近似和原始信号,如下
figure(3)
subplot(2,1,1);plot(sig);title('Original'); axis off
subplot(2,1,2);plot(A3);title('Level 3 Approximation');axis off

 这篇博客是参考百度文档上一位大佬写的,这是数据和文章的链接

链接:https://pan.baidu.com/s/19_jazLnyBuperh7ME5NG8Q
提取码:aonu

小波变换在matlab中的使用的更多相关文章

  1. matlab中图像处理常见用法

    一. 读写图像文件 1. imread imread函数用于读入各种图像文件,如:a=imread('e:/w01.tif') 注:计算机E盘上要有w01相应的.tif文件. 2. imwrite i ...

  2. MATLAB中绘制质点轨迹动图并保存成GIF

    工作需要在MATLAB中绘制质点轨迹并保存成GIF以便展示. 绘制质点轨迹动图可用comet和comet3命令,使用例子如下: t = 0:.01:2*pi;x = cos(2*t).*(cos(t) ...

  3. matlab 中 eps 的分析

    eps(a)是|a|与大于|a|的最小的浮点数之间的距离,距离越小表示精度越高.默认a=1: 这里直接在matlab中输入:eps == eps(1)(true). 我们知道浮点数其实是离散的,有限的 ...

  4. matlab中patch函数的用法

    http://blog.sina.com.cn/s/blog_707b64550100z1nz.html matlab中patch函数的用法——emily (2011-11-18 17:20:33) ...

  5. paper 121 :matlab中imresize函数

    转自:http://www.cnblogs.com/rong86/p/3558344.html matlab中函数imresize简介: 函数功能:该函数用于对图像做缩放处理. 调用格式: B = i ...

  6. MATLAB中FFT的使用方法

    MATLAB中FFT的使用方法 说明:以下资源来源于<数字信号处理的MATLAB实现>万永革主编 一.调用方法X=FFT(x):X=FFT(x,N):x=IFFT(X);x=IFFT(X, ...

  7. MATLAB中fft函数的正确使用方法

    问题来源:在阅读莱昂斯的<数字信号处理>第三章离散傅里叶变换时,试图验证实数偶对称信号的傅里叶变换实部为偶对称的且虚部为零.验证失败.验证信号为矩形信号,结果显示虚部是不为零且最大幅值等于 ...

  8. Matlab中的一些小技巧

    (转于它处,仅供参考) 1.. Ctrl+C 中断正在执行的操作 如果程序不小心进入死循环,或者计算时间太长,可以在命令窗口中使用Ctrl+c来中断.MATLAB这时可能正疲于应付,响应会有些滞后. ...

  9. Matlab中给figure添加图例(legend),标题(title)和颜色(color)

    在Matlab绘图过程中,尤其是需要将多个图绘制在相同的坐标轴中时,通常需要将不同的曲线设置成为不同的颜色.此外,为了直观,还需要给这张图标增添标题和图例.这篇文章展示了在Matlab的绘图窗口(fi ...

随机推荐

  1. ModelForm理解简单运用(增删改查)

    from django.shortcuts import render, redirect,HttpResponse# Create your views here.from django.forms ...

  2. OLED的使用-4线SPI驱动

    一 .OLED屏 1.OLED屏(七针) 2.OLED电路图 3.0.96'OLED简介 该模块特点: 1.三色可选,模块有两种单色和黄蓝双色两种颜色可选,单色为纯白色和纯蓝色,双 色为黄蓝双色: 2 ...

  3. python之序列化、OS、SYS、hashlib模块

    一.序列化模块 1.序列化模块的用途 将一种数据结构转换成特殊的序列(特殊字符串,bytes),并且还可以转换回去 凡是数据通过网络传出去最终的格式必须bytes 2.json模块 json 是一种轻 ...

  4. OpenCV-Python 姿态估计 | 五十

    目标 在本章中 我们将学习利用calib3d模块在图像中创建一些3D效果. 基础 这将是一小部分.在上一次相机校准的会话中,你发现了相机矩阵,失真系数等.给定图案图像,我们可以利用以上信息来计算其姿势 ...

  5. 使用Keras进行深度学习:(五)RNN和双向RNN讲解及实践

    欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习.深度学习的知识! 笔者:Ray 介绍 通过对前面文章的学习,对深度神经网络(DNN) ...

  6. JVM 调优工具

    JMeter  LoadRunner  压力测试工具 JConsole  是一个内置 Java 性能分析器,可以查看内存,线程,类,CPU 等的使用情况,可以通过线程去查看线程的试用情况,死锁可以被检 ...

  7. Python python 五种数据类型--列表

    # 列表的定义 var1 = [] var2 = list() print(type(var1)) #<class 'list'> print(type(var2)) #<class ...

  8. win10 安装redis相关问题。

    最近需要在win10安装redis,但是redis的msi文件总是报这个错误: Redis on Windows Setup Wizard ended prematurely 都说是.NET fram ...

  9. 深入理解Java虚拟机(第三版)-13.Java内存模型与线程

    13.Java内存模型与线程 1.Java内存模型 Java 内存模型的主要目的是定义程序中各种变量的访问规则,即关注在虚拟机中把变量值存储到主内存和从内存中取出变量值的底层细节 该变量指的是 实例字 ...

  10. cento升级openssl依旧显示老版本

    不久前拿到了一季度的服务器漏洞扫描报告,还是一些老生常谈的软件.按照报告上的漏洞一个个处理,开始升级openssl的时候一切都很顺利,上传源码包,解压,编译,安装,全部都没有报错.opessl --v ...