用matlab绘制差分方程Z变换Word文件下载.docx
- 文档编号:17705803
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:19
- 大小:172.56KB
用matlab绘制差分方程Z变换Word文件下载.docx
《用matlab绘制差分方程Z变换Word文件下载.docx》由会员分享,可在线阅读,更多相关《用matlab绘制差分方程Z变换Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
运算结果
F
(2)
f=n^4;
%定义离散信号
F=ztrans(f)%Z变换
pretty(F)
(3)
symsabn
f=sin(a*n+b)%定义离散信号
实验项目二Z反变换
(1)
Z反变换
symskz
Fz=2*z/(z-2)^2;
%定义Z反变换表达式
fk=iztrans(Fz,k)%Z反变换
pretty(fk);
Fz=z*(z-1)/(z^2+2*z+1);
f
(3)
symskzw
Fz=(1+z^(-1))/(1-2*z^-1*cos(w)+z^-2);
实验项目三各种模型之间的变换
=
(1)clearall;
b=[00100];
%分子的系数数组
a=[1-58-4];
%分母的系数数组
zplane(b,a)%使用zplane函数绘制如下系统的零极点分布图
(2)clearall;
%分子的系数数组
[r,p,c]=residuez(b,a)%使用matlab中的residuez函数,将
分解成为多个简单有理分式之和
r=
-15.0000
5.0000
10.0000
p=
2.0000
1.0000
c=
0
(3)clearall;
[z,p,k]=tf2zp(b,a)%使用tf2zp求出系统函数的零、极点和增益
z=
k=
10
(4)clearall;
z=[1;
-3];
%零点,列向量
p=[2;
-4];
%极点,列向量
k=5;
%增益
[b,a]=zp2tf(z,p,k)%根据求出的零、极点和增益,然后自学使用zp2tf还原出分子和分母的系数
(5)clearall;
[sos,g]=tf2sos(b,a)%使用tf2sos将系统函数分解成一系列二阶子系统的级联形式
sos=
01.000001.0000-2.00000
01.000001.0000-3.00002.0000
g=
10
(6)clearall;
sos=[01.000001.0000-2.00000;
01.000001.0000-3.00002.0000];
g=10;
%增益
[b,a]=sos2tf(sos,g)%根据求出的一系列二阶子系统,使用sos2tf还原出
分子和分母的系数
b=
00100
a=
1-58-4
(7)clearall;
n=(0:
500)*pi/500;
%在pi范围内取501个采样点
[h,w]=freqz(b,a,n);
%求系统的频率响应
subplot(2,1,1),plot(n/pi,abs(h));
grid%作系统的幅度频响图
axis([0,1,1.1*min(abs(h)),1.1*max(abs(h))]);
ylabel(‘幅度’);
subplot(2,1,2),plot(n/pi,angle(h));
grid%作系统的相位频响图
axis([0,1,1.1*min(angle(h)),1.1*max(angle(h))]);
ylabel(‘相位’);
xlabel(‘以pi为单位的频率’);
运行结果
b=[0111];
a=[1222];
[r,p,k]=residuez(b,a)%使用matlab中的residuez函数,将
-0.4006
-0.0497-0.1609i
-0.0497+0.1609i
-1.5437
-0.2282+1.1151i
-0.2282-1.1151i
0.5000
[z,p,k]=tf2zp(b,a)%使用tf2zp求出系统函数的零、极点和增益
-0.5000+0.8660i
-0.5000-0.8660i
1
z=[-0.5000+0.8660i
-0.5000-0.8660i];
p=[-1.5437
-0.2282-1.1151i];
k=1;
[b,a]=zp2tf(z,p,k)%根据求出的零、极点和增益,使用zp2tf还原出
01.00001.00001.0000
1.00002.00012.00011.9999
[sos,g]=tf2sos(b,a)%使用tf2sos将系统函数分解成一系列二阶子系统的级联形式
01.000001.00001.54370
1.00001.00001.00001.00000.45631.2956
sos=[01.000001.00001.54370;
1.00001.00001.00001.00000.45631.2956];
g=1;
[b,a]=sos2tf(sos,g)%根据求出的一系列二阶子系统,自学使用sos2tf还原出
0111
1.00002.00002.00002.0000
(7)clearall;
ylabel('
幅度'
);
相位'
xlabel('
以pi为单位的频率'
实验项目四根据零极点分布图估计系统的滤波特性。
b=[1111];
a=[4000];
subplot(3,1,1);
zplane(b,a);
%画零极点图
num=[1111];
den=[4000];
[H,w]=freqz(num,den)%求出频率响应
subplot(3,1,3);
plot(w,abs(H))
频率(Hz)'
title('
幅频特性'
)%画出幅度频率响应
运算结果:
由零极点分布及幅频特性可知,本系统为带阻
b=[1-0.10];
a=[1-0.20.65];
num=[1-0.10];
den=[1-0.20.65];
由零极点分布及幅频特性可知,本系统为带通
b=[1-0.1];
a=[1-0.2];
num=[1-0.1];
den=[1-0.2];
由零极点分布及幅频特性可知,本系统为低通
(三)实验小结与讨论
本实验项目通过使用ztrans,iztrans函数分别求出离散时间信号的Z变换和Z反变换的结果,并用pretty函数进行结果美化。
复习MATLAB的基本应用,使用tf2zp,zp2tf对离散时间信号的传递函数,零极点增益之间进行转换,使用sos2tf,tf2sos函数进行传递函数与二次项式之间的转换,以及使用zplane函数画出相关系统的零极点分布图,根据零极点的分布情况估计系统的滤波特性。
虽然这些函数都是第一次接触,但是都能通过MATLAB中的help了解相关函数的使用方法,本实验项目需要注意的地方有:
(1)用syms把一些字符定义成基本的字符对象,如离散信号的变量n,和一些系数等等,不然运行不出来,这是我遇到的第一个问题,最后用syms定义之后顺利通过.
(2)在知道增益,零极点的情况下求系统分子分母的系数出现了问题
例子clearall;
我将z=[1,-3];
%零点,p=[2,-4];
%极点写成了行向量,结果出错,在将零极点都改为列向量z=[1;
%零点,p=[2;
%极点,或者
z=[1
p=[2
-4];
之后,实验顺利通过.
(3)我遇到的第三个问题是不会通过零极点的分布估计滤波特性,于是我将幅频特性画出
从图上的幅频特性可以很好的看出该系统的滤波特性,实验醒目顺利通过.
(4)个人心得
每次做实验,我都不是一下子就成功的,但是我都从失败的例子中汲取经验,从新再来,最终完成目标,失败不可怕,可怕的是不想面对它.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 绘制 方程 变换