数字信号处理实验---Z变换及系统的零极点分析 Matlab代码

一.各种函数的用法

1.tf2zp函数:通常用于将传递函数(Transfer Function)转换为零极增益形式(ZPK form),转换前G(s) = num(s) / den(s),转换后G(s) = K * (s - z1) * (s - z2) * ... * (s - zn) / (s - p1) * (s - p2) * ... * (s - pn)

2.zp2tf函数:用于将零极增益形式(ZPK form)转换为传递函数(Transfer Function)形式。转换前G(s) = K * (s - z1) * (s - z2) * ... * (s - zn) / (s - p1) * (s - p2) * ... * (s - pn),转换后G(s) = num(s) / den(s)

3.tf2sos函数:用于将传递函数(Transfer Function)转换为其次数最低的分数形式(SOS form,即Sum-of-Squares form)。转换前,G(s) = num(s) / den(s),转换后G(s) = a0 + a1*s + a2*s^2 + b1*s + b2*s^2 + ...

4.sos2tf函数:用于将SOS形式(Sum-of-Squares form)转换为传递函数(Transfer Function)形式,转换前G(s) = a0 + a1*s + a2*s^2 + b1*s + b2*s^2 + ...转换后G(s) = num(s) / den(s),

5.sos2zp函数:用于将SOS形式(Sum-of-Squares form)转换为零极增益形式(Zero-Pole-Gain form),转换前G(s) = a0 + a1*s + a2*s^2 + b1*s + b2*s^2 + ...,转换后G(s) = K * (s - z1) * (s - z2) * ... * (s - zn) / (s - p1) * (s - p2) * ... * (s - pn)

6.zp2sos函数:一种从零极增益形式(ZPK form)转换为二次分式形式(SOS form)的转换函数。它接受系统函数的零-极点增益模型中零点向量z、极点向量p和增益系数k作为输入,并返回系统函数的二次分式模型的系数矩阵sos和增益系数g。转换前G(s) = K * (s - z1) * (s - z2) * ... * (s - zn) / (s - p1) * (s - p2) * ... * (s - pn),转换后G(s) = a0 + a1*s + a2*s^2 + b1*s + b2*s^2 + ...

7.ss2tf函数:用于将状态空间模型(State-Space model)转换为传递函数(Transfer Function)模型,转换前x' = Ax + Bu y = Cx + Du转换后G(s) = num(s) / den(s)

8.tf2ss函数:用于将传递函数(Transfer Function)模型转换为状态空间模型(State-Space model),转换前G(s) = num(s) / den(s),转换后x' = Ax + Bu y = Cx + Du

二、系统函数如下

试求出:

极点增益(zpk)模型,用公式编辑器写出其表达式;

极点留数(rpk)模型,用公式编辑器写出其表达式;

二次分式(sos)模型,用公式编辑器写出其表达式。

极点增益(zpk)模型

a=[-2,5.65,-2.88,0];

b=[1,-0.1,0.99,0.648];

z,p,k\]=tf2zp(a,b) %因式分解系统函数 ![](https://file.jishuzhan.net/article/1745692220553433089/d40fc678ea0228f08a9a806cadd86694.webp) 极点留数(rpk)模型 b=\[-2,5.65,-2.88,0\]; a=\[1,-0.1,0.99,0.648\]; \[r, p, c\] = residuez(b, a) %极点求留数 ![](https://file.jishuzhan.net/article/1745692220553433089/85b60ecdde81540e7768e953fe6701ee.webp) 二次分式(sos)模型 num =\[-2,5.65,-2.88\]; den =\[1,-0.1,0.99,0.648\]; \[A,B\]=tf2sos(num,den) %将系统传递函数转换为系统函数二次分式模型 ![](https://file.jishuzhan.net/article/1745692220553433089/6ee6cc8f0bb30d9b90303102cdeb4179.webp) 三.LTI的系统函数如下 ![](https://file.jishuzhan.net/article/1745692220553433089/e06e7ed2c3e1854c0444001d797e0c66.webp) 试分析: 系统的零极点分布,并绘图; 单位冲击响应,并绘图; 分析系统的稳定性; 求出系统的幅频特性和相频特性,并绘图。 a=\[0.83,-0.0664\]; b=\[1,-0.08,0,0,0,0,0,0,0,0,-0.763,0\]; subplot(2,2,1);zplane(a,b); ylabel('Im(z)');xlabel('Re(z)'); title('零极点分布图'); %零极点分布图 subplot(2,2,2); impz(a,b,200);title('系统单位冲激响应'); w = \[0:0.5:100\]\*pi/100; H = freqz(b,a,w); %系统的频率响应函数 magH = abs(H);phaH = angle(H); %取角度的绝对值 subplot(2,2,3);plot(w/pi,magH,'m'); xlabel('pi 单位频率'); ylabel('\|H\|'); title('幅值响应'); %系统的幅频响应 subplot(2,2,4); plot(w/pi,phaH,'r'); xlabel(' pi 单位频率'); ylabel('pi 弧度相位'); title('相位响应'); %系统的相频响应 ![](https://file.jishuzhan.net/article/1745692220553433089/0ca78b0fec7b6ea1f0231fcec0dbd952.webp)

相关推荐
寻星探路4 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
ValhallaCoder7 小时前
hot100-二叉树I
数据结构·python·算法·二叉树
猫头虎8 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
八零后琐话8 小时前
干货:程序员必备性能分析工具——Arthas火焰图
开发语言·python
Not Dr.Wang4228 小时前
FIR数字滤波器设计的两种实现
matlab
3GPP仿真实验室8 小时前
【MATLAB源码】CORDIC-QR :基于Cordic硬件级矩阵QR分解
开发语言·matlab·矩阵
青春不朽5129 小时前
Scrapy框架入门指南
python·scrapy
MZ_ZXD00110 小时前
springboot旅游信息管理系统-计算机毕业设计源码21675
java·c++·vue.js·spring boot·python·django·php
全栈老石10 小时前
Python 异步生存手册:给被 JS async/await 宠坏的全栈工程师
后端·python