HRV波形提取
通过计算心电R波波峰对应时间的一阶差分,得到HRV特征信号。
HRV(i)=R(i+1)-R(i)
其中,i为R波位置的采样点,R(x)为x点的采样时间,即R(x)=x/f
hrvy=diff(rvalue)*(1/800);
subplot(2,1,1);
plot(x);
hold on;
plot(rvalue,x(rvalue),'r^');
subplot(2,1,2);
lenhrv=length(hrvy);
plot(1:lenhrv,hrvy,'b');
时域特征
- SDNN
- rMSSD
- pNN50
SDNN=std(hrvy,1);%SDNN
rrdx=abs(diff(hrvy));
rMSSD=rms(rrdx);%rMSSD
nn50=find(rrdx>0.05);
pNN50=length(nn50)/length(rrdx);%pNN50
频域特征
- 总功率TP
- 低频功率PLF
- 高频功率PHF
- LF/HF
hrvy=diff(rvalue)*(1/800);
lenhrv=length(hrvy);%HRV的采样点数(5min内)
fs=lenhrv/300;%HRV的采样频率
nfft=lenhrv;
window=hamming(100);
noverlap=20;
range='onesided';
[Pxx,f]=pwelch(hrvy,window,noverlap,nfft,fs,range);
subplot(2,1,2)
plot(f,(Pxx),'b');
hold on;
plot([0.04,0.04],[0,1],'r');
area(f(f>=0.04&f<=0.15),Pxx(f>=0.04&f<=0.15),'FaceColor','r&