一、系统的z变换和反变换

1、利用部分分式展开求解逆Z变换:

2、例子

3、Z变换的MATLAB函数

  1. clear all
  2. f=sym('cos(a*k)');
  3. F=ztrans(f)
  4. F=sym('z^2/((1+z)*(z-2))');
  5. f=iztrans(F)

二、系统的零极点分布及其稳定性

  1. %求H(z)=(z^3+2z)/(z^4+3(z^3)+2(z^2)+2z+1)的零极点及其分布图
  2. %求H(z)=(1+z^(-1))/(1+z^-1/2+z^-2/4+1)的零极点及其分布图
  3. %采用rootsplot函数
  4. clear all
  5. %(1)
  6. b=[1,0,2,0];
  7. a=[1,3,2,2,1];
  8. zs1=roots(b);
  9. ps1=roots(a);
  10. figure(1)
  11. subplot(2,1,1);plot(real(zs1),imag(zs1),'o',real(ps1),imag(ps1),'kx','markersize',12);
  12. axis([-2,2,-2,2]);grid on;
  13. legend('零点','极点')
  14. %(2)
  15. c=[1,1,0];
  16. d=[1,1/2,1/4];
  17. zs2=roots(c);
  18. ps2=roots(d);
  19. subplot(2,1,2);
  20. plot(real(zs2),imag(zs2),'o',real(ps2),imag(ps2),'kx','markersize',12);
  21. axis([-2,2,-2,2]);grid on;legend('零点','极点')
  22.  
  23. %采用tf2zpzplane函数
  24. %(1)
  25. b=[1,0,2,0];
  26. a=[1,3,2,2,1];
  27. figure(2)
  28. [z,p]=tf2zp(b,a)
  29. subplot(2,1,1),zplane(z,p)
  30. %(2)
  31. c=[1,1,0];
  32. d=[1,1/2,1/4];
  33. [z,p]=tf2zp(c,d)
  34. subplot(2,1,2),zplane(z,p)

三、系统的零极点分布与系统冲激响应时域特性

  1. clear all
  2. a=[1 -2*0.8*cos(pi/4) 0.8^2];
  3. b=[1];
  4. [z,p,k]=tf2zp(b,a);
  5. figure(1)
  6. subplot(2,1,1),zplane(z,p);
  7. subplot(2,1,2),impz(b,a,20)

四、离散系统的频率响应

MATLAB提供了专门对离散系统频率响应H(jw)进行分析的函数freqz(),该函数可以求出系统频率响应的数值解,并可绘出系统的幅频和相频响应曲线。

[H,w]=freqz(b,a,N)

[H,w]=freqz(b,a,N,’whole’)

freqz(b,a,N)

freqz(b,a,N,’whole’)

  1. %例7
  2. clear all;
  3. b=[5/4 -5/4];
  4. a=[1 -1/4];
  5. [h,w]=freqz(b,a,400,'whole');
  6. hf=abs(h);
  7. hx=angle(h);
  8. figure(1),clf;
  9. subplot(2,1,1),plot(w,hf),title('幅频特性曲线'),grid on;
  10. subplot(2,1,2),plot(w,hx),title('相频特性曲线'),grid on;
  11. figure(2)
  12. freqz(b,a,'whole')
  13. %
  14. [z,p]=tf2zp(b,a);
  15. r=2;
  16. k=200;
  17. w=0:1*pi/k:r*pi;
  18. y=exp(i*w); %定义单位圆上的k个频率等分点
  19. N=length(p); %求极点个数
  20. M=length(z); %求零点个数
  21. yp=ones(N,1)*y; %定义行数为极点个数的单位圆向量
  22. yz=ones(M,1)*y; %定义行数为零点个数的单位圆向量
  23. vp=yp-p*ones(1,r*k+1); %定义极点到单位圆上各点的向量
  24. vz=yz-z*ones(1,r*k+1); %定义零点到单位圆上各点的向量
  25. Ai=abs(vp); %求出极点到单位圆上各点的向量的模
  26. Bj=abs(vz); %求出零点到单位圆上各点的向量的模
  27. Ci=angle(vp); %求出极点到单位圆上各点的向量的相角
  28. Dj=angle(vz); %求出零点到单位圆上各点的向量的相角
  29. fai=sum(Dj,1)-sum(Ci,1); %求系统相频响应
  30. H=prod(Bj,1)./prod(Ai,1); %求系统幅频响应
  31. figure(3)
  32. subplot(2,1,1),plot(w,H);title('离散系统幅频特性曲线'),xlabel('角频率'),ylabel('幅度')
  33. subplot(2,1,2),plot(w,fai);title('离散系统的相频特性曲线'),xlabel('角频率'),ylabel('相位')

MATLAB信号与系统分析(四)——离散信号与系统的复频域分析及MATLAB实现的更多相关文章

  1. MATLAB信号与系统分析(三)——连续信号与系统的复频域分析及MATLAB实现

    一.系统的拉普拉斯变换和反变换 1.MATLAB函数 F=laplace(f) %求拉氏变换 f=ilaplace(F) %求拉氏反变换 2.例子 clear all;clc;close all f= ...

  2. MATLAB信号与系统分析(二)——离散时间信号与系统的时域分析

    一.离散信号的表示 1.一个离散信号需要用两个向量来表示: (1)离散信号的幅值 (2)离散信号的位置信息 2.用MATLAB实现离散信号的可视化 (1)不能利用符号运算来表示 (2)绘制离散信号一般 ...

  3. MATLAB信号与系统分析(一)——连续时间信号与系统的时域分析

    一.连续时间信号的表示: 1.向量表示法: 在MATLAB中,是用连续信号在等时间间隔点的样值来近似表示连续信号,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号. 对于连续时间信号f( ...

  4. 我的QT5学习之路(四)——信号槽

    一.前言 前面说了Qt最基本的实例创建.控件以及工具集的介绍,相当于对于Qt有了一个初次的认识,这次我们开始认识Qt信号通信的重点之一——信号槽. 二.信号槽 信号槽是 Qt 框架引以为豪的机制之一. ...

  5. 信号与系统实验序章0——MATLAB基础命令入门

    本次开启新的系列,关于用Matlab实现常见信号和函数的生成和变换. 同时如果没有MATLAB基础,那么可以跟着本文一步一步学习Matlab的相关操作,本文旨在记录在信号与系统课程中MATLAB的学习 ...

  6. MATLAB仿真中连续和离散的控制器有何区别?

    matlab系统同时提供连续和离散的控制器和对象的目的是:在降低用户使用复杂程度的同时提高仿真精度.仿真速度和应用的广泛性. 仿真步长和求解精度的概念对于理解这个问题至关重要. 首先是步长,步长和求解 ...

  7. linux系统编程之信号(六):信号发送函数sigqueue和信号安装函数sigaction

    一,sigaction() #include <signal.h> int sigaction(int signum,const struct sigaction *act,struct ...

  8. linux系统编程之信号(三):信号安装、signal、kill,arise讲解

    一,信号安装 如果进程要处理某一信号,那么就要在进程中安装该信号.安装信号主要用来确定信号值及进程针对该信号值的动作之间的映射关系,即进程将要处理哪个信号:该信号被传递给进程时,将执行何种操作. li ...

  9. linux系统编程之信号:信号发送函数sigqueue和信号安装函数sigaction

    信号发送函数sigqueue和信号安装函数sigaction sigaction函数用于改变进程接收到特定信号后的行为. sigqueue()是比较新的发送信号系统调用,主要是针对实时信号提出的(当然 ...

随机推荐

  1. mybatis 使用resultMap实现数据库的操作

    resultType:直接表示返回类型 resultMap:对外部resultMap的引用 二者不能同时使用 创建一个实体类Role和User public class Role { private ...

  2. Android-深入理解android自定义属性(AttributeSet,TypedArray)

    属性 自定义属性,首先要定义出来属性,我们新建一个attrs.xml: <?xml version="1.0" encoding="utf-8"?> ...

  3. Servlet的生命周期及filter,servletRequest和servletResponse

    序,Web应用中,Servlet和Filter是很重要的两个概念,一定要理解透彻. 一.Servlet类 继承自HttpServlet,HttpServlet是一个抽象类,主要包含的方法有init,s ...

  4. NOIP2011 聪明的质监员

    描述 小T 是一名质量监督员,最近负责检验一批矿产的质量.这批矿产共有 n 个矿石,从 1到n 逐一编号,每个矿石都有自己的重量 wi 以及价值vi .检验矿产的流程是: 1 .给定m 个区间[Li  ...

  5. python学习之操作mysql

    欢迎点击个人博客 http://www.iwangzheng.com/ 刚开始学python,所以很多代码都需要在ipython里尝试一下.今天记录的是最基本的操作mysql数据库. 写数据库连接操作 ...

  6. arch linux 新版安装(转)

    原文地址:http://blog.sina.com.cn/s/blog_69e5d8400101bqlj.html 正式安装: 以下,是安装的具体步骤,我将做尽可能详细的解说: 一.基本系统的安装 进 ...

  7. poj1094 拓扑 Sorting It All Out

    Sorting It All Out Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 29744   Accepted: 10 ...

  8. hrb 2134 素数

    分拆素数和 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 176(99 users) Total Accepted: 106(93 u ...

  9. python-twisted

    环境:win7 64位,python 2.7.3 安装: http://twistedmatrix.com/Releases/Twisted/14.0/Twisted-14.0.0.win-amd64 ...

  10. Android ViewPager轮播图

    Android客户端开发中很多时候需要用到轮播图的方式进行重点新闻的推送或者欢迎页面的制作,下面这个轮播图效果的Deamo来自互联网再经过修改而成. 1.布局文件activity_main.xml中添 ...