📄 last1.m
字号:
wave_serial=wavread('4ks31.wav');
figure(1);
plot(wave_serial);
b=fir1(10,1/8);
s=filter(b,1,wave_serial);
E=zeros(1,2000);
N=2000;
for i=1:N
E(i)=abs(s(i));
end
figure(2);
plot(E);
M1=E(1);
X=0;
for i=1:N
if E(i)>M1
M1=E(i);
X=i;
end
end
X1=X+400;
s1=s(X:X1);
N1=200;
r=zeros(1,200);
for i=1:N1
for j=1:N1
r(i)=r(i)+abs(s1(j)-s1(i+j));
end
end
figure(3);
plot(r);
M2=r(1);
for i=1:N1
if r(i)>M2
M2=r(i);
end
end
if M2>16
M2=M2/3-1;
else
M2=M2/2;
end
Y=zeros(1,20);
B=zeros(1,20);
j=0;
for i=2:(N1-1)
if r(i-1)>r(i) & r(i)<r(i+1) & r(i) <M2
j=j+1;
Y(j)=i;
B(j)=r(i);
end
end
if j==0
M1=0.03;
for i=0:N
if E(N-i)>M1
X=N-i;
break
end
end
X1=X-800;
X2=X-400;
s1=s(X1:X2);
N1=200;
r=zeros(1,200);
for i=1:N1
for j=1:N1
r(i)=r(i)+abs(s1(j)-s1(i+j));
end
end
figure(3);
plot(r);
M2=r(1);
for i=1:N1
if r(i)>M2
M2=r(i);
end
end
if M2>16
M2=M2/2-3;
else
M2=M2/2;
end
Y=zeros(1,20);
B=zeros(1,20);
j=0;
for i=2:(N1-1)
if r(i-1)>r(i) & r(i)<r(i+1) & r(i) <M2
j=j+1;
Y(j)=i;
B(j)=r(i);
end
end
end
Z=zeros(1,20);
Z=Y;
sign=0;
for i=2:j
if (Z(i)-Z(i-1))>50
sign=1;
end
if (Z(i)-Z(i-1))<13
sign=1;
end
end
N_keynote=Y(1);
j=j-1;
if sign==1
F=Y(1);
Q=4000/N_keynote;
else
for i=1:j
N_keynote=N_keynote+abs(Y(i+1)-Y(i));
end
j=j+1;
F=N_keynote/j;
Q=j*4000/N_keynote;
end
res='0';
if F<=20
res='F';
else
res='M';
end
Y
B
M2
res
F
X
Q
j
sign
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -