数字信号处理选做实验--心电信号数字滤波系统设计

合集下载

数字信号处理课程设计二心电信号分析系统设计-matlab

数字信号处理课程设计二心电信号分析系统设计-matlab

数字信号处理课程设计报告课题名称:心电信号分析系统的设计–matlab班级: 通信103姓名:滕冲学号: 102189成绩:指导教师:王宝珠日期: 2011年12月28日目录摘要 (3)一、课程设计的目的、意义 (3)二、设计任务及技术指标 (3)三、设计方案论证 (3)三、相关函数及程 (3)(1)读取txt形式的心电信号M文件 (3)(2) 数据保存:分别用来保存插值前和插值后的数据 (4)(3)线性插值: (4)(4)对以上步骤进行画图 (4)(5) 两个滤波器 (5)(6)主程序 (5)五、实验结果与分析 (10)六、结论(只对设计课题内容进行总结并给出结论) (14)七、课程设计心得与体会 (15)八、参考文献 (16)摘要:设计一个心电信号分析系统。

读取原始心电信号txt文件并将其前两行内容用程序的方法去除,对其做一次线性插值并保存在新的txt文件里面。

由心电信号特点得知需要设计带通滤波器还有一个带阻滤波器,设置初步滤波技术指标画出初步滤波图形后看出的结果好不好,出图是否与设计指标相符,若计数指标不好应该怎样调节,对处理完的时域和频域波形进行分析,得出结论,做过程记录。

该系统做完后,启用simulink功能,建立模型,进行连线,设置参数,最后启动仿真。

观察示波器模块的输入和输出波形是否真确。

关键词:数字心电信号,线性插值,滤波器,功能仿真一、课程设计的目的、意义通过本课题的设计学会用matlab软件实现对心电信号进行读取,设计滤波器并进行滤波,分析心电信号的特点并反馈给滤波器的设计指标,同时强化对matlab语句应用的训练更好地掌握该软件;提高对实际问题的分析解决能力,锻炼综合能力;通过实际的动手过程发现问题解决问题,加深对所学知识的理解和掌握,重在过程。

二、设计任务及技术指标(1)对原始数字心电信号进行读取,由数字信号数据绘制出其时域波形。

(2)对数字信号数据做一次线性插值,使其成为均匀数字信号,以便后面的信号分析。

数字信号处理实验报告-FIR滤波器的设计与实现

数字信号处理实验报告-FIR滤波器的设计与实现

数字信号处理实验报告-FIR滤波器的设计与实现在数字信号处理中,滤波技术被广泛应用于时域处理和频率域处理中,其作用是将设计信号减弱或抑制被一些不需要的信号。

根据滤波器的非线性抑制特性,基于FIR(Finite Impulse Response)滤波器的优点是稳定,易设计,可以得到较强的抑制滤波效果。

本实验分别通过MATLAB编程设计、实现、仿真以及分析了一阶低通滤波器和平坦通带滤波器。

实验步骤:第一步:设计一阶低通滤波器,通过此滤波器对波型进行滤波处理,分析其对各种频率成分的抑制效果。

为此,采用零极点线性相关算法设计滤波器,根据低通滤波器的特性,设计的低通滤波器的阶次为n=10,截止频率为0.2π,可以使设计的滤波器被称为一阶低通滤波器。

第二步:设计平坦通带滤波器。

仿真证明,采用兩個FIR濾波器組合而成的阻礙-提升系統可以實現自定義的總三值響應的設計,得到了自定義的總三值響應函數。

实验结果:1、通过MATLAB编程,设计完成了一阶低通滤波器,并通过实验仿真得到了一阶低通滤波器的频率响应曲线,证明了设计的滤波器具有良好的低通性能,截止频率为0.2π。

在该频率以下,可以有效抑制波形上的噪声。

2、设计完成平坦通带滤波器,同样分析其频率响应曲线。

从实验结果可以看出,此滤波器在此频率段内的通带性能良好,通带范围内的信号透过滤波器后,损耗较小,滞后较小,可以满足各种实际要求。

结论:本实验经过实验操作,设计的一阶低通滤波器和平坦通带滤波器具有良好的滤波特性,均已达到预期的设计目标,证明了利用非线性抑制特性实现FIR滤波处理具有较强的抑制滤波效果。

本实验既有助于深入理解FIR滤波器的设计原理,也为其他应用系统的设计和开发提供了指导,进而提高信号的处理水平和质量。

数字信号处理实验FIR数字滤波器的设计

数字信号处理实验FIR数字滤波器的设计

数字信号处理实验:FIR数字滤波器的设计1. 引言数字滤波器是数字信号处理的关键技术之一,用于对数字信号进行滤波、降噪、调频等操作。

FIR (Finite Impulse Response) 数字滤波器是一种常见的数字滤波器,具有线性相应和有限的脉冲响应特性。

本实验旨在通过设计一个FIR数字滤波器来了解其基本原理和设计过程。

2. FIR数字滤波器的基本原理FIR数字滤波器通过对输入信号的每一个样本值与滤波器的冲激响应(滤波器的系数)进行线性加权累加,来实现对信号的滤波。

其数学表达式可以表示为:y(n) = b0 * x(n) + b1 * x(n-1) + b2 * x(n-2) + ... + bN * x(n-N)其中,y(n)表示滤波器的输出,x(n)表示滤波器的输入信号,b0~bN表示滤波器的系数。

FIR数字滤波器的脉冲响应为有限长度的序列,故称为有限冲激响应滤波器。

3. FIR数字滤波器的设计步骤FIR数字滤波器的设计主要包括以下几个步骤:步骤1: 确定滤波器的阶数和截止频率滤波器的阶数决定了滤波器的复杂度和性能,而截止频率决定了滤波器的通带和阻带特性。

根据实际需求,确定滤波器的阶数和截止频率。

步骤2: 选择滤波器的窗函数窗函数是FIR滤波器设计中常用的一种方法,可以通过选择不同的窗函数来实现不同的滤波器特性。

常用的窗函数有矩形窗、汉宁窗、汉明窗等。

根据实际需求,选择合适的窗函数。

步骤3: 计算滤波器的系数根据选择的窗函数和滤波器的阶数,使用相应的公式或算法计算滤波器的系数。

常见的计算方法有频率采样法、窗函数法、最小二乘法等。

步骤4: 实现滤波器根据计算得到的滤波器系数,可以使用编程语言或专用软件来实现滤波器。

步骤5: 评估滤波器性能通过输入测试信号,观察滤波器的输出结果,评估滤波器的性能和滤波效果。

常见评估指标有滤波器的幅频响应、相频响应、群延迟等。

4. 实验步骤本实验将以Matlab软件为例,演示FIR数字滤波器的设计步骤。

数字信号处理数字滤波器设计及在心电信号滤波中的应用的课程设计报告

数字信号处理数字滤波器设计及在心电信号滤波中的应用的课程设计报告

一、课程设计的性质与目的《数字信号处理》课程是通信专业的一门重要专业基础课,是信息的数字化处理、存储和应用的基础。

通过该课程的课程设计实践,使学生对信号与信息的采集、处理、传输、显示、存储、分析和应用等有一个系统的掌握和理解;巩固和运用在《数字信号处理》课程中所学的理论知识和实验技能,掌握数字信号处理的基础理论和处理方法,提高分析和解决信号与信息处理相关问题的能力,为以后的工作和学习打下基础。

二、课程设计题目方向二:数字滤波器设计及在心电信号滤波中的应用。

三、课程设计步骤:1、心电信号采集心电信号作为心脏电活动在人体体表的表现,信号一般比较微弱,幅度在10μV~5mV,频率为0.05~100Hz。

在心电信号的采集、放大、检测及记录过程中,有来自外界的各种干扰。

记录一段时间内的人体心电信号波形,要求长度不小于10秒,并对记录的信号进行数字化,保存为数据文件;这里,请同学们使用美国的MIT/BIH心电原始数据,由实验老师给出一定长度的的心电原始数据,数据保存在文件“a01.txt~a10.txt”中,在MATLAB中通过如下语句读取:load ‘a01.txt’;%从当前路径下的a01.txt文件读取心电原始数据到变量a01中,a01为二维数据,第一列%为心电信号时间,第二列为心电信号幅度。

2、心电信号分析使用MATLAB绘出数字化后的心电信号的时域波形和频谱图。

根据频谱图求出其带宽,并说明心电信号的基本特征。

3、含噪心电信号合成在MATLAB软件平台下,给原始的心电信号叠加上噪声或干扰,干扰类型分为如下几种:(1)白噪声;(2)工频干扰(50Hz);(3)谐波干扰(二次、三次谐波为主,分别为100Hz、150Hz);(4)其它干扰,可设置为低频、高频、带限噪声,或冲激干扰。

绘出叠加噪声后的心电信号时域和频谱图,在视觉上与原始心电信号图形对比,绘出其时域波形差,分析频域基本特征变化。

4、数字滤波器设计及滤波,完成以下题目中的一个给定滤波器的规一化性能指标(参考指标,实际中依据每个同学所叠加噪声情况而定)例如:通带截止频率wp=0.25*pi, 阻通带截止频率ws=0.3*pi; 通带最大衰减Rp=1 dB; 阻带最小衰减Rs=15 dB,每个题目至少设计出5个用不同方法的不同类型滤波器。

数字信号处理第六章数字滤波器设计

数字信号处理第六章数字滤波器设计

窗函数法是一种常用的数字滤 波器设计方法,通过选择合适 的窗函数和滤波器系数,实现
滤波器的设计。
窗函数法具有简单、直观的 特点,但设计出的滤波器性
能可能不是最优的。
常用的窗函数包括矩形窗、汉 宁窗、海明窗等,不同窗函数
具有不同的特性。
频率采样法
频率采样法是一种基于频率域的数字滤波器设计方法,通过在频域内采样并重构滤 波器的频率响应,实现滤波器的设计。
IIR滤波器具有较好的幅频特性,但相位特性较差,且存 在稳定性问题。
在实际应用中,应根据具体需求选择合适的滤波器类型 和设计方法。
04
数字滤波器的实现
数字滤波器的实现步骤
确定滤波器参数
设计滤波器系数
根据实际需求,确定滤波器的阶数、截止 频率等参数。
根据滤波器类型和参数,计算滤波器系数 。
实现滤波器算法
描述滤波器实现的难易程度,包括运算量和 存储需求。
数字滤波器的基本结构
直接实现型
将输入信号直接与滤波器系数进行运算,得到输 出信号。
级联实现型
将滤波器分解为若干个简单滤波器的级联,以降 低计算复杂度。
并行实现型
将滤波器分解为若干个简单滤波器的并行运算, 以提高处理速度。
03
数字滤波器的设计方法
窗函数法
验证滤波器效果
根据滤波器系数,编写滤波器算法,实现 信号的滤波处理。
对滤波后的信号进行验证,确保满足设计 要求。
数字滤波器的编程实现
选择编程语言
根据实际需求,选择适合的编程语言,如C、 Python等。
设计滤波器函数
根据滤波器算法,编写滤波器函数,实现信 号的滤波处理。
测试滤波器函数
对滤波器函数进行测试,确保其正确性和稳 定性。

杭电_数字信号处理课程设计_实验5

杭电_数字信号处理课程设计_实验5

实验5 IIR和FIR滤波器过滤信号的实现及比较:以心电信号为例一、实验目的1、探究心电信号的初步分析。

心电信号(频率-般在0.05Hz ~100Hz范围)是一种基本的人体生理信号,体表检测人体心电信号中常带有工频干扰(50HZ)、基线漂移(频率低于0.5Hz)和肌电干扰等各种噪声。

2、为了得到不失真的原始心电信号,需要滤波预处理。

设计数字低通滤波器、高通滤波器、带阻滤波器,用MATLAB软件对含噪心电信号分别进行高通、带阻和低通滤波等处理,将心电信号中的低频基线漂移、50Hz 工频高频和高频杂波进行滤除。

3、通过观察对含噪心电图信号的滤波作用,获得数字滤波的感性知识。

二、实验要求及内容实验题目:给定一组干净心电信号数据,数据文件存于C盘Ecg.txt。

采样频率Fs = 500Hz。

1、编写程序读出心电信号,并在屏幕上打印出其波形。

2、产生模拟高斯白噪声信号,与干净心电混合,设计一个IIR低通滤波器和一个FIR 低通滤波器分别滤除心电信号中的白噪声干扰,调整白噪声信噪比大小,对滤波前后的心电信号的频谱进行分析比较。

其中数字低通滤波器指标要求,通带截止频率Wp=0.1π,阻带截止频率Ws=0.16π,阻带衰减不小于15 dB,通带衰减不大于1 dB。

要求:编写一个IIR低通滤波器和一个FIR低通滤波器仿真程序,在屏幕上打印出数字滤波器的频率区间[0, π]上的幅频响应特性由线(H(e^jw)) ;计算其对含噪心电信号的低通滤波响应序列,并在屏幕上打印出干净心电信号波形,含工频干扰的心电信号波形以及IIR低通滤波和FIR低通后的信号波形,并进行比较;同时对滤波前后的心电信号的频谱进行分析比较,并在屏幕上打印出滤波前后的心电信号的频谱,观察其变化。

3、产生模拟工频信号,与干净心电混合,设计一个带阻滤波器(50Hz 陷波器)滤除心电信号中的电源线干扰,调整工频幅度大小,对滤波前后的心电信号的频谱进行分析比较。

数字信号处理实验报告五--数字滤波器设计与仿真

数字信号处理实验报告五--数字滤波器设计与仿真

实验五 数字滤波器设计及仿真实验一、实验目的(1)熟悉用数字滤波器滤波器设计的原理与方法;(2)学会调用MATLAB 信号处理工具箱中滤波器设计函数(或滤波器设计分析工具FDATOOL )设计各种IIR 数字滤波器,学会根据滤波需求确定滤波器指标参数。

(3)掌握数字滤波器的MATLAB 实现方法。

(3)通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。

二、实验原理与方法 三、实验内容及步骤(1)调用信号产生函数mstg 产生由三路抑制载波调幅信号相加构成的复合信号st ,该函数还会自动绘图显示st 的时域波形和幅频特性曲线,如图10.4.1所示。

由图可见,三路信号时域混叠无法在时域分离。

但频域是分离的,所以可以通过滤波的方法在频域分离,这就是本实验的目的。

图10.4.1三路调幅信号st 的时域波形和幅频特性曲线(2)要求将st 中三路调幅信号分离,通过观察st 的幅频特性曲线,分别确定可以分0.0020.0040.0060.0080.010.0120.0140.0160.0180.02-10123t/ss (t )(a) s(t)的波形(b) s(t)的频谱f/Hz幅度离st 中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。

要求滤波器的通带最大衰减为0.1dB,阻带最小衰减为60dB 。

提示:抑制载波单频调幅信号的数学表示式为0001()cos(2)cos(2)[cos(2())cos(2())]2c c c s t f t f t f f t f f t ππππ==-++其中,cos(2)c f t π称为载波,f c 为载波频率,0cos(2)f t π称为单频调制信号,f 0为调制正弦波信号频率,且满足0c f f >。

由上式可见,所谓抑制载波单频调幅信号,就是2个正弦信号相乘,它有2个频率成分:和频0c f f +和差频0c f f -,这2个频率成分关于载波频率f c 对称。

数字信号处理实验报告--滤波器设计

数字信号处理实验报告--滤波器设计

大连理工大学实验报告学院(系): 专业: 班级:姓 名: 学号: 组: ___实验时间: 实验室: 实验台: 指导教师签字: 成绩:实验三 滤波器设计一、实验结果与分析IIR 部分:1.用buttord 和butter 函数,直接设计一个巴特沃兹高通滤波器,要求通带截止频率为0.6π,通带内衰减不大于1dB ,阻带起始频率为0.4π,阻带内衰减不小于15dB ,观察其频谱响应的特点: clc,clearwp=0.6*pi/pi; ws=0.4*pi/pi; ap=1,as=15;[N,wn]=buttord(wp,ws,ap,as); [bz,az]= butter(N,wn,'high'); [H,W]=freqz(bz,az);plot(W,20*log10(abs(H))); grid on;xlabel('频率/弧度') ;ylabel('对数幅频响应/dB') ; axis([0.2*pi pi -40 1]);1 1.522.53-40-35-30-25-20-15-10-50频率/弧度对数幅频响应/d B2. 给定带通滤波器的技术指标:通带上下截止频率为0.4,0.3ππ,通带内衰减不大于3dB ,阻带上下起始频率为0.5,0.2ππ,阻带内衰减不小于18dB 。

用buttord 和butter 函数,对比巴特沃兹和切比雪夫的效果: clc,clearwp=[0.3*pi/pi,0.4*pi/pi]; ws=[0.2*pi/pi,0.5*pi/pi]; ap=3,as=18;[N,wn]=buttord(wp,ws,ap,as); [bz,az]= butter(N,wn); [H,W]=freqz(bz,az);plot(W,20*log10(abs(H))); grid on;xlabel('频率/弧度') ;ylabel('对数幅频响应/dB') ; axis([0 pi -60 1]);00.511.52 2.53-60-50-40-30-20-10频率/弧度对数幅频响应/d B3.用双线性变换法的模拟滤波器原型设计一个巴特沃兹低通滤波器,给定技术指标是100p f Hz =300st f Hz =3p dB α=20s dB α=,抽样频率为1000sF Hz =:clc,clear;Rp=3; Rs=20;wp=0.2*pi; ws=0.3*pi; Fs=1000;wap=2*Fs*tan(wp/2);was=2*Fs*tan(ws/2);[N,Wn]=buttord(wap,was,Rp,Rs,'s'); [Z,P,K]=buttap(N);[Bap,Aap]=zp2tf(Z,P,K); [b,a]=lp2lp(Bap,Aap,Wn); [bz,az]=bilinear(b,a,Fs); %绘制频率响应曲线 [H,W]=freqz(bz,az);plot(W,20*log10(abs(H))); grid on;xlabel('频率/弧度')ylabel('对数幅频响应/dB') axis([0 0.5*pi -50 1])0.511.5-50-45-40-35-30-25-20-15-10-50频率/弧度对数幅频响应/d B4. 用双线性变换法的模拟滤波器原型和直接设计法(buttord 以及butter )两种方法,设计一个数字系统的抽样频率Fs=2000Hz ,试设计一个为此系统使用的带通数字滤波器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文是利用MATLAB软件对美国麻省理工学院提供的MIT-BIH数据库的122号心电信号病例进行分析,利用MATLAB软件及simulink平台对122号心电信号的病例进行读取、插值、高通滤波、低通滤波等的处理。将心电信号中的高频和低频的杂波进行滤除后对插值前后滤波前后的时域波形及频谱进行分析。同时也将滤波器的系统函数进行读取,分析,画出滤波的信号流程图,也分析各个系统及级联后的系统的幅频响应、相位响应来判断系统的稳定性,并用MATLAB软件将图形画出,以便于以后的对系统进行分析。
1、了解MATLAB软件的特点和使用方法,熟悉基于Simulink的动态建模和仿真的步骤和过程。
2、了解人体心电信号的时域特征和频谱特征。
3、进一步了解数字信号的分析方法。
4、通过应用具体的滤波器进一步加深对滤波器理解。
5、通过本课题的设计,培养学生运用所学知识分析和解决实际问题的能力。
二、实验原理
N=length(y)
n=1:N;
f1=n*fs/N;
Y1=fft(y);
plot(f1,abs(Y1))
title('初始信号频谱')
axis([0 1000 0 200])
subplot(2,2,3)
plot(t,F)
title('差值后信号时域波形')
axis([0 2.5 -2 1])
M=length(F);
Columns 1 through 10
0 0 0 0 0 0 0 0 0 0
Columns 11 through 12
0 5.3949
A =
1.0e+28 *
Columns 1 through 10
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0008
fid = fopen('F.txt','wt');
fprintf(fid,'%g\n',F);
fclose(fid);
4. 插值前后波形比较
subplot(2,2,1)
plot(x,y)
title('初始信号时域波形')
axis([0 2.5 -2 1])
subplot(2,2,2)
fs=1000;
五、实验过程原始记录(数据、图标、计算等)
1. 提取txt格式心电信号:
fid=fopen('122.txt');
C=textscan(fid,'%8c %f %*f','headerlines',2);
f close(fid);
a=C{1};
y=C{2};
k=length(a)
for i=1:k
c(i)=strread(a(i,:),'%*s %f','delimiter',':');
Columns 11 through 12
0.0926 5.3949
6模拟高通滤波器:
wp=0.7*2*pi;ws=0.25*2*pi;Rp=0.1;As=40;
[N,wc]=buttord(wp,ws,Rp,As,'s')
[B0,A0]=butter(N,wc,'s');
wph=2*pi*0.25;hk=freqs(B0,A0,wph);
3.对处理前后的心电信号分别做频谱分析
利用Matlab软件对处理前后的心电信号编程显示其频谱,分析比较滤波前后的频谱,得出结论。
如果分析频谱,滤波效果不明显,则需变动滤波器参数指标,重新设计滤波器。通过频谱分析,多次试验确定最合适的滤波器。
4 .Simulink仿真.
根据前面的设计,进行基于Simulink的动态仿真设计。实现心电信号的分析和处理。给出系统的基于Simulink的动态建模和仿真的系统方框图,同时记录系统的各个输出点的波形和频谱图。
实验题目
心电信号数字滤波系统设计
实验时间
2013年12 月16日
实验地点
A1118
实验成绩
实验性质
□验证性 □设计性 □综合性
教师评语:
□出勤率好 □原理正确 □ 方案合理
□实验结果正确 □ 回答问题正确 □ 报告规范
一、实验目的
本实验项目主要研究数字心电信号的初步分析及滤波器的应用。通过完成本实验的设计,主要达到以下几个目的:
[BH,AH]=lp2hp(B,A,wph);
[h,w]=freqs(BH,AH);
plot(w,20*log10(abs(h)));
三、使用仪器、器材
Matlab软件
四、实验步骤
1.对原始心电信号做线性插值
运算公式如下:
其中 是第i个数据时间点,Ai是与之对应的数据,N是两数据之间需要的插值数, 是需要插值的两点数据差, ,
2.根据心电信号的频域特征,设计相应的低通和带通滤波器
一般正常人的心电信号频率在0.7~100HZ范围内,人体心电信号微弱,信噪比小,因此,在采集心电信号时,易受到仪器、人体活动等因素的影响,而且所采集的心电信号常伴有干扰。采集心电数据时,由于人的说话呼吸,常常会混有约为0.1Hz到0.25Hz频段的干扰,对于这些低频干扰,可以让信号通过一个高频滤波器,低截止频率设置为0.25,来滤除低频信号,对于高频信号干扰,可以让信号再通过一个低频滤波器,其中截止频率设置为99H
end
x=c';
plot(x,y)
2. 对:2.5;
F=interp1(x,y,t);
F=F';
t=t';
plot(t,F)
3. 把数据读到txt中
fid = fopen('t.txt','wt');
fprintf(fid,'%g\n',t);
fclose(fid);
B,A]=butter(N,wc,'s')
k=0:511;fk=0:1000/512:1000;wk=2*pi*fk;
Hk=freqs(B,A,wk);
plot(fk,20*log10(abs(Hk)));
grid on
>> Untitled5
N =
11
wc =
409.2596
B =
1.0e+28 *
m=1:M;
f 2=m*fs/M;
Y2=fft(F);
subplot(2,2,4)
plot(f2,abs(Y2))
title('插值后信号频谱')
axis([0 1000 0 200])
5 模拟低通滤波器:
wp=60*2*pi;ws=99*2*pi;Rp=1;As=40;
[N,wc]=buttord(wp,ws,Rp,As,'s')
相关文档
最新文档