基于DSP的数字滤波器的设计 .doc

上传人:doc321 文档编号:12771890 上传时间:2021-12-06 格式:DOC 页数:23 大小:1.23MB
返回 下载 相关 举报
基于DSP的数字滤波器的设计 .doc_第1页
第1页 / 共23页
基于DSP的数字滤波器的设计 .doc_第2页
第2页 / 共23页
基于DSP的数字滤波器的设计 .doc_第3页
第3页 / 共23页
基于DSP的数字滤波器的设计 .doc_第4页
第4页 / 共23页
基于DSP的数字滤波器的设计 .doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《基于DSP的数字滤波器的设计 .doc》由会员分享,可在线阅读,更多相关《基于DSP的数字滤波器的设计 .doc(23页珍藏版)》请在三一文库上搜索。

1、基于DSP的数字滤波器的设计 作者: 日期:2 个人收集整理 勿做商业用途 -ECG信号的FIR滤波 组员: 110921035 王敏(组长) 110921045 李小娟 1109210 蔡佳佳 生物医学工程学院11级医学仪器目录摘要I第1章 课程设计的目的和要求1第2章 系统功能介绍及总体设计方案2第3章 主要内容和步骤33.1 滤波器原理33.2 操作步骤3第4章 实验过程54.1 汇编语言实验步骤与内容5第5章 结论与体会10附件:源程序清单11 参考文献12 ECG信号的FIR滤波摘要:随着我国人民生活条件的逐渐改善,心血管病逐渐成为威胁人类健康和生命的主要疾病之一,而心电图现已成为诊

2、断此类疾病的常规检查手段。健康是人全面发展的基础,也是社会发展的必要条件。心血管疾病是威胁人类生命的主要疾病。因此,对心血管疾病的诊断和治疗一直是各国医学界所重视,准确的进行心电信号提取,为医生提供有效的辅助分析是重要而有意义的课题。在电子技术迅速发展的今天,医用电子监护系统己逐渐应用于临床诊断中。心电监护仪就是现代临床医学中不可或缺的辅诊仪器,通过对心血管病人和危重病人实施长时间不间断的监护,为疾病的诊断、分析、治疗和研究提供重要的依据.针对心电信号的特点进行心电信号的采集、数据转换模块的设计与开发.设计一种用于心电信号采集的电路,然后进行A/D转换,使得心电信号的频率达到采样要求。心电数据

3、采集系统是心电信号从人体体表进入计算机的必要通道,将直接影响后续的信号处理。由于心电信号会受到各种电磁干扰以及电路本身噪声的影响,所以如何有效抑制各种干扰和噪声、提高信号的完整性,是心电数据采集系统研究的重点和难点。目前对心电信号的降噪有多种方法,本文主要从滤波的方面介绍将噪声从信号中分离。关键词:A/D转换 采样 噪声 降噪 滤波 ECG filterWith the gradual improvement of people's living conditions in our country, cardiovascular disease&

4、#160;has become one of the major diseases threatening human health and life, and has become a routine method of ECG in diagnosing this disease。 Health is the foundation for peoples all-round development, but also a necessary condition for social

5、 development. Cardiovascular diseases are the main diseases threatening human life。 Therefore, the diagnosis and treatment of cardiovascular disease hasbeen valued all medical circle,accurate ECG signal extraction, provide effective

6、60;auxiliary analysis for doctors is an important and meaningful task.With the rapid development of electronic technology today, medical electron monitoring system has been gradually applied in clinical diagnosis. ECG monitor is indispensab

7、le in modern clinical medicineauxiliary instrument, the long time monitoring implementation for cardiovascular patients and critical patients uninterrupted, provide an important basis for disease diagnosis, analysis, treatment and research. Desi

8、gn and development of data acquisition, data conversion module of ECG signal based on the characteristics of ECG signal. Design of a circuit for ECG signal acquisition, then the A/D conversion, the frequency of ECG sampling requirements to achie

9、ve。 ECG data acquisition system is a necessary channel ECG signals from the human body into the computer, will directly affect the subsequent signal processing。 Because of the influence of the ECG signal will be disturbed by elect

10、romagnetic interference and circuit noise, so how to effectively restrain all kinds of interference and noise, improve signal integrity, is the emphasis and difficulty of the ECG data acquisition system. The noise reduction of ECG signals&#

11、160;in a variety of ways, this article mainly from the filter paper to separate noise from signal.文档为个人收集整理,来源于网络本文为互联网收集,请勿用作商业用途 Key words:A/Dconversion sampling noise noise reduction filtering 第1章 课程设计的目的和要求 随着科学技术的发展,现代对信号的要求越来越高。而作为当代大学生,并且所学专业为生物医学工程,我们不能仅局限于理论知识的学习,还要

12、掌握信号的提取,读取,转化,滤波以及信号的分析。所以此次我们选择未经处理的心电信号,让我们基于MATLAB和DSP对心电信号进行读取和滤波,并对滤波之后的信号进行分析,增强我们对信号的了解以及实际动手能力。 并且要通过课程设计,加深对DSP芯片TMS320C54x的结构、工作原理的理解,获得DSP应用技术的实际训练,掌握设计较复杂DSP系统的基本方法。通过使用汇编语言编写具有完整功能的图形处理程序或信息系统,使学生加深对所学知识的理解,进一步巩固汇编语言讲法规则.学会编制结构清晰、风格良好、数据结构适当的汇编语言程序,从而具备解决综合性实际问题的能力。第2章 系统功能介绍及总体设计方案2.1系

13、统功能介绍一个实际的应用系统中,总存在各种干扰。数字滤波器在语音信号处理、信号频谱估计、信号去噪、无线通信中的数字变频以及图像信号等各种信号处理中都有广泛的应用,数字滤波器也是使用最为广泛的信号处理算法之一.心电信号中工频干扰比较严重,所以我们设计一个滤波器滤除工频干扰。在本设计中,我们选择老师给的第一个网站下载http:/www.physionet.org/physiobank/database/mitdb/,下载的为213号心电数据,利用MATLAB读取数据、转化格式并且求解滤波器系数,然后利用CCS进行滤波.设计一个FIR低通滤波器,其参数为:滤波器名称: FIR低通滤波器采样频率: F

14、s=360HZ通带/阻带截止频率: 55Hz65Hz通带最大衰减: 0.5dB阻带最少衰减: 50dB滤波器级数: N=160滤波器系数: 由MATLAB编程求得。2.2 总体设计方案流程图 图1 总体设计方案第3章 主要内容和步骤3.1 滤波器原理对于一个FIR滤波器系统,它的冲击响应总是又限长的,其系统函数可记为: 其中是FIR的滤波器的阶数,为延时结,为端口信号函数。最基本的FIR滤波器可用下式表示: 其中输入采样序列,是滤波器系数,是滤波器的阶数表示滤波器的输出序列,也可以用卷积来表示输出序列与、的关系,如下: 3。2 操作步骤 1、从MIT-BIH网站中获取经过AD转换后的数据,将其

15、以txt文档的形式保存(此时是双通道数据),用MATLAB程序将其读取出来,并选择其中一组通道的3000个数据。2、将获得的的数据用MATLAB程序转换成DSP能读取的dat格式文件3、用MATLAB编程得到滤波器系数4、在CCS中用TMS320C54x来进行编程实现滤波功能 第4章 实验过程4。1。实验步骤: 1。数据下载:我们选择老师给的第一个网站下载http:/www.physionet。org/physiobank/database/mitdb/,下载的为213号心电数据(经ADC转换后的数据)。2. 数据转化: 用MATLAB编程读取心电数据并将心电数据转化为DSP能识别的dat格式

16、:通过查资料,我们知道了DSP能识别的dat格式,根据我们的滤波程序,要想对心电信号进行滤波,必须将txt数据转化为DSP能识别的dat格式。我们应用MATLAB对其进行转化。首先转化通道一的数据,利用M=M(:,1)取通道一的数据,则可以将通道一的txt数据转化为dat格式的数据。txt数据: dat格式数据: 通道一信号波形 通道二信号波形 3。系数计算:A.选用低通滤波器: 采样频率为360HZ,截止频率100HZ,阶数160用MATLAB编程求出滤波器的系数 B.选用带阻滤波器: 采样频率360HZ,阶数160, 通带/阻带截止频率:55Hz65Hz 用MATLAB编程求出滤波器的系数

17、 4滤波检测:(选用DSP) (1)。首先创建新的工程,并将我们写好的asm及cmd文件添加到工程,导入rts.lib文件; (2)。对加入的文件进行编译,无错,生成out文件,在file中选择load program,并打开这个out文件,在asm文件中设置断点; (3)。选择File>Data->Load打开之前Matlab生成的input.dat文件; (4).打开View->Graph>Time/Frequency,修改参数 (5)。运行程序,查看图形;5.滤波结果: 信号1低通滤波及频谱 信号1带阻滤波及频谱 6。可行性论证:在确定我们要做工频干扰滤波后,我们

18、将主要精力放在查找滤波程序上,通过查找资料,我们找到了设计滤波器并能进行低通滤波以及带阻滤波的程序(在DSP上运行),通过王敏的阅读和思考,她确定我们可以运用这段程序,只需将滤波器的系数予以修改,并且将心电数据转化为DSP可以识别的dat格式即可。所以我们利用MATLAB求出了我们所需的滤波器系数,并且将心电数据转化为了DSP可以识别的dat格式。最后,以DSP为平台,实现滤波.我们认为这样一步步转化是可行的。 第五章 结论与体会1。从这个实验中最先是实验数据的问题,我们开始的思路是但在其中的一步中出现问题,我们在网上下载的是三种格式的数据(。hea,。dat,。art),在我们用程序转换之后

19、得到的数据是最原始的的电压值,数值非常小,而且是double类型的数据,这在转换成DSP所需dat格式文件时非常不方便,因为这种格式要求为头文件+数据的形式,其中头文件信息包含五个部分:magicnumbei(固定为1651),数据存取格式,数据存放的起始地址,页码以及数据长度。其中数据格式可以取14,分别代表十六进制,整数,长整数,浮点数。此时获得的数据非常小,而且是double类型的数据,转换成以上类型是都会存在误差,是的输入波形发生变化,这会影响到比较输入和滤波输出后图像的比较。而改用经AD转换后的数据很方便的采用整数格式,因此我们采用的头文件格式为:1651 2 0100 0 fff.

20、2.在这次实验中我们学会了求滤波系数的两种方法:一是用MATLAB GUI中的SPTOOL设计滤波器系数,二是用MATLAB编程来得到滤波器系数,在实验中我们采用的是第二种方法,直接采用编程得到的特定格式数据的系数文件,在粘贴在汇编语言相应的coffe系数取。3。在ccs软件中实现滤波功能是我们遇到的两个问题:一是DSP中TMS320C54x汇编语言的不熟悉,二是DSP芯片的存储器的结构不了解,这导致我们在编写asm文件和cmd文件时出现了很多问题,在不断的查资料和纠错过程中我们对这两个方面的知识掌握的更全面。4。我们的动手能力真的很差,并且遇到问题不会自己思考,所以我们不仅要掌握知识,加强动

21、手能力,就读于理工科,更要学会思考,思考哪里出错了,思考这里为什么不行,不要依赖于同学或者老师。 附件:源程序清单1。利用MATLAB读取心电数据并转化为DSP能识别的dat格式:clear all;temp=importdata(D:matlabwork213.txt);%读取网上下载的213号心电数据a=temp。data; %从temp这个结构体中得到数据ecg=a(1:3000,2);%得到通道1中的3000个数据fid=fopen(213ecg。dat','w);打开文件,w'是将此文件定义为可写的,fid是此文件的整数标示fprintf(fid,1651 2

22、 0100 0 fffn');输出文件头,文件头必须是dsp所能识别的,就如此句程序所设定的fprintf(fid,'0xxn,ecg);%输出ecg数组,并写到与fid标示符相同的文件fclose(fid); %关闭fid标示符的文件。2. 滤波系数求解程序:n=160;fsample=360;fp=100;fs=65;mode=1;w=hamming(n+1);wp=fp/(fsample/2);ws=fs/(fsample/2);if mode=1 h=fir1(n,wp,'low',w);endif mode=2 h=fir1(n,wp,ws,stop&

23、#39;,w);endm=0:n;figure(1)subplot(2,1,1);plot(m,w);grid;axis(0 n 0 1。1*max(w);subplot(2,1,2);plot(m,h);grid;axis(0 n 1.1min(h) 1.18*max(h);figure(2)freqz(h)subplot(2,1,2)h=h,0;b=round(h(2151));fid=fopen('firlwindow。txt','w');for i=1:32; fprintf(fid,rt%st','.word'); for j=

24、(i-1)*32+1:(i-1)32+31 fprintf(fid,'6。0f',b(j)); end fprintf(fid,'%6。0f,b(i-1)32+32);endfclose(fid);3. DSP实现滤波:fir1window.asm .mmregsin_buffer 。usect "in_buf",160input 。usect ”in_dat",3000output .usect ”out_dat",3000 .global start .def start .def _c_int00 .copy ”213。h&

25、quot; 。text_c_int00 b startstart: SSBX FRCT STM #3000,BK STM in_buffer,AR3 STM #input,AR2 MVDD *AR2+,AR3 STM #output,AR5 STM #in_buffer+159,AR1FIR: RPTZ A,159 MACD AR1-,coeff,A STH A,AR5+ STM in_buffer,AR3 MVDD *AR2,AR3 MAR AR2+% STM in_buffer+159,AR1 B FIR nop .endfir1window。cmd:fir1window.objm fir1window。map-o fir1window.outMEMORYPAGE 0: eprom:org=02000h,len=1000hPAGE 1: spram:org=0100h,len=2fffh dpram:org=3200h,len=0fffhSECTIONS .data :>eprom PAGE 0 .text :>eprom PAGE 0 in_dat :>spram PAGE 1 in_buf :>spram PAGE 1 out_dat :dpram PAGE 1 20

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1