这个程序错误怎么改,紧急求助~~
matlab吧
全部回复
仅看楼主
level 1
陈JS 楼主
[y,Fs,bits]=wavread('F:\1.wav');
y=y(:,1);
sound(y,Fs,bits);
sigLength=length(y);
Fs=50000;
d=100;%连续段的重叠长度
L=512;
k=L-d;
t=fix(sigLength/k);
frame_length=512;
r=(rectwin(frame_length));
for a=1:t
n1=(L-d)*(a-1)+1;
n2=(L-d)*(a-1)+frame_length;
s=y(n1:n2);
sf=fft(s'.*r',512 );
X1(n1:n2)=sf(1:frame_length);
end
SIZE=8000;
Y=zeros(SIZE,1);
Y=20*log10(abs(X1));
figure,plot(Y(1:4000));title('频谱图');
figure,plot(y);title('时域图');
这是全部程序段
运行后提示
Index exceeds matrix dimensions.
Error in ==> fuliye at 15
s=y(n1:n2);
请问怎么改?

2012年06月12日 01点06分 1
1