MATLAB信号与系统分析(四)——离散信号与系统的复频域分析及MATLAB实现
一、系统的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实现的更多相关文章
- MATLAB信号与系统分析(三)——连续信号与系统的复频域分析及MATLAB实现
一.系统的拉普拉斯变换和反变换 1.MATLAB函数 F=laplace(f) %求拉氏变换 f=ilaplace(F) %求拉氏反变换 2.例子 clear all;clc;close all f= ...
- MATLAB信号与系统分析(二)——离散时间信号与系统的时域分析
一.离散信号的表示 1.一个离散信号需要用两个向量来表示: (1)离散信号的幅值 (2)离散信号的位置信息 2.用MATLAB实现离散信号的可视化 (1)不能利用符号运算来表示 (2)绘制离散信号一般 ...
- MATLAB信号与系统分析(一)——连续时间信号与系统的时域分析
一.连续时间信号的表示: 1.向量表示法: 在MATLAB中,是用连续信号在等时间间隔点的样值来近似表示连续信号,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号. 对于连续时间信号f( ...
- 我的QT5学习之路(四)——信号槽
一.前言 前面说了Qt最基本的实例创建.控件以及工具集的介绍,相当于对于Qt有了一个初次的认识,这次我们开始认识Qt信号通信的重点之一——信号槽. 二.信号槽 信号槽是 Qt 框架引以为豪的机制之一. ...
- 信号与系统实验序章0——MATLAB基础命令入门
本次开启新的系列,关于用Matlab实现常见信号和函数的生成和变换. 同时如果没有MATLAB基础,那么可以跟着本文一步一步学习Matlab的相关操作,本文旨在记录在信号与系统课程中MATLAB的学习 ...
- MATLAB仿真中连续和离散的控制器有何区别?
matlab系统同时提供连续和离散的控制器和对象的目的是:在降低用户使用复杂程度的同时提高仿真精度.仿真速度和应用的广泛性. 仿真步长和求解精度的概念对于理解这个问题至关重要. 首先是步长,步长和求解 ...
- linux系统编程之信号(六):信号发送函数sigqueue和信号安装函数sigaction
一,sigaction() #include <signal.h> int sigaction(int signum,const struct sigaction *act,struct ...
- linux系统编程之信号(三):信号安装、signal、kill,arise讲解
一,信号安装 如果进程要处理某一信号,那么就要在进程中安装该信号.安装信号主要用来确定信号值及进程针对该信号值的动作之间的映射关系,即进程将要处理哪个信号:该信号被传递给进程时,将执行何种操作. li ...
- linux系统编程之信号:信号发送函数sigqueue和信号安装函数sigaction
信号发送函数sigqueue和信号安装函数sigaction sigaction函数用于改变进程接收到特定信号后的行为. sigqueue()是比较新的发送信号系统调用,主要是针对实时信号提出的(当然 ...
随机推荐
- Redis介绍以及安装(Linux与windows)
1.liunux系统 redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcached类似,但很大程度补偿了memcached的 不足,它支持存储的value类型 ...
- Random.nextint() 和Math.random()的区别
Random.nextint() 和Math.random()的区别 Java代码 Random rand = new Random(); long startTime = System.nano ...
- jquery json ajax -2
如果使用的是虚拟空间, 那么你不能操纵/配置服务器上的php.ini配置文件 但是可以在自己的php文件中, 通过ini_set(...), 和一些对应的函数, 去重置(临时的,仅在当前文件中生效的) ...
- linux下可以禁用的一些服务
linux下多软件/多脚本之间的配合: 包括做好 “实体”和“配置”两个方面的事情 “实体”是指实实在在的脚本文件,服务脚本: “配置”是指其他与之交互的.协同工作的软件.脚本,要进行适当的配置,告知 ...
- 记一个奇怪的python异常处理过程
我的一个程序, 总是在退出时报异常, Exception TypeError: "'NoneType' object is not callable" in <functio ...
- unity3D 搞定任意ios插件
原地址:http://www.cnblogs.com/U-tansuo/archive/2012/11/22/unity_ios-plugin.html 说起unity调ios插件,好多淫比较头痛,探 ...
- HDOJ 1869
#include<stdio.h> ][]; #define inf 0xffffff; void floyed(int n) { int i,j,k; ;k<n;k++) { ;i ...
- django-cms 代码研究(七)杂七杂八
实体关系图 核心对象: cms_page/cms_placeholder/cms_cmsplugin. page模型类继承关系图 CMSPlugin&Placeholder模型类继承关系图 = ...
- MYSQL随机抽取查询 MySQL Order By Rand()效率问题
MYSQL随机抽取查询:MySQL Order By Rand()效率问题一直是开发人员的常见问题,俺们不是DBA,没有那么牛B,所只能慢慢研究咯,最近由于项目问题,需要大概研究了一下MYSQL的随机 ...
- 【转】基于LDA的Topic Model变形
转载自wentingtu 基于LDA的Topic Model变形最近几年来,随着LDA的产生和发展,涌现出了一批搞Topic Model的牛人.我主要关注了下面这位大牛和他的学生:David M. B ...