福建电脑
2010年第2期
MATLAB在生物医学信 处理中的应用
高智贤,张业宏
(新乡医学院河南新乡453003)
【摘要】:介绍了MATLAB在生物医学信 处理中的简单应用。文中以实际程序介绍了基本序列运算、频谱分析以及现代的参数建模等几方面的设计。可以看到,采用MATLAB可以大大简化运算,并能得到足够的精度,有着广泛的应用前景。
【关键词】:MATLAB生物医学信 处理参数建模
0、绪论
生物医学工程作为理、工、医科的交叉学科,在生命科学的发展中有着巨大的潜力。生物医学信 处理课程作为生物医学工程专业重要的专业基础课程,是综合性、理论性和实验性都很强的新技术学科,在数字化和信息化高速发展的今天其地位越来越重要,它的主要任务是根据生物医学的信 特点,应用信息科学的基本理论和方法,研究如何从被干扰和噪声淹没的观察记录中提取各种生物医学信 中所携带的信息,并对它们进行分析、解释和分类。在对生理信 进行分析的过程中,都是借用计算机来进行实现的。MA TLAB在生物医学信 分析中的应用,将会使生理信 处理技术简单化、实用化,原本神秘复杂的数学运算和变化可用一简单的命令输入,很快得到信 的处理结果。学科发展过程中产生如FTRAN语言、C语言等计算语言,相对这些语言语法要求较高,MATLAB支持演草纸式计算环境,MA TLAB要比使用Basic、Delphi、Fortran和C语言等提高效率许多倍。
1、生物医学信 处理基础
生物医学信 的研究对象是复杂的生理信 ,处理的目的是通过滤波技术去识别和分离生理信 中的有用成份和无用成份,对其进行定量描述,从而揭示产生生物医学信 的本质,对生理信 进行预测以得到未来可能产生的信 。根据所得到的结果去判断人体生理情况,对医生的判断其重要的辅助作用。生物医学信 处理的主要内容包括频谱分析与数字滤波、信 的识别及信 估计等。常用的运算有:差分方程计算、矩阵计算、离散傅里叶变换计算、功率谱密度计算、卷积和计算、相关计算、对数和指数运算、复频率变化及没梳和数值变换等。很多的信 处理问题,都可以用上述运算加上其他的基本运算,通过适当的组合来实现。
2、Matlab在生物医学信 处理中的应用
2.1基本序列运算的实现
生物医学信 处理是以数字信 处理为基础的离散信 及离散系统的研究,因此,其预算过程基本上都是卷积或者相关预算。在MATLAB中可以很容易实现这种运算。定义两个信 x1= 0:15;x2=[1,1,1,1,1,1,1,1];然后定义卷积长度,k=length(x1)+length (x2)-1;对x1和x2进行傅里叶变化,y1=fft(x1,k);y2=fft(x2,k);,最后根据傅里叶变化的性质求逆傅里叶变换得到卷积结果y=ifft (y1.*y2)。
2.2在频谱分析中的应用
图1原始信 图2功率谱图图1为一段未知脑电EEG序列,利用MATLAB对其进行功率分析。得到图2256点的谱分析结果。分析程序如下:N=256;n=0:1:N-1;y=abs(fft(a21)).^2/N;stem(n,y,’fill’);原始信 经过傅里叶变换的道奇功率谱。
2.3利用参数建模对信 进行估计
在生物医学信 处理中,信 估计是很重要的一部分能容。现代常用的估计方法是利用AR模型法对信 进行估计。下边我们就来看一段AR模型估计的实例。
主程序:p=input(‘输入AR模型的阶数p:’);
a=zeros(1,p);
for i=1:p,
str=sprintf(‘请输入AR模型的参数a(%d)’,i);
a(i)=input(str);
end
deltaW=input(‘请输入白噪声方差:’);
L=input(‘请输入信 s(n)样本个数L:’);
w=randn(1,L);
s=zeros(1,L);
for i=1:L,
temp=0;
for m=1:p,
if i-m>0,
temp=temp+a(m)*s(i-m);
end
s(i)=w(i)-temp;
end
end
Rss=zeros(p+1,p+1);
for m=1:p+1,
for n=1:p+1,
Fi=0;
for i=1:L-abs(m-n),
Fi=Fi+s(i)*s(i+abs(m-n));
end
Fi=Fi/(L-abs(m-n));
Rss(m,n)=Fi;
end
end
A=zeros(p+1,1);
e=zeros(p+1,1);
e(1)=deltaW;
A=Rss^(-1)*e;
for i=1:p,
sprintf(‘a(%d)=%fn’,i,A(i+1))
end
deltaW_estimate=0;
for i=1:p,
deltaW_estimate=deltaW_estimate+a(i)*Rss(1,i+1);
end
deltaW_estimate=deltaW_estimate+Rss(1,1);
sprintf(‘deltaW_estimate=%f’,deltaW_estimate)
运行AR模型参数估计程序,选择p=1,1a=-0.6,L=100,
观察得到,与理论值进行比较可以发现大致相同,但是有误差。
3、结束语
在现在计算机技术与日常工作联系越来越密切的今天,可以把这项技术做成嵌入系统与其它相关信 处(下转第90页

)109
相关资源:橘子快速启动软件(橘子启动器)v3.0绿色免费版-其它代码类资源…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!