文档库 最新最全的文档下载
当前位置:文档库 › 基于Matlab和VB的连杆机构动力学可视化仿真应用

基于Matlab和VB的连杆机构动力学可视化仿真应用

基于Matlab和VB的连杆机构动力学可视化仿真应用
基于Matlab和VB的连杆机构动力学可视化仿真应用

第24卷2005年第4期4月机械科学与技术

MECHAN I CAL SC I E NCE AND TECHNOLOGY Vol .24Ap ril No .4

2005

收稿日期:20040325

基金项目:国家自然科学基金项目(50075068)和陕西省教育厅科

研基金项目(00JK181)资助

作者简介:薛艳敏(1974-),女(汉),河南,博士研究生

E 2mail:xuey m@xaut .edu .

cn

薛艳敏

文章编号:100328728(2005)0420502203

基于Matlab 和VB 的连杆机构动力学可视化仿真应用

薛艳敏,刘云霞

(西安理工大学机械与精密仪器工程学院,西安 710048)

摘 要:主要利用Matlab 软件的计算绘图功能,对通过KE D (运动弹性动力学)方法计算得出的连杆机构弹性动力

学参数———杆单元各点应力、动态弹性位移、固有频率、振型等进行了可视化后置处理,包括曲线处理、动画处理、色彩映射等等。并运用ActiveX 技术,充分应用VB 与M atlab 两大软件的优点,在VB 下调用Matlab 软件,编制了具有良好界面的包含机构可视化处理的运动学和动力学分析软件,为KE D 方面的可视化应用研究提供了有效的途径。关 键 词:运动弹性动力学;可视化;Matlab;VB 中图分类号:T H112.1 文献标识码:A

V isua li za ti on of K i n eto 2El a sto 2D ynam i cs(KE D )of Pl anar L i n kage Ba sed on M a tl ab and VB

XUE Yan 2m in,L I U Yun 2xia

(School ofMachinery and Precisi on I nstru ment Engineering,Xi ′an University of Technol ogy,Xi ′an 710048)Abstract:This paper p resents a visualizati on post 2p r ocessing method of stress,kinet o dis p lace ment,nat 2ural frequency,vibrati on model in p lanar linkage,which are derived fr om kinet o 2elast o 2dyna m ics .The app r oach mainly uses ActiveX technique,taking good advantage of Matlab and VB ,as the for mer has str ong calculating and dra wing functi on,while the latter has a wonderful interface p r ocessing functi on .The visualizati on technique p r ovides an app r oach f or KED.

Key words:Kinet o 2elast o 2dyna m ics;V isualizati on;Matlab;VB

在工程设计领域,可视化仿真或科学计算可视化被定义为对科学计算或仿真计算所获得的数据进行可视化加工或三维图形和动画显示,并可通过交互的改变参数来视察计算结果的全貌及其变化。其技术对各门学科和工程技术的发展有极其重要的意义及实用价值。

机械运动弹性动力分析近年来得到了很大的发展,它为现代高速、高精密机构的分析与设计奠定了理论基础。可视化技术在该方面也有了一定的应用,但多数是对所建模型的实际运动仿真。而对于实际理论计算中得到的大量数据的处理,却多采用表格、二维曲线的形式,前者提供了大量的原始数据,但很难直接从中找出内在规律;后者只能显示出所考察参数随一个变量变化的情况,而事实上大多数参数都随多个变量发生变化,研究人员也更关心它们随各个变量变化的情形;如果对得出的数据进行三维曲面和动态处理,将有利于研究人员充分利用该领域的知识对结果进行分析,为进一步的研究提供信息,提高研究的

系统性、感知性和自动化水平。

本文利用Matlab 软件提供的三维图形处理功能、影片动画或实时动画技术、以及颜色映射函数分别实现对连杆机构弹性动力学研究中产生的大量数据的处理。这些数据包括:在运动弹性动力学KE D (Kinet o 2Elast odyna m ics )计算中得到:杆单元各点在任意时刻的动态弹性位移值、应力值等,这正是在连杆机构的弹性动力分析参数考察中最为关心的数据,因为杆件的弹性变形可能使机构产生过大的动态运动误差,周期性变化的动应力会导致构件的疲劳破坏;对连杆机构某点的真实运动模拟、连杆运动振动的主振型的振型示意图也不再只采用静态图形,而是动态地对整个运动过程的真实轨迹进行模拟。

软件开发方面,利用M atlab 软件和VB 软件各自的优点,通过Active 技术进行设计。在本文的动力学计算中包含大量的矩阵运算、插值运算、数值微积分等,M atlab 编程语言对以上计算则非常快捷、直接,它的绘图功能为可视化应用提供了很多不同的表现方式。而比较起来,VB 具有更好的应用程序界面开发功能,但在工程计算方面比Matlab 要繁琐的多,本文运用ActiveX 技术,将二者很好地结合起来,联合编程,获得具有良好人机界面的运动学、动力学分析软件。

第4期

薛艳敏等:基于M atlab 和VB 的连杆机构动力学可视化仿真应用

1 动力学模型

图1 弹性平面连杆机

构以及广义坐标用有限元法建立系统的运动微分方程,图1为一弹性平面四杆机构,其单元划分、广义坐标的选取和度量、以及单元边界条件等情况如图1所示,将整个系统分为5个单

元,选取19个广义坐标,经推导便可得到系统运动方程,用振型截断法取振

型保留数为4,可得到系统的稳态响应。

机构的参数如下:曲柄长度L OA =63.5c m,连杆长度L AC =279.4c m,摇杆长度L B C =266.7c m,机架长度L OB =254cm 。机架为刚性杆,其他3个柔性杆宽度B =25.4c m,厚度H =1.6c m,材质为铝,ρ=2.7g/c m,弹性模量E

=7.1×104

MPa,两活动铰链的质量m 1=m 2=27.2g 。振型截断数取为4,振型相对阻尼系数ξr =0

.03。KE D 算法的具体步骤在文献[3]中已有详细地论述,在这里不再说明。通过KE D,得出机构固有频率、动态弹性位移、应力等数值。

图2 DC 单元应力与曲柄转角、单元长度的关系2 系统设计与仿真2.1 三维图形处理

为了能直观地看出以上这些数据与单元长度、曲柄转角的关系,最好能做出三维图,坐标分别为曲柄转角、单元长度、弹性位移或应力,Mat 2

lab 向我们提供了方法来实现这一功能。Matlab 具

有良好的三维图形处理功能,包括三维数据显示、空间曲

线、曲面、分块、填充以及曲面光顺着色、视点变换、旋转、隐藏等功能和操作。

在本例中,主要利用M atlab 中的meshc 函数即可得出机构各点的应力与曲柄转角、单元长度之间的关系图。从图2中可直观地观察得出应力随角度和单元长度的变化。Matlab 的这一功能已被研究人员比较广泛地加以应用,例如用彩色云图法、三维消隐图、等高线图、曲面图等适时地表示三维数据。2.2 实时动画技术

通过M atlab 提供的影片动画或实时动画技术,可以实现运动的动画效果。在Matlab 中,动画制作有2种方法:一是预先将图形制作好,放到图形缓冲区中,然后一帧一帧地播放。这种方法的计算量大,占用的内存多。另一种是保持整个背景图案不变,只更新运动部分的图形,以便加快整幅图的实时生成速度,这就是实时动画技术。图3即是利用此技术对机构运动中的真实位移和期望位移所

做的动画处理,为了使图

中的差额显示比较明显,将差额值放大了100倍处理。在具体的代码设计中,首先要创建具有n 列的矩阵m ,准备用来储存n 帧画面。将机构在某时刻的刚体运动画出。画出各结点的真实轨迹和期望轨迹图,把制作影片动画用的第j 帧画面像素以列的方式保存在矩阵中。利用函数movie (m ,k )将m 中储存的画面连续播放k 次。同样还可以实现机构在某位置时的各阶振型动态示意图,图4即是机构在某位置时的一阶振型动态示意图。由于论文表现

方式的限制,只能表现出一个静态的图形,在实际的演示中,整个系统的运动都能动态地再现。 图5 机构各单元应力

色彩图动态显示

2.3 颜色映射

颜色映射法是科学计算可视化方法中常用的方法之一,它规定了数据值与色彩值之间的关系,主要反映对象表面或截面上的信息。只要建立正确的颜色映射关系,所获得的颜色表

即能真实的反映计算对

象的信息。

本例中采用颜色映射法,利用M atlab 提供的函数,将色彩表应用到弹性机构动态应力及弹性位移的分析中。在Matlab 中,缺省的颜色映射是jet,生成的矩阵都是64行3列,但可根据自己的要求用参数设置。本例中,首先产生60行3列的颜色映射矩阵,将计算得出的应力也分为60等分,利用着色原理在平面网格点(i,j )的右上角小区域内用对应的色谱矩阵的颜色着色。计算出每一小段应力所对应的颜色映像,画出每一小段,并将其颜色设置为应力值对应的颜色。通过以上原理和实时动画技术可以得到图5所示机构的各单元应力色彩图动态显示,同理可分别做出机构各单元弹性位移色彩图动态显示。

3 通过ActiveX 技术将M atlab 与VB 结合设计软件模块M atlab 语言可通过ActiveX 技术与其他任何应用程序作接口(如果这个应用程序不是老掉牙的),这使得Matlab

语言可集成其他软件的优点,进一步加强自己的功能。

3

05

机械科学与技术第24卷

ActiveX部件是M icr os oft公司提供的一种用于模块集成的新协议,它是VB工具箱的扩充部分。ActiveX部件是一些遵循ActiveX规范编写的可执行代码,比如一个. exe,.dll或.ocx文件。在程序中加入ActiveX部件后,它将成为开发和运行环境的一部分,并为应用程序提供新的功能。ActiveX部件保留了一些普通VB控件的属性、事件和方法。其特有的方法和属性大大地增强了程序设计者的能力和灵活性。当前的新软件一般都支持ActiveX部件的嵌入,所以令现代的程序设计不再是一个个孤立的程序,而可以是一些在各个方面有优势的软件集成。从某种意义上来说,ActiveX技术的应用有些像DDE链接,但比DDE链接更强大,所以与ActiveX的链接将成为主要的链接方式。ActiveX实际上是在调用一种部件,而无需要求该部件对应的程序正在运行,这会使得其功能更加强大。

M atlab支持的ActiveX有2个方面的涵义:

(1)在其他程序下运行Matlab的ActiveX部件;

(2)在Matlab下运行其他ActiveX部件。

我们可以由一个例子来演示在VB下,通过ActiveX 自动化接口将Matlab作为VB语言的一个ActiveX部件调用的方法与应用。

[例] 在VB下建立一个新窗口,其上有3个控件,其中一个是按钮,其VB名称为Co mmand1,且其标注为Run Matlab;一个是编辑框,用来接收Matlab命令,其VB名称为Text1;另一个为文本控件,其VB名称为Label1。目的:按下Run Matlab按钮时,该程序运行编辑框中给出的Matlab语句,并将其结果在Label1控件中显示出来。

[解答] 建立一个VB窗口,在其变量声明部分申明要调用Matlab的ActiveX:

D i m Matlab A s Object,

并在其For m_Load中给出下面命令来链接Matlab的ActiveX部件。给按钮给出下面的响应命令,整个问题就解决了:

Private Sub Command1_Click()SetM atlab=CreateOb2 ject("Matlab.App licati on")Label1.Cap ti on=Matlab.Exe2 cute(Text1.Text)End Sub

值得指出的是,这个程序段不只可以解决计算与文字显示的Matlab语句,还可以解决图形绘制等问题。例如在编辑框中给出下面带有绘图的命令:

a=magic(5);A=inv(a),[x,y]=meshgrid(-3:0. 1:3,-2:0.1:2);z=(x.^2-23x).3exp(-x.^2-y.^2-x.3y);surf(x,y,z);col orbar;shading inter p

则将得出如图6所示的效果。

还可以将其中生成的Matlab变量调至VB环境中,由VB程序直接使用,或将VB中的变量写入M atlab的工作空间。能解决这样问题的Matlab函数为GetFull M atrix()和PutFull M atrix()。

通过ActiveX技术,基于Matlab语言与VB应用程序作接口,设计出具有良好界面的包含结果可视化处理的连杆机构运动学、动力学分析计算与图形显示软件,运行该软件,可得到本研究的运动学、动力学分析的所有结果。图7所示为该软件的主要界面,为输入数据后动力学的分析计算与图形显示图形之一

图6 利用ActiveX技术实现在VB下调用

Matlab

图7 软件实际运行情况展示

4 结束语

本文利用Matlab软件,对连杆机构弹性动力学计算所得的结果实现了可视化处理,结合具体实例得到了良好的效果;利用ActiveX技术,充分利用Matlab软件和VB软件的优点,将二者结合起来,编制了具有良好人机界面的动力学分析软件,为该方面的可视化应用提供了一个有效的方法和新的思路。

[参考文献]

[1] 王艳霞.基于Matlab和VC++的凸轮机构中从动件运动规

律参数化设计[J].机械科学与技术,2003,22(5)

[2] 薛定宇.控制系统计算机辅助设计———MAT LAB语言与应

用[M].清华大学出版社,1996

[3] 张策,黄永强等.弹性连杆机构的分析与设计[M].机械工

业出版社,1997

[4] 龚剑,朱亮.MAT LAB5.x入门与提高[M].清华大学出版

社,2000

405

现代信号处理Matlab仿真——例611

例6.11 利用卡尔曼滤波估计一个未知常数 题目: 设已知一个未知常数x 的噪声观测集合,已知噪声v(n)的均值为零, 方差为 ,v(n)与x 不相关,试用卡尔曼滤波估计该常数 题目分析: 回忆Kalman 递推估计公式 由于已知x 为一常数,即不随时间n 变化,因此可以得到: 状态方程: x(n)=x(n-1) 观测方程: y(n)=x(n)+v(n) 得到A(n)=1,C(n)=1, , 将A(n)=1,代入迭代公式 得到:P(n|n-1)=P(n-1|n-1) 用P(n-1)来表示P(n|n-1)和P(n-1|n-1),这是卡尔曼增益表达式变为 从而 2v σ1??(|1)(1)(1|1)(|1)(1)(1|1)(1)()()(|1)()[()(|1)()()]???(|)(|1)()[()()(|1)](|)[()()](|1)H w H H v x n n A n x n n P n n A n P n n A n Q n K n P n n C n C n P n n C n Q n x n n x n n K n y n C n x n n P n n I K n C n P n n --=----=----+=--+=-+--=--2()v v Q n σ=()0w Q n =(|1)(1)(1|1)(1)()H w P n n A n P n n A n Q n -=----+21 ()(|1)[(|1)]v K n P n n P n n σ-=--+22(1)()[1()](1)(1)v v P n P n K n P n P n σσ-=--=-+

控制系统MATLAB仿真基础

系统仿真 § 4.1控制系统的数学模型 1、传递函数模型(tranfer function) 2、零极点增益模型(zero-pole-gain) 3、状态空间模型(state-space) 4、动态结构图(Simulink结构图) 一、传递函数模型(transfer fcn-----tf) 1、传递函数模型的形式 传函定义:在零初始条件下,系统输出量的拉氏变换C(S)与输入量的拉氏变换R(S)之比。 C(S) b1S m+b2S m-1+…+b m G(S)=----------- =- -------------------------------- R(S) a1S n + a2S n-1 +…+ a n num(S) = ------------ den(S) 2、在MATLAB命令中的输入形式 在MATLAB环境中,可直接用分子分母多项式系数构成的两个向量num、den表示系统: num = [b1, b2, ..., b m]; den = [a1, a2, ..., a n]; 注:1)将系统的分子分母多项式的系数按降幂的方式以向量的形式输入两个变量,中间缺项的用0补齐,不能遗漏。 2)num、den是任意两个变量名,用户可以用其他任意的变量名来输入系数向量。 3)当系统种含有几个传函时,输入MATLAB命令状态下可用n1,d1;n2,d2…….。 4)给变量num,den赋值时用的是方括号;方括号内每个系数分隔开用空格或逗号;num,den方括号间用的是分号。 3、函数命令tf( ) 在MATLAB中,用函数命令tf( )来建立控制系统的传函模型,或者将零极点增益模型、状态空间模型转换为传函模型。 tf( )函数命令的调用格式为: 圆括号中的逗号不能用空格来代替 sys = tf ( num, den ) [G= tf ( num, den )]

Matlab仿真实例-卫星轨迹

卫星轨迹 一.问题提出 设卫星在空中运行的运动方程为: 其中是k 重力系数(k=401408km3/s)。卫星轨道采用极坐标表示,通过仿真,研究发射速度对卫星轨道的影响。实验将作出卫星在地球表面(r=6400KM ,θ=0)分别以v=8KM/s,v=10KM/s,v=12KM/s 发射时,卫星绕地球运行的轨迹。 二.问题分析 1.卫星运动方程一个二阶微分方程组,应用Matlab 的常微分方程求解命令ode45求解时,首先需要将二阶微分方程组转换成一阶微分方程组。若设,则有: 2.建立极坐标如上图所示,初值分别为:卫星径向初始位置,即地球半径:y(1,1)=6400;卫星初始角度位置:y(2,1)=0;卫星初始径向线速度:y(3,1)=0;卫星初始周向角速度:y(4,1)=v/6400。 3.将上述一阶微分方程及其初值带入常微分方程求解命令ode45求解,可得到一定时间间隔的卫星的径向坐标值y(1)向量;周向角度坐标值y(2)向量;径向线速度y(3)向量;周向角速度y(4)向量。 4.通过以上步骤所求得的是极坐标下的解,若需要在直角坐标系下绘制卫星的运动轨迹,还需要进行坐标变换,将径向坐标值y(1)向量;周向角度坐标值y(2)向量通过以下方程转换为直角坐标下的横纵坐标值X,Y 。 5.卫星发射速度速度的不同将导致卫星的运动轨迹不同,实验将绘制卫星分别以v=8KM/s ,v=10KM/s ,v=12KM/s 的初速度发射的运动轨迹。 三.Matlab 程序及注释 1.主程序 v=input('请输入卫星发射速度单位Km/s :\nv=');%卫星发射速度输入。 axis([-264007000-1000042400]);%定制图形输出坐标范围。 %为了直观表达卫星轨迹,以下语句将绘制三维地球。 [x1,y1,z1]=sphere(15);%绘制单位球。 x1=x1*6400;y1=y1*6400;???????-=+-=dt d dt dr r dt d dt d r r k dt r d θ θθ2)(2 22222θ==)2(,)1(y r y ?????????????**-=**+*-===)1(/)4()3(2)4()4()4()1()1()1()3()4()2() 3()1(y y y dt dy y y y y y k dt dy y dt dy y dt dy ???*=*=)] 2(sin[)1(Y )]2(cos[)1(X y y y y

MATLAB与系统仿真

学习中心/函授站_ 成都学习中心 姓名赵洪学号7020140122093 西安电子科技大学网络与继续教育学院 2015学年上学期 《MATLAB与系统仿真》期末考试试题 (综合大作业) 考试说明: 1、大作业于2015年4月3日公布,2015年5月9日前在线提交; 2、考试必须独立完成,如发现抄袭、雷同、拷贝均按零分计。 3、程序设计题(三(8,10))要求写出完整的程序代码,并在matlab软件环境调试并运行通过,连同运行结果一并附上。 一、填空题(1? ×25=25?) 1、Matlab的全称为矩阵实验室。 2、在Matlab编辑器中运行程序的快捷键是:F5 。 3、Matlab的工作界面主要由以下五个部分组成,它们分别是:菜单栏、 工具栏、当前工作目录窗口、工作空间管理窗口和命令窗口。 4、在Matlab中inf表示:无穷大;clc表示:清空命令窗口中的显示内容;more表示:在命令窗口中控制其后每页的显示内容行数;who表示:查阅Matlad内存变量名;whos表示:列出当前工作空间所有变量。 5、在Matlab命令窗口中运行命令Simulink 可以打开Simulink模块库浏览器窗口。 6、求矩阵行列式的函数:det ;求矩阵特征值和特征向量的函数eig 。 7、Matlab预定义变量ans表示:没有指定输出变量名;eps表示:系统精度 ;nargin表示:函数输入参数的个数。 8、Matlab提供了两种方法进行程序分析和优化,分别为:通过Profiler工具优化和通过tic和toc函数进行优化。 9、建立结构数组或转换结构数组的函数为:struct ; 实现Fourier变换在Matlab中的对应函数为:fourier() ;Laplace变换的函数:Laplace() 。

matlab控制系统仿真课程设计

课程设计报告 题目PID控制器应用 课程名称控制系统仿真院部名称机电工程学院专业 班级 学生姓名 学号 课程设计地点 课程设计学时 指导教师 金陵科技学院教务处制成绩

一、课程设计应达到的目的 应用所学的自动控制基本知识与工程设计方法,结合生产实际,确定系统的性能指标与实现方案,进行控制系统的初步设计。 应用计算机仿真技术,通过在MATLAB软件上建立控制系统的数学模型,对控制系统进行性能仿真研究,掌握系统参数对系统性能的影响。 二、课程设计题目及要求 1.单回路控制系统的设计及仿真。 2.串级控制系统的设计及仿真。 3.反馈前馈控制系统的设计及仿真。 4.采用Smith 补偿器克服纯滞后的控制系统的设计及仿真。 三、课程设计的内容与步骤 (1).单回路控制系统的设计及仿真。 (a)已知被控对象传函W(s) = 1 / (s2 +20s + 1)。 (b)画出单回路控制系统的方框图。 (c)用MatLab的Simulink画出该系统。 (d)选PID调节器的参数使系统的控制性能较好,并画出相应的单位阶约响应

曲线。注明所用PID调节器公式。PID调节器公式Wc(s)=50(5s+1)/(3s+1) 给定值为单位阶跃响应幅值为3。 有积分作用单回路控制系统 无积分作用单回路控制系统

大比例作用单回路控制系统 (e)修改调节器的参数,观察系统的稳定性或单位阶约响应曲线,理解控制器参数对系统的稳定性及控制性能的影响? 答:由上图分别可以看出无积分作用和大比例积分作用下的系数响应曲线,这两个PID调节的响应曲线均不如前面的理想。增大比例系数将加快系统的响应,但是过大的比例系数会使系统有比较大的超调,并产生振荡,使稳定性变坏;增大积分时间有利于减小超调,减小振荡,使系统的稳定性增加,但是系统静差消除时间变长,加入微分环节,有利于加快系统的响应速度,使系统超调量减小,稳定性增加。 (2).串级控制系统的设计及仿真。 (a)已知主被控对象传函W 01(s) = 1 / (100s + 1),副被控对象传函W 02 (s) = 1 / (10s + 1),副环干扰通道传函W d (s) = 1/(s2 +20s + 1)。 (b)画出串级控制系统方框图及相同控制对象下的单回路控制系统的方框图。(c)用MatLab的Simulink画出上述两系统。

MATLAB实现通信系统仿真实例

补充内容:模拟调制系统的MATLAB 仿真 1.抽样定理 为了用实验的手段对连续信号分析,需要先对信号进行抽样(时间上的离散化),把连续数据转变为离散数据分析。抽样(时间离散化)是模拟信号数字化的第一步。 Nyquist 抽样定律:要无失真地恢复出抽样前的信号,要求抽样频率要大于等于两倍基带信号带宽。 抽样定理建立了模拟信号和离散信号之间的关系,在Matlab 中对模拟信号的实验仿真都是通过先抽样,转变成离散信号,然后用该离散信号近似替代原来的模拟信号进行分析的。 【例1】用图形表示DSB 调制波形)4cos()2cos(t t y ππ= 及其包络线。 clf %%计算抽样时间间隔 fh=1;%%调制信号带宽(Hz) fs=100*fh;%%一般选取的抽样频率要远大于基带信号频率,即抽样时间间隔要尽可能短。 ts=1/fs; %%根据抽样时间间隔进行抽样,并计算出信号和包络 t=(0:ts:pi/2)';%抽样时间间隔要足够小,要满足抽样定理。 envelop=cos(2*pi*t);%%DSB 信号包络 y=cos(2*pi*t).*cos(4*pi*t);%已调信号 %画出已调信号包络线 plot(t,envelop,'r:','LineWidth',3); hold on plot(t,-envelop,'r:','LineWidth',3); %画出已调信号波形 plot(t,y,'b','LineWidth',3); axis([0,pi/2,-1,1])% hold off% xlabel('t'); %写出图例 【例2】用图形表示DSB 调制波形)6cos()2cos(t t y ππ= 及其包络线。 clf %%计算抽样时间间隔 fh=1;%%调制信号带宽(Hz) fs=100*fh;%抽样时间间隔要足够小,要满足抽样定理。 ts=1/fs; %%根据抽样时间间隔进行抽样

自控-二阶系统Matlab仿真

自动控制原理 二阶系统性能分析Matlab 仿真大作业附题目+ 完整报告内容

设二阶控制系统如图1所示,其中开环传递函数 ) 1(10 )2()(2+=+=s s s s s G n n ξωω 图1 图2 图3 要求: 1、分别用如图2和图3所示的测速反馈控制和比例微分控制两种方式改善系统的性能,如果要求改善后系统的阻尼比ξ =0.707,则和 分别取多少? 解: 由)1(10 )2()(2 += +=s s s s s G n n ξωω得10 21,10,102===ξωωn t K d T

对于测速反馈控制,其开环传递函数为:) 2()s (2 2n t n n K s s G ωξωω++=; 闭环传递函数为:2 2 2)2 (2)(n n n t n s K s s ωωωξωφ+++= ; 所以当n t K ωξ2 1+=0.707时,347.02)707.0(t =÷?-=n K ωξ; 对于比例微分控制,其开环传递函数为:)2()1()(2 n n d s s s T s G ξωω++=; 闭环传递函数为:) )2 1(2)1()(2 22 n n n d n d s T s s T s ωωωξωφ++++=; 所以当n d T ωξ2 1 +=0.707时,347.02)707.0(=÷?-=n d T ωξ; 2、请用MATLAB 分别画出第1小题中的3个系统对单位阶跃输入的响应图; 解: ①图一的闭环传递函数为: 2 22 2)(n n n s s s ωξωωφ++=,10 21 ,10n ==ξω Matlab 代码如下: clc clear wn=sqrt(10); zeta=1/(2*sqrt(10)); t=0:0.1:12; Gs=tf(wn^2,[1,2*zeta*wn,wn^2]); step(Gs,t)

系统仿真的MATLAB实现.

第七章系统仿真的MATLAB实现 由于计算机技术的高速发展,我们可以借助计算机完成系统的数字仿真。综前所述,数字仿真实质上是根据被研究的真实系统的模型,利用计算机进行实验研究的一种方法。仿真的主要过程是:建立模型、仿真运行和分析研究仿真结果。仿真运行就是借助一定的算法,获得系统的有关信息。 MATLAB是一种面向科学与工程计算的高级语言,它集科学计算、自动控制、信号处理、神经网络和图像处理等学科的处理功能于一体,具有极高的编程效率。MATLAB是一个高度集成的系统,MATLAB提供的Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,它支持线性和非线性系统,能够在连续时间域、离散时间域或者两者的混合时间域里进行建模,它同样支持具有多种采样速率的系统。在过去几年里,Simulink已经成为数学和工业应用中对动态系统进行建模时使用得最为广泛的软件包。 MATLAB仿真有两种途径:(1)MATLAB可以在SIMULINK窗口上进行面向系统结构方框图的系统仿真;(2)用户可以在MATLAB的COMMAND窗口下,用运行m文件,调用指令和各种用于系统仿真的函数,进行系统仿真。这两种方式可解决任意复杂系统的动态仿真问题,前者编辑灵活,而后者直观性强,实现可视化编辑。 下面介绍在MATLAB上实现几类基本仿真。 7.1 计算机仿真的步骤 在学习计算机仿真以前,让我们先总结一下计算机仿真的步骤。 计算机仿真,概括地说是一个“建模—实验—分析”的过程,即仿真不单纯是对模型的实验,还包括从建模到实验再到分析的全过程。因此进行一次完整的计算机仿真应包括以下步骤:

(1)列举并列项目 每一项研究都应从说明问题开始,问题由决策者提供或由熟悉问题的分析者提供。 (2)设置目标及完整的项目计划 目标表示仿真要回答的问题、系统方案的说明。项目计划包括人数、研究费用以及每一阶段工作所需时间。 (3)建立模型和收集数据 模型和实际系统没有必要一一对应,模型只需描述实际系统的本质或者描述系统中所研究部分的本质。因此,最好从简单的模型开始,然后进一步建立更复杂的模型。 (4)编制程序和验证 利用数学公式、逻辑公式和算法等来表示实际系统的内部状态和输入/输出的关系。建模者必须决定是采用通用语言如MATLAB、FORTRAN、C还是专用仿真语言来编制程序。在本教材中,我们选择的是MATLAB和其动态仿真工具Simulink。 (5)确认 确认指确定模型是否精确地代表实际系统。它不是一次完成,而是比较模型和实际系统特性的差异,不断对模型进行校正的迭代过程。 (6)实验设计 确定仿真的方案、初始化周期的长度、仿真运行的长度以及每次运行的重复次数。 (7)生产性运行和分析 通常用于估计被仿真系统设计的性能量度。利用理论定性分析、经验定性分析或系统历史数据定量分析来检验模型的正确性,利用灵敏度分析等手段来检验模型的稳定性。 (8)文件清单和报表结果 (9)实现

二阶系统matlab仿真

simulink仿真 -1<ξ<0 >> step(tf(4^2,[1,2*(-0.5)*4,4^2])) ξ<-1 >> step(tf(4^2,[1,2*(-1.5)*4,4^2])) ξ=0 >> step(tf(4^2,[1,2*0*4,4^2])) 0<ξ<1 >> figure >> step(tf(4^2,[1,2*0.1*4,4^2])) >> step(tf(4^2,[1,2*0.2*4,4^2])) >> step(tf(4^2,[1,2*0.3*4,4^2])) >> step(tf(4^2,[1,2*0.4*4,4^2])) >> step(tf(4^2,[1,2*0.5*4,4^2])) >> step(tf(4^2,[1,2*0.6*4,4^2])) >> step(tf(4^2,[1,2*0.7*4,4^2])) >> step(tf(4^2,[1,2*0.8*4,4^2])) >> step(tf(4^2,[1,2*0.9*4,4^2])) ωn不变,ζ减小

ξ=1 >> figure >> step(tf(4^2,[1,2*1*4,4^2])) ξ>1 >> hold on >> step(tf(4^2,[1,2*2.0*4,4^2])) >> step(tf(4^2,[1,2*4.0*4,4^2])) >> step(tf(4^2,[1,2*8.0*4,4^2])) ωn不变,ζ减小 ξ=0.5,改变ωn时的情况: >> figure >> step(tf(1^2,[1,2*0.5*1,1^2])) (ωn=1)

>> hold on >> step(tf(2^2,[1,2*0.5*2,2^2])) (ωn=2)>> step(tf(4^2,[1,2*0.5*4,4^2])) (ωn=4)>> step(tf(8^2,[1,2*0.5*8,8^2])) (ωn=8) ζ不变,ωn增大 曲线拟合程序 >> figure >> x=[0,0.2,0.4,0.6,0.8,1.0,1.2]; >> y=[1.135,1.135,1.216,1.351,1.534,1.737,2.0,]; >> plot(x,y,'.') >> hold on >> x1=[0:0.1:1.2]; >> y1=1+0.6*x1+0.2*x1.^2; >> plot(x1,y1) >> y1=1+0.7*x1; >> plot(x1,y1)

控制系统Matlab仿真 (传递函数)

控制系统仿真 [教学目的] 掌握数字仿真基本原理 控制系统的数学模型建立 掌握控制系统分析 [教学内容] 一、控制系统的数学模型 sys=tf(num,den)%多项式模型,num为分子多项式的系数向量,den为分母多项式的系%数向量,函数tf()创建一个TF模型对象。 sys=zpk(z,p,k)%z为系统的零点向量,p为系统的极点向量,k为增益值,函数zpk()创建一个ZPK模型对象。 (一)控制系统的参数模型 1、TF模型 传递函数 num=[b m b m-1b m-2…b1b0] den=[a m a m-1a m-2…a1a0] sys=tf(num,den) 【例1】系统的传递函数为。 >>num=[01124448]; >>den=[11686176105]; >>sys=tf(num,den); >>sys Transfer function: s^3+12s^2+44s+48 ------------------------------------- s^4+16s^3+86s^2+176s+105 >>get(sys) >>set(sys) >>set(sys,'num',[212])

>>sys Transfer function: 2s^2+s+2 ------------------------------------- s^4+16s^3+86s^2+176s+105 【例2】系统的传递函数为。 >>num=conv([20],[11]); >>num num= 2020 >>den=conv([100],conv([12],[1610])); >>sys=tf(num,den) Transfer function: 20s+20 ------------------------------- s^5+8s^4+22s^3+20s^2 【例3】系统的开环传递函数为,写出单位负反馈时闭环传递函数的TF模型。>>numo=conv([5],[11]); >>deno=conv([100],[13]); >>syso=tf(numo,deno); >>sysc=feedback(syso,1) Transfer function: 5s+5 ---------------------- s^3+3s^2+5s+5 【例4】反馈系统的结构图为: R

MATLAB电路仿真实例

题14.14 图(a)所示电路,已知 V )2cos(15S t u =二端口网络阻抗参数矩阵 Ω?? ????=46j 6j 10Z 求ab 端戴维南等效电路并计算电压o u 。 u -+o u 图题14.14 (一)手动求解: 将网络N 用T 型电路等效,如图(b)所示 S U +-o U 等效阻抗 Ω=-+-?+ -=4.6j615j6j6)15(6j 6j 4i Z 开路电压 V 2j302 15j6j6105j6OC =?∠?+-+=U V 1482 18.3j46.42j3j4j4Z j4OC o ?∠=+?=?+=U U i

所以 )1482cos(18.3o ?+=t u V (二)Matlab 仿真: ⒈分析:本次仿真需输入各阻抗Zl 、Z1、Z2、Z3、Z4以及激励源Us 的参数值,仿真结果需输出开路电压Uoc 、等效阻抗Zi 以及电感两端电压U0的幅值和相位信息,并绘制Uoc ,U0的值随时间变化的波形曲线。其中各元件与原图的对应关系如下图所示: ⒉编辑M 文件的源程序如下: clear %清空自定义变量 z1=4-6j;z2=6j;z3=10-6j;z4=5;us=15*exp(j*0);zl=4j;%输入各元件参数 zi=z1+(z2*(z3+z4)/(z2+z3+z4));%等效阻抗zi 的计算表达式uoc=us*z2/(z2+z3+z4);%开路电压uoc 的计算表达式u0=zl/(zi+zl)*uoc;%电感两端电压uo 的计算表达式disp('The magnitude of zi is'); %在屏幕上显示“The magnitude of zi is ”disp(abs(zi)) %显示等效阻抗zi 的模disp('The phase of zi is'); %在屏幕上显示“The phase of zi is ”disp(angle(zi)*180/pi)%显示等效阻抗zi 的辐角 disp('The magnitude of uoc is'); %在屏幕上显示“The magnitude of uoc is ” disp(abs(uoc))%显示开路电压uoc 的模

信号与系统的MATLAB仿真(燕庆明第四版配套)

信号与系统的MATLAB 仿真 一、信号生成与运算的实现 1.1 实现)3(sin )()(π±== =t t t t S t f a )(sin )sin()sin(sin )()(t c t t t t t t t S t f a '=' '== ==πππ π ππ m11.m t=-3*pi:0.01*pi:3*pi; % 定义时间范围向量t f=sinc(t/pi); % 计算Sa(t)函数 plot(t,f); % 绘制Sa(t)的波形 运行结果: 1.2 实现)10() sin()(sin )(±== =t t t t c t f ππ m12.m t=-10:0.01:10; % 定义时间范围向量t f=sinc(t); % 计算sinc(t)函数 plot(t,f); % 绘制sinc(t)的波形 运行结果: 1.3 信号相加:t t t f ππ20cos 18cos )(+= m13.m syms t; % 定义符号变量t f=cos(18*pi*t)+cos(20*pi*t); % 计算符号函数f(t)=cos(18*pi*t)+cos(20*pi*t) ezplot(f,[0 pi]); % 绘制f(t)的波形 运行结果:

1.4 信号的调制:t t t f ππ50cos )4sin 22()(+= m14.m syms t; % 定义符号变量t f=(2+2*sin(4*pi*t))*cos(50*pi*t) % 计算符号函数f(t)=(2+2*sin(4*pi*t))*cos(50*pi*t) ezplot(f,[0 pi]); % 绘制f(t)的波形 运行结果: 1.5 信号相乘:)20cos()(sin )(t t c t f π?= m15.m t=-5:0.01:5; % 定义时间范围向量 f=sinc(t).*cos(20*pi*t); % 计算函数f(t)=sinc(t)*cos(20*pi*t) plot(t,f); % 绘制f(t)的波形 title('sinc(t)*cos(20*pi*t)'); % 加注波形标题 运行结果:

matlab-SIMULINK仿真实例资料

二并联杆数控螺旋面钻头尖刃磨机的机构仿真 一、仿真原理一、实训题目:全自动洗衣机控制系统 实训目的及要求: 1、掌握欧姆龙PLC的指令,具有独立分析和设计程序的能力 2、掌握PLC梯形图的基本设计方法 3、培养分析和解决实际工程问题的能力 4、培养程序设计及调试的能力 5、熟悉传输带控制系统的原理及要求 实训设备:: 1、OMRON PLC及模拟实验装置1台 2、安装CX-P编程软件的PC机1台 3、PC机PLC通讯的RS232电缆线1根 实训内容: 1、分析工艺过程,明确控制要求 (1)按下启动按扭及水位选择开关,相应的显示灯亮,开始进水直到高(中、低)水位,关水。 (2)2秒后开始洗涤。 (3)洗涤时,正转30秒停2秒;然后反转30秒停2秒。 (4)循环5次,总共320秒,然后开始排水。排水后脱水30秒。 图1 全自动洗衣机控制 2、统计I/O点数并选择PLC型号 输入:系统启动按钮一个,系统停止按钮一个,高、中、低水位控制开关三个,高、中、低液位传感器三个,以及排水液位传感器一个。

输出:进出水显示灯一盏,高、中、低水位显示灯各一盏,电机正、反转显示灯各一盏,排水、脱水显示灯灯各一盏。 PLC的型号:输入一共有9个,考虑到留有15%~20%的余量即9×(1+15%)=10.35,取整数10,所以共需10个输入点。输出共有8个,8×(1+15%)=9.2,取整数9,所以共需9个输出点。可以选OMRON公司的CPM1A/CPM2A 型PLC就能满足此例的要求。 3、I/O分配 表1 全自动洗衣机控制I/O分配表 输入输出 地址名称地址名称 00000 启动系统按钮01000 排水显示灯 00001 高水位选择按钮01001 脱水显示灯 00002 中水位选择按钮01002 进、出水显示灯 00003 低水位选择按钮01003 高水位显示灯 00004 排水液位传感器01004 中水位显示灯 00005 停止系统按钮01005 低水位显示灯 00006 高水位液位传感器01006 电机正转显示灯 00007 中水位液位传感器01007 电机反转显示灯 00008 低水位液位传感器 4、PLC控制程序设计及分析 实现功能:当按下按钮00000,中间继电器20000得电并自锁,按下停止按钮00005,中间继电器20000掉电。中间继电器20000为系统总启动。 实现功能:当按下按钮00001,中间继电器20001得电并自锁;当中间继电器20002、20003、20004、20007任意一个为ON,或按下停止按钮00005,或01000、01001为ON时,中间继电器20001掉电。

MATLAB电路仿真实例

题14.14 图(a)所示电路,已知 二端口网络阻抗参数矩阵 求ab 端戴维南等效电路并计算电压。 (一) 手动求解: 将网络N 用T 型电路等效,如图(b)所示 等效阻抗 开路电压 V )2cos(15S t u =Ω??????=46j 6j 10Z o u u -+o u (a)图题14.14 S U +-o U Ω=-+-?+-=4.6j615j6j6)15(6j 6j 4i Z V 2j30215j6j6105j6OC =?∠?+-+=U V 148218.3j46.42j3j4j4Z j4OC o ?∠=+?=?+=U U i

所以 V (二) Matlab 仿真: ⒈分析:本次仿真需输入各阻抗Zl 、Z1、Z2、Z3、Z4以及激励源Us 的参数值,仿真结果需输出开路电压Uoc 、等效阻抗Zi 以及电感两端电压U0的幅值和相位信息,并绘制Uoc ,U0的值随时间变化的波形曲线。 其中各元件与原图的对应关系如下图所示: ⒉编辑M 文件的源程序如下: clear %清空自定义变量 z1=4-6j;z2=6j;z3=10-6j;z4=5;us=15*exp(j*0);zl=4j; %输入各元件参数 zi=z1+(z2*(z3+z4)/(z2+z3+z4)); %等效阻抗zi 的计算表达式 uoc=us*z2/(z2+z3+z4); %开路电压uoc 的计算表达式 u0=zl/(zi+zl)*uoc; %电感两端电压uo 的计算表达式 disp('The magnitude of zi is'); %在屏幕上显示“The magnitude of zi is ” disp(abs(zi)) %显示等效阻抗zi 的模 disp('The phase of zi is'); %在屏幕上显示“The phase of zi is ” disp(angle(zi)*180/pi) %显示等效阻抗zi 的辐角 disp('The magnitude of uoc is'); %在屏幕上显示“The magnitude of uoc is ” disp(abs(uoc)) %显示开路电压uoc 的模 disp('The phase of uoc is'); %在屏幕上显示“The magnitude of uoc is ” ) 1482cos(18.3o ?+=t u

基于MATLAB的IS-95系统仿真

CDMA 期末论文 基于MATLAB的IS-95系统仿真 课程名称CDMA蜂窝移动通信姓名 学号 专业 成绩 任课老师 上课学期

1 作业要求 ● 分析给出的源程序,逐行给出中文注释,并分析仿真结果。 ● 按照如图1所示的框图设计一个CDMA 系统,并进行仿真。 图1 CDMA 系统框图 2 题目一 2.1 源程序注释 2.1.1 主程序部分 %main_CDMA_forward.m %此函数用于IS-95前向链路系统的仿真,包括扩 %频调制,匹配滤波,RAKE 接收等相关通信模块。 %但没有在频带上进行调制仿真。 %仿真环境: 加性高斯白噪声信道. %数据速率 = 9600 KBps % clear all close all clc disp('--------------start-------------------'); % 定义通信仿真全局变量 global Zi Zq Zs show R Gi Gq % Zi I 支路扩频PN 序列生成器状态 % ZQ Q 支路扩频PN 序列生成器状态 % Zs 扰码PN 序列生成器状态 % show 指示是否画出仿真过程各部分产生的输出 信源 卷积编 交织编扩频 加扰 调制 AWGN 信道 解调 解扰信宿 解卷积 解交织 解扩

% R 仿真时码元宽度 % Gi I支路扩频PN序列 % Gq Q支路扩频PN序列 clear j; show = 0; SD = 0; % 选择软/硬判决接收 %-------------------主要的仿真参数设置------------------ % 信道数据率为9600 bps BitRate = 9600; % 码片速率为1.2288 MHz ChipRate = 1228800; % 消息码元个数 N = 184; % 匹配滤波器类型--升余弦 MFType = 1; R = 5; %+++++++++++++++++++Viterbi生成多项式++++++++++++++++++ % 维特比译码器(译卷积码) G_Vit = [1 1 1 1 0 1 0 1 1; 1 0 1 1 1 0 0 0 1]; % 生成矩阵的长度 K = size(G_Vit, 2); % 输出码片数 L = size(G_Vit, 1); %++++++++++++++++++++++++++++++++++++++++++++++++++++++ %++++++++++++++++++++++Walsh矩阵++++++++++++++++++++++++ % 规定需要的Walsh序列长度 WLen = 64; % 生成64 bit Walsh序列[1010.....] Walsh = reshape([1;0]*ones(1, WLen/2), WLen , 1); %Walsh = zeros(WLen ,1); %++++++++++++++++++++++++++++++++++++++++++++++++++++++ %++++++++++++++++++扩频调制PN码的生成多项式++++++++++++++ %Gi = [ 1 0 1 0 0 0 1 1 1 0 1 0 0 0 0 1]'; %Gq = [ 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0 1]'; % I信道扩频PN序列生成多项式 Gi_ind = [15, 13, 9, 8, 7, 5, 0]'; % I信道扩频PN序列生成多项式 Gq_ind = [15, 12, 11, 10, 6, 5, 4, 3, 0]'; % 初始化序列Gi(16 bit,全零) Gi = zeros(16, 1); % 根据生成多项式Gi_ind将对应位置1 Gi(16-Gi_ind) = ones(size(Gi_ind)); % 初始化I路信道PN码生成器的初始状态 Zi = [zeros(length(Gi)-1, 1); 1]; % 初始化序列Gi(16 bit,全零) Gq = zeros(16, 1); % 根据生成多项式Gq_ind将对应位置1,得到二进制生成多项式

MATLAB仿真实例

一、实验目的 (1) 二、实验题目 (1) 三、实验内容 (1) 3.1傅里叶变换与傅里叶反变换 (1) 3.2题目一:正弦信号波形及频谱 (2) 3.2.1仿真原理及思路 (2) 3.2.2程序流程图 (3) 3.2.3仿真程序及运行结果 (3) 3.2.4实验结果分析 (5) 3.3题目二:单极性归零(RZ)波形及其功率谱 (5) 3.3.1仿真原理及思路 (5) 3.3.2程序流程图 (6) 3.3.3仿真程序及运行结果 (6) 3.3.4实验结果分析 (8) 3.4题目三:升余弦滚降波形的眼图及其功率谱 (8) 3.4.1仿真原理及思路 (8) 3.4.2程序流程图 (8) 3.4.3仿真程序及运行结果 (8) 3.4.4实验结果分析: (10) 3.5题目四:完成PCM编码及解码的仿真 (11) 3.5.1仿真原理及思路 (11) 3.5.2程序流程图 (12) 3.5.3仿真程序及运行结果 (12) 3.5.4实验结果分析 (15) 3.6附加题一:最佳基带系统的Pe~Eb\No曲线,升余弦滚降系数a=0.5,取 样值的偏差是Ts/4 (16) 3.6.1仿真原理及思路 (16) 3.6.2程序流程图 (16) 3.6.3仿真程序及运行结果 (16) 3.6.4实验结果分析 (18) 3.7附加题二:试作出Pe~Eb/No曲线。升余弦滚降系数a=0.5,取样时间无 偏差,但信道是多径信道,C(f)=|1-0.5-j2 ft|,t=T s/2 (18) 3.7.1仿真原理及思路 (18) 3.7.2程序流程图 (19) 3.7.3仿真程序及运行结果 (19) 3.7.4实验结果分析 (21) 四、实验心得 (21)

第12章matlabsimulink系统仿真_习题答案

第12章 MATLAB Simulink系统仿真 习题12 一、选择题 1.启动Simulink后,屏幕上出现的窗口是()。A A.Simulink起始页 B.Simulink Library Browser窗口 C.Simulink Block Browser窗口 D.Simulink模型编辑窗口2.模块的操作是在()窗口中进行的。D A.Library Browser B.Model Browser C.Block Editer D.模型编辑 3.Integrator模块包含在()模块库中。B A.Sources B.Continuous C.Sinks D.Math Operations 4.要在模型编辑窗口中复制模块,不正确的方法是()。B A.单击要复制的模块,按住鼠标左键并同时按下Ctrl键,移动鼠标到适当位置放开鼠标B.单击要复制的模块,按住鼠标左键并同时按下Shift键,移动鼠标到适当位置放开鼠标 C.在模型编辑窗口选择Edit→Copy命令和Edit→Paste命令 D.右键单击要复制的模块,从快捷菜单中选择Copy命令和Paste命令 5.已知仿真模型如图12-41(a)所示,示波器的输出结果如图12-41(b)所示。 (a)仿真模型

(b )示波器输出结果 图12-41 习题仿真模型及仿真结果 则XY Graph 图形记录仪的输出结果是( )。C A .正弦曲线 B .余弦曲线 C .单位圆 D .椭圆 二、填空题 1.Simulink (能/不能)脱离MATLAB 环境运行。 2.建立Simulink 仿真模型是在 窗口进行的。模型编辑窗口 3.Simulink 仿真模型通常包括 、系统模块和 三种元素。 信号源(Source ),信宿(Sink ) 4.由控制信号控制执行的子系统称为 ,它分为 、 和 。 条件执行子系统,使能子系统,触发子系统,使能加触发子系统。 5.为子系统定制参数设置对话框和图标,使子系统本身有一个独立的操作界面,这种操作称为子系统的 。封装(Masking ) 三、应用题 1.利用Simulink 仿真来实现摄氏温度到华氏温度的转换:9325f c T T = +。 2.利用Simulink 仿真)5cos 2513cos 91(cos 8)(2 t ωt ωt ωπA t x ++= ,取A=1,ω=2π。 3.设系统微分方程为 '(1)2 y x y y =+??=? 试建立系统模型并仿真。 4.设计一个实现下面函数模块的子系统并对子系统进行封装。 Output = (Input1+ I nput2)×Input3-Input4 5.已知y=kx+b ,其中x 为输入,k 、b 为待定参数,试采用S 函数实现模块,并封装和测试该模块。

基于matlab的通信系统仿真

创新实践报告 报告题目:基于matlab的通信系统仿真 一、引言 现代社会发展要求通信系统功能越来越强,性能越来越高,构成越来越复杂;另一方面,要求通信系统技术研究和产品开发缩短周期,降低成本,提高水平。这样尖锐对立的两个方面的要求,只有通过使用强大的计算机辅助分析设计技术和工具才能实现。在这种迫切的需求之下,MATLAB应运而生。它使得通信系统仿真的设计和分析过程变得相对直观

和便捷,由此也使得通信系统仿真技术得到了更快的发展。 通信系统仿真贯穿着通信系统工程设计的全过程,对通信系统的发展起着举足轻重的作用。通信系统仿真具有广泛的适应性和极好的灵活性,有助于我们更好地研究通信系统性能。 通信系统仿真的基本步骤如下图所示: 二、仿真分析与测试 (1)随机信号的生成 1 k 比k 和n 可以得知奇数个1模2运算后结果仍是1,偶数个1模2运算后结果是0。 2、译码原理 卷积码译码方法主要有两类:代数译码和概率译码。代数译码主要根据码本身的代数特性进行译码,而信道的统计特性并没有考虑在内。目前,代数译码的主要代表是大数逻辑解码。该译码方法对于约束长度较短的卷积码有较好的效果,并且设备较简单。概率译码,又称最大似然译码,是基于信道的统计特性和卷积码的特点进行计算。在现代通信系统中,维特比译码是目前使用最广泛的概率译码方法。 02 1V D D =⊕

维特比译码算法基本原理是:将接收到的信号序列和所有可能的发送信号序列比较,选择其中汉明距离最小的序列认为是当前发送序列。 维特比译码的前提是建立合适的网格图,以便寻找最优路径。或者可以认为,维特比译码的关键是寻找最优路径。在实际的译码操作过程中,怎样建立网格以及建立网格后的路径的选择是译码的关键问题。 (3)调制与解调 1)BPSK 的调制原理 二进制移相键控2PSK 信号。通常用已调信号载波的0度和180度分别表示二进制数字基带 信号的1和0。二进制移相键控信号的时域表达式为 其中,n a 与2ASK 和2FSK 时的不同,在2PSK 调制中,n a 应选择双极性,即当发送概率为P ,1a =n ,当发送概率为1-P, 1-=n a 。若g(t)是脉宽为S T 、高度为1的矩形脉冲,则有 当发送概率为P 时,)cos()(2t w t e c PSK = (式2—2) 发送概率为1-P 时,)cos(2t w e c PSK -= (式2—3) 由(式2—2)和(式2—3)可以看出,当发送二进制符号1时,已调信号)(e 2t PSK 取0度相位,当发送二进制符号为0时,)(e 2t PSK 取180度相位,则有)cos(2n c PSK t w e ?+=,其中发送符号1,00=n ?,发送符号0,0180=n ?。 这种以载波的不同相位直接表示相应二进制数字调制信号的调制方式,称为二进制绝对移向方式。下面为2PSK 信号调制原理框图2.1所示: 图2.1:2PSK 信号的调制原理图(模拟调制方法) 2) BPSK 解调原理 2PSK 信号的解调通常都采用相干解调,解调器原理如图2.3所示,在相干解调过程中需要用到和接收的2PSK 信号同频同相的想干载波。 图2.3:BPSK 相干解调 S(t 码型变换 乘法器 带通滤 波器 相乘器 低通滤波器 抽样 判决器 定时 脉 冲 输出 a b c d e

相关文档