查看单个帖子
旧 2010-11-22, 12:43   #1
xxxx1234567890
初级会员
 
注册日期: 2010-11-18
年龄: 35
帖子: 1
声望力: 0
xxxx1234567890 正向着好的方向发展
默认 求高手指教:关于MFCC算法运行的一个错误

function ccc=mfcc(x)
bank=melbankm(24,256,8000,0,0.5,'m');
bank=full(bank);
bank=bank/max(bank(:));

for k=1:12
n=0:23
dctcoef(k,:)=cos((2*n+1)*k*pi/(2*24));
end

w=1+6*sin(pi*[1:12]./12);
w=w/max(w);

xx=double(x);
xx=filter([1-0.9375],1,xx);

xx=enframe(xx,256,80);

for i=1:size(xx,1);
y=xx(i,:);
s=y'.*hamming(256);
t=abs(fft(s));
t=t.^2;
c1=dctcoef*log(bank*t(1:129));
c2=c1.*w';
m(i,:)=c2';
end

dtm=zeros(size(m));
for i=3:(size(m,1)-2)
dtm(i,:)=-2*m(i-2,:)-m(i-1,:)+m(i+1,:)+2*m(i+2,:);
end
dtm=dtm/3;

ccc=[m dtm];

ccc=ccc(3:size(m,1)-2,:);




运行后出现:
?? Undefined function or variable "m".

Error in ==> mfcc at 44
dtm = zeros(size(m));


这是什么错啊
c2=c1.*w';
m(i,:)=c2';
end

dtm=zeros(size(m));
不是有定义吗
xxxx1234567890 当前离线   回复时引用此帖