第八讲其他工具箱及SIMULINK9.1信号处理SP工具箱9.2控制Control工具箱9.3图像处理Images工具箱9.4通信COMM工具箱9.5可视系统仿真环境SIMULINK9.6系统模型绘制9.7Simulink中的子模块和封装技术9.8例子与习题9.1信号处理SP工具箱可以用helpsignal查看信号处理工具箱的所有函数,主要有以下几大类。•滤波器分析filteranalysis•滤波器实现filterimplementation•滤波器设计filterdesign•系统模型转换modeltransformation•窗函数windowfunctions•各种变换transforms•随机信号分析及谱分析statisticalsignalprocessingandspectralanalysis•参数估计与线性预测parametricmodelingandlinearprediction•多速率信号处理multiratesignalprocessing•波形产生waveformgeneration9.1信号处理SP工具箱SP工具箱提供了两个GUI接口程序,一个是滤波器设计与分析工具fdatool,另一个是信号处理sptool。这两个函数可以直接在MATLAB命令窗中调用,他们包含了信号处理的大部分内容。除了SP工具箱外,MATLAB还提供了其他一些信号处理有关的工具箱,直接有关的有:•dspblks信号处理的SIMULINK模型库•filterdesign滤波器设计工具箱而其他大部分的工具箱或多或少都与信号处理有关9.1信号处理SP工具箱信号处理方面的演示例子,可以用helpsigdemos查看信号处理工具箱的演示例子,主要有以下一些•滤波器设计•滤波•频谱分析•DTMF音分析•调制9.2控制Control工具箱可以用helpcontrol查看控制工具箱的所有函数,主要有以下几大类。•系统模型建立Creatinglinearmodels•系统模型转换Conversions•时域分析Time-domainanalysis•频域分析Frequency-domainanalysis•系统设计Design•状态空间模型StateSpaceModel9.2控制Control工具箱模型建立。有四种模型•TF(传递函数)•ZPK(零极点)•SS(状态空间)•FRD(频率响应数据)TF(传递函数)模型建立num=[10];den=[1210];h=tf(num,den);或者s=tf('s');h=s/(s^2+2*s+10)Transferfunction:s--------------s^2+2s+109.2控制Control工具箱ZPK(零极点)模型建立或者z=0;p=[21+i1-i];k=-2;h=zpk(z,p,k)Zero/pole/gain:-2s--------------------(s-2)(s^2-2s+2)s=zpk('s');h=-2*s/(s-2)/(s^2-2*s+2)Zero/pole/gain:-2s--------------------(s-2)(s^2-2s+2)9.2控制Control工具箱模型转换sys=tf(sys),sys=zpk(sys)sys=ss(sys),sys=frd(sys)模型连接串联:h=h1*h2;或h=series(h1,h2);并联:h=h1+h2;或h=parallel(h1,h2);负反馈:h=feedback(h1,h2);正反馈:h=feedback(h1,h2,+1);9.2控制Control工具箱系统分析sys=rss(3);%随机产生稳定的3阶连续系统•阶跃响应step(sys)•重激响应impulse(sys)•BODE图bode(sys)•Bode幅度图bodemag(sys)•Nyquist图nyquist(sys)•Nichols图nichols(sys)•Sigma图sigma(sys)•零极点图pzmap(sys)•根轨迹图rlocus(sys)9.3图像处理Images工具箱可以用helpimages查看图像处理工具箱的所有函数,主要有以下几大类。•图像显示与输入输出•几何分析•图像增强•二维滤波器设计与二维滤波•各种变换•图像型态分析•基于区域块分析•颜色处理•图像类型转换9.3图像处理Images工具箱演示例子•DCT图像压缩dctdemo•图像边沿检测edgedemo•图像二维滤波firdemo•去噪声nrfiltdemo•四叉树分解qudemo9.4通信comm工具箱可以用helpcomm查看通信工具箱的所有函数,主要有以下几大类。•信号源与信号分析•信源编码•信道编码(纠错编码)•调制与解调•特殊滤波器•Galois域计算9.4通信comm工具箱可以用helpcommdemos查看通信工具箱的演示例子,主要有以下几个。•rcosdemo升余弦函数.•scattereyedemo眼图.•basicsimdemo通信基本连接•vitsimdemo卷积码与Viterbi解码•commgettingstarted通信基本例子•simbasebandex基带QPSK仿真•simpassbandex通带QPSK仿真9.5可视系统仿真环境SIMULINK•Simulink是MATLAB下的一个动态系统建模与仿真的软件包。•它支持线性与非线性系统,也支持连续系统与离散系统,同时还支持多速率系统。•整个Simulink系统以GUI用户界面形式提供给用户,方便用户建模与仿真。•基本Simulink软件包包含连续、离散、函数……等在内的九个模块,同时还包括有许多其他的扩展模块。9.6系统模型绘制在Simulink下系统模型绘制非常简单,直接用鼠标拖拉的形式就可以建立任意复杂的系统。•在MATLAB命令窗下用命令Simulink打开Simulink库。可以用鼠标操作打开各个子库查看他们包含那些子系统。•选择File/New/Model菜单建立一空的新的系统模型。•展开相关的子库,用鼠标拖拉的形式将要用的子系统复制到新的系统模型上来,重复该操作直到建立好新的系统。9.7SIMULINK中的子模块与封装技术在实际仿真中,要仿真的模型可能更为复杂,这就需要将整个模型分解成若干个子模块,用户可以自己将构造出的子模块封装成常用模块。•首先画出整个模型图,再选中整个模型作为子系统1Out1TdTd/N.s+1TransferFcn1sIntegrator1/TiGain1KpGain1In19.7SIMULINK中的子模块与封装技术1Out1In1Out1Subsystem1In1•选择菜单Edit/CreateSubsystem•封装子模块,选中子系统,再选择Edit/MaskSubsystem,打开一个对话框,选中Initialization标签,设置好变量9.7SIMULINK中的子模块与封装技术•模块参数初始化,建立好模块后,双击该子系统,将弹出系统参数对话框,可以设置系统默认参数。9.8例子与习题•运行各个工具箱的演示例子•在工业控制中经常把PID控制器的微分信号从标准的误差信号移动到输出信号,这是其数学表示为这样就有了两路输入信号即E(S)和Y(S)。在这样的结构下再用Simulink封装出一类新结构下的PID控制器模块。sYNTsTssEsTKsUddip1/11