数字信号处理实验---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)

相关推荐
mortimer2 小时前
安装NVIDIA Parakeet时,我遇到的两个Pip“小插曲”
python·github
@昵称不存在2 小时前
Flask input 和datalist结合
后端·python·flask
赵英英俊3 小时前
Python day25
python
东林牧之3 小时前
Django+celery异步:拿来即用,可移植性高
后端·python·django
何双新3 小时前
基于Tornado的WebSocket实时聊天系统:从零到一构建与解析
python·websocket·tornado
AntBlack4 小时前
从小不学好 ,影刀 + ddddocr 实现图片验证码认证自动化
后端·python·计算机视觉
凪卄12134 小时前
图像预处理 二
人工智能·python·深度学习·计算机视觉·pycharm
巫婆理发2224 小时前
强化学习(第三课第三周)
python·机器学习·深度神经网络
seasonsyy4 小时前
1.安装anaconda详细步骤(含安装截图)
python·深度学习·环境配置
半新半旧4 小时前
python 整合使用 Redis
redis·python·bootstrap