加载中…
个人资料
matchfilter
matchfilter
  • 博客等级:
  • 博客积分:0
  • 博客访问:8,118
  • 关注人气:224
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

IIR滤波器的MATLAB实现(级联型)

(2015-01-31 15:11:17)
标签:

股票

分类: 数字信号处理MATLAB仿真

在MATLAB中给定级联型系统系数,由扩展函数casfilter实现IIR的级联形式。

例5.2 系统函数 http://s8/mw690/001DLjb7gy6PBZ5npMHe7&690,用级联型结构实现。

 

http://s6/mw690/001DLjb7gy6PBVnIxBX65&690

解:程序清单如下:

% 2015-1-28
% ycb_p158_5_2

b0=4;B=[1,1,0;1,-1.4142136,1];A=[1,-0.5,0;1,0.9,0.81];
N=60;
delta=impseq(0,1,N);
h=casfilter(b0,B,A,delta);
x=[ones(1,5),zeros(1,N-5)];
y=casfilter(b0,B,A,x);
subplot(1,2,1);stem(h);title('级联型h(n)');
subplot(1,2,2);stem(y);title('级联型y(n)');

%-----------------------------------------------
function[x,n]=impseq(n0,n1,n2);
n=n2-n0+1;
x=zeros(1,n);
for i=n0:n2
 if i==n1
 x(i)=1;
 end
end

%-----------------------------------------------

function y=casfilter(b0,B,A,x);
[K,L]=size(B);
N=length(x);
w=zeros(K+1,N);
w(1,:)=x;
for i=1:1:K
    w(i+1,:)=filter(B(i,:),A(i,:),w(i,:));
end
y=b0*w(K+1,:);

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有