小波变换第六次作业

合集下载

小波变换分析报告

小波变换分析报告

小波变换的理论基础及应用专业班级电气工程学院姓名学号任课教师日期目录一、小波分析的发展历史和前景 (1)二、小波变换的理论基础 (2)2.1连续小波变换 (2)2.2离散小波变换 (3)2.3二进小波变换 (4)2.4多分辨分析与二尺度方程 (4)2.4.1 多分辨分析 (5)2.4.2 二尺度方程 (6)2.5MALLAT算法 (6)2.5.1 Mallat算法的综述 (7)2.5.2 Mallat分解算法 (7)2.5.3 Mallat合成算法 (8)2.6小波基和小波函数的选取 (9)2.6.1 小波基选择的标准 (9)2.6.2 小波基选择的五要素 (9)三、小波变换的应用 (10)3.1图像、信号压缩 (10)3.2小波降噪 (10)3.3小波在信号处理中的应用 (11)3.4小波变换在故障诊断中的应用 (11)3.5小波变换在边界检测中的应用 (11)3.6小波变换的结合应用——小波网络等 (12)参考文献 (12)小波变换的理论基础及应用一、小波分析的发展历史和前景1984年,法国地球物理学家Morlet在分析地震波的局部特性时首次采用了小波变换。

随后,理论物理学家 Grossman 对 Morlet 的这种信号按一个确定函数的伸缩,平移系展开的可行性进行了研究,这无疑为小波分析的形成开了先河。

由于其在时频两域都具有表征信号局部特征的能力和多分辨率分析的特点,因此被誉为“数学显微镜”。

小波变换的基本思想是将原始信号通过伸缩和平移后,分解为一系列具有不同空间分辨率、不同频率特性和方向特性的子带信号,这些子带信号具有良好的时域、频域等局部特征。

这些特征可用来表示原始信号的局部特征,进而实现对信号时间、频率的局部化分析,从而克服了傅里叶分析在处理非平稳信号和复杂图像时所存在的局限性。

随着小波理论的日趋成熟,人们对小波变换的实际应用越来越重视,它已广泛地应用于信号处理、图像处理、量子场论、地震勘探、语音识别与合成、音乐、雷达、CT成像、彩色复印、流体湍流、模式识别、机器视觉、机械故障诊断与监控以及数字电视等科技领域。

小波变换与JPEG_2000编码答案

小波变换与JPEG_2000编码答案

小波分析1、实现离散小波变换,绘出变换结果图。

采用B2或B3滤波器,对Mallat数据进行正反离散小波变换,并绘出图形A=imread('lena.bmp');subplot(221);imshow(A);title('原始图像');b=double(A);[M,N]=size(A);for m=1:Mfor n=1:N/2b1(m,n)=(b(m,2*n)+b(m,2*n-1))/sqrt(2);b1(m,n+N/2)=(b(m,2*n-1)-b(m,2*n))/sqrt(2);%1/2列变换endendfor m=1:M/2for n=1:Nif n>N/2b2(m,n)=b1(m,n);elseb2(m,n)=(b1(2*m,n)+b1(2*m-1,n))/sqrt(2);b2(m+M/2,n)=(b1(2*m-1,n)-b1(2*m,n))/sqrt(2);%1/2列安换、1/2行变换endendendsubplot(222);imshow(uint8(b2));title('分辨率为1/4的图像');F=fft2(b2);subplot(224);imshow(F);title('FFT后的图像');G=[zeros(256,5) F zeros(256,5)];s=zeros(256,256);H=[0.125 0.375 0.375 0.125];for k=1:length(b2)for j=1:length(b2)for i=1:length(H)s(k,j)=s(k,j)+G(k,j+i-1)*H(i);endendendF=uint8(real(ifft2(F)));subplot(223);imshow(F);title('低通后经IFFT后的图像');原始图像分辨率为1/4的图像FFT后的图像B2低通后经IFFT的图像实验结果图2、实现二维哈尔小波变换的图像编码算法clc;clear all;IMG=imread('lena.jpg');subplot(4,4,1);imshow(IMG);title('原图')N=length(IMG);dec=IMG;dec=double(dec);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%% 二维哈尔小波变换%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%第一次行分解%%%%%%%%%%%%%%%for m=1:Nfor n=1:N/2dec_row1(m,n)=(dec(m,2*n)+dec(m,2*n-1))/sqrt(2);dec_row1(m,n+(N/2))=(dec(m,2*n-1)-dec(m,2*n))/sqrt(2);endenddec_row11=uint8(dec_row1);subplot(4,4,2);imshow(dec_row11);title('第一次行分解')%%%%%%%%%%%%第一次列分解%%%%%%%%%%%%%%%for m=1:Nfor n=1:N/2dec_col1(n,m)=(dec_row1(2*n,m)+dec_row1(2*n-1,m))/sqrt(2);dec_col1(n+(N/2),m)=(dec_row1 (2*n-1,m)-dec_row1(2*n,m))/sqrt(2);endenddec_col11=uint8(dec_col1);subplot(4,4,6);imshow(dec_col11);title('第一次列分解')%%%%%%%%%%%%第二次行分解%%%%%%%%%%%%%%%for m=1:N/2N=length(IMG);for i=1:N/4dec_row2(m,i)=(dec_col1(m,2*i-1)+dec_col1(m,2*i))/sqrt(2);dec_row2(m,i+N/4)=(dec_col1(m,2 *i-1)-dec_col1(m,2*i))/sqrt(2);endfor i=N/2+1:length(IMG)dec_row2(m,i)=dec_col1(m,i);endenddec_row2(129:256,:)=dec_col1(129:256,:);dec_row22=uint8(dec_row2);subplot(4,4,7);imshow(dec_row22);title('第二次行分解')%%%%%%%%%%%%第二次列分解%%%%%%%%%%%%%%%%N=length(IMG);for m=1:N/2N=length(IMG);for i=1:N/4dec_col2(i,m)=(dec_row2(2*i-1,m)+dec_row2(2*i,m))/sqrt(2);dec_col2(i+N/4,m)=(dec_row2(2*i -1,m)-dec_row2(2*i,m))/sqrt(2);endfor i=N/2+1:length(IMG)dec_col2(i,m)=dec_row2(i,m);endenddec_col2=[dec_col2,dec_row2(:,129:256)];dec_col22=uint8(dec_col2);subplot(4,4,11);imshow(dec_col22);title('第二次列分解')%%%%%%%%%%%%第三次行分解%%%%%%%%%%%%%%%%N=length(IMG);for m=1:N/4for i=1:N/8;dec_row3(m,i)=(dec_col2(m,2*i)+dec_col2(m,2*i-1))/sqrt(2);dec_row3(m,i+N/8)=(dec_col2(m,2 *i-1)-dec_col2(m,2*i))/sqrt(2);endfor i=N/4+1:length(IMG)dec_row3(m,i)=dec_col2(m,i);endenddec_row3=[dec_row3;dec_col2(65:256,:)];dec_row33=uint8(dec_row3);subplot(4,4,12);imshow(dec_row33);title('第三次行分解')%%%%%%%%%%%%第三次列分解%%%%%%%%%%%%%%%%%N=length(IMG);for m=1:N/4for i=1:N/8;dec_col3(i,m)=(dec_row3(2*i,m)+dec_row3(2*i-1,m))/sqrt(2);dec_col3(i+N/8,m)=(dec_row3(2*i -1,m)-dec_row3(2*i,m))/sqrt(2);endfor i=N/4+1:length(IMG)dec_col3(i,m)=dec_row3(i,m);endenddec_col3=[dec_col3,dec_row3(:,65:256)];subplot(4,4,16)dec_col33=uint8(dec_col3);subplot(4,4,16);imshow(dec_col33);title('第三次列分解')%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 图像编码算法%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%clear IMGIMG=dec_col22(1:64,1:64);vector=IMG;if ~isa(vector,'uint8')error('input argument must be a uint8 vectour')end%将输入向量转化为行向量vector=vector(:)';f=frequency(vector);%在刚才统计的概率当中,有哪些是不为0的,把他们的坐标显示出来simbols=find(f~=0);%取中这些概率f=f(simbols);%f为从小到大排列,sortindex为原始概率从小到大排列的坐标顺序[f,sortindex]=sort(f);%原始概率在f中的坐标值simbols=simbols(sortindex);%产生码字%总共有的概率数目len=length(simbols);simbols_index=num2cell(1:len);codeword_tmp=cell(len,1);while length(f)>1,index1=simbols_index{1};index2=simbols_index{2};%最小的赋0codeword_tmp(index1)=addnode(codeword_tmp(index1),uint8(0));%次小的赋1。

课程作业-杭电研究生-小波变换—时频分析

课程作业-杭电研究生-小波变换—时频分析

课程作业-杭电研究生-小波变换—时频分析一、高斯调幅的线性调频脉冲信号sig 在取窗函数好h=1时的时频联合分布clear close all clc %产生非平稳信号sig=real(amgauss(128).*fmlin(128)); %%时域波形figure(1) plot(sig,'LineWidth',2); xlabel('时间t'); ylabel('幅值A');%设置窗函数h=1;%计算短时傅立叶变换[tfr,t,f]=tfrstft(sig,1:128,128,h); %时频表示figure(2) contour(t,f(1:128),abs(tfr));xlabel('时间 t');ylabel('频率 f');二、同一信号在同一窗函数但不同窗长度时的短时傅立叶变换和Gabor 变换的时频分布图 clear close all clc %产生非平稳信号%%暂态信号1sig1=real(amgauss(128,45).*fmconst(128,0.25,45)); %%暂态信号 2 sig2=real(amgauss(128,85).*fmconst(128,0.25,85)); sig=sig1+sig2; %时域波形figure(1) plot(sig,'LineWidth',2); xlabel('时间 t');ylabel('幅值 A'); %设置窗函数1h1=window(@hamming,65); %计算短时傅立叶变换sig=hilbert(sig);[tfr,t,f]=tfrstft(sig,1:128,128,h1);%短时傅立叶变换时频表示figure(2); contour(t,2*f(1:128),abs(tfr)); xlabel('时间 t');ylabel('频率 f');%gabor 变换的时频表示[tfr,dgr,gam]=tfrgabor(sig,64,32,h1); figure(3);tfrgabor(sig,64,32,h1);xlabel('Time [s]'); ylabel('Frequency [Hz]');%设置窗函数2h2=window(@hamming,17); %计算短时傅立叶变换[tfr,t,f]=tfrstft(sig,1:128,128,h2); %短时傅立叶变换时频表示figure(4)contour(t,2*f(1:128),abs(tfr)); xlabel('时间t');ylabel('频率f');%gabor变换的时频表示[tfr,dgr,gam]=tfrgabor(sig,64,32,h2); figure(5); tfrgabor(sig,64,32,h2);xlabel('Time [s]');ylabel 'Frequency [Hz]')两窗口下短时傅立叶变换的时频分布图两窗口下Gabor变换的时频分布图由仿真结果可知,当窗口变小时,分辨率变大;同一窗口下的STFT比Gabor 变换效果要好。

小波变换【优秀资料】

小波变换【优秀资料】

小波变换【优秀资料】(可以直接使用,可编辑完整版实用资料,欢迎下载)5频域分析对于机械故障的诊断而言,时域分析所能提供的信息量是非常有限的。

时域分析往往只能粗略地回答机械设备是否有故障,有时也能得到故障严重程度的信息,但不能回答故障发生部位等信息,即只知其然不知所以然,故一般用作设备的简易诊断。

对于设备管理和维修人员来说,诊断出设备是否有故障,这只是解决问题的第一步,更重要的工作则在于确定是哪些零部件发生了故障,以便有针对性地采取措施。

因此,故障定位问题在设备故障诊断与检测研究中显得尤为重要。

对故障进行定位一种常用的方法就是进行信号的频域分析。

所谓频域分析,即是把以时间为横坐标的时域信号通过傅里叶变换分解为以频率为横坐标的频域信号。

从而求得关于原时域信号频率成分的幅值和相位信息的一种分析方法。

通过对各频率成分的分析,对照机器零部件运行时的特征频率,以便查找故障源。

频域分析方法已成为机械设备故障诊断的主要内容。

工程实际中,常用的频域分析方法主要有:幅度谱、功率谱、倒频谱、细化谱分析等。

1. 幅度谱分析所谓幅度谱分析,就是直接对采样所得的时域信号进行傅里叶变换,求得关于该时域信号的频率构成信息,其数学运算公式为2()()j ft X f x t e dt π∞--∞=⎰ 式中 ()x t ——时域信号(振动加速度、速度等一切以时间为自变量的函数) ()X f ——信号的幅度谱,是以频率为自变量的复值函数对于周期信号,经过傅里叶变换后得到的幅值谱是离散的,即构成信号的频率成分是基波及其各次谐波分量;而对于非周期信号,其幅值谱是连续谱,即信号连续地分布在一定的频率范围内。

图5. 1幅值谱2. 功率谱分析功率谱是在频域中对信号能量或功率分布情况的描述,包括自功率谱和互功率谱,其中自功率谱与幅度谱提供的信息量相同,但在相同条件下,自功率谱比幅值谱更为清晰,可由幅度谱计算得到。

由帕斯维尔定理可以推知,信号的幅度谱与自功率谱之间有如下的对应关系2()()X f S f T= 其离散化采样的计算公式为2()()N X f S f N= 式中 N ——采样长度图5. 2 功率谱3. 倒频谱分析如果一实测信号()y t 是由两个分量()x t 和()s t 叠加而成的,即()()()y t x t s t =+为了将两个分量区分开,针对()x t 和()s t 的不同构成情况有不同的方法:(a )当两个分量分别集中在不同的频段时,则可用频域分析的线性滤波.(b )当所要提取的分量以一定的形状做周期性重复,而另一个分量是随时间变化的噪声时,则可用时域分析中的信号平均法。

小波变换VC6_0程序实现

小波变换VC6_0程序实现

(1) (2)
3 一维小波变换 VC++实现
由 2 可知 , 离散小波变换实际是通过卷积运算完成的 , 小波变换一维 DWT 或 图1 离散小波变换计算
IDWT 实现代码如下 : 1) 函数输入 double * data , 指向源数据的指针 。 int nCurLongth , 当前处理数据长度 。 int IDWT , 是否为 DWT ,1 表示为 IDWT ,0 表示 DWT 。 int nStep , 当前分解层数 。 int nSupp , 小波基的紧支集的长度 。 本文中 , 小波基存储在 hCoef 这个二维数组中 , 通过 nSupp 调用小波基 double s = sqrt(2); double* h = NULL;
Wavelet Transform Procedures for Implementation VC++6.0 LIU Chao1, XING Shu-guang1, YANG Xi-e2 (1.China University of Geosciences (Wuhan) The Faculty of Earth Resources, Wuhan 430074, China; 2.Northwest A&F University, Col lege of Humanities, Yangling 712100, China) Abstract: With the wavelet-depth study, the scope of application of wavelet transform more and more widely, but most of the research, the work is the use of Matlab wavelet toolkit for programming. This paper uses the Design and Implementation of VC++6.0 digital image processing software modules based on wavelet transform to prepare concrete realization of programs, design software interface to make it a convenient, for helping future use of wavelet transform to the practical work. Key words: wavelet transform; VC++6.0; Matlab

第3章 小波变换

第3章 小波变换

第3章 小波变换基础
3.1 小波变换的定义
令 x(t ) 的傅里叶变换为 X ( ) , (t )的傅里叶变换为 ( ) , 由傅里叶变换的性质, a,b ()的傅里叶变换为:

a , b (t )
1 tb ( ) a a
a ,b ()
a (a)e jb
小波例1
小波例2
5
第3章 小波变换基础
第3章 小波变换基础
不是小波的例
6
第3章 小波变换基础
3.1 小波变换的定义
小波变换的定义
1 tb (3.1.1) a , b (t ) ( ) a a 若a,b不断地变化,可得到一组函数 a,b (t ) 。给定平方可积的
信号 x(t ) ,即 x(t ) L2 ( R) ,则小x(t)的小波变换(Wavelet Transform,WT)定义为:
微分性质
dx (t ) 如果x(t)的CWT是 WTx (a, b) ,令 y (t ) x(t ),则 dt
WTy (a, b) WTx (a, b) b
证明:
WT y ( a, b)
1 dx(t ) t b dt ( a )dt a 1 x(t t ) x(t ) t b Lim ( )dt t 0 t a a 1 1 1 t b t b Lim x(t t ) ( )dt x(t ) ( )dt t 0 t a a a a
着最佳的定位功能(频域的 函数),但在时域所对应的
范围是

--
,完全不具备定位功能。这是FT的一
个严重的缺点。
傅里叶变换
小波变换
18

吴正国高等数字信号处理第6章小波变换2.


不会造成频域混迭。


③级联
x(n)
(n)
y(n)
2
2
x(n)
(n)
y(n)
2
2
x(n) y(n)
尺度、长度不变; 信息量不变。
x(n) n为偶数
y(n)
0
n为奇数
yˆ(z)
1 2
[xˆ(z)
xˆ(z)]
尺度、长度不变;
信息量减半、可能混迭失真


④等效易位
xˆ(z)
1 2
[
xˆ(
①滤波器组:具有一个共同的输入 ( 或一个共同的输 出 ) 的一组滤波器。
分析滤波器组——————→共同的输入
综合滤波器组——————→共同的输出
x(n)
H0(z) 0(n)
2
2 0(z) H1(z)
y0 (n) y(n)
①定理 设φ(t)是多尺度分析的生成元,并满足:
零尺度空间的正交基为 { (t n)}nZ


存在双尺度序列,使以下双尺度方程成立
现令
(t) 2 hn(2t n)
nZ
(t) 2 (1)n h1n(2t n)
nZ
Wj
close
j,k (t)
j
2 2 (2 j t
k)
:k
Z
则有如下结论成立:


③证明:
ˆ() H ˆ
2 2
ˆ( 2k ) 2 1
H k 2 ˆ k 2 1
kZ 2
2
k
奇偶数分开并利用H(ω)的周期性即可得证
⒉标准正交基对双尺度序列的约束 ①低通滤波器的约束
H ( )
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

小波变换第六次作业
专业:信息与通信工程 学号:406130714098 姓名:徐标
令信号由6个正弦组成,频率分别是1Hz, 5Hz, 10Hz, 20Hz, 50Hz ,100Hz,抽
样频率为600Hz。这些正弦信号的幅度都一样。
1. 自己选定小波,选择合适的MATLAB文件,对该信号进行多尺度分解,
尺度的选择要保证将每一个正弦分量分开;
2.分解时试采用多孔算法,以防止数据逐级减少;
3. 重建原信号。
解:取信号:


123456
sin2sin2sin2sin2sin2sin2xtftftftftftft


123456
=sssssstttttt

其中:1f=1HZ,2f=5HZ ,3f=10HZ ,4f=20HZ ,5f=50HZ ,6f=100HZ。
设数据长度N=2000。使用小波变换的方法将这6个正弦分量分开。在分解过程
中使用多孔算法。使用的小波是sym8。

a1(n)
)

H1(z)
↓2
H0(z) ↓2 H1(z) ↓2 H0(z) ↓2 H0(z) ↓2 H1(z)
↓2
x(n
)

d1(n)

d3(n)

a3(n)

d2(n)

a2(n)
现在用二等分的方法将其频带逐级分开:
信号二进制分解的实现
下图是利用Mallat算法对所给信号分解的结果:
5
a
5
d

4

(75HZ)

8

(37.5HZ)

0 (300HZ)
2

(150HZ)

0

0
0


nd

1


na

1

na2 
nd

2

na3 
nd

3

na4 
nd

4

0
16


(18.75HZ)

0
32


(9.375HZ)
6a 6
d
通过上述7级分解,原V0空间对用0HZ—300HZ。信号6st被分解到细节d2,
信号5st被分解到细节d3,信号4st被分解到细节d4,信号3st被分解
到细节d5,信号2st被分解到细节d6,信号1st被分解到概貌a6。

相关文档
最新文档