登录论坛

查看完整版本 : [MATLAB图像处理] 一道语音处理的问题 高手指教 谢谢


刘暮哲
2009-10-23, 09:51
clear;
%设计滤波器%
N=160;
fc=8000;
fp=4000;
wp=0.5*pi;
fs=5000;
ws=0.625*pi;
wc=(wp+ws)/2/pi;
n=ceil(11/0.125);
h=fir1(n-1,wc,blackman(n));%滤波器设计完成%
%分段读入文件%
m=length(h);
m1=m-1;
fid=fopen('assignment090929.pcm','r');
y=zeros(1,N+m1);
x=zeros(1,N+m1);
x1=zeros(1,m1);
x2=zeros(1,N);
y1=zeros(1,N);
b=fopen('lz.pcm','wb');

while(feof(fid)~=1)

x2=fread(fid,[1,N],'int 16');

x=[x1,x2];
y=filter(h,1,x);
y1=y(m1+1:N+m1);
fwrite(b,y1,'int 16');
x1=x2(N-m1+1:N);
end


我这程序显示??? Index exceeds matrix dimensions.

Error in ==> liuzhao3 at 29
y1=y(m1:N+m1);的错误 我觉得没错呢 请高手帮忙哈 谢谢