小波分析(附源码)
来源:互联网 发布:梅西vsc罗 知乎 编辑:程序博客网 时间:2024/05/21 09:24
前几天深受小波的毒害,狠狠看了几天,算是有点成果。然后后面附上DB2小波的解构与重构的MATLAB源码。
首先要把傅立叶给弄懂了,傅立叶变换,是把时域的信号,写成了基为不同频率的三角函数的形式,然后,以三角函数的频率和幅值分别为X轴Y轴建立频谱。说来说去,傅立
叶就是以三角函数为基的,而且这些基是两两正交的。可是我们发现一个问题,如果我们至改变时域函数中一小部分,整个频谱都要发生变化,或者我们改变一点点频谱,整个
信号就要改变。这就出现了矛盾。 所以就出现来窗口傅立叶变换,就是在进行傅立叶分析时加一个窗函数。这样我们就可以分析局部的时域和频域信息。可是这时有出现一个
一个信号有的部分频率高,有的频率低。我们在所有的时域上都要用同一个窗函数,这样问就来了,在低频时有时会出现窗函数覆盖的时域部分太小,不能完全展现住这些低频
信息。于是就出现了小波分析。
什么是小波,你百度下有很多的。这里就不多说了。说白了就是第一它小,第二它波动。只要满足这两个条件的,都可以成为小波。小波有母小波,然后通过不同的尺度变换和
平移,就成了不同尺度下的小波,这些小波就是基,跟傅立叶变换中的三角函数一样的基。不同尺度下的这些基一般是两两正交的。然后可以由公式求出不同尺度下的小波基的
系数。但是还有一个尺度函数,这个尺度函数是小波分析最神奇也是最核心的地方。当我们对信号进行结构的时候,通常我们是倒着来的,也就是说比如对信号进行3层变换,
我们得到的信号采样后的值就是第3层尺度函数的系数,为什么呢,因为,系数说白了就是信号与尺度函数做内积。
到底要分解多少层,一般由信号的采样率决定的。
就先说这么多了,突然觉得好多理论上是指的东西我自己也不能彻底的明白。
后面是MATLAB源码;
function [ca,cd]=db2fliter(x,dim)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%x是原信号,dim是要解构的层数
%ca是最后的信号概貌,cd是所有细节部分系数的集合
%Copyright by ZHANG Jin (molilanqiao) Version:1.0 Data: 2013.5.3
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%h0=dbaux(2);
h2=fliplr(h0);
l=length(h0);
h1=zeros(1,l);
h3=zeros(l,l);
k=1:(l/2);
h1(2*k-1)=h2(2*k-1);
h1(2*k)=-1*h2(2*k);
h3(2*k-1)=h0(2*k-1);
h3(2*k)=-1*h0(2*k);
cd=[];
ca=x;
for i=1:dim
x2=conv(ca,h1);
cda=down2(x2);
x1=conv(ca,h0);
ca=down2(x1);
cd=[cd,cda];
end
function y=down2(x)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%函数为向下采样;例如:x=[0,1,2,3,4,5,6,7,8,9],向下采样后为
%y=[0,2,4,6,8]
%Copyright by ZHANG Jin (molilanqiao) Version:1.0 Data: 2013.5.3
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
L=length(x); %取x的长度
m=floor(L/2); %取N/2的整数位
k=1:m;
y(k)=x(2*k);
- 小波分析(附源码)
- FLV文件格式分析(附源码)
- Android 小项目之--数据存储【Files】(附源码)
- Android 小项目之--SQLite 使用法门 (附源码)
- Android 小项目之--数据存储【Files】(附源码)
- Android 小项目之--数据存储【Network】(附源码)
- Android 小项目之--SQLite 使用法门 (附源码)
- Android 小项目之--SQLite 使用法门 (附源码)
- Office 2010 word addin c#小例子 (附源码)
- Android 小项目之--SQLite 使用法门 (附源码)
- mac下dashboard小控件开发实例(附源码)
- Android小项目之学生管理系统(附源码)
- Android 小项目之--CheckBox<又>计算器 (附源码)
- Android 小项目之---猜扑克牌游戏 (附源码)
- Android 小项目之--数据存储【Network】(附源码)
- Android 小项目之--SQLite 使用法门 (附源码)
- Android小项目之笑话大全(附源码)
- android-魔法泡泡动画分析(附源码)
- 菜鸟带“工作室”的感想
- 流行趋势:25个最佳的扁平化网页设计案例
- linux 查看 *.a *.so 符号表(zt)
- 3-6 base1
- C++ 字符串分割
- 小波分析(附源码)
- 分区内文件装满导致文件读取失败或系统当机
- Oracle当中层次查询
- 一组免费的简约风格表情图标 – Simple Smileys
- Service的使用二
- maven 下载 源码和javadoc命令
- java小问题
- 4-5月小悟
- mysql 不能插入中文和显示中文