实验三JSP+Hibernate实现登录
实验目的
用Hibernate改写第一章传统JavaEE程序的数据访问模块,以面向对象方式访问test数据库的user表。
实验代码
HibernateSessionFactory.java
package org.easybooks.bookstore.factory;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;
/**
* Configures and provides access to Hibernate sessions, tied to the
* current thread of execution. Follows the Thread Local Session
* pattern, see {@link https://www.wendangku.net/doc/001571700.html,/42.html }.
*/
public class HibernateSessionFactory {
/**
* Location of hibernate.cfg.xml file.
* Location should be on the classpath as Hibernate uses
* #resourceAsStream style lookup for its configuration file.
* The default classpath location of the hibernate config file is
* in the default package. Use #setConfigFile() to update
* the location of the configuration file for the current session. */
private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";
private static final ThreadLocal
private static Configuration configuration = new Configuration(); private static org.hibernate.SessionFactory sessionFactory;
private static String configFile = CONFIG_FILE_LOCATION;
static {
try {
configuration.configure(configFile);
sessionFactory = configuration.buildSessionFactory();
} catch (Exception e) {
System.err
.println("%%%% Error Creating SessionFactory %%%%");
e.printStackTrace();
}
}
private HibernateSessionFactory() {
}
/**
* Returns the ThreadLocal Session instance. Lazy initialize
* the SessionFactory
if needed.
*
* @return Session
* @throws HibernateException
*/
public static Session getSession() throws HibernateException {
Session session = (Session) threadLocal.get();
if (session == null || !session.isOpen()) {
if (sessionFactory == null) {
rebuildSessionFactory();
}
session = (sessionFactory != null) ? sessionFactory.openSession() : null;
threadLocal.set(session);
}
return session;
}
/**
* Rebuild hibernate session factory
*
*/
public static void rebuildSessionFactory() {
try {
configuration.configure(configFile);
sessionFactory = configuration.buildSessionFactory();
} catch (Exception e) {
System.err
.println("%%%% Error Creating SessionFactory %%%%");
e.printStackTrace();
}
}
/**
* Close the single hibernate session instance.
*
* @throws HibernateException
*/
public static void closeSession() throws HibernateException {
Session session = (Session) threadLocal.get();
threadLocal.set(null);
if (session != null) {
session.close();
}
}
/**
* return session factory
*
*/
public static org.hibernate.SessionFactory getSessionFactory() { return sessionFactory;
}
/**
* return session factory
*
* session factory will be rebuilded in the next call
*/
public static void setConfigFile(String configFile) {
HibernateSessionFactory.configFile = configFile;
sessionFactory = null;
}
/**
* return hibernate configuration
*
*/
public static Configuration getConfiguration() {
return configuration;
}
}
User.java
package org.easybooks.bookstore.vo;
/**
* User entity. @author MyEclipse Persistence Tools
*/
public class User extends AbstractUser implements java.io.Serializable { // Constructors
/** default constructor */
public User() {
}
/** full constructor */
public User(String username, String password) {
super(username, password);
}
}
hibernate.cfg.xml
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"https://www.wendangku.net/doc/001571700.html,/hibernate-configuration-3.0.dtd">
org.hibernate.dialect.MySQLDialect
jdbc:mysql://localhost:3306/test
com.mysql.jdbc.Driver
User.hbm.xml
Error.jsp
<%@ page language="java" pageEncoding="utf-8"%>
登陆失败!
Wel come.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<%
out.print(request.getParameter("username"));
%>,您好!欢迎光临叮当书店。
Login.jsp
<%@ page language ="java" pageEncoding="utf-8"%>
Validate.jsp
<%@page import="java.util.List" %>
<%@ page language ="java" pageEncoding ="gb2312" import ="org.easybooks.bookstore.factory.*,org.hibernate.*"%>
<%
String usr=request.getParameter("username");
String pwd=request.getParameter("password");
boolean validated=false;
String sql="from User u where https://www.wendangku.net/doc/001571700.html,ername=? and u.password=?"; Query query=HibernateSessionFactory.getSession().createQuery(sql); query.setParameter(0, usr);
query.setParameter(1, pwd);
List users=query.list();
if(users.size()!=0)
{
validated=true;
}
HibernateSessionFactory.closeSession();
if(validated){
%>
<%
}
else
{
%>
<%
}
%>
实验结果:
实验小结
本次实验通过Hibernate框架实现了JSP+Hibernate实现登录的实践。了解了Hibernate与ORM模式以及Hibernate体系结构,在本实验中添加了Hibernate开发能力,首先为项目添加Hibernate能力,然后为user表生成持久化对象,最后创建JSP文件,运行。
学习指南 通信电子线路课程是电子信息工程和通信工程专业的必修课,是核心的专业基础课程。本课程的特点是理论和实践性都很强的课程,因此,在学习该课程前应该先复习巩固其先修课程电路理论、信号与系统、模拟电子技术课程中的相关知识。在课程学习中,要特别注意与模拟电子技术课程中分析方法的不同点。例如,在高频小信号放大器一章应注意高频小信号放大器等效电路与低频放大电路等效电路的不同之处,应该考虑分布参数的影响;在谐振功率放大器一章,应该注意它与低频功率放大器的不同之处,很好地掌握折线分析法;在频率变换电路中,应该注意区分线性频率变换和非线性频率变换电路的频谱特性。因为本课程中涉及电路的负载主要是谐振回路,因此首先要很好地掌握阻抗变换电路与选频电路特性的特性及分析方法。 本课程着重掌握通信系统中电路的基本原理,基本电路,基本分析方法及其在现代通信中的典型应用。学生学习本课程后对通信系统应有一个完整的了解,并会进行模拟通信系统中发射机,接收机电路的设计、安装调试。 对本课程中学生难于理解的地方,可以通过实验消化理解理论课程内容。有兴趣的同学可参予课外活动,充分发挥自己的潜能,不断提高自己实践能力。
为了巩固课程知识,学生可选择相关硬件课程设计,进行无线通信发射机和接收机的设计、安装、调试,可有效地提高自己的实际动手能力,加强对本课程的学习兴趣和对知识的掌握深度。 为了帮助同学学好该课程,我们编写了教材和参考资料,该课程已经建立了丰富的网络教学环境,同学们可从华中科技大学主页的精品课程栏目进去可以浏览该课程的网上教学系统。该系统中有网络课程(含网上教材、电子教案、学习指导、思考练习、参考资料、授课录像、复习导航等)以及课堂讲课多媒体课件,还有网上实验教学系统。 教材和参考资料: 1.本课程使用的教材是严国萍、龙占超编写,科学出版社正式出版的国家十一五规划教材“通信电子线路”该教材的特点是:强调系统,从通信系统和整机出发来分析各功能模块的原理、组成、作用,构建了模拟通信和数字调制系统的内容体系;深入浅出,注重基本原理、分析方法和典型应用,按照基础知识、线性电路、非线性电路以及频率变换电路来组织教材内容;易于理解,重点难点配有例题,每章都有主要知识点小结,结合实际无线通信机进行电路和性能指标分析以及参数测量;内容新颖,注意将本课程的基础知识和相关的最新科技发展相融合,将软件无线电中用DSP实现调制解调的思想引入教材。 2.为帮助学生自主学习,课程组还编写出版了辅导书“高频电子线路学习指导与题解”,本书包含了与本课程相关的张肃文等编
实验报告三 实验三、对象和类(一) 1.实验目的 (1)结合面向对象思想掌握类的定义以及类中成员的定义,学会设计自己的类。 (2)掌握方法重载、尤其是构造方法的重载,深入理解构造函数的作用与调用时机。 (3)理解this关键字同static关键字的意义,掌握成员变量的具体隐藏实现。 (4)理解对象同对象引用间的区别,掌握创建对象与调用对象成员的方法,以及对象作为参数与基本数据类型变量做参数的区别。 2.实验内容和步骤 上机输入程序并调试运行程序。 编译并运行附件1和附件2,观察结果分析其原因。 附录1 ClassLoadTest.java package ch3; public class ClassLoadTest{ static{ System.out.println("class loding"); } public static void main(String [] args) { } } 结果: 原因:附录2 PassValueTest.java package ch3; public class PassValueTest { private int i = -100; public void test1(int b) { b = 100; } public void test2(PassValueTest b) { b.i = 100; } public void test3(PassValueTest b) { b = this; } public static void main(String[] args) { PassValueTest obj = new PassValueTest(); int temp = 100; obj.test1(temp); System.out.println(temp);
2011——2012第二学期三年级数学实验方案 课题名称:如何提高学生的计算能力 参与人:三年级全体数学教师一、指导思想 计算能力是学生学习数学所必备的基本能力,是学习数学的基础。培养和提高学生的计算能力是小学数学的主要任务之一,是一项涉及到多方面教学内容的系统工程。“计算”在教学中所占的比重相当大,无论是应用题、统计知识,还是简易方程,都离不开计算。计算的准确率和速度如何,将直接影响学生学习的质量,因此,计算教学不容忽视。数学大纲中明确提出,要使学生能“正确、迅速、灵活、合理”地进行计算。计算教学应跳出认知技能的框框,不把法则的得出,技能的形成作为唯一的目标,而应更关注学生的学习过程,让学生参与算理算法的探索过程,让学生在实践探索的过程中实现发展性领域目标。 二、实验内容: 1、小数的加减法。 2、三位数乘两位数 3、除数是两位数的除法(口算和竖式计算)以及乘除混合运算。 三、实验目标: 1、弄清算理,讲明算理。 2、在规定时间里完成一定数量的计算,保证计算的准确率。 3、养成良好的计算习惯。 四、实验的具体做法: (一)培养学生计算的兴趣。 “兴趣是最好的老师”,在计算教学中,首先要激发学生的计算兴趣,让学生乐于学、乐于做,教会学生用口算、笔算和计算工具进行计算,并掌握一定的计算方法,达到算得准、快的目的。 讲究训练形式,激发计算兴趣。为了提高学生的计算兴趣,寓教于乐,结合每天的教学内容,可以让学生练习一些口算。在强调计算的同时,讲究训练形式多样化。如:用游戏、竞赛等方式训练;用卡片、小黑板视算,听算;限时口算,自编计算题等。多种形式的训练,不仅提高学生的计算兴趣,还培养学生良好的计算习惯。 以中外数学家的典型事例或与课堂教学内容有关的小故事激发兴趣。教
中南大学 《通信电子线路》实验报告 学院信息科学与工程学院 题目调制与解调实验 学号 专业班级 姓名 指导教师
实验一振幅调制器 一、实验目的: 1.掌握用集成模拟乘法器实现全载波调幅和抑止载波双边带调幅的方法。 2.研究已调波与调制信号及载波信号的关系。 3.掌握调幅系数测量与计算的方法。 4.通过实验对比全载波调幅和抑止载波双边带调幅的波形。 二、实验内容: 1.调测模拟乘法器MC1496正常工作时的静态值。 2.实现全载波调幅,改变调幅度,观察波形变化并计算调幅度。 3.实现抑止载波的双边带调幅波。 三、基本原理 幅度调制就是载波的振幅(包络)受调制信号的控制作周期性的变化。变化的周期与调制信号周期相同。即振幅变化与调制信号的振幅成正比。通常称高频信号为载波信号。本实验中载波是由晶体振荡产生的10MHZ高频信号。1KHZ的低频信号为调制信号。振幅调制器即为产生调幅信号的装置。 在本实验中采用集成模拟乘法器MC1496来完成调幅作用,图2-1为1496芯片内部电路图,它是一个四象限模拟乘法器的基本电路,电路采用了两组差动对由V1-V4组成,以反极性方式相连接,而且两组差分对的恒流源又组成一对差分电路,即V5与V6,因此恒流源的控制电压可正可负,以此实现了四象限工作。D、V7、V8为差动放大器V5与V6的恒流源。进行调幅时,载波信号加在V1-V4的输入端,即引脚的⑧、⑩之间;调制信号加在差动放大器V5、V6的输入端,即引脚的①、④之间,②、③脚外接1KΩ电位器,以扩大调制信号动态范围,已调制信号取自双差动放大器的两集电极(即引出脚⑹、⑿之间)输出。
图2-1 MC1496内部电路图 用1496集成电路构成的调幅器电路图如图2-2所示,图中VR8用来调节引出脚①、④之间的平衡,VR7用来调节⑤脚的偏置。器件采用双电源供电方式(+12V,-9V),电阻R29、R30、R31、R32、R52为器件提供静态偏置电压,保证器件内部的各个晶体管工作在放大状态。 四、实验结果 1. ZD.OUT波形: 2. TZXH波形:
宁德师范学院计算机系 实验报告 (2015—2016学年第二学期) 课程名称 3d建模设计 实验名称实验三布尔命令 专业计算机科学与技术(专升本)年级 15级 学号 B2015102323 姓名林振贤指导教师钱庆平 实验日期
实验目的与要求: 1.熟悉掌握3ds max界面操作与视图控制方法; 2.熟练掌握物体的变动修改操作方法; 3.熟练掌握物体的各种创建方法和成组操作方法; 4.能够熟练灵活地运用几何体来构建复杂模型。 5.掌握多边形建模。 6.掌握挤出,二维线,布尔,放样,编辑网格等功能 实验设备(环境): Windows XP 、3d max 9.0 实验内容: 通过各种工具,制作厨房组合。 1.用二维线绘制厨房橱柜。 2.用布尔命令制作水槽口。 3.制作水龙头等。 4.给各部分添加UVW添加材质。 实验步骤、实验结果及分析: 知识点:利用二维图形挤出生成三维物体。 1、单击“自定义”-》“单位设置”,选择“毫米” 单击二维矩形按钮,在左视图创建一个700mmX500mm的矩形和150mmX90mm
的矩形,选择小的矩形,单击对齐按钮,点击大的矩形。 将小矩形对齐大矩形后,再次单击对齐按钮再次点击大矩形,对齐第2次。
单击确定, 2、单击二维矩形按钮,在左视图创建2个半径为15mm的圆,调整其位置。 (选择画好的两个圆,单击“对齐命令”,单击大矩形,在y轴上细节调整下) 3、单击大的矩形,添加“编辑样条线”修改器。单击“附加多个”,将所有的样条 线附加为一起。
4、点击“样条线”层级,选中所有的样条线,单击“修剪”命令,修剪多 余的样条线,如下所示: 5、回到“顶点”层级,选中所有的顶点,单击。 6、单击,在2个半圆的上下端各添加2个点,在y轴上细节调整,尽量间 距一样。
实验三、网络广告 一、实验目的 1. 访问、对比主流的网络媒体,了解常见网络广告的主要形式和特征; 2. 熟悉影响网络广告效果和决定网络广告价格的主要因素; 3. 掌握网络广告方案的策划和设计。 二、实验内容 1. 进入三家典型的网络媒体,了解这些媒体中网络广告的投放情况。体验主要频道、特征,以广告主的身份体验广告效果。 2. 对比三家典型网络媒体上各个栏目之间的价格,分析影响网络广告效果和决定不同网络媒体、不同栏目、不同广告形式价格的主要因素。 3. 选择一家公司,为该公司设计一份网络广告策划方案。 三、预习要求 教材第6、7章内容。 四、实验方法与步骤 一、进入“网易”、“搜狐”、“新浪”等国内知名门户站点,充分了解这些站点中(三家媒体*三个栏目*五种广告类型=45种广告,组合后包括基本广告类型) (1)新浪广告 新浪网采用了目前国际上最先进的第三方网络广告管理系统,具有交互性,主动性,实时性的特征。按客户自行设置的报告格式,精确有效地管理网络广告浏览量和发布状况,为您提供相应的第三方的广告发布情况及数据分析。广告管理系统软件运转的超稳定性,可靠的发布过程监测,保证网络广告的正常播放,保护了客户和浏览者的权益。 “新浪分类广告”是新浪网推出的一种全新的服务形式,主要满足企事业单位和个人在互联网上发布各类信息的需求,为广大网友提供丰富、实用、广泛、真实的信息资源。新浪的广告形式也是最多的。页面的左侧均为广告,除此之外在页面中间也出现浮动广告。每次登陆新浪的有关网页,都会自动出现背投广告和弹出广告,此外还有自动弹出
的下拉式全屏广告和新浪视窗。在新浪微博页面中,广告主要投放在顶端通栏和右侧推荐中。 新浪网除了一般形式的广告之外,自动弹出的广告比较多。新浪的访问量很大,无论新浪的用户是被动还是主动浏览这些弹出广告,这些广告对于广告商来说无疑是很好的,因为都可以达到很好的宣传效果。新浪微博的广告较少,却都在用户所能看到的范围内。首先顶部的通栏广告是在“发布微博”栏目的下面,用户一定会看到;微博用户也越来越多,微博广告可以达到非常好的宣传效果。 1)新闻栏目2)财经栏目横幅广 文字链接 图文广 浮动广告 页半边广告 媒体广告 通栏广告
实验3插值与数值积分 实验报告 一、实验目的 1、掌握用Matlab计算拉格朗日、分段线性、三次样条三种插值的方法,改变节点的数目,对三种插值结果进行初步分析; 2、掌握用Matlab及梯形公式、辛普森公式计算数值积分; 3、通过实例学习用插值和数值积分解决实际问题。 二、实验内容 10、表3.7给出的R,R数据位于机翼剖面的轮廓线上,R1和R2分别对应轮廓的上下线。假设需要得到R坐标每改变0.1时的R坐标。试完成加工所需数据,画出曲线,求机翼剖面的面积。 曲线绘制 利用Matlab编程画出机翼轮廓线,内容如下: (1)三次样条插值 R=[035791112131415]; R1=[01.82.22.73.03.12.92.52.01.6]; R2=[01.21.72.02.12.01.81.21.01.6]; u=0:0.1:15; v1=spline(R,R1,u); v2=spline(R,R2,u); plot(u,v1,u,v2);grid; Rlabel('R');Rlabel('R1或R2'); gteRt('R1(R)');gteRt('R2(R)'); 其中,u为插值设置了步长和范围,grid命令可以为曲线图添加网格线,Rlabel、Rlabel分别为横坐标、纵坐标添加标签,gteRt命令可以实现曲线名称的添加。得到的结果如下:
(2)分段线性插值 将v1、v2部分代码改为 v1=interp1(R,R1,u); v2=interp1(R,R2,u); 得到的图形如下: 可见,用分段线性插值会使得曲线不够光滑(特别是区间[10,15]的部分)。 (3)拉格朗日插值 根据教材内容,用Matlab编程,内容如下: functionR=lagr(R0,R0,R)
北方民族大学《通信电子线路》实验指导书 主编 校对 审核 北方民族大学电气信息工程学院 二○一三年九月
目录 实验一小信号谐振放大器的性能分析 (2) 实验二LC正弦波振荡器的综合分析 (8) 实验三振幅调制与解调电路研究与综合测试 (12) 实验四频率调制与解调电路研究与综合测试 (22) 实验五锁相环的工作过程及综合分析 (29)
实验一 小信号谐振放大器的性能分析 (综合性实验) 一、实验目的 1.掌握小信号谐振放大电路的组成和性能特点。 2.熟悉小信号谐振放大器的主要性能指标。 3.学会频响特性的测试。 二、实验仪器与器材 1. 高频电子技术实验箱中小信号谐振放大器实验模块电路(RK-050) 2. 示波器 3. 信号源 4. 扫频仪 三、小信号调谐放大器实验电路 图1-1为小信号调谐放大器实验电路(RK-050)。图中,201P 为信号输入铆孔,当做实验时,高频信号由此铆孔输入。201TP 为输入信号测试点。接收天线用于构成收发系统时接收发方发出的信号。变压器21T 和电容12C 、22C 组成输入选频回路,用来选出所需要的信号。晶体三极管21BG 用于放大信号,12R 、22R 和52R 为三极管21BG 的直流偏置电阻,用以保证晶体管工作于放大区域,且放大器工作于甲类状态。三极管21BG 集电极接有LC 调谐回路,用来谐振于某一工作频率上。本实验电路设计有单调谐与双调谐回路,由开关22K 控制。当22K 断开时,为电容耦合双调谐回路,12L 、22L 、42C 和52C 组成了初级回路,32L 、42L 和92C 组成了次级回路,两回路之间由电容62C 进行耦合,调整62C 可调整其耦合度。当开关22K 接通时,即电容62C 被短路,此时两个回路合并成单个回路,故该电路为单调谐回路。图中12D 、22D 为变容二极管,通过改变ADVIN 的直流电压,即可改变变容二极管的电容,达到对回路的调谐。三个二极管的并联,其目的是增大变容二极管的容量。图中开关21K 控制32R 是否接入集电极回路,21K 接通时(开关往下拨为接通),将电阻32R (2K )并入回路,使集电极负载电阻减小,回路Q 值降低,放大器增益减小。图中62R 、72R 、82R 和三极管22BG 组成放大器,用来对所选信号进一步放大。 202TP 为输出信号测试点,202P 为信号输出铆孔。
1.(1) [1 2 3 4;0 2 -1 1;1 -1 2 5;]+(1/2).*([2 1 4 10;0 -1 2 0;0 2 3 -2]) 2. A=[3 0 1;-1 2 1;3 4 2],B=[1 0 2;-1 1 1;2 1 1] X=(B+2*A)/2 3. A=[-4 -2 0 2 4;-3 -1 1 3 5] abs(A)>3 % 4. A=[-2 3 2 4;1 -2 3 2;3 2 3 4;0 4 -2 5] det(A),eig(A),rank(A),inv(A) 求计算机高手用matlab解决。 >> A=[-2,3,2,4;1,-2,3,2;3,2,3,4;0,4,-2,5] 求|A| >> abs(A) ans = ( 2 3 2 4 1 2 3 2 3 2 3 4 0 4 2 5 求r(A) >> rank(A) ans =
4 求A-1 《 >> A-1 ans = -3 2 1 3 0 -3 2 1 2 1 2 3 -1 3 -3 4 求特征值、特征向量 >> [V,D]=eig(A) %返回矩阵A的特征值矩阵D 与特征向量矩阵V , V = - + + - - + - + - + - + D = { + 0 0 0 0 - 0 0 0 0 + 0 0 0 0 - 将A的第2行与第3列联成一行赋给b >> b=[A(2,:),A(:,3)'] b = 《 1 - 2 3 2 2 3 3 -2
东南大学电工电子实验中心 实验报告 课程名称:电子电路与综合实验 第一次实物实验 院(系):信息科学与工程学院专业:信息工程姓名:陈金炜学号:04013130 实验室:高频实验室实验组别: 同组人员:陈秦郭子衡邹俊昊实验时间:2015年11月21日评定成绩:审阅教师:
实验一常用仪器使用 一、实验目的 1. 通过实验掌握常用示波器、信号源和频谱仪等仪器的使用,并理解常用仪器的基本工作 原理; 2.通过实验掌握振幅调制、频率调制的基本概念。 二、实验仪器 示波器(带宽大于 100MHz) 1台 万用表 1台 双路直流稳压电源 1台 信号发生器 1台 频谱仪 1台 多功能实验箱 1 套 多功能智能测试仪1 台 三、实验内容 1、说明频谱仪的主要工作原理,示波器测量精度与示波器带宽、与被测信号频率之间关系。 答: (1)频谱仪结构框图为: 频谱仪的主要工作原理: ①对信号进行时域的采集,对其进行傅里叶变换,将其转换成频域信号。这种方法对于AD 要求很高,但还是难以分析高频信号。
②通过直接接收,称为超外差接收直接扫描调谐分析仪。即:信号通过混频器与本振混频后得到中频,采用固定中频的办法,并使本振在信号可能的频谱范围内变化。得到中频后进行滤波和检波,就可以获取信号中某一频率分量的大小。 (2)示波器的测量精度与示波器带宽、被测信号频率之间的关系: 示波器的带宽越宽,在通带内的衰减就越缓慢; 示波器带宽越宽,被测信号频率离示波器通带截止频率点就越远,则测得的数据精度约高。 2、画出示波器测量电源上电时间示意图,说明示波器可以捕获电源上电上升时间的工作原理。 答: 上电时间示意图: 工作原理: 捕获这个过程需要示波器采样周期小于过渡时间。示波器探头与电源相连,使示波器工作于“正常”触发方式,接通电源后,便有电信号进入示波器,由于示波器为“正常”触发方式,所以在屏幕上会显示出电势波形;并且当上电完成后,由于没有触发信号,示波器将不再显示此信号。这样,就可以利用游标读出电源上电的上升时间。 3、简要说明在FM 调制过程中,调制信号的幅度与频率信息是如何加到FM 波中的? 答: 载波的瞬时角频率为()()c f t k u t ωωΩ=+,(其中f k 为与电路有关的调频比例常数) 已调的瞬时相角为00 t ()()t t c f t dt t k u t dt θωωθΩ =++? ?()= 所以FM 已调波的表达式为:000 ()cos[()]t om c f u t U t k u t dt ωθΩ =++? 当()cos m u t U t ΩΩ=Ω时,00()cos[sin ]om c f u t U t M t ωθ=+Ω+ 其中f M 为调制指数其值与调制信号的幅度m U Ω成正比,与调制信号的角频率Ω反比,即 m f f U M k Ω=Ω 。这样,调制信号的幅度与频率信息是已加到 FM 波中。
通信电了线路课程设计 课程名称通信电子线路课程设计_________________ 专业___________________ 通信工程 ______________________ 班级___________________________________________ 学号___________________________________________ 姓名___________________________________________
指导教师________________________________________ 、八 刖 现代通信的主要任务就是迅速而准确的传输信息。随着通信技术的日益发展,组成通信系统的电子线路不断更新,其应用十分广泛。实现通信的方式和手段很多,通信电子线路主要利用电磁波传递信息的无线通信系统。 在本课程设计中,着眼于无线电通信的基础电路一一LC正弦振荡器的分析和研究。常用正弦波振荡器主要由决定振荡频率的选频网络和维持振荡的正反馈放大器组成,这就是反馈振荡器。按照选频网络所采用元件的不同,正弦波振荡器可分为LC振荡器、RC振荡器和晶体振荡器等类型。其中LC振荡器和晶体振荡器用于产生高频正弦波。正反馈放大器既可以由晶体管、场效应管等分立器件组成,也可由集成电路组成。LC振荡器中除了有互感耦合反馈型振荡器之外,其最基本的就是三端式(又称三点式)的振荡器。而三点式的振荡器中又有电容三点式振荡器和电感三点式振荡器这两种基本类型。 反馈振荡器是一种常用的正弦波振荡器,主要由决定振荡频率的选频网络和维持振荡的正反馈放大器组成。按照选频网络所采用元件的不同,正弦波振荡器可分为LC振荡器、RC振荡器和晶体振荡器等类型。本文介绍了高频电感三点式振荡器电路的原理及设计,电感三点式易起振,调整频率方便,可以通过改变电容调整频率而不影响反馈系数。正弦波振荡器在各种电子设备中有着广泛的应用。根据所产生的波形不同,可将振荡器分成正弦波振荡器和非正弦波振荡器两大类。前者能产生正弦波,后者能产生矩形波、三角波、锯齿波等。 在此次的通信电子线路课程设计中,我选做的是电感三点式振荡设计,通过为时一周的上机实验,我学到了很多书本之外的知识,在老师的指导下达到实验设计的要求指
操作系统实验三报告 实验题目: 进程管理及进程通信 实验环境: 虚拟机Linux操作系统 实验目的: 1.利用Linux提供的系统调用设计程序,加深对进程概念的理解。 2.体会系统进程调度的方法和效果。 3.了解进程之间的通信方式以及各种通信方式的使用。
实验内容: 例程1: 利用fork()创建子进程 #include<> #include<> #include<> main() { int i; if (fork()) i=wait(0); /*父进程执行的程序段*/ /* 等待子进程结束*/ printf("It is parent process.\n"); printf("The child process,ID number %d, is finished.\n",i); } else{ printf("It is child process.\n"); sleep(10); /*子进程执行的程序段*/ exit(1); /*向父进程发出结束信号*/ } } 运行结果: 思考:子进程是如何产生的又是如何结束的子进程被创建后它的运行环境是怎样建立的
答:子进程是通过函数fork()创建的,通过exit()函数自我结束的,子进程被创建后核心将为其分配一个进程表项和进程标识符,检查同时运行的进程数目,并且拷贝进程表项的数据,由子进程继承父进程的所有文件。 例程2: 循环调用fork()创建多个子进程 #include<> #include<> #include<> main() { int i,j; printf(“My pid is %d, my father’s p id is %d\n”,getpid() ,getppid()); for(i=0; i<3; i++) if(fork()==0) printf(“%d pid=%d ppid=%d\n”, i,getpid(),getppid()); else { j=wait(0); Printf(“ %d:The chile %d is finished.\n” ,getpid(),j); } } 运行结果:
实验报告三 实验目的 (1)掌握一维数组(静态、动态)定义及使用 (2)掌握二维数组(静态、动态)定义及使用 (3)掌握“控件数组”的使用 (4)掌握数组相关算法(求最值,排序,查找) (5)通过数组巩固循环及多重循环程序设计 实验内容 【实验1】对一维数组A(1 to 10)先赋值1、3、5、7、9、11、13、15、17、19,然后再输出。程序运行界面如下图所示。(5分) 掌握一维静态数组的定义及使用 实验结果: 【实验1 代码】 Option Base 1 Dim A(1 T o 10) As Integer Private Sub Command1_Click() Dim i As Integer For i = 1 T o 10 A(i) = 2 * i - 1 Next i End Sub
Private Sub Command2_Click() Dim i As Integer For i = 1 T o 10 Print A(i) Next i End Sub Private Sub Form_Load() End Sub 【实验1 典型结果】 【实验2】用Array函数对一维数组进行赋值,程序运行界面如下图(5分) 掌握一维动态数组的定义及使用 实验结果:
【实验2 代码】 Option Base 1 Dim a Private Sub Command1_Click() a = Array(1, 3, 5, 7, 9, 11, 13, 15, 17, 19) End Sub Private Sub Command2_Click() Dim i As Integer For i = 1 T o 10 Print a(i); Next i End Sub Private Sub Form_Load() End Sub 【实验2 典型结果】 【实验3】动态数组声明及输入输出,程序运行界面如下图所示。(10分)
通信电子线路课程设计 学院信息工程学院班级通信0711 姓名邱加钦学号 2007830029 成绩指导老师马中华陈红霞 2010年 1 月 4 日
通信电子线路课程设计报告 一设计名称:调频无线话筒的设计 二设计时间:2010年1月1日~1月5日 三设计地点:集美大学信息工程学院通信实验室 四指导老师:马中华、陈红霞 五设计目的: 1,了解无线话筒的发射原理; 2,熟练掌握protel设计; 3,完成简单的无线话筒制作; 4,通过制作和检测无线话筒,加深对放功率放大器的认识。 六设计原理 调频无线话筒是一种可以将声音或者歌声转换成88~108MHz的无线电波发射出去,距离可以达到30~50m,用普通调频收音机或者带收音机功能的手机就可以接收。 将声音调制到高频载波上,可以用调幅的方法,也可以用调频的方法。 与调幅相比,调频具有保真度好,抗干扰性强的优点,缺点是占用频带较宽。 调频的方式一般用于超短波波段。 1、调频无线话筒的框图如下: T2 图1 调频话筒框图 2、设计原理图:
图2 试验原理图 晶体管T1和其周围的电路构成高频振荡器,振荡频率由L、C4、C5、T1的结电容决定。 加至T1管基极的音频信号电压,会使c-b结电容随它变化,从而实现调频。 C4可改变中心频率的选择(88~108MHz)。 T1输出调频信号,通过C7耦合到T2管的基极,经过T2管放大后从天线辐射出去。T2管构成高频放大器,还有缓冲作用,隔离了天线对高频振荡器的影响,使振荡频率更加稳定。 七设计内容 1,protel设计 (1)电路原理图设计。按设计原理图进行电路原理图的绘制。如图3示。