matlab小波变换、离散小波变换函数使用

这篇具有很好参考价值的文章主要介绍了matlab小波变换、离散小波变换函数使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

matlab中,连续小波变换、离散小波变换函数使用比较复杂,最近做了个总结。

参考连接

参考1:https://www.jianshu.com/p/56733f6c0a10

参考2:小波变换工具箱(7页)-原创力文档

参考3:《Matlab信号处理》 沈再阳,清华大学出版社,第8章

注意:以下所有函数均为matlab 2020a环境中测试,更早的版本未做测试。

一、连续小波变换

1.1 正变换cwt

1.1.1 语法

语法如下,详细用法可通过命令【doc cwt】详细了解,一般使用时只需用其中两个参数即可:

①wname:小波基的名称:分别对应为:

wname的值 小波基
morse Morse
amor Morlet(Gabor)
bump Bump

②fs:x的抽样频率。当给定fs时,画出的时频图的XY轴分别为实际的时间和频率;不指定时,画出的时归一化频率和采样点。

matlab小波变换、离散小波变换函数使用

1.1.2 示例

cwt函数 用法比较简单,可以举个简单例子如下:其中锥形虚线为影响锥,影响锥范围内的值可信度较高:

clc; clear; close all;

load sumsin;
x = sumsin(1:500);
x = x + randn(1, length(x));
Fs = 10;
figure;     cwt(x, 'amor');     % 不指定Fs
figure;     cwt(x, 'amor', Fs);     % 指定Fs

matlab小波变换、离散小波变换函数使用

1.2 反变换icwt

1.2 .1 语法

用法基本同正变换,其中参数说明如下:

wt:正变换得到的矩阵;

xrec:反变换重构的信号。注意重构的信号和原信号还是有区别的。

matlab小波变换、离散小波变换函数使用

 1.2.2 示例

clc; clear; close all;

load sumsin;
x = sumsin(1:500);
x = x + randn(1, length(x));
Fs = 10;
[wt, f] = cwt(x, 'amor', Fs);     % 指定Fs
xrec1 = icwt(wt, 'amor');       % 反变换,指定小波基
xrec2 = icwt(wt, f, [0.06, 0.31]);       % 反变换,指定频率范围可实现滤波效果。

subplot(311);   plot(x);        title('x');
subplot(312);   plot(xrec1);    title('全频率小波逆变换')
subplot(313);   plot(xrec2);    title('针对部分频率范围进行小波逆变换')

matlab小波变换、离散小波变换函数使用

二、离散小波变换 

2.1 函数总结

2.1.1 函数列表

matlab小波变换、离散小波变换函数使用

 

 2.1.2 小波分解图

2.1.2.1 小波分解的算法步骤

matlab小波变换、离散小波变换函数使用

matlab小波变换、离散小波变换函数使用

2.1.2.2  小波重构的算法步骤

其实就是上采样后分别通过低通、高通滤波器。

matlab小波变换、离散小波变换函数使用

 2.2 小波基总结

使用离散小波变换时,经常会设置错小波基函数。因为离散小波变换的小波基参数wname的格式应给为【wavelet_name】+[number]。具体总结如下:

wname的值 小波基名称 N取值
morl Morlet小波 -
mexh 墨西哥草帽小波 -
meyr Meyer小波 -
haar Haar小波 -
dbN 紧支集正交小波 1,2,3,...
symN 近似对称的紧支集正交小波 通常取2~8
coifN Coiflet小波 1~5
biorNr,Nd 双正交样条小波。r-重构;d-分解 1~6

2.3 示例

2.3.1 dwt、idwt

clear all;
load sumsin;
x = sumsin(1:500);
[cA, cD] = dwt(x, 'db2');
x_idwt = idwt(cA, cD, 'db2');

subplot(411);   plot(x);    title('x');
subplot(412);   plot(cA);   title('cA of dwt'); xlim([1, length(x)]);
subplot(413);   plot(cD);   title('cD of dwt'); xlim([1, length(x)]);
subplot(414);   plot(x_idwt);   title('idwt'); xlim([1, length(x)]);

matlab小波变换、离散小波变换函数使用

 2.3.2 wavedec、waverec、wrcoef

clear; 

load sumsin;
x = sumsin(1:500);
[c, l] = wavedec(x, 3, 'db3');
subplot(521);	plot(x);    title('x');   xlim([1, length(x)]);

xx = waverec(c,l,'db3');
subplot(522);	plot(x);    title('waverec重构信号');   xlim([1, length(x)]);

subplot(523);   plot(c);    title('wavedec-3个尺度分解结果');   xlim([1, length(x)]);

for i=1:3
    a1 = wrcoef('a', c, l, 'db3', i);      % a-低频重构,d-高频重构
    subplot(5,2, 2*i + 3);   plot(a1);    
    title(['wrcoef-从第', num2str(i),'个尺度的低频分量重构到0级']);   xlim([1, length(x)]);
end

for i=1:3
    a1 = wrcoef('d', c, l, 'db3', i);      % a-低频重构,d-高频重构
    subplot(5,2, 2*i + 4);   plot(a1);    
    title(['wrcoef-从第', num2str(i),'个尺度的高频分量重构到0级']);   xlim([1, length(x)]);
end

matlab小波变换、离散小波变换函数使用

 2.2.3 upwlev、upcoef

matlab小波变换、离散小波变换函数使用文章来源地址https://www.toymoban.com/news/detail-433616.html

到了这里,关于matlab小波变换、离散小波变换函数使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python轴承故障诊断 (二)连续小波变换CWT

    目录 前言 1 连续小波变换CWT原理介绍 1.1 CWT概述 1.2 CWT的原理和本质 2 基于Python的CWT实现与参数对比 2.1 代码示例 2.2 参数介绍和选择策略 2.2.1 尺度长度: 2.2.2 小波函数(wavelet): 2.3 凯斯西储大学轴承数据的加载 2.4 CWT与参数选择对比 2.4.1 基于尺度为128,选择内圈数据比

    2024年01月16日
    浏览(47)
  • 【模型预测控制MPC】使用离散、连续、线性或非线性模型对预测控制进行建模(Matlab代码实现)

     💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 本文的

    2024年02月14日
    浏览(48)
  • Matlab实现小波变换

    文章和代码以及样例图片等相关资源,已经归档至【Github仓库:digital-image-processing-matlab】或者公众号【AIShareLab】回复 数字图像处理 也可获取。 Haar、尺度和小波函数; 比较函数wavefast 和函数wavedec2 的执行时间; 小波的方向性和边缘检测。 Haar、尺度和小波函数 使用haar 滤波

    2024年02月07日
    浏览(45)
  • 9-1小波变换 小波分解和重构(matlab程序)

    1. 简述        一、小波处理信号的一般过程 1)取样:这是一个预处理步骤。若信号连续,那么必须以能够捕获原信号必要细节的速率取样。不同的应用决定了不同的取样率。如:原信号的细节频率为20kHz,由Nyquist采样定理,此时的取样率至少应为细节频率的两倍,即40kH

    2024年02月11日
    浏览(44)
  • Matlab小波变换-音频去噪

    小波变换-音频去噪 使用小波变换进行音频去噪,实验环境:Matlab 推荐课程:数字信号处理(北京交通大学 陈后金) 第八章内容 B站链接:https://www.bilibili.com/video/BV1at411Q75D?p=101 (慕课上也有) 一、原音频加噪 二、sym8小波去噪 也不一定非选这个sym8,也可以选其他的小波,matl

    2024年02月11日
    浏览(80)
  • 基于小波变换的同步压缩变换原理和Matlab代码

    作为处理非平稳信号的有力工具,时频分析在时域和频域联合表征信号,是时间和频率的二元函数。传统的时频分析工具主要分为线性方法和二次方法。线性方法受到海森堡测不准原理的制约,二次方法存在交叉项的干扰。 为了提升时频聚集性,逼近理想的时频表示,时频重

    2024年02月16日
    浏览(42)
  • 小波变换中的多贝西小波(DB小波函数)概述

    内容均来源于维基百科对db小波函数的介绍 多贝西小波 (英语:Daubechies Wavelet),是以比利时女性物理暨数学家英格丽·多贝西(Ingrid Daubechies)的名字命名之一种小波函数,当初英格丽·多贝西发现了一种具有阶层(hierarchy)性质的小波,便将此小波以她的名字命名。多贝西

    2023年04月08日
    浏览(36)
  • (数字图像处理MATLAB+Python)第四章图像正交变换-第四、五节:Radon变换和小波变换

    Radon变换 :是一种用于将图像从空间域转换到投影域的数学工具,其基本思想是将图像中每个点的灰度值投影到一组直线上,然后将这些投影合并在一起形成投影域。Radon变换可以用于多种图像处理任务,包括图像重建、特征提取、图像分割等 Radon变换原理 :给定一个函数

    2023年04月20日
    浏览(49)
  • 【语音识别】基于matlab小波变换DWT 0-9数字语音识别【含Matlab源码 3715期】

    ✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。 🍎个人主页:海神之光 🏆代码获取方式: 海神之光Matlab王者学习之路—代码获取方式 ⛳️座右铭:行百里者,半于九十。 更多Matlab仿真内容点击👇 Matlab图像处理(进阶版) 路径规划

    2024年02月03日
    浏览(43)
  • MATLAB Simulink PID仿真图像分析(单双环、连续与离散时间)

    1、概述 我们以电赛题板球控制系统为例,对多种PID系统的仿真结果图像进行分析,分析PID相关结构和参数对于仿真图像的影响。 基本控制思路是:PID计算出给小球的加速度,通过舵机改变小球所在平面的角度,从而赋予小球相应的加速度,改变小球的速度,从而达到间接控

    2024年02月08日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包