马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
clear all
[yorg,Fs,bits]=wavread('全心脏收缩音.wav');
sigLength=length(yorg);
t=(0:sigLength-1)/Fs;
plot(t,yorg);
xlabel('Time(s)');
title('全心脏收缩音.wav');
n=4;
[a,b]=ginput(n);%连续做5个心动周期内的数据标识,以便求出差异及平均值
for j=1:n/2
refarea_uphalf(j,1)=[a(j+1)-a(j)]*(b(j+1)+b(j))/2;%按心动周期标识的顺序,计算参考面积
N=round(a(2*j-1)*Fs);
M=round(a(2*j)*Fs);%每次标识S1,S2围成的区间
for i=N:M
if (yorg(i)>0)&&(yorg(i+1)>0)
temp(i-N+1,1)=[yorg(i)+yorg(i+1)]/(2*Fs);
elseif(yorg(i)>0)&&(yorg(i+1)<=0)
yorg(i+1)=0;
temp(i-N+1,1)=[yorg(i)+yorg(i+1)]/(2*Fs);
elseif(yorg(i)<=0)&&(yorg(i+1)>0)
yorg(i)=0;
temp(i-N+1,1)=[yorg(i)+yorg(i+1)]/(2*Fs);
else
yorg(i)=0;
yorg(i+1)=0;
temp(i-N+1,1)=[yorg(i)+yorg(i+1)]/(2*Fs);
end
end
temp(i-N+1,1);
murmurarea_uphalf(n/2,1)=sum(temp,1); |