(2)离散系统差分方程的MATLAB实现对于时域离散系统,可用差分方程描述或研究输入、输出之间的关系。对于线性时不变系统,经常用的是线性常系数差分方程。一个N阶线性常系数差分方程用下式表示:NMZb,y(n-i)=Za,x(n-i)i=0i=0当b,=0,i=1,2,.…,N时,h[n]是有限长度的,称系统为FIR系统,反之称系统为IR系统。在MATLAB中,可以用函数filer(a,b,x)求解差分方程,其中参数a,b分别表示系统函数的分子和分母多项式的系数。实验任务3:求系统的单位冲激响应和阶跃响应。给出系统:y(n)+0.75y(n-1)+0.125y(n-2)=x(n)-x(n-1)的单位冲激响应和阶跃响应。%差分方程求解N=21;a=[1,-1];b=[1,0.75,0.125];x1=[1 zeros(1,N-1)];x2=0nes(1,N);k=0:1:N-1;h=filter(a,b,x1);y=filter(a,b,x2);subplot(1,2,1);stem(k,h,);xlabel(n);ylabel(单位冲激响应);grid on;subplot(1,2,2);stem(k,y);xlabel(n)ylabel(单位阶跃响应");gridon运行程序将产生如图2-3所示序列。1.50.80.60.50.40.2-0.5单单0.20.4-1.5-0.6-0.8s101520C5101520nn图2-3差分方程求解实验任务4:一个三阶低通滤波器由下面差分方程描述:y(n)=0.0181x(n)+0.0543x(n-1)+0.0181x(n-3)+1.76y(n-1)-1.1829y(n-2)+0.2781y(n-3)
(2)离散系统差分方程的 MATLAB 实现 对于时域离散系统,可用差分方程描述或研究输入、输出之间的关系。对于线性时不变 系统,经常用的是线性常系数差分方程。一个 N 阶线性常系数差分方程用下式表示: ∑ ∑ = = − = − M i i N i i b y n i a x n i 0 0 ( ) ( ) 当 i b =0,i=1,2,.,N 时,h[n]是有限长度的,称系统为 FIR 系统,反之称系统为 IIR 系统。在 MATLAB 中,可以用函数 filer(a,b,x)求解差分方程,其中参数 a,b 分别表示 系统函数的分子和分母多项式的系数。 实验任务 3:求系统的单位冲激响应和阶跃响应。 给出系统: y(n) + 0.75y(n −1) + 0.125y(n − 2) = x(n) − x(n −1) 的单位冲激响应和阶 跃响应。 %差分方程求解 N=21; a=[1,-1]; b=[1,0.75,0.125]; x1=[1 zeros(1,N-1)]; x2=ones(1,N); k=0:1:N-1; h=filter(a,b,x1); y=filter(a,b,x2); subplot(1,2,1);stem(k,h,'.');xlabel('n');ylabel('单位冲激响应');grid on; subplot(1,2,2);stem(k,y,'.');xlabel('n');ylabel('单位阶跃响应');grid on; 运行程序将产生如图 2-3 所示序列。 图 2-3 差分方程求解 实验任务 4:一个三阶低通滤波器由下面差分方程描述: y(n)=0.0181x(n)+0.0543x(n-1)+0.0181x(n-3) +1.76y(n-1)-1.1829y(n-2)+0.2781y(n-3)
画出这个滤波器的幅度和相位响应。%系统频响a=[0.0181,0.0543,0.0543,0.0181];b=[1.0000,-1.7600,1.1829,-0.2781];m=0:length(a)-1:1=0:length(b)-1;N=500;k=0:1:N;W=pi*k/N;%分子num=a*exp(-j*m'*w),den=b*exp(-j**w);%分母%频响H=num./den;magH=abs(H);angH=angle(H);subplot(1,2,1),plot(w/pi,magH);xlabel(cfrequency in units of pi');ylabel(H'),grid on,subplot(1,2,2);plot(w/pi,angH);xlabel(frequency in units of pi);ylabel(phase in pi radians'),grid on,将产生如图2-4所示序列10.90.80.7ee0.6三0.5C0.40.30.20.10.50.5frequency inunits of pifrequencyin units ofpi图2-4差分方程所表示的系统频响
画出这个滤波器的幅度和相位响应。 %系统频响 a=[0.0181,0.0543,0.0543,0.0181]; b=[1.0000,-1.7600,1.1829,-0.2781]; m=0:length(a)-1;l=0:length(b)-1; N=500; k=0:1:N; w=pi*k/N; num=a*exp(-j*m'*w); %分子 den=b*exp(-j*l'*w); %分母 H=num./den; %频响 magH=abs(H);angH=angle(H); subplot(1,2,1);plot(w/pi,magH);xlabel('frequency in units of pi'); ylabel('|H|');grid on; subplot(1,2,2);plot(w/pi,angH);xlabel('frequency in units of pi'); ylabel('phase in pi radians');grid on; 将产生如图 2-4 所示序列 图 2-4 差分方程所表示的系统频响
实验3Z变换和系统频域特性的MATLAB实现1.实验目的(1)学习通过MATLAB实现Z变换来分析离散系统的频率响应。(2)加深对离散系统的零、极点分布概念的理解。2.实验仪器及设备(1)计算机一台。(2)MATLAB6.5以上软件一套。3.实验任务及原理(1)通过z变换分析求解系统的冲激响应h(n)TMEay(n-k)+)Zb,x(n-r)表示的线性时不变已知用线性常系数差分方程:y(n)=k=lF=0系统其系统函数为:MZb,2Y(a)r=fH(=)(3-1)X(=)1-akzk=l式(3-1)为两个关于=-的多项式之比,即H(z)为有理分式。将式(3-1)表小数部分分式的形式M-NRtH(-)= +ZC==1- pkz-k=0则可以根据所熟悉的常见序列的z变换形式求得H(z)的z反变换,从而得到系统冲激响应函数h(n)。MATLAB提供了一个内部函数residuez()来计算有理多项式的留数和直接项,residuez()函数有几种调用方式:①[R,p,C]-residuez(b,a)。在已知以分子行向量b和分母行向量a下,得到列向量R含有留数,列向量P是极点位置,行向量C包含直接项:②[b,a]=residuez(R,p,C),将部分分式展开式转换到分子行向量b和分母行向量a。MATLAB还提供了一个内部函数impz(b,a,N),在已知分子行向量b和分母行向量a下,计算N点的单位采样h(n)。实验任务1:求系统的单位采样响应求系统0.001836+0.007344-+0.0011016=-2+0.007374-~3+0.001836=-4H(2)=1-3.0544z-+3.8291z-2-2.2925z-3+0.55075z4的单位采样响应h(n)。解:由上述基本原理和MATLAB提供的函数,编写程序可得到所求系统的冲激响应h(n)。% h(n)求解b-[0.001836,0.007344,0.011016,0.007374,0.001836]
实验 3 Z 变换和系统频域特性的 MATLAB 实现 1.实验目的 (1)学习通过 MATLAB 实现 Z 变换来分析离散系统的频率响应。 (2)加深对离散系统的零、极点分布概念的理解。 2.实验仪器及设备 (1)计算机一台。 (2)MATLAB6.5 以上软件一套。 3.实验任务及原理 (1) 通过 Z 变换分析求解系统的冲激响应 h(n) 已知用线性常系数差分方程: ∑ ∑ = = = − + − M r r N k k y n a y n k b x n r 1 0 ( ) ( ) ( )表示的线性时不变 系统其系统函数为: ∑ ∑ = − = − − = = N k k k M r r r a z b z X z Y z H z 1 0 1 ( ) ( ) ( ) (3-1) 式(3-1)为两个关于 −1 z 的多项式之比,即 H(z)为有理分式。 将式(3-1)表小数部分分式的形式 ∑ ∑ = − = − − + − = N k M N k k k k k C z p z R H z 1 0 1 1 ( ) 则可以根据所熟悉的常见序列的 z 变换形式求得 H(z)的 z 反变换,从而得到系统冲激响 应函数 h(n)。 MATLAB 提供了一个内部函数 residuez( )来计算有理多项式的留数和直接项, residuez( )函数有几种调用方式:①[R,p,C]=residuez(b,a)。在已知以分子行向量 b 和分母行向量 a 下,得到列向量 R 含有留数,列向量 P 是极点位置,行向量 C 包含直接项; ②[b,a]=residuez(R,p,C),将部分分式展开式转换到分子行向量 b 和分母行向量 a。 MATLAB 还提供了一个内部函数 impz(b,a,N),在已知分子行向量 b 和分母行向量 a 下,计算 N 点的单位采样 h(n)。 实验任务 1:求系统的单位采样响应 求系统 1 2 3 4 1 2 3 4 1 3.0544 3.8291 2.2925 0.55075 0.001836 0.007344 0.0011016 0.007374 0.001836 ( ) − − − − − − − − − + − + + + + + = z z z z z z z z H z 的单位采样响应 h(n)。 解:由上述基本原理和 MATLAB 提供的函数,编写程序可得到所求系统的冲激响应 h(n)。 % h(n)求解 b=[0.001836,0.007344,0.011016,0.007374,0.001836];