- 积分
- 26283
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-6-1
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
怎么样用MATLAB对数据进行高频,低频分离,然后对高频进行高阈值变换,低频进行低阈值变换,最后还原数据?
wfilter = 'haar';%选择小波基
[CA,CH,CV,CD] = dwt2(x,wfilter, 'per');%小波变换
CA = (CA>=T1) .* CA;%对4个自带分别阈值处理
CH = (CH>=T2) .* CH;
CV = (CV>=T3) .* CV;
CD = (CD>=T4) .* CD;
result = idwt2(CA, CH, CV, CD, wfilter, 'per');%反变换重构数据信号。
那么你肯定要问了:
matlab中小波变换函数dwt2和wavedec2有什么区别?
DWT2是二维单尺度小波变换,其可以通过指定小波或者分解滤波器进行二维单尺度小波分解。而WAVEDEC2是二维多尺度小波分解。DWT2的一种语法格式是[cA,cH,cV,cD]=dwt2(X,'wname');而对应的WAVEDEC2的语法格式是[C,S]=wavedec2(X,N,'wname'),其中N为大于1的正整数。也就是说DWT2只能对某个输入矩阵X进行一次分解,而WAVEDEC2可以对输入矩阵X进行N次分解。
常用的四个内置函数:
dwt2 二维离散小波变换
wavedec2 二维信号的多层小波分解
idwt2 二维离散小波反变换 Matlab
waverec2 二维信号的多层小波重构
例如:
[YC,YS]=wavedec2(Y,2,'db1');
Y为要分解的数据矩阵,2为分解的层数,‘db1'为采用的小波基
返回两个矩阵YC和YS。Yh2=detcoef2('h',YC,YS,2);这是提取数据2层分解后的水平分量,h改v是垂直分量,h改d是对角分量。细节分量用另外一个方法提取。
|
评分
-
查看全部评分
|