matlab fx函数图像,五种常用小波基含MATLAB实现 五种基本函数图像

五种基本函数图像

1.给出五种常用小波基的时域和频域波形图。 与标准的傅里叶变换相比,小波分析中使用到的小波函数具有不唯一性,即小波函数(t) 具有多样性。小波分析在工程应用中,一个十分重要的问题就是最优小波基的选择问题,因为用不同的小波基分析同一个问题会产生不同的结果。目前我们主要是通过用小波分析方法处理信号的结果与理论结果的误差来判定小波基的好坏,由此决定小波基。常用小波基有Haar小波、Daubechies(dbN)小波、Mexican Hat(mexh)小波、Morlet小波、Meyer小波等5种。

(1)Haar小波 Haar函数是小波分析中最早用到的一个具有紧支撑的正交小波函数,也是最简答的一个小波函数,它是支撑域在t[0,1]范围内的单个矩形波。 Haar10t112函数的定义如下:(t)-12t1 0其他 Haar小波在时域上是不连续的,所以作为基本小波性能不是特别好。但它也有自己的优点,如: 计算简单; (t)不但与(2jt)[jz]正交,而且与自己的整数位移正交。

因此,在a族。 (t)的傅里叶变换是: 2j的多分辨率系统中Haar小波构成一组最简单的正交归一的小波()=j4sin2()ej/2 a

Haar小波的时域和频域波形图 haar 时域1.510.50-0.5-1-1.500.511.5t i=20; wav = 'haar'; [phi,g1,xval] = wavefun(wav,i); subplot(1,2,1); plot(xval,g1,'-r','LineWidth',1.5); xlabel('t') title('haar 时域'); g2=fft(g1); g3=abs(g2); subplot(1,2,2);plot(g3); xlabel('f') title('haar 频域') 5haar 频域7x 106543210051015fx 105

(2)Daubechies(dbN)小波 Daubechies小波是世界著名的小波分析学者Inrid Daubechies构造的小波函数,简写为dbN,N是小波的阶数。

小波(t)和尺度函数(t)中的支撑区为除N1外,dbN不具有对称性(即非线性相位)。2N1,(t)的消失矩为N。dbN没有明确的表达式(除N1外),但转换函数h的平方模是明确的。 Daubechies小波系是由法国学者Daubechies提出的一系列二进制小波的总称,在Matlab中记为dbN,N为小波的序号,N值取2,3,…,10。该小波没有明确的解析表达式,小波函数φ与尺度函数Φ的有效支撑长度为2N-1.当N取1时便成为Haar小波。 令p(y)Ck0N1N-1kkyk,其中Ck2N-1k为二项式的系数,则有 m0()(cos2-jkk)p(sin) 2221式中,m()he22N1k00。

Daubechies小波具有以下特点:

(1)在时域是有限支撑的,即(t)长度有限。

(2)在频域()在=0处有N阶零点。

k(t)(t-k)dt。

(4)小波函数(t)可以由所谓“尺度函数”(t)求出来。

尺度函数(t)为

(3)(t)和它的整数位移正交归一,即低通函数,长度有限,支撑域在t=0~(2N-1)范围内。

Daubechies小波的时域和频域波形图 db4 时域1.510.50-0.5-102468t i=10; wname = 'db4'; [phi,g1,xval] = wavefun(wname,i); subplot(1,2,1); plot(xval,g1,'-r','LineWidth',1.5); xlabel('t') title('db4 时域'); g2=fft(g1); g3=abs(g2); subplot(1,2,2);plot(g3,'-r','LineWidth',1.5); xlabel('f') title('db4 频域')db4 频域1000900800700600500400300200100002000400060008000f

注意 Daubechies小波常用来分解和重构信号,作为滤波器使用。波形如下: 分解低通滤波器0.80.60.400.20-0.202468-0.5-110.5分解高通滤波器02468重构低通滤波器10.510.500-0.502468-10重构高通滤波器-0.52468 wname = 'db4'; % 计算该小波的4个滤波器 [Lo_D,Hi_D,Lo_R,Hi_R] = wfilters(wname); subplot(2,2,1); stem(Lo_D); title('分解低通滤波器'); subplot(2,2,2); stem(Hi_D); title('分解高通滤波器'); subplot(2,2,3); stem(Lo_R); title('重构低通滤波器'); subplot(2,2,4); stem(Hi_R); title('重构高通滤波器');

(3)Mexican Hat(mexh)小波 Mexican Hat函数为Gauss函数的二阶导数:(t)(1-t)e2-t22 ()2e2-22 因为它的形状像墨西哥帽的截面,所以也称为墨西哥帽函数。 Mexican Hat(mexh)小波的时域和频域波形图 Mexihat 时域115mexihat 频域0.51005-0.5-10-50t5100050f100 d=-6; h=6; n=100; [g1,x]=mexihat(d,h,n); subplot(2,2,1);plot(x,g1,'-r','LineWidth',1.5); xlabel('t') title('Mexihat 时域'); g2=fft(g1); g3=(abs(g2)); subplot(2,2,2);plot(g3); xlabel('f') title('mexihat 频域'); 特点:墨西哥帽函数在时间域与频率域都有很好的局部化,并且满足(t)dt0。由于它不存在尺度函数,所以小波函数不具有正交性。 R

(4)Morlet小波 它是高斯包络下的单频率副正弦函数: (t)Cecos(5x )2-t2C是重构时的归一化常数。Morlet小波没有尺度函数(t),而且是非正交分解。 Morlet 频域Morlet小波的时域波形图和频域波形图 Morlet 时域10.50-0.5-1-10d=-6; h=6; n=100; [g1,x]=morlet(d,h,n); subplot(2,2,1);plot(x,g1,'-r','LineWidth',1.5); xlabel('t') title('Morlet 时域'); g2=fft(g1); g3=abs(g2); subplot(2,2,2);plot(g3); xlabel('f') title('Morlet 频域') 15105-50t5100050f100

(5)Meyer小波 Meyer小波的小波函数和尺度函数都是在频率域中进行定义的,其定义为: 324(2)esin(2v(2-1))33348()(2)ecos(v(-1))2233280,33-12jw2-12jw2 其中,v(a)为构造Meyer小波的辅助函数,具有 v(a)a(35-84a70a-20a) a0,1 423(2) 324()(2)cos(v(-1))2233043--121223 Meyer小波不是紧支撑的,但它收敛的速度很快: (t)C(1t)n2-n (t)无限可微。 Meyer小波的时域和频域波形图 Meyer 时域210-1-6-4-20tmeyer 频域2461510500204060f80100120140

d = -6; h = 6; n = 128; [psi,x] = meyer(d,h,n,'psi'); subplot(2,1,1), plot(x,psi,'-r','LineWidth',1.5) xlabel('t') title('Meyer 时域'); PSI=fft(psi); PSII=abs(PSI); subplot(2,1,2), plot(PSII); xlabel('f') title('meyer 频域')

2、在信号 x(t)=sin(2π*30t)+cos(2π*50t)加上噪音后分别进行FFT和CWT变换。 解:引入随机噪声randn(1,N) 原信号x(t)波形图250x(t)的fft变换图x(t)0-20050tx(t)加噪声后fft变换图100050fmorlet100500642120406080time (or space) b尺度为2100050f尺度为110010-1scales a05010020-2050100 N=100;fs=1000; n=

0:N-1; t=n/fs; x=sin(60*pi*t)+cos(100*pi*t); %原信号 subplot(3,2,1); plot(x,'-r','LineWidth',1.5); xlabel('t') ylabel('x(t)') title('原信号x(t)波形图') F1=fft(x); m1=abs(F1); subplot(3,2,2);plot(m1);

xlabel('f') title('x(t)的fft变换图') x1=randn(1,N); %加入噪声 x2=x+x1; F2=fft(x2); m2=abs(F2); subplot(3,2,3);plot(m2); xlabel('f') title('x(t)加噪声后fft变换图') scale=[1 2 4 6]; %设置尺度 subplot(3,2,4);x3=cwt(x2,scale,'morl','plot'); title('morlet'); %加噪声后CWT变换结果图 subplot(3,2,5);plot(x3(1,:));title('尺度为1'); subplot(3,2,6);plot(x3(2,:));title('尺度为2');

五种基本函数图像。

Tags: