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

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

2、例子

3、Z变换的MATLAB函数

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

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

%求H(z)=(z^3+2z)/(z^4+3(z^3)+2(z^2)+2z+1)的零极点及其分布图
%求H(z)=(1+z^(-1))/(1+z^-1/2+z^-2/4+1)的零极点及其分布图
%采用roots和plot函数
clear all
%(1)
b=[1,0,2,0];
a=[1,3,2,2,1];
zs1=roots(b);
ps1=roots(a);
figure(1)
subplot(2,1,1);plot(real(zs1),imag(zs1),'o',real(ps1),imag(ps1),'kx','markersize',12);
axis([-2,2,-2,2]);grid on;
legend('零点','极点')
%(2)
c=[1,1,0];
d=[1,1/2,1/4];
zs2=roots(c);
ps2=roots(d);
subplot(2,1,2);
plot(real(zs2),imag(zs2),'o',real(ps2),imag(ps2),'kx','markersize',12);
axis([-2,2,-2,2]);grid on;legend('零点','极点') %采用tf2zp和zplane函数
%(1)
b=[1,0,2,0];
a=[1,3,2,2,1];
figure(2)
[z,p]=tf2zp(b,a)
subplot(2,1,1),zplane(z,p)
%(2)
c=[1,1,0];
d=[1,1/2,1/4];
[z,p]=tf2zp(c,d)
subplot(2,1,2),zplane(z,p)

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

clear all
a=[1 -2*0.8*cos(pi/4) 0.8^2];
b=[1];
[z,p,k]=tf2zp(b,a);
figure(1)
subplot(2,1,1),zplane(z,p);
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’)

%例7
clear all;
b=[5/4 -5/4];
a=[1 -1/4];
[h,w]=freqz(b,a,400,'whole');
hf=abs(h);
hx=angle(h);
figure(1),clf;
subplot(2,1,1),plot(w,hf),title('幅频特性曲线'),grid on;
subplot(2,1,2),plot(w,hx),title('相频特性曲线'),grid on;
figure(2)
freqz(b,a,'whole')
%
[z,p]=tf2zp(b,a);
r=2;
k=200;
w=0:1*pi/k:r*pi;
y=exp(i*w); %定义单位圆上的k个频率等分点
N=length(p); %求极点个数
M=length(z); %求零点个数
yp=ones(N,1)*y; %定义行数为极点个数的单位圆向量
yz=ones(M,1)*y; %定义行数为零点个数的单位圆向量
vp=yp-p*ones(1,r*k+1); %定义极点到单位圆上各点的向量
vz=yz-z*ones(1,r*k+1); %定义零点到单位圆上各点的向量
Ai=abs(vp); %求出极点到单位圆上各点的向量的模
Bj=abs(vz); %求出零点到单位圆上各点的向量的模
Ci=angle(vp); %求出极点到单位圆上各点的向量的相角
Dj=angle(vz); %求出零点到单位圆上各点的向量的相角
fai=sum(Dj,1)-sum(Ci,1); %求系统相频响应
H=prod(Bj,1)./prod(Ai,1); %求系统幅频响应
figure(3)
subplot(2,1,1),plot(w,H);title('离散系统幅频特性曲线'),xlabel('角频率'),ylabel('幅度')
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. 理解javascript中的策略模式

    理解javascript中的策略模式 策略模式的定义是:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换. 使用策略模式的优点如下: 优点:1. 策略模式利用组合,委托等技术和思想,有效 ...

  2. HDU 2204 Eddy's爱好(容斥原理)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2204 解题报告:输入一个n让你求出[1,n]范围内有多少个数可以表示成形如m^k的样子. 不详细说了, ...

  3. [Effective JavaScript 笔记]第36条:只将实例状态存储在实例对象中

    理解原型对象与其实例之间是一对多的关系,对于实现正确的对象行为很重要.常见的错误是不小心将每个实例的数据存储到了其原型中. 示例 一个实现了树型数据结构的类可能将子节点存储在数组中. 实例状态在原型中 ...

  4. 响应式Web设计(Responsive Web design)

    中文名 响应式Web设计 提出时间 2010年5月 英    文 Responsive Web design 解    释 一个网站能够兼容多个终端 目    的 解决移动互联网的浏览 优    点 ...

  5. Python字符串与数字互转,数字格式化

    # -*- coding: gbk -*- import re #将数字格式化为带三位数逗号的字符串 def formatNumber(number): numStr='%d'%number form ...

  6. nginx lua处理图片

    user apache apache; worker_processes 4; worker_rlimit_nofile 100000; #error_log logs/error.log; #err ...

  7. tar: Removing leading `/’ from member names

    tar: Removing leading `/’ from member names+2 分类:Web服务器 标签:tar 3,910人浏览   这并不是一个错误,而是一个警告,原因很简单,就是你在 ...

  8. linux里的vi怎么移动到最后一行

    下面是几个vi与行移动有关的命令: G:光标移至最后一行 nG:光标移至第n行首 n+:光标下移n行 n-:光标上移n行 注意输入命令,需要首先按ESC键回到命令模式. 转自: http://zhid ...

  9. SQL Server游标的使用

    转: http://www.cnblogs.com/moss_tan_jun/archive/2011/11/26/2263988.html 游标是邪恶的! 在关系数据库中,我们对于查询的思考是面向集 ...

  10. eclipse加速之禁用JS、jsp等文件的语法验证,eclipsejs

    eclipse加速之禁用JS.jsp等文件的语法验证 去除eclipse的JS验证:将windows->preference->Java Script->Validator-> ...