主要内容

cmddenoise

Interval-dependent去噪

描述

例子

sigden= cmddenoise (团体wname水平返回去噪信号,sigden,通过对信号进行区间依赖的去噪得到,团体,使用正交或双正交小波和缩放滤波器,wnamecmddenoise阈值小波(细节)系数降到水平,水平,并利用修改后的细节系数重建信号近似值。cmddenoise根据第一级详细系数和阈值中的方差变化点将信号分别划分为每个区间。使用惩罚对比函数自动选择方差变化点的位置和数量[2].变更点之间的最小延迟是10个样本。使用极大极小阈值规则获得阈值,并使用软阈值法修改小波系数[1]

例子

sigden= cmddenoise (团体wname水平sorh返回去噪信号,sigden,采用阈值法,sorh,对小波系数进行修正。有效的选择sorh“年代”对于软阈值或“h”用于硬阈值。

例子

sigden= cmddenoise (团体wname水平sorhnb_inter返回去噪信号,sigden,去噪间隔数为1 ~ 6之间的正整数:1≤nb_inter≤6.为nb_inter≥2,cmddenoise用对比函数估计变化点的位置[2]

例子

sigden= cmddenoise (团体wname水平sorhnb_interthrParamsIn返回去噪信号,sigden,去噪间隔和相应的阈值指定为长度为的矩阵单元格数组水平.单元格数组的每个元素都包含小波变换对应级别的区间和阈值信息。的要素thrParamsIn为N × 3矩阵,N等于间隔数。第1列和第2列包含区间的开始和结束索引,第3列包含相应的阈值。如果你指定thrParamsIncmddenoise忽略的值。nb_inter

例子

sigden系数= cmd降噪(___返回近似(缩放)和细节(小波)系数,系数.的组织系数是否与返回的结构相同wavedec.此语法可以包括以前语法中使用的任何输入参数。

例子

sigden系数thrParamsOut= cmd降噪(___返回一个单元格数组,thrParamsOut,长度等于水平.的每个元素thrParamsOut是一个n × 3矩阵。矩阵元素的行维数是间隔数,由输入参数的值决定。矩阵的每一行都包含阈值区间的开始点和结束点(索引)以及相应的阈值。

例子

sigden系数thrParamsOutint_DepThr_Cell= cmd降噪(团体wname水平sorhnb_inter返回一个单元格数组,int_DepThr_Cell,长度为6。int_DepThr_Cell包含间隔和阈值信息,假设变更点的数量从0到5。的第n个元素int_DepThr_Cell是一个n × 3矩阵,其中包含假设N-1个变化点的区间信息。矩阵的每一行都包含阈值区间的开始点和结束点(索引)以及相应的阈值。尝试输出int_DepThr_Cell如果你使用input参数,thrParamsIn,将导致错误。

例子

sigden系数thrParamsOutint_DepThr_CellBestNbofInt= cmd降噪(团体wname水平sorhnb_inter返回基于1级细节系数中估计的方差变化点的最佳信号间隔数。为了估计变更点的数量,cmddenoise假设总数小于或等于6,并使用惩罚对比[2].尝试输出BestNbofInt如果你使用input参数,thrParamsIn,将导致错误。

例子

全部折叠

加载噪声块信号,nblocr1.mat.该信号由加性高斯白噪声中的分段常数信号组成。加性噪声的方差在三个不相交区间内不同。

负载nblocr1

使用Haar小波将区间依赖降噪降至4级。| cmd降噪自动确定方差变化点的最佳数量和位置。绘制去噪后的信号与原始信号的对比图。

Sigden = cmd降噪(nblocr1,“db1”4);情节(nblocr1);持有;情节(sigden“r”“线宽”2);轴

图中包含一个轴对象。axis对象包含2个line类型的对象。

加载噪声块信号,nblocr1.mat.该信号由加性高斯白噪声中的分段常数信号组成。加性噪声的方差在三个不相交区间内不同。

负载nblocr1

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

sorh =“h”;Sigden = cmd降噪(nblocr1,“db1”4、sorh);情节(nblocr1);持有;情节(sigden“r”“线宽”2);轴;传奇(原始信号的的去噪信号“位置”“西北”);

图中包含一个轴对象。axis对象包含2个line类型的对象。这些对象代表原始信号,去噪信号。

创建一个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 (1,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(size(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);传奇(原始信号的的去噪信号“位置”“东南”);

图中包含2个轴对象。标题为“噪声信号”的Axes对象1包含一个类型为line的对象。坐标轴对象2包含2个line类型的对象。这些对象代表原始信号,去噪信号。

加载示例信号nbumpr1.mat.加性噪声的方差在三个不相交区间内不同。

负载nbumpr1.mat

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

wname =“sym4”;Level = 5;sorh =“年代”;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”;Level = 5;sorh =“年代”;Sigden = cmd降噪(nbumpr1,wname,level,sorh,...南,thrParamsIn);情节(nbumpr1);持有;情节(sigden“r”“线宽”2);轴;传奇(噪声信号的的去噪信号“位置”“东北”);

图中包含一个轴对象。axis对象包含2个line类型的对象。这些对象代表有噪声信号,去噪信号。

加载示例信号nblocr1.mat.使用Haar小波将信号分解到2级。得到离散小波变换,对信号进行去噪。返回有噪声信号和去噪信号的小波系数。

负载nblocr1.mat;[sigden,coefs] = cmddenoise(nblocr1,“db1”2);[C,L] = wavedec(nblocr1,2,“db1”);

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

App = wrcoef(“一个”C L“db1”2);次要情节(1,1);情节(应用);标题(“近似系数”);n = 1:2 det = wrcoef(' d 'C L“db1”、神经网络);次要情节(3、1,nn + 1)情节(依据);标题([“噪声小波系数-水平”...num2str (nn)]);结束

图中包含3个轴对象。标题为“近似系数”的Axes对象1包含一个类型为line的对象。标题为“噪声小波系数- 1级”的坐标轴对象2包含一个类型为line的对象。标题为“噪声小波系数-级别2”的坐标轴对象3包含一个类型为line的对象。

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

图;App = wrcoef(“一个”系数,L,“db1”2);次要情节(1,1);情节(应用);标题(“近似系数”);n = 1:2 det = wrcoef(' d '系数,L,“db1”、神经网络);次要情节(3、1,nn + 1)情节(依据);标题([“阈值小波系数-水平”...num2str (nn)]);结束

图中包含3个轴对象。标题为“近似系数”的Axes对象1包含一个类型为line的对象。标题为threshded Wavelet Coefficients-Level 1的坐标轴对象2包含一个类型为line的对象。标题为threshded Wavelet Coefficients-Level 2的坐标轴对象3包含一个类型为line的对象。

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

创建一个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 (1,len);j = 1:11 x = x + (h (j)。/ (1 + ((tt-t (j)) / w (j)) ^ 4));结束情节(tt, x);标题(原始信号的);持有

图中包含一个轴对象。标题为Original Signal的axes对象包含一个类型为line的对象。

将不同方差的高斯白噪声加到信号的两个不相交的片段上。将方差为2的零均值高斯白噪声加到0 ~ 0.3秒的信号段中。在0.3秒到1秒的信号段中加入单位方差的零均值高斯白噪声。将随机数生成器设置为可重现结果的默认设置。

rng默认的;Nv1 = sqrt(2).*randn(size(tt)).*(tt<=0.3);Nv2 = randn(size(tt)).*(tt>0.3);Xx = x+nv1+nv2;情节(tt, xx);标题(噪声信号的);

图中包含一个轴对象。标题为noise Signal的axes对象包含2个类型为line的对象。

应用区间相关的去噪,使用Daubechies的最小不对称小波与4个消失矩下降到5级。自动选择间隔数并输出结果。

[sigden,coefs,thrParamsOut] = cmddenoise(xx,“sym4”5);thrParamsOut {1}
ans =2×3103.× 0.0010 0.2930 0.0036 0.2930 1.0000 0.0028

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

加载示例信号,nbumpr1.mat.将信号划分为1到6个区间,假设0到5个变化点。计算每个间隔的阈值。利用Daubechies最小不对称小波带4个消失矩返回区间和相应的阈值。显示结果。

负载nbumpr1.mat;[sigden,~,~,int_DepThr_Cell] = cmddenoise(nbumpr1,“sym4”1);格式银行;disp (“开始结束阈值”);
开始结束阈值
cellfun (@disp int_DepThr_Cell,“UniformOutput”、假);
1.00 1024.00 1.00 207.00 613.00 1.00 207.00 597.00 2.52 597.00 627.00 1.00 207.00 613.00 1.05 207.00 613.00 1.20 207.00 613.00 725.00 0.59 725.00 1024.00 1.05 207.00 597.00 2.52 597.00 627.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个改变点。

输入参数

全部折叠

输入信号,指定为一维的行或列向量。团体是区间相关去噪的实值输入信号。的要素团体在时间和空间上都是相等的。如果团体包含采样不均匀的数据,cmddenoise不合适。使用提升变换代替。看到mlptdenoise获取详细信息。

数据类型:

小波名称,指定为字符向量或字符串标量。wname任意有效的正交或双正交小波。您可以使用以下命令:Wtype = wavemngr('fields',wname,'type','file');来确定小波名称是否有效cmddenoise.有效的小波名称返回1或2wtype

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

数据类型:字符

小波变换(多分辨率分析)级别,指定为正整数。水平给出了使用抽取1-D离散小波变换对输入信号进行多分辨率分解的级别,wavedec

数据类型:

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

间隔数,指定为小于7的正整数。cmddenoise将输入信号分成nb_inter间隔。cmddenoise的位置nb_inter使用对比函数改变点[2].如果你进入nb_intercmddenoise忽略输入。如果使用input参数thrParamsIncmddenoise忽略您输入的任何值nb_inter

数据类型:

按级别指定的间隔和阈值,为长度相等的矩阵单元格数组水平.的每个元素thrParamsIn包含多分辨率分析对应级别的间隔和阈值信息。的要素thrParamsIn为N × 3矩阵,N等于间隔数。第1列和第2列包含区间的开始和结束索引,第3列包含相应的阈值。如果你指定thrParamsIn,则不能指定输出参数int_DepThr_CellBestNbofInt

数据类型:细胞

输出参数

全部折叠

sigden输入的去噪版本团体sigden一个一维行向量的长度等于团体

系数是近似(缩放)和阈值细节(小波)系数的行向量。中近似系数和细节系数的等级排序系数的输出是一样的吗wavedeccmddenoise不对近似系数应用阈值。

数据类型:

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.“小波收缩的理想空间适应”,生物统计学, 1994,81,3,425 - 455。

[2] Lavielle, M.“检测因变量序列中的多个变化”,随机过程及其应用, 1999, 83,79 - 102。

版本历史

在R2010a中引入

另请参阅

功能

应用程序