基于matlab的传输函数特性分析
目录
1 概要
2. S域传输函数特性分析示例
3. pzmap(), pzplot() and zplane()
4. Z域传输函数特性分析示例
4.1 格型IIR陷波滤波器例
4.2 离散传输函数表示:tf() vs filt()
4.3 zplane()生成的零极点图
4.4 freqz()和fvtool()
4.5 Tf2zp() vs tf2zpk()
5. 小结
1 概要
本文介绍基于matlab对给定传输函数进行特性分析的实验。
连续系统通常用S域传输函数来表示,与之对应的则是离散系统通常用Z域传输函数来表示。
2. S域传输函数特性分析示例
S域传输函数用于表示连续系统。
问题:给定一个S域传输函数,试给出它的零极点和频域响应。
clc;
clear all;
close all;
num = [2 3 1];
den = [1 2 0 2 3 4];
TRANF=tf(num,den)
[zeros poles gain]=tf2zp(num,den);disp('Poles of transfer function are:');
disp(poles);
disp('Zeros of transfer function are:');
disp(zeros);
disp('Gain of transfer function are:');
disp(gain);figure; pzmap(TRANF); title('pole-zero map by pzmap()');
figure; pzplot(TRANF); title('pole-zero map by pzplot()');
figure; freqs(num, den); title('Frequency response by freqs()');
tf()函数的功能:基于给定的分子(numerator)表达式和分母(denominator)表达式生成一个传输函数object,显示它的值的话会非常nice地显示出传输函数分式表示形式,非常直观。
tf2zp()函数的功能: 基于给定的分子(numerator)表达式和分母(denominator)计算其零点、极点和直流增益。如上所示运行后会打印出零极点即直流增益结果。
freqs()用于产生对应该传输函数的频域响应。
pzmap()和pzplot()用于生成pole-zero图。在缺省条件下,两者生成的图相同。
但是pzmap()和pzplot()是有区别的。
3. pzmap(), pzplot() and zplane()
pzmap and pzplot 都是Control System Toolbox中的函数,两者都既可以用于连续系统传输函数分析,也可以用于离散系统传输函数分析。区别在于pzplot可以返回一个handle to the plot object,基于这个handle用户可以进行更多的画图选项控制。It is explicit in the documentation of pzmap
: "For additional options for customizing the appearance of the pole-zero plot, use pzplot
.".
以下是一个利用pzplot的选项控制功能画图的示例。
% For demonstration of customization functionality of pzplot
Ts = 1;
HZ = tf(num, den, Ts, 'variable', 'z^-1');figure;
pzplot(HZ); title('pole-zero map by pzplot() with customization');
h = findobj(gca, 'type', 'line');
set(h, 'markersize', 9)
text(real(roots(num)) - 0.1, imag(roots(num)) + 0.1, 'Zero')
text(real(roots(den)) - 0.1, imag(roots(den)) + 0.1, 'Pole')
axis equal
这个图上的信息就比上面的缺省条件下生成的图要丰富得多。
此外,zplane()函数属于Signal Processing Toolbox,提供的功能与pzmap()和pzplot()相似,但是使用语法不一样。而且zplane只能用于discrete系统传输函数的分析。后面离散系统的分析我们会用到zplane().
[1] https://www.mathworks.com/matlabcentral/answers/509011-pzmap-vs-pzplot-vs-zplane
[2] MATLAB: What is the difference between pzmap and pzplot? - Stack Overflow
4. Z域传输函数特性分析示例
离散系统的传输函数用Z域传输函数表示。
4.1 格型IIR陷波滤波器例
以下是一个格型IIR陷波滤波器的特性分析示例。其传输函数和结构图如下所示:
% Discrete system zero-pole analysis
alpha = 0.9962;
beta = 0.8763;
num = ((1+alpha)/2)*[1 -2*beta 1]
den = [1 -beta*(1+alpha) alpha]
ZtranF = tf(num,den,1)
ZtranF1 = filt(num,den,1)
[zeros poles gain]=tf2zp(num,den);
[zeros1 poles1 gain1]=tf2zpk(num,den); % What is the difference between tf2zp and tf2zpkdisp('Poles of transfer function are:');
disp(poles);
disp('Zeros of transfer function are:');
disp(zeros);
disp('Gain of transfer function are:');
disp(gain);
figure; zplane(num,den); title('zero-pole-plot by zplane()'); % zplane() For discrete system.figure; freqz(num, den); title('Frequency response by freqz() with default setting');
figure; freqz(num, den,500,25e6); title('Frequency response by freqz(), with n=500');
fvtool(num,den,'Fs',25e6,'Color','white'); title('notch\_flt magnitude response by fvtool()');figure; impz(num,den); title('Impulse response by freqz()');
4.2 离散传输函数表示:tf() vs filt()
从结果来看,tf()和filt()有微妙差别,如下图所示:
首先,需要注意的是,tf()必须将Ts设置为某个正值才表示是分析离散的Z域传输函数。tf生成的传输函数与连续系统的传输函数的表示习惯相同,用z的正指数表示,而filt()生成的则是离散系统的表示习惯,用z的负指数项表示。没有本质区别,但是可能用的filt()更好吧。
4.3 zplane()生成的零极点图
如前所述,离散系统的零极点图可以用zplane()生成。但是也同样可以pzmap()和pzplot()生成,表示效果略有差异。
4.4 freqz()和fvtool()
freqz()和fvtool()都可以用来生成频域响应。
但是以下三条语句却产生了不同的结果。
很显然,3张图中所显示的陷波频点的衰减各不相同。可能是设置不同所导致的差别,有待进一步调查分析。
4.5 Tf2zp() vs tf2zpk()
tf2zp (Signal Processing Toolbox) (northwestern.edu)
Note You should use tf2zp when working with positive powers (s2 + s + 1), such as in continuous-time transfer functions. A similar function, tf2zpk, is more useful when working with transfer functions expressed in inverse powers (1 + z-1 + z-2), which is how transfer functions are usually expressed in DSP.
tf2zpk (Signal Processing Toolbox) (northwestern.edu)
Note You should use tf2zpk when working with transfer functions expressed in inverse powers (1 + z-1 + z-2), which is how transfer functions are usually expressed in DSP. A similar function, tf2zp, is more useful for working with positive powers (s2 + s + 1), such as in continuous-time transfer functions.
另外几个相关的函数:sos2zp,
ss2zp
, tf2sos
, tf2ss
, tf2zp
, zp2tf
5. 小结
仓促而就。Matlab提供了非常丰富的传输函数相关的函数和工具,值得慢慢挖掘。当然python中scipy库也有相对应的函数工具库,以后有时间再来学习整理。
基于matlab的传输函数特性分析相关推荐
- 基于matlab的光学薄膜特性分析,基于matlab的光学薄膜特性分析
<基于matlab的光学薄膜特性分析>由会员分享,可在线阅读,更多相关<基于matlab的光学薄膜特性分析(17页珍藏版)>请在金锄头文库上搜索. 1.目录1 技术指标 .12 ...
- 基于matlab的光学薄膜特性分析,基于matlab的光学薄膜特性分析.doc
目录 1 技术指标1 2 基本原理1 2.1 单层光学薄膜1 2.2 多层光学薄膜及矩阵理论2 3 基于matlab的光学薄膜特性分析4 4 结论9 5 参考文献9 6 附录:基于matlab的光学薄 ...
- 《MATLAB 神经网络43个案例分析》:第43章 神经网络高效编程技巧——基于MATLAB R2012b新版本特性的探讨
<MATLAB 神经网络43个案例分析>:第43章 神经网络高效编程技巧--基于MATLAB R2012b新版本特性的探讨 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 ...
- 基于matlab 的语音信号分析和处理,基于matlab_的语音信号分析和处理
基于matlab_的语音信号分析和处理 1 基于MATLAB 的语音信号分析和处理 福建师范大学协和学院 信息技术系 电子信息科学与技术专 124122006028 王祯飞 指导老师 黄小芬[摘要]本 ...
- matlab有仿真小灯泡吗,基于Matlab电力变压器励磁涌流的分析和仿真
基于Matlab电力变压器励磁涌流的分析和仿真 宁 德 师 范 学 院 毕 业 论 文 (设 计) 专 业 指导教师 学 生 学 号 题 目 目 录 1 变压器空载合闸励磁涌流产生机理1 1.1 变压 ...
- 子空间迭代法 matlab,基于MATLAB的一类迭代分析
一般的计算方法教程如文献[1-5]都会介绍三种常见的迭代法,即Jacobi方法.Gauss-Seidel方法和SOR迭代.由于Gauss-Seidel方法充分利用了迭代过程的新信息[1,2],一般来说 ...
- 基于matlab的齿轮,基于matlab的故障齿轮分析.doc
基于matlab的故障齿轮分析 基于matlab的故障齿轮分析 摘要 这篇文献,研究了齿轮箱中轮齿裂纹对齿轮振动的响应,及轮齿裂纹对啮合刚度的影响.并在matlab基础上分析了齿轮的裂纹故障.断齿故障 ...
- ncm 汇集 matlab,ncm-solutions 压缩包中的文件主要是基于matlab的数值计算以及分析功能学习的很好的例程 266万源代码下载- www.pudn.com...
文件名称: ncm-solutions下载 收藏√ [ 5 4 3 2 1 ] 开发工具: matlab 文件大小: 1650 KB 上传时间: 2016-11-01 下载次数: 0 提 ...
- matlab 215卷积码,基于matlab的卷积码的分析与应用
基于matlab的卷积码的分析与应用 基于MATLAB 的卷积码的分析与应用东北大学本科毕业设计(论文) 毕业设计(论文)任务 书 -I- 毕业设计(论文)任务书 毕业设计(论文)题目: 基于 MAT ...
最新文章
- oracle minus 与sqlserver except
- Python编程语言学习:在for循环中如何同时使用2个变量或者3个变量
- python底层源码_Python每天一分钟:解析python底层类的实现原理——竟然是type()
- js中cookie的操作
- restful是什么php,什么是RESTful?
- Redis中的数据迁移
- wait()和sleep()
- android 原生调用js,js调用原生
- python爬虫 django搜索修改更新数据_python应用:Django中更新多个对象数据与删除对象的方法...
- 左右法则 来解析指针问题
- mysql 单标递归_MYSQL递归树查询的实现
- linux查看内存是ddr3,linux查看具体内存信息
- 2021年度训练联盟热身训练赛第二场 ABCDGJ
- 【手游】手游行业专业相关知识储备
- 计算机应用基础制作新春贺卡图片,WORD制作新年贺卡和个人简历大学计算机基础课程设计报告书...
- 计算机应用演技,最近快手最火的句子 生活还是需要一点演技的
- 书籍折页是什么效果_问题:WPS里页面设置中的拼页,书籍折页,反向书籍折页分别是什么意思?打印出来的效果是什么样的? 要双面打印...
- python4delphi和tesserocr库安装配置
- 刷脸支付免费领取保险全额赔付保安全
- 安装xmanager linux系统,xmanager linux版