当前位置:文档之家› 五种常用小波基含MATLAB实现

五种常用小波基含MATLAB实现

五种常用小波基含MATLAB实现
五种常用小波基含MATLAB实现

1.给出五种常用小波基的时域和频域波形图。

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

Haar 函数是小波分析中最早用到的一个具有紧支撑的正交小波函数,也是最简答的一个小波函数,它是支撑域在[0,1]∈t

范围内的单个矩形波。 Haar

函数的定义如下:其他

1212

1

001-1(t)≤≤≤≤?????=ψt t

Haar 小波在时域上是不连续的,所以作为基本小波性能不是特别好。但它也有自己的优点,如: ①计算简单;

②(t)ψ不但与t)2(j ψz][j ∈正交,而且与自己的整数位移正交。 因此,在2j a =的多分辨率系统中Haar 小波构成一组最简单的正交归一的小波

族。

()t ψ的傅里叶变换是:

2/24=sin ()j e a ψ-ΩΩ

ΩΩ()j

Haar 小波的时域和频域波形图

00.5

1 1.5

-1.5

-1

-0.5

0.5

1

1.5

t

haar 时域

05

1015x 10

5

1

2

3

4

5

6

7

x 10

5

f

haar 频域

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 频域')

(2)Daubechies(dbN)小波

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

(t)φ中的支撑区为

12-N ,(t)ψ的消失矩为N 。除1=N 外,dbN 不具有对称性(即非线性相位)。dbN 没有明确的表达式(除1=N

外),但转换函数h 的平方模是明确的。

Daubechies 小波系是由法国学者Daubechies 提出的一系列二进制小波的总称,在Matlab 中记为dbN ,N 为小波的序号,N 值取2,3,…,10。该小波没有明确的解析表达式,小波函数φ与尺度函数Φ的有效支撑长度为2N-1.当N 取1时便成为Haar 小波。 令

k

N k k

N k

y

p C

∑-=+=1

1-(y),其中C k

N k

+1-为二项式的系数,则有

)2

)p (s i n 2(c o s

)

(2

22

ω

ω=m 式中,e

h jk N k k

ωω-120

2

1

)(m ∑-==。

Daubechies 小波具有以下特点:

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

)(ωψ在ω=0处有N 阶零点。

(3)(t)ψ和它的整数位移正交归一,即?=δψψk

k)dt -(t (t)。

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

低通函数,长度有限,支撑域在t=0~(2N-1)范围内。

Daubechies 小波的时域和频域波形图

2

46

8

-1-0.5

0.5

1

1.5

t

db4 时域

2000

40006000

8000

0100

200300

400500

600700

800900

1000f

db4 频域

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 频域')

注意

Daubechies 小波常用来分解和重构信号,作为滤波器使用。波形如下:

2

4

6

8

-0.2

00.20.4

0.60.8分解低通滤波

02468

-1-0.50

0.5

1分解高通滤波

2

4

6

8

-0.5

0.5

1重构低通滤波

2468

-1-0.5

0.51重构高通滤波器

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 函数的二阶导数:

e

t 2

-

2

2

)-(1(t)t

e

2

-2

2

2)(ωωπωψ=

因为它的形状像墨西哥帽的截面,所以也称为墨西哥帽函数。

Mexican Hat(mexh)小波的时域和频域波形图

-10

-5

0510

-0.500.5

1

t

Mexihat 时域

50100

5

10

15

f

mexihat 频域

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 频域');

特点:墨西哥帽函数在时间域与频率域都有很好的局部化,并且满足

0(t)=?dt R

ψ。由于它不存在尺度函数,所以小波函数不具有正交性。

它是高斯包络下的单频率副正弦函数:

(5x )

c o s (t )2

-2

e t

C =ψ C 是重构时的归一化常数。Morlet 小波没有尺度函数

(t)φ,而且是非正交分解。

Morlet 小波的时域波形图和频域波形图

-10

-5

0510

-1

-0.500.5

1t

Morlet 时域

50100

5

10

15

f

Morlet 频域

d=-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 频域')

Meyer 小波的小波函数和尺度函数都是在频率域中进行定义的,其定义为:

???

?

?

????

?

??????≤

≤≤≤=38,32038341))-23v(2(cos )(234321))-23v(2(sin )(2)(2

2

1-2

2

1

-ππωπωπωππππωπωπππωψe e jw jw

其中,v(a)为构造Meyer 小波的辅助函数,具有

[]0,1a )20-7084a -(35(a)a a 3

2

4

∈+=a v

3

434323

201))-23v(2(cos )(2)(2)(2

1-2

1-πωπωππωωππππωφ>≤

≤≤

??

?

?

???= Meyer 小波不是紧支撑的,但它收敛的速度很快:

n

-2

)

t (1(t)+≤C n

ψ

(t)ψ无限可微。

Meyer 小波的时域和频域波形图

-6

-4-2

0246

-10

1

2

t

Meyer 时域

0204060

80100120140

5

10

15f

meyer 频域

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)

50100-2

2

t

x (t )

原信号x(t)波形图

50100

50

f x(t)的fft 变换图

50100

50

f

x(t)加噪声后fft 变换图

morlet

time (or space) b

s c a l e s a

20

406080100

1

24

60

50

100

-1

1尺度为1

050100

-2

2尺度为2

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');

(完整版)MATLAB常用函数大全

一、MATLAB常用的基本数学函数 abs(x):纯量的绝对值或向量的长度 angle(z):复数z的相角(Phase angle) sqrt(x):开平方 real(z):复数z的实部 imag(z):复数z的虚部 conj(z):复数z的共轭复数 round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数ceil(x):天花板函数,即加入正小数至最近整数rat(x):将实数x化为分数表示 rats(x):将实数x化为多项分数展开 sign(x):符号函数(Signum function)。 当x<0时,sign(x)=-1; 当x=0时,sign(x)=0; 当x>0时,sign(x)=1。 rem(x,y):求x除以y的馀数 gcd(x,y):整数x和y的最大公因数 lcm(x,y):整数x和y的最小公倍数 exp(x):自然指数 pow2(x):2的指数 log(x):以e为底的对数,即自然对数或 log2(x):以2为底的对数 log10(x):以10为底的对数 二、MATLAB常用的三角函数 sin(x):正弦函数 cos(x):余弦函数

tan(x):正切函数 asin(x):反正弦函数 acos(x):反馀弦函数 atan(x):反正切函数 atan2(x,y):四象限的反正切函数 sinh(x):超越正弦函数 cosh(x):超越馀弦函数 tanh(x):超越正切函数 asinh(x):反超越正弦函数 acosh(x):反超越馀弦函数 atanh(x):反超越正切函数 三、适用於向量的常用函数有: min(x): 向量x的元素的最小值 max(x): 向量x的元素的最大值 mean(x): 向量x的元素的平均值 median(x): 向量x的元素的中位数 std(x): 向量x的元素的标准差 diff(x): 向量x的相邻元素的差 sort(x): 对向量x的元素进行排序(Sorting)length(x): 向量x的元素个数 norm(x): 向量x的欧氏(Euclidean)长度sum(x): 向量x的元素总和 prod(x): 向量x的元素总乘积 cumsum(x): 向量x的累计元素总和cumprod(x): 向量x的累计元素总乘积 dot(x, y): 向量x和y的内积 cross(x, y): 向量x和y的外积 四、MATLAB的永久常数

最新小波去噪matlab程序.优选

[转帖]小波去噪matlab程序 ****************************************** clear clc %在噪声环境下语音信号的增强 %语音信号为读入的声音文件 %噪声为正态随机噪声 sound=wavread('c12345.wav'); count1=length(sound); noise=0.05*randn(1,count1); for i=1:count1 signal(i)=sound(i); end for i=1:count1 y(i)=signal(i)+noise(i); end %在小波基'db3'下进行一维离散小波变换[coefs1,coefs2]=dwt(y,'db3'); %[低频高频] count2=length(coefs1); count3=length(coefs2); energy1=sum((abs(coefs1)).^2); energy2=sum((abs(coefs2)).^2);

energy3=energy1+energy2; for i=1:count2 recoefs1(i)=coefs1(i)/energy3; end for i=1:count3 recoefs2(i)=coefs2(i)/energy3; end %低频系数进行语音信号清浊音的判别 zhen=160; count4=fix(count2/zhen); for i=1:count4 n=160*(i-1)+1:160+160*(i-1); s=sound(n); w=hamming(160); sw=s.*w; a=aryule(sw,10); sw=filter(a,1,sw); sw=sw/sum(sw); r=xcorr(sw,'biased'); corr=max(r); %为清音(unvoice)时,输出为1;为浊音(voice)时,输出为0 if corr>=0.8

matlab小波去噪详解

小波去噪 [xd,cxd,lxd]=wden(x,tptr,sorh,scal,n,'wname') 式中: 输入参数x 为需要去噪的信号; 1.tptr :阈值选择标准. 1)无偏似然估计(rigrsure)原则。它是一种基于史坦无偏似然估计(二次方程)原理的自适应阈值选择。对于一个给定的阈值t,得到它的似然估计,再将似然t 最小化,就得到了所选的阈值,它是一种软件阈值估计器。 2)固定阈值(sqtwolog)原则。固定阈值thr2 的计算公式为:thr 2log(n) 2 = (6)式中,n 为信号x(k)的长度。 3)启发式阈值(heursure)原则。它是rigrsure原则和sqtwolog 原则的折中。如果信噪比很小,按rigrsure 原则处理的信号噪声较大,这时采用sqtwolog原则。 4)极值阈值(minimaxi)原则。它采用极大极小原理选择阈值,产生一个最小均方误差的极值,而不是没有误差。 2.sorh :阈值函数选择方式,即软阈值(s) 或硬阈值(h). 3.scal :阈值处理随噪声水平的变化,scal=one 表示不随噪声水平变化,scal=sln 表示根据第一层小波分解的噪声水平估计进行调整,scal=mln 表示根据每一层小波分解的噪声水平估计进行调整. 4.n 和wname 表示利用名为wname 的小波对信号进行n 层分解。输出去噪后的数据xd 及xd 的附加小波分解结构[cxd,lxd]. 常见的几种小波:haar,db,sym,coif,bior haar db db1 db2 db3 db4 db5 db6 db7 db8 db9 db10 sym sym2 sym3 sym4 sym5 sym6 sym7 sym8 coif coif1 coif2 coif3 coif4 coif5 coif6 coif7 coif8 coif9 coif10 bior bior1.1 bior1.3 bior1.5 bior2.2 bior2.4 bior2.6 bior2.8 bior3.5 bior3.7 bior3.9 bior4.4

matlab各种函数的用法

1 Text函数的用法: 用法 text(x,y,'string')在图形中指定的位置(x,y)上显示字符串string text(x,y,z,'string') 在三维图形空间中的指定位置(x,y,z)上显示字符串string 2, plot([0,z1,z12],'-b','LineWidth',3)[ ]里面表示数组. 3, x,y均为矩阵,plot命令就是画出x,y矩阵对应的二维平面的点形成的曲线。y(:,1)中逗号前是行,逗号后是列,冒号表示从几到几。所以y(:,1)表示第一列的所有元素。如果是y(3:5,1)则表示第一列的第3到第5行对应的元素。只要你的y矩阵有100列,那你当然可以将1改成100。同理,x矩阵也可以这样。 4 sym的意思是symbol,就是后面括号里面是个代数式,要进行符号运算,class()判断对象是什么类型。 5 matlab控制运算精度用的是digits和vpa这两个函数 xs = vpa(x,n) 在n位相对精度下,给出x的数值型符号结果xs xs = vpa(x) 在digits指定的精度下,给出x的数值型符号结果xs

digits用于规定运算精度,比如: digits(20); 这个语句就规定了运算精度是20位有效数字。但并不是规定了就可以使用,因为实际编程中,我们可能有些运算需要控制精度,而有些不需要控制。vpa就用于解决这个问题,凡是用需要控制精度的,我们都对运算表达式使用vpa函数。例如: digits(5); a=vpa(sqrt(2)); 这样a的值就是1.4142,而不是准确的1.4880 又如: digits(5); a=vpa(sqrt(2)); b=sqrt(2); 这样a的值是1.4142,b没有用vpa函数,所以b是1.4880...... 6

自动控制常见MATLAB函数的应用

自动控制常见MATLAB 函数的应用 1、在matlab 中采用roots 函数求解多项式的根,采用conv 函数实 现多项式的积,相互连接的模块的模型求解也相当简单(1)、串联连接命令G=G1*G2(2)、并联连接命令G=G 1±G2(3)、反馈连接命令G=feedback (G1,G2,Sign )(sign 用来表示系统是正反馈或负反馈,sign=-1为负反馈) 例如:① 程序如下: >>p=[1304]; >>roots(p) ans = -3.3553 0.1777+1.0773i 0.1777-1.0773i ②、用matlab 实现: 程序如下: >>p=[321];q=[14]; >>n=conv(p,q) n = 31494③、一个传递函数模型,可以由下面的命令输入:32()34p s s s =++2 ()(321)(4)n s s s s =+++325()345 s G s s s s +=+++

>>num=[15];den=[1345]; >>G=tf(num,den) Transfer function: s +5 --------------------- s^3+3s^2+4s +5 ④、如下图所示,前向传递函数为G (S ) ,反馈回路传递函数为H(S),利用feedback 计算系统的闭环传递函数 程序如下: >>numg=[1];deng=[50000]; >>numh=[11];denh=[12]; >>[num,den]=feedback(numg,deng,numb,denh,-1); >>[num,den]=feedback(numg,deng,numh,denh,-1); >>G=tf(num,den) () R S ???→

基于小波变换的去噪方法

文章编号:1006-7043(2000)04-0021-03 基于小波变换的去噪方法 林克正 李殿璞 (哈尔滨工程大学自动化学院,黑龙江哈尔滨150001) 摘 要:分析了信号与噪声在小波变换下的不同特点,提出了基于小波变换的去噪方法,且将该去噪算法 用算子加以描述,给出了具体实例.小波变换硬阈值去噪法和软阈值去噪法的性能比较及仿真实验,表明基于小波变换的去噪方法是非常有效的.!关 键 词:小波变换;去噪;奇异性检测;多尺度分析 中图分类号:TN911.7 文献标识码:A Denoising Method Based on Wavelet Transform Lin Ke-zheng Li Dian-pu (Automation Coiiege ,Harbin Engineering University ,Harbin 150001,China ) Abstract :This paper anaiyzes the different characteristics of noise and signai under waveiet transform and proposes the denoising method based on waveiet transform.The denoising aigorithm based on waveiet transform are described with some operators.Some exampies are demonstrated.The performance of denoising with hard and soft threshoid method based on waveiet transform are compared in computer simuiation.The simuiation shows that the denoising method based on waveiet transform is very effective. Key words :waveiet transform ;denoising ;singuiarity detection ;muitiresoiution anaiysis 提取掩没在噪声中的信号是信号处理的一项重要课题.实际的信号总是含有噪声的,当待检测信号的输入信噪比很低,各种噪声幅值大、分布广,而干扰信号又与真实信号比较接近时,用传统的时域或频域滤波往往不能取得预期效果.D.L.Donoho 提出的非线性小波方法从噪声中提取信号 效果最明显[2-5] ,并且在概念上也有别于其它方 法,其主要思想有局部极大值阈值法、全局单一阈 值法[3]和局部SURE 多阈值法[4] .在此基础上,本文首先分析了信号和噪声在小波变换下的不同特 性,据此可有效地从噪声信号检出有用的信号,用算子的形式对基于小波变换的去噪方法进行了统一的描述,并提出了一种可浮动的自适应阈值选取方法. 1 小波分析基础 1.1 信号的小波变换 [1] 设母波函数是!(t ),伸缩和平移因子分别为a 和6,小波基函数!a ,6(t ) 定义为!a , 6(t )=1! a !(t -6 a )(1)式中,6"R ,a "R -{0}. 函数f (t )" 2 (R ) 的小波变换W a ,6(f )定义为 W a ,6(f )==1!a # - f (t )!(t -6 a )d t (2)小波变换W a ,6(f )就是函数f (t )" 2 (R ) 在对应函数族!a ,6(t )上的分解.这一分解成立的前提是母波函数!(t )满足如下容许性条件 !=# 0I ^!(")I 2" d "< (3)式中^!(")是!(t )的傅立叶变换.由小波变换W a ,6(f ) 重构f (t )的小波逆变换# 收稿日期:1999-10-22;修订日期:2000-7-20;作者简介:林克正(1962-),男,山东蓬莱人,哈尔滨工程大学博士研究生,哈尔滨理工大学副教授,主要研究方向:小波分析理论及图像处理. 第21卷第4期哈尔滨工程大学学报Voi.21,N.42000年8月Journai of Harbin Engineering University Aug.,2000

基于MATLAB的小波消噪仿真实现 (1)

收稿日期:2007-12-10 作者简介:史振江(1979-),男,汉,河北唐山人,学士,讲师,研究方向智能检测与控制技术。 基金项目:河北省教育厅自然科学项目(Z2006442) 基于MATLAB 的小波消噪仿真实现 史振江1) 安建龙 2) 赵玉菊1) (石家庄铁路职业技术学院1) 河北石家庄 050041 衡水学院2) 河北衡水 053000)  摘要:小波阈值消噪方法是利用小波变换技术对含噪信号进行分解和重构,通过对小波分解后的小波系数限定阈值来消除噪声的方法。分析小波消噪的算法和实现步骤,并基于MATLAB 软件平台编写仿真程序。进行光纤光栅反射信号的小波消噪仿真实验,消噪效果良好。  关键词:小波消噪 阈值 分解 重构 光纤光栅  中图分类号:TP272 文献标识码:A 文章编号:1673-1816(2008)01-0063-04 1 引言  微弱信号检测[1]是关于如何提取和测量强噪声背景下微弱信号的方法,有效的去除信号中的噪声是实现微弱信号检测的关键。小波变换[2]是一种信号的时间、频率分析方法,具有多分辨分析的特点,是时间窗和频率窗都可以改变的时频局部化分析方法,已经广泛应用于信号消噪、信号处理、图像处理、语音识别与合成等领域。小波消噪[3~5]的方法可以分为三类:模极大值法、相关法以及阈值方法。其中,小波阈值消噪方法是利用小波变换技术对含噪信号进行分解和重构,通过对小波分解后的各层系数限定阈值来消除噪声的方法,因其实现简单、计算量小,取得了广泛应用。 MATLAB 即矩阵实验室,是一种建立在向量、数组和矩阵基础上,面向科学与工程计算的高级语言,它集科学计算、自动控制、信号处理、神经网络、图像处理于一体,具有极高的编程效率[6]。其中的小波处理工具箱可以方便实现小波消噪算法,对含噪信号进行消噪处理和研究。 本文详细分析了小波消噪算法,利用MATLAB 软件编写了程序,并对光纤光栅反射谱信号进行了小波消噪仿真实验。 2 小波变换与Mallat 算法  小波变换是指,把某一被称为基本小波的函数()t ψ平移位移b 后, 在不同尺度a 下作伸缩变换,得到连续小波序列,()a b t ψ,再与待分析信号()f t 作内积: 1/2(,)()()f R t b W a b a f t dt a ψ??=∫ (1) 在实际应用中,经常将,()a b t ψ作离散化处理,令2j a =,2j b k =g ,Z k j ∈,则得到相应的离散

小波去噪matlab程序

小波去噪matlab程序 ****************************************** clear clc %在噪声环境下语音信号的增强 %语音信号为读入的声音文件 %噪声为正态随机噪声 sound=wavread('c12345.wav'); count1=length(sound); noise=0.05*randn(1,count1); for i=1:count1 signal(i)=sound(i); end for i=1:count1 y(i)=signal(i)+noise(i); end %在小波基'db3'下进行一维离散小波变换 [coefs1,coefs2]=dwt(y,'db3');%[低频高频] count2=length(coefs1); count3=length(coefs2); energy1=sum((abs(coefs1)).^2); energy2=sum((abs(coefs2)).^2); energy3=energy1+energy2; for i=1:count2 recoefs1(i)=coefs1(i)/energy3; end for i=1:count3 recoefs2(i)=coefs2(i)/energy3; end %低频系数进行语音信号清浊音的判别 zhen=160; count4=fix(count2/zhen); for i=1:count4 n=160*(i-1)+1:160+160*(i-1); s=sound(n); w=hamming(160); sw=s.*w; a=aryule(sw,10); sw=filter(a,1,sw);

基于小波去噪matlab程序示例

clear all clc %在噪声环境下语音信号的增强 %语音信号为读入的声音文件 %噪声为正态随机噪声 sound=wavread('c12345.wav'); count1=length(sound); noise=0.05*randn(1,count1); for i=1:count1 signal(i)=sound(i); end for i=1:count1 y(i)=signal(i)+noise(i); end %在小波基'db3'下进行一维离散小波变换 [coefs1,coefs2]=dwt(y,'db3'); %[低频高频] count2=length(coefs1); count3=length(coefs2); energy1=sum((abs(coefs1)).^2); energy2=sum((abs(coefs2)).^2); energy3=energy1+energy2; for i=1:count2 recoefs1(i)=coefs1(i)/energy3; end for i=1:count3 recoefs2(i)=coefs2(i)/energy3; end %低频系数进行语音信号清浊音的判别 zhen=160; count4=fix(count2/zhen); for i=1:count4 n=160*(i-1)+1:160+160*(i-1); s=sound(n); w=hamming(160); sw=s.*w; a=aryule(sw,10); sw=filter(a,1,sw); sw=sw/sum(sw); r=xcorr(sw,'biased'); corr=max(r); %为清音(unvoice)时,输出为1;为浊音(voice)时,输出为0 if corr>=0.8 output1(i)=0; elseif corr<=0.1

小波变换去噪基础地的知识整理

1.小波变换的概念 小波(Wavelet)这一术语,顾名思义,“小波”就是小的波形。所谓“小”是指它具有衰减性;而称之为“波”则是指它的波动性,其振幅正负相间的震荡形式。与Fourier变换相比,小波变换是时间(空间)频率的局部化分析,它通过伸缩平移运算对信号(函数)逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分,能自动适应时频信号分析的要求,从而可聚焦到信号的任意细节,解决了Fourier变换的困难问题,成为继Fourier变换以来在科学方法上的重大突破。有人把小波变换称为“数学显微镜”。 2.小波有哪几种形式?常用的有哪几种?具体用哪种,为什么? 有几种定义小波(或者小波族)的方法: 缩放滤波器:小波完全通过缩放滤波器g——一个低通有限脉冲响应(FIR)长度为2N和为1的滤波器——来定义。在双正交小波的情况,分解和重建的滤波器分别定义。 高通滤波器的分析作为低通的QMF来计算,而重建滤波器为分解的时间反转。例如Daubechies和Symlet 小波。 缩放函数:小波由时域中的小波函数 (即母小波)和缩放函数 (也称为父小波)来定义。 小波函数实际上是带通滤波器,每一级缩放将带宽减半。这产生了一个问题,如果要覆盖整个谱需要无穷多的级。缩放函数滤掉变换的最低级并保证整个谱被覆盖到。 对于有紧支撑的小波,可以视为有限长,并等价于缩放滤波器g。例如Meyer小波。 小波函数:小波只有时域表示,作为小波函数。例如墨西哥帽小波。 3.小波变换分类 小波变换分成两个大类:离散小波变换 (DWT) 和连续小波转换 (CWT)。两者的主要区别在于,连续变换在所有可能的缩放和平移上操作,而离散变换采用所有缩放和平移值的特定子集。 DWT用于信号编码而CWT用于信号分析。所以,DWT通常用于工程和计算机科学而CWT经常用于科学研究。 4.小波变换的优点 从图像处理的角度看,小波变换存在以下几个优点: (1)小波分解可以覆盖整个频域(提供了一个数学上完备的描述) (2)小波变换通过选取合适的滤波器,可以极大的减小或去除所提取得不同特征之间的相关性 (3)小波变换具有“变焦”特性,在低频段可用高频率分辨率和低时间分辨率(宽分析窗口),在高频段,可用低频率分辨率和高时间分辨率(窄分析窗口) (4)小波变换实现上有快速算法(Mallat小波分解算法) 另: 1) 低熵性变化后的熵很低; 2) 多分辨率特性边缘、尖峰、断点等;方法, 所以可以很好地刻画信号的非平稳特性 3) 去相关性域更利于去噪; 4) 选基灵活性: 由于小波变换可以灵活选择基底, 也可以根据信号特性和去噪要求选择多带小波、小波包、平移不变小波等。 小波变换的一个最大的优点是函数系很丰富, 可以有多种选择, 不同的小波系数生成的小波会有不同的效果。噪声常常表现为图像上孤立像素的灰度突变, 具有高频特性和空间不相关性。图像经小波分解后可得到低频部分和高频部分, 低频部分体现了图像的轮廓, 高频部分体现为图像的细节和混入的噪声, 因此, 对图像去噪, 只需要对其高频系数进行量化处理即可。 5.小波变换的科学意义和应用价值

小波图像去噪及matlab分析

小波图像去噪及matlab实例 图像去噪 图像去噪是信号处理的一个经典问题,传统的去噪方法多采用平均或线性方法进行,常用的是维纳滤波,但是去噪效果不太好(维纳滤波在图像复原中的作用)。 小波去噪 随着小波理论的日益完善,其以自身良好的时频特性在图像去噪领域受到越来越多的关注,开辟了用非线性方法去噪的先河。具体来说,小波能够去噪主要得益于小波变换有如下特点: (1)低熵性。小波系数的稀疏分布,使图像变换后的熵降低。意思是对信号(即图像)进行分解后,有 更多小波基系数趋于0(噪声),而信号主要部分多集中于某些小波基,采用阈值去噪可以更好的保留原 始信号。 (2)多分辨率特性。由于采用了多分辨方法,所以可以非常好地刻画信号的非平稳性,如突变和断点等(例如0-1突变是傅里叶变化无法合理表示的),可以在不同分辨率下根据信号和噪声的分布来消除噪声。(3)去相关性。小波变换可对信号去相关,且噪声在变换后有白化趋势,所以小波域比时域更利于去噪。(4)基函数选择灵活。小波变换可灵活选择基函数,也可根据信号特点和去噪要求选择多带小波和小波 包等(小波包对高频信号再次分解,可提高时频分辨率),对不同场合,选择不同小波基函数。 根据基于小波系数处理方式的不同,常见去噪方法可分为三类: (1)基于小波变换模极大值去噪(信号与噪声模极大值在小波变换下会呈现不同变化趋势)

(2)基于相邻尺度小波系数相关性去噪(噪声在小波变换的各尺度间无明显相关性,信号则相反)(3)基于小波变换阈值去噪 小波阈值去噪是一种简单而实用的方法,应用广泛,因此重点介绍。 阈值函数选择 阈值处理函数分为软阈值和硬阈值,设w是小波系数的大小,wλ是施加阈值后小波系数大小,λ为阈值。(1)硬阈值 当小波系数的绝对值小于给定阈值时,令其为0,而大于阈值时,保持其不变,即: (2)软阈值 当小波系数的绝对值小于给定阈值时,令其为0,大于阈值时,令其都减去阈值,即: 如下图,分别是原始信号,硬阈值处理结果,软阈值处理结果。硬阈值函数在|w| = λ处是不连续的,容易造成去噪后图像在奇异点附近出现明显的伪吉布斯现象。 阈值大小的选取 阈值的选择是离散小波去噪中最关键的一部。在去噪过程中,小波阈值λ起到了决定性作用:如果阈值太小,则施加阈值后的小波系数将包含过多的噪声分量,达不到去噪的效果;反之,阈值太大,则去除了有用的成分,造成失真。小波阈值估计方法很多,这里暂不介绍。 小波去噪实现步骤 (1)二维信号的小波分解。选择一个小波和小波分解的层次N,然后计算信号s到第N层的分解。

matlab图像去噪算法设计(精)

数字图像去噪典型算法及matlab实现 希望得到大家的指点和帮助 图像去噪是数字图像处理中的重要环节和步骤。去噪效果的好坏直接影响到后续的图像处理工作如图像分割、边缘检测等。图像信号在产生、传输过程中都可能会受到噪声的污染,一般数字图像系统中的常见噪声主要有:高斯噪声(主要由阻性元器件内部产生)、椒盐噪声(主要是图像切割引起的黑图像上的白点噪声或光电转换过程中产生的泊松噪声)等; 目前比较经典的图像去噪算法主要有以下三种: 均值滤波算法:也称线性滤波,主要思想为邻域平均法,即用几个像素灰度的平均值来代替每个像素的灰度。有效抑制加性噪声,但容易引起图像模糊,可以对其进行改进,主要避开对景物边缘的平滑处理。 中值滤波:基于排序统计理论的一种能有效抑制噪声的非线性平滑滤波信号处理技术。中值滤波的特点即是首先确定一个以某个像素为中心点的邻域,一般为方形邻域,也可以为圆形、十字形等等,然后将邻域中各像素的灰度值排序,取其中间值作为中心像素灰度的新值,这里领域被称为窗口,当窗口移动时,利用中值滤波可以对图像进行平滑处理。其算法简单,时间复杂度低,但其对点、线和尖顶多的图像不宜采用中值滤波。很容易自适应化。 Wiener维纳滤波:使原始图像和其恢复图像之间的均方误差最小的复原方法,是一种自适应滤波器,根据局部方差来调整滤波器效果。对于去除高斯噪声效果明显。实验一:均值滤波对高斯噪声的效果 I=imread('C:\Documents and Settings\Administrator\桌面\1.gif');%读取图像 J=imnoise(I,'gaussian',0,0.005);%加入均值为0,方差为0.005的高斯噪声 subplot(2,3,1);imshow(I); title('原始图像'); subplot(2,3,2); imshow(J); title('加入高斯噪声之后的图像'); %采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波 K1=filter2(fspecial('average',3),J)/255; %模板尺寸为3 K2=filter2(fspecial('average',5),J)/255;% 模板尺寸为5 K3=filter2(fspecial('average',7),J)/255; %模板尺寸为7 K4= filter2(fspecial('average',9),J)/255; %模板尺寸为9 subplot(2,3,3);imshow(K1); title('改进后的图像1'); subplot(2,3,4); imshow(K2); title('改进后的图像2');

最新Matlab中常见数学函数的使用

给自己看的----Matlab的内部常数(转) 2008/06/19 14:01[Ctrl C/V--学校 ] MATLAB基本知识 Matlab的内部常数 pi 圆周率 exp(1) 自然对数的底数e i 或j 虚数单位 Inf或inf 无穷大 Matlab的常用内部数学函数

如何用matlab进行多项式运算 (1)合并同类项 syms 表达式中包含的变量 collect(表达式,指定的变量) (2)因式分解 syms 表达式中包含的变量factor(表达式) (3)展开 syms 表达式中包含的变量 expand(表达式) 我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下: maple(’maple中多项式的运算命令’) 如何用matlab进行分式运算 发现matlab只有一条处理分式问题的命令,其使用格式如下: [n,d]=numden(f)把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式 不过我们可以调用maple的命令,调用方法如下: maple(’denom(f)’)提取分式f的分母 maple(’numer(f)’)提取分式f的分子 maple(’normal(f)’ ) 把分式f的分子与分母约分成最简形式 maple(’expand(f)’) 把分式f的分子展开,分母不变且被看成单项。 maple(’factor(f)’) 把分式f的分母和分子因式分解,并进行约分。 如何用Matlab进行因式分解 syms 表达式中包含的变量factor(表达式) 如何用Matlab展开 syms 表达式中包含的变量expand(表达式) 如何用Matlab进行化简 syms 表达式中包含的变量simplify(表达式) 如何用Matlab合并同类项 syms 表达式中包含的变量collect(表达式,指定的变量) 如何用Matlab进行数学式的转换 调用Maple中数学式的转换命令,调用格式如下: maple(‘Maple的数学式转换命令’) 即:maple(‘convert(表达式,form)’)将表达式转换成form的表示方式 maple(‘convert(表达式,form, x)’)指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) 如何用Matlab进行变量替换 syms 表达式和代换式中包含的所有变量subs(表达式,要替换的变量或式子,代换式) 如何用matlab进行复数运算 a+b*i 或 a +b*j表示复数a+bi 或a+bj real(z)求复数z的实部 imag(z)求复数z的虚部 abs(z)求复数z的模 angle(z)求复数z的辐角, conj(z)求复数z的共轭复数 exp(z)复数的指数函数,表示e^z 如何在matlab中表示集合 [a, b, c,…] 表示由a, b, c,…组成的集合(注意:元素之间也可用空格隔开) unique(A) 表示集合A的最小等效集合(每个元素只出现一次) 也可调用maple的命令,格式如下: maple('{a, b, c,…}')表示由a, b, c,…组成的集合 下列命令可以生成特殊的集合: maple(‘{seq(f(i),i=n..m)}’)生成集合{f(n), f(n+1), f(n+2), … , f(m)} 如何用Matlab求集合的交集、并集、差集和补集

小波去噪三种方法

小波去噪常用方法 目前,小波去噪的方法大概可以分为三大类:第一类方法是利用小波变换模极大值原理去噪,即根据信号和噪声在小波变换各尺度上的不同传播特性,剔除由噪声产生的模极大值点,保留信号所对应的模极大值点,然后利用所余模极大值点重构小波系数,进而恢复信号;第二类方法是对含噪信号作小波变换之后,计算相邻尺度间小波系数的相关性,根据相关性的大小区别小波系数的类型,从而进行取舍,然后直接重构信号;第三类是小波阈值去噪方法,该方法认为信号对应的小波系数包含有信号的重要信息,其幅值较大,但数目较少,而噪声对应的小波系数是一致分布的,个数较多,但幅值小。基于这一思想,在众多小波系数中,把绝对值较小的系数置为零,而让绝对值较大的系数保留或收缩,得到估计小波系数,然后利用估计小波系数直接进行信号重构,即可达到去噪的目的。 1:小波变换模极大值去噪方法 信号与噪声的模极大值在小波变换下会呈现不同的变化趋势。小波变换模极大值去噪方法,实质上就是利用小波变换模极大值所携带的信息,具体地说就是信号小波系数的模极大值的位置和幅值来完成对信号的表征和分析。利用信号与噪声的局部奇异性不一样,其模极大值的传播特性也不一样这些特性对信号中的随机噪声进行去噪处理。 算法的基本思想是,根据信号与噪声在不同尺度上模极大值的不同传播特性,从所有小波变换模极大值中选择信号的模极大值而去除噪声的模极大值,然后用剩余的小波变换模极大值重构原信号。小波变换模极大值去噪方法,具有很好的理论基础,对噪声的依赖性较小,无需知道噪声的方差,非常适合于低信噪比的信号去噪。这种去噪方法的缺点是,计算速度慢,小波分解尺度的选择是难点,小尺度下,信号受噪声影响较大,大尺度下,会使信号丢失某些重要的局部奇异性。 2:小波系数相关性去噪方法 信号与噪声在不同尺度上模极大值的不同传播特性表明,信号的小波变换在各尺度相应位置上的小波系数之间有很强的相关性,而且在边缘处有很强的相关

matlab小波函数

Matlab小波函数 一、Matlab小波去噪基本原理 1、带噪声的信号一般是由含有噪声的高频信号和原始信号所在的低频 信号。利用多层小波,将高频噪声信号从混合信号中分解出来。 2、选择合适的阈值对图像的高频信号进行量化处理 3、重构小波图像:依据图像小波分解的低频信号与处理之后的高频信 号来重构图像的信息。 二、第二代小波变换 1、构造方法特点: (1)继承了第一代小波的多分辨率的特性。 (2)不依赖fourior变换,直接在时域完成小波变换。 (3)变换之后的系数可以是整数。 (4)图像恢复质量与变换是边界采用何种延拓方式无关。 2、优点:算法简单,速度快,适合并行处理。对内存需求量小,便于DSP 芯片实现、可用于本位操作运算。 3、提升原理:构造紧支集双正交小波 (1)步骤:分裂—预测—更新 (2)分解与重构 三、matlab小波函数库 1、matlab小波通用函数: (1)wavemngr函数【小波管理器(用于小波管理,添加、删除、储存、读取小波)】 wavemngr(‘add’,FN,FSN,WT,NUMS,FILE) wavemngr(‘add’,FN,FSN,WT,NUMS,FILE,B) % 添加小波函数,FN为family name,FSN为family short name WT为小波类型:WT=1表示正交小波,=2表示非正交小波,=3表示带尺度函数的小波,=4表示无尺度函数的小波,=5表示 无尺度函数的复小波。 小波族只有一个小波,则NUMS=“,否则NUMS表示小波参数的字符串 FILE表示文件名 B=[lb ub]指定小波有效支撑的上下界 wavemngr(‘del’,N) %删除小波 wavemngr(‘restore’)/ wavemngr(‘restore’,IN2) %保存原始小波 OUT1= wavemngr(‘read’) %返回小波族的名称 OUT1= wavemngr(‘read’,IN2) %返回所有小波的名称 OUT1= wavemngr(‘read_asc’) %读取wavelets.asc文件并返回小波信息 (2)scal2frq函数【尺度转换频率】 F=scal2frq(A,’wname’,DELTA) %返回由尺度A,小波函数“wname”和采样周期DELTA决定的准 频率。 (3)orthfilt函数【正交小波滤波器组】

小波变换的原理及matlab仿真程序

基于小波变换的信号降噪研究 2 小波分析基本理论 设Ψ(t)∈L 2( R) ( L 2( R) 表示平方可积的实数空间,即能量有限的信号空间) , 其傅立叶变换为Ψ(t)。当Ψ(t)满足条件[4,7]: 2 () R t dw w C ψψ =<∞? (1) 时,我们称Ψ(t)为一个基本小波或母小波,将母小波函数Ψ(t)经伸缩和平移后,就可以得到一个小波序列: ,()( )a b t b t a ψ -= ,,0a b R a ∈≠ (2) 其中a 为伸缩因子,b 为平移因子。 对于任意的函数f(t)∈L 2( R)的连续小波变换为: ,(,),()( )f a b R t b W a b f f t dt a ψψ-=<>= ? (3) 其逆变换为: 211()(,)()f R R t b f t W a b dadb C a a ψ ψ+-= ?? (4) 小波变换的时频窗是可以由伸缩因子a 和平移因子b 来调节的,平移因子b,可以改变窗口在相平面时间轴上的位置,而伸缩因子b 的大小不仅能影响窗口在频率轴上的位置,还能改变窗口的形状。小波变换对不同的频率在时域上的取样步长是可调节的,在低频时,小波变换的时间分辨率较低,频率分辨率较高:在高频时,小波变换的时间分辨率较高,而频率分辨率较低。使用小波变换处理信号时,首先选取适当的小波函数对信号进行分解,其次对分解出的参数进行阈值处理,选取合适的阈值进行分析,最后利用处理后的参数进行逆小波变换,对信号进行重构。 3 小波降噪的原理和方法 3.1 小波降噪原理 从信号学的角度看 ,小波去噪是一个信号滤波的问题。尽管在很大程度上小波去噪可以看成是低通滤波 ,但由于在去噪后 ,还能成功地保留信号特征 ,所以在这一点上又优于传统的低通滤波器。由此可见 ,小波去噪实际上是特征提取和低通滤波的综合 ,其流程框图如 图所示[6] : 小波分析的重要应用之一就是用于信号消噪 ,一个含噪的一维信号模型可表示为如下

五种常用小波基含MATLAB实现

1.给出五种常用小波基的时域和频域波形图。 与标准的傅里叶变换相比,小波分析中使用到的小波函数具有不唯一性,即小波函数(t)ψ 具有多样性。小波分析在工程应用中,一个十分重要的问题就是最优小波基的选择问题,因为用不同的小波基分析同一个问题会产生不同的结果。目前我们主要是通过用小波分析方法处理信号的结果与理论结果的误差来判定小波基的好坏,由此决定小波基。常用小波基有Haar 小波、Daubechies(dbN)小波、Mexican Hat(mexh)小波、Morlet 小波、Meyer 小波等5种。 (1)Haar 小波 Haar 函数是小波分析中最早用到的一个具有紧支撑的正交小波函数,也是最简答的一个小波函数,它是支撑域在[0,1]∈t 围的单个矩形波。 Haar 函数的 定义如下:其他 1212 1 001-1(t)≤≤≤≤?????=ψt t Haar 小波在时域上是不连续的,所以作为基本小波性能不是特别好。但它也有自己的优点,如: 计算简单; (t)ψ不但与t)2(j ψz][j ∈正交,而且与自己的整数位移正交。 因此,在2j a =的多分辨率系统中Haar 小波构成一组最简单的正交归一的小波 族。 ()t ψ的傅里叶变换是: 2/24=sin ()j e a ψ-ΩΩ ΩΩ()j

Haar 小波的时域和频域波形图 -1.5 -1 -0.5 0.5 1 1.5 t haar 时域 x 10 5 1 2 3 4 5 6 75 f haar 频域 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 频域')

小波变换图像去噪MATLAB实现

基于小波图像去噪的MATLAB 实现 一、 论文背景 数字图像处理(Digital Image Processing ,DIP)是指用计算机辅助技术对图像信号进行处理的过程。数字图像处理最早出现于 20世纪50年代,随着过去几十年来计算机、网络技术和通信的快速发展,为信号处理这个学科领域的发展奠定了基础,使得DIP 技术成为信息技术中最重要的学科分支之一。在现实生活中,DIP 应用十分广泛,医疗、艺术、军事、航天等图像处理影响着人类生活和工作的各个方面。 然而,在图像的采集、获取、编码和传输的过程中,都存在不同程度被各种噪声所“污染”的现象。如果图像被污染得比较严重,噪声会变成可见的颗粒形状,导致图像质量的严重下降。根据研究表明,当一张图像信噪比(SNR)低于14.2dB 时,图像分割的误检率就高于0.5%,而参数估计的误差高于0.6%。通过一些卓有成效的噪声处理技术后,尽可能地去除图像噪声,我们在从图像中获取信息时就更容易,有利于进一步的对图像进行如特征提取、信号检测和图像压缩等处理。小波变换处理应用于图像去噪外,在其他图像处理领域都有着十分广泛的应用。本论文以小波变换作为分析工具处理图像噪声,研究数字图像的滤波去噪问题,以提高图像质量。 二、 课题原理 1.小波基本原理 在数学上,小波定义为对给定函数局部化的新领域,小波可由一个定义在有限区域的函数()x ψ来构造,()x ψ称为母小波,(mother wavelet )或者叫做基本小波。一组小波基函数,()}{,x b a ψ,可以通过缩放和平移基本小波 来生成: ())(1 ,a b x a x b a -ψ=ψ (1) 其中,a 为进行缩放的缩放参数,反映特定基函数的宽度,b 为进行平移的平移参数,指定沿x 轴平移的位置。当a=2j 和b=ia 的情况下,一维小波基函数序列定义为: ()() 1222,-ψ=ψ--x x j j j i (2) 其中,i 为平移参数,j 为缩放因子,函数f (x )以小波()x ψ为基的连续小波变换定义为函数f (x )和()x b a ,ψ的内积:

相关主题
文本预览
相关文档 最新文档