matlab离散系统差分求全响应,离散系统的Z域分析.doc

HUNAN UNIVERSITY

题 目 : 离散系统的Z 域分析

学 生 姓 名 :

学 生 学 号 :

专 业 班 级 :

指 导 老 师 :

完 成 日 期 : 2014/12/28

实验八 离散系统的Z 域分析

实验目的:

(1)、学习和掌握用MATLAB 的符号运算法求z 变换及z 反变换的方法,以及z 变换的部分

分式展开法,加深对z 变换的理解;

(2)、理解和掌握离散时间系统的系统函数的概念,掌握用z 变换求解差分方程的方法,加

深对零输入响应和零状态响应的理解;

(3)、学习并掌握用MATLAB 绘制离散时间系统零极点分布图的方法,加深系统零极点分布

对时域响应影响的理解,建立系统稳定性的概念;

(4)、掌握用MATLAB 计算离散系统响应的方法,包括单位样值响应,零输入响应、零状态

响应和全响应;

(5)、掌握系统零极点分布与频率响应的关系,掌握用MATLAB 研究系统频率响应的方法。

实验内容:

1、 用符号法求下列序列的z 变换。

figure;

syms k;

f=(k-3).*heaviside(k);

g=ztrans(f);

ezplot(g);

syms k;

f=exp(2*k).*heaviside(k);

g=ztrans(f);

ezplot(g);

2、 用符号法求下列z 变换的逆变换。

>> syms z;

f=1/((z+1)^2);

g=iztrans(f)

g =

kroneckerDelta(n, 0) + (-1)^n*(n - 1)

>> syms z;

f=(2*z*(z+2))/((z-2)^3);

g=iztrans(f)

g =

2*2^n*nchoosek(n - 1, 2) + 2^n + 3*2^n*(n - 1)

用 z 变换法分别求系统零输入响应、零状态响应和全响应。

clear all;close all;

num=[1 3 0]; %系统函数分子的系数

den=[1 3 2]; %系统函数分母的系数

n=0:30;

nl=length(n);

%求零输入响应

y01=[1 3]; %y的初始状态

x01=[0 0]; %x 的初始状态

x1=zeros(1,nl);

zi1=filtic(num,den,y01,x01); %为filter函数准备初始值

y1=filter(num,den,x1,zi1); %求零输入响应

figure;

stem(n,y1,r.);

title(零输入响应);

grid on;

%求零状态响应

y02=[0 0];

x02=[0 0];

x2=heaviside(n);

zi2=filtic(num,den,y02,x02);

y2=filter(num,den,x2,zi2);

figure;

stem(n,y2,r.);

title(零状态响应);

grid on;

%求全响应

y03=[1 3];

x03=[0 0];

x3=heaviside(n);

zi3=filtic(num,den,y03,x03);

y3=filter(num,den,x1,zi3);

figure;

stem(n,y3,r.);

title(全响应);

grid on;

6、用 MATLAB 绘制出下列系统函数的零极点图,判断系统的稳定性。

代码:

figure(3);

a=[0 1 0 2 0];

b=[4 3 2 2 1];

zplane(a,b);

运行截图:

8、绘制下列系统函数的幅频响应和相频响应特性曲线,判断系统的滤波性能。

代码:

%8.1

figure(4);

B=[1 -0.5];

A =[1 0];

H,w]=freqz(B,A,400,whole);

Hf=abs(H);

Hx=angle(H);

subplot(121)

plot(w,Hf)

title(离散系统幅频特性曲线)

subplot(122)

plot(w,Hx)

title(离散系统相频特性曲线)

运行截图:

10、求下列差分方程的数值解,并绘制输入与响应的波形图。

代码:

figure(5);

f=zeros(1,30);

f(1)=2;

f(2)=1;

for n=3:1:30

f(n)=1.5*f(n-1)-f(n-2)+3*(n>=2);

end;

k=-2:1:27;

stem(k,f);

运行截图:

实验总结:

matlab提供的进行Z变换的函数指令。

涉及Z反变换具体计算的方法有三种:幂级数展开法、部分分式展开发和围线积分法。这里我们就介绍一种MATLAB中的SymbolicToolbox提供的基于围线积分法求取Z变换的指令:ztrans和iztrans。其具体调用语法和功能如下图所示。

FZ=ztrans(fn,n,z) %求时域序列fn的Z变换FZ;

fz=iztrans(FZ,z,n) %求频域序列FZ的Z反变换fn。

求解差分方程:

filtic函数(为filter函数提供初始化的值)

filtic

Initial conditions for transposed direct-form II filter implementation

Syntax

z=filtic(b,a,y,x)

z=filtic(b,a,y)

Description

z=filtic(b,a,y,x)finds the initial conditions,z, for the delays in thetransposed direct-form IIfilter implementation given past outputsyand inputsx. The vectorsbandarepresent the numerator and denominator coefficients, respectively, of the filters transfer function.

filter

Syntax

y = filter(b,a,x)

y = filter(b,a,x,zi)

y = filter(b,a,x,zi,dim)

[y,zf] = filter(___)

Description

y= filter(b,a,x)filters the input data,x, using arational transfer functiondefined by the numerator and denominator coefficientsbanda, respectively.

Ifa(1)is not equal to1, thenfilternormalizes the filter coefficients bya(1). Therefore,a(1)must be nonzero.

Ifxis a vector, thenfilterreturns the filtered data as a vector of the same size asx.

Ifxis a matrix, thenfilteracts along the first dimension and returns the filtered data for each column.

Ifxis a multidimensional array, thenfilteracts along the first array dimension whose size does not equal 1.

y= filter(b,a,x,zi)uses initial conditions,zi, for the filter delays. The length ofzimust equalmax(length(a),length(b))-1.

展开阅读全文

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值