当前位置:文档之家› 《自动售货机仿真》实验报告

《自动售货机仿真》实验报告

《自动售货机仿真》实验报告
《自动售货机仿真》实验报告

《自动售货机仿真》实验报告

一、问题描述

–①有一种自动售货机VM,可售三种商品:可乐(每听$0.25),咖啡(每听$0.30),餐巾纸(每包$0.05)。每种商品的示意图形下方

都有一个按钮。一台VM中最多能够容纳NC听可乐、NF听咖啡、

NT包餐巾纸。

–②顾客使用VM购买商品时,先从投币口投入硬币(共有三种硬币:$0.05;$0.10;$0.25),在投入的硬币总值达到或超过其欲购商

品之价格后,再按下对应商品的按钮,VM即从出货口自动吐出一件

商品,并从找币口找零。

–③如果顾客在其投入的硬币总值没有达到其欲购商品之价格时就按下了对应商品的按钮,或者最近一次投币30秒后既不继续投币,也

不按下商品按钮,VM均从找币口吐出与该顾客已投入的硬币总值等

值的硬币,但不吐出商品。

–④如果顾客欲购之商品已经售完,则在顾客按下该商品的按钮后,VM从找币口吐出与该顾客已投入的硬币总值等值的硬币。

–⑤当某种商品还剩NL听/包时,VM即自动发出短信,将VM的代号和缺货的商品名称通知管理人员。管理人员将在时间TM后收到短

信,再用时间TS到达VM,并使VM的所有商品存货都达到最大容

纳量,取走VM中的硬币,并留有找零的硬币:$0.05、$0.10、$0.25

分别留C5、C10、C25枚。

须仿真的活动及开发结果的行为特征

–1、开始仿真时,应随机产生VM中三种商品的存货量(不能超过其最大容纳量)和VM中三种硬币的数量(分别不小于C5、C10、C25

枚)。

–2、仿真中,应随机产生前来购物的顾客,随机产生其欲购买的商品种类,随机产生顾客的投币行为(包括③描述的行为),按问题域概

述给出的要求进行VM自动售货活动的仿真。

–3、NC、NF、NT、NL、C5、C10、C25的值应在运行仿真程序时用命令行给出,或者在开始仿真时从界面输入。

–4、实时显示各种商品的当前存货量。

–5、出现情况⑤时,应显示所发的短信内容,并随机决定TM和TS 的值。在管理人员到达VM之前,应照常进行顾客购物的仿真。管

理人员加货和取款的持续时间可忽略不计。

–6、仿真开始后,应自动记销售流水帐。该流水帐的每一行对应着一次售货,记录着所售出的商品名称和售出时间。

–7、仿真结束时,应自动产生销售报表。该报表应给出本次模拟过程中:每种商品的销售总量与价值合计;所有售出商品的价值总计;每

种商品的库存量;模拟开始、结束时各自的库存金额;管理人员每次

加货的时间、各商品加货量、取走的硬币总额。

二、程序设计过程

1.从实际问题中抽象类

仿真过程关注的事物有:VM,商品(Goods),顾客(Customer),管理员(Administrator)。

程序设计过程中考虑过以下问题:

①管理员类建立的必要性。若不设计管理员类,而是在VM类中设两变量TS,TM,VM自动计时,到时间后自动加货,可实现同样输出。从程序外观上看管理员类的建立与否没有影响。而考虑到自动加货并不是VM的本身属性,而是通过与管理员通信完成的,故建立管理员类。在VM中建立响应管理员加货的方法,而管理员的内部实现也正是调用了VM的此方法。

②商品基类建立的必要性。曾考虑过将Goods类设计为虚基类,提供所有商品的共有接口,再从这个虚基类派生处各具体商品,最后运用多态性原理设计实现细节。考虑到这个问题中各商品所不同的地方只是商品名,价格等数据成员不同,类内部方法完全相同。且此程序中一个Goods对象代表一组同种商品,即找不到一个个单独的商品。在电梯程序中每个乘客有不同的属性:起始与终止楼层,而这正是程序关系的特征,故建立了一个个具体的乘客对象。此问题中我们关系的只是商品的数量,故没有一个个单独的商品对象。

2.三个类之间的关系

3.程序的主框架包含若干

发送请求

补充货物出货

找零

投币按按钮

VM

Goods

Administrator

Customer

初始化

(未达结束条件时循环)

检查是否需要新建顾客对象

检查是否需要通知管理员

顾客执行一次操作

VM执行一次操作

管理员执行一次操作

打印报表

结束

此程序中关键是要处理各对象之间的通信。采用以下方法解决:

①VM与顾客之间的通信:顾客有两种操作,即投币与按按钮。在VM中建立响应这两种操作的函数,顾客类中的两种操作内部实质是调用VM中的响应函数。只需向顾客的操作函数中传递一VM的指针即可实现两者之间的通信。

②VM与管理员的通信:因VM管理员之间的通信存在时间差,即VM发出的信息需经TM后才能传递到管理员,故①中方法不再适用。采用一全局变量(CallAdmTimeLeft)来记录信息还需多长时间才能到达管理员,其值为-1表示VM 为发出请求或上一个请求已被处理,值为0则通知管理员。这样便可通过主函数完成消息的传递。

4.类的设计

1)"Pbulic,h"中声明定义了各类共享的一些数据类型及运行时需要的一些参数。类型:

enum Coin{FIVE=5,TEN=10,TWFIVE=25}:硬币的种类

typedef unsigned int ID:VM编号的类型

typedef int PRICE:价格,现金的类型,单位为美分

typedef int TIME:时间的类型

运行时所需的参数,集中放置方便修改

const int COINKINDS:硬币种类数目

const int COINMAX:产生顾客时,其拥有的硬币数目的最大值

const int WAITTIME:顾客两次操作间最长时间间隔

const int CREATEMAX:一次交易结束后产生下一顾客的最大间隔时间const int TMMAX:TM的最大值

const int TSMAX=5:TS的最大值

const int THEID:VM的编号

const int RUNTIME:运行的最大时间

2)商品(Goods)类的设计

变量/函数成员作用

私有string name 标示商品名称

PRICE price 标示商品价格

int maxNum 售货机中该商品的最大容量int leftNum 记录售货机中该商品的剩余量int allSold 记录该商品的销售量

Goods(const Goods&) 防止按值传递

const Goods& operator=(const Goods&) 防止按值传递

公有Goods(string ,PRICE ,int ,int ) 构造函数

getName() 返回商品名称

getPrice() 返回商品价格

getLeftNum() 返回剩余数量

getAllSold() 返回销售量

setMax() 将商品数量冲至最大值sellOne() 销售一件商品时应执行的操作

3)顾客(Customer)类的设计

变量/函数成员作用

私有string goodsWanted 标示所需商品

vector money 投币顺序,建立对象时初始化

PRICE alreadyInsert 已投的金额,用于与商品价格比较,判断是否按按钮PRICE moneyLeft 记录当前剩余金额

int timeleft 记录产生下一投币动作或按按钮动作还剩的时间Customer(const Customer&) 防止按值传递

const Customer& operator=(const Customer&)防止按值传递

setTimeLeft() 设置产生下一投币动作或按按钮动作还剩的时间setMoneyLeft() 及时更新moneyLeft

公有Customer(vector) 构造函数insert(VM*) 处理投币行为pressButton(VM*) 处理按按钮行为

oneSecondPast(VM* ) 程序每运行一秒顾客的更新,返回是否交易结束Insert函数和pressButton函数的实现主要是调用VM的相应相应函数。

onSecondPast函数实现如下:

4)管理员(Administrator)类的设计

变量/函数成员作用

私有

TIME timeLeft 到达VM剩余的时间,值为-1表示还未收到信息,空闲VM* pVM 目标VM

公有Administrator() 构造函数

onCall(VM* theVM) 收到请求时的操作

setMax() 为VM补充货物oneSecondPast() 程序每运行一秒管理员的更新

5)VM类的设计

变量/函数成员作用

私有ID id 编号

vector allGoods 商品容器

TIME tradeTimeLeft 用于判断顾客是否在WAITTIME内无任何动作bool haveSend 标示是否已发送信息,防止重复发送

Y

timeLeft>0?

Y

timeLeft--

Y

timeLeft为零?

钱没投完&&没有投够?

N

按按钮投币

N

返回false

返回true

PRICE tempPayment

记录当前顾客已投的金额 int ensure

用于记录收支,从而判断售货机是否算错帐 vector moneyContainer

当前VM 的的硬币,三个分量分别存储三种硬币的数目 sendMessage(vector,bool& )

发送缺货消息 examine(bool&)

检查是否需要通知管理员 VM(const VM&)

防止按值传递 const VM& operator=(const VM&)

防止按值传递 getMoneyLeft()

返回VM 中剩余现金 caculate(int ,vector& )

计算找零,返回三种硬币各需找几枚 change(vector&)

找零 公

VM()

默认构造函数 VM(ID.....)

构造函数 getGoodsPrice(string) 根据商品名寻找其价格 onSetMax() 响应管理员的加货行为 onInsert(Coin) 响应顾客的投币行为 onPressButton(string,PRICE)

响应顾客的按按钮行为 StoragePrint(int)

打印存货量,向屏幕及输出文件输出 StoragePrint()

打印存货量,向报表输出 moneyPrint()

打印库存金额,向报表输出 workDayOver()

仿真结束时完成报表 oneSecondPast(bool& ) 程序每运行一秒VM 的更新

onPressButton 函数的实现:

workDayOver 中判断VM 是否算错帐的实现:

N N Y Y Y N 无此商品或此商品已售完? 按钮被按下

退还已投币 支付金额足够? 能够找零? 售出商品,找零

退还已投币 退还已投币

通过ensure判断下式是否成立:

初始金额+售出货物价值-结束时剩余金额-管理员取走的==0

若成立,则没有算错帐。

三、输入输出的设计

按要求,NL,C5,C10,C25从命令行给出。命令行最后一个函数若为Debugon,则使用文件输入商品名称,价格等信息,否则使用默认的信息。

输出有两个文件。"output.txt"中记录的内容与屏幕上显示的相同,记录了产生顾客的事件,顾客每一次投币、按按钮的事件,及每秒VM各商品的存货量,管理员加货的事件,VM发送的消息内容。"record.txt"中记录了每一次销售记录,管理员每次的加货时间、加货量、取走硬币的金额及仿真结束时产生的销售报表。

四、图形用户界面的开发

①设计界面。

②对类做部分修改,尤其是输入输出修改。由于初学MFC,故在MFC版本中一些功能被省去,如从商品的种类价格在文件中设定暂时无法在MFC中实现。

③用定时器触发程序的运行。

五、参考书籍

《C++编程思想(第一卷)》Bruce Eckel著。程序中"require.h"文件完全来自于该书,头文件中提供的函数功能类似于C中的assert宏。此程序中利用require寻找错误,主要在调试阶段使用。可用C++中的异常来改进使用require函数的地方,但异常尚未学习,故先用require函数。

《VC++深入详解》孙鑫、余安萍著。

《Visual C++ 6.0 开发指南》高手传等编著。图形用户界面的编写主要参考上述两本书。

六、软件使用说明

开发环境:两版本均在Visual C++ 6.0下测试通过。

1)Win32控制台版本:

VM文件夹下文件/文件夹:

Administrator.h,Administrator.cpp,Customer.h,Customer.cpp,Goods.h,Goods.cpp,VM.h,VM.cpp,Public.h,require.h,Test.cpp(main函数位于Test.cpp中),VM.dsp,VM.dsw,data.txt(存储输入数据),ouput.txt(存储输出数据),record.txt(存储报表),Debug文件夹。

在VM工程中已设置了命令行参数:2 20 15 15 Debugon

输入文件中也给了一些数据,如需改动请按以下格式写入数据:商品名称(换行)商品价格(换行)VM此商品中最大储量(换行)仿真时此商品初始数目。请勿在文件末尾加一空行,否则运行程序时回得到错误提示并退出程序。

如需改变其他运行参数,如每运行一次休眠的时间、顾客两次操作间的最大间隔时间,请在"Public.h"中修改并重新编译。

2)MFC版本:

myVm文件夹下文件/文件夹:

Administrator.h,Administrator.cpp,Customer.h,Customer.cpp,Goods.h,Goods.cpp,VM.h,VM.cpp,Public.h,require.h,myVM.h,myVM.cpp,myVM.dsp,myVM.dsw,myVM.rc,myVMDlg.h,myVMDlg.cpp,Resource.h,StdAfx.cpp,StdAfx.h,ouput.txt(存储输出数据),record.txt(存储报表),Debug文件夹,res文件夹

运行时首先输入NL,C5,C10,C25的值,点"提交"再点"开始"即可开始仿真,点"停止"即产生报表,点"退出"即可退出程序。

拉曼光谱

拉曼光谱实验报告 一、实验目的 1. 了解拉曼光谱的基本原理、主要部件的功能; 2. 了解拉曼光谱对所观察与分析样品的要求; 3. 了解拉曼光谱所观察材料的微观组织结构和实际应用; 4. 初步掌握制样技术和观察记录方法 二、实验仪器原理 1928年C.V.拉曼实验发现,当光穿过透明介质被分子散射的光发生频率变化,这一现象称为拉曼散射,同年稍后在苏联和法国也被观察到。在透明介质的散射光谱中,频率与入射光频率υ0相同的成分称为瑞利散射;频率对称分布在υ0两侧的谱线或谱带υ0±υ1即为拉曼光谱,其中频率较小的成分υ0-υ1又称为斯托克斯线,频率较大的成分υ0+υ1又称为反斯托克斯线。靠近瑞利散射线两侧的谱线称为小拉曼光谱;远离瑞利线的两侧出现的谱线称为大拉曼光谱。瑞利散射线的强度只有入射光强度的10-3,拉曼光谱强度大约只有瑞利线的10-3。小拉曼光谱与分子的转动能级有关,大拉曼光谱与分子振动-转动能级有关。拉曼光谱的理论解释是,入射光子与分子发生非弹性散射,分子吸收频率为υ0的光子,发射υ0-υ1的光子(即吸收的能量大于释放的能量),同时分子从低能态跃迁到高能态(斯托克斯线);分子吸收频率为υ0的光子,发射υ0+υ1的光子(即释放的能量大于吸收的能量),同时分子从高能态跃迁到低能态(反斯托克斯线)。分子能级的跃迁仅涉及转动能级,发射的是小拉曼光谱;涉及到振动-转动能级,发射的是大拉曼光谱。与分子红外光谱不同,极性分子和非极性分子都能产生拉曼光谱。激光器的问世,提供了优质高强度单色光,有力推动了拉曼散射的研究及其应用。拉曼光谱的应用范围遍及化学、物理学、生物学和医学等各个领域,对于纯定性分析、高度定量分析和测定分子结构都有很大价值。 拉曼效应起源于分子振动(和点阵振动)与转动,因此从拉曼光谱中可以得到分子振动能级(点阵振动能级)与转动能级结构的知识。用虚的上能级概念可以说明了拉曼效应: 设散射物分子原来处于基电子态,当受到入射光照射时,激发光与此分子的作用引起的极化可以看作为虚的吸收,表述为电子跃迁到虚态(Virtual state),虚能级上的电子立即跃迁到下能级而发光,即为散射光。设仍回到初始的电子态,则有如图所示的三种情况。因而散射光中既有与入射光频率相同的谱线,也有与入射光频率不同的谱线,前者称为瑞利线,后者称为拉曼线。在拉曼线中,又把频率小于入射光频率的谱线称为斯托克斯线,而把频率大于入射光频率的谱线称为反斯托克斯线。

北京理工大学汇编实验报告3

北京理工大学汇编实验报告3

本科实验报告实验名称:实验三字符串操作实验 课程名称: 课程设计Ⅰ(CPU与汇编)(实 验)实验时间: 第5-10周周五 下午 任课教师:聂青实验地点:10-102 实验教师:苏京霞 实验类型:?原理验证□综合设计□自主创新 学生姓名:罗逸雨 学号/班级:1120141208 05211401 组号:3 学院:信息与电子学院同组搭档: 专业:通信工程成绩:

CX 中值减 1,当 CX 中值减至 0 时,停止重复执行,继续执行下一条指令。当REP无条件重复前缀,重复串操作直到计数寄存器的内容 CX 为0为止。经常与REP 配合工作的字符串处理指令有MOVS、STOS和LODS。 当REPE/REPZ判断计数寄存器的内容 CX 是否为0或ZF=0(即比较的两个操作数不等),只要满足一个则重复执行结束,否则继续执行。可以与 REPE/REPZ 配合工作的串指令有CMPS和SCAS。 当REPNE/REPNZ判断计数寄存器的内容是否为0或ZF=1(即比较的两个操作数相等),只要满足一个则重复执行结束,否则继续执行。可以与 REPE/REPZ 配合工作的串指令有CMPS和SCAS。 3)字符串操作指令 lodsb、lodsw:把DS:SI指向的存储单元中的数据装入AL或AX,然后根据 DF 标志增减 SI; stosb、stosw:把AL或AX中的数据装入ES:DI指向的存储单元,然后根据 DF 标志增减 DI; movsb、movsw:把 DS:SI 指向的存储单元中的数据装入ES:DI指向的存储单元中,然后根据 DF标志分别增减SI和DI; scasb、scasw:把AL或AX 中的数据与ES:DI 指向的存储单元中的数据相减,影响标志位,然后根据DF标志分别增减SI和DI; cmpsb、cmpsw:把DS:SI 指向的存储单元中的数据与 ES:DI 指向的存储单元中的数据相减,影响标志位,然后根据DF标志分别增减SI和DI; rep:重复其后的串操作指令。重复前先判断 CX 是否为0,为0就结束重复,否则CX减1,重复其后的串操作指令。主要用在MOVS和STOS前。一般不用在 LODS 前。 上述指令涉及的寄存器:段寄存器DS和ES、变址寄存器SI和DI、累加器 AX、计数器CX。 涉及的标志位:DF、AF、CF、OF、PF、SF、ZF。 三、实验步骤 1) 编写程序,比较两个字符串BUF1和BUF2所含的字符是否相同,相同则AL 返回0,不同AL返回1,字符串长度要求自动获取,要求用字符串处理方法。提示:输入两个字符串之后,将串操作所必须的寄存器等参数设置好,然后使用串操作指令进行从头到尾的比较,两个字符串相等的条件是串长度相等且对应的字符相同。 2) 编写程序,设有一字符串存放在以BUF为首址的数据区中,其最后一字符‘$’作为结束标志,计算该字符串的长度并输出。提示:从串的第一个字符开始统计,直到遇到定义的字符串结束符为止,看看在这个过程中总共有多少个字符,

信号与系统仿真实验报告

信号与系统仿真实验报告1.实验目的 了解MATLAB的基本使用方法和编程技术,以及Simulink平台的建模与动态仿真方法,进一步加深对课程内容的理解。 2.实验项目 信号的分解与合成,观察Gibbs现象。 信号与系统的时域分析,即卷积分、卷积和的运算与仿真。 信号的频谱分析,观察信号的频谱波形。 系统函数的形式转换。 用Simulink平台对系统进行建模和动态仿真。 3.实验内容及结果 3.1以周期为T,脉冲宽度为2T1的周期性矩形脉冲为例研究Gibbs现象。 已知周期方波信号的相关参数为:x(t)=∑ak*exp(jkω),ω=2*π/T,a0=2*T1/T,ak=sin(kωT1)/kπ。画出x(t)的波形图(分别取m=1,3,7,19,79,T=4T1),观察Gibbs现象。 m=1; T1=4; T=4*T1;k=-m:m; w0=2*pi/T; a0=2*T1/T; ak=sin(k*w0*T1)./(k*pi); ak(m+1)=a0; t=0:0.1:40; x=ak*exp(j*k'*w0*t); plot(t,real(x)); 3.2求卷积并画图 (1)已知:x1(t)=u(t-1)-u(t-2), x2(t)=u(t-2)-u(t-3)求:y(t)=x1(t)*x2(t)并画出其波形。 t1=1:0.01:2; f1=ones(size(t1)); f1(1)=0; f1(101)=0; t2=2:0.01:3; f2=ones(size(t2)); f2(1)=0; f2(101)=0; c=conv(f1,f2)/100;

t3=3:0.01:5; subplot(311); plot(t1,f1);axis([0 6 0 2]); subplot(312); plot(t2,f2);axis([0 6 0 2]); subplot(313); plot(t3,c);axis([0 6 0 2]); (2)已知某离散系统的输入和冲击响应分别为:x[n]=[1,4,3,5,1,2,3,5], h[n]=[4,2,4,0,4,2].求系 统的零状态响应,并绘制系统的响应图。 x=[1 4 3 5 1 2 3 5]; nx=-4:3; h=[4 2 4 0 4 2]; nh=-3:2; y=conv(x,h); ny1=nx(1)+nh(1); ny2=nx(length(nx))+nh(length(nh)); ny=[ny1:ny2]; subplot(311); stem(nx,x); axis([-5 4 0 6]); ylabel('输入') subplot(312); stem(nh,h); axis([-4 3 0 5]); ylabel('冲击效应') subplot(313); stem(ny,y); axis([-9 7 0 70]); ylabel('输出'); xlabel('n'); 3.3 求频谱并画图 (1) 门函数脉冲信号x1(t)=u(t+0.5)-u(t-0.5) N=128;T=1; t=linspace(-T,T,N); x=(t>=-0.5)-(t>=0.5); dt=t(2)-t(1); f=1/dt; X=fft(x); F=X(1:N/2+1); f=f*(0:N/2)/N; plot(f,F)

Matlab通信系统仿真实验报告

Matlab通信原理仿真 学号: 2142402 姓名:圣斌

实验一Matlab 基本语法与信号系统分析 一、实验目的: 1、掌握MATLAB的基本绘图方法; 2、实现绘制复指数信号的时域波形。 二、实验设备与软件环境: 1、实验设备:计算机 2、软件环境:MATLAB R2009a 三、实验内容: 1、MATLAB为用户提供了结果可视化功能,只要在命令行窗口输入相应的命令,结果就会用图形直接表示出来。 MATLAB程序如下: x = -pi::pi; y1 = sin(x); y2 = cos(x); %准备绘图数据 figure(1); %打开图形窗口 subplot(2,1,1); %确定第一幅图绘图窗口 plot(x,y1); %以x,y1绘图 title('plot(x,y1)'); %为第一幅图取名为’plot(x,y1)’ grid on; %为第一幅图绘制网格线 subplot(2,1,2) %确定第二幅图绘图窗口 plot(x,y2); %以x,y2绘图 xlabel('time'),ylabel('y') %第二幅图横坐标为’time’,纵坐标为’y’运行结果如下图: 2、上例中的图形使用的是默认的颜色和线型,MATLAB中提供了多种颜色和线型,并且可以绘制出脉冲图、误差条形图等多种形式图: MATLAB程序如下: x=-pi:.1:pi; y1=sin (x); y2=cos (x); figure (1); %subplot (2,1,1); plot (x,y1); title ('plot (x,y1)'); grid on %subplot (2,1,2); plot (x,y2);

拉曼光谱实验报告

拉曼光谱实验 姓名学号 何婷21530100 李玉环21530092 宋丹21530111 [实验目的] 1、了解Raman光谱的原理和特点; 2、掌握Raman光谱的定性和定量分析方法; 3、了解Raman光谱的谱带指认。 4、了解显微成像Raman光谱。 [仪器和装置] 1、显微Raman光谱系统一套,拉曼光谱仪的型号为SPL-RAMAN-785 USB2000+的拉曼光谱仪,自带785nm激光; 2、带二维步进电机平移台一台(有控制器一台); 3、PT纳米线样品; 4、光谱仪软件SpectraSuite; 5、步进电机驱动软件; 6、摄像头(已与显微镜集成在一起)。 [实验内容] 1、使用显微Raman系统及海洋光谱软件对单根或多根纳米线进行显微Raman光谱测量, 对测量的图和标准图进行比较,并通过文献阅读对PT纳米线Raman(测量和标准)的谱峰进行指认。 2、使用显微拉曼扫描系统进行二维样品表面拉曼信号收集,并生成样品表面特定波长处的 拉曼信号强度三维图,模拟样品表面拉曼表征。选择多个拉曼波长对样品形状进行观察。[实验结果及分析]

观察PbTiO3的拉曼散射谱并比对具体的拉曼散射光谱数据进行分析,可以找到以上10个拉曼散射峰,分别位于784.54nm,794.94 nm,798.60 nm,802.90 nm,806.84 nm,811.91 nm,817.10 nm,825.29 nm,832.44 nm,879.69nm附近,对应的Raman Shift分别是-7.46 cm-1 159.28 cm-1 216.94 cm-1 284.00 cm-1 344.82 cm-1 422.21 cm-1 500.44 cm-1 621.90 cm-1 725.97 cm-1 1371.21 cm-1。 (通过Raman Shift=1/λ入射-1/λ散射计算得到) PT纳米线Raman测量的谱峰指认: 分析可知,-7.46 cm-1 159.28 cm-1 216.94 cm-1 284.00 cm-1 344.82 cm-1 422.21 cm-1 500.44 cm-1 621.90 cm-1 725.97 cm-1附近的9个振动模,分别对应于PbTiO3的A1(1TO),E(1LO),E(2TO),B1+E,A1(2TO),E(2LO)+A1(2LO),E(3TO)A1(3TO),A1(3LO)声子模。 位于159.28 cm-1附近的模对应PbTiO3纳米线表面的TiO6八面体相对于Pb的振动;位于500.44 cm-1附近的模分别对应于表面Ti-O或Pb-O键的振动;位于725.97 cm-1附近的模对应于TiO6八面体中Ti-O键的振动。而位于284.00 cm-1的振动模为静模。此外,在725.97 cm-1处PbTiO3还具有额外的Raman振动模,可能与该相中含有大量且复杂的晶胞结构有关。据报道,复杂钙钛矿结构中氧八面体的畸变或八面体内B位离子的移动在某种程度上会破坏平移对称性,引起相邻晶胞不再具有相似的局部电场和极化率。 位于-7.46 cm-1处的拉曼峰强度增强,相比标准PbTiO3纳米线,其余拉曼峰强度均减弱。798nm处样品表面拉曼信号三维强度图:

汇编课程设计报告

四川大学计算机学院 学生实验报告 实验名称:汇编课程设计报告 指导教师:唐宁九 姓名:廖偲 学号:0943111209 班级:软件09级一班 日期:20101114

实验报告 班级______________姓名_______________学号_________ 一、实验一:DEBUG基本命令与数据传输指令 二、实验的目的和要求: ? 1.熟练掌握DEBUG的基本调试命令,能够使用DEBUG编写、调试汇编语言程序片段。 ? 2.在理解数据传输指令的基础上按照实验内容中指定的程序片段对程序进行调试和记录; 三、实验的环境: 1.硬件环境:cpu 2.26gHZ、内存2G、显存1G、64位总线笔记本电脑 2.软件环境:win7 32位操作系统、8086/8088指令集系统(在windows系统中)、masm的汇编工具。 四、源程序清单: ?MOV AL, 01H ?MOV SI, 0002H ?LEA SI, [SI] ?MOV BYTE PTR [SI], 80H ?LAHF ?XCHG AL, AH ?SAHF ?XCHG AH, [SI] ?SAHF 五、操作内容: 1.从cmd在debug下进入用A命令进行汇编 格式: A [地址] 功能:从键盘输入汇编程序, 并逐条地把汇编指令翻译成机器代码指令存入对应内存单元。如果不指定汇编地址, 则以CS:IP为地址 2. 反汇编命令U使用 格式: U [地址]/[地址范围] 功能: 将指定地址范围内的机器代码翻译成汇编源程序指令显示出来, 并同时显示地址及代码。 注意: 反汇编时一定确认指令的起始地址, 否则得不到正确的结果。 3.寄存器查看/编辑命令r或r寄存器名称 功能: 显示当前所有寄存器内容, 状态标志及将要执行的下一条指令的地址、代码和汇编指令形式。

激光拉曼实验报告

激光拉曼及荧光光谱实验 一、实验目的 1、 了解激光拉曼的基本原理和基本知识以及用激光拉曼的方法鉴别物质成分和分子结构的原理; 2、 掌握LRS – II 激光拉曼/荧光光谱仪的系统结构和操作方法; 3、 研究四氯化碳CCL 4、苯C 6H 6等物质典型的振动—转动光谱谱线特征。 二、实验原理 2.1 基本原理 分子有振动。原子分双子的振动按经典力学的观点可以看成是简谐振子,其能量为 A 是振幅,k 是力常数。按照量子力学,简谐振子的能量是量子化的, t=0,1,2,3,···,是振动量子数,f 是振子的固有振动频率。如果在同一电子态中,有振动能级的跃迁,那么产生的光子能量 hf t t E E h )('12-=-=ν 波数为 CO 在红外部分有4.67微米、2.35微米、1.58微米等光谱带,其倒数之比近似为1: 2:3。当Δt=1时,测得的ν ~反映了分子键的强弱。 分子有转动。双原子分子的转动轴是通过质心而垂直于联接二原子核的直线的。按照经典力学,转动的动能是 式中P 是角动量,I是转动惯量, 222211r m r m I += 可以证明 I P I E 2212 2= =ω2 2 2 121r r m m m m I μ=+= 2222 1212 1 kA kx mv E =+ = 2 12 1m m m m m += hf t E )2 1(+=m k f π21= ,3,2,)(1 ~12ωωωωλ ν =?=-'=-= =t c f t t hc E E

上式中r1,r2和r分别代表两原子到转轴的距离及两原子之间的距离,μ称为约化质量。按照量子力学,角动量应等于 代入上式得 此式可以从量子力学直接推得,J称为转动量子数。当J=0,1,2,3,···等值时,相应的J(J+1)=0,2,6,12,···,所以能级的间隔是I h 228π的2,4,6,8,···倍。 实验和理论都证明纯转动能级的跃迁只能在邻近能级之间,就是ΔJ=±1。所得 光谱的波长应该有下式表达的值: 谱线波数(ν ~)的间隔是相等的。HCL 分子远红外吸收谱中,曾观察到很多条吸收线,这些线的波数间隔应该是2B,实验测得:B=10.34厘米 -1 ,所以由此求得 转动惯量I,进而求得HCL 分子中原子之间的核间距这一重要数据。 多原子分子的转动可以近似地看作刚体的转动,这涉及到多个转轴的不同的转动惯量。其谱线结构较为复杂,只有直线型的分子和对称高的分子转动曾研究出一些结果。在分析化学领域中提供了一些分析样品的标准特征谱线可供实验参照。 光通过透明的物体时,有一部分被散射。如果入射光具有线状谱,散射光的光谱中 除有入射光的谱线外,还另有一些较弱的谱线,这些谱线的波数ν '~等于入射光某一波数0~ν加或减一个数值,即10~~~ννν±='。新出现谱线的波数与入射光的波数之差发现与光源无关,只决定于散射物。如果换一个光源,0~ν不同了,但如果散射物不变换,那么0~~νν-'还是等于原来的1~ν,散射光的波数变动反映了散射物的性质。由于散射光的波数等于入射光的波数与另一数值1 ~ν组合的数值,所以这样的散射称作组合散射。 可以在紫外或可见区观测分子的振动和转动能级,通过选择波长在可见光波段的激 ,2,1,0,2) 1(=+=J h J J P π ) 1(82 2+= J J I h E πIc h B J BJ J J J J Ic h hc E E 2''''2'8, ,3,2,12)]1()1([8~1 ππνλ= ==+-+=-==

汇编语言-课程设计1

) 汇编语言课程实验报告 实验名称 课程设计1 实验环境 硬件平台:Intel Core i5-3210M 操作系统:DOSBox in Windows 软件工具:Turbo C , Debug, MASM 实验内容 《 将实验7中的Power idea公司的数据按照下图所示的格式在屏幕上显示出来。 实验步骤 1.要完成这个实验,首先我们需要编写三个子程序。第一个子程序是可以显示字符串到屏 幕的程序,其汇编代码如下: ;名称:show_str

;功能:在屏幕的指定位置,用指定颜色,显示一个用0结尾的字符串 ;参数:(dh)=行号,(dl)=列号(取值范围0~80),(cl)=颜色,ds:si:该字符串的首地址 ;返回:显示在屏幕上 ¥ show_str: push ax push cx push dx push es push si push di mov ax,0b800h - mov es,ax mov al,160 mul dh add dl,dl mov dh,0 add ax,dx mov di,ax mov ah,cl . show_str_x: mov cl,ds:[si] mov ch,0 jcxz show_str_f mov al,cl mov es:[di],ax inc si inc di 【 inc di jmp show_str_x show_str_f: pop di pop si pop es pop dx pop cx } pop ax ret 2.第二个程序是将word型数据转换为字符串,这样我们才能调用第一个程序将其打印出

系统仿真实验报告

中南大学系统仿真实验报告 指导老师胡杨 实验者 学号 专业班级 实验日期 2014.6.4 学院信息科学与工程学院

目录 实验一MATLAB中矩阵与多项式的基本运算 (3) 实验二MATLAB绘图命令 (7) 实验三MATLAB程序设计 (9) 实验四MATLAB的符号计算与SIMULINK的使用 (13) 实验五MATLAB在控制系统分析中的应用 (17) 实验六连续系统数字仿真的基本算法 (30)

实验一MATLAB中矩阵与多项式的基本运算 一、实验任务 1.了解MATLAB命令窗口和程序文件的调用。 2.熟悉如下MATLAB的基本运算: ①矩阵的产生、数据的输入、相关元素的显示; ②矩阵的加法、乘法、左除、右除; ③特殊矩阵:单位矩阵、“1”矩阵、“0”矩阵、对角阵、随机矩阵的产生和运算; ④多项式的运算:多项式求根、多项式之间的乘除。 二、基本命令训练 1.eye(m) m=3; eye(m) ans = 1 0 0 0 1 0 0 0 1 2.ones(n)、ones(m,n) n=1;m=2; ones(n) ones(m,n) ans = 1 ans = 1 1

3.zeros(m,n) m=1,n=2; zeros(m,n) m = 1 ans = 0 0 4.rand(m,n) m=1;n=2; rand(m,n) ans = 0.8147 0.9058 5.diag(v) v=[1 2 3]; diag(v) ans = 1 0 0 0 2 0 0 0 3 6.A\B 、A/B、inv(A)*B 、B*inv(A) A=[1 2;3 4];B=[5 6;7 8]; a=A\B b=A/B c=inv(A)*B d=B*inv(A) a = -3 -4 4 5 b = 3.0000 -2.0000 2.0000 -1.0000

MATLAB通信系统仿真实验报告1

MATLAB通信系统仿真实验报告

实验一、MATLAB的基本使用与数学运算 目的:学习MATLAB的基本操作,实现简单的数学运算程序。 内容: 1-1要求在闭区间[0,2π]上产生具有10个等间距采样点的一维数组。试用两种不同的指令实现。 运行代码:x=[0:2*pi/9:2*pi] 运行结果: 1-2用M文件建立大矩阵x x=[0.10.20.30.40.50.60.70.80.9 1.11.21.31.41.51.61.71.81.9 2.12.22.32.42.52.62.72.82.9 3.13.23.33.43.53.63.73.83.9] 代码:x=[0.10.20.30.40.50.60.70.80.9 1.11.21.31.41.51.61.71.81.9 2.12.22.32.42.52.62.72.82.9 3.13.23.33.43.53.63.73.83.9] m_mat 运行结果: 1-3已知A=[5,6;7,8],B=[9,10;11,12],试用MATLAB分别计算 A+B,A*B,A.*B,A^3,A.^3,A/B,A\B. 代码:A=[56;78]B=[910;1112]x1=A+B X2=A-B X3=A*B X4=A.*B X5=A^3 X6=A.^3X7=A/B X8=A\B

运行结果: 1-4任意建立矩阵A,然后找出在[10,20]区间的元素位置。 程序代码及运行结果: 代码:A=[1252221417;111024030;552315865]c=A>=10&A<=20运行结果: 1-5总结:实验过程中,因为对软件太过生疏遇到了些许困难,不过最后通过查书与同学交流都解决了。例如第二题中,将文件保存在了D盘,而导致频频出错,最后发现必须保存在MATLAB文件之下才可以。第四题中,逻辑语言运用到了ij,也出现问题,虽然自己纠正了问题,却也不明白错在哪了,在老师的讲解下知道位置定位上不能用ij而应该用具体的整数。总之第一节实验收获颇多。

激光拉曼光谱实验报告

激光拉曼光谱实验报告 摘要:本实验研究了用半导体激光器泵浦的3Nd + :4YVO 晶体并倍频后得到的532nm 激 光作为激发光源照射液体样品的4CCL 分子而得到的拉曼光谱,谱线很好地吻合了理论分析的4CCL 分子4种振动模式,且频率的实验值与标准值比误差低于2%。又利用偏振片及半波片获得与入射光偏振方向垂直及平行的出射光,确定了各振动的退偏度,分别为、、、,和标准值0和比较偏大。 关键词:拉曼散射、分子振动、退偏 一, 引言 1928年,印度物理学家拉曼()和克利希南()实验发现,当光穿过液体苯时被分子散射的光发生频率变化,这种现象称为拉曼散射。几乎与此同时,苏联物理学家兰斯别而格()和曼杰尔斯达姆()也在晶体石英样品中发现了类似现象。在散射光谱中,频率与入射光频率0υ相同的成分称为瑞利散射,频率对称分布在0υ两侧的谱线或谱带01υυ±即为拉曼光谱,其中频率较小的成分01υυ-又称为斯托克斯线,频率较大的成分01υυ+又称为反斯托克斯线。这种新的散射谱线与散射体中分子的震动和转动,或晶格的振动等有关。 拉曼效应是单色光与分子或晶体物质作用时产生的一种非弹性散射现象。拉曼谱线的数目,位移的大小,谱线的长度直接与试样分子振动或转动能级有关。因此,与红外吸收光谱类似,对拉曼光谱的研究,也可以得到有关分子振动或转动的信息。目前拉曼光谱分析技术已广泛应用于物质的鉴定,分子结构的研究谱线特征。 20世纪60年代激光的问世促进了拉曼光谱学的发展。由于激光极高的单色亮度,它很快被用到拉曼光谱中作为激发光源。而且基于新激光技术在拉曼光谱学中的使用,发展了共振拉曼、受激拉曼散射和番斯托克斯拉曼散射等新的实验技术和手段。 拉曼光谱分析技术是以拉曼效应为基础建立起来的分子结构表征技术,其信号来源于分子的振动和转动。它提供快速、简单、可重复、且更重要的是无损伤的定性定量分析,无需样品准备,样品可直接通过光纤探头或者通过玻璃、石英、和光纤测量。拉曼光谱的分析方向有定性分析、结构分析和定量分析。

计算机组成原理与大全实验报告

计算机组成原理与汇编课程设计 实验报告 字符统计.asm 2.斐波那契数(小于50).asm (29) 一、课程设计目标 通过课程设计使学生综合运用所学过的计算机原理与汇编知识,增强解决实际问题的能力,加深对所学知识的理解与掌握,提高软硬件开发水平,为今后打下基础。

课程设计的目的和要求: 1、使学生巩固和加强《计算机原理与汇编语言》课程的基本理论知识。 2、使学生掌握汇编语言程序设计的方法及编程技巧,正确编写程序。 3、使学生养成良好的编程习惯并掌握调试程序的基本方法。 4、使学生养成规范书写报告文档的能力,撰写课程设计总结报告。 5、通过查阅手册和文献资料,培养学生独立分析问题和解决问题的能力。 1 2 3 4 1 2 3 00001001 00100000 00001011 00110000 00001011

01000000 00000000 00000001 本实验设计机器指令程序如下: 4)这里做的是个加法运算,第一个加数已经存入到内存的0000 1010单元中, 第二个加数是需要手工输入的。在实验运行面板中点击“运行”按钮,选择 “输入”芯片,设置输入的数据后,双击连接“输入”芯片的单脉冲,这样 第二个加数就设置好了。 5)在实验运行面板中双击连续脉冲,模型机便开始工作,观察各个芯片的状态。 或者在模型机调试窗口中(如图2所示)点击“指令执行”选项卡,在模型 机调试窗口中点击“下一时钟”,模型机机执行到下一个时钟,点击“下一

微指令”,模型机机执行到下一个微指令,点击“下一指令”,模型机机执行到下一条指令。观察各个芯片的状态,思考模型机的运行原理。 四、课程设计的要求 1、根据题目内容,查阅资料。 2、编写课程设计预习报告。 3、编制程序及调试程序。 4、分析总结,写出课程设计报告,报告中应该包含程序功能与使用说明、程序功能 实现方法说明、如流程图与算法参数说明等内容,设计经验体会总结,源程序清 5 6 1 通 三、实验设计内容 读取文件代码段: MOV AX,DATAS MOV DS,AX ;置数据段寄存器 ; MOV DX,OFFSET FNAME MOV AX,3D00H ;读打开指定文件

交通运输系统仿真实验报告

一、系统描述 1.1.系统背景 本系统将基于下面的卫星屏幕快照创建一个模型。当前道路网区域的两条道路均为双向,每个运动方向包含一条车道。Tapiolavagen路边有一个巴士站,Menninkaisentie路边有一个带五个停车位的小型停车场。 1.2.系统描述 (1)仿真十字路口以及三个方向的道路,巴士站,停车点;添加小汽车、公交车的三维动画,添加红绿灯以及道路网络描述符; (2)创建仿真模型的汽车流程图,三个方向产生小汽车,仿真十字路口交通运行情况。添加滑条对仿真系统中的红绿灯时间进行实时调节。添加分析函数,统计系统内汽车滞留时间,用直方图进行实时展示。 二、仿真目标 1、timeInSystem值:在流程图的结尾模块用函数统计每辆汽车从产生到丢弃的,在系统中留存的时间。 2、p_SN为十字路口SN方向道路的绿灯时间,p_EW为十字路口EW方向道路的绿灯时间。 3、Arrival rate:各方向道路出现车辆的速率(peer hour)。

三、系统仿真概念分析 此交通仿真系统为低抽象层级的物理层模型,采用离散事件建模方法进行建模,利用过程流图构建离散事件模型。 此十字路口交通仿真系统中,实体为小汽车和公交车,可以源源不断地产生;资源为道路网络、红绿灯时间、停车点停车位和巴士站,需要实施分配。系统中小汽车(car)与公共汽车(bus)均为智能体,可设置其产生频率参数,行驶速度,停车点停留时间等。 四、建立系统流程 4.1.绘制道路 使用Road Traffic Library中的Road模块在卫星云图上勾画出所有的道路,绘制交叉口,并在交叉口处确保道路连通。 4.2.建立智能体对象 使用Road Traffic Library中的Car type模快建立小汽车(car)以及公共汽车(bus)的智能体对象。 4.3.建立逻辑 使用Road Traffic Library中的Car source、Car Move To、Car Dispose、

激光拉曼光谱仪实验报告

实验六 激光拉曼光谱仪 【目的要求】 1.学习和了解拉曼散射的基本原理; 2.学习使用激光拉曼光谱仪测量CCL 4的谱线; 【仪器用具】 LRS-3型激光拉曼光谱仪、CCL 4、计算机、打印机 【原 理】 1. 拉曼散射 当平行光投射于气体、液体或透明晶体的样品上,大部分按原来的方向透射 而过,小部分按照不同的角度散射开来,这种现象称为光的散射。散射是光子与物质分子相互碰撞的结果。由于碰撞方式不同,光子和分子之间会有多种散射形式。 ⑴ 弹性碰撞 弹性碰撞是光子和分子之间没有能量交换,只是改变了光子的运动方向,使得散射光的频率与入射光的频率基本相同,频率变化小于3×105HZ ,在光谱上称为瑞利散射。瑞利散射在光谱上给出了一条与入射光的频率相同的很强的散射谱线,就是瑞利线。 ⑵ 非弹性碰撞 光子和分子之间在碰撞时发生了能量交换,这不仅使光子改变了其运动方向,也改变了其能量,使散射光频率与入射光频率不同,这种散射在光谱上称为拉曼散射,强度很弱,大约只有入射线的10-6。 由于散射线的强度很低,所以为了排除入射光的干扰,拉曼散射一般在入射线的垂直方向检测。散射谱线的排列方式是围绕瑞利线而对称的。在拉曼散射中散射光频率小于入射光频率的散射线被称为斯托克斯线;而散射光频率大于入射光频率的散射线被称为反斯托克斯线。斯托克斯线和反斯托克斯线是如何形成的呢?在非弹性碰撞过程中,光子与分子有能量交换, 光子转移一部分能量给分子, 或者从分子中吸收一部分能量,从而使它的频率改变,它取自或给予散射分子的能量只能是分子两定态之间的差值21E E E -=?。在光子与分子发生非弹性碰撞过程中,光子把一部分能量交给分子时,光子则以较小的频率散射出去,称为频率较低的光(即斯托克斯线),散射分子接受的能量转变成为分子的振动或转动能

汇编器实验报告doc

汇编器实验报告 篇一:汇编实验报告 实验一(1)熟悉汇编语言程序调试环境及顺序程序设计 一、实验目的及要求: 1.学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互之间的关系。 2.学会使用EDIT、MASM、LINK、DEBUG等软件工具。 3.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。 二、熟悉汇编语言程序调试环境 1.汇编语言源程序的建立 本例中给出的程序是要求从内存中存放的10个无符号字节整数数组中找出最小数,将其值保存在AL寄存器中。设定源程序的文件名为ABC。 DATA SEGMENT BUFDB 23H,16H,08H,20H,64H,8AH,91H,35H,2BH,7FH CN EQU $-BUF DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: PUSH DS

XOR AX,AX PUSH AX MOVAX,DATA MOV DS,AX MOV BX,OFFSET BUF MOV CX,CN DEC CX MOV AL,[BX] INC BX LP:CMP AL,[BX] JBE NEXT MOV AL,[BX] NEXT: INC BX DEC CX JNZ LP MOV AH,4CH INT 21H CODE ENDS END START 键入以下命令: C:\>EDIT ABC.ASM 此时屏幕的显示状态如图1所示。

1 图1 用EDIT编辑ABC.ASM程序窗口 程序输入完毕后一定要将源程序文件存入盘中,以便进行汇编及连接,也可以再次调出源程序进行修改。 2.将源程序文件汇编成目标程序文件 一般情况下,MASM汇编程序的主要功能有以下3点:(1)检查源程序中存在的语法错误,并给出错误信息。 (2)源程序经汇编后没有错误,则产生目标程序文件,扩展名为.OBJ。 (3)若程序中使用了宏指令,则汇编程序将展开宏指令。 源程序建立以后,在DOS状态下,采用宏汇编程序MASM 对源程序文件进行汇编,其操作过程如图2所示。 图2 MASM宏汇编程序工作窗口 汇编过程的错误分警告错误(Warning Errors)和严重错误(Severe Errors)两种。其中警告错误是指汇编程序认为的一般性错误;严重错误是指汇编程序认为无法进行正确汇编的错误,并给出错误的个数、错误的性质。这时,就要对错误进行分析,找出原因和问题,然后再调用屏幕编辑程序加以修改,修改以后再重新汇编,一直到汇编无错误为止。 3.用连接程序生成可执行程序文件

控制系统仿真实验报告

哈尔滨理工大学实验报告 控制系统仿真 专业:自动化12-1 学号:1230130101 姓名:

一.分析系统性能 课程名称控制系统仿真实验名称分析系统性能时间8.29 地点3# 姓名蔡庆刚学号1230130101 班级自动化12-1 一.实验目的及内容: 1. 熟悉MATLAB软件的操作过程; 2. 熟悉闭环系统稳定性的判断方法; 3. 熟悉闭环系统阶跃响应性能指标的求取。 二.实验用设备仪器及材料: PC, Matlab 软件平台 三、实验步骤 1. 编写MATLAB程序代码; 2. 在MATLAT中输入程序代码,运行程序; 3.分析结果。 四.实验结果分析: 1.程序截图

得到阶跃响应曲线 得到响应指标截图如下

2.求取零极点程序截图 得到零极点分布图 3.分析系统稳定性 根据稳定的充分必要条件判别线性系统的稳定性最简单的方法是求出系统所有极点,并观察是否含有实部大于0的极点,如果有系统不稳定。有零极点分布图可知系统稳定。

二.单容过程的阶跃响应 一、实验目的 1. 熟悉MATLAB软件的操作过程 2. 了解自衡单容过程的阶跃响应过程 3. 得出自衡单容过程的单位阶跃响应曲线 二、实验内容 已知两个单容过程的模型分别为 1 () 0.5 G s s =和5 1 () 51 s G s e s - = + ,试在 Simulink中建立模型,并求单位阶跃响应曲线。 三、实验步骤 1. 在Simulink中建立模型,得出实验原理图。 2. 运行模型后,双击Scope,得到的单位阶跃响应曲线。 四、实验结果 1.建立系统Simulink仿真模型图,其仿真模型为

通信工程系统仿真实验报告

通信原理课程设计 实验报告 专业:通信工程 届别:07 B班 学号:0715232022 姓名:吴林桂 指导老师:陈东华

数字通信系统设计 一、 实验要求: 信源书记先经过平方根升余弦基带成型滤波,成型滤波器参数自选,再经BPSK ,QPSK 或QAM 调制(调制方式任选),发射信号经AWGN 信道后解调匹配滤波后接收,信道编码可选(不做硬性要求),要求给出基带成型前后的时域波形和眼图,画出接收端匹配滤波后时域型号的波形,并在时间轴标出最佳采样点时刻。对传输系统进行误码率分析。 二、系统框图 三、实验原理: QAM 调制原理:在通信传渝领域中,为了使有限的带宽有更高的信息传输速率,负载更多的用户必须采用先进的调制技术,提高频谱利用率。QAM 就是一种频率利用率很高的调制技术。 t B t A t Y m m 00sin cos )(ωω+= 0≤t ≤Tb 式中 Tb 为码元宽度t 0cos ω为 同相信号或者I 信号; t 0s i n ω 为正交信号或者Q 信号; m m B A ,为分别为载波t 0cos ω,t 0sin ω的离散振幅; m 为 m A 和m B 的电平数,取值1 , 2 , . . . , M 。 m A = Dm*A ;m B = Em*A ; 式中A 是固定的振幅,与信号的平均功率有关,(dm ,em )表示调制信号矢量点在信号空

间上的坐标,有输入数据决定。 m A 和m B 确定QAM 信号在信号空间的坐标点。称这种抑制载波的双边带调制方式为 正交幅度调制。 图3.3.2 正交调幅法原理图 Pav=(A*A/M )*∑(dm*dm+em*em) m=(1,M) QAM 信号的解调可以采用相干解调,其原理图如图3.3.5所示。 图3.3.5 QAM 相干解调原理图 四、设计方案: (1)、生成一个随机二进制信号 (2)、二进制信号经过卷积编码后再产生格雷码映射的星座图 (3)、二进制转换成十进制后的信号 (4)、对该信号进行16-QAM 调制 (5)、通过升余弦脉冲成形滤波器滤波,同时产生传输信号 (6)、增加加性高斯白噪声,通过匹配滤波器对接受的信号滤波 (7)、对该信号进行16-QAM 解调 五、实验内容跟实验结果:

拉曼光谱实验报告

成绩 评定 教师 签名 嘉应学院物理学院近代物理实验 实验报告 实验项目:拉曼光谱 实验地点: 班级: 姓名: 座号: 实验时间:年月日

图2 ν? 0ν ν? 斯托克斯线 瑞利线 反斯托克斯线 一、实验目的: 1、 了解拉曼散射的基本原理 2、 学习使用拉曼光谱仪测量物质的谱线,知道简单的谱线分析方法。 二、实验仪器和用具: RBD 型激光拉曼光谱仪 三、实验原理: 按散射光相对于入射光波数的改变情况,可将散射光分为瑞利散射、布利源散射、拉曼散射;其中瑞利散射最强,拉曼散射最弱。在经典理论中,拉曼散射可以看作入射光的电磁波使原子或分子电极化以后所产生的,因为原子和分子都是可以极化的,因而产生瑞利散射,因为极化率又随着分子内部的运动(转动、振动等)而变化,所以产生拉曼散射。 在量子理论中,把拉曼散射看作光量子与分子相碰撞时产生的非弹性碰撞过程。在弹性碰撞过程中,光量子与分子均没有能量交换,于是它的频率保持恒定,这叫瑞利散射,如图(1a );在非弹性碰撞过程中光量子与分子有能量交换,从而使它的频率改变,它取自或给予散射分子的能量只能是分子两定态之间的差值12E E E ?=-,当光量子把一部分能量交给分子时,频率较低的光为斯托克斯线,散射分子接受的能量转变成为分子的振动或转动能量,从而处于激发态1E ,如图(1b ),这时的光量子的频率为0ννν'=-?;光量子从较大的频率散射,称为反斯托克斯线,这时的光量子的频率为0ννν'=+?。 最简单的拉曼光谱如图2所示,中央的是瑞利散射线,频率为0ν,强度最强;低频一侧的是斯托克斯线,强度比瑞利线的强度弱很多;高频的一侧是反斯托克斯线,强度比斯托克斯线的 图(1a ) 0h ν ()0h νν+? 0h ν ()0h νν-? 图(1b ) (上能态是虚能态,实 际不存在。这样的跃迁 过程只是一种模型实 际并没有发生) 0h ν 0h ν 0h ν 0h ν

《汇编语言+微型计算机》课程设计实验报告

长江大学工程技术学院《汇编+微机》课程设计报告 ?? 数据采集系统的设计与调试 学生姓名:袁春云学号:200960720?序号:25 专业班级:计本60901 指导老师:李华贵许建国 报告日期: 2011 年9月10日 ???

一.课程设计题目:数据采集系统的设计与测试 利用《汇编语言+微型计算机》课程中所学的可编程接口芯片8253、8255A、ADC0809和微机内部的中断控制器8259A设计一个数据采集系统,并且编程与调试。 二.设计目的 1.通过本设计,使学生综合运用《微型计算机技术》、《汇编语言程序设计》以及电子技术等课程的内容,为以后从事计算机检测与控制奠定一定的基础。 2.主要掌握并行I/O接口芯片8253、8255A、ADC0809及中断控制芯片8259A等可编程器件的使用,掌握译码器74LS138的使用。 3.学会用汇编语言编写一个较完整的实用程序。 4.掌握微型计算机技术应用开发的全过程:分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等步骤。 三.课程设计要求 1.功能要求 ①利用《汇编语言+微型计算机系统》课程中所学的可编程接口芯片8253、8255A、ADC0809和微机内部的中断控制器8259A(从保留的IRQ2或TRQ10端引入)设计一个数据采集系统、并且编程与调试。 ②用8253定时器定时10MS,每次定时10MS后启动一次模/数转换,要求对所接通道变化的模拟电压值进行采集。 ③每次模/数转换结束后,产生一次中断,在中断服务程序中,采集来的数字量被读入微处理器的累加器AL中,然后通过8255A输出到8个LED发光二极管显示。 2.设计所需器材与工具 ④微机原理与接口综合仿真实验平台。 ⑤可编程接口芯片8253、8255A、ADC0809和译码器芯片74LS138、74LS 245等。 ⑥可调电位器4.7KΩ一个。 ⑦其他逻辑器件、导线若干。 ⑧万用表、常用工具等。 四.设计思路 1. 4.7Ω电位器一端接+5V,一端接地,调节电位器得到变化的模拟电压,

相关主题
文本预览
相关文档 最新文档