文件

cmddenoise

Interval-dependent去噪

句法

sigddde = cmddenoise(sig,wname,级别)
sigddde = cmddenoise(sig,wname,水平,sorh)
sigddde = cmddenoise(sig,wname,level,sorh,nb_inter)
sigden = cmddenoise(团体、wname水平,sorh、nb_inter thrParamsIn)
[sigden,系数]= cmddenoise (___
[sigddden,cofs,thrparamsout] = cmddenoise(___
[sigddden,cofs,thrparamsout,int_depthr_cell] = cmddenoise(sig,wname,level,sorh,nb_inter)
[Sigdden,Cofs,ThrParamsout,Int_depthr_cell,Bestnbofint] = cmddenoise(SIG,Wname,Level,Sorh,NB_Inter)

描述

例子

sigden= cmddenoise(sWname.等级返回去噪信号,sigden,由信号的区间相关去噪得到,s,使用正交或双正交小波和缩放过滤器,Wname.cmddenoise阈值小波(细节)系数下降到水平,等级,并利用修正的细节系数重建信号近似。cmddenoise基于第一级别细节系数中的方差变化点和分别单独的阈值将信号分别分隔。使用惩罚对比度自动选择方差变化点的位置和数量[2].改变点之间的最小延迟为10个样本。采用极大极小阈值规则获得阈值,并采用软阈值法对小波系数进行修正[1]

例子

sigden= cmddenoise(sWname.等级硕士返回去噪信号,sigden,使用阈值化方法,硕士,修改小波系数。有效选择硕士'用于软阈值或“h”对于硬阈值。

例子

sigden= cmddenoise(sWname.等级硕士nb_inter.返回去噪信号,sigden,作为1至6之间的正整数的越野间隔的数量:1≤nb_inter≤6..为nb_inter.≥2,cmddenoise以对比度函数估计变化点的位置[2]

例子

sigden= cmddenoise(sWname.等级硕士nb_inter.thrParamsIn返回去噪信号,sigden,具有去噪间隔和指定为具有长度等于的矩阵阵列的相应阈值等级.单元阵列的每个元素都包含对应小波变换水平的区间和阈值信息。元素thrParamsIn是N × 3矩阵,其中N等于区间的个数。第1列和第2列包含区间的起始和结束索引,第3列包含相应的阈值。如果您指定thrParamsIncmddenoise忽略nb_inter.

例子

[sigdenCOEFS.) = cmddenoise (___返回近似(缩放)和细节(小波)系数,COEFS..组织COEFS.与返回的结构相同波东.此语法可以包括先前语法中使用的任何输入参数。

例子

[sigdenCOEFS.thrParamsOut) = cmddenoise (___返回一个单元格数组,thrParamsOut,长度等于等级.每个元素thrParamsOut是一个n × 3矩阵。矩阵元素的行维是区间的数目,由输入参数的值决定。矩阵的每一行包含阈值区间的起始点、结束点(指标)和相应的阈值。

例子

[sigdenCOEFS.thrParamsOutINT_DEPTHR_CELL.) = cmddenoise (sWname.等级硕士nb_inter.返回一个单元格数组,INT_DEPTHR_CELL.,长度等于6。INT_DEPTHR_CELL.包含假设改变点数为0到5的时间间隔和阈值信息。第n个元素INT_DEPTHR_CELL.是一个n × 3矩阵,包含假设有N-1个变化点的区间信息。矩阵的每一行包含阈值区间的起始点、结束点(指标)和相应的阈值。试图输出INT_DEPTHR_CELL.如果你使用输入参数,thrParamsIn,会导致错误。

例子

[sigdenCOEFS.thrParamsOutINT_DEPTHR_CELL.BestNbofInt) = cmddenoise (sWname.等级硕士nb_inter.返回基于1级细节系数中估计的方差更改点的最佳信号间隔数。为了估计变化点的数量,cmddenoise假设总数小于或等于6,并使用惩罚对比度[2].试图输出BestNbofInt如果你使用输入参数,thrParamsIn,会导致错误。

例子

全部收缩

加载噪声块信号,nblocr1.mat.信号由添加的白色高斯噪声中的分段恒定信号组成。添加剂噪声的方差在三个不相交的间隔中不同。

加载nblocr1.

利用Haar小波将区间相关去噪降至4级。cmd去噪会自动确定方差变化点的最佳数量和位置。将去噪后的信号与原始信号绘制出来进行比较。

sigddde = cmddenoise(nblocr1,'db1'4);情节(nblocr1);抓住;情节(sigden'r'“线宽”2);轴

加载噪声块信号,nblocr1.mat.信号由添加的白色高斯噪声中的分段恒定信号组成。添加剂噪声的方差在三个不相交的间隔中不同。

加载nblocr1.

利用Haar小波和硬阈值规则将区间相关去噪降至4级。cmddenoise自动确定间隔的最佳数量和位置。绘制原始和去噪的信号。

索赫=“h”;sigddde = cmddenoise(nblocr1,'db1',4,sorh);情节(nblocr1);抓住;情节(sigden'r'“线宽”2);轴;传奇(原始信号的的去噪信号'地点''西北');

创建一个以1khz采样的信号。这个信号由一系列不同宽度的突起组成。

T = [0.1 0.13 0.15 0.23 0.25 0.40 0.44 0.65 0.76 0.78 0.81];H = [4 -5 3 -4 5 -4.2 2.1 4.3 -3.1 5.1 -4.2];h = abs (h);len = 1000;W = 0.01*[0.5 0.5 0.6 1 1 3 1 1 0.5 0.8 0.5];tt = linspace (0, 1, len);x = 0 (len);为了j = 1:11 x = x +(h(j)./(1+((tt-t(j))/ w(j))。^ 4));结尾

添加白色高斯噪声,具有不同的差异到信号的两个不相交的段。添加零均值白色高斯噪声,方差等于2到信号段,从0到0.3秒。添加零平均高斯噪声,单位方差为0.3秒至1秒。将随机数生成器设置为可重复结果的默认设置。

RNG.默认;nv1 = sqrt(2)。* randn(size(tt))。*(tt <= 0.3);nv2 = randn(尺寸(tt))。*(tt> 0.3);xx = x + nv1 + nv2;sigden = cmddenoise(xx,“sym5”,5,'2);

使用Daubechies的最小不对称小波应用间隔依赖的去噪,其中5个消失的时刻到级别3.将间隔数设置为2.绘制噪声信号,原始信号和去噪信号进行比较。

sigden = cmddenoise(xx,“sym5”3,'2);子图(211)绘图(TT,XX);标题(噪声信号的);子图(212)绘图(TT,x,'k-。'“线宽”2);抓住;情节(tt, sigden'r'“线宽”2);传奇(原始信号的的去噪信号'地点''东南');

加载示例信号nbumpr1.mat.添加剂噪声的方差在三个不相交的间隔中不同。

加载nbumpr1.mat

使用5级多分辨率分析。创建由3×3矩阵组成的长度5的单元阵列。每行的前两个元素包含间隔的开头和结束索引,每行的最后一个元素是相应的阈值。

wname =“sym4”;级别= 5;索赫=';thrparamsin = {......[......1 207 1.0482;......207 613 2.5110;......613 1024 1.0031;......];......[......1 207 1.04824;......207 613 3.8718;......613 1024 1.04824;......];......[......1 207 1.04824;......207 613 1.99710;......613 1024 1.65613;......];......[......1 207 1.04824;......207 613 2.09117;......613 1024 1.04824;......];......[......1 207 1.04824;......207 613 1.78620;......613 102 1.04824;......];......};

使用阈值设置和Daubechies的最小非对称小波来表示信号,其中4个消失的矩。使用软阈值规则。绘制嘈杂和去噪的信号进行比较。

wname =“sym4”;级别= 5;索赫=';sigddde = cmddenoise(nbumpr1,wname,水平,sorh,......南,三角蛋白);情节(NBUMPR1);抓住;情节(sigden'r'“线宽”2);轴;传奇(噪声信号的的去噪信号'地点'“东北”);

加载示例信号nblocr1.mat.使用HAAR小波并将信号分解为级别2.获取离散小波变换并以代替信号。返回嘈杂和去噪信号的小波系数。

加载nblocr1.mat;[sigddden,coofs] = cmddenoise(nblocr1,'db1'2);[c,l] = wavedec(nblort1,2,'db1');

基于噪声信号的2级近似和2级和1级细节系数的图重建。

app = wrcoef('一种'C L'db1'2);子图(3,1,1);plot(app);标题(“近似系数”);为了nn = 1:2 det = wrcoef(' d 'C L'db1',nn);子图(3,1,NN + 1)图(DET);标题(['嘈杂的小波系数 - 级别'......num2str(nn)]);结尾

在相同的水平上,基于去噪信号的近似和细节系数的图重建。

数字;app = wrcoef('一种',cofs,l,'db1'2);子图(3,1,1);plot(app);标题(“近似系数”);为了nn = 1:2 det = wrcoef(' d ',cofs,l,'db1',nn);子图(3,1,NN + 1)图(DET);标题([“阈值小波系数级”......num2str(nn)]);结尾

噪声信号和去噪信号的近似系数相同,但去噪信号的细节系数大都接近于零。

创建一个以1khz采样的信号。这个信号由一系列不同宽度的突起组成。

T = [0.1 0.13 0.15 0.23 0.25 0.40 0.44 0.65 0.76 0.78 0.81];H = [4 -5 3 -4 5 -4.2 2.1 4.3 -3.1 5.1 -4.2];h = abs (h);len = 1000;W = 0.01*[0.5 0.5 0.6 1 1 3 1 1 0.5 0.8 0.5];tt = linspace (0, 1, len);x = 0 (len);为了j = 1:11 x = x +(h(j)./(1+((tt-t(j))/ w(j))。^ 4));结尾绘图(TT,x);标题(原始信号的);抓住

添加白色高斯噪声,具有不同的差异到信号的两个不相交的段。添加零均值白色高斯噪声,方差等于2到信号段,从0到0.3秒。添加零平均高斯噪声,单位方差为0.3秒至1秒。将随机数生成器设置为可重复结果的默认设置。

RNG.默认;nv1 = sqrt(2)。* randn(size(tt))。*(tt <= 0.3);nv2 = randn(尺寸(tt))。*(tt> 0.3);xx = x + nv1 + nv2;绘图(TT,XX);标题(噪声信号的);

使用Daubechies的“最小不对称小波”应用间隔依赖的去噪,其中4个消失的时刻为级别5.自动选择间隔数并输出结果。

[sigden,系数,thrParamsOut] = cmddenoise (xx,“sym4”5);thrparamsout {1}
ANS = 1.0E + 03 * 0.0010 0.2930 0.0036 0.2930 1.0000 0.0028

cmdnoise.在定义两个区间的第一级细节系数中确定一个方差更改点。第一个区间包含样本1到293。第二个间隔包含样本293到1000。这接近于发生在样本299的真实方差变化点。

加载示例信号,nbumpr1.mat.假设0到5的变化点将信号分配为1到6个间隔。计算每个间隔的阈值。使用Daubechies的“最小不对称小波具有4个消失的时刻返回间隔和对应阈值。显示结果。

加载nbumpr1.mat;[sigddden,〜,〜,int_depthr_cell] = cmddenoise(nbumpr1,“sym4”1);格式银行;disp ('开始最终阈值');cellfun(@ disp,Int_depthr_cell,'统一输出',错误的);
开始结束阈值1.00 1024.00 1.36 1.00 613.00 1.73 613.00 1024.00 1.00 1.00 207.00 1.05 207.00 613.00 2.51 613.00 1024.00 1.00 1.00 207.00 1.05 207.00 597.00 2.52 597.00 627.00 1.69 627.00 1024.00 0.97 1.00 207.00 1.05 207.00 613.00 2.51 613.00 695.00 1.20 695.00 725.00 0.59 725.00 1024.00 1.05 1.00 207.00 1.05 207.00 597.00 2.52 597.00 627.001.69 627.00 695.00 1.19 695.00 725.00 0.59 725.00 1024.00 1.05

加载示例信号,nbumpr1.mat.该信号具有两个方差变化点,这使得三个间隔。用cmddenoise来检测变化点的数量。

加载nbumpr1.mat;thrParamsOut [sigden, ~, ~, bestNbofInt] =......cmddenoise(nbumpr1,“sym4”1);流('发现%d改变点。\ n',bestnbofint-1);
发现2个变化点。

输入参数

全部收缩

输入信号,指定为1-D行或列向量。s是间隔依赖性去噪的真实输入信号。元素s假设在时间或空间中同样间隔。如果s包含未采样的数据,cmddenoise不合适。使用升降变换。看LWT.有关详细信息。

数据类型:

小波名称,指定为字符向量。Wname.是任何有效的正交或双正交小波。您可以使用命令:wname wtype = wavemngr(“字段”,“类型”,“文件”);确定小波名称是否有效使用cmddenoise.有效的小波名称返回1或2wtype

例子:“bior2.2”'db4'“sym4”

数据类型:字符

小波变换(多分辨率分析)水平,指定为一个正整数。等级给出了利用抽取的一维离散小波变换对输入信号进行多分辨率分解的层次,波东

数据类型:

阈值规则,指定为字符数组。硕士是在修改细节系数的阈值规则。有效选择硕士'(默认)和“h”用于软和硬的阈值。

间隔数,指定为少于7的正整数。cmddenoise将输入信号划分为nb_inter.间隔。cmddenoise确定nb_inter.使用对比度更改点[2].如果你输入为了nb_inter.cmddenoise忽略输入。如果您使用输入参数thrParamsIncmddenoise忽略你输入的任何价值nb_inter.

数据类型:

按级别划分的间隔和阈值,指定为长度相等的矩阵单元格数组等级.每个元素thrParamsIn包含多分辨率分析的相应级别的间隔和阈值信息。元素thrParamsIn是N × 3矩阵,其中N等于区间的个数。第1列和第2列包含区间的起始和结束索引,第3列包含相应的阈值。如果您指定thrParamsIn,您无法指定输出参数INT_DEPTHR_CELL.或者BestNbofInt

数据类型:细胞

输出参数

全部收缩

sigden是输入的去噪版本ssigden一个一维行向量的长度是多少s

COEFS.是近似(缩放)和阈值细节(小波)系数的行矢量。级别的近似和细节系数的排序COEFS.与的输出是否相同波东cmddenoise对近似系数不应用阈值。

数据类型:

thrParamsOut是长度等于的矩阵阵列等级.单元阵列的每个元素包含用于多分辨率分析的相应级别的间隔和阈值信息。元素thrParamsOut是N × 3矩阵,其中N等于区间的个数。N由输入参数的值决定。第1列和第2列包含区间的起始和结束索引,第3列包含相应的阈值。

数据类型:细胞

INT_DEPTHR_CELL.包含假设改变点数为0到5的时间间隔和阈值信息。第n个元素INT_DEPTHR_CELL.是一个n × 3矩阵,包含假设有N-1个变化点的区间信息。矩阵的每一行包含阈值间隔的开始和结束索引和相应的阈值。试图输出INT_DEPTHR_CELL.如果输入间隔数和阈值,thrParamsIn,会导致错误。int_DepThr_Cell {BestNbofInt}或者int_depthr_cell {nb_inter}等于thrParamsOut

数据类型:细胞

BestNbofInt基于级别-1细节系数的方差中的估计变化点是基于估计的变化点的最佳间隔数。使用惩罚的对比法估计变化点的数量和位置[2].试图输出BestNbofInt如果输入间隔数和阈值,thrParamsIn,会导致错误。

参考文献

[1] Donoho,D.和Johnstone,I。“理想的空间适应小波收缩”,Biometrika, 1994, 81,3,425 - 455。

[2] Lavielle,M。“检测一系列依赖变量的多种变化”,随机过程及其应用,1999年,83,79-102。

也可以看看

|||

在R2010A介绍

这个主题有用吗?