南京理工大学小波分析实验报告
- 格式:doc
- 大小:164.00 KB
- 文档页数:5
小波分析实验报告
课程:小波分析
姓名:
学院:
学号:
一、实验目的:
1、运用傅里叶变换知识对常用的基本函数做基本变换。
2、通过观察小波变换系数建立对小波变换及其有关性质的感性认识
3、加深对因果滤波器的理解,并会判断因果滤波器的类型。
4、运用卷积公式对基本信号做滤波处理并作出分析,以加深理解。
5、熟悉Matlab中相关函数的用法。
二、实验原理:
1、“小波”就是小区域、长度有限、均值为0的波形。所谓“小”是指它具有衰减性;而称之为“波”则是指它的波动性,其振幅正负相间的震荡形式。与Fourier变换相比,小波变换是时间(空间)频率的局部化分析,它通过伸缩平移运算对信号(函数)逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分,能自动适应时频信号分析的要求,从而可聚焦到信号的任意细节,解决了Fourier变换的困难问题,成为继Fourier变换以来在科学方法上的重大突破。小波转换分成两个大类:离散小波变换(DWT)和连续小波转换(CWT)。两者的主要区别在于,连续转换在所有可能的缩放和平移上操作,而离散转换采用所有缩放和平移值的特定子集。小波变换的公式有内积形式和卷积形式,两种形式的实质都是一样的。它要求的就是一个个小波分量的系数也就是“权”。其直观意义就是首先用一个时窗最窄,频窗最宽的小波作为尺子去一步步地“量”信号,也就是去比较信号与小波的相似程度。信号局部与小波越相似,则小波变换的值越大,否则越小。当一步比较完成后,再将尺子拉长一倍,又去一步步地比较,从而得出一组组数据。如此这般循环,最后得出的就是信号的小波分解(小波级数)。当尺度及位移均作连续变化时,可以理解必将产生大量数据,作实际应用时并不需要这么多的数据,因此就产生了离散的思想。将尺度作二进离散就得到二进小波变换,同时也将信号的频带作了二进离散。当觉得二进离散数据量仍显大时,同时将位移也作离散就得到了离散小波变换。
2、二维离散小波变换常用函数
三、实验内容:
1. 对信号noissin 分别采用图形接口和命令行两种方式进行单尺度小波分解重构和多尺度小波分解重构层数为4,并显示各层低频高频图形,加以比较。
2. 定义信号)58sin()12sin()8sin()(t t t t f πππ++=,并用命令行方式对该信号进行单尺度小波分解重构和多尺度小波分解重构层数为3。
2.1)用命令行方式对noissin 进行单尺度小波分解重构和多尺度小波分解重构 单尺度小波分解重构程序:
>> load noissin;
>> s=noissin (1:1000);
>> [cA1,cD1]=dwt(s,'sym2');
>> A1=upcoef('a',cA1,'sym2',1);
>> D1=upcoef('d',cD1,'sym2',1);
>> subplot(4,1,1);plot(s);title('原始信号')
>> subplot(4,1,2);plot(A1);title('低频')
>> subplot(4,1,3);plot(D1);title('高频')
>> s0=idwt(cA1,cD1,'sym2');
>> subplot(4,1,4);plot(s0);title('重构信号')
2.2) 多尺度小波分解重构程序:
>> s0=idwt(cA1,cD1,'sym2');
>> [C,L]=wavedec(s,4,'sym2');
>> cA5=appcoef(C,L,'sym2',4);
>> A4=wrcoef('a',C,L,'sym2',4);
>> D1=wrcoef('d',C,L,'sym2',1);
>> D2=wrcoef('d',C,L,'sym2',2);
>> D3=wrcoef('d',C,L,'sym2',3);
>> D4=wrcoef('d',C,L,'sym2',4);
>> figure(2);
>> subplot(4,1,1);plot(A4);title('第四层低频') >> subplot(4,1,2);plot(D4);title('第四层高频') >> subplot(4,1,3);plot(D3);title('第三层高频') >> subplot(4,1,4);plot(D2);title('第二层高频') >> subplot(4,1,5);plot(D1);title('第一层高频') >> figure(3);
>> s1=waverec(C,L,'sym2');
>> subplot(3,1,1);plot(s);title('原始信号') >> subplot(3,1,2);plot(s1);title('重构信号') >> subplot(3,1,3);plot(s-s1);title('误差信号')
3.用命令行方式对信号)58sin()12sin()8sin()(t t t t f πππ++=进行单尺度小波分解重构和多尺度小波分解重构。
3.1)单尺度小波分解重构程序:
>> syms t;
>> t=1:1024;
>> f=sin(8*pi*t)+sin(12*pi*t)+sin(58*pi*t); >> s=f(1:1024);
[cA1,cD1]=dwt(s,'db3');
A1=upcoef('a',cA1,'db3',1);
D1=upcoef('d',cD1,'db3',1);
subplot(4,1,1);plot(s);title('原始信号')