c5_filterrex1.m
上传用户:ay_070428
上传日期:2014-12-04
资源大小:11427k
文件大小:1k
源码类别:

语音合成与识别

开发平台:

Matlab

  1. n=40;
  2. order=4; %filter order
  3. [b,a]=butter(order,0.1);%prototype
  4. %
  5. %The following segment is the block processing implementation
  6. %
  7. int1=[1,zeros(1,n-1)];%input vector
  8. out1=filter(b,a,int1);%output vector
  9. %
  10. %the following segment is the sample-by-sample implementation
  11. %
  12. sreg=zeros(1,order+1);
  13. for k=1:n
  14.     if k==1
  15.         in=1;
  16.     else
  17.         in=0;
  18.     end
  19.     out=b(1)*in+sreg(1,1);%determine output
  20.     sreg=in*b-out*a+sreg;%update register
  21.     sreg=[sreg(1,2:(order+1)),0];%shift
  22.     out2(k)=out;%create output vector
  23. end
  24. %
  25. subplot(2,1,1)
  26. index=0:n-1;
  27. stem(index,out1)
  28. xlabel('Sample Index')
  29. ylabel('Block Processing')
  30. subplot(2,1,2)
  31. index=0:n-1;
  32. stem(index,out2)
  33. xlabel('Sample Index')
  34. ylabel('Serial Processing')
  35. %End of script file