一维连续小波变换实验报告

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Wf
(a,b) Ts
a

1 2
n
f
nTs


(n
k)Ts a

= T
a
1 2
n
f
n

n
a
k

对给定的 a 值,依次求出不同 a 值下的一组小波系数,由于数据采样间隔t为
0.03(常量),所以可以把这个系数忽略,并通过公式下面对小波变换矩阵进行归
一化处理。
I(m,n)

wfab(m, n) min max min
* 255
实验结果:
AMPLITUDE
20 15 10
5 0 -5 -10 -15 -20
0
ORIGINAL DATA
50
100 150 200 250 300 350 400
TIME
COEFFS ABSOLUTE
SCALE
连续小波变换实验报告 实验目的:
通过matlab编程实现一维连续小波变换,更好地理解连续小波变换的算法 和作用,以及小波系数矩阵的含义。同时通过小波系数矩阵对原始信号进行频 谱分析,并了解小波小波系数在尺度和位移两个分量上的意义。
实验原理:
一维连续小波变换公式:
Wf
(a, b)

a

1 2

f
t

*

t
b a

dt
当小波函数 (t) 为实函数时
Wf
Leabharlann Baidu(a, b)
Wf
(a, b)

a
1 2

f
t
t
a
b

dt
在给定尺度下,对待分析信号 f t 和小波函数 (t) 按照 t nTs , b nTs 进
行采样,其中Ts 为采样间隔,则小波变换可近似如下:
10
20
30
40
50
60
70
50
100 150 200 250 300 350 400
TIME
AMPLITUDE
50
40
30
20
10
0 80
60 40 20
SCALE
00
400 300 200 100
TRANSLATION
实验程序及注释
(1)主程序
load('data.mat'); n=length(dat); amax=70;
if abs(x)<=5
Y=((pi^(-1/4))*(2/sqrt(3)))*(1-x*x)*exp(-(x*x)/2);
else
Y=0;
end;
ext=max_coef-min_coef;
wfab_abs(index,:)=255*(wfab_abs(index,:)-min_coef)/ext;
end figure(1);
plot(dat); title('ORIGINAL DATA');
%画原始数据图
xlabel('TIME')
ylabel('AMPLITUDE')
%尺度a的长度
a=zeros(1,amax); wfab=zeros(amax,n); mexhab=zeros(1,n);
%小波系数矩阵,均以零矩阵形式赋初值 %某尺度下小波系数
for s=1:amax
%s表示尺度
for k=1:n
mexhab(k)=mexh(k/s);
end for t=1:n % t 表示位移
%画三维图
xlabel('TRANSLATION')
ylabel('SCALE')
zlabel('AMPLITUDE')
for index=1:amax
%小波系数矩阵归一化处理
max_coef=max(wfab_abs(index,:));
min_coef=min(wfab_abs(index,:));
figure(2);
image(wfab_abs); colormap(pink(255));
%画尺寸-位移图
title('COEFFS ABSOLUTE');
xlabel('TIME')
ylabel('SCALE')
(2)墨西哥帽小波函数
function Y=mexh(x)
%单独用.M文件定义此函数
wfab(s,t)=(sum(mexhab.*dat))/sqrt(s);
%将积分用求和代替
mexhab=[mexh(-1*t/s),mexhab(1:n-1)];
%mexhab修改第一项并右移
end
end wfab_abs=abs(wfab); figure(3); colormap(pink(255)); surfc(wfab_abs);
相关文档
最新文档