clear;
%读取ECG信号
fid=fopen('ecg.txt','r');
x=fscanf(fid,'%f %f %f',[600 3]);
fclose(fid);
N=length(x);
for i=0:N/3-1
t(i+1)=x(3*i+1);
sig1(i+1)=x(3*i+2);
end
s=sig1+0.6*randn(1,length(sig1));
figure(1);
subplot(2,1,1);
plot(t,s,'LineWidth',2);
xlabel('时间');
axis([0 1.2 -inf inf]);
ylabel('幅值');
title('原始ECG信号');
grid on
%选用基波函数
wavelet='db5';
%分解级数
level=3;
%压缩参数(去噪时alpha=3)
alpha=1.5;
%阈值类型(硬阀值)
sorh='h';
%小波分解
[c,l]=wavedec(s,level,wavelet);
%birge-massart算法计算阈值
[thr,nkeep]=wdcbm(c,l,alpha);
%使用硬阈值压缩信号
%‘lvd’为允许设置各层阀值,‘gbl阀值’为固定阀值
[xc,cxc,lxc,perf0,perfl2]=wdencmp('lvd',c,l,wavelet,level,thr,sorh);
subplot(2,1,2);
plot(t,xc,'LineWidth',2);
xlabel('时间');
axis([0 1.2 -inf inf]);
ylabel('幅值');
title('去噪ECG信号');
grid on
matlab心电信号小波分解 去噪
4星 · 超过85%的资源 需积分: 45 142 浏览量
2013-04-11
11:43:10
上传
评论 8
收藏 657B RAR 举报
sunhoukuan
- 粉丝: 0
- 资源: 2
最新资源
- Screenshot_20240427_031602.jpg
- 网页PDF_2024年04月26日 23-46-14_QQ浏览器网页保存_QQ浏览器转格式(6).docx
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
- 课设-内部排序算法比较 包括冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、归并排序和堆排序.zip
- Python排序算法.zip
- C语言实现直接插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序、归并排序、计数排序,并带图详解.zip
- 常用工具集参考用于图像等数据处理
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
前往页