[改]医学信号处理实验指导书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
医学信号处理
实验指导
河北工业大学电气工程学院生物医学工程专业专用
实验一、随机信号的产生及其数字特征分析
实验项目的目的和任务:了解随机信号的产生以及随机信号的特征。
实验内容:
1.随机信号序列的产生
2.随机信号的数字特征分析
实验步骤:
一、随机信号序列的产生
1、利用matlab函数rand和randn产生随机信号序列
2、利用同余算法生成随机信号序列
同余算法:
k(i+1)=c*k(i)(mod M) i=0 1 2 ....m
k(0) 给定,后面的数由k与c的乘积与M取余求得,c与
M都可以任意指定,一般情况下M=2^b,k(0)为一奇数
c=8t(+/-)3 t取整数。
具体b和t取值,可由试验得出。
随机信号不重复的长度:2^(b-2)次,b取值越大,随机信号
序列长度越长
建议b=12 即2^10次不会重复,此时c=2^9+3 即t=2^6。
k的取值范围,0~M-1之间。
k在0~M-1上是均匀分布的。
生成随机信号序列要求:
1 用同余算法产生-0.5~0.5 范围内均匀分布的序列,长度
N=100,均值为零,方差为0.1。
2 用matlab函数构造正态分布序列,要求长度N=100,均值
为零,方差为0.1。
(randn)
3用matlab函数构造均匀分布序列,要求长度N=100,均值
为零,方差为0.1。
(rand)
clear;
N=100;
p=0.1;
u=rand(1,N);
u=u-mean(u);
a=cov(u);
b=sqrt(p/a);
u=u*b;
mean_u=mean(u)
cov_u=cov(u)
plot(u,'.')
3、用matlab编程验证正态分布随机信号序列在mx(+/-)q
的取值概率为68%,在mx(+/-)2q 的取值概率为95.4%,
在mx(+/-)3q 的取值概率为99.7%。
clear;
N=1000;
u=randn(1,N);
mx=mean(u)
q=sqrt(cov(u))
M1=find(u>mx-3*q&u<mx+3*q);
M=size(M1,2)/N
二、随机信号的数字特征分析
一维利用函数mean求随机信号序列均值,利用函数cov求随机信号序列方差
多维每一列作为一次观察,共进行N次观察,每次M个数,求得M*N的矩阵,构造函数x(t)=Asin(wt)+w(t)
Asin(wt)为确定信号w(t)为白噪声,用随机数实现
要求:构造多维随机信号,N=10,M=500,f=20hz
求均值向量,协方差矩阵
实验要求:完成每一步实验要求,并将结果画图输出
本实验中主要用的到matlab函数:
rand,randn,mean,cov,plot
实验二、医学信号潜伏期的消除
实验项目的目的和任务:采用相干平均方法来消除信号潜伏期的影响实验内容:
1.生成仿真试验信号
2.消除潜伏期的影响
3.诱发响应信号的提取
实验步骤:
一、生成仿真试验信号
令响应信号为 x(t)=10*e^(-at)*sin(2*pi*f*t),其中a=0.2,f=1/20,t=1-20 ,表达式中a的值越小,信号衰减的越
慢,t取1-20则响应信号的长度为20。
令噪声信号长度为100,噪声为正态分布。
响应信号和噪声信号叠加得到仿真信号,仿真信号总长度为100。
响应信号的潜伏期,自行设定。
要求做50组仿真信号,各组仿真信号中响应信号的潜伏期不同
二、消除潜伏期影响
根据课上所学相干平均方法的知识,采用求互相关的方法,消除潜伏期影响。
Matlab中求互相关的函数为xcorr.m。
三、诱发响应信号的提取
对消除响应信号潜伏期后的仿真信号,进行对齐,叠加平均处理,提取诱发响应信号。
实验要求:先写出提取诱发响应的原理,然后完成每一步实验要求,并将结果画图输出
本实验中主要用的到matlab函数:
xcorr,subplot,sum
实验三、经典功率谱估计
实验项目的目的和任务:对应课堂上讲述的几种功率谱估计方法的原理,研究求解功率谱估计编程实现方法
实验内容:
1 生成试验用仿真信号
2 分别用周期图法,间接法,平均周期图法,welch法求解序列的功率谱
3 结果输出
实验步骤:
一、生成试验用仿真信号
序列 x(n)=exp(j*w0*n-j*pi)+exp(j*w1*n-j*0.7*pi)+e(n)
为复正弦加白噪声的平稳信号,其中w0=100*pi,w1=50*pi,
e(n)为零均值得白噪声,信噪比为S/N=10 dB,信号长度为
1000。
二、分别用周期图法,间接法,平均周期图法,welch法求解序列的功率谱
1. 周期图法 matlab中周期图法的函数为periodoram
2. 间接法通过求解序列自相关再进行傅氏变换求得
3. 平均周期图法 matlab中平均周期图法的函数为psd
4. Welch法 matlab中Welch法的函数psd和pwelch
三、结果输出
要求对仿真信号用上面四种方法进行功率谱估计,结果输出在同一幅图上。
实验要求:写出进行功率谱估计的四种方法的原理和优缺点,然后完成每一步实验要求,并将结果画在同一幅图上输出
本实验中主要用的到matlab函数:
periodoram,psd,pwelch
实验四、对想象运动脑电信号进行特征提取
实验项目的目的和任务:参考专业英语阅读第四课(Brain Computer Interface II)关于ERD和ERS部分内容,以及课本关于AR模型进行特征提取部分内容,对提供的想象运动脑电信号进行特征提取,并用训练神经网络进行分类。
实验内容:
1. 频率特征提取
(1)根据ERD、ERS相关内容,结合功率谱估计方法,
提取mu节律能量作为特征。
(2)根据所提取的能量特征,利用神经网络进行分类。
2. 采用AR模型进行特征提取
(1)对应各导脑电信号,先对信号进行阶数估计。
(2)利用L—D算法或者Burg算法,求解各阶AR模
型参数,并以此为特征。
(3)根据所提取的特征,利用神经网络进行分类。
实验步骤:
一、脑电信号数据导入
1、实验介绍
该数据是由Graz大学的生物医学工程系的医学信息部提供的,这些数据是从一个25岁的女性被试身上采集到的。
实验时,被试坐在有靠背的舒适的椅子上进行实验。
实验的任务是:通过想象左手运动动或右手运动来产生相应的脑电信号。
想象左右手运动的顺序是随机的。
整个实验由7组组成,每组40个,所有实验都是在同一天内完成,每次实验周期为9秒,总共相当于280个小实验,在实验的前2秒内,没有对被试施加任何刺激,也就是说她是安静的;从第2秒开始,屏幕上出现一个“+”,它持续一秒的时间;从第3秒开始,屏幕上出现一个向左或向右的箭头,被试看到此信息后,要按照箭头方向想象对应左手或者右手运动。
脑电信号采集为C3,Cz,C4三个通道的电极处的数据,采样频率为128Hz,对采集得到的脑电信号进行0.5~30Hz滤波。
实验过程如图1所示。
Beep
图1 电极位置(左图)测试过程(右图)
2、数据格式
数据被保存在Grazdata.mat中,其中x_train是由三个脑电通道C3,CZ,C4组成的,保存了其中140组实验的脑电数据,每个的周期为9秒。
y_train的数据由1和 2组成,分别代表想象左手运动或想象右手运动。
建议采用前100组数据作为训练集,后40组数据作为测试集。
二、脑电信号的特征提取
1、频率特征提取
采用任意一种功率谱估计方法,提取各导12~14Hz区间能量作为特征向量。
2、AR模型参数特征提取
(1)利用函数,求解脑电信号的AR模型阶数。
(arorder.m)
(2)求解Yula-Walker方程,得到AR模型参数,作为特征向量。
(levinson.m, aryule.m, arburg.m)
三、脑电信号的分类
1、对已知140次实验数据,取其中一部分作为训练集,建立神经网络进行训练,另外一部分作为测试集,检验分类正确率。
2、神经网络的建立及分类正确率的显示,参照例程example.m
实验要求:
1、编程实现上述各个实验步骤,比较采用两种不同特征
提取方法所得到的分类正确率。
2、写出对AR模型阶数估计有几种方法,函数arorder.m
中采用的是哪一种?同时检验AR模型阶数的选取对于分
类正确率是否有影响。
本实验中主要用的到matlab函数:
levinson,aryule,arburg,arorder。