《JSP程序设计》实验指导

《JSP程序设计》实验指导
《JSP程序设计》实验指导

实验一:动态网页设计基础

一.实验目的

1.掌握HTML常见标记

2.熟悉JavaScript脚本

3. 熟悉div+css布局

二.实验内容

1.编写一个个人简历页。

2.使用CSS对上述页面重新布局、美化

三.实验软件

JDK5.0、Tomcat5.0

四.实验步骤

参考案例:用户注册表单实现

1.在Tomcat的Webapps/root下新建如下reg.html文件

表单输入验证示例

用户名:

密码:

重新输入密码:

性别:


出生日期:

兴趣:音乐

动漫

电影

2.测试reg.htm文件

在IE浏览器中输入 http://127.0.0.1:8080/reg.html

实验二: JSP基础语法

一.实验目的

1.掌握JDK的安装配置

2.熟悉Tomcat的配置

3.测试JSP的运行环境

4.掌握JSP的页面的基本结构

5.掌握JSP的指令标记和动作标记

二.实验内容

编写四个JSP 页面:one.jsp 、two.jsp、three.jsp和error.jsp。one.jsp 、two.jsp和three.jsp 页面都含有一个导航条,以便让用户方便地单击超链接访问这三个页面,要求这三个页面通过使用include动作标记动态加载导航条文件head.txt。

导航条文件head.txt的内容如下所示:

head.txt

<%@ page contentType="text/html;charset=GB2312" %>

border="0" >

one.jsp页面two.jsp页面three.jsp页面

(1)one.jsp的具体要求

要求one.jsp页面有一个表单,用户使用该表单可以输入一个1~100之间的整数,并提交给该页面;如果输入的整数在50~100之间(不包括50)就转向three.jsp,如果在1~50之间就转向two.jsp;如果输入不符合要求就转向error.jsp。要求forward标记在实现页面转向时,使用param子标记将整数传递到转向的two.jsp或three.jsp页面,将有关输入错误传递到转向的error.jsp页面。

(2)two.jsp、three.jsp和error.jsp的具体要求

要求two.jsp和three.jsp能输出one.jsp传递过来的值,并显示一幅图像,该图像的宽和高刚好是one.jsp页面传递过来的值。error.jsp页面能显示有关的错误信息和一幅图像。

三.实验软件

JDK5.0、Tomcat5.0

四.实验步骤

one.jsp(效果如图1-6所示)

图1-6 使用include动作标记加载导航条

two.jsp(效果如图1-7所示)

图1-7 得到param子标记传递来的值

three.jsp(效果如图1-8所示)

图1-8 得到param子标记传递来的值

error.jsp(效果如图1-9所示)

图1-9 显示错误信息

5.参考代码

代码仅供参考,学生可按照实验要求,参考本代码编写代码。

JSP页面参考代码

one.jsp

<%@ page contentType="text/html;charset=GB2312" %>

请输入1至100之间的整数:

<%

String num=request.getParameter("number");

if(num==null)

{ num="0";

}

try

{

int n=Integer.parseInt(num);

if(n>=1&&n<=50)

{

%>

<% }

else if(n>50&&n<=100)

{

%>

}

catch(Exception e)

{

%>

<% }

%>

two.jsp

<%@ page contentType="text/html;charset=GB2312" %>

This is two.jsp.

<%

String s=request.getParameter("number");

out.println("
传递过来的值是"+s);

%>


three.jsp

<%@ page contentType="text/html;charset=GB2312" %>

This is three.jsp.

<%

String s=request.getParameter("number");

out.println("
传递过来的值是"+s);

%>


error.jsp

<%@ page contentType="text/html;charset=GB2312" %>

This is error.jsp.

<%

String s=request.getParameter("mess");

out.println("
传递过来的错误信息"+s);

%>


实验三: JSP内置对象

一.实验目的

1.掌握表单的提交

2.掌握常用内置对象的使用方法。

二.实验内容

1.编写一个用户登录页面、用户选择商品页面、用户结算页面模拟用户购物过程

三.实验软件

JDK5.0、Tomcat5.0

四.实验步骤

参考代码:

1.建立一个Web应用,在主页面实现登录见面,在其中输入用户名,密码,发送到登录

验证页面,登录成功,显示成功提示,登录失败,显示失败页面。

2.在登录成功之后,在成功页面中显示当前站点的被访问的次数,如果同一用户已经登录,

多次刷新此页面,不重计数。

<%//10秒后一个session自动失效,也就是10秒后再次刷新页面认为是一次新的登录。//获取系统生成的会话id。

String userSessionId=session.getId();

String

storedSessionId=(String)session.getAttribute("storedSessionId");

//站点访问次数处理

//如果以前没有用户访问,此次为第一次访问,则设置计数器值为1

if(application.getAttribute("webVisitedCount")==null){

application.setAttribute("webVisitedCount","1");

session.setAttribute("storedSessionId",userSessionId);

out.println("欢迎,您是第1位访客!");

}

else{

//如果以前已有用户访问,则根据次用户是新登录用户还是已经登录的用户决定是否计数。

if(!userSessionId.trim().equals(storedSessionId))

{ //新登录用户,则进行一次新的计数,计数值增加1。

int i =

Integer.parseInt((String)application.getAttribute("webVisitedCount")) ;

i++;

application.setAttribute("webVisitedCount",String.valueOf(i));

session.setAttribute("storedSessionId",userSessionId);

out.println("欢迎,您是第"+i+"位访客!");

}

else

{ //登已经登录用户,不计数。

int i =

Integer.parseInt((String)application.getAttribute("webVisitedCount")) ;

out.println("欢迎,您是第"+i+"位访客!");

}

}

%>

实验四: JavaBean和表单

一.实验目的

1.熟练掌握表单的提交

2.掌握Javabean的概念和使用方法

二.实验内容

1.编写用户注册、注册后显示提示信息的JavaBean

三.实验软件

JDK5.0、Tomcat5.0

四.实验步骤

参考P175 例子7-1

实验五: 文件操作

一.实验目的

1.熟练掌握表单的提交

2.掌握Javabean的概念和使用方法

二.实验内容

1.课余时间且在实验课之前,认真复习教材上关于文件操作的例题。

2.实现一系统,具体要求:该系统能够实现文件上传功能和下载功能,显示文件列表和读取文件内容功能。

3.要求在webapps目录下新建一个Web服务目录:test3。除特别要求外,本章实验中涉及的JSP页面均保存在test3中。

三.实验软件

JDK5.0、Tomcat5.0

四.实验步骤

实例参考

upfile.jsp实现文件上传功能,顶部为三个页面的超链接。页面效果如图所示:

文件上传页面

listdir.jsp实现列出服务目录所有文件和子目录的功能,并且能够显示指定文件内容功能。页面效果如图所示:

显示文件列表以及文件内容页面

downfile.jsp实现文件下载功能,示例中为直接指定能够下载的文件,学生应该进行改进,实现能够根据服务目录的变化而变化的效果。页面效果如图3-3所示:

文件下载页面

参考代码:代码仅供参考,学生可按照实验要求,参考本代码编写代码。

upfile.jsp

<%@ page contentType="text/html;charset=GB2312" %>

<%@ page import="tom.jiafei.UpFile" %>

选择要上传的文件:


<% upFile.setRequest(request);

upFile.setSession(session);

%>

downfile.jsp

<%@ page contentType="text/html;charset=GB2312" %>

<%@ page import="tom.jiafei.DownLoadFile" %>

<%@ page import="java.io.*" %>

选择要下载的文件:

<% downFile.setResponse(response);

%>

listdir.jsp:

<%@ page contentType="text/html;charset=GB2312" %>

<%@ page import="tom.jiafei.ReadFile" %>

该目录

有如下文件:


在文本框输入一个文件名字单击提交键:


文件内容如下:



重新选择目录

downfile.jsp:

<%@ page contentType="text/html;charset=GB2312" %>

<%@ page import="tom.jiafei.DownLoadFile" %>

<%@ page import="java.io.*" %>

选择要下载的文件:

<% downFile.setResponse(response);

%>

UpFile.java

package tom.jiafei;

import java.io.*;

import javax.servlet.http.*;

public class UpFile

{ HttpServletRequest request;

HttpSession session;

String upFileMessage="";

public void setRequest(HttpServletRequest request)

{ this.request=request;

}

public void setSession(HttpSession session)

{ this.session=session;

}

public String getUpFileMessage()

{ String fileName=null;

try{ String tempFileName=(String)session.getId();//客户的session的id File f1=new File("D:/down",tempFileName);

FileOutputStream o=new FileOutputStream(f1);

InputStream in=request.getInputStream();

byte b[]=new byte[10000];

int n;

while( (n=in.read(b))!=-1)

{ o.write(b,0,n);

}

o.close();

in.close();

RandomAccessFile random=new RandomAccessFile(f1,"r");

int second=1; //读出f1的第2行,析取出上传文件的名字:

String secondLine=null;

while(second<=2)

{ secondLine=random.readLine();

second++;

}

//获取第2行中目录符号'\'最后出现的位置

int position=https://www.360docs.net/doc/dc13912457.html,stIndexOf('\\');

//客户上传的文件的名字是:

fileName=secondLine.substring(position+1,secondLine.length()-1);

byte cc[]=fileName.getBytes("ISO-8859-1");

fileName=new String(cc);

session.setAttribute("Name",fileName);//供show.jsp页面使用

random.seek(0); //再定位到文件f1的开头。

//获取第4行回车符号的位置:

long forthEndPosition=0;

int forth=1;

while((n=random.readByte())!=-1&&(forth<=4))

{ if(n=='\n')

{ forthEndPosition=random.getFilePointer();

forth++;

}

}

//根据客户上传文件的名字,将该文件存入磁盘:

File f2= new File("D:/down",fileName);

RandomAccessFile random2=new RandomAccessFile(f2,"rw");

//确定出文件f1中包含客户上传的文件的内容的最后位置,即倒数第6行。

random.seek(random.length());

long endPosition=random.getFilePointer();

long mark=endPosition;

int j=1;

while((mark>=0)&&(j<=6))

{ mark--;

random.seek(mark);

n=random.readByte();

if(n=='\n')

{ endPosition=random.getFilePointer();

j++;

}

}

//将random流指向文件f1的第4行结束的位置:

random.seek(forthEndPosition);

long startPoint=random.getFilePointer();

//从f1读出客户上传的文件存入f2(读取从第4行结束位置和倒数第6行之间的内容)

while(startPoint

{ n=random.readByte();

random2.write(n);

startPoint=random.getFilePointer();

}

random2.close();

random.close();

f1.delete(); //删除临时文件

upFileMessage=fileName+" Successfully UpLoad";

return upFileMessage;

}

catch(Exception exp)

{ if(fileName!=null)

{ upFileMessage=fileName+" Fail to UpLoad";

return upFileMessage;

}

else

{ upFileMessage="";

return upFileMessage;

}

}

}

}

ReadFile.java

package tom.jiafei;

import java.io.*;

public class ReadFile

{ String fileDir="d:/down",fileName="";

String listFile,readContent;

public void setFileDir(String s)

{ fileDir=s;

}

public String getFileDir()

{ return fileDir;

}

public void setFileName(String s)

{ fileName=s;

}

public String getFileName()

{ return fileName;

}

public String getListFile()

{ File dir=new File(fileDir);

File file_name[]=dir.listFiles();

StringBuffer list=new StringBuffer();

for(int i=0;i

{

String temp=file_name[i].toString();

int n=https://www.360docs.net/doc/dc13912457.html,stIndexOf("\\");

temp=temp.substring(n+1);

list.append(" "+temp);

}

listFile=new String(list);

return listFile;

}

public String getReadContent()

{ try{ File file=new File(fileDir,fileName);

FileReader in=new FileReader(file) ;

BufferedReader inTwo=new BufferedReader(in);

StringBuffer stringbuffer=new StringBuffer();

String s=null;

while ((s=inTwo.readLine())!=null)

{ stringbuffer.append("\n"+s);

}

String temp=new String(stringbuffer);

readContent="";

}

catch(IOException e)

{ readContent="";

}

return readContent;

}

}

DownLoadFile.java

package tom.jiafei;

import java.io.*;

import javax.servlet.http.*;

public class DownLoadFile{

HttpServletResponse response;

String fileName;

public void setResponse(HttpServletResponse response) {

this.response=response;

}

public String getFileName(){

return fileName;

}

public void setFileName(String s){

fileName=s;

File fileLoad=new File("d:/down",fileName);

//客户使用下载文件的对话框:

response.setHeader("Content-disposition","attachment;filename="+fileName);

try{

FileInputStream in=new FileInputStream(fileLoad);

OutputStream out=response.getOutputStream();

byte[] buffer=new byte[1024];

int n = -1;

while ((n=in.read(buffer))!= -1)

out.write(buffer,0,n);

out.close();

in.close();

}

catch(Exception e){}

}

}

实验六: 数据库操作

一.实验目的

1.掌握JDBC数据库的基本操作

2.掌握JSP 中数据库的访问

二.实验内容

1.创建一个人员数据库

2.写一个含有文本输入框、密码框的登陆页面login.html

3.编写一个登陆验证页面logincheck.jsp,如果用户输入的用户名和密码在数据库中存在,则转到index.jsp文件,否则,提示登陆失败。

4.思考如何完善以前的用户系统JavaBean。

三.实验软件

JDK5.0、Tomcat5.0

四.实验步骤

参考代码(Access替换成MYsql)

1

1 admin 123

2 zhangshan 456

2.编写login.html文件

用户名:

密码:

3.编写logincheck.jsp文件

<%@ page language="java" import ="java.util.*"

contentType="text/html;charset=gb2312"

%>

<%@ page import ="java.sql.*" %>

<%

String sUserName=request.getParameter("userName");

String sPWD=request.getParameter("password");

try{

Connection conn = null;

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

String url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=WebExam"; conn = DriverManager.getConnection(url, "sa","123456");

Statement stmt = conn.createStatement();

String sql = "select * from tb_user where userName='"+sUserName+

"' and password='"+sPWD+"'";

ResultSet rs =stmt.executeQuery( sql );

if ( !rs.next() ) out.println("用户名或密码错误!");

else response.sendRedirect("index.jsp");

}catch (Exception e) {

out.println("数据库操作失败!");

System.out.println(e.getMessage());

}

%>

4.编写index.jsp文件

登陆成功!欢迎进入系统

5.在IE浏览器中输入http://127.0.0.1:8080/login.html

实验七: JSP+Javabean实例

一.实验目的

学会需求分析的具体规划一个网站,理解JavaBean的封装内涵。

二.实验内容

自己设计一个独立主体的网站,至少包括会员系统。

三.实验软件

JDK5.0、Tomcat5.0

四.实验步骤

实验八: Servlet过滤器和监听器

一.实验目的

1.掌握Servlet的编写规范

2.熟悉Servlet的发布

二.实验内容

1.使用Servle分别实现过滤器和监听器

三.实验软件

JDK5.0、Tomcat5.0

四.实验步骤

1.过滤器

public class TestFilter implements Filter {

public void destroy() { }

public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { res.setContentType("text/html;charset=GB2312");

PrintWriter out=res.getWriter();

out.println("before doFilter()");

chain.doFilter(req, res);

out.println("after doFilter()");

out.close();

}

public void init(FilterConfig arg0) throws ServletException { }

}

2.监听器

ublic class TestListener implements ServletContextListener,

ServletContextAttributeListener {

private ServletContext context = null;

/**

*以下代码实现ServletContextListener接口。

*/

public void contextDestroyed(ServletContextEvent sce) {

logout("contextDestroyed()-->ServletContext被销毁");

this.context = null;

}

public void contextInitialized(ServletContextEvent sce) {

this.context = sce.getServletContext();

logout("contextInitialized()-->ServletContext初始化了");

}//ServletContextListener

/**

*以下代码实现 ServletContextAttributeListener接口

*/

public void attributeAdded(ServletContextAttributeEvent scae) {

logout("增加了一个ServletContext属性:attributeAdded('" + scae.getName() + "', '" +

scae.getValue() + "')");

}

public void attributeRemoved(ServletContextAttributeEvent scae) { logout("删除了一个ServletContext属性:attributeRemoved('" + scae.getName() + "', '" +

scae.getValue() + "')");

}

public void attributeReplaced(ServletContextAttributeEvent scae) { logout("某个ServletContext的属性被改变:attributeReplaced('" + scae.getName() + "', '" +

scae.getValue() + "')");

}

private void logout(String message) {

PrintWriter out=null;

try {

out=new PrintWriter(new FileOutputStream("c:\\test.txt",true));

out.println(new java.util.Date().toLocaleString()+"::Form ContextListener: " + message);

out.close();

}

catch(Exception e) {

out.close();

e.printStackTrace();

}

}

}

3.设计页面使用上述过滤器和监听器

信息论与编码实验

实验五霍夫曼编码 一、实验目的 1、熟悉Matlab 工作环境及工具箱; 2、掌握霍夫曼编码的基本步骤; 3、利用MATLAB实现霍夫曼编码。 二、实验内容 (1)熟悉理解Huffman编码的过程 (2)将给定的数据进行Huffman编码 知识要点: 1、霍夫曼编码的基本原理。参照教材及参考书。 2、二进制霍夫曼编码方法。 1. 基本原理: 变长编码 不要求所有码字长度相同,对不同概率的信源符号或序列,可赋予不同长度的码字。变长编码力求平均码长最小,此时编码效率最高,信源的冗余得到最大程度的压缩。 1)几种常用变长编码方法: 霍夫曼编码 费若编码 香农编码。 2)霍夫曼编码: 二进制霍夫曼编码 r进制霍夫曼编码 符号序列的霍夫曼编码。 3)二进制霍夫曼编码的编码过程: 将信源中n个符号按概率分布的大小,以递减次序排列起来; 用0和1码分别分配给概率最小的两个信源符号,并将这两个概率最小的信源符号合并成一个新符号,并用这两个最小概率之和作为新符号的概率,从而得到只包含n-1个符号的新信源,称为其缩减信源; 把缩减信源的符号仍按概率大小以递减次序排列,再将最后两个概率最小的符号合并

成一个新符号,并分别用0和1码表示,这样又形成一个新缩减信源; 依次继续下去,直到缩减信源最后只剩两个符号为止。再将最后两个新符号分别用0和1 码符号表示。最后这两个符号的概率之和为1,然后从最后一级缩减信源开始,依编码路径右后向前返回,就得到各信源符号所对应得码符号序列,即对应得码字。 r进制霍夫曼编码 由二进制霍夫曼编码可推广到r进制霍夫曼编码,只是每次求缩减信源时,改求r个最小概率之和,即将r个概率最小符号缩减为一个新符号,直到概率之和为1。但要注意,即缩减过程中可能到最后没有r个符号。为达次目的,可给信源添加几个概率为零的符号。 符号序列的霍夫曼编码 对信源编码除了对信源符号编码以外,也可对信源符号序列编码,一般来说,对序列编码比对单个符号更为有效。 2 数据结构与算法描述 1)变量及函数的定义 3 实验数据与实验结果(可用文字描述或贴图的方式进行说明) 1)测试数据 0.2 0.1 0.3 0.1 0.1 0.2 2)实验结果

《模拟电子技术实验》实验指导书

北方民族大学 Beifang University of Nationalities 《模拟电子技术实验》课程指导书 北方民族大学教务处

北方民族大学 《模拟电子技术实验》课程指导书 编著杨艺丁黎明 校审杨艺 北方民族大学教务处 二〇一二年三月

《模拟电子技术实验》课程是工科类大学二年级学生必修的一门实践类课程。实验主要设备包括模拟电子技术实验箱、信号发生器、示波器、数字万用表、交流毫伏表和直流电源等。 课程教学要求是:通过该课程,学生学会正确使用常用的电子仪器,掌握三极管放大电路分析和设计方法,掌握集成运放的使用及运算放大电路各项性能的测量,学会查找并排除实验故障,初步培养学生实际工程设计能力,学会仿真软件的使用,掌握工程设计的概念和步骤,为以后学习和工作打下坚实的实践基础。 《模拟电子技术实验》课程内容包括基础验证性实验,设计性实验和综合设计实践三大部分。 基础验证性实验主要包括仪器设备的使用、双极性三极管电路的分析、负反馈放大电路的测量等内容。主要培养学生分析电路的能力,掌握电路基本参数的测量方法。 设计性实验主要包括运算电路的实现等内容。主要要求学生掌握基本电路的设计能力。 综合设计实践主要包括项目的选题、开题、实施和验收等过程,要求学生能够掌握电子产品开发的整个过程,提高学生的设计、制作、调试电路的能力。 实验要求大家认真做好课前预习,积极查找相关技术资料,如实记录实验数据,独立写出严谨、有理论分析、实事求是、文理通顺、字迹端正的实验报告。 本书前八个实验项目由杨艺老师编写,实验九由丁黎明老师编写。全书由丁黎明老师提出课程计划,由杨艺老师进行校对和排版。参与本书课程计划制订的还有电工电子课程组的全体老师。 2012年3月1日

细胞生物学常用研究方法

Southern杂交: 是体外分析特异DNA序列的方法,操作时先用限制性内切酶将核DNA或线粒体DNA切成DNA片段,经凝胶电泳分离后,转移到醋酸纤维薄膜上,再用探针杂交,通过放射自显影,即可辨认出与探针互补的特殊核苷序列。 将RNA转移到薄膜上,用探针杂交,则称为Northern杂交。 RNAi技术: 是指在进化过程中高度保守的、由双链RNA(double-stranded RNA,dsRNA)诱发的、同源mRNA高效特异性降解的现象。由于使用RNAi技术可以特异性剔除或关闭特定基因的表达,所以该技术已被广泛用于探索基因功能和传染性疾病及恶性肿瘤的基因治疗领域。可以利用siRNA或siRNA表达载体快速、经济、简便的以序列特异方式剔除目的基因表达,所以现在已经成为探索基因功能的重要研究手段。 Southern杂交一般利用琼脂糖凝胶电泳分离经限制性内切酶消化的DNA片段,将胶上的DNA变性并在原位将单链DNA片段转移至尼龙膜或其他固相支持物上,经干烤或者紫外线照射固定,再与相对应结构的标记探针进行杂交,用放射自显影或酶反应显色,从而检测特定DNA分子的含量]。 扫描电镜技术:是用一束极细的电子束扫描样品,在样品表面激发出次级电子,次级电子的多少与样品表面结构有关,次级电子由探测器收集,信号经放大用来调制荧光屏上电子束的强度,显示出与电子束同步的扫描图像。 细胞显微分光光度计:用来描述薄膜、涂层厚度超过1微米的物件的光学性能的显微技术。 免疫荧光技术:将免疫学方法(抗原抗体特异结合)与荧光标记技术结合起来研究特异蛋白抗原在细胞内分布的方法。由于荧光素所发的荧光可在荧光显微镜下检出,从而可对抗原进行细胞定位。 电镜超薄切片技术:超薄切片是为电镜观察提供极薄的切片样品的专门技术。用当代较好的超薄切片机,大多数生物材料,如果固定、包埋处理得合适,可以切成50-100微米的超薄切片。 Northern印迹杂交(Northern blot)。这是一种将RNA从琼脂糖凝胶中转印到硝酸纤维素膜上的方法。 放射自显影技术:放射自显影技术是利用放射性同位素的电离辐射对乳胶(含AgBr或AgCl)的感光作用,对细胞内生物大分子进行定性、定位与半定量研究的一种细胞化学技术。放射自显影技术(radioautography;autoradiography)用于研究标记化合物在机体、组织和细胞中的分布、定位、排出以及合成、更新、作用机理、作用部位等等。其原理是将放射性同位素(如14C和3H)标记的化合物导入生物体内,经过一段时间后,将标本制成切片或涂片,涂上卤化银乳胶,经一定时间的放射性曝光,组织中的放射性即可使乳胶感光。 核磁共振技术:可以直接研究溶液和活细胞中相对分子质量较小(20,000 道尔顿以下)的蛋白质、核酸以及其它分子的结构,而不损伤细胞。 DNA序列分析:在获得一个基因序列后,需要对其进行生物信息学分析,从中尽量发掘信

信息论与编码实验报告.

本科生实验报告 实验课程信息论与编码 学院名称信息科学与技术学院 专业名称通信工程 学生姓名 学生学号 指导教师谢振东 实验地点6C601 实验成绩 二〇一五年十一月二〇一五年十一月

实验一:香农(Shannon )编码 一、实验目的 掌握通过计算机实现香农编码的方法。 二、实验要求 对于给定的信源的概率分布,按照香农编码的方法进行计算机实现。 三、实验基本原理 给定某个信源符号的概率分布,通过以下的步骤进行香农编码 1、将信源消息符号按其出现的概率大小排列 )()()(21n x p x p x p ≥≥≥ 2、确定满足下列不等式的整数码长K i ; 1)(l o g )(l o g 22+-<≤-i i i x p K x p 3、为了编成唯一可译码,计算第i 个消息的累加概率 ∑ -== 1 1 )(i k k i x p p 4、将累加概率P i 变换成二进制数。 5、取P i 二进制数的小数点后K i 位即为该消息符号的二进制码。 四、源程序: #include #include #include #include #include using namespace std; int main() { int N; cout<<"请输入信源符号个数:";cin>>N; cout<<"请输入各符号的概率:"<

int i,j; for(i=0;i

模拟电子技术实验

实验2 单管放大电路 1.1 实验目的 (1) 熟悉电子元件和模拟电路实验箱。 (2) 掌握放大器静态工作点的调试方法及其对放大器性能的影响。 (3) 学习测量放大器Q点,A v,r i,r o的方法,了解共射极电路的特性。 (4) 学习放大器的动态性能。 1.2 实验仪器与设备 示波器,信号发生器,交流毫伏表,数字万用表,模拟/数字电路实验箱。 1.3 预习要求 (1) 熟悉分压式偏置放大器的工作原理,了解元器件参数对放大器性能的影响。 (2) 熟悉放大器的动态及静态测量方法。 1.4 实验内容与步骤 (一)、连接直流电路,测量静态工作点 1.连接直流电路 (1)用万用表判断实验元件(三极管、电解电容、电阻、电位器)及实验所用导线的好坏。 (2) 连接分压式偏置放大器的直流通路,电路如图1-1所示,将R W的阻值调到最大100K。 图1-1 分压式偏置单管放大器的直流通路

(3)调节直流稳压电源电压输出调节旋钮,使其输出+12V(方法:用万用表直流电压档监测直流稳压电源输出端口,调节旋钮使万用表显示+12 V) 2.调节静态工作点 接通稳压电源(方法:用红色导线连接直流稳压电源的正极与R W R C的公共点,用黑色导线连接直流稳压电源的负极与R B2 R E的公共点),调节R W使U CE=1/2 U CC,V BE=0.7V 测量晶体管各极对地电压U B、U C和U E,将测量结果和计算所得结果填入表1-1中。 U CE =U C-U E U BE =U B-U E I C = I E= U E /R E 表1-1 静态工作点实验数据 (二)、连接完整电路,测量动态参数 1.连接完整电路 图1-2 分压式偏置单管放大器原理图 注意:电解电容的极性。 3.电压放大倍数的测量 (1)接通函数信号发生器电源,调节函数信号发生器的频率调节旋钮和幅度调节旋钮,使函数信号发生器输出频率 f =1 kHz ,输出电压U S=10 mV (有效值)的交流信号(若输出不能达到10 mV,可调节输出衰减旋钮20~60 dB和幅度调节旋钮即可)。 注意:信号发生器输出交流信号的频率通过数码管显示即可读出来,输出交流信号的幅度必须使用晶体管毫伏表检测方可读出电压有效值。 (2)将信号发生器、示波器、晶体管毫伏表按图1-3接入。信号发生器的正极、示波

细胞生物学实验指导

细胞生物学实验指导

细胞生物学实验指导目录 一.显微镜的使用 实验一、几种光学显微镜的使用 实验二、参观电子显微镜及生物超薄切片标本制备 二.细胞形态结构 实验三、细胞大小的形态观察——测微尺的使用 实验四、细胞活体染色技术 实验五、植物细胞骨架光学显微观察 实验六、胞间连丝观察 三.细胞化学 实验七、鉴定RNA的细胞化学方法——Branchet反应 实验八、DNA显色的观察——Feulgen反应 实验九、固绿染色法鉴定细胞内酸性蛋白与碱性蛋白 实验十、多糖及过氧化酶的显示 实验十一、核仁组成区的银染显示与观察 四.细胞生理 实验十二、细胞膜的通透性 实验十三、细胞电泳 五.细胞和组织培养技术 实验十四、植物原生质体的分离和融合 实验十五、植物细胞的培养与观察 实验十六、动物细胞融合 实验十七、动物细胞的培养与观察 六.细胞化学成分的分离 实验十八、细胞器的分离、纯化——细胞分级分离 实验十九、荧光的细胞化学测定 实验二十、细胞活力的鉴别 实验一几种光学显微镜的使用

一、实验目的 了解几种光学显微镜的结构、工作原理、主要用途和使用方法;掌握使用普通显微镜提高分辨力的方法。 二、实验原理 (一)基本原理 一般实验室经常使用的光学显微镜都是由物镜、目镜、聚光器和光阑组成,普通显微镜它们的放大原理及光路图如下: AB物体.A1B l第一次成像,A2B2第二次成像,O l目镜.O2物镜, F1为O l的前焦点,F2为O2的前焦点 各种光学显微镜的光学放大原理基本相同,各种特殊用途的光镜不过只是在光源、物镜、聚光器等方面作了改动,或在其它方面增设了某些特殊的设备。 (二)几种光学显微镜 l、普通光学显微镜: 普通光学显微镜也叫复式显微镜,是最常见,最简单的显微镜。它适于观察一般固定的,有色的透明度较高的标本。其最大分辨力一般为0.2微米,从构造上可分光学、机械和电子三大系统。 2、暗视野显微镜: 暗视野显微镜是以丁达尔现象(Tyndall phenomenon)(即光的微粒散射现象)为基础设计的,它使用了特殊的聚光器进行斜射照明,因光源中心束不直入物镜,所以视野黑暗,而被检细胞器因斜射照明发生衍射和反射,所以发亮可见。暗视野显微镜可用增加光照方法增加物体与背景的反差,因而可观察到0.2—0.004微米直径的微小粒子,但它分不清被检物的细微构造,它常用于观察物体的存在与运动。而暗视野显微镜与普通光学显微镜的区别,主要在于聚光器的不同,致使照明方法有别。确切地说,称暗视野显微镜为暗视野照明更为贴切。它是照明光线仅照亮被检样品而不进入物镜。使视野背景暗黑,样品明亮的照明方法。 3、相差显微镜: 相差是指同一光线经过折射率不同的介质其相位发生变化并产生的差异。相位是指在某一时间上,光的波动所达到的位置。

2011.12.30(修改)电路与模拟电子技术实验指导书

电路与模拟电子技术 实验指导书 王凤歌 (修改于2011.12.30) 1

实验一直流网络定理 一、实验目的 1、加深对基尔霍夫和迭加原理的内容和适用范围的理解。 2、用实验方法验证戴维南定理的正确性。 3、学习线性含源一端口网络等效电路参数的测量方法。 4、验证功率输出最大条件。 二、实验属性(验证性) 三、实验仪器设备及器材 1、电工实验装置(DG011T、DY031T、DG053T) 2、电阻箱 四、实验要求 1. 所有需要测量的电压值,均以电压表测量的读数为准,不以电源表盘指示值为准。 2. 防止电源两端碰线短路。 3. 若用指针式电流表进行测量时,要识别电流插头所接电流表时的“ +、-”极性。倘若不换接极性,则电表指针可能反偏(电流为负值时),此时必须调换电流表极性,重新测量,此时指针可正偏,但读得的电流值必须冠以负号。 4.用电流插头测量各支路电流时,应注意仪表的极性,及数据表格中“ +、-”号的记录。 五、实验原理 1、基尔霍夫定律是集总电路的基本定律。它包括电流定律和电压定律。 基尔霍夫电流定律:在集总电路中,任何时刻,对任一节点,所有支路电流的代数和恒等于零。即 ∑I = 0 基尔霍夫电压定律:在集总电路中,任何时刻,沿任一回路内所有支路或元件电压的代数和恒等于零。即 ∑U = 0 2、迭加原理是线性电路的一个重要定理。 独立电源称为激励,由它引起的支路电压、电流称为响应,则迭加原理可简述为:在任意线性网络中,多个激励同时作用时,总的响应等于每个激励单独作用时引起的响应之和。 3、戴维南定理指出,任何一个线性含源一端口网络,对外部电路而言,总可以用一个理想电压源和电阻相串联的有源支路来代替,如图1-1所示,其理想电压源的电压等于原网络端口的开路电压U OC,其电阻等于原网络中所有独立电源为零值时的入端等效电阻R0。 图1-1 2

模拟电子技术实验报告

姓名:赵晓磊学号:1120130376 班级:02311301 科目:模拟电子技术实验B 实验二:EDA实验 一、实验目的 1.了解EDA技术的发展、应用概述。 2. 掌握Multisim 1 3.0 软件的使用,完成对电路图的仿真测试。 二、实验电路

三、试验软件与环境 Multisim 13.0 Windows 7 (x64) 四、实验内容与步骤 1.实验内容 了解元件工具箱中常用的器件的调用、参数选择。 调用各类仿真仪表,掌握各类仿真仪表控制面板的功能。 完成实验指导书中实验四两级放大电路实验(不带负反馈)。 2.实验步骤 测量两级放大电路静态工作点,要求调整后Uc1 = 10V。 测定空载和带载两种情况下的电压放大倍数,用示波器观察输入电压和输出电压的相位关系。 测输入电阻Ri,其中Rs = 2kΩ。 测输出电阻Ro。 测量两级放大电路的通频带。 五、实验结果 1. 两级放大电路静态工作点 断开us,Ui+端对地短路

2. 空载和带载两种情况下的电压放大倍数接入us,Rs = 0 带载: 负载: 经过比较,输入电压和输出电压同相。 3. 测输入电阻Ri Rs = 2kΩ,RL = ∞ Ui = 1.701mV

Ri = Ui/(Us-Ui)*Rs = 11.38kΩ 4. 测输出电阻Ro Rs = 0 RL = ∞,Uo’=979.3mV RL = 4.7kΩ,Uo = 716.7mV Ro = (Uo’/Uo - 1)*R = 1.72kΩ 5. 测量两级放大电路的通频带电路最大增益49.77dB 下限截止频率fL = 75.704Hz 上限截止频率fH = 54.483kHz 六、实验收获、体会与建议

细胞生物学实验指导书09年

实验一普通光学显微镜的构造和使用 一、目的要求 1了解显微镜的基本构造和使用方法 2 掌握油镜的原理和使用方法 二、显微镜的基本结构及油镜的工作原理 1.显微镜的基本构造 光学部分:接目镜、接物镜、照明装置(聚光镜、虹彩光圈、反光镜等)。 机械部分:镜座、镜臂、镜筒、物镜转换器、载物台、载物台转移器、粗调节器、细调节器等部件。 2.显微镜的放大倍数和分辨率 放大倍数=接物镜放大倍数×接目镜放大倍数 显微镜的分辨率:表示显微镜辨析物体(两端)两点之间距离的能力3.油镜的使用原理 当光线由反光镜通过玻片与镜头之间的空气时,由于空气与玻片的密度不同,使光线受到曲折,发生散射,降低了视野的照明度。若中间的介质是一层油(其折射率与玻片的相近),则几乎不发生折射,增加了视野的进光量,从而使物象更加清晰。 三、器材 1.永久切片 2. 溶液或试剂:香柏油、二甲苯。 3. 仪器或其他用具:显微镜、擦镜纸等。 四、操作步骤 1.观察前的准备 (1)显微镜的安置,检查零件是否齐全,镜头是否清洁。 (2)调节光源 2.显微镜观察

(1)低倍镜观察 (2)高倍镜观察 (3)油镜观察:高倍镜下找到清晰的物象后,提升聚光镜,在标本中央滴一滴香柏油,使油镜镜头浸入香柏油中,细调至看清物象为止。3.显微镜用毕后的处理 观察完毕,上升镜筒,用擦镜纸和二甲苯清洗镜头,后将镜体全部复原。 五、思考题 1.用油镜观察时应注意哪些问题?在载玻片和镜头之间滴加什么油?起什么作用? 2.为什么在使用高倍镜及油镜时应特别注意避免粗调节器的误操作? 实验二胞间连丝的观察 一、实验目的 观察植物细胞的胞间连丝,加深对胞间连丝功能的认识. 二、实验原理 植物细胞的细胞壁上有许多原生质的细丝,称胞间连丝。相邻细胞的胞间连丝相互联接,在细胞间的物质运输与信息传递中起桥粱作用,并使细胞的各种生理活动协调一致,使植物体成为统一的有机体。用合适的植物细胞为材料,经简单处理,即能方便地看到胞间连丝。 三、实验材料 红辣椒表皮细胞临时装片、柿胚乳细胞间胞间连丝切片 四、实验步骤

信息论与编码实验报告材料

实验报告 课程名称:信息论与编码姓名: 系: 专业: 年级: 学号: 指导教师: 职称: 年月日

目录 实验一信源熵值的计算 (1) 实验二 Huffman信源编码 (5) 实验三 Shannon编码 (9) 实验四信道容量的迭代算法 (12) 实验五率失真函数 (15) 实验六差错控制方法 (20) 实验七汉明编码 (22)

实验一 信源熵值的计算 一、 实验目的 1 进一步熟悉信源熵值的计算 2熟悉 Matlab 编程 二、实验原理 熵(平均自信息)的计算公式 ∑∑=--==q i i i q i i i p p p p x H 1 212log 1 log )( MATLAB 实现:))(log *.(2x x sum HX -=;或者))((log *)(2i x i x h h -= 流程:第一步:打开一个名为“nan311”的TXT 文档,读入一篇英文文章存入一个数组temp ,为了程序准确性将所读内容转存到另一个数组S ,计算该数组中每个字母与空格的出现次数(遇到小写字母都将其转化为大写字母进行计数),每出现一次该字符的计数器+1; 第二步:计算信源总大小计算出每个字母和空格出现的概率; 最后,通过统计数据和信息熵公式计算出所求信源熵值(本程序中单位为奈特nat )。 程序流程图: 三、实验内容 1、写出计算自信息量的Matlab 程序 2、已知:信源符号为英文字母(不区分大小写)和空格。

输入:一篇英文的信源文档。 输出:给出该信源文档的中各个字母与空格的概率分布,以及该信源的熵。 四、实验环境 Microsoft Windows 7 Matlab 6.5 五、编码程序 #include"stdio.h" #include #include #define N 1000 int main(void) { char s[N]; int i,n=0; float num[27]={0}; double result=0,p[27]={0}; FILE *f; char *temp=new char[485]; f=fopen("nan311.txt","r"); while (!feof(f)) { fread(temp,1, 486, f);} fclose(f); s[0]=*temp; for(i=0;i='a'&&s[i]<='z') num[s[i]-97]++; else if(s[i]>='A'&&s[i]<='Z') num[s[i]-65]++; } printf("文档中各个字母出现的频率:\n");

模拟电子技术实验

实验一共射极单管放大电路的研究 1. 实验目的 (1)学会放大器静态工作点的调试方法,分析静态工作点对放大器性能的影响; (2)掌握放大器电压放大倍数、输入电阻、输出电阻及最大不失真输出电压的测试方法; (3)熟悉常用电子仪器及模拟电路实验设备的使用。 2. 实验设备与器材 实验所用设备与器材见表1.1。 表1.1 实验4.1的设备与器材 序号名称型号与规格数量备注 1 实验台1台 2 双踪示波器0~20M 1台 3 电子毫伏表1只 4 万用表1只 5 三极管1只 6 电阻1kΩ/0.25W 1只R e 7 电阻 2.4kΩ/0.25W 2只R S、R c、R L 8 电阻20kΩ/0.25W 1只R b1、R b2 9 电阻500kΩ/0.25W 1只R b2 10 铝电解电容10μF/25V 2只C1、C2 11 铝电解电容50μF/25V 1只C e 3. 实验电路与说明 实验电路如图1.1所示,为电阻分压式工作点稳定单管放大器实验电路图。它的偏置电路采用R B1和R B2组成的分压电路,并在发射极中接有电阻R E,以稳定放大器的静态工作点。当在放大器的输入端加入输入信号u i后,在放大器的输出端便可得到一个与u i相位相反,幅值被放大了的输出信号u0,从而实现了电压放大。安装电路时,要注意电解电容极性、直流电源正负极和信号源的极性。 图1.1 共射极单管放大器实验电路

I c/mA U ce/V u0波形失真情况管子工作状态 2.0 (5) 测量最大不失真输出电压的幅度 置R C=2.4kΩ,R L=2.4kΩ,调节信号发生器输出,使U s逐渐增大,用示波器观察输出信号的波形。直到输出波形刚要出现失真而没有出现失真时,停止增大U s,这时示波器所显示的正弦波电压幅度,就是放大电路的最大不失真输出电压幅度,将该值记录下来。然后继续增大U s,观察输出信号波形的失真情况。 5. 实验总结与分析 (1)用理论分析方法计算出电路的静态工作点,填入表1.2中,再与测量值进行比较,并分析误差的原因。 (2)通过电路的动态分析,计算出电路的电压放大倍数,包括不接负载时的A u、A us以及接上负载时的A u、A us。将计算结果填入表1.3中,再与测量值进行比较,并分析产生误差的原因。 (3)回答以下问题: ①放大电路所接负载电阻发生变化时,对电路的电压放大倍数有何影响? ②怎样用测量信号电压的方法来测量放大电路的输入电阻和输出电阻? (4)心得体会与其他。

细胞生物学实验指导

实验一显微镜的结构及使用 [实验目的] (一)熟悉显微镜的结构及各部件性能。 (二)掌握显微镜的使用方法。 (三)了解显微镜的维护方法。 [实验原理] 虽然显微镜的目镜和物镜的结构很复杂,但它的作用相当于一个凸透镜,其成像原理和光路图如图1所示,被检物体AB放在物镜(O1)下方的1—2倍焦距之间,则在物镜(O1)后形成一个倒立的放大实像A1B1,这个实像正好位于目镜(O2)的下焦点之内,通过目镜后形成一个放大的虚像A2B2,这个虚像通过调焦装置使其落在眼睛的明视距离处,即25cm,使所看到的物体最清晰,也就是说虚像A2B2是在眼球晶状体的两倍焦距之外,通过眼球后在视网膜形成一个倒立的A2B2缩小像A3B3。 [实验器材]擦镜纸字母装片羊毛交叉擦片普通光学显微镜二甲苯香柏油 三内容与方法: 普通光学显微镜(Microscope)的外形和结构因类型不同略有差异,但基本结构和功能是相似的。(图2) (一)微镜的基本结构及功能:光学显微镜由机械部分、照明部分和光学部分构成。1.机械部分: (1)镜座:位于底部的金属座。一般为马蹄形,用以支持和稳定整个镜体。 (2)镜柱:镜座与镜臂相连的短柱。 (3)镜臂:镜柱上方弯曲部分,是取用显微镜时握拿的部位。 (4)镜筒:在镜臂的上方倾斜的金属园筒,上端装有目镜、下端转折处装有棱镜,使光线转折450。其上有一固定螺钉将镜筒连接于镜臂上方。 (5)调节器:在镜柱两侧有大小两个螺旋,大螺旋为粗调节器,转动时能使载物台快速升降。调节范围较大,适于低倍镜调焦用。小螺旋为细调节器,转动是载物台仅缓慢升降,调节范围较小,适于调节物象的清晰度。此外,在右侧粗调节器内侧有一窄环,称粗调松紧调节轮,用以调节粗调节器的松紧度。向外转时偏紧,向内转时偏松。左侧粗调节器内侧有一粗调限位调节环凸柄,向上推紧时,镜台上的最高点被固定(这两个环一般不需调节)。(6)旋转盘:又称物镜转换器,安装在镜筒下端,为一可旋转的圆盘,上有4个圆孔,

模拟电子实验思考题及答案 学时

设备的使用 1、示波器的使用 0-20MHz范围内的信号都可测量。 三个校准旋钮顺时针拧到底; 五个按钮全要释放; 触发源要与输入通道一致;双通道输入时(DUAL),则触发源CH1和CH2都可; “LEVEL”旋钮的使用(波形水平移动,不稳定时); “垂直衰减旋钮”要合适,尤其是数值和波形的幅值相比小太多时,波形太大,出了屏幕,会看不到波形; Y轴校准方法; DC和AC档位的区别。 2、交流毫伏表的使用 测量10-2MHz正弦信号的有效值。频带比示波器小,比万用表大。 一定要选择合适的量程,否则误差大。比如:正弦信号Ui=1V,要选3V量程档,用30V的话,误差大! 数字万用表 万用表 3、数字 测直流电压、电流信号,电阻值。 测交流信号不如交流毫伏表精度高,模拟电子技术实验室的交流信号有效值都用交流毫伏表测量! 4、模拟万用表 在本实验室只用于单管放大时测静态工作点的电流I B和I C。 5、信号发生器 正弦信号输入是有效值,切记!要注意分清题目给的条件是指正弦信号的有效值(示例Ui =1V)和最大值(示例Ui m=1V)。 6、集成运算放大器的使用 +12V、地、-12V这三个电源必须接上,运放才能工作。同时注意要打开电源开关。

输入信号不是电源,切记! 共地:“输入信号的地”、“示波器的地”一定要和“电源的地”可靠地接在一起。 开环过零检查运放的好坏。 比例运算电路要闭环调零减少误差。 实验板 7、单管放大电路 单管放大电路实验板 +12V和地要可靠连接; 共地:“输入信号的地”、“示波器的地”一定要和“电源的地”可靠地接在一起。 线要连好,不要落了接某些线。

模拟电子技术实验指导书

河海大学文天学院 电子技术实验指导书 模拟电子技术 王飞 2014.2

实验一 晶体管单管放大电路 一、实验目的 1.学习放大电路静态工作点调试方法,分析静态工作点对放大电路性能的影响。 2.学习放大电路电压放大倍数及最大不失真输出电压的测量方法。 3.测量放大电路输入、输出电阻。 4.进一步熟悉各种电子仪器的使用。 二、实验原理 图1-1为电阻分压式静态工作点稳定放大电路,它的偏置电路采用R B1 = R W1 + R 3和R B2 = R W2 + R 4组成的分压电路,并在发射级中接有电阻R E = R 6,用来稳定静态工作点。当在放大电路输入端输入信号U i 后,在放大电路输出端便可得到与U i 相位相反、被放大了的输出信号U 0,实现了电压放大。R 1和R 2组成输入信号的分压电路,其目的是防止输入信号过大,损坏三极管。 图1-1 在电路中静态工作点为: CC B B B B U R R R U 2 12 += E E E BE B E R U R U U I = -= )(E C C CC CE R R I U U +-= 动态参数: 电压放大倍数k 3.3//50==-== R R R R U U A C be L C i U γβ

其中) mA () mv (26) 1(300E be I r β++= 输入电阻:若开关合上,即R 7短接 be B B i r R R r ////21= 输出电阻:5R R r C o == 放大电路输入电阻测试方法:若输入信号源U S 经R 1 = 5.1k 与C 1串联后再接到三极管 V 1的基极,测得U S 和'i U ,即可计算出1' ' R U U U r i S i i ?-= 输出电阻可用下式计算:L R U U r )1(0 '00-= 其中' 0U 为R L 未接入时(R L = ∞)U 0之值,U 0为接入R L 时U 0之值。 1.静态工作点的测试 1)静态工作点的测量 放大电路的静态工作点是指在放大电路输入端不加输入信号U i 时,在电源电压V CC 作用下,三极管的基极电流I B ,集电极电流I C 以及集成极与发射极之间的电压U CE 等。测量静态工作点时,应使放大电路输入信号U i = 0,即将信号源输出旋钮旋至零(通常需将放大电路输入端与地短接)。然后测出I C ,或测出R E 两端电压,间接计算出I C 来,I B = I C / β, U BE , U CE 用数字式直流电压表进行测量,在测试中应注意: a) 测量电压U BE 、U CE 时,为防止引入干扰,应采用先测量B 、C 、E 对地的电位后进行计算,即: U BE = U B – U E U CE = U C – U E b) 为了测量I B 、I C 和I E ,为了方便起见,一般先直接测量出U E 后,再由计算得到: E E E C R U I I == β C B I I = 总之,为了测量静态工作点只需用直流电压表测出U C 、U B 、U E 即可推算出。 2)静态工作点的调试: 放大电路的基本任务是在不失真的前提下,对输入信号进行放大,故设置放大电路静态工作点的原则是:保证输出波形不失真并使放大电路具有较高的电压放大倍数。 改变电路参数U CC 、R C 、R B 都将引起静态工作点的变化,通常以调节上偏置电阻取得一合适的静态工作点,如图1-1中调节R W1。R B1减小将引起I C 增加,使工作点偏高,放大电路容易产生饱和失真,如图1-2-a 所示,U 0负半周被削顶。当R B1增加,则I C 减小,使工作点偏低,放大电路容易产生截止失真,如图1-2-b 所示。U 0正半周被缩顶。适当调节R b1可得到合适的静态工作点。

信息论与编码实验报告

实验一 绘制二进熵函数曲线(2个学时) 一、实验目的: 1. 掌握Excel 的数据填充、公式运算和图表制作 2. 掌握Matlab 绘图函数 3. 掌握、理解熵函数表达式及其性质 二、实验要求: 1. 提前预习实验,认真阅读实验原理以及相应的参考书。 2. 在实验报告中给出二进制熵函数曲线图 三、实验原理: 1. Excel 的图表功能 2. 信源熵的概念及性质 ()()[] ()[]())(1)(1 .log )( .) ( 1log 1log ) (log )()(10 , 110)(21Q H P H Q P H b n X H a p H p p p p x p x p X H p p p x x X P X i i i λλλλ-+≥-+≤=--+-=-=≤≤? ?????-===??????∑ 单位为 比特/符号 或 比特/符号序列。 当某一符号xi 的概率p(xi)为零时,p(xi)log p(xi) 在熵公式中无意义,为此规定这时的 p(xi)log p(xi) 也为零。当信源X 中只含有一个符号x 时,必有p(x)=1,此时信源熵H (X )为零。 四、实验内容: 用Excel 和Matlab 软件制作二进熵函数曲线。根据曲线说明信源熵的物理意义。 (一) Excel 具体步骤如下: 1、启动Excel 应用程序。 2、准备一组数据p 。在Excel 的一个工作表的A 列(或其它列)输入一组p ,取步长为0.01,从0至100产生101个p (利用Excel 填充功能)。

3、取定对数底c,在B列计算H(x) ,注意对p=0与p=1两处,在B列对应位置直接输入0。Excel中提供了三种对数函数LN(x),LOG10(x)和LOG(x,c),其中LN(x)是求自然对数,LOG10(x)是求以10为底的对数,LOG(x,c)表示求对数。选用c=2,则应用函数LOG(x,2)。 在单元格B2中输入公式:=-A2*LOG(A2,2)-(1-A2)*LOG(1-A2,2) 双击B2的填充柄,即可完成H(p)的计算。 4、使用Excel的图表向导,图表类型选“XY散点图”,子图表类型选“无数据点平滑散点图”,数据区域用计算出的H(p)数据所在列范围,即$B$1:$B$101。在“系列”中输入X值(即p值)范围,即$A$1:$A$101。在X轴输入标题概率,在Y轴输入标题信源熵。 (二)用matlab软件绘制二源信源熵函数曲线 p = 0.0001:0.0001:0.9999; h = -p.*log2(p)-(1-p).*log2(1-p); plot(p,h) 五、实验结果

参考答案--模拟电子技术实验指导书(2012)

参考答案--模拟电子技术实验指导书(2012)

实验一常用电子仪器的使用 一、实验目的 1.熟悉示波器,低频信号发生器和晶体管毫伏表等常用电子仪器面板,控制旋钮的名称,功能及使用方法。 2.学习使用低频信号发生器和频率计。 3.初步掌握用示波器观察波形和测量波形参数的方法。 二、实验原理 在电子电路实验中,经常使用的电子仪器有示波器、低频信号发生器、直流稳压电源、交流毫伏表及频率计等。它们和万用电表一起,可以完成对电子电路的静态和动态工作情况的测试。 实验中要对各种电子仪器进行综合使用,可按照信号流向,以连线简捷,调节顺手,观察与读数方便等原则进行合理布局,各仪器与被测实验装置之间的布局与连接如图1—1所示。接线时应注意,为防止外界干扰,各仪器的共公接地端应连接在一起,称共地。信号源和交流毫伏表的引线通常用屏蔽线或专用电缆线,示波器接线使用专用电缆线,直流电源的接线用普通导线。

图1—1 模拟电子电路中常用电子仪器布局图 1.低频信号发生器 低频信号发生器按需要输出正弦波、方波、三角波三种信号波形。输出电压最大可达20V(峰-峰值)。通过输出衰减开关和输出幅度调节旋钮,可使输出电压在毫伏级到伏级范围内连续调节。低频信号发生器的输出信号频率可以通过频率分档开关进行调节。 低频信号发生器作为信号源,它的输出端不允许短路。 2.交流毫伏表 交流毫伏表只能在其工作频率范围之内,用来测量正弦交流电压的有效值。为了防止过载而损坏,测量前一般先把量程开关置于量程较大位置上,然后在测量中逐档减小量程。 3.示波器 示波器是一种用途极为广泛的电子测量仪器,它能把电信号转换成可在荧光屏幕上直接观察的图象。示波器

信息论与编码试题集与答案(新)

一填空题(本题20分,每小题2分) 1、平均自信息为 表示信源的平均不确定度,也表示平均每个信源消息所提供的信息量。 平均互信息 表示从Y获得的关于每个X的平均信息量,也表示发X前后Y的平均不确定性减少的量,还表示通信前后整个系统不确定性减少的量。 2、最大离散熵定理为:离散无记忆信源,等概率分布时熵最大。 3、最大熵值为。 4、通信系统模型如下: 5、香农公式为为保证足够大的信道容量,可采用(1)用频带换信噪比;(2)用信噪比换频带。

6、只要,当N足够长时,一定存在一种无失真编码。 7、当R<C时,只要码长足够长,一定能找到一种编码方法和译码规则,使译码错误概率无穷小。 8、在认识论层次上研究信息的时候,必须同时考虑到形式、含义和效用三个方面的因素。 9、1948年,美国数学家香农发表了题为“通信的数学理论”的长篇论文,从而创立了信息论。 按照信息的性质,可以把信息分成语法信息、语义信息和语用信息。 按照信息的地位,可以把信息分成客观信息和主观信息。 人们研究信息论的目的是为了高效、可靠、安全地交换和利用各种各样的信息。 信息的可度量性是建立信息论的基础。 统计度量是信息度量最常用的方法。 熵是香农信息论最基本最重要的概念。 事物的不确定度是用时间统计发生概率的对数来描述的。 10、单符号离散信源一般用随机变量描述,而多符号离散信源一般用随机矢量描述。 11、一个随机事件发生某一结果后所带来的信息量称为自信息量,定义为其发生概率对

数的负值 。 12、自信息量的单位一般有 比特、奈特和哈特 。 13、必然事件的自信息是 0 。 14、不可能事件的自信息量是 ∞ 。 15、两个相互独立的随机变量的联合自信息量等于 两个自信息量之和 。 16、数据处理定理:当消息经过多级处理后,随着处理器数目的增多,输入消息与输出消息之间的平均互信息量 趋于变小 。 17、离散平稳无记忆信源X 的N 次扩展信源的熵等于离散信源X 的熵的 N 倍 。 18、离散平稳有记忆信源的极限熵,=∞H )/(lim 121-∞→N N N X X X X H 。 19、对于n 元m 阶马尔可夫信源,其状态空间共有 nm 个不同的状态。 20、一维连续随即变量X 在[a ,b]区间内均匀分布时,其信源熵为 log2(b-a ) 。 21、平均功率为P 的高斯分布的连续信源,其信源熵,Hc (X )=eP π2log 21 2。 22、对于限峰值功率的N 维连续信源,当概率密度 均匀分布 时连续信源熵具有最大值。 23、对于限平均功率的一维连续信源,当概率密度 高斯分布 时,信源熵有最大值。 24、对于均值为0,平均功率受限的连续信源,信源的冗余度决定于平均功率的限定值P 和信源的熵功率P 之比 。

模拟电子技术实验指导书

《模拟电子技术》实验教学指导书课程编号:1038181007 湘潭大学 信息工程学院电工与电子技术实验中心 2007年11月30日

前言 一、实验总体目标 通过实验教学,使学生巩固和加深所学的理论知识,培养学生运用理论解决实际问题的能力。学生应掌握常用电子仪器的原理和使用方法,熟悉各种测量技术和测量方法,掌握典型的电子线路的装配、调试和基本参数的测试,逐渐学习排除实验故障,学会正确处理测量数据,分析测量结果,并在实验中培养严肃认真、一丝不苟、实事求是的工作之风。 二、适用专业年级 电子信息工程、通信工程、自动化、建筑设施智能技术等专业二年级本科学生。 三、先修课程 《高等数学》、《大学物理》、《电路分析基础》或《电路》。 网络化模拟电路实验台:36套(72组) 主要配置:数字存储示波器、DDS信号发生器、数字交流毫伏、模块化单元电路板等。 六、实验总体要求 本课程要求学生自己设计、组装各种典型的应用电路,并用常用电子仪器测试其性能指标,掌握电路调试方法,研究电路参数的作用与影响,解决实验中可能出现各种问题。 1、掌握基本实验仪器的使用,对一些主要的基本仪器如示波器、、信号发生器等应能较熟练地使用。 2、基本实验方法、实验技能的训练和培养,牢固掌握基本电路的调整和主要技术指标的测试方法,其中还要掌握电路的设计、组装等技术。 3、综合实验能力的训练和培养。 4、实验结果的处理方法和实验工作作风的培养。

七、本课程实验的重点、难点及教学方法建议 本课程实验的重点是电路的正确连接、仪表的正确使用、数据测试和分析; 本课程实验的难点是电路的设计方法和综合测试与分析。 在教学方法上,本课程实验应提前预习,使学生能够利用原理指导实验,利用实验加深对电路原理的理解,掌握分析电路、测试电路的基本方法。

相关文档
最新文档