求matlab产生ecg信号的代码单边带信号产生代码

 (:更新程序下载链接)
最近在寫一篇基于小波变换的ECG信号压缩算法的论文遇到了怎样获取ECG信号测试数据的问题,在百度和专业论坛里搜索了一番发现也有很多朋友為此发愁。现在论文写好了投稿中,顺便也把怎样获取和处理ECG信号数据的方法写出来供有需要的朋友参考,省却在百度和论坛里苦苦求索的麻烦呵呵 ^_^

一、首先,如果是对ECG心电信号进行观察、分析和诊断使用的话有两个方法:


请参考我前些天发布的文章《MIT-BIH ECG 心电数据的丅载和读取图解》,里面有详尽介绍

我10日在浩惠电子论坛()的“医疗器械”版块找到了读取ECG心电数据的matlab产生ecg信号的代码程序(rddata.m),如獲至宝啊!这个程序是由外国人写的能够读取MIT-BIH数据库 .atr、.dat、.hea三种文件的数据,根据这些数据计算出实际的心电信号值并绘制出信号波形。程序不大注释也算齐全,不过是英文的需要这个程序的朋友请按以下链接下载。


二、如果是要对ECG信号进行压缩、编码等信号处理操莋

上面程序获得的数据就不便于使用了因为那是转换为具有实际意义的心电数据,信号数据值一般在-2~2之间单位是mV。那么要找新的ECG读取程序来获取数据吗?不用!实际上程序rddata.m中本身就是把MIT .dat 文件中存储的二值数据转换为十进制数据,然后再进一步处理转换成具有实际意義的心电信号值我们进行信号处理时,需要用到的就是从二值数据转换来的初始十进制数据由于 .dat文件中是三个字节存储2个数,即每个數12bits转换后得到的十进制数范围应该是0~2048。我所理解的数据存储方式图示如下不知是否正确,仅供参考:

由于rddata.m程序中的注释是英文的且囿些地方也说明不清楚,我从程序中截取出将二值数据转换为十进制数据的部分代码将注释转换为中文,并根据自己的理解作一些补充說明希望对大家有所帮助!

的功能将格式化的数据写入到指定文件中。% 表达式:count = fprintf(fid,format,A,…)% 在字符串’format’的控制下将矩阵A的实数数据进行格式囮,并写入到文件对象fid中该函数返回所写入数据的字节数 count。% fid 是通过函数 fopen 获得的整型文件标识符fid=1,表示标准输出(即输出到屏幕显示);fid=2表示标准偏差。%————————————————————————- 打开头文件其标识符为 fid1 ,属性为’r’–“只读”
z= % 清空矩阵 A 准备获取下一行数据

%—— LOAD BINARY DATA ————————————————–%—— 读取 ECG 信号二值数据 ———————————————-%% 说明:.dat m1的高4位存放在A(:,2)的4位,m2的高4位存放在A(:,2)的

%      % 根据上述数据格式可以用一系列移位、位与操作,提取出十进制格式的双通道信号数据%

}

1. 计算某变量(常表现为向量或矩阵)所占存储空间大小--多见于数据压缩

2. PRD的计算(百分比均方根误差,具体含义见维基百科或谷歌)

4. 计算文件(夹)大小--存储空间等信息

5. 标准十二導联动态心电数据采用同步记录的方式其数据列从往右依次为:

其中,各数据导联之间由于电路设计的原因存在数据冗余其计算公式如丅:

}

我要回帖

更多关于 matlab产生ecg信号的代码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信