数字通信原理BPSK传输系统设计与仿真实验报告

数字通信原理BPSK传输系统设计与仿真实验报告
数字通信原理BPSK传输系统设计与仿真实验报告

北京联合大学《通信原理》实验报告

科目:通信原理实验

教师:许学梅

班级: 200908030201

姓名: 王国显

学号: 2009080302104

时间: 2012.11.20

实验四、2PSK传输系统设计与仿真

一、实验目的

1..在前面2PSK调制系统设计与仿真实验的基础上,通过本实验建立起

BPSK 传输系统的概念。

2.深入理解、掌握二进制相移键控技术(2PSK)的调制/解调原理及在数字

通信传输系统中的应用。

3.掌握(2PSK)调制/解调传输系统模型的构建技术。

4.掌握(2PSK)调制/解调的设计与实现方法。

5.深入理解、分析、掌握二进制相移键控(2PSK)调制/解调传输系统各模

块间参数的设置及相互间的关联与影响。

6.能够按不同用户的技术指标需求,进行(2PSK)调制/解调传输系统的设

计。

7.掌握(2PSK)调制/解调传输系统的测试方法。

8.掌握对(2PSK)调制/解调传输系统的相关参数、信号波形及频谱进行分

析的方法。

9.对比原始发送数据信号经调制/与解调系统传输后,还原的数据信号是否

与原始发送数据信号一致。

二、实验仪器(软/硬件环境及所需元器件模块)

1.PC机一台

2. 安捷伦科技EESof软件ADS:Advanced Design System –2005A

3.计算机操作系统:Win 2000, Win XP, HP Unix11.0, Sun Unix 5.8 等

4.元器件模块:

(1)Sinusoid正弦波信号发生器(Sinusoid signal generator);

(2)Data数字序列信号发生器(Data generator);

(3)信号类型转换器(Signal Converters):

TimedToFloat信号类型转换器、FloatToTimed信号类型转换器;

(4)TimedSink信号接收器(Timed Data Collector);

(5) SpectrumAnalyzer频谱分析仪(Spectrum analyzer);

(6) DF数据流控制器(Data Flow Controller);

(7) Mpy2乘法器(2-Input Multiplier);

(8) VAR变量和方程式模块(器件)(Variables and Equations Component)。

(9)时钟源Clock,

(10)抽样保持器SampleAndHold,

(11)带通滤波器BPF_RaisedCosineTimed,

(12)低通滤波器为LPF_RaisedCosineTimed,

(13)限幅器Limiter,

三、实验原理

BPSK 传输系统模型图1 所示:

图1

在(2PSK)的调制技术基础上,进行2PSK信号的解调:

2PSK信号的解调只能采用相干解调的方法,也称极性比较法,其原理如图2(a)所示,2PSK信号相干解调各点的波形如图2 (b)、(c)所示。

图2 2PSK相干解调器原理图及各点波形

解调的过程,实质上是接收的已调信号与本地载波信号进行极性比较的过

程。不考虑噪声时,带通滤波器输出a 点波形与输入端2PSK 波形相同,a 点与b

点本地恢复的同步载波相乘,得到c 点波形其表达式为:

()()t

t t z k 00cos cos ω?ω+=;

经低通滤波器滤掉高频分量输出为:

()???????=-===

π

???k k k

t x 2

1021cos 2

1 得到d 点波形,经抽样判决,恢复出原数字

信号{}'n a ,如图(b)所示。

在相干解调中,要求本地恢复的相干载波相位与接收的2PSK 信号同频同相,由于本地恢复的载波相位有随机性,当恢复的载波产生1800倒相时,如图(c )中波形b ,解调出的数字基带信号将与发送的数字基带信号“1”和“0”正好相反,解调器输出的数字基带信号全部出错,如图(c)所示。这种现象通常称为“倒л”现象或称反向工作,也称相位模糊。这对数字传输来说是不能允许的。克服相位模糊最常用的办法是,采用相对相移键控技术(DPSK )。

四、 实验内容

1. 设计一个(2PSK )调制/解调传输系统。

2. 采用乘法器的方法产2PSK 信号。

3. 采用相干解调的方法,也称极性比较法,解调2PSK 信号,并还原成原始

数字信号

4. 应用ADS 软件:Advanced Design System – 2005A 构建所设计的

(2PSK )调制/解调传输系统模型。

5. 应用ADS 软件:Advanced Design System – 2005A 对所设计的

(2PSK )调制/解调传输系统进行测试及分析。 (1).记录保存各点的测试数据。

(2).测试、观察、画出(2PSK )调制/解调传输系统各关键点的时域波形,并对其进行比较、分析。

(3).测试、观察、画出(2PSK )调制/解调传输系统的基带信号和已调信号的频域波形,并对其进行比较、分析。

五、 实验步骤

1、应用ADS 软件:Advanced Design System – 2005A 构建所设计的(2PSK )调制/解调传输系统。 图4.6 2. 构建(2PSK )调制/解调传输系统模型及参数设置

(a).需要的元器件有:正弦波发生器,DATA信号发生器,信号类型转换器,信号收集器, DF数据流控制器,乘法器,加法器,限幅器, VAR变量和方程式器件。

(b).按照寻找元器件的第二种方法搭建,

正弦波发生器“元件名”为 Sinusoid。双击如图(图2.8)中的正弦函数,出现如图(图 2.9)并按图进行参数修改。TSemp= Tsemp,Vpeak=1.0V,Frequency=1MHz,Phase=0.0,DecayRatio=0,Delay=1usec,Duration Time=1usec,Repetitionlnterval=1usec。其中Tsemp是变量,会在 VAR变量和方程式器件中赋值。当有不明白的地方时可以点击如图(图2.9)右下角的help 帮助进行了解。当“Display parameter on schematic”前面打对勾时证明需要显示。

图2.9

DATA信号发生器“元件名”为Data;并按如图(图2.10)进行参数修改。Rout=50.0m0hm,RTemp=273.15,TSemp= Tsemp,BitTime= BitTime,SequencePattern=8,Repeat=Yes。其中Tsemp、BitTime是变量,会在 VAR变量和方程式器件中赋值。

图2.10

信号类型转换器(1.黑色箭头表示时系数,2.蓝色箭头表示浮点数)“元件

名”为TimedToFloat用两个,FloatToTimed用一个,

注意蓝的要和蓝的箭头接,黑的要和黑色箭头接,颜色

一定要一致。信号类型转换器Timed To Float的作用是

把模拟信号变为数字信号如图(图 2.11),Float To

Timed是反过来。信号类型转换器不需要修改参数。

图2.11 信号收集器“元件名”为Timed Sink

用三个,如图(图2.12)。

“元件名”为Spectrum Analyzer用一个。

如图(图2.12)。

DF数据流控制器“元件名”为DF,并按如图(图2.13)进行参数设置。Default

Numeric Start=0,Default Numeric Stop=100,DefaultTimeStart=0usec,DefaultTimeStop=100usec。并在“display”窗口中在这四项打上对勾,OK进

行显示。

图2.13

乘法器“元件名”为Mpy2,这是一个数字乘法器。如图(图2.14)

图2.14

VAR变量和方程式器件“元件名”为VAR,并按如图(图2.15)进行参数修改。Tstep=0.1usec,BitTime=10usec。

图2.15

限幅器“元件名”为Limiter如图(图2.16),

要两个。并按如图(图 2.17)进行参数设置。

Nlimit=-0.0001V,Plimit=1V,Gain=1/-1。

(图2.16)

图2.17

(3)构建系统连接图

点击图标把找到的元器件进行连接,连接方式如图(图2.18),保存

即可。

图2.18

3.运行仿真程序并分析仿真结果:幅度谱

程序设计课程设计实验报告

《程序设计》课程设计姓名: 学号: 班级:软件工程14班 指导教师: 成绩:

1.消除类游戏 【问题描述】 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。 【基本要求】 现在给你一个n行m列的棋盘(1≤n,m≤30),棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。 请注意:一个棋子可能在某一行和某一列同时被消除。 输入数据格式: 输入的第一行包含两个整数n,m,用空格分隔,分别表示棋盘的行数和列数。接下来n行,每行m 个整数,用空格分隔,分别表示每一个方格中的棋子的颜色。颜色使用1至9编号。 输出数据格式: 输出n行,每行m个整数,相邻的整数之间使用一个空格分隔,表示经过一次消除后的棋盘。如果一个方格中的棋子被消除,则对应的方格输出0,否则输出棋子的颜色编号。 【测试数据】 为方便调试程序,可将输入数据先写入一个文本文件,然后从文件读取数据处理,这样可避免每次运行程序时都要从键盘输入数据。 测试数据一 输出说明: 棋盘中第4列的1和第4行的2可以被消除,其他的方格中的棋子均保留。 测试数据二 输出说明: 棋盘中所有的1以及最后一行的3可以被同时消除,其他的方格中的棋子均保留。 【功能实现】 #include #include<> usingnamespacestd;

{ intm,n,i,j; inttemp; cin>>n>>m; temp=m; m=n; n=temp; int*map=newint[m*n]; int*mark=newint[m*n]; int*tmap=map; int*tmark=mark; intdif=0; ount=0; } p rintf("请输入要输入数的个数\n"); s canf("%d",&n);/*输入要输入数的个数*/ f or(i=0;idata1[j+1].number)

电子设计实验报告

电子技术课程设计报告

目录 1. 电子琴 (2) (1.1 )设计要求 (2) (1.2 )设计的作用. 目的 (2) (1.3 )设计的具体实现 (3) (1.4)心得体会、存在问题和进一步的改进意见等 (7) (1.5)附录 (8) (1.6 )参考文献 (9) (1.7 )附图 (9) 2. 温度控制电路 (10) 2.1 )设计要求 (10) (2.2 )设计的作用. 目的 (10) (2.3 )设计的具体实现 (10) (2.4)心得体会、存在问题和进一步的改进意见等12 (2.5)附录 (12) (2.6 )参考文献 (13) 3. ...................................................... 信号发生器13 (3.1 )设计要求 (13) (3.2 )设计的作用. 目的 (13) (3.3 )设计的具体实现 (14) (3.4)心得体会、存在问题和进一步的改进意见等 (17) (3.5)附录 (17) (3.6 )参考文献 (17) 4. ...................................................... 音频放大器18 (4.1 )设计要求 (18) (4.2 )设计的作用. 目的 (18) (4.3 )设计的具体实现 (18) 4.4)心得体会、存在问题和进一步的改进意见等 (21) (4.5) .......................................... 附录21

(4.6 )参考文献 (21) 简易电子琴设计报告 一.设计要求本设计是基于学校实验室的环境,根据实验室提供的实验条件来完成设计任务,设计一个简易电子琴。 (1).按下不同琴键即改变RC 值,能发出C 调的八个基本音阶,采用运算放大器构成振荡电路,用集成功放电路输出。 (2).选择电路方案,完成对确定方案电路的设计。计算电路元件参数并记录对应不同音阶时的电路参数值、元件选择、并画出总体电路原理图,阐述基本原理。(3).连接安装调试电路。 (4).写出设计总结报告。 二. 设计的作用、目的 1. 学会用仿真软件对设计的原理图进行仿真。培养创新能力和创新思维,锻炼学生 自学软件的能力,通过查阅手册和文献资料,培养独立分析问题和解决问题的能 力。 2. 培养学生正确的设计思想,理论联系实际的工作作风,严肃认真、实事求是的科 学态度和勇于探索的创新精神。 3. 通过课程设计,使学生在理论计算、结构设计、工程绘图、查阅设计资料、标准 与规范的运用和计算机应用方面的能力得到训练和提高。

程序设计基础实验报告

《程序设计基础》 实验报告 专业班级: 姓名: 学号:

实验一 面向过程的简单程序设计 1.实验目的要求 (1) 使用C++语言编写简单的计算机程序,掌握C++程序从编辑、编译到运行的全过程, 初步了解C++程序的特点。 (2) 掌握C++语言的数据类型(包括对各种数据类型变量的定义、初始化、赋值等)、运 算符和表达式的使用。 (3) 掌握赋值语句的使用。 (4) 掌握数据的输入输出方法。 2.实验内容 (1)设计简单程序,分别计算下列表达式,式中变量由键盘输入,输出表达式的值。 <1> d c b a x -++ <2> 11 11+++x x <3> sinX+cosX+tan -1 X <4> e x+y +e x-y <5> log 10(1+21x +) <6> 22b a -+??b a - (其中??a 表示取不大于a 的最大整数)。 <1> #include using namespace std; int main() { float x,a,b,c,d,e; cin>>x>>a>>b>>c>>d; e=x+(a+b)/(c-d); cout< #include #include using namespace std; int main() { double x,y; cin>>x; y=sqrt(1+1/(x+1/(x+1)));

cout< #include #include using namespace std; int main() { double x,y; cin>>x; y=sin(x)+cos(x)+1/tan(x); cout< #include #include using namespace std; int main() { double x,y,z; cin>>x>>y; z=exp(x+y)+exp(x-y); cout< #include #include using namespace std; int main() { double x,y; cin>>x; y=log(1+sqrt(1+x*x)); cout< #include #include using namespace std; int main()

贪吃蛇游戏程序设计实验报告

Windows编程大作业贪吃蛇设计与实现 学校:武汉轻工大学 院系: 班级: 姓名: 学号: 2015年12月16日

目录 一、题目介绍 二、设计目的 三、详细设计 3.1贪吃蛇本体设计 3.2贪吃蛇食物设计 3.3游戏界面设计 3.3.1游戏初始化 3.3.2游戏开始 3.3.3游戏暂停 3.3.4游戏退出 3.3.5游戏总界面 3.3.6游戏区域与背景 3.3.7关于SNAKE 3.4玩法规则设计 3.5核心设计 四、功能测试 五、总结 六、参考文献

一、题目介绍: 编写一个基于MFC的小游戏。 基本要求: 1、实现一个小游戏 2、实现基本游戏控制功能 3、具有游戏数据保存功能 4、界面布局合理、美观; 二、设计目的: 通过使用vc++6.0实现一个小游戏的课程设计,进一步掌握MFC的高级使用方法和锻炼自己动手写程序的能力。了解游戏设计的整个过程,通过熟练使用MFC来设计游戏。程序主要包括:游戏界面设计,游戏菜单栏设计,游戏初始化,游戏控制等。培养和锻炼开发游戏的能力。 三、详细设计 3.1贪吃蛇的本体设计 贪吃蛇的头部拥有一个坐标(x,y),蛇体有一个长度len,蛇有一个运动方向direct,故定义一个结构体如下: struct Snake { int x,y; int len; int direct; }Snake[50]; 3.2贪吃蛇食物设计 贪吃蛇的食物有一个坐标(x,y),此食物有一个标志isfood,当isfood为0时,表示食物还没被吃,为1时,表示被吃。 struct Food { int x; int y; int isfood; }Food; 3.3游戏界面设计 3.3.1游戏初始化 游戏初始蛇体长度为3,颜色为灰色,食物标志为1,因为此时没有显示出食物,需要随机生成后,才置为0;

网络程序设计实验报告-Winsock编程接口实验

网络程序设计 实验报告 实验名称: Winsock编程接口实验 实验类型:____验证型实验_____ __ 指导教师:______________________ 专业班级:_____________________ 姓名:_______________________ 学号:_____________________ 电子邮件:____________ 实验地点:______ _______ 实验日期2013 年 3 月29 日 实验成绩:__________________________

一、实验目的 ●掌握Winsock的启动和初始化; ●掌握gethostname(),gethostbyname(),GetAdaptersInfo()等信息查询函数的使用。 二、实验设计 由实验内容可以知道: 1、编写程序能同时实现对多个域名的解析。比如在控制台输入:getip https://www.360docs.net/doc/2e2628523.html, https://www.360docs.net/doc/2e2628523.html,,能输出https://www.360docs.net/doc/2e2628523.html,和https://www.360docs.net/doc/2e2628523.html,对应的IP地址列表。 2、编写程序获取并输出本地主机的所有适配器的IP地址,子网掩码,默认网关,MAC 地址。 首先要了解一些基本的知识gethostname(),gethostbyname(),GetAdaptersInfo()等信息查询函数的基本知识gethostbyname()返回对应于给定主机名的包含主机名字和地址信息的hostent结构指针。结构的声明与gethostaddr()中一致。 之后要根据内容画出函数流程图

三、实验过程(包含实验结果) 1.在实验过程中调用GetAdaptersInfo()时,出现了undeclared identifier的报错,原因是没有包含其头文件,之后进行一些修改解决了问题. 2.实验结果 3.选择查看本机信息 四、讨论与分析 1.Winsock初始化的作用是什么? 答:使用winsock初始化可加载winsock编程的动态链接库。

大学程序设计基础实验报告 (2)

**大学程序设计基础实验报告 实验名称:实验三分支结构 实验目的: 1、掌握IF-ELSE语句使用。 2、掌握ELSE-IF语句使用。 3、熟悉SWITCH语句使用。 实验内容: 在本地电脑中新建一个文件夹,用于存放C程序,文件夹的名字要求是“学号姓名-实验序号”,如E:\ 1920115555张三-03。启动C-Free,完成如下各题。 1、编程题:输入参数a,b,c,求一元二次方程ax2+bx+c=0的根(①a、b、c都为0,②a 和b为0,c不为0,③a为0,b不为0,c任意,④a不为0,且a、b、c满足b2-4ac ≥0,⑤a不为0,且a、b、c满足b2-4ac<0)。 2、编程题:输入职工的月薪salary,计算并输出应缴纳的个人所得税tax。tax=rate * (salary –850),rate的计算方式如下: 当salary <= 850,则rate = 0; 当850 < salary <= 1350,则rate = 5%; 当1350 < salary <= 2850,则rate = 10%; 当2850 < salary <= 5850,则rate = 15%; 当salary > 5850,则rate = 20%;。 3、编程题:根据输入的3个边长a、b、c,判断它们是否能构成三角形,若能构成三 角形,则进一步判断此三角形是哪种类型的三角形(等边三角形、等腰三角形、直角三角形和一般三角形。等腰直角算作等腰)。 4、编程题:输入一个形式如“操作数运算符操作数”的表达式,对2个整数进行乘、 除或求余运算。【请分别用if语句和switch语句实现此题功能】 上交作业的方法: 1.将程序代码及注释和运行程序的窗口复制到实验结果下方对应的题号上,并把这 次实验上机操作中遇到的问题及解决方法、心得等填好完成实验报告。 2.保存以上所有按要求已调试通过,并形成.c(或.cpp)和.exe文件到以自己的“学 号姓名-03”命名的文件夹中,并将以自己的“学号姓名”命名的文件夹压缩后上 交到ftp://10.172.250.252:1161中的“作业上传”文件夹下的“报告上交02”文件 夹下的子文件夹“源文件压缩上交”中,同时把以“学号姓名-03”命名的word 文档上交到“报告上交03”文件夹下的另一子文件夹“word文件上交”中。 特别提醒:每次上传的文件名一定要是“学号姓名-实验序号. doc”(如1720115555张

游戏C语言实验报告

嘉应学院计算机学院 实验报告 课程名称: C程序设计 开课学期: 2015—2016学年第1学期 班级:计算机1505 指导老师:陈广明 设计题目:游戏2048 学生姓名(学号):第3组:钟瞻宇

目录 一、实验目的和要求 .................................................................................................................................................... 二、实验环境、内容和方法 ........................................................................................................................................ 三、程序设计 ................................................................................................................................................................ 四、源代码 .................................................................................................................................................................... 五、调试与运行结果.................................................................................................................................................... 六、总结........................................................................................................................................................................

2011-年全国大学生电子设计竞赛实验报告

2011 年全国大学生电子设计竞赛实验报告 一、实验目的 1、熟练掌握各种常用实验仪器的使用方法。 2、熟悉LM324运放的典型参数及应用。 3、掌握PDF 资料的查询与阅读方法。 4、掌握电子设计与调试的基本流程及方法。 二、实验内容 设计要求: 使用一片通用四运放芯片LM324组成电路框图见图1,实现下述功能: 1. 使用低频信号源产生100.1sin 2()i U f t V =∏,f 0 =500Hz 的正弦波信号,加至 加法器输入端。 2. 自制三角波产生器产生T=0.5ms (±5%),V p-p =4V 的类似三角波信号1o u ,并加至加法器的另一输入端。 3. 自制加法器,使其输出电压U i2 = 10U i1+U o1。 4. 自制选频滤波器,滤除1o u 频率分量,得到峰峰值等于9V 的正弦信号2o u ,2o u 用示波器观察无明显失真。 5.将1o u 和2o u 送入自制比较器,其输出在1K Ω负载上得到峰峰值为2V 的输出电压3o u 。 方案论证与数值计算: 由于电源只能选用+12V 和+5V 两种单电源,由稳压电源供给,而

LM324N具有宽的单电源或双电源工作电压范围,单电源:3-30V,双电源:1.5V-15V,经过试验我们选择双电源供电,所以进行电源的搭建

三角波发生部分: 方案一: 三角波发生器电路按照由方波经过积分电路得到,需要两个放大器,不满足实验要求。 方案二: 利用RC充放电模拟三角波,通过两个电位器分别来调节周期和峰峰值至实验要求的值。达到合理利用现有资源高效达到要求的目的。因此我们采用方案二。题目要求三角波发生器产生的周期为T=0.5ms,Vpp=4V的类似三角波。我们由公式T=2*R14*C1*ln(1+2*R3/R15)另外运放1端输出电压设为U,则Uo1=(R15/(R15+R1))*U。选取电容为较常见的47nf , 计算得R1=2R14;R14=0-5K,所以取R1为0-10k;得到R15=0-10K; 加法器部分

网络编程实验报告

实验一TCP Socket API程序设计 一、预备知识 1.网络编程基本概念 网络上的计算机间的通讯,实质上是网络中不同主机上的程序之间的通讯。在互联网中使用IP地址来标识不同的主机,在网络协议中使用端口号来标识主机上不同进程,即使用(IP地址,端口号)二元组。 套接字(Socket)用于描述IP地址和端口,是一个通信链的句柄,通信时一个网络程序将要传输的一段信息写入它所在主机的Socket中,该Socket通过与网络接口卡相连的传输介质将这段信息发送到另一台主机的Socket中,以供其他程序使用。 图1-1 TCP通信流程 2.TCP通信流程 TCP程序是面向连接的,程序运行后,服务器一直处于监听状态,客户端与

服务器通信之前必须首先发起连接请求,由服务器接收请求并在双方之间建立连接后才可以互相通信。 二、实验目的 1.了解Winsock API编程原理; 2.掌握TCP Socket程序的编写; 3.了解C/S模式的特点; 4.学会解决实验中遇到的问题。 三、实验任务 使用Winsock API相关类实现TCP Socket通信程序,并能成功运行。 四、实验环境及工具 1. Windows2000/XP/7 2. Visual C++开发平台 3. Visual Studio2010 五、实验内容和步骤 参照《Visual C++网络编程教程》书中81页,TCP Socket API程序设计。 连接: void CChatClientDlg::OnConnect() { WSADATA wsd; //WSADATA结构 WSAStartup(MAKEWORD(2,2),&wsd); //加载协议,使用Winsock 2.2版 m_client = socket(AF_INET,SOCK_STREAM,0); //创建流式套接字 //服务器地址 sockaddr_in serveraddr; UpdateData(); if(ServerIP.IsBlank()) { AfxMessageBox("请指定服务器IP!"); return; } if(sPort.IsEmpty()) { AfxMessageBox("请指定端口!"); return; }

Java程序设计实验报告2(弹球游戏)[1]1

《Java语言程序设计》课程设计 实习报告 题目: 班级: 学号: 姓名: 同组人员: 指导老师:张彬

一、实验目的 1、掌握Swing图形用户界面编程以及事件处理等,掌握java绘图技术。 2、掌握多线程编程的基本原理,能使用Runnable、ExecutorService等接口进行 线程的创建、启动等工作。 3、培养独立查找资料,并解决问题的能力。 二、实验任务 1、设计并编程实现弹球游戏: 用户能通过GUI组件指定生成小球的数量,每个小球将从随机的位置出现,并具有随机颜色,随机速度以及随机的运动方向,小球沿初始方向匀速运动,当碰到窗口边缘时,小球将依据受力原理改变运动方向(可简化考虑,受力只改变小球的运动方向,小球仍按照初始速度匀速运动,且不考虑小球之间的碰撞)。 鼠标在界面中显示为方块状,玩家需按住鼠标来回移动以避开运动的小球及屏幕四周,如果鼠标碰到任一小球或者窗口四周,则游戏结束。 程序需提供计时功能,并最终显示玩家能坚持多少秒。 2、程序要求: (1)具备相应界面,并通过事件编程,实现相应的GUI组件功能。 (2)使用多线程技术,在程序窗口区域绘制小球,并以线程控制小球的移动,实现动画效果。 (3)实现鼠标与屏幕四周,以及与小球的碰撞检测。 三、开发工具与平台 1.开发工具:Eclipse默认是一个和Jbuilder类似的Java开发工具,但它不仅仅只

是Java开发工具,只要装上相应的插件,eclipse也可作为其它语言的开发工具。如C/C++插件(CDT)。 2.开发平台:JDK1.5 四、设计思路 1.界面设计 (1)制作一个简单的面板JFrame,文件保存为bollFrame.java 其中为一public的类bollFrame,其构造方法为: bollFrame(int n){ super(); setTitle("我的弹球小游戏"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();//得到电脑屏幕大小 setSize(450,450); setLocation((dimension.width-game.getWidth())/2-250, (dimension.height-game.getHeight())/2-250);//设置面板显示基中; this.n = n; myBollPanel = new bollPanel(n);//构造一个画板; add(myBollPanel);//将画板放入JFrame createMenu();//创建菜单; setJMenuBar(bar); } (2)构造画板类,文件保存为bollPanel.java 其构造函数如下: bollPanel(int n){ this.n = n; // executorThread = Executors.newCachedThreadPool();//创建线程池; mouse = new mouseThread(mxNow,myNow,groupThread,this);//启动鼠标线程; this.setIsOver(false);//游戏开始线程条件的判断; for(int i =0 ;i

人竞赛抢答器实验报告

数电实验报告 姓名:侯婉思 专业:通信工程 班级:1111 学号: 指导老师:田丽娜 四人竞赛抢答器实验报告 一.前言 现今,形式多样、功能完备的抢答器已广泛应用于电视台、商业机构、学校、企事业单位及社会团体组织中,它为各种知识竞赛增添了刺激性、娱乐性,在一定程度上丰富了人们的业余生活。 对于抢答器我们大家都知道那是用于选手做抢答题时用的,选手进行抢答,抢到题的选手来回答问题。抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和一定的勇气。选手们都站在同一个起跑线上,体现了公平公正的原则。 本文介绍了一种用74系列常用集成电路设计的高分辨率的4路抢答器。该抢答器为全数字集成电路设计,具有分组数多、分辨率高等优点。该抢答器除具有基本的抢答功能外,还具有优先能力,定时及复位功能。主持人通过控制开关使抢答器达到复位的功能。 二.实验目的 1. 学习并掌握抢答器的工作原理及其设计方法 2. 熟悉各个芯片的功能及其各个管脚的接法。 3. 灵活运用学过的知识并将其加以巩固,发散思维,提高学生的动手能力和思维的缜密。 三.设计任务与要求 1、设计任务 设计一台可供4名选手参加比赛的竞赛抢答器。选手抢答时,数码显示选手组号。 2.设计要求: 抢答器的基本功能: 1.设计一个智力抢答器,可同时供四名选手或四个代表队参加比赛,编号为一,二,三,四,各用一个抢答按钮,分别用四个按钮S0——S3表示。 2.给节目主持人设置一个控制开关,用来控制系统的清零(编号显示数码管清零)。 3.抢答器具有数据锁存和显示的功能,抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在LED数码管上显示出选手的编号,此外,要封锁输入电路,实现优先锁存,禁止其他选手抢答,优先抢答选手的编号一直保持到主持人将系统清零为止。

C语言程序设计基础实验报告6【VIP专享】

实验6 数组 一、实验目的 1、掌握一维数组和二维数组的定义、赋值和输入输出的方法; 2、掌握字符数组和字符串函数的使用; 3、掌握与数组有关的算法(特别是排序算法)。 二、实验内容和步骤 编程序并上机调试运行。 1、以下给定程序MODI1.C的功能是: 求一维数组a中所有元素的平均值, 结果保留两位小数。例如,当一维数组a中的元素为:10, 4, 2, 7, 3, 12, 5, 34, 5, 9时,程序的输出应为:The aver is: 9.10 程序中有两处错误,错误都在提示行:/***********found***********/的下面一行。请改正程序中的错误, 使它能得出正确的结果。 注意:程序中的其它地方请不要随意改动,不得增行或删行,也不得更改程序的结构! #include #include void main() { int a[10]={10,4,2,7,3,12,5,34,5,9}, i; /************found************/ /************found************/ s = a[0]; for ( i=1; i<10; i++) s += a[i]; aver = s / i; printf("The aver is: %.2f\n", aver); } 2、以下给定程序MODI1.C的功能是:求二维数组a中的最小值。 例如,当二维数组a中的元素为: 4 2 34 7 3 12 5 6 5 程序的输出应为:The min is: 2 。 程序中有两处错误,错误都在提示行:/***********found***********/的下面一行。请改正程序中的错误, 使它能得出正确的结果。 注意:程序中的其它地方请不要随意改动,不得增行或删行,也不得更改程序的结构! #include #include void main() { int a[3][3]={4,2,34,7,3,12,5,6,5}, i, j, min; clrscr();

微弱信号检测装置(实验报告)剖析

2012年TI杯四川省大学生电子设计竞赛 微弱信号检测装置(A题) 【本科组】

微弱信号检测装置(A题) 【本科组】 摘要:本设计是在强噪声背景下已知频率的微弱正弦波信号的幅度值,采用TI公司提供的LaunchPad MSP430G2553作为系统的数据采集芯片,实现微弱信号的检测并显示正弦信号的幅度值的功能。电路分为加法器、纯电阻分压网络、微弱信号检测电路、以及数码管显示电路组成。当所要检测到的微弱信号在强噪音环境下,系统同时接收到函数信号发生器产生的正弦信号模拟微弱信号和PC机音频播放器模拟的强噪声,送到音频放大器INA2134,让两个信号相加。再通过由电位器与固定电阻构成的纯电阻分压网络使其衰减系数可调(100倍以上),将衰减后的微弱信号通过微弱信号检测电路,检测电路能实现高输入阻抗、放大、带通滤波以及小信号峰值检测,检测到的电压峰值模拟信号送到MSP430G2553内部的10位AD 转换处理后在数码管上显示出来。本设计的优点在于超低功耗 关键词:微弱信号MSP430G2553 INA2134 一系统方案设计、比较与论证 根据本设计的要求,要完成微弱正弦信号的检测并显示幅度值,输入阻抗达到1MΩ以上,通频带在500Hz~2KHz。为实现此功能,本设计提出的方案如下图所示。其中图1是系统设计总流程图,图2是微弱信号检测电路子流程图。 图1系统设计总流程图 图2微弱信号检测电路子流程图

1 加法器设计的选择 方案一:采用通用的同相/反相加法器。通用的加法器外接较多的电阻,运算繁琐复杂,并且不一定能达到带宽大于1MHz,所以放弃此种方案。 方案二:采用TI公司的提供的INA2134音频放大器。音频放大器内部集成有电阻,可以直接利用,非常方便,并且带宽能够达到本设计要求,因此采用此方案。 2 纯电阻分压网络的方案论证 方案一:由两个固定阻值的电阻按100:1的比例实现分压,通过仿真效果非常好,理论上可以实现,但是用于实际电路中不能达到预想的衰减系数。分析:电阻的标称值与实际值有一定的误差,因此考虑其他的方案。 方案二:由一个电位器和一个固定的电阻组成的分压网络,通过改变电位器的阻值就可以改变其衰减系数。这样就可以避免衰减系数达不到或者更换元器件的情况,因此采用此方案。 3 微弱信号检测电路的方案论证 方案一:将纯电阻分压网络输出的电压通过反相比例放大电路。放大后的信号通过中心频率为1kHz的带通滤波器滤除噪声。再经过小信号峰值电路,检测出正弦信号的峰值。将输出的电压信号送给单片机进行A/D转换。此方案的电路结构相对简单。但是,输入阻抗不能满足大于等于1MΩ的条件,并且被测信号的频率只能限定在1kHz,不能实现500Hz~2KHz 可变的被测信号的检测。故根据题目的要求不采用此方案。 方案二:检测电路可以由电压跟随器、同相比例放大器、带通滤波电路以及小信号峰值检测电路组成。电压跟随器可以提高输入阻抗,输入电阻可以达到1MΩ以上,满足设计所需;采用同相比例放大器是为了放大在分压网络所衰减的放大倍数;带通滤波器为了选择500Hz~2KHz的微弱信号;最后通过小信号峰值检测电路把正弦信号的幅度值检测出来。这种方案满足本设计的要求切实可行,故采用此方案。 4 峰值数据采集芯片的方案论证 方案一:选用宏晶公司的STC89C52单片机作为。优点在于价格便宜,但是对于本设计而言,必须外接AD才能实现,电路复杂。

《程序设计课程设计》实验报告材料

《程序设计》课程设计 姓名: 学号: 班级:软件工程14 班 指导教师: 成绩:

1.消除类游戏 1.1【问题描述】 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。 1.2【基本要求】 现在给你一个n行m列的棋盘(1≤n,m≤30),棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。 请注意:一个棋子可能在某一行和某一列同时被消除。 输入数据格式: 输入的第一行包含两个整数n, m,用空格分隔,分别表示棋盘的行数和列数。接下来n行,每行m个整数,用空格分隔,分别表示每一个方格中的棋子的颜色。颜色使用1至9编号。 输出数据格式: 输出n行,每行m个整数,相邻的整数之间使用一个空格分隔,表示经过一次消除后的棋盘。如果一个方格中的棋子被消除,则对应的方格输出0,否则输出棋子的颜色编号。 1.3【测试数据】 为方便调试程序,可将输入数据先写入一个文本文件,然后从文件读取数据处理,这样可避免每次运行程序时都要从键盘输入数据。 测试数据一 输出说明: 棋盘中第4列的1和第4行的2可以被消除,其他的方格中的棋子均保留。 棋盘中所有的1以及最后一行的3可以被同时消除,其他的方格中的棋子均保留。 1.4【功能实现】 #include #include using namespace std;

int main() { int m, n, i ,j; int temp; cin >> n >> m; temp = m; m = n; n = temp; int * map = new int[m * n]; int * mark = new int[m * n]; int * tmap = map; int * tmark = mark; int dif = 0; //输入 for ( i = 0 ; i < m ; i++ ) for (j = 0; j < n; j++) cin >> *(tmap + i * n + j); for (i = 0; i < m; i++) for (j = 0; j < n; j++) { //横行 if ((tmap + 2 - map) % n != 0 || (tmap + 1 - map) % n != 0) if (*(tmap) == *(tmap + 1) && * (tmap + 1) == *(tmap + 2)) { dif = tmap - map; *(tmark + dif) = 0; *(tmark + dif + 1) = 0; *(tmark + dif + 2) = 0; } //竖列 if (tmap + 2 * n - map < m * n || tmap + n - map < m * n) if (*(tmap) == *(tmap + n) && * (tmap + n) == *(tmap + 2 * n)) { dif = tmap - map; *(tmark + dif) = 0; *(tmark + dif + n) = 0; *(tmark + dif + 2 * n) = 0; } tmap = map + (j+1) + i * n; } //输出 cout << endl; tmap = map; for (i = 0; i < m; i++)

算法程序设计实验报告

程序设计》课程设计 姓名:王 学号:20100034 班级:软件工程00 班 指导教师:王会青 成绩: 2010年 6 月 实验一.构造可以使n 个城市连接的最小生成树 专业:__软件工程___ 班级:__软件姓名:_王___ 学号:_20100034 完成日期:_2010/6/26 ________ 一、【问题描述】给定一个地区的n 个城市间的距离网,用Prim 算法或Kruskal 算法建立最小生成树,并计算得到的最小生成树的代价。 1 城市间的道路网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给出的定义,若两个城市之间不存在道

路,则将相应边的权值设为自己定义的无穷大值。 2 显示出城市间道路网的邻接矩阵。 3 最小生成树中包括的边及其权值,并显示得到的最小生成树的总代价。 4 输入城市数、道路数→输入城市名→输入道路信息→执行Kruskal 算法→执行Prim 算法→输出最小生成树 二、【问题分析】 1. 抽象数据类型结构体数组的定义: #ifnd ef ADJACENCYMATRIXED// 防止该头文件被重复引用 #define ADJACENCYMATRIXED // 而引起的数据重复定义 #define INFINITY 32767 // 最大值∞ #define MAX_VERTEX_NUM 20 // 最大顶点个数 typedef int VRType; // 权值,即边的值 typedef char InfoType; // 附加信息的类型,后面使用时会定义成一个指针 typedef char VertexType[MAX_VERTEX_NUM]; // 顶点类型 typedef enum {DG=1, DN, UDG, UDN} GraphKind; //{ 有向图,有向网,无向图,无向网} typedef struct ArcCell { VRType adj; //VRType 是顶点关系类型。对无权图,用1 或0 表示相邻否;对带权图,则为权值类型。 InfoType*info; // 该弧关系信息的指针

C++程序设计实验报告5

《程序设计基础》 实验报告 学号:2016211990 姓名:王贯东 班级:16-计算机科学与技术-1班

学院:计算机与信息学院 实验五指针 1.实验目的要求 (1)掌握指针的概念,学会定义和使用指针变量。 (2)学会使用数组指针和指向数组的指针变量。 (3)学会使用字符串指针和指向字符串的指针变量。 (4)了解指向指针的指针的概念以及其使用方法。 (5)掌握指针、引用、数组做函数参数的传递机制。 (6)*学会使用指向函数的指针变量。 2.实验设备 Visual C++ 6.0 3.实验内容 (1)阅读下面程序,写出其运行结果。

<1> #include sub ( int x , int y , int *z ) { *z = y – x ; } void main( ) { int a,b,c; sub( 10 , 5 , &a ) ; sub( 7, a, &b ) ; sub( a, b, &c ) ; cout << a <<‘,’<< b <<‘,’<< c << endl ; } 解:输出-5,-12,-7 <2> #include #include void main()

{ int stre ( char[ ] ) ; char str [ 10 ] , *p = str ; gets ( p ) ; cout << stre ( p ) << endl ; } int stre ( char str[ ] ) { int num = 0 ; while( * ( str + num ) != ’\0’ ) num ++ ; return ( num ) ; } 解:题目库函数少了 。该正后,输入1234,输出4 (2)编写程序实现下列问题的求解。 (1)输入三个整数,按由小到大的顺序输出,然后将程序改为:输入三个字符串,按由小到大的顺序输出。 #include using namespace std; int turn (int *p1,int *p2)

《程序设计实训》实验报告

计算机程序设计实训报告 [“拍飞虫”实验] 专业班级:装控1405,装控1406 实习时间:2015年7月11日至7月15日 实习地点:文理楼124 成员 1: 成员 2:

一、作品概述 本作品运用funcode平台所给模板,在所给源代码的基础上进行编写,对整个游戏进行美化,更换了背景,优化了空格开始键,并且添加了拍蚊子时的音效,以及开始时的欢迎界面,每次游戏结束会对积分进行排序,如果最终得分为满分,则会显示“游戏成功”。 二、功能设计 1.游戏运行,初试界面出现‘空格开始’的提示。 2.玩家按空格开始游戏,界面上出现25只小蚊子和15只大蚊子。 3.游戏开始后,用户每拍一个小蚊子,加两分 4.被淘汰的猴子会出局,加入屏幕下方的淘汰者猴子队列中。 5.站在被淘汰猴子后方的选手依次往前移,填补空白 6.用户继续按空格淘汰猴子,值到剩下唯一的猴子,就是大王!这样,一局游戏完成。 7.一局游戏完成后,屏幕重新出现“空格开始”的标志,用户按空格可以继续游戏,如此往复。 三、功能实现 含每个功能的具体实现,可以用流程图(不要贴代码)等描述。 (说明:主要写用到的各类型的全局变量、含义) 1.g_iMonkeys[6] 用一个int类型的数组来保存猴子精灵编号 2.g_flocation[6] 用一个浮点型数组存储猴子位置(因为6只猴子站成一排,y坐标值是相同的,因此该数组保存6只猴子的x坐标值)。其中g_Monkeys[i] 对应的位置 g_fLocation 3.g_iNumMokeys 当前备选猴子数量,即截图中上层队列的猴子数。 4.g_iNumLoseMonkeys 淘汰的猴子数量,即下层队列中的猴子数。 5.g_iChooseMonkey 本轮淘汰的猴子编号。 6.g_iMoveMonkey 淘汰猴子后,后面需要移动的猴子数。

电子设计大赛实验报告

2014年江苏省大学生电子设计竞赛实验报告 无线电能传输装置(F题) 2014年8月15日 摘要:本设计基于磁耦合式谐振荡电路来进行无线电能传输,点亮LED灯。由于输入和输出都是直流电 的形式,因此本系统将分为以下四个部分:第一部分为驱动电路(DC-AC),为使直流分量转化成交流电并通过耦合线圈将电能传输给负载,采用LC谐振的方式让回路中电容和电感构成一个二阶LC谐振电路,驱动MOS管形成交流电。第二部分为发射电路(AC-AC),应用电磁感应原理,在二次线圈中产生感应电流并输给接受电路。第三部分为电能转换电路(AC-DC),输出的感应交流电经整流桥桥式整流后流入升压电路。第四部分为升压电路(DC-DC),对整流之后的直流进行升压,防止整流后的电压无法驱动LED。本设计分模块搭建并对各个部分电路进行原理分析。在调试时,采用分模块调试,根据调试结果修改参数,最终形成一个完整的稳定系统。 关键词: 磁耦合式谐振荡电路LC振荡电路桥式整流DC-DC升压 [Abstract] The design is based on magnetic resonance oscillation circuit coupled to the wireless power transmission, lit LED lights. Since the input and output are in the form of direct current, so the system will be divided into the following four parts: The first part of the drive circuit (DC-AC), is converted into alternating current so that the DC component and the power transmission through the coupling coil to the load, using LC resonant circuit in a manner so that the capacitance and inductance form a second order LC resonant circuit, the AC drive MOS tube formation. The second part is the transmitter circuit (AC-AC), application of the principle of electromagnetic induction,

相关文档
最新文档