MATLAB-仿真技术

合集下载

MATLAB仿真技术

MATLAB仿真技术

MATLAB仿真技术作业合集页脚内容1页脚内容1第1章 习题5.利用直接输入法和矩阵编辑器创建矩阵A=⎥⎦⎤⎢⎣⎡642531。

解:⑴利用直接输入法输入程序A=[1 3 5;2 4 6]按Enter 键后,屏幕显示A = 1 3 52 4 6⑵用矩阵编辑器创建矩阵,如图1.1所示。

图1.1 MATLAB 编辑器7.用矩阵编辑器创建矩阵a,使a 具有如下矩阵形式。

页脚内容2a=⎥⎦⎤⎢⎣⎡642531⇒a=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡654321⇒a=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡987654321⇒a=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡098706540321⇒a=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡0000098706540321 解:用矩阵编辑器创建矩阵a 的过程如图1.2、1.3、1.4、1.5、1.6所示。

图1.2 图1.3图1.4 图1.5图1.6页脚内容39.已知矩阵B=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡922518113211912102201304161475231501017,试:①提取矩阵B 的第一行和第二行的第2、4、5个元素组成新矩阵1B ;②提取矩阵B 的第三行和第一行的全部元素组成新矩阵2B ;③使矩阵B 的第一行和第三行的第2;4个元素为0;④标出矩阵B 的第一行中小于5的元素。

解:①如上题,用矩阵编辑器生成矩阵B ,再输入程序B1=B([1,2],[2,4,5])按Enter 键后,屏幕显示B1 = 0 0 155 14 16②输入程序B2=B([1,3],:)按Enter 键后,屏幕显示B2 = 17 0 1 0 15 4 0 13 0 22③第一行和第三行的第2;4个元素原本就为0。

④输入程序如下C=B(1,:)<5; %将B矩阵第一行中小于5 的值标记为1D=B(1,C) %去B矩阵第一行中标为1的元素按Enter键后,屏幕显示D= 0 1 011.已知矩阵a为4阶魔方阵,令a+3赋值给b,a+b赋值给c,求b和c。

Matlab仿真建模的基本原理与技术

Matlab仿真建模的基本原理与技术

Matlab仿真建模的基本原理与技术Matlab(Matrix Laboratory)是一种高级编程语言和环境,广泛应用于科学与工程领域。

它具备强大的数值计算和数据可视化功能,能够帮助工程师和科学家解决各种实际问题。

本文将探讨Matlab仿真建模的基本原理与技术。

一、Matlab的基本特点Matlab是一款强大的数学工具,具有以下特点:1. 矩阵运算能力:Matlab的核心功能是进行矩阵数学运算。

它提供了简洁而强大的语法,使得矩阵和向量的计算变得方便且高效。

2. 大量的内置函数:Matlab拥有丰富的内置函数库,包括数值计算、信号处理、图像处理、优化、统计等领域。

这些函数可以极大地简化复杂问题的求解过程。

3. 可视化功能:Matlab提供了丰富的数据可视化工具,能够直观地显示和分析数据。

用户可以通过绘制曲线、制作动画等方式,深入了解数据的规律。

4. 兼容性:Matlab是跨平台的,可以在多个操作系统上运行,如Windows、Linux和MacOS等。

这使得用户可以在不同的计算环境下无缝切换和共享代码。

5. 可扩展性:Matlab支持用户自定义函数和工具箱的开发。

这样,用户可以根据自己的需求进行定制和扩展,使Matlab更适应各种应用场景。

二、Matlab仿真建模的基本步骤Matlab中的仿真建模可以分为以下步骤:1. 确定仿真建模目标:首先,需要明确仿真的目标是什么,例如系统性能评估、控制策略设计等。

这有助于确定仿真的范围和需要建立的模型。

2. 收集输入数据:仿真建模需要用到输入数据,在确定仿真目标后,需收集和准备相应的输入数据。

输入数据可以是实验数据、统计数据或者通过其他模型得到的数据。

3. 建立模型:根据仿真的目标,使用Matlab编写代码,建立合适的数学模型。

在建立模型过程中,可借助Matlab提供的内置函数和工具箱,以及自己编写的辅助函数。

4. 设定参数和初始条件:模型的运行需要设定相应的参数和初始条件。

matlab系统仿真

matlab系统仿真

第七章系统仿真的MATLAB实现由于计算机技术的高速发展,我们可以借助计算机完成系统的数字仿真。

综前所述,数字仿真实质上是根据被研究的真实系统的模型,利用计算机进行实验研究的一种方法。

仿真的主要过程是:建立模型、仿真运行和分析研究仿真结果。

仿真运行就是借助一定的算法,获得系统的有关信息。

MATLAB是一种面向科学与工程计算的高级语言,它集科学计算、自动控制、信号处理、神经网络和图像处理等学科的处理功能于一体,具有极高的编程效率。

MATLAB是一个高度集成的系统,MATLAB提供的Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,它支持线性和非线性系统,能够在连续时间域、离散时间域或者两者的混合时间域里进行建模,它同样支持具有多种采样速率的系统。

在过去几年里,Simulink已经成为数学和工业应用中对动态系统进行建模时使用得最为广泛的软件包。

MATLAB仿真有两种途径:(1)MATLAB可以在SIMULINK窗口上进行面向系统结构方框图的系统仿真;(2)用户可以在MATLAB的COMMAND窗口下,用运行m文件,调用指令和各种用于系统仿真的函数,进行系统仿真。

这两种方式可解决任意复杂系统的动态仿真问题,前者编辑灵活,而后者直观性强,实现可视化编辑。

下面介绍在MATLAB上实现几类基本仿真。

7.1 计算机仿真的步骤在学习计算机仿真以前,让我们先总结一下计算机仿真的步骤。

计算机仿真,概括地说是一个“建模—实验—分析”的过程,即仿真不单纯是对模型的实验,还包括从建模到实验再到分析的全过程。

因此进行一次完整的计算机仿真应包括以下步骤:(1)列举并列项目每一项研究都应从说明问题开始,问题由决策者提供或由熟悉问题的分析者提供。

(2)设置目标及完整的项目计划目标表示仿真要回答的问题、系统方案的说明。

项目计划包括人数、研究费用以及每一阶段工作所需时间。

(3)建立模型和收集数据模型和实际系统没有必要一一对应,模型只需描述实际系统的本质或者描述系统中所研究部分的本质。

matlab电机仿真精华50例

matlab电机仿真精华50例

matlab电机仿真精华50例Matlab是一种功能强大的仿真软件,它被广泛应用于电机仿真领域。

在这篇文章中,我们将介绍Matlab电机仿真的50个精华例子,帮助读者更好地了解和应用电机仿真技术。

1. 直流电机的仿真:通过Matlab可以模拟直流电机的性能,包括转速、扭矩和电流等。

2. 交流电机的仿真:使用Matlab可以模拟交流电机的工作原理,包括转子和定子的相互作用。

3. 同步电机的仿真:通过Matlab可以模拟同步电机的运行特性,包括电压和频率的控制。

4. 步进电机的仿真:利用Matlab可以模拟步进电机的运行过程,包括步进角度和步进速度等。

5. 无刷直流电机的仿真:通过Matlab可以模拟无刷直流电机的工作原理,包括转子和定子的相互作用。

6. 电机控制系统的仿真:利用Matlab可以模拟电机控制系统的运行过程,包括速度和位置的闭环控制。

7. 电机噪声的仿真:通过Matlab可以模拟电机噪声的产生和传播过程,帮助优化电机的设计。

8. 电机故障诊断的仿真:利用Matlab可以模拟电机故障的发生和诊断过程,提供故障检测和排除的方法。

9. 电机热仿真:通过Matlab可以模拟电机的热传导和散热过程,帮助优化电机的散热设计。

10. 电机振动的仿真:利用Matlab可以模拟电机的振动特性,帮助优化电机的结构设计。

11. 电机效率的仿真:通过Matlab可以模拟电机的能量转换过程,评估电机的效率和能耗。

12. 电机启动过程的仿真:利用Matlab可以模拟电机的启动过程,包括起动电流和启动时间等。

13. 电机负载仿真:通过Matlab可以模拟电机在不同负载条件下的工作特性,帮助优化电机的设计。

14. 电机饱和仿真:利用Matlab可以模拟电机在饱和状态下的工作特性,提供更准确的仿真结果。

15. 电机电磁干扰的仿真:通过Matlab可以模拟电机产生的电磁干扰对其他设备的影响,提供干扰抑制的方法。

16. 电机电磁场的仿真:利用Matlab可以模拟电机内部的电磁场分布,帮助优化电机的设计。

matlab 控制系统仿真

matlab 控制系统仿真

摘要MATLAB语言是一种十分有效的工具,能容易地解决在系统仿真及控制系统计算机辅助设计领域的教学与研究中遇到的问题,它可以将使用者从繁琐的底层编程中解放出来,把有限的宝贵时间更多地花在解决科学问题上。

MATLAB GUI 是MATLAB的人机交互界面。

由于GUI本身提供了windows基本控件的支持,并且具有良好的事件驱动机制,同时提供了MATLAB数学库的接口,所以GUI 对于控制系统仿真的平台设计显得十分合适。

GUI对于每个用户窗口生成.fig和.m 文件。

前者负责界面的设计信息,后者负责后台代码的设计。

本文所做的研究主要是基于MATLAB GUI平台,结合控制系统基础理论和MATLAB控制系统工具箱,实现了用于控制系统计算机辅助分析与设计的软件。

本软件主要功能:实现传递函数模型输入、状态方程模型输入、模型装换、控制系统稳定性分析、系统可观性可控性判断,绘制系统奈奎斯特图、波特图、根轨迹图以及零极点分布图。

在继续完善的基础上能够用于本科自动控制原理教程的教学实验和一般的科学研究。

关键词:控制系统;MATLAB GUI;计算机辅助设计AbstractMATLAB language is a very effective tool,and can be easily resolved in the system simulation and control system of teaching in the field of computer-aided design and research problems,it could be the bottom of the user from tedious programming liberate the limited spend more valuable time to solve scientific problems.The MATLAB GUI is the interactive interface.As the GUI itself provides the basic control windows support,and has a good mechanism for event-driven,while providing the MATLAB Math Library interface,the GUI for control system simulation platform for the design of it is suitable. GUI window generated for each user. Fig and.M file. The former is responsible for the design of the interface information,which is responsible for the design of the background code.Research done in this article is mainly based on MATLAB GUI platform,the basis of combination of control system theory and MATLAB Control System Toolbox,the realization of control systems for computer-aided analysis and design software. The main functions of the software: the realization of transfer function model input,the state equation model input,the model fitted for the control system stability analysis,system observability controllability judgments、rendering the system Nyquist diagram、Bode plots、root locus and Pole-zero distribution. While continuing to improve based on the principle of automatic control can be used for undergraduate teaching course experiments and scientific research in general.Key words:Control System;MATLAB GUI; Computer-assistant design目录第1章概述 (1)1.1 论文选题背景和意义 (1)1.2 计算机辅助分析与设计在控制系统仿真中的发展现状 (1)1.3 本文主要内容 (3)第2章控制系统与MATLAB语言 (4)2.1 控制系统理论基础 (4)2.2 MATLAB语言与控制系统工具箱 (5)第3章 MATLAB GUI简介及应用 (9)3.1 MATLAB GUI (9)3.2 软件设计步骤 (10)第4章仿真系统测试与演示 (16)4.1 控制系统的模型输入 (16)4.2 控制系统的稳定性分析 (19)4.3 控制系统可控可观性分析 (20)4.4 控制系统频率响应 (23)4.5 控制系统时域响应 (27)4.6 控制系统根轨迹绘制 (28)结论 (31)参考文献 (32)致谢 (33)第1章概述1.1 论文选题背景和意义自动控制原理是自动控制专业和自动化专业的主要课程之一,是研究自动控制技术的基础理论课,是必修的专业基础课程。

Matlab中的模拟与仿真技术详解

Matlab中的模拟与仿真技术详解

Matlab中的模拟与仿真技术详解引言Matlab是一种被广泛应用于科学研究和工程领域的高级计算环境和编程语言。

它提供了丰富的函数库和工具箱,使得模拟和仿真技术得以在各种科学和工程应用中发挥出色的作用。

本文将详细介绍Matlab中的模拟与仿真技术,并深入探讨其在不同领域的应用。

一、Matlab中的模拟技术1.1 数学模型的建立在Matlab中进行模拟,首先需要建立相应的数学模型,以描述系统的行为。

数学模型可以是一组方程、差分方程、微分方程等,用于描述系统的输入、输出和中间变量之间的关系。

Matlab提供了强大的数学工具,如符号计算工具箱,可以帮助用户更方便地建立和求解各种数学模型。

1.2 信号与系统模拟信号与系统模拟是Matlab中常见的一种模拟技术。

通过模拟信号的输入、处理和输出过程,可以对系统进行分析和验证。

在Matlab中,可以使用信号处理工具箱中的函数来生成、操作和分析各种类型的信号。

例如,可以生成正弦波、方波、脉冲信号等,并对它们进行滤波、频谱分析、时频分析等操作。

1.3 电路模拟电路模拟是Matlab中另一个常用的模拟技术。

通过建立电路模型,可以对电路的行为进行仿真和分析。

Matlab提供了电路仿真工具箱,用户可以通过搭建电路拓扑结构和设置元器件参数,实现对电路的模拟和分析。

这种电路模拟技术在电子电路设计、性能评估和故障诊断等领域有广泛的应用。

1.4 机械系统模拟除了信号与系统和电路模拟外,Matlab还可以进行机械系统的模拟。

通过建立机械系统的动力学模型,可以预测物体的运动规律、受力情况等。

Matlab提供了机械系统建模和仿真工具箱,用户可以建立刚体系统、弹簧阻尼系统等,并进行仿真和动态分析。

这种机械系统模拟技术在机械工程、工业设计等领域具有重要的应用价值。

二、Matlab中的仿真技术2.1 数值仿真数值仿真是Matlab中最常见的仿真技术之一。

它通过数值计算方法对系统进行仿真,并得到系统的数值解。

机器人matlab仿真课程设计

机器人matlab仿真课程设计

机器人matlab仿真课程设计一、教学目标本课程的教学目标是使学生掌握机器人Matlab仿真基本原理和方法,能够运用Matlab进行简单的机器人系统仿真。

具体分解为以下三个目标:1.知识目标:学生需要了解机器人Matlab仿真的基本原理,掌握Matlab在机器人领域中的应用方法。

2.技能目标:学生能够熟练使用Matlab进行机器人系统的仿真,包括建立仿真模型、设置仿真参数、运行仿真实验等。

3.情感态度价值观目标:通过课程学习,培养学生对机器人技术的兴趣和热情,提高学生解决实际问题的能力,培养学生的创新精神和团队合作意识。

二、教学内容教学内容主要包括以下几个部分:1.Matlab基础知识:介绍Matlab的基本功能和操作,包括数据处理、图形绘制、编程等。

2.机器人数学模型:介绍机器人的运动学、动力学模型,以及传感器和执行器的数学模型。

3.机器人仿真原理:讲解机器人仿真的一般方法和步骤,包括建立仿真模型、设置仿真参数、运行仿真实验等。

4.机器人控制系统仿真:介绍机器人控制系统的结构和原理,以及如何使用Matlab进行控制系统仿真。

5.机器人路径规划仿真:讲解机器人在复杂环境中的路径规划方法,以及如何使用Matlab进行路径规划仿真。

三、教学方法为了达到上述教学目标,我们将采用以下教学方法:1.讲授法:通过讲解和演示,使学生了解机器人Matlab仿真的基本原理和方法。

2.案例分析法:通过分析实际案例,使学生掌握Matlab在机器人领域中的应用。

3.实验法:让学生亲自动手进行机器人仿真实验,巩固所学知识,提高实际操作能力。

4.小组讨论法:鼓励学生分组讨论,培养学生的团队合作意识和解决问题的能力。

四、教学资源为了支持教学内容的实施,我们将准备以下教学资源:1.教材:《机器人Matlab仿真教程》。

2.参考书:相关领域的研究论文和书籍。

3.多媒体资料:教学PPT、视频教程等。

4.实验设备:计算机、Matlab软件、机器人仿真实验平台。

Matlab建模仿真

Matlab建模仿真

例:
求解Lorenz模型的状态方程,初值为 x1(0)=x2(0)=0,x3(0)=1e-10;
8/ 3, 10, 28
求解Lorenz模型的状态方程,

x 1(t ) x1(t ) x 2(t ) x3(t ) x 2(t ) x 2(t ) x3(t )
模块连接解释
0.5
Gain
×
Product 1
x´=∂x/∂t =bx-px²



S
Sum
Integrator
Scope

Gain1
LOGO
微分方程的Simulink求解 及Matlab数字电路仿真
微分方程的Simulink建模与求解
建立起微分方程的 Simulink 模型 可以用 sim( ) 函数对其模型直接求解 得出微分方程的数值解
3.计算机仿真
计算机仿真是在研究系统过程中根据相似原理, 利用计算机来逼真模拟研究对象。研究对象可以 是实际的系统,也可以是设想中的系统。在没有 计算机以前,仿真都是利用实物或者它的物理模 型来进行研究的,即物理仿真。物理仿真的优点 是直接、形象、可信,缺点是模型受限、易破坏 、难以重用。
计算机作为一种最重要的仿真工具,已经推出了 模拟机、模拟数字机、数字通用机、仿真专用机 等各种机型并应用在不同的仿真领域。除了计算 机这种主要的仿真工具外还有两类专用仿真器: 一类是专用物理仿真器,如在飞行仿真中得到广 泛应用的转台,各种风洞、水洞等;另一类是用 于培训目的的各种训练仿真器,如培训原子能电 站、大型自动化工厂操作人员和训练飞行员、宇 航员的培训仿真器、仿真工作台和仿真机舱等
当然我们可以直接观察Matlab工具箱原有的 Lorenz

MATLAB仿真技术

MATLAB仿真技术
目录 主页
4. 系统建模 4.1 连续系统建模
线性系统建模举例
例3:复位积分器的功用示例。 在仿真启动时,积分器从零开始对 0.5 t 进行积分。当复位口 信号 t-5=0 瞬间,积分器被重置为零。此后,再对0.5 ( t-5 ) 进行积分。
例3_4_2:积分模块直接构造微分方程求解模型。
假设从实际自然界(力学、电学、生态等)或社会中,抽象 出有初始状态为0的二阶微分程 x 0.2x 0.4x 0.2u,(t) u(t)是单位阶跃函数。本例演示如何用积分器直接构搭求解该微 分方程的模型。
符号矩阵的基本运算:加、减、乘、除、微积分等。 符号代数方程的求解。 符号微分方程的求解。 符号积分变换。
目录 主页
MATLAB的可视化功能
(1)二维曲线图形和三维曲面图形
二维符号函数曲线。
二维曲线图形。
三维符号函数曲线。 三维曲面图形。
三维线性图形。
目录 主页
(2)句柄图形 句柄图形(Handle Graphics)是一种面向对象的绘图系统。 图形对象、对象句柄和句柄图形树。 • MATLAB把用于数据可视和界面制作的基本绘图要素称 为句柄图形对象。 • 构成MATLAB句柄图形体系有12个图形对象(见句柄图形 树) 。
例:直接利用传递函数模块求解方程。
对二阶微分程进行拉氏变换:s2 X (s) 0.2sX (s) 0.4X (s) 0.2U (s)
可以得到: G(s) X (s)
0.2
U (s) s 2 0.2s 0.4
目录 主页
4.1 连续系统建模(续)
非线性系统建模举例
例3:求非线性系统
目录 主页
MATLAB的数值计算功能

《MATLAB仿真技术》实验指导书2016附问题详解

《MATLAB仿真技术》实验指导书2016附问题详解

实验项目及学时安排实验一 MATLAB环境的熟悉与基本运算 2学时实验二 MATLAB数值计算实验 2学时实验三 MATLAB数组应用实验 2学时实验四 MATLAB符号计算实验 2学时实验五 MATLAB的图形绘制实验 2学时实验六 MATLAB的程序设计实验 2学时实验七 MATLAB工具箱Simulink的应用实验 2学时实验八 MATLAB图形用户接口GUI的应用实验 2学时实验一 MATLAB环境的熟悉与基本运算一、实验目的1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本知识1.熟悉MATLAB环境:MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。

2.掌握MATLAB常用命令3.MATLAB变量与运算符变量命名规则如下:(1)变量名可以由英语字母、数字和下划线组成(2)变量名应以英文字母开头(3)长度不大于31个(4)区分大小写MATLAB中设置了一些特殊的变量与常量,列于下表。

MATLAB运算符,通过下面几个表来说明MATLAB的各种常用运算符4.MATLAB的一维、二维数组的寻访表6 子数组访问与赋值常用的相关指令格式5.MATLAB的基本运算表7 两种运算指令形式和实质涵的异同表6.MATLAB的常用函数表8 标准数组生成函数表9 数组操作函数三、实验容1、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye(其它不会用的指令,依照此方法类推)2、学习使用clc、clear,观察command window、command history和workspace等窗口的变化结果。

3、初步程序的编写练习,新建M-file,保存(自己设定文件名,例如exerc1、exerc2、 exerc3……),学习使用MATLAB的基本运算符、数组寻访指令、标准数组生成函数和数组操作函数。

系统辨识与自适应控制matlab仿真_概述说明

系统辨识与自适应控制matlab仿真_概述说明

系统辨识与自适应控制matlab仿真概述说明1. 引言1.1 概述在控制系统中,系统辨识与自适应控制是两个重要的研究领域。

系统辨识是指通过实验数据来推断和建立数学模型,以揭示被控对象的动态特性和行为规律。

而自适应控制则是基于辨识模型预测,并根据外部环境变化及时调整控制策略,以实现对系统稳定性、鲁棒性和性能的优化。

本文将围绕系统辨识与自适应控制在Matlab仿真环境中的应用展开讨论。

首先,我们会介绍系统辨识和自适应控制的基本概念以及其在工程领域中的重要性。

然后,我们会详细介绍常用的系统辨识方法和自适应控制算法,并通过具体示例来说明它们的实际应用价值。

最后,我们会重点讲解如何利用Matlab进行仿真实验,并分享一些Matlab编程与仿真技巧。

1.2 文章结构本文共分为五个主要部分:引言、系统辨识、自适应控制、Matlab仿真以及结论与展望。

在引言部分,我们将介绍文章的背景和目的,以及整体结构安排。

接下来的三个部分将重点讨论系统辨识和自适应控制两个主题,并具体阐述各自的概念、方法、应用以及仿真结果分析。

最后一部分则是对全文进行总结回顾,并展望未来研究方向和发展趋势。

1.3 目的本文旨在通过对系统辨识与自适应控制在Matlab仿真环境中的研究与应用进行概述说明,帮助读者深入了解该领域的基本理论和实践技巧。

同时,在介绍相关概念和算法的同时,我们也希望能够启发读者思考并提出对未来研究方向和发展趋势的建议。

通过本文的阅读,读者将能够全面了解系统辨识与自适应控制在工程领域中的重要性,并学会利用Matlab进行仿真实验,从而加深对这一领域的理解与认知。

2. 系统辨识2.1 系统辨识概念系统辨识是指通过观测系统输入与输出之间的关系,以及对系统内部状态的估计,来建立数学模型以反映实际物理系统行为的过程。

在控制工程领域中,系统辨识是一种常用的方法,用于从已知输入与输出数据中推断出未知系统的特性和参数。

在系统辨识过程中,我们通常假设被研究的系统是线性、时不变且具有固定结构的。

MATLAB仿真技术与应用实验指导书

MATLAB仿真技术与应用实验指导书

MATLAB仿真技术与应用实验指导书MATLAB是基于矩阵的一种计算工具,它已经成为世界各国高校和研究人员中最为流行的软件之一。

它提供了丰富可靠的矩阵运算、数据处理、图形绘制、图像处理等便利工具,并且由于MATLAB的广泛应用,很多理论的创始人在MATLAB上开发了相关的工具箱,现在MATLAB附带的各方面工具箱有:控制系统、通讯、符号运算、小波计算、偏微分方程、数据统计、图像、金融、LMI 控制、QFT控制、数字信号处理、模糊控制、模型预估控制、频域辨识、高阶谱分析、统计学、非线性控制系统、图像处理、神经元网络、m 分析、信号处理、插值、优化、鲁棒控制、控制系统设计、系统辨识等等,并且MATLAB提供了图形化的时域仿真程序----Simulink,在高校中还开发有振动理论、化学统计学、语音处理等等方面的工具箱。

本实验课的基本目标是学会使用MATLAB基本功能,为在科研中应用打下基础。

主要应掌握在MATLAB中进行矩阵运算、多项式处理、控制语句、数字信号处理、基本绘图;掌握MATLAB的基本编程技巧,可以比较熟练的编写MATLAB程序;掌握SimuLink仿真的基本方法和元件构成,可以使用SimuLink 建立一般的时域仿真程序;掌握MATLAB的优化工具箱、插值工具箱、符号运算几个通用工具箱的使用和基本函数。

参考文献:1.薛定宇,陈阳泉.基于MATLAB/Simulink的系统仿真技术与应用.北京:清华大学出版社,20022.苏晓生.掌握MATLAB6.0及其工程应用.北京:科学出版社,20023.崔怡.MATLAB5.3实例详解.北京:航空工业出版社,20004.孙亮. MATLAB语言与控制系统仿真. 北京:北京工业大学出版社,2001 5.黄文梅,杨勇,熊桂林,成晓明. 系统仿真分析与设计——MATLAB语言工程应用. 长沙:国防科技大学出版社,20016.王沫然. Simulink4建模及动态仿真. 北京:电子工业出版社,20027.董景新,赵长德. 控制工程基础. 北京:清华大学出版社,19928.陈亚勇等编著. MATLAB信号处理详解. 北京:人民邮电出版社,20011 MATLAB语言基础实验1.1 MATLAB语言平台及基本运算一.实验目的1.学习了解MATLAB语言环境;练习MATLAB命令的基本操作;练习m 文件的基本操作;2.学习MATLAB的基本矩阵运算;学习MATLAB的点运算;学习复杂运算;3.学习MATLAB的基本符号运算;学习MATLAB的矩阵符号运算。

数字滤波器matlab仿真技术

数字滤波器matlab仿真技术

题目数字滤波器录内容摘要 ........................................................... - 1 - 关键词 ............................................................. - 1 - Abstract .............................................. 错误!未定义书签。

Keywords .............................................. 错误!未定义书签。

第一章前言 ........................................................ - 1 -1.1数字滤波器简述 .............................................. - 1 -1.2 Matlab简介 ................................................. - 2 - 第二章数字滤波器 .................................................. - 2 -2.1数字滤波器分类 .............................................. - 2 -2.2数字滤波器的的技术要求 ...................................... - 3 -2.3数字滤波器设计方法概述 ...................................... - 4 - 第三章 IIR滤波器的设计............................................. - 4 -3.1典型的IIR数字滤波器的设计 .................................. - 4 -3.2 Matlab提供的其它设计IIR滤波器的函数 ....................... - 6 -3.3 直接法设计IIR滤波器........................................ - 7 -3.4 IIR滤波器设计小结 .......................................... - 8 - 第四章 FIR滤波器的设计............................................. - 8 -4.1 窗函数法设计FIR滤波器...................................... - 9 -4.1.1 截断效应和窗函数 ...................................... - 9 -4.1.2 窗函数法设计FIR滤波器 ............................... - 10 -4.2 FIR滤波器设计实例 ........................................ - 12 -4.3 FIR滤波器设计小结 ......................................... - 14 - 第五章总结 ....................................................... - 15 - 参考文献: ........................................................ - 16 -内容摘要:鉴于滤波器在数字信号处理中的广泛应用以及在Matlab环境下设计滤波器的快捷方便等特性,本文研究了Matlab环境下,数字滤波器的设计与实现。

机器人matlab仿真课程设计

机器人matlab仿真课程设计

机器人matlab仿真课程设计一、课程目标知识目标:1. 让学生理解机器人matlab仿真的基本概念,掌握仿真环境的搭建方法;2. 使学生掌握机器人运动学、动力学的基本理论知识,并能在matlab中进行建模与仿真;3. 引导学生运用matlab编程实现机器人路径规划与控制策略,了解不同算法的优缺点。

技能目标:1. 培养学生运用matlab软件进行机器人仿真的操作能力;2. 培养学生分析问题、解决问题的能力,提高编程与调试技巧;3. 提高学生团队协作和沟通能力,学会在项目中共同解决问题。

情感态度价值观目标:1. 培养学生对机器人仿真技术的兴趣,激发创新意识和探索精神;2. 引导学生树立正确的价值观,认识到机器人技术在社会发展中的重要作用;3. 培养学生严谨、务实的科学态度,提高对科学研究的敬畏之心。

分析课程性质、学生特点和教学要求,本课程旨在让学生掌握机器人matlab 仿真的基本知识和技能,培养具备实际操作能力的高素质人才。

课程目标具体、可衡量,便于学生和教师在教学过程中进行评估和调整。

后续教学设计和评估将围绕这些具体学习成果展开。

二、教学内容1. 机器人matlab仿真基础- 机器人仿真概述- matlab软件操作基础- 仿真环境搭建2. 机器人运动学仿真- 运动学基本理论- 坐标变换与运动方程- matlab运动学建模与仿真3. 机器人动力学仿真- 动力学基本理论- 动力学方程建立- matlab动力学建模与仿真4. 机器人路径规划与控制- 路径规划算法介绍- 控制策略与算法实现- matlab路径规划与控制仿真5. 实践项目与案例分析- 项目要求与分组- 机器人仿真实践操作- 成果展示与案例分析教学内容依据课程目标,结合课本知识体系,确保科学性和系统性。

教学大纲明确教学内容安排和进度,涵盖机器人matlab仿真的各个关键环节。

学生通过本章节学习,能够全面掌握机器人仿真技术的基本知识和实践技能。

matlab仿真课程设计报告

matlab仿真课程设计报告

matlab仿真课程设计报告一、教学目标本课程的教学目标旨在通过MATLAB仿真技术的学习,使学生掌握MATLAB基本操作、仿真环境搭建、脚本编写及图形用户界面设计等技能,培养学生运用MATLAB解决实际问题的能力。

具体目标如下:1.知识目标:–理解MATLAB的系统结构及基本功能;–掌握MATLAB基本语法、数据类型、矩阵运算;–熟悉MATLAB仿真环境及相关工具箱;–了解MATLAB在工程领域的应用。

2.技能目标:–能够独立搭建简单的仿真环境;–能够运用MATLAB进行数据分析、算法实现;–具备编写MATLAB脚本及图形用户界面的能力;–能够运用MATLAB解决实际工程问题。

3.情感态度价值观目标:–培养学生的创新意识、团队协作精神及自主学习能力;–使学生认识到MATLAB在工程领域的重要性,提高学习兴趣;–培养学生运用所学知识解决实际问题的责任感。

二、教学内容本课程的教学内容主要包括MATLAB基础知识、MATLAB仿真环境及工具箱、脚本编写及图形用户界面设计等。

具体安排如下:1.MATLAB基础知识:–MATLAB概述及系统结构;–MATLAB基本语法、数据类型、矩阵运算。

2.MATLAB仿真环境及工具箱:–MATLAB仿真环境搭建;–MATLAB常用工具箱介绍,如控制系统、信号处理、图像处理等。

3.脚本编写及图形用户界面设计:–MATLAB脚本编写方法及技巧;–MATLAB图形用户界面设计原理及实例。

4.MATLAB在工程领域的应用:–利用MATLAB解决实际工程问题案例分析。

三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合,以激发学生的学习兴趣和主动性。

具体方法如下:1.讲授法:通过讲解MATLAB的基本概念、语法及应用,使学生掌握课程基本知识。

2.案例分析法:分析实际工程案例,让学生了解MATLAB在工程领域的应用,提高学生解决实际问题的能力。

3.实验法:安排适量实验,让学生动手操作,培养学生的实际操作能力和创新能力。

基于MATLABSimulink的机械系统仿真技术

基于MATLABSimulink的机械系统仿真技术

基于MATLABSimulink的机械系统仿真技术基于 MATLAB/Simulink 的机械系统仿真技术在当今科技飞速发展的时代,机械系统的设计和优化变得日益复杂。

为了更高效、准确地预测和分析机械系统的性能,基于MATLAB/Simulink 的机械系统仿真技术应运而生。

这项技术为机械工程师和研究人员提供了强大的工具,帮助他们在实际制造之前,就能对机械系统的行为有深入的了解和准确的预测。

机械系统仿真技术的核心在于通过建立数学模型来模拟真实世界中机械系统的运行。

而 MATLAB/Simulink 作为一款功能强大的数学计算和建模软件,为实现这一目标提供了丰富的资源和便捷的操作环境。

首先,让我们来了解一下 MATLAB/Simulink 的一些基本特点。

MATLAB 具有强大的数值计算和数据分析能力,能够处理复杂的数学公式和算法。

Simulink 则是一个基于图形化的建模环境,用户可以通过拖拽和连接各种模块来构建系统模型,这种直观的操作方式大大降低了建模的难度,提高了工作效率。

在机械系统仿真中,常见的模型类型包括刚体动力学模型、柔性体模型、传动系统模型等。

以刚体动力学模型为例,我们可以使用牛顿定律和欧拉方程来描述物体的运动。

通过在 Simulink 中定义质量、惯性矩、力和力矩等参数,以及它们之间的关系,就能模拟出刚体的运动轨迹和受力情况。

对于复杂的机械系统,如汽车的悬挂系统,不仅需要考虑刚体的运动,还需要考虑弹性元件和阻尼器的特性。

这时,就可以引入柔性体模型。

通过有限元分析等方法,可以将柔性体的模态信息导入到Simulink 中,与刚体模型相结合,从而更真实地反映系统的动态特性。

传动系统也是机械系统中的重要组成部分。

例如,齿轮传动系统的建模需要考虑齿轮的齿数、模数、压力角等参数,以及齿面接触和摩擦等因素。

在 MATLAB/Simulink 中,可以使用专门的模块来构建齿轮传动模型,并与其他部件的模型进行集成,以分析整个传动系统的性能。

Matlab平台下的仪表仿真技术

Matlab平台下的仪表仿真技术

《Matlab平台下的仪表仿真技术》实验报告班级:371711班学号:37171114姓名:苑海涛2010年12月一、实验目的用MATLAB软件仿真设计一些常用的飞行仪表(高度表、转弯侧滑仪、地平仪等)。

通过仪表仿真增加对飞机性能的了解,熟悉飞行仪表的工作原理,并能够进行仿真设计。

二、实验内容使用MATLAB软件设计气压高度表并进行仿真。

三、实验要求提供在功能上和外观上尽可能逼真的气压式高度表,可以实现至少两种类型高度(如标准气压高度、场压高度)的切换显示。

四、实验原理图1 各种高度示意图高度表原理:利用标准大气压下高度与大气压力的关系,利用真空膜盒测量大气压力,从而表示飞行高度。

理论依据:在标准大气条件下,高度和大气压力具有一一对应的关系。

图2 标准大气条件下高度和大气压力的关系五、程序设计思路本程序分为三个模块,分别是界面模块、指针数字模块和停止模块。

界面模块完成界面整体布局,以及程序载入时各参量变量的初始化工作。

指针数字模块主要实现是指针的移动和整千米一下数字的显示,完成指针加数字结合的显示气压高度的功能。

停止模块实现仿真过程中的停止功能。

六、详细程序流程界面模块:在程序加载时被调用,开始绘制表盘及指针。

此处在GUI界面内添加了开始、停止、加速、减速及输入高度的一些功能。

指针数字模块:此模块主要实现高度的显示。

首先单击开始,高度表按照预先设定的速度匀速升高,再单击结束时可以停止。

在高度显示过程中若点击加速或者减速,在下一次开始时高度表的变化速度相应的增加或者减少。

当有高度输入时,高度表的起始显示从此高度开始,高度表相当于始终显示的是绝对高度。

停止模块:当想结束程序时可以单击,用于停止程序。

七、仿真界面(程序运行截图和说明)Figure1是程序载入时的截图。

Figure2是程序在仿真时的截图。

此时上升速度比较小,运行一段时间才到21mFigure3是加速后过了一段时间的显示高度为672mFigure4是在相对高度输入5000时,高度表从5km开始显示,此时为5112m。

电力电子的Matlab仿真技术

电力电子的Matlab仿真技术
MATLAB提供了丰富的矩阵运算处理功能,是基于矩阵运算 的处理工具。
2 符号运算功能
3 丰富的绘图功能与计算结果的可视化
具有高层绘图功能——二维、三维绘图; 具有底层绘图功能——句柄绘图; 使用plot函数可随时将计算结果可视化,图形可修饰和控制
4 图形化程序编制功能
动态系统进行建模、仿真和分析的软件包 用结构图编程,而不用程序编程 只需拖几个方块、连几条线,即可实现编程功能
当用户估计要解决的问题是比较困难的,或者不能使用ode45,或者即使使用效果也不好,就可以用 ode15s。
ode23s:它是一种单步解法器,专门应用于刚性系统,在弱误差允许下的效果好于ode15s。它能
解决某些ode15s所不能有效解决的stiff问题。
ode23t:是梯形规则的一种自由插值实现。这种解法器适用于求解适度stiff的问题而用户又需
5 丰富的MATLAB工具箱
MATLAB主工具箱 符号数学工具箱 SIMULINK仿真工具箱 控制系统工具箱 信号处理工具箱 图象处理工具箱 通讯工具箱 系统辨识工具箱 神经元网络工具箱 金融工具箱
许多学科,在 MATLAB中都有专 用工具箱,现已有 几十个工具箱,但 MATLAB语言的扩 展开发还远远没有 结束,各学科的相 互促进,将使得 MATLAB更加强大
ode23:二/三阶龙格-库塔法,它在误差限要求不高和求解的问题不太难的情况下,可能会比
ode45更有效。也是一个单步解法器。
ode113:是一种阶数可变的解法器,它在误差容许要求严格的情况下通常比ode45有效。ode113
是一种多步解法器,也就是在计算当前时刻输出时,它需要以前多个时刻的解。
ode15s:是一种基于数字微分公式的解法器(NDFs)。也是一种多步解法器。适用于刚性系统,

2.5 应用MATLAB控制系统仿真-计算机-

2.5 应用MATLAB控制系统仿真-计算机-
例2.2所示的位置随动系统,在给定各元件参数并忽略La和令ML = 0的情况下,其结构图如图2-74所示:
图2-74 位置随动系统的结构图第一步求闭环传递函数GB (s)=q c(s) /q r(s),求解过程及结果如图2-75所示。第二步利用step()函数计算参考输入q r (t)为单阶跃信号时输出q c (t)的响应。
图2-63 分析弹簧—重物—阻尼器的MATLAB指 弹簧—重物—阻尼器的自由运动曲线MATLAB可分析以传递函数形式描述的系统。分子多项式和分母多项式都必须在MATLAB指令中指定。
在MATLAB中多项式由行向量组成,这些行向量包含了降次
>>y0=0.15;wn=sqrt(2);>>zeta1=3/(2*sqrt(2)); zeta2=1/(2*sqrt(2));
>>t=[0:0.1:10];>>unforced
(a)MATLAB指令窗口
* 计算系统在给定初始条件下的自由运动 t1=acos(zeta1)*ones(1,length(t)); t2=acos(zeta2)*ones(1,length(t));c1=(y0/sqrt(1-zeta1^2)); c2=(y0/sqrt(1-zeta2^2)); y1=c1*exp(-zeta1*wn*t)sin(wn*sqrt(1-zeta1^2)*t+t1); y2=c2*exp(-zeta2*wn*t)sin(wn*sqrt(1-zeta2^2)*t+t2);
图2-76 位置随动系统的阶跃响应曲线图2-76给出了位置随动系统的阶跃响应曲线。用plot()函数用画出y(t)曲线,grid函数用于给图形加上网格。
小结
本章讨论了如何建立控制系统以及元部件的数学模型问题。本章所涉及的数学模型共有三种,即微分方程、传递函数、结构图或信号流图。利用传递函数研究线性系统,可根据传递函数的极点和零点分布判定系统对不同输入信号的响应特性。利用结构图或信号流图可以了解系统中的每个变量,还可以通过梅逊(Mason)公式,方便地求得系统输入输出间的传递函数。利用MATLAB软件可求解系统在不同参数和输入情况下的响应。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLAB-仿真技术作业合集第1章习题5.利用直接输入法和矩阵编辑器创建矩阵A=⎥⎦⎤⎢⎣⎡642531。

解:⑴利用直接输入法输入程序A=[1 3 5;2 4 6]按Enter 键后,屏幕显示A = 1 3 52 4 6⑵用矩阵编辑器创建矩阵,如图1.1所示。

图1.1 MATLAB 编辑器7.用矩阵编辑器创建矩阵a,使a 具有如下矩阵形式。

a=⎥⎦⎤⎢⎣⎡642531⇒a=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡654321⇒a=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡987654321⇒a=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡098706540321⇒a=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡0000098706540321解:用矩阵编辑器创建矩阵a 的过程如图1.2、1.3、1.4、1.5、1.6所示。

图1.2 图1.3图1.4图1.5图1.69.已知矩阵B=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡922518113211912102201304161475231501017,试:①提取矩阵B 的第一行和第二行的第2、4、5个元素组成新矩阵1B ;②提取矩阵B 的第三行和第一行的全部元素组成新矩阵2B ;③使矩阵B 的第一行和第三行的第2;4个元素为0;④标出矩阵B 的第一行中小于5的元素。

解:①如上题,用矩阵编辑器生成矩阵B ,再输入程序B1=B([1,2],[2,4,5])按Enter 键后,屏幕显示B1 = 0 0 155 14 16②输入程序B2=B([1,3],:)按Enter 键后,屏幕显示B2 = 17 0 1 0 15 4 0 13 0 22③第一行和第三行的第2;4个元素原本就为0。

④输入程序如下C=B(1,:)<5; %将B 矩阵第一行中小于5 的值标记为1D=B(1,C) %去B 矩阵第一行中标为1的元素按Enter 键后,屏幕显示D= 0 1 011.已知矩阵a 为4阶魔方阵,令a+3赋值给b ,a+b 赋值给c ,求b 和c 。

解:程序如下。

>> a=magic(4) %建立4阶魔方矩阵a = 16 2 3 135 11 10 89 7 6 124 14 15 1>> b=a+3 %将a 中各元素加3b = 19 5 6 168 14 13 1112 10 9 157 17 18 4>> c=a+b %将a,b 中对应元素相加c = 35 7 9 2913 25 23 1921 17 15 2711 31 33 513.已知A 为3×3的均匀分布随机矩阵,B 为3×2的均匀分布随机矩阵,C 为2×3的均匀分布随机矩阵,求Q=C *A^2*B 。

解:程序如下。

>> A=rand(3,3) %A 为3×3的均匀分布随机矩阵A = 664/815 717/785 408/14651298/1433 1493/2361 1324/2421751/5914 694/7115 338/353>> B=rand(3,2) %B 为3×2的均匀分布随机矩阵B = 687/712 581/607589/3737 614/12656271/6461 1142/1427>> C=rand(2,3) %C 为2×3的均匀分布随机矩阵C = 689/4856 1065/1163 1966/2049407/965 61/77 3581/5461>> Q1=C*A^2*BQ1 = 1444/357 6485/15441263/311 699/16315.指出下列矩阵函数所实现的具体运算。

⑴A=rand(5);⑵B=rank(A);⑶C=eig(A);⑷D=sqrtm(A);⑸E=det(A)解:⑴A=rand(5)建立5x5的均匀分布随机矩阵;⑵B=rank(A)求A 矩阵的秩;⑶C=eig(A)是求的A 矩阵的全部特征值;⑷D=sqrtm(A)是按矩阵乘法的方式对A 矩阵开平方根;⑸E=det(A)是求矩阵A 的行列式。

17.利用MATLAB 的roots 函数求ƒ(x)=5x +44x +103x +162x +17x +12=0的根。

解:程序运行如下>> p=[1,4,10,16,17,12]p = 1 4 10 16 17 12>> x=roots(p)x = -1.6506-1.0000 + 1.4142i-1.0000 - 1.4142i-0.1747 + 1.5469i-0.1747 - 1.5469i19.画出一个幅度为2、频率为4Hz 、相位为3π的正弦信号。

解:程序如下>> A=2;>> phi=pi/3;>> omega=2*pi/12;>> n=-10:10;>> x=A*sin(omega*n+phi);>> stem(n,x,'fill');>> grid on;运行结果如图1.7所示。

图1.7 离散正弦信号图第2章习题1.系统的微分方程为'x(t)=-4x(t)+2u(t),其中u(t)是幅度为1、角频率为1rad/s 的方波输入信号,试建立系统的Simulink模型并进行仿真。

解:利用模块库中的模块建立系统模型,如图2.1所示。

图2.1 求解微分方程的模型在Scope窗口中看到仿真曲线如图2.2所示。

图2.2 仿真结果3.某单位反馈控制系统如图2.3(a)所示,引人反馈如图2.3(b)所示。

F⊗Y F(a)控制系统结构图 (b)图2.3(1)在Simulink环境下构建原始系统的结构图,输入阶跃信号,进行仿真,并对结果进行分析。

(2)在原系统中引人比例反馈,在Simulink环境下构建引人比例反馈后的系统结构图,进行仿真,并对结果进行分析。

解:(1)在Simulink环境下构建原始系统的结构图如图2.4所示,仿真结果如图2.5所示。

图2.4 仿真模型图2.5 仿真结果(2)在Simulink环境下构建引人比例反馈后的系统结构图如图2.6所示,仿真结果如图2.7所示。

图2.6 仿真模型图2.7 仿真结果5.使用Simulink 仿真求下列系统的单位脉冲响应(Simulink 中没有单位冲激信号模块,所以要利用阶跃信号模块经微分来产生)。

(1)H (s )=)5)(2()1(5+++s s s s (2)H (s )=115232++++s s s s 解:(1)建立的系统仿真模型如图2.8所示,仿真结果如图2.9所示。

图2.8 系统仿真模型图2.9 仿真结果(2)建立的系统仿真模型如图2.10所示,仿真结果如图2.11所示。

图2.10 系统仿真模型图2.11 仿真结果第3章习题2.利用信号处理模块库中的模块,构造并仿真信号:ƒ(n)=δ(n)+2u(n-1)-δ(n-3)解:图3.1 仿真框图选择模块搭建好的模型如图3.1所示。

接着设置各个模块的参数,Discrete Impulse模块参数如图3.2所示,Discrete Impulse1模块参数如图3.3所示,Buffer中Output Buffer Size设置为20,Gain模块Gain参数设为-1,Constant模块中Constant Value设为2,Delay模块中Delay参数设为1。

仿真结果如图3.4所示。

图3.2 Discrete Impulse模块参数图3.3 Discrete Impulse1模块参数图3.4 仿真结果5.设计一个巴特沃斯数字低通滤波器,使其满足:通带截止频率为0.4π,通带波纹小于0.5dB;阻带截止频率为06π,阻带最小衰减为50dB,试用FDAtool设计该数字滤波器,并生成脉冲响应曲线和频率响应曲线。

解:按3.5图设计滤波器参数。

图13.5滤波器设计界面点击Impulse选项得到冲激响应曲线如图3.6所示。

图3.6 冲激响应频率响应曲线如图3.7所示。

图3.7 幅频特性和相频特性12.自行录入一段语言信号,并对其做4倍抽取运算,观测抽取前与抽取后的频谱变化。

解:选择模块构造仿真框图如图3.8所示。

图3.8 仿真模型框图在matlab工作空间输入命令[x,fs]=wavread('E:\yinyue\xuyong.wav');设置各个模块参数。

Buffer模块参数如图3.9所示。

Signal from work space参数如图3.10所示。

图3.9 Buffer参数设置图3.10 Signal from work space参数设置仿真结果如下:图3.11 仿真前图3.12 仿真后第4章习题2.对四进制差分相移键控(DPSK)通信系统进行建模和蒙特卡罗仿真。

解:程序如下:clear all;SNRindB1=0:2:12;SNRindB2=0:0.1:12;for i=1:length(SNRindB1)simu_err_prb(i)=snr2ps(SNRindB1(i)); %仿真误码率endfor i=1:length(SNRindB2)SNR=exp(SNRindB2(i)*log(10)/10);theo_err_prb(i)=2*qfunc(sqrt(SNR));endsemilogy(SNRindB1,simu_err_prb,'*');hold on;semilogy(SNRindB2,theo_err_prb);xlabel('Eb/N0(dB)');ylabel('误码率');legend('仿真符号误码率','理论符号误码率');function [p]=snr2ps(snr_in_dB)N=10000;Es=1;snr=10^(snr_in_dB/10);sigma=sqrt(Es/(4*snr));for i=1:2*Ntemp=rand;if (temp<0.5)dsource(i)=0;elsedsource(i)=1;endendmapping=[0 1 3 2];M=4;[diff_enc_output]=cm_dpske(Es,M,mapping,dsource);for i=1:N[n(1) n(2)]=gausamp(sigma);r(i,:)=diff_enc_output(i,:)+n;endnumoferr=0;prev_theta=0;for i=1:Ntheta=angle(r(i,1)+j*r(i,2));delta_theta=mod(theta-prev_theta,2*pi);if ((delta_theta<pi/4)|(delta_theta>7*pi/4))decis=[0 0];elseif (delta_theta<3*pi/4)decis=[0 1];elseif (delta_theta<5*pi/4)decis=[1 1];elsedecis=[1 0];endprev_theta=theta;if ((decis(1)~=dsource(2*i-1))|(decis(2)~=dsource(2*i))) numoferr=numoferr+1;endendp=numoferr/N;endfunction [enc_comp]=cm_dpske(E,M,mapping,sequence)k=log2(M);N=length(sequence);remainder=rem(N,k);if(remainder~=0)for i=N+1:N+k-remaindersequence(i)=0;endN=N+k-remainder;endtheta=0;for i=1:k:Nindex=0;for j=i:i+k-1index=2*index+sequence(j);endindex=index+1;theta=mod(2*pi*mapping(index)/M+theta,2*pi);enc_comp((i+k-1)/k,1)=sqrt(E)*cos(theta);enc_comp((i+k-1)/k,2)=sqrt(E)*sin(theta);endfunction [y1 y2]=gausamp(sigma)y1=sigma*randn(1);y2=sigma*randn(1);end运行结果如图4.1所示。

相关文档
最新文档