当前位置:文档之家› 信息论实验指导书

信息论实验指导书

信息论实验指导书
信息论实验指导书

信息理论与编码实验指导书

电子与电气工程学院

罗晓琴编

实验要求

1、实验前认真阅读实验指导书的内容,并完成预习任务。

2、复习Matlab的相关知识,完成仿真。

3、要熟悉本次实验的任务。

4、实验过程中要认真记录实验结果,仿真结果需经指导教师审阅。

5、实验后每位同学要独立完成实验报告的内容。

目录

实验一离散信源的自信息量和熵 (3)

实验二最大离散熵定理 (6)

实验三费诺编码 (9)

实验四霍夫曼编码 (13)

实验五香农编码 (16)

实验一:计算离散信源的自信息量和熵

一、实验目的

1、熟悉离散信源的特点。

2、学习Matlab 仿真离散信源的方法。

3、学习离散信源自信息量和信源熵的计算方法。

4、熟悉 Matlab 编程。 二、实验设备 1、计算机

2、软件:Matlab 三、实验原理

本实验主要完成信源概率分布的自信息量以及信源熵的计算。 计算公式如下:

一个字符它所携带的信息量是和该字符出现的概率有关,概率可以表征自信息量的大小自信息的计算公式为:

2

1()log a

I a p = 自信息量有两个含义:

第一、当事件发生前,表示该事件发生的不确定性; 第二、当事件发生后,标是该事件所提供的信息量. 自信息量的单位取决于对数所取的底,若以2为底,单位为比特,以e 为底,单位为奈特,以10为底,单位为哈特。

在通信系统中,通常取比特为单位,底数2略去不写。

由于自信息I(a)是一个随机变量,不能用来表征整个信源的不确定度。所以我们用平均自信息量来表征整个信源的不确定度。平均自信息量就是信源输出所有消息的自信息的数学期望,又称为信息熵、信源熵,简称熵。

熵(平均自信息)的计算公式为:

22111

()log log q

q

i i i i i i

H x p p p p ====-∑∑

信息熵H (x )是对信源的平均不确定性的描述。它从平均意义上来表征信

源的总体信息测度。对于某特定的信源,其信息熵是一个确定的数值。

信息熵具有如下三种物理意义。

第一,信息熵H (x )是表示信源输出后,每个消息或符号所提供的平均信息量。

第二,信息熵H (x )是表示信源输出前,信源的平均不确定性。 第三,信息熵H (x )可表征变量X 的随机性。

由此可以看出,自信息量与信息熵的含义是不同的: (1)信息熵是表征信源本身统计特性的一个物理量,它表示信源的平均不确定性,是信源输出的每一个消息所能提供的平均信息量;自信息量表示的是每一个消息的信息量度。

(2)信息熵是针对信源的,是信源输出的信息量,表示信源输出前的平均不确定性;自信息量是针对信宿的,是接收者在消除了信源不确定性后所获得的信息的度量。

(3)若信道无干扰,接收者获得的信息量在数量上等于信源的熵,若有干扰时,则两者不相等。

四、实验内容

1、已知信源概率分布为:p=[1/2,1/4,1/8,1/8],编写出计算自信息量的Matlab 程序。

程序:

function [I] = deal(p)

n=4;

for i =1: n

I(i)=-log2(p(i)) ;

end

打开空白的M文件编辑器,将上述程序输入。保存。通过M文件调用的形式完

成仿真。

步骤:在command window中输入p=[1/2,1/4,1/8,1/8]→调用deal.M文件→输入[I]=deal([1/2,1/4,1/8,1/8]),仿真实现。

2、写出信源概率分布为:p=[1/2,1/4,1/8,1/8]离散信源熵的Matlab 程序。程序:

function [H] = deal(p)

n =4;

H =0;

for i =1: n

I(i)=-log2(p(i)) ;

H = H + p(i)*I(i);

end

打开空白的M文件编辑器,将上述程序输入。保存。通过M文件调用的形式完

成仿真。

步骤:在command window中输入p=[1/2,1/4,1/8,1/8]→调用deal.M文件→输入[H]=deal([1/2,1/4,1/8,1/8]),仿真实现。

3、写出信源概率分布为:p=[1/2,1/4,1/8,1/8]的离散信源自信息量和信源熵的Matlab程序。

function [I H] = deal(p)

n = length(p);

H = 0;

for i =1: n

I(i)=-log2(p(i)) ;

H = H + p(i)*I(i);

end

步骤:在command window中输入p=[1/2,1/4,1/8,1/8]→调用deal.M文件→输入[I H]=deal([1/2,1/4,1/8,1/8]),仿真实现。

4、将程序在计算机上仿真实现,验证程序的正确性并完成思考题的程序设计。

五、思考题

1、说明离散信源自信息量和信息熵的不同含义。

乙地信源空间为:

求此两个信源的熵。求各种天气的自信息量。

六、实验报告要求

总结离散信源的特点及离散信源平均信息量的计算,写出实验内容中的仿真程序及结果,完成思考题中MATLAB实现语句,并附上仿真实现的结果。

实验二 最大离散熵定理

一、实验目的

1、熟悉熵函数的基本性质。

2、掌握最大熵定理。

3、学习Matlab 仿真二维曲线图的方法。

4、熟悉 Matlab 编程。 二、实验设备 1、计算机

2、软件:Matlab 三、实验原理

信息熵H (x )是随机变量X 的概率分布p (x )的函数,它有如下性质: 1、对称性

H(P)=H(p 1,p 2,p 3,…,p n )= H(p 2,p 3,…,p n p 1)=…=H(p n,,p 1,p 2,p 3,…,p n-1) 概率分布的顺序是可以任意互换的,互换后的概率分布表示的是相同的随机变量,随机变量的总体结构没有变化,则可证明对应的熵函数的值也不会变。该性质表明熵函数只与信源的总体统计特性有关。这也说明,信息熵只抽取了信源信息输出的统计特征,而没有考虑信息的具体含义和效用。也就是说,信息熵有它的局限性,它不能描述时间本身的具体含义和主观价值等。

2、确定性 H(1,0)=0

在概率矢量P=(p 1,p 2,p 3,…,p n )中,只要有一个分量为1,其它分量必为0,这由概率分布的完备性可以得到。也就是说信源的平均不确定度为0。

3、非负性

H(P)=H(p 1,p 2,p 3,…,p n )≥0

因为P=(p 1,p 2,p 3,…,p n )是概率分布,0≤pi ≤1,-logpi ≥0,故上式成立。 需要注意的是,只有离散信源熵才有非负性,连续信源的相对熵将可能出现负值。

4、扩展性

10

lim +→n H ε(p 1,p 2,p 3,…,p n -ε,ε)=H n (p 1,p 2,p 3,…,p n )

这个性质的含义是:增加一个基本不会出现的小概率事件,信源的熵保持不变。虽然小概率事件的出现给予接收者的信息量很大,但在熵的计算中,它占的比重很小,可以忽略不计,这也是熵的总体平均性的体现。

5、连续性

10

lim +→n H ε(p 1,p 2,p 3,…,p n-1-ε,p q +ε)= H n (p 1,p 2,p 3,…,p n )

即信源概率空间中的概率分量的微小波动,不会引起熵的变化。 6、递增性

H (p 1,p 2,p 3,…,p n-1,q 1,q 2,q 3,…q m )=H(p 1,p 2,p 3,…,p n )+ p n H(q 1/ p n ,q 2/ p n ,q 3/ p n ,…q m / p n ) q 1+q 2+q 3,…+q m =p n

这个性质表明,假如有一个信源的n 个元素的概率分布为(p 1,p 2,p 3,…,

p n ),其中某个元素p

n

又被划分为m个元素,这某个元素的概率之和等于p

n

,,这

样得到的新信源的熵增加了一项,增加的一项是由于划分产生的不确定性。

7、极值性

H(p

1,p

2

,p

3

,…,p

n

) ≤H(1/n,1/n,…,1/n)=logn

上式中,当且仅当n个离散消息等概率出现时等式成立。这一性质说明,对不同概率分布p(x

i

)所构成的熵,只有当等概率分布时,信源的不确定性最大,熵达到极大值。

8、上凸性

熵函数H(p)是概率矢量P=(p

1,p

2

,p

3

,…,p

n

)的严格上凸函数,正因为熵函数

具有上凸性,所以熵函数具有极值,熵函数的最大值存在。

9、唯一性

四、实验内容

1、已知二元信源概率空间为p(x)=[x 1-x],对应的二元信源的熵可表示为:H(x)=-xlog2(x)-(1-x)log2(1-x)。通过Matlab软件画出概率分布函数p(x)与熵函数之间的二维曲线图,编写出程序。

仿真结果如下图所示:

编程过程中要注意的地方:x的步长设置为0.001,H(x)的运算为矩阵运算,必须用点乘:“.*”。

2、用同样的方法画出三元信源空间的熵函数与概率分布的三维曲线图。仿真结果如下所示。

p1

p2

H

五、思考题

1、熵函数的基本性质有哪些?

2、最大熵定理的结论是什么? 六、实验报告要求

写出用Matlab 软件画出概率分布函数p (x )与熵函数之间的二维、三维曲线图的程序,并附上仿真结果图。并对本实验进行总结、分析。

实验三 费诺编码

一、实验目的

1、掌握费诺编码的编码原理

2、熟悉 Matlab 编程。

3、通过Matlab 仿真费诺编码的过程。 二、实验设备 1、计算机

2、软件:Matlab 三、实验原理

费诺编码的步骤:

1、将概率按从大到小的顺序排列;

2、按编码进制数将概率分组,使每组概率和尽可能接近或相等;

3、给每组分配一位码元;

4、将每一分组再按同样原则划分,重复2和3,直到概率不再可分为止。 四、实验内容

对给定信源??

?

???=??????04.007.009.01.03.04.0)(6543

21x x x x x x X q X 进行二进制费诺编码,通过MATLAB 进行编码过程仿真,并计算平均码长。

程序如下: clc; clear;

A=[0.4,0.3,0.1,0.09,0.07,0.04]; A=fliplr(sort(A)); [m,n]=size(A); for i=1:n B(i,1)=A(i); end

a=sum(B(:,1))/2; for k=1:n-1

if abs(sum(B(1:k,1))-a)<=abs(sum(B(1:k+1,1))-a) break; end

for i=1:n

if i<=k

B(i,2)=0;

else

B(i,2)=1;

end

end

END=B(:,2)'; END=sym(END); j=3;

while (j~=0)

p=1;

while(p<=n)

x=B(p,j-1);

for q=p:n

if x==-1 break;

else

if B(q,j-1)==x

y=1; continue;

else

y=0;

break;

end

end

end

if y==1

q=q+1;

if q==p|q-p==1

B(p,j)=-1;

else

if q-p==2

B(p,j)=0;

END(p)=[char(END(p)),'0'];

B(q-1,j)=1;

END(q-1)=[char(END(q-1)),'1'];

else

a=sum(B(p:q-1,1))/2;

for k=p:q-2

if abs(sum(B(p:k,1))-a)<=abs(sum(B(p:k+1,1))-a); break;

end

end

for i=p:q-1

if i<=k

B(i,j)=0;

END(i)=[char(END(i)),'0'];

else

B(i,j)=1;

END(i)=[char(END(i)),'1'];

end

end

end

end

p=q;

end

C=B(:,j);

D=find(C==-1); [e,f]=size(D); if e==n j=0; else j=j+1; end end B A END for i=1:n

[u,v]=size(char(END(i))); L(i)=v; end avlen=sum(L.*A) 五、思考题

对给定信源??????=??????05.010.015.020.025.025.0)(654321

x x x x x x X q X 进行二进制费诺编码。写出编码码字,并计算平均码长。

六、实验报告要求

写出用Matlab 进行费诺编码的程序,并给出仿真结果。

实验四 霍夫曼编码

一、实验目的

1、掌握费诺编码的编码原理

2、熟悉 Matlab 编程。

3、通过Matlab 仿真霍夫曼编码的过程。 二、实验设备 1、计算机

2、软件:Matlab 三、实验原理

霍夫曼编码的步骤:

1、把信源符号按概率大小顺序排列, 并设法按逆次序分配码字的长度。

2、在分配码字长度时,首先将出现概率最小的两个符号的概率相加合成一个概率。

3、把这个合成概率看成是一个新组合符号的概率,重复上述做法直到最后只剩下两个符号概率为止。

4、完成以上概率顺序排列后,再反过来逐步向前进行编码,每一次有二个分支各赋予一个二进制码,可以对概率大的赋为0,概率小的赋为1。 四、实验内容

对给定信源?

?????=??????01.01.015.017.018.019.02.0)(7654321

x x x x x x x X q X 进行二进制霍夫曼编码,通过MATLAB 进行编码过程仿真,并计算平均码长。

程序如下: clc; clear;

A=[0.2,0.19,0.18,0.17,0.15,0.1,0.01]; A=fliplr(sort(A));%按降序排列 T=A;

[m,n]=size(A); B=zeros(n,n-1); for i=1:n B(i,1)=T(i); end

r=B(i,1)+B(i-1,1);

T(n-1)=r;

T(n)=0;

T=fliplr(sort(T));

t=n-1;

for j=2:n-1

for i=1:t

B(i,j)=T(i);

end

K=find(T==r);

B(n,j)=K(end);

r=(B(t-1,j)+B(t,j));

T(t-1)=r;

T(t)=0;

T=fliplr(sort(T));

t=t-1;

end

B;

END1=sym('[0,1]');

END=END1;

t=3;

d=1;

for j=n-2:-1:1

for i=1:t-2

if i>1 & B(i,j)==B(i-1,j)

d=d+1;

else

d=1;

end

B(B(n,j+1),j+1)=-1;

temp=B(:,j+1);

x=find(temp==B(i,j)); END(i)=END1(x(d)); end y=B(n,j+1);

END(t-1)=[char(END1(y)),'0']; END(t)=[char(END1(y)),'1']; t=t+1; END1=END; end A END for i=1:n

[a,b]=size(char(END(i))); L(i)=b; end

avlen=sum(L.*A) H1=log2(A); H=-A*(H1') P=H/avlen% 五、思考题

对给定信源??????=??????05.010.015.020.025.025.0)(654321

x x x x x x X q X 进行二进制霍夫曼编码。写出编码码字,并计算平均码长。

六、实验报告要求

写出用Matlab 进行霍夫曼编码的程序,并给出仿真结果。

实验五 香农编码

一、实验目的

1、掌握香农的编码原理

2、熟悉 C++编程。

3、通过C++仿真香农编码的过程。 二、实验设备 1、计算机 2、软件:C++ 三、实验原理

给定某个信源符号的概率分布,通过以下的步骤进行香农编码 1、将信源消息符号按其出现的概率大小排列:

)()()(21n x p x p x p ≥≥≥Λ

2、确定满足下列不等式的整数码长K i ; 1)(log )(log 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 位即为该消息符号的二进制码。 四、实验内容

对给定信源?

?????=??????01.01.015.017.018.019.02.0)(7654321

x x x x x x x X q X 进行二进制香农编码,通过C++进行编码过程仿真。 香农(Shannon )编码参考程序 int main() { int N;

cout<<”请输入信源符号个数:”;cin>>N; cout<<”请输入各符号的概率:”<

{

cout<<”X[”<>X[i];

}

//由小到大排序

for(i=0;i

for(j=i+1;j

if(X[i]

{ double temp=X[i];X[i]=X[j];X[j]=temp;}

int *K=new int[N]; //确定码长

for(i=0;i

{

K[i]=int(-(log(X[i])/log(2)))+1; //确认码长为1-log2(p(xi))

if(K[i]==(-(log(X[i])/log(2)))+1)//当K[i]=-log2(p(xi))时,K[i]--

K[i]--;

}

//累加概率

double *Pa=new double[N];pa[0]=0.0;

for(i=1;i

pa[i]=pa[i-1]+X[i-1];

//将累加概率转换为二进制

string *code=new string[N];

for(i=0;i

for(j=0;j

{

double temp=Pa[i]*2;

if(temp>=1) //累加概率乘2大于1,对应码字加1,累加概率自身取余{

code[i]+=”1”;

Pa[i]=Pa[i]*2-1;

}

else //累加概率乘2小于1时,对应码字加0,累加概率自身取余 {

code[i]+=”0”;

Pa[i]*= 2;

} }

for(i=0;i

code[i]= code[i].substr(0,K[i]); //求码字 //输出码字

cout<

cout<

K[i]<

} 五、思考题

对给定信源??????=??????05.010.015.020.025.025.0)(654321

x x x x x x X q X 进行二进制香农编码。写出编码码字,并计算平均码长。

六、实验报告要求

写出用C++进行香农编码的程序,并给出仿真结果。

信息论与编码实验

实验五霍夫曼编码 一、实验目的 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)实验结果

实验指导书 实验二_SolidWorks建模1

实验二 SolidWorks 草绘特征和放置特征操作(一) 一、 实验目的 1. 掌握基本零件建模的一般步骤和方法 2. 掌握SolidWorks 草绘特征:拉伸凸台、拉伸切除、旋转凸台、旋转切除、扫描、 放样的操作方法。 3. 掌握放置(应用)特征:钻孔特征、倒角特征、圆角特征、抽壳特征、拔模斜度特 征、筋的操作方法 二、 实验内容 完成下列下列零件造型 三、 实验步骤 1. 连接件设计 完成如图 1 (1) (2) 2 所示。 图 1连接件 图 2草图 (3) 单击【拉伸凸台/ 框内选择【两侧对称】选项,在【深度】文本框内输入“54mm ”,单击【确定】按钮,如图 3所示。 图 3 “拉伸”特征 (4) 120°”,然后 在第二参考中选择图形的一条下边线。单击【确定】按钮,建立新基准面,如

错误!未找到引用源。所示。 (5) 1,选择“反转法线” 1,单选择 4所示。 图4草图 图4建立基准面 底面边线

(6) 单击【拉伸凸台/ 列表框内选择【给定深度】选项,在【深度】文本框内输入“12mm”,单击【确定】按钮,如图5所示。 图5“拉伸”特征 (7)选取基体上表面,单击【草图绘制】进入草图绘制,使用中心线工具在 上表面的中心位置绘制直线,注意不要捕捉到表面边线,如图6所示。 图 6 中心线 (8) 内输入“8mm”,在图形区域选择中心线,在属性管理器中选中【添加尺寸】、【选择链】、【双向】和【顶端加盖】复选框,选中【圆弧】单选按钮,单击【确定】按钮,标注尺寸,完成草图,如图7所示。 运用“等距实体”绘制草图 (8) -拉伸】属性管理器,在【终止条件】下拉 列表框内选择【完全贯穿】选项,单击【确定】按钮,如图8所示。

信息论与编码实验指导书

《信息论与编码》实验指导书 信息与通信工程学院信息工程系 2014年6月

目录 实验一绘制信源熵函数曲线 (3) 实验二哈夫曼编解码 (6) 实验三离散信道容量 (10)

1实验一绘制信源熵函数曲线 一、实验目的 1.掌握离散信源熵的原理和计算方法。 2.熟悉matlab软件的基本操作,练习应用matlab软件进行信源熵函数曲 线的绘制。 3.理解信源熵的物理意义,并能从信源熵函数曲线图上进行解释其物理意 义。 二、实验原理 1.离散信源相关的基本概念、原理和计算公式 产生离散信息的信源称为离散信源。离散信源只能产生有限种符号。 假定X是一个离散随机变量,即它的取值范围R={x1,x2,x3,…}是有限或可数的。设第i个变量x i发生的概率为p i=P{X=x i}。则: 定义一个随机事件的自信息量I(x i)为其对应的随机变量x i出现概率对数的负值。即: I(x i)= -log2p(x i) 定义随机事件X的平均不确定度H(X)为离散随机变量x i出现概率的数学期望,即: ∑∑ - = = i i i i i i x p x p x I x p X H) ( log ) ( ) ( ) ( ) ( 2 单位为比特/符号或比特/符号序列。 平均不确定度H(X)的定义公式与热力学中熵的表示形式相同,所以又把平均不确定度H(X)称为信源X的信源熵。 必须注意一下几点: a)某一信源,不管它是否输出符号,只有这些符号具有某些概率特性, 必有信源的熵值;这熵值是在总体平均上才有意义,因而是个确定 值,一般写成H(X),X是指随机变量的整体(包括概率分布)。 b)信息量则只有当信源输出符号而被接收者收到后,才有意义,这就 是给与信息者的信息度量,这值本身也可以是随机量,也可以与接

信息论与编码实验报告.

本科生实验报告 实验课程信息论与编码 学院名称信息科学与技术学院 专业名称通信工程 学生姓名 学生学号 指导教师谢振东 实验地点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

信息论与编码习题参考答案(全)

信息论与编码习题参考答案 第一章 单符号离散信源 同时掷一对均匀的子,试求: (1)“2和6同时出现”这一事件的自信息量; (2)“两个5同时出现”这一事件的自信息量; (3)两个点数的各种组合的熵; (4)两个点数之和的熵; (5)“两个点数中至少有一个是1”的自信息量。 解: bit P a I N n P bit P a I N n P c c N 17.536log log )(36 1 )2(17.418log log )(362)1(36 662221111 616==-=∴====-=∴== =?==样本空间: * (3)信源空间: bit x H 32.436log 36 16236log 36215)(=??+?? =∴

bit x H 71.3636 log 366536log 3610 436log 368336log 366236log 36436log 362)(=??+?+?+??= ∴++ (5) bit P a I N n P 17.111 36 log log )(3611333==-=∴== ? 如有6行、8列的棋型方格,若有两个质点A 和B ,分别以等概落入任一方格内,且它们的坐标分别为(Xa ,Ya ), (Xb ,Yb ),但A ,B 不能同时落入同一方格内。 (1) 若仅有质点A ,求A 落入任一方格的平均信息量; (2) 若已知A 已落入,求B 落入的平均信息量; (3) 若A ,B 是可辨认的,求A ,B 落入的平均信息量。 解: ! bit a P a P a a P a I a P A i 58.548log )(log )()(H 48log )(log )(481 )(:)1(48 1 i i i i i ==-=∴=-=∴= ∑=落入任一格的概率 bit b P b P b b P b I b P A i 55.547log )(log )()(H 47 log )(log )(47 1 )(:B ,)2(48 1i i i i i ==-=∴=-=∴=∑=落入任一格的概率是落入任一格的情况下在已知 bit AB P AB P AB H AB P AB I AB P AB i i i i i i i 14.11)4748log()(log )()() (log )(47 1 481)()3(47481 =?=-=-=∴?=∑?=是同时落入某两格的概率 从大量统计资料知道,男性中红绿色盲的发病率为7%,女性发病率为%.如果你问一位男士:“你是否是红绿色盲”他的回答可能是:“是”,也可能“不是”。问这两个回答中各含有多少信息量平均每个回答中各含有多少信息量如果你问一位女士,则她的答案中含有多少平均信息量 解:

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

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

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

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

五、编码程序 #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"); for(i=0;i<26;i++) { p[i]=num[i]/strlen(s); printf("%3c:%f\t",i+65,p[i]); n++; if(n==3) { printf("\n"); n=0; } } p[26]=num[26]/strlen(s); printf(" 空格:%f\t",p[26]);

R语言实验指导书(二)

R语言实验指导书(二) 2016年10月27日

实验三创建和使用R语言数据集 一、实验目的: 1.了解R语言中的数据结构。 2.熟练掌握他们的创建方法,和函数中一些参数的使用。 3.对创建的数据结构进行,排序、查找、删除等简单的操作。 二、实验内容: 1.向量的创建及因子的创建和查看 有一份来自澳大利亚所有州和行政区的20个税务会计师的信息样本 1 以及他们各自所在地的州名。州名为:tas, sa, qld, nsw, nsw, nt, wa, wa, qld, vic, nsw, vic, qld, qld, sa, tas, sa, nt, wa, vic。 1)将这些州名以字符串的形式保存在state当中。 2)创建一个为这个向量创建一个因子statef。 3)使用levels函数查看因子的水平。 2.矩阵与数组。

i.创建一个4*5的数组如图,创建一个索引矩阵如图,用这个索引矩 阵访问数组,观察结果。 3.将之前的state,数组,矩阵合在一起创建一个长度为3的列表。

4.创建一个数据框如图。 5.将这个数据框按照mpg列进行排序。 6.访问数据框中drat列值为3.90的数据。

三、实验要求 要求学生熟练掌握向量、矩阵、数据框、列表、因子的创建和使用。

实验四数据的导入导出 一、实验目的 1.熟练掌握从一些包中读取数据。 2.熟练掌握csv文件的导入。 3.创建一个数据框,并导出为csv格式。 二、实验内容 1.创建一个csv文件(内容自定),并用readtable函数导入该文件。 2.查看R语言自带的数据集airquality(纽约1973年5-9月每日空气质 量)。 3.列出airquality的前十列,并将这前十列保存到air中。 4.查看airquality中列的对象类型。 5.查看airquality数据集中各成分的名称 6.将air这个数据框导出为csv格式文件。(write.table (x, file ="", sep ="", https://www.doczj.com/doc/3f12036319.html,s =TRUE, https://www.doczj.com/doc/3f12036319.html,s =TRUE, quote =TRUE)) 三、实验要求 要求学生掌握从包中读取数据,导入csv文件的数据,并学会将文件导出。

《信息论与信源编码》实验报告

《信息论与信源编码》实验报告 1、实验目的 (1) 理解信源编码的基本原理; (2) 熟练掌握Huffman编码的方法; (3) 理解无失真信源编码和限失真编码方法在实际图像信源编码应用中的差异。 2、实验设备与软件 (1) PC计算机系统 (2) VC++6.0语言编程环境 (3) 基于VC++6.0的图像处理实验基本程序框架imageprocessing_S (4) 常用图像浏览编辑软件Acdsee和数据压缩软件winrar。 (5) 实验所需要的bmp格式图像(灰度图象若干幅) 3、实验内容与步骤 (1) 针对“图像1.bmp”、“图像2.bmp”和“图像3.bmp”进行灰度频率统计(即计算图像灰度直方图),在此基础上添加函数代码构造Huffman码表,针对图像数据进行Huffman编码,观察和分析不同图像信源的编码效率和压缩比。 (2) 利用图像处理软件Acdsee将“图像1.bmp”、“图像2.bmp”和“图像 3.bmp”转换为质量因子为10、50、90的JPG格式图像(共生成9幅JPG图像),比较图像格式转换前后数据量的差异,比较不同品质因素对图像质量的影响; (3) 数据压缩软件winrar将“图像1.bmp”、“图像2.bmp”和“图像3.bmp”分别生成压缩包文件,观察和分析压缩前后数据量的差异; (4) 针对任意一幅图像,比较原始BMP图像数据量、Huffman编码后的数据量(不含码表)、品质因素分别为10、50、90时的JPG文件数据量和rar压缩包的数据量,分析不同编码方案下图像数据量变化的原因。 4、实验结果及分析 (1)在VC环境下,添加代码构造Huffman编码表,对比试验结果如下: a.图像1.bmp:

实验指导书实验二_SolidWorks建模1

实验二SolidWorks草绘特征和放置特征操作(一) 一、实验目的 1.掌握基本零件建模的一般步骤和方法 2.掌握SolidWorks草绘特征:拉伸凸台、拉伸切除、旋转凸台、旋转切除、扫描、放样的操 作方法。 3.掌握放置(应用)特征:钻孔特征、倒角特征、圆角特征、抽壳特征、拔模斜度特征、筋的 操作方法 二、实验内容 完成下列下列零件造型 三、实验步骤 1. 连接件设计 完成如图1所示模型。 (1)单击【新建】按钮一1,新建一个零件文件。 (2)选取前视基准面,单击【草图绘制】按钮一I,进入草图绘制,绘制草图,如图2 所示。 图1连接件图2草图 ⑶ 单击【拉伸凸台/基体】按钮,出现【拉伸】属性管理器,在【方向】下拉列表 框内选择【两侧对称】选项,在【深度】文本框内输入" 54mm ”,单击【确定】 按钮,如图3所示。 (4)单击【基准面】按钮一1,出现【基准面】属性管理器,其中第一参考选择图形下底面, 然后单击【两面夹角】按钮日,在【角度】文本框内输入"120°,然后在第二参考中选择 图形的一条下边线。单击【确定】按钮¥,,建立新基准面,如

错误!未找到引用源。所示。 图4建立基准面 (5) 在设计树中右击基准面 1选择“反转法线” 卜,然后再单击基准 面 1单选择 【草图绘制】按钮 ,进入草图绘制,单击【正视于】按钮 ,绘制草图,如图 4所示。 边线 底面 图4草图

(6) 单击【拉伸凸台/基体】按钮 ,出现【拉伸】属性管理 器,在【终止条件】下拉 列表框内选择【给定深度】选项,在【深度】文本框内输入“ 12mm ”,单击【确 定】按钮1 如图5所示。 (7) 选取基体上表面,单击【草图绘制】 按钮_1,进入草图绘制,使用中心线工具 上表面的中心位置绘制直线,注意不要捕捉到表面边线,如图 6所示。 图6中心线 (8) 单击【等距实体】按钮丄,出现【等距实体】属性管理器,在【等距距离】文本框 内输入 “8mm ”,在图形区域选择中心线, 在属性管理器中选中 【添加尺寸】、【选 择链】、【双向】和【顶端加盖】复选框,选中【圆弧】单选按钮,单击【确定】 按钮 ,标注尺寸,完成草图,如图 7所示。 律黑 __________________ 严 玄[B 总 -召 厂[.砲 r 韦歼左眛編◎也 17比自口 R an (A ) 广 Efetfi- 图_7运用“等距实体”绘制草图 (8)单击【拉伸切除】按钮 □,出现【切除-拉伸】属性管理器,在【终止条件】下拉 列表框内选择【完全贯穿】选项,单击【确定】按钮 ,如图8所示。 图5 “拉伸”特征

信息论与编码实验报告

实验一 绘制二进熵函数曲线(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) 五、实验结果

土工实验指导书及实验报告

土工实验指导书及实验报告编写毕守一 安徽水利水电职业技术学院 二OO九年五月

目录 实验一试样制备 实验二含水率试验 实验三密度试验 实验四液限和塑限试验 实验五颗粒分析试验 实验六固结试验 实验七直接剪切试验 实验八击实试验 土工试验复习题

实验一试样制备 一、概述 试样的制备是获得正确的试验成果的前提,为保证试验成果的可靠性以及试验数据的可比性,应具备一个统一的试样制备方法和程序。 试样的制备可分为原状土的试样制备和扰动土的试样制备。对于原状土的试样制备主要包括土样的开启、描述、切取等程序;而扰动土的制备程序则主要包括风干、碾散、过筛、分样和贮存等预备程序以及击实等制备程序,这些程序步骤的正确与否,都会直接影响到试验成果的可靠性,因此,试样的制备是土工试验工作的首要质量要素。 二、仪器设备 试样制备所需的主要仪器设备,包括: (1)孔径0.5mm、2mm和5mm的细筛; (2)孔径0.075mm的洗筛; (3)称量10kg、最小分度值5g的台秤; (4)称量5000g、最小分度值1g和称量200g、最小分度值0.01g的天平;

(5)不锈钢环刀(内径61.8mm、高20mm;内径79.8mm、高20mm或内径61.8mm、高40mm); (6)击样器:包括活塞、导筒和环刀; (7)其他:切土刀、钢丝锯、碎土工具、烘箱、保湿器、喷水设备、凡士林等。 三、试样制备 (一)原状土试样的制备步骤 1、将土样筒按标明的上下方向放置,剥去蜡封和胶带,开启土样筒取土样。 2、检查土样结构,若土样已扰动,则不应作为制备力学性质试验的试样。 3、根据试验要求确定环刀尺寸,并在环刀内壁涂一薄层凡士林,然后刃口向下放在土样上,将环刀垂直下压,同时用切土刀沿环刀外侧切削土样,边压边削直至土样高出环刀,制样时不得扰动土样。 4、采用钢丝锯或切土刀平整环刀两端土样,然后擦净环刀外壁,称环刀和土的总质量。 5、切削试样时,应对土样的层次、气味、颜色、夹杂物、裂缝和均匀性进行描述。 6、从切削的余土中取代表性试样,供测定含水率以及颗粒分析、界限含水率等试验之用。

《面向对象程序设计》实验指导书(实验二)

实验二类与对象㈡——对象初始化、对象数据与指针 一、实验目的 1.理解构造函数、析构函数的意义及作用,掌握构造函数、析构函数的定义及调用时间,熟悉构造函数的种类; 2.理解this指针及使用方法,熟悉对象数组、对象指针、对象引用的定义及使用方法,熟悉对象作为函数参数的使用方法; 3.熟悉类与对象的应用及编程。 二、实验学时 课内实验:2课时课外练习:2课时 三本实验涉及的新知识 ㈠构造函数与析构函数 在C++中,提供了两个特殊的成员函数,即构造函数和析构函数。 构造函数用于对象的初始化,即在定义一个类对象时,计算机在给对象分配相应的存储单元的同时,为对象的数据成员赋初值。 析构执行的是与构造函数相反的操作,用于撤销对象的同时释放对象所占用的内存空间。 1.构造函数 ⑴构造函数的定义 格式: 类名(形参表) { 构造函数体} ⑵构造函数的调用 构造函数的调用是在定义对象时调用的。 格式:类名对象名(实参表); 类名对象名=构造函数名(实参表); ⑶说明 ①构造函数必须与类同名。 ②构造函数没有返回值,但不能在构造函数前加void类型符(其他没有返回值的成员函数必须加类型符void)。 ③在实际应用中,在定义类时通常应定义一至多个构造函数(重载),以对各数据成员进行初始化;如果不给出构造函数,系统将自定义一个构造函数。 ④构造函数可以可以带参数,也可不带任何参数(称无参构选函数),还可以使用缺省参数。 ⑤不能象普通成员函数一样单独调用。 2.析构函数 ⑴析构函数的定义 格式: ~类名(void) { 析构函数体} ⑵析构函数的调用 析构函数是在撤销对象时自动调用的。 ⑶说明

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

一填空题(本题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 之比 。

信息论与编码实验报告

信息论与编码实验报告-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

实验一关于硬币称重问题的探讨 一、问题描述: 假设有N 个硬币,这N 个硬币中或许存在一个特殊的硬币,这个硬币或轻 或重,而且在外观上和其他的硬币没什么区别。现在有一个标准天平,但是无刻度。现在要找出这个硬币,并且知道它到底是比真的硬币重还是轻,或者所有硬币都是真的。请问: 1)至少要称多少次才能达到目的; 2)如果N=12,是否能在3 次之内将特殊的硬币找到;如果可以,要怎么称? 二、问题分析: 对于这个命题,有几处需要注意的地方: 1)特殊的硬币可能存在,但也可能不存在,即使存在,其或轻或重未知; 2)在目的上,不光要找到这只硬币,还要确定它是重还是轻; 3)天平没有刻度,不能记录每次的读数,只能判断是左边重还是右边重,亦或者是两边平衡; 4)最多只能称3 次。 三、解决方案: 1.关于可行性的分析 在这里,我们把称量的过程看成一种信息的获取过程。对于N 个硬币,他们 可能的情况为2N+1 种,即重(N 种),轻(N 种)或者无假币(1 种)。由于 这2N+1 种情况是等概率的,这个事件的不确定度为: Y=Log(2N+1) 对于称量的过程,其实也是信息的获取过程,一是不确定度逐步消除的过程。 每一次称量只有3 种情况:左边重,右边重,平衡。这3 种情况也是等概率 的,所以他所提供的信息量为: y=Log3 在K 次测量中,要将事件的不确定度完全消除,所以 K= Log(2N+1)/ Log3 根据上式,当N=12 时,K= 2.92< 3 所以13 只硬币是可以在3 次称量中达到

实验指导书模板2

请大家按照以下要求更改自己负责的实验(实训)指导书 一、最大标题1 宋体二号加粗居中单倍行距两个空格 二、最大标题2 宋体三号加粗居中 1.5倍行距两个空格 三、一级标题宋体小四加粗两端对齐首行缩进2个字符 1.5倍行距顶格 四、正文宋体小四常规两端对齐首行缩进2个字符 1.5倍行距 五、正文页边距左、右、上2.5cm。下2.1cm 六、注意事项: 1.最重要的是内容不能出错,前后语句要连贯,意思表达完成。 2.标点符号要使用准确。 3.每个结束句子后面要有句号。 4.所有标题号手动输入,不能自动生成。 5.标题级别:一、(一)1.(1)① 七、请大家在群里原文件更改,更改后的文件写上姓名+负责课程(王旭霞+人体解剖学) 八、附件一、附件二模板。

实验指导书模板二: 第二部分内科护理学(最大标题1) 实训一胸腔穿刺术(最大标题2) 一、实训目的(一级标题) (一)胸腔积液性质不明者,抽取积液检查,协助病因诊断。(二级标题) (二)胸腔内大量积液或积气者,抽取积液或积气,以缓解压迫症状,避免胸膜粘连增厚。 (三)脓胸抽脓灌洗治疗,或恶性胸腔积液需胸腔内注人药物者。 二、实训仪器 (一)胸腔穿刺包:内含弯盘2个、尾部连接乳胶管的16号和18号胸腔穿刺针各1根、中弯止血钳4把孔巾1块、巾钳2把、棉球10个纱布2块、小消毒杯2个、标本留置小瓶5个。 (二)消毒用品:2.5%碘酊和75%酒精,或0.5%碘伏。 (三)麻醉药物:2%利多卡因5ml。 三、实训内容 (一)患者体位抽液时,协助患者反坐于靠背椅上,双手放椅背上或取坐位,使用床旁桌支托;亦可仰卧于床上,举起上臂;完全暴露胸部或背部。如患者不能坐直,还可来用侧卧位,床头抬高30°抽气时,协助患者取半卧位。 (二)穿刺部位一般胸腔积液的穿刺点在肩胛线或腋后线第7-8肋间隙或腋前线第5肋间隙。气胸者取患侧锁骨中线第2肋间隙或腋前线第4-5肋间隙进针。 (三)穿刺方法常规消毒皮肤,局部麻醉。术者左手食指和拇指固定穿刺部位的皮肤,右手将穿刺针在局部麻醉处沿下位肋骨上缘缓慢刺人胸壁直达胸膜。连接注射器,在助手协助下抽取胸腔积液或气体,穿刺过程中应避免损伤脏层胸膜,并注意保持密闭,防止发生气胸。术毕拔出穿刺针,再次消毒穿刺点后,覆盖无菌敷料,稍用力压迫容刺部位片刻。 四、注意事项 (一)术前护理 1.心理准备向患者及家属解释穿刺目的操作步骤及术中注意事项,协助患者做好

ArcGIS实验二指导书

实验二GIS应用系统简例的建立 一、实验目的 1.利用ArcCatalog管理地理空间数据,掌握ArcCatalog的基本功能。 2.掌握在ArcMap中编辑空间数据的基本操作。 3.通过建立一个简单的GIS应用系统,初步了解GIS应用概念。 二、实验准备 预备知识: (1)ArcCatalog 简介 ArcGIS桌面系统主要由ArcCatalog、ArcMap、ArcToolbox三部分组成。ArcMap是ArcGIS 桌面系统的核心,提供空间数据编辑、查询、显示、分析、报表和制图等功能。ArcToolBox 包含了ArcGIS地理处理的大部分分析工具和数据管理工具。 ArcCatalog类似于Windows中“资源管理器”,用于组织和管理所有GIS数据。它包含一组工具用于浏览和查找地理数据、记录和浏览元数据、快速显示数据集及为地理数据定义数据结构。ArcCatalog应用模块帮助你组织和管理你所有的GIS信息,比如地图,数据集,模型,元数据,服务等。它包括了下面的工具: ●浏览和查找地理信息 ●记录、查看和管理元数据 ●创建、编辑图层和数据库 ●导入和导出Geodatabase结构和设计 ●管理ArcGIS Server (2)图形输入 图形的输入是将各种地图信息数据进行数字化或转换,以获得ArcGIS的基本图形数据。随数据源的不同可用手扶跟踪数字化仪、扫描矢量化输入或其它标准数据格式转入,如AutoCAD的(.DXF和.DWG)、MapInfo的(.TAB)、Intergraph的(.DGN)数据等。 在ArcMap中,可利用绘图工具条进行图形输入与编辑,要点为: ●正确设置地图的投影方式、地图单位 ●设置控制点坐标 ●图形的输入与编辑 本实验主要练习图形的输入与编辑,投影方式、控制点的设置在实验三中学习。 (3)Editor工具条 ArcMap提供的绘图工具条,如图2-1所示。 对图层进行编辑,首先要从“Editor”按钮的下拉菜单中选择“Start Editing”,然后设置“Target”为要编辑的图层。编辑完成时,要选择“Save Edits”并“Stop Editing”。

信息论霍夫曼编码

信息论与编码实验报告 课程名称:信息论与编码 实验名称:霍夫曼编码 班级: 学号: 姓名:

实验目的 1、熟练掌握Huffman编码的原理及过程,并熟练运用; 2、熟练运用MATLAB应用软件,并实现Huffman编码过程。 一、实验设备 装有MATLAB应用软件的PC计算机。 二、实验原理及过程 原理: 1、将信源符号按概率从大到小的排列,令P (X1)>=P(X2)>=P(X3)......P(Xn) 2、给两个概率最小的信源符号P(Xn-1)和P(Xn)各分配一个码位“0”和“1”,将这两个信源符号合并成一个新符号,并用这两个最小的概率之和作为新符号的概率,结果得到一个只包含(n-1)个信源符号的新信源。称为信源的第一次缩减信源,用S1表示。 3、将缩减信源S1的符号仍按概率从大到小顺序排列,重复步骤2,得到只含(n-2)个符号的缩减信源S2. 4、重复上述步骤,直至缩减信源只剩两个符号为止,此时所剩两个符号的概率之和必为1。然后从最后一级缩减信源开始,依编码路径向前返回,就得到各信源符号所对应的码字。 过程: 用MATLAB编写代码实现Huffman编码其程序为: %哈夫曼编码的MA TLAB实现(基于0、1编码):

clc; clear; A=[0.3,0.2,0.1,0.2,0.2];信源消息的概率序列 A=fliplr(sort(A));%按降序排列 T=A; [m,n]=size(A); B=zeros(n,n-1);%空的编码表(矩阵) for i=1:n B(i,1)=T(i);%生成编码表的第一列 end r=B(i,1)+B(i-1,1);%最后两个元素相加 T(n-1)=r; T(n)=0; T=fliplr(sort(T)); t=n-1; for j=2:n-1%生成编码表的其他各列 for i=1:t B(i,j)=T(i); end K=find(T==r); B(n,j)=K(end);%从第二列开始,每列的最后一个元素记录特征元素在

单片机应用实验指导书-实验2

实验二指示灯循环控制基础实验 实验名称:指示灯循环控制基础实验学时安排:2学时 实验类别:综合性实验要求:必做  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 一、实验目的和任务 1、掌握80C51单片机程序的调试与下载方法。 2、掌握80C51单片机并口的特性及程序控制方法。 二、实验原理简介 80C51单片机包括P0~P3共4个并口,除可作为普通I/O口使用外,P0口还可用作8位数据总线口和低8位地址口,P2可用作高8位地址口,P3.6、P3.7可用作外部RAM或I/O接口的读、写控制引脚,P3.0~P3.5可用作串口、外部中断、计数器的功能引脚。 ZSC-1实验箱包括4个单片机,其中1#单片机(MCU1)和2#单片机(MCU2)的型号都是STC12C5A60S2,只是封装不同。STC12C5A60S2采用80C51内核,片内资源和性能较标准80C51单片机增强了许多。本课程的全部实验只用到MCU1,其P0口用作普通I/O口,为提高I/O口的利用率,除驱动8个发光二极管外,P0口还连接有数码管、点阵管、字符液晶、行列键盘等设备。 图2-1为P0口控制8个发光管的电路结构,P0口某口线输出低电平时,相应的发光管点亮,口线输出高电平时发光管熄灭。在做发光管相关实验时,应将实验箱上LED101~LED108发光管右上侧的拨码开关JUMP2拨到ON一侧,使发光管限流电阻公共端连接到MCU1电源正极(即Vcc端)。

三、实验设备 1、PC机一台; 2、ZSC-1单片机实验箱一台。 四、实验内容和步骤 1、编写一段程序,用P0口作为控制端口,使发光管LED101~LED108轮流点亮。 ①在Keil中编写源程序。汇编语言参考程序如下: ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV A,#0FEH ;准备点亮第一只发光管 NEXT: MOV P0,A ACALL DELAY ;软件延时 RL A ;准备点亮下一只发光管 SJMP NEXT ; 延时子程序DELAY DELAY: MOV R2,#5 DELAY2: MOV R3,#100 DELAY3: MOV R4,#100 DJNZ R4,$ DJNZ R3,DELAY3 DJNZ R2,DELAY2 RET END ②在Keil中创建工程,加入源程序文件,设置选项,进行汇编/编译、连接、转换处 理,生成HEX格式的单片机程序文件。 ③用串行电缆连接实验箱和PC机的RS232串口,运行PC机上的STC_ISP_V483.exe,进 行程序下载。具体步骤: a.在STC_ISP_V483主界面选择MCU型号为STC12C5A60S2,打开②中生成的HEX格式程 序文件,选择COM1串口,设置最高波特率为38400bps; b.将实验箱电源电路中的总电源开关拨到左侧位置,使主电源接通,将MCU1电源开 关拨到下方位置,使1#单片机断电; C.点击STC_ISP_V483主界面中的下载按钮,约等待5s,待系统提示“请给MCU上电” 时再将MCU1电源开关拨到上方位置,使1#单片机通电,开始下载程序,数秒后下 载结束,写入单片机Flash存储器中的程序自动开始运行。 ④观察LED显示效果,若与要求的效果不同,或者想试验其它效果,就需要修改源程 序,重新进行汇编/编译、连接、转换处理,生成最新HEX文件,再按③中介绍的步

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