当前位置:首页 > 代码 > 正文

小波矩c代码(小波包函数)

admin 发布:2023-01-31 14:30 35


今天给各位分享小波矩c代码的知识,其中也会对小波包函数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

急!!!在线等,求解答:一个小波去噪的matlab程序,高手进

%%%%%%%%%%%%%%%%%%心电信号降噪

%%%%%%%%%%%%%%%Birge-Massart策略阈值降噪

%基于小波变换的心电信号的降噪

ecg=fopen('100.dat','r');% 调用心电数据库 r为只读,ecg是打开文件的识别符

N=1201;%常数赋值,要读数据个数

data=fread(ecg,N,'int16'); %从一个流中读N个数据,数据格式是int16,16进制整数

data=data/10000;%数据缩小10000倍

fclose(ecg);%关闭打开的文件

x=data;%把数据转赋给x变量

wavename='db5'; %db5是小波名

level=4;%4级分解

[c,l]=wavedec(x,level,wavename); %4级小波分解,c保存各级分解系数,l是薄记矩阵,保存各级的系数的个数

alpha=1.5; %1.5用于信号压缩,3用于降噪

sorh='h'; %为硬阈值

[thr,nkeep]=wdcbm(c,l,alpha);%使用Birgé-Massart策略计算一维小波分解或压缩的阈值thr和各级的系数个数nkeep

[xc,cxc,lxc,perf0,perfl2]=wdencmp('lvd',c,l,wavename,level,thr,sorh); %小波压缩重构后的图像

t1=0:0.004:(length(x)-1)*0.004;%一行数据

figure(4);%打开一个图形窗口

subplot(211); %子图1

plot(t1,x);%画图形

title('从人体采集的原始的ECG信号');%加上子图名称

subplot(212);%子图2

plot(t1,xc);%画图形

title('Birge-Massart策略阈值降噪后的ECG信号(wname=db5 level=4)');%加上子图名称

二维小波变换怎样用矩阵来实现

二维小波变换矩阵方法

YC,YS]=wavedec2(Y,2,'db1');

Y为要分解的图像矩阵,2为分解的层数,‘db1'为采用的小波基。

回两个矩阵YC和YS。Yh2=detcoef2('h',YC,YS,2);这是提取出图像2层分解后的水平分量,h改v是垂直分量,h该d是对角分量。细节分量用另外一个方法提取。

一维连续小波变换cwt调用方式

(1)coefs=cwt(s,scales,‘wname’)

(2)coefs=cwt(s,scales,‘wname’,‘plot’)

说明:该函数为一维连续小波分析函数,其中coefs为连续小波变换后的返回系数Wf(a,b)矩阵,系数以行方向存储在矩阵中。

[例6-14]对MATLAB中所带有的noissin信号进行连续小波变换,尺度a分别为0.12,0.24,0.48,1.2,2,4,6,8,10,小波函数用db3,请求出连续小波变换后的系数。程序:

load noissin;%装载信号

s=noissin(1:100)

ls=length(s);%计算信号点的个数ls

%对s进行一维连续小波变换,把返回系数存到矩阵w中

w=cwt(s,[12.12,10.24,15.48,1.2,2:2:10],‘db3’,‘plot’)

Xlabel(‘时间’);

Ylabel(‘变换尺度’);

Title(‘对应于尺度a=0.12,0.24…小波变换系数的绝对值’);

执行程序后,返回矩阵为一个9×1000矩阵。在此为节省篇幅,我们不将结果打印出来,读者可自己上机运行该程序观察结果。

图6-41 一维离散小波变换dwt

小波矩c代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于小波包函数、小波矩c代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/35794.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载