小波分析实验: 实验1 连续小波变换

实验目的:

在理解连续小波变换原理的基础上,通过编程实现对一维信号进行连续小波变换,(实验中采用的是墨西哥帽小波),从而对连续小波变换增加了理性和感性的认识,并能提高编程能力,为今后的学习和工作奠定基础。

实验工具:

计算机,matlab6.5

 

程序附录:

(1) 墨西哥帽小波函数,按照(***)式编程

% mexh.m

function Y=mexh(x)

if abs(x)<=8

Y=exp(-x*x/2)*(1-x^2);

else

    Y=0;

End

 

(2) 实验程序,按照(**)式编程,详细过程请参考“本实验采取的一些小技巧”

%

clc;clear;

load('data.mat');

len=length(dat);

lna=70;           % (尺度a)的长度

a=zeros(1,lna);

wfab=zeros(lna,len);   %小波系数矩阵

mexhab=zeros(1,len);   % 离散化小波系数矩阵

 

for s=1:lna           %s 表示尺度 

    for k=1:len

        mexhab(k)=mexh(k/s);

    end  

    for t=1:len    % t 表示位移

      wfab(s,t)=(sum(mexhab.*dat))/sqrt(s);   %将积分用求和代替

      mexhab=[mexh(-1*t/s),mexhab(1:len-1)];  %mexhab修改第一项并右移

    end

end

 

figure(1);

plot(dat);

title('原始数据图');

figure(2);  %小波系数谱

image(wfab);

colormap(pink(128));

title('小波系数图');

%surf(wfab);

%title('小波系数谱网格图');

%pwfab=wfab.*wfab;  %%瞬态功率谱

%figure(3);

%subplot(1,2,1);

%surf(pwfab);

%title('瞬态功率谱网格图');

%subplot(1,2,2);

%contour(pwfab);

%title('瞬态功率谱等值线');

 

(3)test函数。

%test 函数

clc;clear;

for i=1:200

    dat(i)=sin(2*pi*i*0.05);     %正弦波函数

end

len=length(dat);

lna=40;

wfab=zeros(lna,len);

mexhab=zeros(1,len);

for s=1:lna           %s 表示尺度 

    for k=1:len

        mexhab(k)=mexh(k/s);

    end  

    for t=1:len               % t 表示位移

      wfab(s,t)=(sum(mexhab.*dat))/sqrt(s);   %将积分用求和代替

      mexhab=[mexh(-1*t/s),mexhab(1:len-1)];  %mexhab修改第一项并右移

    end

end

figure(1);

plot(dat);

title('orignal dat');

figure(2);  %小波系数谱

image(wfab);

colormap(pink(128));

title('正弦波的小波系数图');

4)用fft实现cwt

%按照圆周卷积定理,原周卷积和线性卷积的关系L>=M+N-1

%按照圆周卷积的定义,相关和线性卷积的关系(原始算法和线性卷积的关系)

%注意画图理解

clc;clear;

t1=cputime;

 

load('data.mat');

len=length(dat);

lna=70;           % a(尺度)的长度

a=zeros(1,lna);    % a 表示尺度

b=zeros(1,len);     % b 表示位移

wfab=zeros(lna,len);   %小波系数矩阵

mexhab=zeros(1,2*len-1);  

data=[zeros(1,len-1),dat];

Ydata=fft( data ,4*len);

for s=1:lna         

    for k=1:2*len-1

       mexhab(k)=mexh((k-len)/s);   

    end 

 

   temp=ifft( Ydata.*fft( mexhab,4*len ) ,4*len);

   wfab(s,:)=real(temp(2*len-1:3*len-2))/sqrt(s); %为什么要取实部而不是取模,我也不是很清楚,可是有种感觉

end

figure(1);

plot(dat);

title('原始数据图');

figure(2);  %小波系数谱

image(wfab);

colormap(pink(128));

title('小波系数谱 ');

cputime-t1

 

 

 

4fft快速计算cwt

%按照圆周卷积的定义,

%注意画图理解

clc;clear;

t1=cputime;

 

load('data.mat');

len=length(dat);

lna=70;           % a(尺度)的长度

a=5;

 

data=[dat,zeros(1,len)];

Ydata=fft(dat,2*len);

for s=1:lna         

 mexhab=zeros(1,2*len);

 k=[-a*s:1:a*s];

 mexhab(k+len)=mexh2(k./s);

 

   temp=ifft( Ydata.*fft( mexhab,2*len ) ,2*len);

   wfab(s,:)=real(temp(len+1:2*len))/sqrt(s); %要取实部而不是取模,呵呵

end

figure(1);

plot(dat);

title('原始数据图');

figure(2);  %小波系数谱

image(wfab);

colormap(pink(128));

title('小波系数谱 ');

cputime-t1

 

5)保存为mexh2.m

 

function Y=mexh2(x)

Y=exp(-x.*x/2).*(1-x.^2);

 

Torstan

2005.09.16

转载于:https://www.cnblogs.com/Torstan/archive/2011/08/31/2161427.html

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

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

相关文章

句子中单词首字母大写转换

//函数将句子中的每个单词的首字母改为大写 string first_letter(string& sentence) {//定义string 指针&#xff0c;并指向string 首地址string::iterator itsentence.begin ();//定义 关键 标志&#xff0c;反映检测到空格字符bool space_flagtrue;//string 指针未到字符…

java axmlprinter_安卓xml配置文件解析工具-AXMLPrinter2.jar(androidmanifest.xml 反编译)下载官方最新版-西西软件下载...

AXMLPrinter2.jar apk分析APK文件&#xff0c;取得APK文件中的 包名、版本号及图标&#xff0c;很强大的工具&#xff0c;再一次感受到了批处理的牛逼。可以将android安卓编译过的二进制XML文件(binary xml file)反编译明文输出保存。是apk反编译修改的必备工具之一。例如需要查…

UML用例图说明

转自&#xff1a;http://www.360doc.com/content/10/1206/23/3123_75672033.shtml 前些时间参加了潘加宇老师的技术讲座&#xff0c;UML建模技术受益匪浅。我也把平时的一些积累和上次的收获总结在这篇文章中&#xff0c;主要讲解用例图相关的知识。 用例图是软件需求分析…

MySQL 按指定字段自定义列表排序

问题描述大家都知道, MySQL 中按某字段升序排列的 SQL 为 (以 id 为例, 下同):SELECT * FROM MyTable WHERE id IN (1, 7, 3, 5) ORDER BY id ASC降序排列的 SQL 为:SELECT * FROM MyTable WHERE id IN (1, 7, 3, 5) ORDER BY id DESC有时以上排序并不能满足我们的需求. 例如, …

WordPress get_allowed_mime_types函数(wp-includes/functions.php)存在跨站脚本漏洞

漏洞版本: WordPress 3.6 漏洞描述: CVE ID:CVE-2013-5738WordPress是一种使用PHP语言开发的博客平台&#xff0c;用户可以在支持PHP和MySQL数据库的服务器上架设自己的网志WordPress get_allowed_mime_types函数(wp-includes/functions.php)存在安全漏洞&#xff0c;由于不正确…

java迪杰斯特拉算法_迪杰斯特拉算法完整代码(Java)

package com.rao.graph;import java.util.*;/*** author Srao* className Dijkstra* date 2019/12/10 22:15* package com.rao.graph* Description 迪杰斯特拉算法*/public class Dijkstra {/*** 图的顶点*/private static class Vertex{String data;Vertex(String data){this.…

Android 布局学习之——Layout(布局)详解一

layout&#xff08;布局&#xff09;定义了用户界面的可视化结构&#xff08;visual structure&#xff09;,如Activity的UI,应用窗口的UI。 有两种方式声明layout: 1.在xml文件中声明UI组件。 2.在运行时&#xff0c;实例化布局元素。我们可以以编码的方式创建View或ViewGroup…

查询表结构

方法一SELECT 序号C.column_id, 列名C.name, 是否主键ISNULL(IDX.PrimaryKey,N), 数据类型T.name, 长度C.max_length, PrecisionC.precision, 小数位C.scale, 允许空CASE WHEN C.is_nullable1 THEN N是ELSE N否 END, 默认值ISNULL(D.definition,N),…

java window linux_java编程在linux下和windows下有什么区别。。。

在windows系统下编程没有点问题&#xff0c;一旦放在linux上就出现以下错误Strutshasdetectedanunhandledexception:Messages:...在windows系统下编程没有点问题&#xff0c;一旦放在linux上就出现以下错误 Struts has detected an unhandled exception: Messages: There is no…

SendMessage函数的常用消息及其应用大全

来源&#xff1a;http://www.360doc.com/content/09/0814/10/19147_4907488.shtml&#xff0c;非常全面的解释。 文本框控件通常用于输入和编辑文字。它属于标准 Windows 编辑控件的一个子类,所以它支持所有编辑控件消息。这儿讲述的技术也适用于由其他厂商设计的,以Windows编辑…

初识jQuery(适合初学者哟.........)

您要知道!! jQuery是目前使用最广泛的javascript函数库。据统计&#xff0c;全世界排名前100万的网站&#xff0c;有46%使用jQuery&#xff0c;远远超过其他库。 微软公司甚至把jQuery作为他们的官方库。对于网页开发者来说&#xff0c;学会jQuery是必要的。因为它让你了解业界…

java方法区对象类型_浅谈Java内存区域与对象创建过程

一、java内存区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途&#xff0c;以及创建和销毁的时间&#xff0c;有的区域随着虚拟机进程的启动而存在&#xff0c;有的区域则依赖用户线程的启动和结束而建立和销毁。根…

Week1 Team Homework #2 Introduction of team member with photos

小组成员介绍 组长&#xff1a;黄剑锟 11061164 组员&#xff1a;顾泽鹏 11061160 组员&#xff1a;周辰光 11061154 组员&#xff1a;龚少波 11061167 组员&#xff1a;赵骞 11061155 组员&#xff1a;孙时 11061146 组员&am…

TextView控件

下面我们将比较一下Android中的TextView和C#Winform中TextBox的不同。 当我们要获取一个文本框控件时。 C#:TextBox1                      //直接输入控件的名称即可 Android:TextView tv (TextView) this.findViewById(R.id.tv); // 获取…

[Silverlight入门系列]使用MVVM模式(3):Model的INotifyPropertyChanged接口实现

当客户端绑定一个数据模型以后&#xff0c;数据模型变化以后可以自动通知客户端更新界面显示&#xff0c;这就是INotifyPropertyChanged接口要做的工作。INotifyPropertyChanged 接口用于向客户端&#xff08;通常是执行绑定的客户端&#xff09;发出某一属性值已更改的通知。例…

inttostr java_Delphi和Java实现webservice架构

Webservice现在已经不是什么新技术了&#xff0c;用java建立webservice是快捷的&#xff0c;但是用java在制作客户端的感觉上总是不如 Delphi的(个人感觉&#xff0c;java高手们不要笑话我)&#xff0c;那我们就用java实现webservice的服务端程序&#xff0c;delphi制作客户端。…

XML DOM 节点

来自&#xff1a;w3cschool菜鸟教程 在 DOM 中&#xff0c;XML 文档中的每个成分都是一个节点。 DOM 节点 根据 DOM&#xff0c;XML 文档中的每个成分都是一个节点。 DOM 是这样规定的&#xff1a; 整个文档是一个文档节点每个 XML 元素是一个元素节点包含在 XML 元素中的文本是…

CentOS系列启动流程和内核原理(5系列,6系列,7系列)

前言&#xff0c;本来让我写博客我是拒绝的然而看见大家都在写&#xff0c;还能不能一起友好的玩耍了&#xff1f; 我要是不写怎能和同大神们一起ZB呢&#xff1f;遂开博客&#xff01; 一、Linux启动内核文件 1.Linux系统组成 动态视角&#xff1a;内核根文件系统 静态视…

如何在CentOS 5.5上安装Kippo蜜罐

Kippo是一个可交互的SSH蜜罐&#xff0c;旨在记录暴力攻击行为&#xff0c;最重要的是可以记录攻击者的shell交互行为&#xff0c;如果你需要了解有关Kippo更多信息&#xff0c;请访问它的官方网站http://code.google.com/p/kippo/&#xff0c;本教程只教你如何在CentOS 5.5服务…

LSTM和GRU vs 循环神经网络RNN

1、考虑下列三种情况下&#xff0c;对比一下普通RNN的表现和LSTM和GRU表现&#xff1a; &#xff08;1&#xff09;早期观测值对预测未来观测者具有非常重要的意义。 考虑一个极端情况&#xff0c;其中第一个观测值包含一个校验和&#xff0c; 目标是在序列的末尾辨别校验和是…