计算机仿真实验报告(二)

计算机仿真实验报告(二)
计算机仿真实验报告(二)

计算机仿真实验报告学号:2013214926

班级:机设13-3班

姓名:田启军

指导老师:翟华

日期2016年4月12日单服务员单队列系统仿真实验

实验要求及实验报告

一.实验要求及目的

通过实验了解离散事件系统仿真一般过程,了解离散事件系统中典型的单服务.单队列系统的仿真一般过程,并理解单服务.单队列系统的流程过程,能画出流程图,了解不同分布随机数的计算机实现过程,了解事件扫描法在离散事件系统中的应用。

同学能在参考源程序的基础上,独立编写C源程序,或其他高级语言程序,能正确理解程序含义,能正确计算仿真结果,并对结果进行分析。

二.实验报告

1.给出RAND()子程序输出的10个数据,以及对应的符合正态分布和指数分布的随机数。

1 2 3 4 5 RAND() 0.979553 0.664057 0.504250 0.527916 0.193561 NORMAL 2.9767 2.4904 3.0001 2.6499 3.2569 EXPENT() 0.2066 4.0939 6.3882 6.8468 16.4216

6 7 8 9 10 RAND() 0.959777 0.683238 0.084337 0.162432 0.080400 NORMAL 2.9658 4.5799 3.7783 1.6343 6.6180 EXPENT() 0.4105 3.8091 24.7294 18.1749 25.2074

2.分别输入下列三组数据,给出相应的计算结果(包括服务员

忙度、平均服务时间、平均到达间隔时间、顾客在系统中平均时间、顾客在队列中平均时间、系统中平均顾客数、队列中平均顾客数、停留4个时间单位以上的顾客比例等),并加以文字说明。(1)输入数据为:

MIAT=10, MSVT=5,SIGMA=2,TIME=100

miat=10.000000,msvt=5.000000,sigma=2.000000,time=100.000000 rho=0.482677,mq=2.000000,pc=0.454545,clock=114.048820

nd=11.000000,amts=4.362051,amta=9.973741

lq=1.026730,l=1.509407,wq=10.645217,w=3.600372

(2)输入数据为:

MIAT=10, MSVT=3,SIGMA=1,TIME=100

miat=10.000000,msvt=3.000000,sigma=1.000000,time=100.000000 rho=0.242204,mq=1.000000,pc=0.111111,clock=108.105759

nd=9.000000,amts=2.909301,amta=11.269994

lq=0.682092,l=0.924297,wq=8.193123,w=2.863684

(3)输入数据为:

MIAT=10, MSVT=30,SIGMA=2,TIME=100

miat=10.000000,msvt=30.00000,sigma=2.000000,time=100.000000 rho=0.998272,mq=8.000000,pc=1.000000,clock=119.530281

nd=4.000000,amts=29.953489,amta=9.972269

lq=5.037513,l=6.035784,wq=150.533829,w=15.594049

三.实验内容

在C语言环境下,输入C语言程序:

#include "stdio.h"

#include "math.h"

FILE * fp;

float seed;

int sstop,ip;

float miat,msvt,svt;

float tval,tlq,tmen;

float sigma,time,lqt,lst,tle;

float wkst[100];

float b,mq,s,f,nd,ts,is,ta,ia,clock,fel[3];

int imevt,numevs;

rptgen() //报告生成子程序

{ float rho,w,pc,amts,amta,lq,l,wq;

rho=b/clock;

w=s/nd;

pc=f/nd;

amts=ts/is;

amta=ta/ia;

lq=tlq/clock;

l=tmen/clock;

wq=tlq/nd;

if((fp=fopen("fz22","wb"))==NULL)

{printf("cannot open file\n");

}

printf("time=%f\n",time);

fprintf(fp,"miat=%f,msvt=%f,sigma=%f,time=%f\n",miat,msvt,sigma,time); fprintf(fp,"rho=%f,mq=%f,pc=%f,clock=%f\n",rho,mq,pc,clock);

fprintf(fp,"nd=%f,amts=%f,amta=%f\n",nd,amts,amta);

fprintf(fp,"lq=%f,l=%f,wq=%f,w=%f\n",lq,l,wq,w);

}

float rand() //随机数生成子程序

{float a,c,m;

float rand1;

a=25173.0;

c=13849.0;

m=65535.0;

seed=(seed*a+c)-m*(int)((seed*a+c)/m);

if(seed==0.0) seed=1.0;

rand1=seed/m;

return rand1;

}

float normal(ex,stdx) //正态分布随机数生成子程序float ex,stdx;

{float sum,x;

int i;

float r;

sum=0.0;

for(i=1;i<=12;i++)

{r=rand();

sum=sum+r;}

x=stdx*(sum-6.0)+ex;

return x;

}

float expent(ex) //指数分布随机数生成子程序float ex;

{float r,x;

r=rand();

printf("r=%f",r);

x=-ex*log(r);

return x;

}

initlz() //系统初始化子程序

{float aat;

clock=0.0; //置仿真时钟为0.0

imevt=0; //假定系统在时间0为空闲

lqt=0.0; //置以下各统计量初值为0

lst=0.0;

tle=0.0;

b=0.0;

mq=0.0;

s=0.0;

f=0.0;

nd=0.0;

ts=0.0;

is=0.0;

ta=0.0;

ia=0.0;

tlq=0.0;

tmen=0.0;

aat=expent(miat);

fel[1]=clock+aat; //产生第一次到达,并安排在FEL(1)

fel[2]=1.0e+30; //置FEL(2)为无穷大,表示系统空闲时,不会发生离开事件

}

timadv() //时间推进子程序

{ float fmin;

int i;

fmin=1.0e+29;

imevt=0;

for (i=1;i<=numevs;i++) //搜索FEL以找出下一事件

{

if(fel[i]>=fmin) continue;

fmin=fel[i];

imevt=i;

}

if(imevt>0) //判断有无将来事件

{clock=fel[imevt]; //设定仿真时钟为下一事件时间,事件将在时间FEL(IMEVT)发生tval=clock-tle;

tlq=tlq+lqt*tval;

tmen=tmen+(lqt+lst)*tval;

}

else

{

rptgen(); //若将来事件为空,调用报告子程序

sstop=1;

}

}

arrvl() //到达事件子程序

{

float aat,svt;

if(lst==1.0) goto loop2; //检查服务员是否被占

lst=1.0; //若服务员空闲,修改系统状态并记录新的顾客的到达时间

wkst[ip]=clock;

svt=normal(msvt,sigma); //为新到达顾客产生服务时间并安排离开事件

fel[2]=clock+svt;

ts=ts+svt;

is=is+1.0; //修改累积统计量

tle=clock;

if(lqt>mq)mq=lqt;

goto loop3;

loop2: lqt=lqt+1.0; //若服务员被占,修改系统状态,记录新的顾客到达时间及系统中顾客数ip=lqt+lst;

if(ip>100) goto loop4; //现设系统容量为100人,若超过即给出报告

wkst[ip]=clock;

b=b+(clock-tle); //修改累积统计量

tle=clock;

if(lqt>mq) mq=lqt;

loop3: aat=expent(miat); //产生一个到达时间间隔并安排下一到达事件

ta=ta+aat;

ia=ia+1.0;

fel[1]=clock+aat;

goto loop31;

loop4: printf("overflow in array wkst");

rptgen();

sstop=1;

loop31:

}

dpart() //离开事件子程序

{ int i,i1;

float rt,svt;

b=b+(clock-tle); //修改累积统计量

tle=clock;

rt=clock-wkst[ip];

s=s+rt;

nd=nd+1.0;

if(rt>=4.0)f=f+1.0; //记录(累计)停留时间大于等于4的顾客数

if(lqt>1.0) //检查队列空否

{

for(i=1;i<=lqt;i++)

{i1=i+1; //此时至少有一个顾客在队列中,使每个顾客向前移动一个位置wkst[i]=wkst[i1];

}

lqt=lqt-1.0; //队列中的顾客数减1

svt=normal(msvt,sigma,svt); //对将被服务的顾客产生一个新的服务,时间且安排下一个

//离开事件

fel[2]=clock+svt;

}

else

{ //队列空,服务员空闲,下一离开事件置在无穷大时间

lst=0.0;

fel[2]=1.0e+30;}

}

main() //主程序

{

ip=0;

seed=2.0; //输入随机数种子

miat=10.0; //

msvt=3.0;

sigma=1.0;

time=100.0;

numevs=2; //确定事件总数为2

initlz(); //调用初始化子程序

sstop=0; //程序终止变量,sstop=0,程序循环,sstop=1,程序终止loop: timadv(); //调用时间推进子程序

if(sstop==1) goto loopp; //判断sstop=1,程序终止

if (imevt==1) //IMEVT=1为到达,IMEVT=2为离开

{arrvl(); //调用到达事件子程序

if(sstop==1) goto loopp; //判断sstop=1,程序终止

goto loop; //程序循环执行

}

if (imevt==2) dpart();` //调用离开事件子程序

if (clock

loopp:

}

计算机仿真课程设计报告

、 北京理工大学珠海学院 课程设计任务书 2010 ~2011 学年第 2学期 学生姓名:林泽佳专业班级:08自动化1班指导教师:钟秋海工作部门:信息学院一、课程设计题目 : 《控制系统建模、分析、设计和仿真》 本课程设计共列出10个同等难度的设计题目,编号为:[0号题]、[1号题]、[2号题]、[3号题]、[4号题]、[5号题]、[6号题]、[7号题]、[8号题]、[9号题]。 学生必须选择与学号尾数相同的题目完成课程设计。例如,学号为8xxxxxxxxx2的学生必须选做[2号题]。 二、课程设计内容 (一)《控制系统建模、分析、设计和仿真》课题设计内容|

! " [2 有波纹控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 (二)《控制系统建模、分析、设计和仿真》课题设计要求及评分标准【共100分】 , 1、求被控对象传递函数G(s)的MATLAB描述。(2分) 2、求被控对象脉冲传递函数G(z)。(4分) 3、转换G(z)为零极点增益模型并按z-1形式排列。(2分) 4、确定误差脉冲传递函数Ge(z)形式,满足单位加速度信号输入时闭环稳态误差为零和实际 闭环系统稳定的要求。(6分) 5、确定闭环脉冲传递函数Gc(z)形式,满足控制器Dy(z)可实现、最少拍和实际闭环系统稳 定的要求。(8分)

6、根据4、5、列写方程组,求解Gc(z)和Ge(z)中的待定系数并最终求解Gc(z)和Ge(z) 。 (12分) 7、求针对单位加速度信号输入的最少拍有波纹控制器Dy(z)并说明Dy(z)的可实现性。 (3分) ! 8、用程序仿真方法分析加速度信号输入时闭环系统动态性能和稳态性能。(7分) 9、用图形仿真方法(Simulink)分析单位加速度信号输入时闭环系统动态性能和稳态性能。 (8分) 10、确定误差脉冲传递函数Ge(z)形式,满足单位速度信号输入时闭环稳态误差为零和实际 闭环系统稳定的要求。(6分) 11、确定闭环脉冲传递函数Gc(z)形式,满足控制器Dw(z)可实现、无波纹、最少拍和实际 闭环系统稳定的要求。(8分) 12、根据10、11、列写方程组,求解Gc(z)和Ge(z)中的待定系数并最终求解Gc(z)和Ge(z) 。 (12分) 13、求针对单位速度信号输入的最少拍无波纹控制器Dw(z)并说明Dw(z)的可实现性。(3分) 14、用程序仿真方法分析单位速度信号输入时闭环系统动态性能和稳态性能。(7分) 15、用图形仿真方法(Simulink)分析单位速度信号输入时闭环系统动态性能和稳态性能。 & (8分) 16、根据8、9、14、15、的分析,说明有波纹和无波纹的差别和物理意义。(4分) 三、进度安排 6月13至6月14:下达课程设计任务书;复习控制理论和计算机仿真知识,收集资料、熟悉仿真工具;确定设计方案和步骤。 6月14至6月16:编程练习,程序设计;仿真调试,图形仿真参数整定;总结整理设计、 仿真结果,撰写课程设计说明书。 6月16至6月17:完成程序仿真调试和图形仿真调试;完成课程设计说明书;课程设计答 辩总结。 [ 四、基本要求

计算机仿真实验

计算机仿真实验报告 专业:电气工程及其自动化班级:09电牵一班学号:22 姓名:饶坚指导老师:叶满园实验日期:2012年4月30日 一、实验名称 三相桥式SPWM逆变电路仿真 二、目的及要求 1.了解并掌握三相逆变电路的工作原理; 2.进一步熟悉MA TLAB中对Simulink的使用及构建模块; 3.掌握SPWM原理及构建调制电路模块; 4.复习在Figure中显示图形的程序编写和对图形的修改。 三、实验原理与步骤、电路图 1、实验原理图

2、电路原理(采用双极性控制方式) U、V和W三相的PWM控制通常公用一个三角波载波Uc,三相的调制信号Uru、Urv和Urw依次相差120°。 电路工作过程(U相为例):当Uru>Uc时,上桥臂V1导通,下桥臂V4关断,则U相相对于直流电源假想中点N’的输出电压Uun’=Ud/2。当Uru

对电路模型进行封装如下图示:

其中Subsystem1为主电路,Subsystem2为负载,Subsystem3为检测电路,Subsystem4为输入信号,Subsystem5为调制电路,Scope 为示波器,Repeating Sequence为三角载波。 各子系统电路分别如下所示: Subsystem1 Subsystem2 Subsystem3

计算机仿真与建模实验报告

中南大学 计算机仿真与建模 实验报告 题目:理发店的服务过程仿真 姓名:XXXX 班级:计科XXXX班 学号:0909XXXX 日期:2013XXXX

理发店的服务过程仿真 1 实验案例 (2) 1.1 案例:理发店系统研究 (2) 1.1.1 问题分析 (3) 1.1.2 模型假设 (3) 1.1.3 变量说明 (3) 1.1.4 模型建立 (3) 1.1.5 系统模拟 (4) 1.1.6 计算机模拟算法设计 (5) 1.1.7 计算机模拟程序 (6) 1实验案例 1.1 案例:理发店模拟 一个理发店有两位服务员A和B顾客随机地到达该理发店,每分钟有一个顾客到达和没有顾客到达的概率均是1/2 , 其中60%的顾客理发仅用5分钟,另外40%的顾客用8分钟. 试对前10分钟的情况进行仿真。 (“排队论”,“系统模拟”,“离散系统模拟”,“事件调度法”)

1.1.1 问题分析 理发店系统包含诸多随机因素,为了对其进行评判就是要研究其运行效率, 从理发店自身利益来说,要看服务员工作负荷是否合理,是否需要增加员工等考 虑。从顾客角度讲,还要看顾客的等待时间,顾客的等待队长,如等待时间过长 或者等待的人过多,则顾客会离开。理发店系统是一个典型的排队系统,可以用 排队论有关知识来研究。 1.1.2 模型假设 1. 60%的顾客只需剪发,40%的顾客既要剪发,又要洗发; 2. 每个服务员剪发需要的时间均为5分钟,既剪发又洗发则花8分钟; 3. 顾客的到达间隔时间服从指数分布; 4. 服务中服务员不休息。 1.1.3 变量说明 u :剪发时间(单位:分钟),u=5m ; v: 既剪发又理发花的时间(单位:分钟),v=8m ; T : 顾客到达的间隔时间,是随机变量,服从参数为λ的指数分布,(单位: 分钟) T 0:顾客到达的平均间隔时间(单位:秒),T 0=λ 1; 1.1.4 模型建立 由于该系统包含诸多随机因素,很难给出解析的结果,因此可以借助计算机 模拟对该系统进行模拟。 考虑一般理发店的工作模式,一般是上午9:00开始营业,晚上10:00左 右结束,且一般是连续工作的,因此一般营业时间为13小时左右。 这里以每天运行12小时为例,进行模拟。 这里假定顾客到达的平均间隔时间T 0服从均值3分钟的指数分布, 则有 3小时到达人数约为603 603=?人, 6小时到达人数约为1203 606=?人, 10小时到达人数约为2003 6010=?人, 这里模拟顾客到达数为60人的情况。 (如何选择模拟的总人数或模拟总时间)

EDA技术实验教案

课程教案 课程名称:EDA技术实验 任课教师:王小虎 所属院部:电气与信息工程学院 教学班级:自本1201-02 教学时间:2014—2015学年第二学期

湖南工学院课程基本信息

P 1 实验一原理图的绘制 一、本次课主要内容 绘制一张完整的电源电路原理图. 1.绘制电源电路的原理图,并填上正确的封装,完成后将文件存盘。 2.对完成的电路图进行ERC校验,若有错误,则加以改正,直到校验无误后, 存盘. 2.对修改后的电路图进行编译,产生网络表文件,将网络表文件存盘后退出 3.根据以上的实验内容写出实验报告,并将绘制好的完整电源电路图打印出来 贴在报告中,分析实验过程中遇到的问题,总结用到的知识点。 二、教学目的与要求 1.熟练掌握PROTEL99的基本操作。 2.学会绘制电路原理图。 3.掌握电路图的ERC校验、电路错误修改和网络表的生成 三、教学重点难点 重点:调用元件;创建原理图元件库;网络标号。 难点:原理图元件库的创建 四、教学方法和手段 采用课堂讲授大概20分钟时间,对原理图绘制的方法与技巧运用多媒体进行演 示、制作教学幻灯片。 五、作业与习题布置 写出完整的实验报告,并回答下面问题。 1、为什么要给元器件定义封装形式?是否所有原理图中的元器件都要定义封装 形式? 2、放置元器件时系统提示没有打开元器件库,应如何解决? 3、使用网络标号时应注意哪些问题? 4、总线和一般连线有何区别?使用中应注意哪些问题?

P 2 实验一原理图的绘制 一、实验目的 (1)熟练掌握PROTEL99的基本操作。 (2)学会绘制电路原理图。 (3)掌握电路图的ERC校验、电路错误修改和网络表的生成。 二、实验内容与步骤 (1)新建文档,设置参数的基本操作。进入ADV ANCED SCHEMATIC,新建一张原理图,并设置它的工作空间参数和文档参数。其中,电路图大小设置为A4, 横向放置,标题栏选择标准标题栏,栅格大小均选为20mil。 (2)装入元器件库。执行相关命令, (3)放置元器件。按照如图1-1所示,从元器件库中放置相应的元器件到电路图中,并对元器件做移动,旋转等操作,同时进行属性设置。各元器件的元器 件标号及标称值均采用小四号宋体,完成后将文件存盘。 (4)全局修改。利用SCH的全局修改功能,将图1-1中电阻的标号和标称值均由小四号宋体改为五号黑体,并将电阻的编号R*由大写改为小写r*,完成后将 文件改名存盘。 (5)绘制电源电路图。按照如1-1所示,绘制电源电路的原理图,并填上正确的封装,完成后将文件存盘。 (6)对完成的电路图进行ERC校验,若有错误,则加以改正,直到校验无误后,存盘 (7)对修改后的电路图进行编译,产生网络表文件,将网络表文件存盘后退出

Simulink系统仿真课程设计

《信息系统仿真课程设计》 课程设计报告 题目信息系统课程设计仿真 院(系): 信息科学与技术工程学院 专业班级:通信工程1003 学生姓名: 学号: 指导教师:吴莉朱忠敏 2012年1 月14 日至2012年1 月25 日 华朴中科技大学武昌分校制 信息系统仿真课程设计任务书

20 年月日 目录 摘要 (5)

一、Simulink 仿真设计 (6) 1.1 低通抽样定理 (6) 1.2 抽样量化编码 (9) 二、MATLA仿真设计 (12) 2.1 、自编程序实现动态卷积 (12) 2.1.1 编程分析 (12) 2.1.2 自编matlab 程序: (13) 2.1.3 仿真图形 (13) 2.1.4 仿真结果分析 (15) 2.2 用双线性变换法设计IIR 数字滤波器 (15) 2.2.1 双线性变换法的基本知识 (15) 2.2.2 采用双线性变换法设计一个巴特沃斯数字低通滤波器 (16) 2.2.3 自编matlab 程序 (16) 2.2.4 仿真波形 (17) 2.2.5 仿真结果分析 (17) 三、总结 (19) 四、参考文献 (19) 五、课程设计成绩 (20) 摘要 Matlab 是一种广泛应用于工程设计及数值分析领域的高级仿真平台。它功能

强大、简单易学、编程效率高,目前已发展成为由MATLAB 语言、MATLAB 工作环境、MATLAB 图形处理系统、MATLAB 数学函数库和MATLAB 应用程序接口五大部分组成的集数值计算、图形处理、程序开发为一体的功能强大的系统。本次课程设计主要包括MATLAB 和SIMULINKL 两个部分。首先利用SIMULINKL 实现了连续信号的采样及重构,通过改变抽样频率来实现过采样、等采样、欠采样三种情况来验证低通抽样定理,绘出原始信号、采样信号、重构信号的时域波形图。然后利用SIMULINKL 实现抽样量化编码,首先用一连续信号通过一个抽样量化编码器按照A 律13折线进量化行,观察其产生的量化误差,其次利用折线近似的PCM 编码器对一连续信号进行编码。最后利用MATLAB 进行仿真设计,通过编程,在编程环境中对程序进行调试,实现动态卷积以及双线性变换法设计IIR 数字滤波器。 本次课程设计加深理解和巩固通信原理、数字信号处理课上所学的有关基本概念、基本理论和基本方法,并锻炼分析问题和解决问题的能力。

计算机仿真技术的发展概述及认识

计算机仿真技术的发展概述及认识 摘要:随着经济的发展和社会的进步,计算机技术高速发展,使人类社会进入了信息时代,计算机作为后期新秀渗入到人们生活中的每一个领域,给人们的生活带来了前所未有的变化。作为新兴的技术,计算机技术在人类研究的各个领域起到了只管至关重要的作用,帮助人类解决了许多技术难题。在科研领域,计算机技术与仿真技术相结合,形成了计算机仿真技术,作为人们科学研究的一种新型方法,被人们应用到各个领域,用来解决人们用纯数学方法或者现实实验无法解决的问题,对科研领域技术成果的形成有着积极地促进作用。 本文在计算机仿真技术的理论思想基础上,分析了计算机仿真技术产生的基本原因,也就是人们用计算机模拟解决问题的优点所在,讨论了模拟、仿真、实验、计算机仿真之间的联系和区别,介绍了计算机仿真技术的发展历程,并查阅相关资料介绍了计算机仿真技术在不同领域的应用,分析并预测了计算机仿真的未来发展趋势。经过查阅大量数据资料并加以分析对比,这对于初步认识计算机仿真技术具有重要意义。 关键词:计算机仿真;模拟;仿真技术;发展 一、引言 计算机仿真技术是以多种学科和理论为基础,以计算机及其相应的软件为工具,通过虚拟试验的方法来分析和解决问题的一门综合性技术。计算机仿真(模拟)早期称为蒙特卡罗方法,是一门利用随机数实验求解随机问题的方法。其原理可追溯到1773年法国自然学家G.L.L.Buffon为估计圆周率值所进行的物理实验。根据仿真过程中所采用计算机类型的不同,计算机仿真大致经历了模拟机仿真、模拟-数字混合机仿真和数字机仿真三个大的阶段。20世纪50年代计算机仿真主要采用模拟机;60年代后串行处理数字机逐渐应用到仿真之中,但难以满足航天、化工等大规模复杂系统对仿真时限的要求;到了70年代模拟-数字混合机曾一度应用于飞行仿真、卫星仿真和核反应堆仿真等众多高技术研究领域;80年代后由于并行处理技术的发展,数字机才最终成为计算机仿真的主流。现在,计算机仿真技术已经在机械制造、航空航天、交通运输、船舶工程、经济管理、工程建设、军事模拟以及医疗卫生等领域得到了广泛的应用。 二、基本概念 模拟:(Simulation)应用模型和计算机开展地理过程数值和非数值分析。不是去求系统方程的解析解,而是从系统某初始状态出发,去计算短暂时间之后接着发生的状态,再以此为初始状态不断的重复,就能展示系统的行为模式。模拟是对真实事物或者过程的虚拟。模拟要表现出选定的物理系统或抽象系统的关键特性。模拟的关键问题包括有效信息的获取、关键特性和表现的选定、近似简化和假设的应用,以及模拟的重现度和有效性。可以认为仿真是一种重现系统外在表现的特殊的模拟。 仿真:(Emulation)利用模型复现实际系统中发生的本质过程,并通过对系统模型的实验来研究存在的或设计中的系统,又称模拟。即使用项目模型将特定于某一具体层次的不确定性转化为它们对目标的影响,该影响是在项目仿真项目

交通仿真实验报告

交通仿真实验报告 篇一:交通仿真实验报告 目录 1 上机性质与目的.................................. 2 2 上机内容....................................... 2 3 交叉口几何条件、信号配时和交通流数据描述.......... 3 3.1 交叉口几何数据................................ 3 3.2 交叉口信号配时系统............................ 3 3.3 交叉口交通流数据.............................. 4 4 交叉口交通仿真.................................. 4 4.1 交通仿真步骤.................................. 4 4.2 二维输出..................................... 13 4.3 3D输出...................................... 14 5 仿真结果分析................................... 15 6 实验总结和体会 (15) 实验上机名称:信号交叉口仿真 1 上机性质与目的 本实验属于计算机仿真实验,借助仿真系统模拟平面信号交叉口场景,学生将完成从道路条件设计到信号相位配置等一系列仿真实验。 实验目的: 1. 了解平面信号交叉口在城市交通中的地位; 2. 了解平面信号交叉口的主要形式、规模等基本情况; 3. 了解交叉口信号相位配时及对交叉口通行能力的影响;

计算机仿真实验-基于Simulink的简单电力系统仿真

实验七 基于Simulink 的简单电力系统仿真实验 一. 实验目的 1) 熟悉Simulink 的工作环境及SimPowerSystems 功能模块库; 2) 掌握Simulink 的的powergui 模块的应用; 3) 掌握发电机的工作原理及稳态电力系统的计算方法; 4)掌握开关电源的工作原理及其工作特点; 5)掌握PID 控制对系统输出特性的影响。 二.实验内容与要求 单机无穷大电力系统如图7-1所示。平衡节点电压0 44030 V V =∠? 。负荷功率10L P kW =。线路参数:电阻1l R =Ω;电感0.01l L H =。发电机额定参数:额定功率100n P kW =;额定电压440 3 n V V =;额定励磁电流 70 fn i A =;额定频率50n f Hz =。发电机定子侧参数:0.26s R =Ω, 1 1.14 L mH =,13.7 md L mH =,11 mq L mH =。发电机转子侧参数:0.13f R =Ω,1 2.1 fd L mH =。发电机阻尼绕组参数:0.0224kd R =Ω, 1 1.4 kd L mH =,10.02kq R =Ω,11 1 kq L mH =。发电机转动惯量和极对数分别 为224.9 J kgm =和2p =。发电机输出功率050 e P kW =时,系统运行达到稳态状态。在发电机输出电磁功率分别为170 e P kW =和2100 e P kW =时,分析发电机、平衡节点电源和负载的电流、电磁功率变化曲线,以及发电机转速和功率角的变化曲线。

G 发电机节点 V 负 荷 l R l L L P 图 7.1 单机无穷大系统结构图 输电线路 三.实验步骤 1. 建立系统仿真模型 同步电机模块有2个输入端子、1个输出端子和3个电气连接端子。模块的第1个输入端子(Pm)为电机的机械功率。当机械功率为正时,表示同步电机运行方式为发电机模式;当机械功率为负时,表示同步电机运行方式为电动机模式。在发电机模式下,输入可以是一个正的常数,也可以是一个函数或者是原动机模块的输出;在电动机模式下,输入通常是一个负的常数或者是函数。模块的第2个输入端子(Vf)是励磁电压,在发电机模式下可以由励磁模块提供,在电动机模式下为一个常数。 在Simulink仿真环境中打开Simulink库,找出相应的单元部件模型,构造仿真模型,三相电压源幅值为4403,频率为50Hz。按图连接好线路,设置参数,建立其仿真模型,仿真时间为5s,仿真方法为ode23tb,并对各个单元部件模型的参数进行修改,如图所示。

matlab课程设计报告书

《计算机仿真及应用》课程设计报告书 学号:08057102,08057127 班级:自动化081 姓名陈婷,万嘉

目录 一、设计思想 二、设计步骤 三、调试过程 四、结果分析 五、心得体会 六、参考文献

选题一、 考虑如下图所示的电机拖动控制系统模型,该系统有双输入,给定输入)(t R 和负载输入)(t M 。 1、 编制MATLAB 程序推导出该系统的传递函数矩阵。 2、 若常系数增益为:C 1=Ka =Km =1,Kr =3,C2=0.8,Kb =1.5,时间常数T 1=5, T 2=0.5,绘制该系统的根轨迹、求出闭环零极点,分析系统的稳定性。若)(t R 和)(t M 分别为单位阶跃输入,绘制出该系统的阶跃响应图。(要求C 1,Ka ,Km ,Kr ,C2,Kb , T 1,T 2所有参数都是可调的) 一.设计思想 题目分析: 系统为双输入单输出系统,采用分开计算,再叠加。 要求参数均为可调,而matlb 中不能计算未赋值的函数,那么我们可以把参数设置为可输入变量,运行期间根据要求赋值。 设计思路: 使用append 命令连接系统框图。 选择‘参数=input('inputanumber:')’实现参数可调。 采用的方案: 将结构框图每条支路稍作简化,建立各条支路连接关系构造函数,运行得出相应的传递函数。 在得出传递函数的基础上,使用相应的指令求出系统闭环零极点、画出其根轨迹。 通过判断极点是否在左半平面来编程判断其系统是否稳定。 二.设计步骤 (1)将各模块的通路排序编号

(2)使用append命令实现各模块未连接的系统矩阵 (3)指定连接关系 (4)使用connect命令构造整个系统的模型 三.调试过程 出现问题分析及解决办法: 在调试过程出现很多平时不注意且不易寻找的问题,例如输入的逗号和分号在系统运行时不支持中文格式,这时需要将其全部换成英文格式,此类的程序错误需要细心。 在实现参数可调时初始是将其设为常量,再将其赋值进行系统运行,这样参数可调性差,后用‘参数=input('inputanumber:')’实现。 最后是在建立通路连接关系时需要细心。 四.结果分析 源代码: Syms C1 C2 Ka Kr Km Kb T1 T2 C1=input('inputanumber:') C2=input('inputanumber:') Ka=input('inputanumber:') Kr=input('inputanumber:') Km=input('inputanumber:') Kb=input('inputanumber:') T1=input('inputanumber:') T2=input('inputanumber:') G1=tf(C1,[0 1]); G2=tf(Ka*Kr,[0 1]); G3=tf(Km,[T1 1]); G4=tf(1,[T2 1]); G5=tf(1,[1 0]); G6=tf(-C2,1); G7=tf(-Kb,1); G8=tf(-1,1); Sys=append(G1,G2,G3,G4,G5,G6,G7,G8) Q=[1 0 0;2 1 6;3 2 7;4 3 8;5 4 0;6 5 0;7 4 0;8 0 0;]; INPUTS1=1; OUTPUTS=5; Ga=connect(Sys,Q,INPUTS1,OUTPUTS) INPUTS2=8; OUTPUTS=5; Gb=connect(Sys,Q,INPUTS2,OUTPUTS) rlocus(Ga)

计算机仿真实训实验报告实验1-4

实验一 熟悉MATLAB 工作环境 16电气5班 周树楠 20160500529 一、实验目的 1.熟悉启动和退出MATLAB 软件的方法。 2.熟悉MATLAB 软件的运行环境。 3.熟悉MATLAB 的基本操作。 二、实验设备及条件 计算机一台(带有MATLAB6.0以上的软件境)。 三、实验内容 1.练习下面指令: cd,clear,dir,path,help,who,whos,save,load 。 2.建立自己的工作目录MYBIN 和MYDATA ,并将它们分别加到搜索路径的前面或者后面。 3.求23)]47(*212[÷-+的算术运算结果。 4.M 文件的建立,建立M 文件,求出下列表达式的值: ?? ????-+=++=+= 545.0212),1ln(21 185sin 2222 1i x x x z e z o 其中

5.利用MATLAB的帮助功能分别查询inv、plot、max、round函数的功能和用法。 四、运行环境介绍及注意事项 1.运行环境介绍 打开Matlab软件运行环境有图1-1所示的界面

图1-1 MATLAB的用户界面 操作界面主要的介绍如下: 指令窗( Command Window ),在该窗可键入各种送给 MATLAB 运作的指令、函数、表达式,并显示除图形外的所以运算结果。 历史指令窗( Command History ),该窗记录已经运行过的指令、函数、表达式;允许用户对它们进行选择复制、重运行,以及产生 M 文件。 工作空间浏览器( Workspace Browser ),该窗口罗列出 MATLAB 工作空间中所有的变量名、大小、字节数;并且在该窗中,可对变量进行观察、编辑、提取和保存。 其它还有当前目录浏览器( Current Directory Browser )、 M 文件编辑 / 调试器(Editor/Debugger )以及帮助导航/ 浏览器(Help Navigator/Browser )等,但通常不随操作界面的出现而启动。 利用 File 菜单可方便对文件或窗口进行管理。其中 File | New 的各子菜单, M-file ( M 文件)、 Figure (图形窗口)、或 Model ( Simulink 编辑界面)分别可创建对应文件或模块。 Edit 菜单允许用户和 Windows 的剪切板交互信息。 2.在指令窗操作时应特别注意以下几点 1)所有输入的指令、公式或数值必须按下回车键以后才能执行。例如: >>(10*19+2/4-34)/2*3 (回车) ans= 234.7500 2)所有的指令、变量名称都要区分字母的大小写。 3)%作为MATLAB注释的开始标志,以后的文字不影响计算的过程。 4)应该指定输出变量名称,否则MATLAB会将运算结果直接存入默认的输出变量名ans。 5)MATLAB可以将计算结果以不同的精确度的数字格式显示,可以直接在指令视窗键入不同的数字显示格式指令。例如:>>format short (这是默认的) 6)MATLAB利用了↑↓二个游标键可以将所输过的指令叫回来重复使用。按下↑则前一次输入的指令重新出现,之后再按Enter键,即再执行前一次的指令。

计算机仿真实验报告7

山东工商学院计算机仿真及应用实验报告 实验七 MATLAB的基本应用(二)及Simulink仿真 (验证性实验) 学院: 专业班级: 实验时间: 学号: 姓名:

一、实验目的 1、掌握连续信号的仿真和傅里叶分析方法 2、掌握连续系统的分析方法(时域分析法,拉氏变换法和傅里叶分析法); 3、掌握离散信号的仿真和分析运算方法 4、掌握离散系统的分析方法(时域分析法); 5、掌握符号运算方法; 6、掌握Simulink仿真工具; 二、实验原理 1、连续信号的仿真和分析法,参考教材第6.1节,重点: 单位冲激信号的仿真方法;单位阶跃信号的仿真方法;复指数信号的仿真方法 2、连续系统的分析方法,参考教材第6.1节,重点: 例6.2,LTI系统的零输入响应的求解方法; 例6.3,LTI系统的冲激响应的求解方法 例6.5,LTI系统的零状态响应的求解方法 例6.6,系统中有重极点时的计算 3、系统的频域分析方法,参考教材第6.2节,重点: 例6.7,方波分解为多次正弦波之和 例6.8:全波整流电压的频谱 例6.10:调幅信号通过带通滤波器 例6.12:用傅里叶变换计算滤波器的响应和输出 4、离散信号的仿真和分析法,参考教材第6.3节,7.1节,重点: 单位脉冲序列impseq,单位阶跃序列stepseq 例7.1:序列的相加和相乘 例7.2:序列的合成与截取 例7.3:序列的移位和周期延拓运算 三、实验内容(包括内容,程序,结果) 以自我编程练习实验为主,熟悉各种方法和设计,结合课堂讲授,实验练习程序代码。 1、根据教材第6.1节的内容,练习连续信号和系统的时域分析和拉氏变换方法。 q602 clear,clc a=input('输入分母系数向量a=[a1,a2,...]= '); n=length(a)-1; Y0=input('输入初始条件向量Y0=[y0,Dy0,D2y0,...]= '); p=roots(a);V=rot90(vander(p));c=V\Y0'; dt=input('dt= ');tf=input('tf= '); t=0:dt:tf;y=zeros(1,length(t));

计算机仿真课程设计

附件1: 北京理工大学珠海学院 《计算机仿真》课程设计说明书题目: 控制系统建模、分析、设计和仿真 学院:信息学院 专业班级: 学号: 学生姓名: 指导教师: 2012年6 月16 日 附件2: 北京理工大学珠海学院 课程设计任务书 2011 ~2012 学年第2学期 学生姓名:专业班级: 指导教师:工作部门:信息学院 一、课程设计题目 《控制系统建模、分析、设计和仿真》 本课程设计共列出10个同等难度的设计题目,编号为:[0号题]、[1号题]、[2号题]、[3号题]、[4号题]、[5号题]、[6号题]、[7号题]、[8号题]、[9号题]。 学生必须选择与学号尾数相同的题目完成课程设计。例如,学号为8xxxxxxxxx2的学生必须选做[2号题]。

[0号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用零阶保持器离散化,采样周期取秒,分别设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 [1号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用一阶保持器离散化,采样周期取秒,分别设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 [2号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用零阶保持器离散化,采样周期取秒,分别设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 [3号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用一阶保持器离散化,采样周期取秒,分别设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 [4号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用零阶保持器离散化,采样周期取秒,分别设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 [5号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用一阶保持器离散化,采样周期取秒,分别设计一单位加速度信号输入时的最少拍有波纹 控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 [6号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用零阶保持器离散化,采样周期取秒,分别设计一单位加速度信号输入时的最少拍有波纹 控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 [7号题] 控制系统建模、分析、设计和仿真

电路计算机仿真实验报告

电路计算机仿真分析 实验报告

实验一直流电路工作点分析和直流扫描分析 一、实验目的 1、学习使用Pspice软件,熟悉它的工作流程,即绘制电路图、元件类别的选择及其参数的赋值、分析类型的建立及其参数的设置、Probe窗口的设置和分析的运行过程等。 2、学习使用Pspice进行直流工作点分析和直流扫描分析的操作步骤。 二、原理与说明 对于电阻电路,可以用直观法(支路电流法、节点电压法、回路电流法)列写电路方程,求解电路中各个电压和电流。PSPICE软件是采用节点电压法对电路进行分析的。 使用PSPICE软件进行电路的计算机辅助分析时,首先在capture环境下编辑电路,用PSPICE 的元件符号库绘制电路图并进行编辑、存盘。然后调用分析模块、选择分析类型,就可以“自 动”进行电路分析了。需要强调的是,PSPICE软件是采用节点电压法“自动”列写节点电 压方程的,因此,在绘制电路图时,一定要有参考节点(即接地点)。此外,一个元件为一 条“支路”(branch),要注意支路(也就是元件)的参考方向。对于二端元件的参考方向定 义为正端子指向负端子。 三、示例实验 应用PSPICE求解图1-1所示电路个节点电压和各支路电流。 图1-1 直流电路分析电路图

4.000V R2 1 2.000A 0V Idc2 4Adc 4.000A 6.000V R1 1 4.000A Idc1 2Adc 2.000A R3 3 2.000A 图1-2 仿真结果 四、选做实验 1、实验电路图 (1)直流工作点分析,即求各节点电压和各元件电压和电流。 (2)直流扫描分析,即当电压源Us1的电压在0-12V之间变化时,求负载电阻R L中电流I RL随电压源Us1的变化曲线。 R4 3 Is3 2Adc 0Vs2 10Vdc RL 1 Is1 1Adc Is2 1Adc R1 4 I Is5 3Adc R2 2 12Vdc IPRINT Vs3 5Vdc Vs4 7Vdc 图1-3 选做实验电路图 2、仿真结果

MATLAB计算机仿真设计

《计算机仿真技术》 课程设计 姓名: 学号: 班级: 1 专业: 学院: 2016年12月24日

目录 一、设计目的 (1) 二、设计任务 (1) 三、具体要求 (1) 四、设计原理概述 (1) 五、设计内容 (2) 六、设计方案及分析 (2) 1、观察原系统性能指标 (2) 2、手动计算设计 (6) 3、校正方案确定 (8) 七、课程设计总结 (14)

模拟随动控制系统的串联校正设计 一、设计目的 1、通过课程设计熟悉频域法分析系统的方法原理。 2、通过课程设计掌握滞后-超前校正作用与原理。 3、通过在实际电路中校正设计的运用,理解系统校正在实际中的意义。 二、设计任务 控制系统为单位负反馈系统,开环传递函数为) 1025.0)(11.0()(G ++=s s s K s ,设计校正装置,使系统满足下列性能指标:开环增益100K ≥;超调量30%p σ<; 调节时间ts<0.5s 。 三、具体要求 1、使用MATLAB 进行系统仿真分析与设计,并给出系统校正前后的 MATLAB 仿真结果,同时使用Simulink 仿真验证; 2、使用EDA 工具EWB 搭建系统的模拟实现电路,分别演示并验证校正前 和校正后的效果。 四、设计原理概述 校正方式的选择:按照校正装置在系统中的链接方式,控制系统校正方式分 为串联校正、反馈校正、前馈校正和复合校正4种。串联校正是最常用的一种校 正方式,这种方式经济,且设计简单,易于实现,在实际应用中多采用这种校正 方式。串联校正方式是校正器与受控对象进行串联链接的。本设计按照要求将采 用串联校正方式进行校正。 校正方法的选择:根据控制系统的性能指标表达方式可以进行校正方法的确 定。本设计要求以频域指标的形式给出,因此采用基于Bode 图的频域法进行校 正。 几种串联校正简述:串联校正可分为串联超前校正、串联滞后校正和滞后- 超前校正等。 超前校正的目的是改善系统的动态性能,实现在系统静态性能不受损的前提

计算机仿真课程设计

计算机仿真课程设计 Prepared on 22 November 2020

附件1: 北京理工大学珠海学院 《计算机仿真》课程设计说明书题目: 控制系统建模、分析、设计和仿真 学院:信息学院 专业班级: 学号: 学生姓名: 指导教师: 2012年 6 月 16 日 附件2: 北京理工大学珠海学院 课程设计任务书 2011 ~2012 学年第 2学期 学生姓名:专业班级: 指导教师:工作部门:信息学院 一、课程设计题目 《控制系统建模、分析、设计和仿真》 本课程设计共列出10个同等难度的设计题目,编号为:[0号题]、[1号题]、[2号题]、[3号题]、[4号题]、[5号题]、[6号题]、[7号题]、[8号题]、[9号题]。

学生必须选择与学号尾数相同的题目完成课程设计。例如,学号为8xxxxxxxxx2的学生必须选做[2号题]。 二、课程设计内容 (一)《控制系统建模、分析、设计和仿真》课题设计内容 [0 [1号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用一阶保持器离散化,采样周期取秒,分别设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 [2号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用零阶保持器离散化,采样周期取秒,分别设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 [3号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用一阶保持器离散化,采样周期取秒,分别设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 [4号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用零阶保持器离散化,采样周期取秒,分别设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 [5号题] 控制系统建模、分析、设计和仿真

计算机仿真实验报告实验

《计算机仿真》上机实验报告 姓名: 学号: 2012104021 专业:测控 班级: 12级

实验一常微分方程的求解及系统数学模型的转换一.实验目的 通过实验熟悉计算机仿真中常用到的Matlab指令的使用方法,掌握常微分方程求解指令和模型表示及转换指令,为进一步从事有关仿真设计和研究工作打下基础。 二. 实验设备 个人计算机,Matlab软件。 三. 实验准备 预习本实验有关内容(如教材第2、3、5章中的相应指令说明和例题),编写本次仿真练习题的相应程序。 四. 实验内容 1. Matlab中常微分方程求解指令的使用 题目一:请用MATLAB的ODE45算法分别求解下列二个方程。要求:1.编写出Matlab 仿真程序;2.画出方程解的图形并对图形进行简要分析;3.分析下列二个方程的关系。 1.2. 1.function fun=funl(t,x) fun=-x^2;

[t,x]=ode45('fun1',[0,20],[1]); figure(1);plot(t,x); grid 2.function fun=fun2(t,x) fun=x^2; [t,x]=ode45('fun2',[0,20],[-1]); figure(2);plot(t,x); grid

题目二:下面方程组用在人口动力学中,可以表达为单一化的捕食者-被捕食者模式(例如,狐狸和兔子)。其中1x 表示被捕食者, 2x 表示捕食者。如果被捕食者有无限的食物,并且不会出现捕食者。于是有1'1x x ,则这个式子是以指数形式增长的。大量的被捕食者将会使捕食者的数量增长;同样,越来越少的捕食者会使被捕食者的数量增长。而且,人口数量也会增长。请分别调用ODE45、ODE23算法求解下面方程组。要求编写出Matlab 仿真程序、画出方程组解的图形并对图形进行分析和比较。 1.ODE45

控制系统计算机仿真实验报告

计算机仿真试验报告 自动化1201 ** 3120502007 [实验目的] (1).掌握采样控制系统数字仿真的特点。 (2).了解数字控制器对系统动态性能的影响。 (3).学会编制双重循环法的仿真程序。 (1). 复习采样控制系统的仿真原理及特点。 (2).根据理论分析,初步估计系统在给定条件下可能出现的动态过程。

(1).按实验目的、要求和已知条件,建立系统的Simulink模型,并且编制双重循环法的仿真程序。 1) Simulink模型建立: 根据题目给出的条件,数字控制系统的结构图如下图所示: 其中的其中数字控制器为: 根据上面结构图,所建立 2) 编制双重循环法的仿真程序 根据数字控制系统的结构图与条件(1)式,我们可以得到得到被控对象的状态空间模型:

[]112212()()0010()() ()110()()01()x t x t u t x t x t x t y t x t ?????????=+?????????-? ????????? ?? ?=??? ??? (2) 按连续系统离散相似算法将(2)式离散化。为了保证精度,其离散化时的步长h (虚 拟采样周期)应比数字控制器的实际采样周期T (=1s)小得多。为简化起见,取h=T/N=T/100=0.01T=0.01s 。 利用MATLAB 控制系统工具箱提供的将连续系统转换成离散系统的函数c2d ,把连续状态空间模型(2)变换为离散状态空间模型。 离散程序如下(程序1): clear; h=0.01; A=[0 0;1 -1]; B=[10;0]; [G,H]=c2d(A,B,h) 运行后的结果为: 即: 1 0(())0.010.99T ??==???? G Φ (3) 0.1(())0.0005T ?? ==? ? ?? H Γ (4) 故连续系统被控对象(2)的等价离散化状态方程为: []112212(1)()100.1()(1)()0.010.990.0005()()01()x k x k u k x k x k x k y k x k ?+???????? =+????????? +???? ?????? ?? ?=??? ??? (5)

基于Matlab的空间滤波实验的计算机仿真.

35 基于Matlab 的空间滤波实验的计算机仿真 张奇辉,王洪,蓝发超 (华南理工大学物理科学与技术学院,广东广州 510640 摘要:利用阿贝-波特实验装置和空间滤波系统,从改变频谱入手改造一幅光学图形进行光学信息处理。在 此基础上,通过Matlab 环境编写程序完成阿贝-波特实验的物理模型的构建并进行计算机模拟实验。 关键词:计算机模拟;Matlab ;空间滤波 中图分类号:TP391.9 文献标识码:A 文章编号:1003-7551(200801-0035-04 1 引言 在工程设计领域中,人们通过对研究对象建立模型,用计算机程序实现系统的运行和得到运行结果,寻找出最优方案,然后再予以物理实现,这就是计算机仿真科学。在计算机日益普及的今天,计算机仿真技术作为虚拟实验手段已经成为计算机应用的一个重要分支。它是继理论分析和实物实验之后,认识客观规律性的新型手段。作为科学计算软件,Matlab 的特点是使用方便、输入便捷、运算功能齐全,而且有大量的函数可供使用。因此本文提出基于Matlab 软件,通过在频谱面上设置滤波器对空间频谱的处理,实现对阿贝-波特 实验装置和空间滤波系统的模拟。为了实现仿真实验操作的方便,本文设计出了图形用户可操作界面(GUI 。 2 空间滤波原理

根据阿贝成像原理,相干光学成像过程可分为两步:第一步称为分频过程,即从物平面到光源的共轭像平面或曰频谱面,由输入的物作为衍射屏对照射光波产生夫琅和费衍射;第二步称为合频或频谱综合过程,即从频谱面到输入物的共轭像平面,被分解的频谱成分经进一步的衍射后再次叠加形成输入物的共轭像。按照傅里叶变换理论,两步成像过程实际上是光学系统对携带输入物信息的二维光场的复振幅分布进行的两次傅里叶变换过程。 以图1所示4f 成像系统为例,此时输入平面O(即物平面位于透镜1L 的前焦平面,输出平面I(即像平面位于透镜1L 的后焦平面。透镜1L 和2L 分别起分频(傅里叶变换和合频(逆傅里叶变换作用。设输入图像的复振幅分布为,(y x g ,透镜1L 后焦平面T(即频谱面上的复振幅分布为,(ηξG ,按照傅里叶光学理论,当1L 的孔径无限大时,函数,(ηξG 即等于,(y x g 的傅里叶变换,而,(y x g 为,(ηξG 的傅里叶逆变换,即 (,(,exp i2(d d x y x y G f f g x y f x f y x y π∞ ?∞ ??=?+??∫∫(1 (,(,exp[i2(]d d g x y G x y ξηπμνμν∞∞ ?∞?∞=+∫∫ (2 其中/f μξλ=,/f νηλ=,表示光场(,G ξη的空间频率。设(','g x y 为透镜2L 后焦平面I(输出平面上的复振幅分布,同样,当2L 的孔径无限大时,(','g x y 就等于的傅里叶变换: (','(,exp[i2('']d d g x y G x y ξηπμνμν∞∞?∞?∞= +∫∫ (3 可以得 (','(,g x y g x y ∝?? (4 即输出图像是输入图像的倒置,且在几何上相似。

相关文档
最新文档