用MATLAB实现DFA算法及报告.docx
《用MATLAB实现DFA算法及报告.docx》由会员分享,可在线阅读,更多相关《用MATLAB实现DFA算法及报告.docx(8页珍藏版)》请在冰点文库上搜索。
![用MATLAB实现DFA算法及报告.docx](https://file1.bingdoc.com/fileroot1/2023-6/17/e173f2f3-7d4a-4404-9345-fa91f14e6497/e173f2f3-7d4a-4404-9345-fa91f14e64971.gif)
用MATLAB实现DFA算法及报告
地理与生物信息学院
2011/2012学年第二学期
实验报告
课程名称:
医学信号处理
实验名称:
DFA算法实现
班
级
学
号:
.
**********
学
生
姓
名:
.
****
指
导
教
师:
****
期:
2012年6月
一、实验题目:
Matlab软件处理生物医学数字信号
二、实验要求:
采用DFA算法实现
三、实验内容:
能使用Matlab软件编写、实现DFA算法并处理生物医学信号
四、实验过程:
(1)针对某个心电时间序列(总长度为N),首先进行求和
k
y(k)「[BQ)Bave]
其中,B(i)是第i个数据,而Bave是所分析的心电时间序列的平均值。
这种求和步骤可以映射原始时间序列到一个自相似的过程。
(2)接着,量度求和后的时间序列的垂直特征尺度。
方法是:
求和后的时间序列被分成等长为n的许多个小片段。
画出每一个长度为n的小片段的最小二乘拟和直线(它用来代表该片段中的趋势)。
直线段的y坐标标记为yn(k)。
(3)其次,对求和后的时间序列进行去趋势,即在每一个片段中把y(k)减去局域趋势yn(k)。
对一个给定的片段长度n,这种求和并且去趋势后的时间序列的涨落的特征尺寸可以由下式计算:
F(n).M[y(k)yn(k)]
VNki
(4)在所有时间尺度(片段大小)上重复上面的计算,可以得出F(n)和片段大小n的关系曲线。
logF(n)对logn的斜率决定尺度指数(自相似参量)。
c-eara=
AAexfread(・d,nss.b—167861x0八
Nulooq
虽48163264128"
ll-engfh(n)八
「Hfixsndm0000)八
b(1乏HA(「?
1+N)2)*100+21op
pofu乏.b(l乏))八
CHb—mean(b=
for“―^乏
y
(一)usum(c(M))八
end
forkur-%kulRIH—k0kH2nH50…
dHN/n(k)_
forli-—kQ.
PHP0_>a—1)*n(k)+1『n(k)M{H)*n(k)+1『n(k))・1)-yl(K0—l)*n(k)+pj*n(k)llpo_yva-(PGl)*n(k)+pj*n(k))八
end
figure)
pofu乏.y)-ho-don八p_of(1乏.y1(k・1乏二口sef(gcp>
title(['n=',num2str(n(k))]);
f(k)二sqrt((sum((y(1:
N)-y1(k,1:
N))八2))/N);
endfigure,plot(log10(n(1:
k)),log10(f(1:
k)),'o');holdon;
a二polAit(log10(n(1:
k)),log10(f(1:
k)),1);
plot(log10(n(1:
k)),polyval(a,log10(n(1:
k))));
title(['拟合直线斜率’,num2str(a
(1))]);
原始数据曲线:
n=4、816、32、64、128
拟合直线:
拟合苜我斜本。
32538
止:
J
2
■■■■・'r
丿O
/
xT
/O/
*-
---
1S
O/
/
/
/
&/
-
■
.■■■
'311
09112111G18222
六、实验小结:
DFA方法可以检测出一个非平稳时间序列的内在的自相似性,同时避免散杂地检测可明显看出的人为的外在趋势的自相似性。
更适合应用于某些慢性趋势非平稳时间序列。
通过此次实验,熟悉了DFA算法的Matlab实现,并运用其处理生物医学信号。