查看单个帖子
旧 2009-10-23, 09:51   #1
刘暮哲
初级会员
 
注册日期: 2009-09-29
年龄: 38
帖子: 3
声望力: 0
刘暮哲 正向着好的方向发展
默认 一道语音处理的问题 高手指教 谢谢

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);的错误 我觉得没错呢 请高手帮忙哈 谢谢
刘暮哲 当前离线   回复时引用此帖