实验4Z变换和系统频域特性的MATLAB实现.docx

上传人:b****8 文档编号:9041770 上传时间:2023-02-02 格式:DOCX 页数:12 大小:114.97KB
下载 相关 举报
实验4Z变换和系统频域特性的MATLAB实现.docx_第1页
第1页 / 共12页
实验4Z变换和系统频域特性的MATLAB实现.docx_第2页
第2页 / 共12页
实验4Z变换和系统频域特性的MATLAB实现.docx_第3页
第3页 / 共12页
实验4Z变换和系统频域特性的MATLAB实现.docx_第4页
第4页 / 共12页
实验4Z变换和系统频域特性的MATLAB实现.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

实验4Z变换和系统频域特性的MATLAB实现.docx

《实验4Z变换和系统频域特性的MATLAB实现.docx》由会员分享,可在线阅读,更多相关《实验4Z变换和系统频域特性的MATLAB实现.docx(12页珍藏版)》请在冰豆网上搜索。

实验4Z变换和系统频域特性的MATLAB实现.docx

实验4Z变换和系统频域特性的MATLAB实现

小实验4Z变换和系统频域特性的MATLAB实现

1.实验目的

学习通过Z变换来分析离散系统的频率响应,并用MATLAB实现。

加深对系统的零、极点分布概念的理解。

2.实例分析

2.1通过Z变换分析求解系统的冲激响应

已知用线性常系数差分方程:

表示的线性时不变系统其系统函数为:

(3-1)

上式为两个关于

的多项式之比,即

为有理分式。

同时,式可以表示成部分分式的形式:

则可以通过所熟悉的常见序列的Z变换形式求得

的Z反变换,从而求得系统的冲激响应函数

MATLAB提供了一个内部函数residuez(),来计算有理多项式的留数和直接项,residuez()函数有几种调用方式:

(1)[R,p,C]=residuez(b,a),在已知以分子行向量b和分母行向量a下,得到列向量R含有留数,列向量p是极点位置,行向量C包含直接项;

(2)[b,a]=residuez(R,p,C),将部分分式展开式转换到分子行向量b和分母行向量a.

MATLAB还提供了一个内部函数impz(b,a,N),在已知分子行向量b和分母行向量a下,计算N点的单位冲激响应

例3.1求系统:

的单位冲激响应

解:

由上述基本原理和MATLAB提供的函数,将下列指令编辑到“exe3impz.m”文件中,可以得到所求系统的冲激响应

%exe3impz.mh(n)求解

b=[0.001836,0.007344,0.011016,0.007374,0.001836];

a=[1,-3.0544,3.8291,-2.2925,0.55075];

[h,n]=impz(b,a,40);

stem(n,h,'.');ylabel('h[n]');gridon

运行“exe3impz.m”文件将产生如图3-1所示的序列。

图4-1系统冲激响应

例3.2求

的Z反变换。

解:

由上述基本原理和MATLAB提供的函数,将下列指令编辑到“exe3zinver.m”文件中,来求Z反变换。

%exe3zinver.mz反变换求解

b=[0,1,0];

a=[3,-4,1];

[R,p,C]=residuez(b,a)

[b,a]=residuez(R,p,C)

运行结果如下:

R=

0.5000

-0.5000

p=

1.0000

0.3333

C=

0

b=

-0.00000.33330

a=

1.0000-1.33330.3333

因此得到因式分解后的

,所以Z反变换的结果为

2.2通过Z变换分析离散系统的频率响应和零、极点分布

将式(3-1)表示的

的分子、分母进行因式分解,可采用根的形式表示多项式,即

其中,

为分子多项式的根,称为系统函数的零点,

为分母多项式的根,称为系统函数的极点,A为比例。

这样系统函数就表示成了零极点的形式,零极点在Z平面的位置刻画了系统很重要的特性,可以通过系统函数零极点位置估算出系统函数的频率响应,进而判断系统的滤波特性,这是一种非常实用的方法,也称为频率响应的几何确定法。

根据频率响应的定义,将

代入上式,系统频率响应为:

MATLAB提供了一个内部函数zplane(b,a),在已知系统函数的分子行向量b和分母行向量a下,画出极点和零点。

MATLAB还提供了一个内部函数freqz()来求系统的频率响应,freqz()函数有几种调用方式:

(1)[H,w]=freqz(b,a,N),在已知分子行向量b和分母行向量a情况下得到N点的频率向量w和N点的系统复频率响应向量H,频率响应在单位圆的上半圆的N个等分点上求值;

(2)[H,w]=freqz(b,a,N,’whole’),在已知分子行向量b和分母行向量a情况下得到N点的频率向量w和N点的系统复频率响应向量H,频率响应用环绕整个单位圆的N个等分点求值;

(3)H=freqz(b,a,w),在已知分子行向量b和分母行向量a情况下得到在频率向量w上的频率响应向量H。

例3.3画出因果系统

的零极点图和频率响应曲线,并求出脉冲响应

解:

由上述的基本原理和MATLAB提供的函数,将下列指令编辑到“exe3freqz.m”文件中,即可求得系统的零极点图和频率响应。

%exe3freqz.m系统求解

b=[1,0];

a=[1,-0.9];

subplot(2,2,1);zplane(b,a);

[H,w]=freqz(b,a,100);

magH=abs(H);

phaH=angle(H);

subplot(2,2,3);plot(w/pi,magH);gridon

xlabel('FrequencyinPiuints');

ylabel('Magnitude');

title('Magnituderesponse');

subplot(2,2,4);plot(w/pi,phaH/pi);

xlabel('FrequencyinPiuints');

ylabel('Phase');

title('Phaseresponse');

[h,n]=impz(b,a,40);

subplot(2,2,2);stem(n,h,'.');ylabel('h[n]');gridon

运行“exe3freqz.m”文件将产生如图3-2所示的序列。

图4-2系统零极点及频率响应

例3.4定性画出

的零极点图和频率响应曲线。

解:

由上述基本原理和MATLAB提供的函数,将下列指令编辑到“exe3freqz2.m”文件中,即可求得系统的零极点图和频率响应。

%exe3freqz2.m系统求解

N=8;

b=[1,0,0,0,0,0,0,0,-1];

a=[1,0,0,0,0,0,0,0,0];

subplot(2,1,1);

zplane(b,a);

title('零点-极点图');

[H,w]=freqz(b,a,100);

magH=abs(H);

phaH=angle(H);

subplot(2,2,3);plot(w/pi,magH);gridon

xlabel('FrequencyinPiuints');

ylabel('Magnitude');

title('Magnituderesponse');

subplot(2,2,4);plot(w/pi,phaH/pi);

xlabel('FrequencyinPiuints');

ylabel('Phase');

title('Phaseresponse');

运行“exe3freqz2.m”文件将产生如图3-3所示的序列。

图4-3零极点及频率响应图

2.3由

求解零极点及由零极点得到

的表达式

例3.5已知系统函数

有5个零点,一个在

,另外4个是

及其共轭与镜像,求

的系数并进行验证。

解:

MATLAB提供了一个内部函数tf2zp(),来求

的零极点和增益;提供了一个内部函数zp2tf(),在零极点已知时求

的系数;提供了一个内部函数roots(),来求一个多项式的根;提供了一个内部函数poly(),由给定的根求出相应多项式的系数。

因此,将下列指令编辑到“exe2zphz.m”文件中,可求解和验证。

%exe3zphz.m零极点与系统函数的转换

B=poly([0.5*exp(j*pi/3),0.5*exp(-j*pi/3),2*exp(j*pi/3),2*exp(-j*pi/3),0.8]);

L=length(B);

A=zeros(1,L);A

(1)=1;

[Z,P,K]=tf2zp(B,A);

sort(Z)

[b,a]=zp2tf(Z,P,K)

Z1=roots(B)

运行“exe3zphz.m”文件结果如下,可自行比较验证。

ans=

0.2500-0.4330i

0.2500+0.4330i

0.8000

1.0000-1.7321i

1.0000+1.7321i

b=

1.0000-3.30007.2500-6.70003.0000-0.8000

a=

100000

Z1=

1.0000+1.7321i

1.0000-1.7321i

0.8000

0.2500+0.4330i

0.2500-0.4330i

3.实验内容

3.1求系统

的零极点和频率响应。

b=[0.0528,0.0797,0.1295,0.1295,0.797,0.0528];

a=[1,-1.8107,2.494,-1.8801,0.9537,-0.2336];

subplot(2,2,1);zplane(b,a);

[H,w]=freqz(b,a,1000);

magH=abs(H);

phaH=angle(H);

subplot(2,2,3);plot(w/pi,magH);gridon

xlabel('FrequencyinPiuints');

ylabel('Magnitude');

title('Magnituderesponse');

subplot(2,2,4);plot(w/pi,phaH/pi);

xlabel('FrequencyinPiuints');

ylabel('Phase');

title('Phaseresponse');

[h,n]=impz(b,a,40);

subplot(2,2,2);stem(n,h,'.');ylabel('h[n]');gridon

3.2求出矩形序列

的零极点和频率响应。

3.3已知离散系统差分方程为:

求其Z变换,画出零极点图,并判断系统的稳定性。

b=[1,-0.5,0];

a=[1,0.75,0.125];

subplot(2,2,1);zplane(b,a);

[H,w]=freqz(b,a,100);

magH=abs(H);

phaH=angle(H);

极点在单位圆内,所以系统是稳定的

4.思考题

试从理论上计算分析例子3.4的零极点分布和幅频响应,并把结果同MATLAB程序运行结果对比。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学案例设计

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1