登录论坛

查看完整版本 : [MATLAB基础] 求高手指教:关于MFCC算法运行的一个错误


xxxx1234567890
2010-11-22, 12:43
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));
不是有定义吗