📄 testpnn.asv
字号:
%程序是正确的,但泛化能力差
clc;
clear;
t1=cputime;
num=10;
disp('正在计算数字识别PNN模型...')
for i=1:num
fname = sprintf('..\\digit\\%da.wav',i-1);
x = wavread(fname);
[x1 x2] = vad(x);
m = mfcc(x);
m = m(x1-2:x2-2,:);
l=length(m);
ref(i).mfcc = m';
ref(i).tc=i*ones(1,l);
end
p=ref(1).mfcc;
tc=ref(1).tc;
for i=1:num-1
p=[p,ref(i+1).mfcc];
tc=[tc,ref(i+1).tc];
end
t=ind2vec(tc');
spread=1;
net=newpnn(p,t,spread);
disp('正在计算测试数字识别的结果...')
s=0;
for i=1:num
fname = sprintf('..\\digit\\%db.wav',i-1);
x = wavread(fname);
[x1 x2] = vad(x);
m = mfcc(x);
m = m(x1-2:x2-2,:);
y=sim(net, m');
test(i).yc=vec2ind(y);
test(i).num=0;
for j=1:length(test(i).yc)
if test(i).yc(j)==i
test(i).num= test(i).num+1;
end
end
t=test(i).num/length(test(i).yc)
s=s+t;
% figure
% hist(test(i).yc);
end
s=s/10
t2=cputime-t1
% close all;
% disp('正在进行模板匹配...')
% dist = zeros(10,10);
% for i=1:10
% for j=1:10
% dist(i,j) = dtw(test(i).mfcc, ref(j).mfcc);
% end
% end
%
% disp('正在计算匹配结果...')
% for i=1:10
% [d,j] = min(dist(i,:));
% fprintf('测试模板 %d 的识别结果为:%d\n', i, j);
% end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -