信息论实验报告-

信息论实验报告-
信息论实验报告-

信息论实验报告

学生:

班级:

学号:

实验一香农编码一、程序设计的流程图

二、程序清单

#include

#include

#include

using namespace std;

void swap(double *x,double *y);

int main()

{

int N;

cout<<"输入信源个数"<

cin>>N;

double S[N]; //注意变量在数组中的影响cout<<"输入信源概率"<

for(int i=0;i

cin>>S[i];

for(int i=0;i

{

for(int j=i;j

if(S[i]

swap(S[i],S[j]);

}

int nm[N];

for(int i=0;i

{

nm[i]=int(-(log(S[i])/log(2)))+1;

if(nm[i]==(-(log(S[i])/log(2)))+1)

nm[i]--;

}

double AA[N];

AA[0]=S[0];

for(int i=1;i

AA[i]=AA[i-1]+S[i];

string MM[N];

for(int i=0;i

{

double tem=0;

double aa=AA[i];

for(int j=0;j

{

tem=aa*2;

if(tem>1)

{

MM[i]+='1';

aa=tem-1;

}

else

{

MM[i]+='0';

aa=tem;

}

}

}

string BB[N];

for(int i=0;i

{

for(int j=0;j

BB[i]+=MM[i][j];

}

cout<<"输出编码"<

for(int i=0;i

cout<

}

void swap(double &x,double &y)

{

double a;

a=x;

x=y;

y=a;

}

实验二.费洛编码.

一、 流程图

二、程序清单

#include

#include

#include

using namespace std;

void dw(int n,int H,int W,double *si,string *m); int main()

{

int N;

cout<<"输入信源个数"<

cin>>N;

double S[N];

cout<<"输入信源概率"<

for(int i=0;i

cin>>S[i];

for(int i=0;i

{

for(int j=i;j

{

if(S[i]

{

double a;

a=S[i];

S[i]=S[j];

S[j]=a;

}

}

}

string MM[N];

dw(N,0,N-1,S,MM);

cout<<"输出编码"<

for(int i=0;i

cout<

}

void dw(int n,int H,int W,double *si,string *m ) {

double sum=0,sm=0;

int a1=W-H;

if(a1>=1)

{

for(int j=H;j<=W;j++)

sum+=*(si+j);

double b[n];

for(int i=H;i<=W;i++)

{

sm+=*(si+i);

b[i]=fabs(2*sm-sum)/sum;

}

int ZH;

double a=b[H];

for(int i=H;i<=W;i++)

if(b[i]<=a)

{

a=b[i];

ZH=i;

}

for(int i=H;i<=W;i++)

{

if(i<=ZH) m[i]+='0';

else m[i]+='1';

}

int nn=n;double *ss;ss=si;

string *mm;mm=m;

if(ZH==H)

dw(nn,ZH+1,W,ss,mm);

else if(ZH==W-1)

dw(nn,H,ZH,ss,mm);

else

{

dw(nn,H,ZH,ss,mm);

dw(nn,ZH+1,W,ss,mm);

}

}

}

实验三.霍夫曼

一、程序流程图

二、 程序清单

#include

#include

using namespace std;

struct HNode

{

double weight;

int parent;

int lchild;

int rchild;

};

void HuffmanTree(HNode *HuffNode,int n,double *si,string *m);

int hc(string m);

void nv(string *m,int n);

int main()

{

int N;

cout<<"输入信源个数"<

cin>>N;

double *S=new double[N];

cout<<"输入信源概率"<

for(int i=0;i

cin>>S[i];

string *MM=new string[N];

for(int i=0;i

{

for(int j=i;j

{

if(S[i]

{

double a;

a=S[i];

S[i]=S[j];

S[j]=a;

}

}

}

HNode *node=new HNode[2*N-1];

HuffmanTree(node,N,S,MM);

nv(MM,N);

cout<<"输出编码"<

for(int i=0;i

cout<

}

void HuffmanTree(HNode *HuffNode,int n,double *si,string *m)

{

int i,j,x1,x2,c,p;

float m1,m2;

for (i=0;i<2*n-1;i++)

{

HuffNode[i].weight=0;

HuffNode[i].parent=-1;

HuffNode[i].lchild=-1;

HuffNode[i].rchild=-1;

}

for (i=0;i

{

HuffNode[i].weight=si[i];

}

for (i=0;i

{

m1=m2=1;

x1=x2=0;

for (j=0;j

{

if (HuffNode[j].parent==-1&&HuffNode[j].weight

{

m2=m1;

x2=x1;

m1=HuffNode[j].weight;

x1=j;

}

else if (HuffNode[j].parent==-1&&HuffNode[j].weight

{

m2=HuffNode[j].weight;

x2=j;

}

}

HuffNode[x1].parent=n+i;

HuffNode[x2].parent=n+i;

HuffNode[n+i].weight=HuffNode[x1].weight+HuffNode[x2].weight;

HuffNode[n+i].lchild=x1;

HuffNode[n+i].rchild=x2;

}

for(i=0;i

{

c=i;

p= HuffNode[c].parent;

while(p!=-1)

{

if(HuffNode[p].lchild ==c)

m[i]+='0';

else

m[i]+='1';

c=p;

p=HuffNode[c].parent;

}

}

}

int hc(string m)

{

int a=0;

for(int i=0;m[i]!='\0';i++)

a++;

return a;

}

void nv(string *m,int n)

{

char mn[n];

int b;

for(int i=0;i

{

b=hc(m[i]);

for(int j=0;j

{

mn[j]=m[i][b-j-1];}

m[i]=mn;

}

}

实验四.信道一、程序流程图

三、程序清单#include #include #include using namespace std; int main()

{

int ni,no;

int i,j;

cout<<"输入信源个数"<

cin>>ni;

cout<<"输出信源个数"<

cin>>no;

double *Si=new double[ni];

double *So=new double[no];

cout<<"输入信源概率"<

for (i=0;i

{

cin>>Si[i];

}

cout<

//再输入信道转移概率矩阵

//注意进行判断,某行如果总概率大于1,则出现错误应从新输入cout<<"输入转移概率:"<

float **p; //转移条件概率

p=new float *[ni];

for (i=0;i

{

p[i]=new float[no];

}

for (i=0;i

{

for (j=0;j

{

cin>>p[i][j];

}

}

for (i=0;i

{

float a=0;

for (j=0;j

{

a+=p[i][j];

}

if (a!=1.0)

{

cout<<"输入数据有误,请检查后再次输入。"<

}

}

float **pp; //后验概率

pp=new float *[ni];

for (i=0;i

{

pp[i]=new float[no];

}

float C_Pre,C; //当前信道容量和前一次循环信道容量

C=10.0;

double Pe=0.000001; //两次信道容量相差的阈值

int r=0; //迭代次数

float *p_up; //计算第r+1次循环输入分布p_in分子

p_up=new float[ni];

float p_down; //计算第r+1次循环输入分布p_in分母

do

{

r++;

//求第r次循环反条件概率p_ij

for (j=0;j

{

So[j]=0.0;

for (i=0;i

So[j]+=p[i][j]*Si[i];

if (So[j]>0)

{

for (i=0;i

pp[i][j]=Si[i]*p[i][j]/So[j]; //p(xy)/w(y),p(xy)=p(y/x)*p(x) }

else

{

for (i=0;i

pp[i][j]=0;

}

}

//求第r+1次循环输入分布p_in

p_down=0.0;

for (i=0;i

{

p_up[i]=0.0;

for (j=0;j

{

if (pp[i][j]>=0.000001)

{

p_up[i]+=p[i][j]*log(pp[i][j])/log(2.0);

}

}

p_up[i]=pow(2.0,p_up[i]);

p_down+=p_up[i];

}

for (i=0;i

{

Si[i]=p_up[i]/p_down;

}

//求C(r+1)

C_Pre=C;

C=log(p_down)/log(2.0);

cout<<"第"<

}

while (fabs(C-C_Pre)/C>Pe);

cout<<"迭代的次数为:"<

实验五.循环码一、程序流程图

二、程序清单#include #include

using namespace std;

int N;

void UX(int *g,int *c,int r,int n);

void X(int *g,int *c,int r,int n);

int main()

{

N=10;

int i,n,m,t,r;

int g[N],c[N];

cout<<"****循环码编码方法(码长n<=10)****\n"<

cout<<"\t输入码长n:"<

cin>>m;

n=m;

switch(n)//求生成多项式

{case 1 :cout<<"输入校验位r<=%d:,"<

cin>>r;

switch(r)

{case 0:g[0]=1;break;

} break;

case 2 :cout<<"输入校验位r<=%d:"<

cin>>r;

switch(r)

{case 0:g[0]=1;break;

case 1:g[0]=1;g[1]=1;break;

} break;

case 3 :cout<<"输入校验位r<=%d:"<

cin>>r;

switch(r)

{case 0:g[0]=1;break;

case 1:g[0]=1;g[1]=1;break;

case 2:g[0]=1;g[1]=1;g[2]=1;break;

} break;

case 4 :cout<<"输入校验位r<=%d:"<

cin>>r;

switch(r)

{case 0:g[0]=1;break;

case 1:g[0]=1;g[1]=1;break;

case 2:g[0]=1;g[1]=0;g[2]=1;break;

case 3:g[0]=1;g[1]=1;g[2]=1;g[3]=1;break;

} break;

case 5 :cout<<"输入校验位r<=%d:"<

cin>>r;

switch(r)

{case 0:g[0]=1;break;

case 1:g[0]=1;g[1]=1;break;

case 4:g[0]=1;g[1]=1;g[2]=1;g[3]=1;g[4]=1;break;

} break;

case 6 :cout<<"输入校验位r<=%d:"<

cin>>r;

switch(r)

{case 0:g[0]=1;break;

case 1:g[0]=1;g[1]=1;break;

case 2:g[0]=1;g[1]=1;g[2]=1;break;

case 3:g[0]=1;g[1]=0;g[2]=0;g[3]=1;break;

case 4:g[0]=1;g[1]=0;g[2]=1;g[3]=0;g[4]=1;break;

case 5:g[0]=1;g[1]=1;g[2]=1;g[3]=1;g[4]=1;g[5]=1;break;

} break;

case 7 :cout<<"输入校验位r<=%d:"<

cin>>r;

switch(r)

{case 0 :g[0]=1;break;

case 1 :g[0]=1;g[1]=1;break;

case 3 :g[0]=1;g[1]=0;g[2]=1;g[3]=1;break;

case 4 :g[0]=1;g[1]=1;g[2]=1;g[3]=0;g[4]=1;break;

case 6 :g[0]=1;g[1]=1;g[2]=1;g[3]=1;g[4]=1;g[5]=1; g[6]=1;break;

} break;

case 8 :cout<<"输入校验位r<=%d:"<

cin>>r;

switch(r)

{case 0 :g[0]=1;break;

case 1 :g[0]=1;g[1]=1;break;

case 2 :g[0]=1;g[1]=0;g[2]=1;break;

case 3 :g[0]=1;g[1]=1;g[2]=1;g[3]=1;break;

case 4 :g[0]=1;g[1]=0;g[2]=0;g[3]=0;g[4]=1;break;

case 5 :g[0]=1;g[1]=1;g[2]=0;g[3]=0;g[4]=1;g[5]=1;break;

case 6 :g[0]=1;g[1]=0;g[2]=1;g[3]=0;g[4]=1;g[5]=0; g[6]=1;break;

case 7 :g[0]=1;g[1]=1;g[2]=1;g[3]=1;g[4]=1;g[5]=1;g[6]=1; g[7]=1;break;

} break;

case 9 :cout<<"输入校验位r<=%d:"<

cin>>r;

switch(r)

{case 0 :g[0]=1;break;

case 1 :g[0]=1;g[1]=1;break;

case 2 :g[0]=1;g[1]=0;g[2]=1;break;

case 3 :g[0]=1;g[1]=0;g[2]=0;g[3]=1;break;

case 4 :g[0]=1;g[1]=0;g[2]=1;g[3]=0;g[4]=1;break;

case 5 :g[0]=1;g[1]=1;g[2]=1;g[3]=1;g[4]=1;g[5]=1;break;

case 6 :g[0]=1;g[1]=1;g[2]=0;g[3]=1;g[4]=0;g[5]=1; g[6]=1;break;

case 7 :g[0]=1;g[1]=0;g[2]=1;g[3]=1;g[4]=1;g[5]=1; g[6]=0;g[7]=1;break;

case 8 :g[0]=1;g[1]=1;g[2]=1;g[3]=1;g[4]=1;g[5]=1;g[6]=1; g[7]=1;g[8]=1;break;

} break;

case 10 :cout<<"输入校验位r<=%d:"<

cin>>r;

switch(r)

{case 0 :g[0]=1;break;

case 1 :g[0]=1;g[1]=1;break;

case 2 :g[0]=1;g[1]=0;g[2]=1;break;

// case 3 :g[0]=1;g[1]=0;g[2]=0;g[3]=1;break;

case 4 :g[0]=1;g[1]=1;g[2]=1;g[3]=1;g[4]=1;break;

case 5 :g[0]=1;g[1]=0;g[2]=0;g[3]=0;g[4]=0;g[5]=1;break;

case 6 :g[0]=1;g[1]=1;g[2]=0;g[3]=0;g[4]=0; g[5]=1;g[6]=1;break;

case 8 :g[0]=1;g[1]=0;g[2]=1;g[3]=0;g[4]=1; g[5]=0;g[6]=1;g[7]=0;g[8]=1;break;

case 9 :g[0]=1;g[1]=1;g[2]=1;g[3]=1;g[4]=1;g[5]=1; g[6]=1;g[7]=1;g[8]=1;g[9]=1;break;

} break;

}

cout<<"生成多项式系数矩阵为(幂次从低到高):\n"<

for(i=0;i<=n-1;i++)

cout<

cout<<"输入信源信息向量c(%d位):\n"<

for(i=0;i<=n-r-1;i++)

cin>>c[i];

cout<<"\t*****选择编码方式及命令*****\n"<

cout<<"\t 1:系统编码\n"<

cout<<"\t 2:非系统编码\n"<

cout<<"\t 3:退出程序!!!\n"<

cout<<"\t***************************\n"<

cin>>t;

switch(t)

{

case 1 :X(g,c,r,n);break;

case 2 :UX(g,c,r,n);break;

case 3 :cout<<"退出程序〉〉〉";exit(0);break;

}

}

void UX(int *g,int *c,int r,int n)

{

int a[N][2*N],x[N];

int i,j,k,sum=0;

//二进制乘法

信息论与编码试卷与答案

一、(11’)填空题 (1)1948年,美国数学家香农发表了题为“通信的数学理论”的长篇论文,从而创立了信息论。 (2)必然事件的自信息是 0 。 (3)离散平稳无记忆信源X的N次扩展信源的熵等于离散信源X的熵的 N倍。 (4)对于离散无记忆信源,当信源熵有最大值时,满足条件为__信源符号等概分布_。 (5)若一离散无记忆信源的信源熵H(X)等于2.5,对信源进行等长的无失真二进制编码,则编码长度至少为 3 。 (6)对于香农编码、费诺编码和霍夫曼编码,编码方法惟一的是香农编码。(7)已知某线性分组码的最小汉明距离为3,那么这组码最多能检测出_2_______个码元错误,最多能纠正___1__个码元错误。 (8)设有一离散无记忆平稳信道,其信道容量为C,只要待传送的信息传输率R__小于___C(大于、小于或者等于),则存在一种编码,当输入序列长度n足够大,使译码错误概率任意小。(9)平均错误概率不仅与信道本身的统计特性有关,还与___译码规则____________和___编码方法___有关 三、(5')居住在某地区的女孩中有25%是大学生,在女大学生中有75%是身高1.6米以上的,而女孩中身高1.6米以上的占总数的一半。 假如我们得知“身高1.6米以上的某女孩是大学生”的消息,问获得多少信息量? 解:设A表示“大学生”这一事件,B表示“身高1.60以上”这一事件,则 P(A)=0.25 p(B)=0.5 p(B|A)=0.75 (2分) 故 p(A|B)=p(AB)/p(B)=p(A)p(B|A)/p(B)=0.75*0.25/0.5=0.375 (2分) I(A|B)=-log0.375=1.42bit (1分) 四、(5')证明:平均互信息量同信息熵之间满足 I(X;Y)=H(X)+H(Y)-H(XY) 证明:

嵌入式实验报告二

实习二建立交叉编译环境 实习内容: 本次实验主要包括二部分内容:开发环境配置,主要有配置NFS,Samba和超级终端;编写编译程序。 1、配置NFS(实现宿主机和目标机的信息共享) 打开Linux虚拟机,点击主菜单运行系统设置->服务器设置->NFS 服务器,点击增加,在出现的界面中的目录中填入需要共享的路径,在主机中填入允许进行连接的主机的IP地址(注意:这里主机IP指的是开发板的IP)。并选择允许客户对共享目录的操作为只读或读写(注意:实验中选的是读写,一定不能忽略),如下图: 对客户端存取服务器的一些其他设置,一般不需要设置,取默认值。然后退出,完成了NFS配置。 2、配置Samba(实现Windows和Linux系统的文件共享) ①关闭防火墙,这个地方和上面的NFS的配置是一样的。 ②配置Samba服务器 选择“系统设置”—>“服务器配置”—>“Samba服务”,进行Samba 服务器配置。首先创建Samba共享,选择“基本”选项卡,在“目录”

的文本框中输入要共享的文件,基本权限设为读/写。在“访问”选项卡中选择“允许所有用户访问”选项,通过“首选项”进行服务器配置。在“基本”选项卡中设置工作组和描述,在“安全性”选项卡中设置“验证模式”为共享,“加密口令”为否,“来宾账号”为无来宾账号。 ③设置Samba服务器IP地址(与前面的NFS的设置相同) ④启动Samba服务器 在命令行中输入service smb start,即可启动Samba服务器。 ⑤配置Windows下的IP地址 将Windows下的IP地址和Samba服务器IP地址设置在同一网段中即可(注意:这里设置IP时一定要注意在同一网段) ⑥在Windows下访问共享 在Windows中的“运行”窗口中输入Samba服务器的IP地址,就可以看见在虚拟机中共享的文件。 3、配置超级终端 ①在linux操作系统Xwindow界面下建立终端,在终端的命令行提示符后输入minicom,回车,然后就会看见minicom的启动画面,若没有启动Xwindow则在命令行提示符后直接输入minicom即可。 ② minicom启动后,先按Ctrl+A键,然后按Z键进入主配置界面,按“O”进入配置界面,按上下键选择Serial port setup,进入端口设置界面,然后按照指导书中的指示修改几个重要选项。 ③选好后按ESC键退出端口设计界面,选择Save setup as df1保存

信息论与编码实验指导书

《信息论与编码》实验指导书 信息与通信工程学院信息工程系 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

信息论与编码试卷及答案(多篇)

一、概念简答题(每题5分,共40分) 1.什么是平均自信息量与平均互信息,比较一下这两个概念的异同? 答:平均自信息为 表示信源的平均不确定度,也表示平均每个信源消息所提供的信息量。 平均互信息 表示从Y获得的关于每个X的平均信息量,也表示发X前后Y的平均不确定性减少的量,还表示通信前后整个系统不确定性减少的量。 2.简述最大离散熵定理。对于一个有m个符号的离散信源,其最大熵是多少? 答:最大离散熵定理为:离散无记忆信源,等概率分布时熵最大。 最大熵值为。 3.解释信息传输率、信道容量、最佳输入分布的概念,说明平均互信息与信源的概率分布、信道的传递概率间分别是什么关系? 答:信息传输率R指信道中平均每个符号所能传送的信息量。信道容量是一个信道所能达到的最大信息传输率。信息传输率达到信道容量时所对应的输入概率分布称为最佳输入概率分布。 平均互信息是信源概率分布的∩型凸函数,是信道传递概率的U型凸函数。 4.对于一个一般的通信系统,试给出其系统模型框图,并结合此图,解释数据处理定理。 答:通信系统模型如下:

数据处理定理为:串联信道的输入输出X、Y、Z组成一个马尔可夫链,且有, 。说明经数据处理后,一般只会增加信息的损失。 5.写出香农公式,并说明其物理意义。当信道带宽为5000Hz,信噪比为30dB时求信道容量。 .答:香农公式为,它是高斯加性白噪声信道在单位时间内的信道容量,其值取决于信噪比和带宽。 由得,则 6.解释无失真变长信源编码定理。 .答:只要,当N足够长时,一定存在一种无失真编码。 7.解释有噪信道编码定理。 答:当R<C时,只要码长足够长,一定能找到一种编码方法和译码规则,使译码错误概率无穷小。 8.什么是保真度准则?对二元信源,其失真矩阵,求a>0时率失真函数的和? 答:1)保真度准则为:平均失真度不大于允许的失真度。 2)因为失真矩阵中每行都有一个0,所以有,而。 二、综合题(每题10分,共60分) 1.黑白气象传真图的消息只有黑色和白色两种,求:

《信息论与编码》教学大纲

《信息论与编码》教学大纲 一课程简介 课程编号:04254002 课程名称:信息论与编码Informatics & Coding 课程类型:基础课必修课 学时:32 学分:2 开课学期:第六学期 开课对象:通信、电子专业 先修课程:概率论与数理统计、信号与系统、随机信号原理。 参考教材:信息论与编码,陈运,周亮,陈新,电子工业出版社,2002年8月 二课程性质、目的与任务 信息论在理论上指出了建立最佳编码、最佳调制和最佳接收方法的最佳系统的理论原则,它对通信体制和通信系统的研究具有指导意义。提高信息传输的可靠性和有效性始终是通信工作所追求的目标。因此,信息论与编码是从事通信、电子系统工程的有关工程技术人员都必须掌握的基本理论知识。 内容提要:本课程包括狭义相对论和提高通信可靠性的差错控制编码理论。信息论所研究的主要问题是在通信系统设计中如何实现有效性和可靠性。 三教学基本内容与基本要求 本课程总学时为32。其中理论教学为28,实验学时为4。 主要的理论教学内容包括:离散信源和连续信源的熵、条件熵、联合熵和平均互信息量的概念及性质;峰值功率受限和平均功率受限下的最大熵定理和连续信源熵的变换;变长码的霍夫曼编码方法,熟悉编码效率和平均码长的计算;最大后验概率准则和最大似然译码准则等。 实验内容主要包括:离散无记忆信道容量的迭代算法,循环码的编译码。 四教学内容与学时分配 第3章离散信源无失真编码

第6章网络信息论 (教学要求:A—熟练掌握;B—掌握;C—了解) 五实习、实验项目及学时分配 1.离散无记忆信道容量的迭代算法2学时 要求用Matlab编写计算离散信道容量的实用程序并调试成功,加深对信道容量的理解。 2.循环码的编译码2学时 要求用Matlab编写程序,用软件完成循环码的编译码算法。 六教学方法与手段 常规教学与多媒体教学相结合。

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

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

年月日 目录 实验一信源熵值的计算 (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]);

嵌入式实验报告

嵌入式技术 实验报告 系别:计算机与科学技术系 班级:计12-1班 姓名:刘杰 学号:12101020128 总成绩: 评语: 日期:

2.在弹出的对话框中依次选择“cedevice emulator emulator kdstub”。 3.选择“Build OS”菜单的“sysgen”开始构建平台。 1.1.4连接,下载和运行平台 1.选择“Target”菜单下的“Connection option”菜单项。 2.在新的对话框中,配置连接关系 3.选择“Target”菜单下的“attach”菜单项,开始下载。 ?实验结果 操作系统定制成功,能正常运行。 ?结果截图 ?问题总结 由于对实验平台了解不够,致使操作过程中添加和删除组件时不知道该如何下手,影响整个实验进度。 实验1.2: 1.打开Platform Builder,并且打开实验1的工程,在实验1的工程基础上做本实验。

进程显示 IE信息查看

报文监测 实验1.3使用Platform Builder开发应用程序 简单实验步骤 1.打开Platform Builder。 2.选择“File”菜单下的“Open Workspace…”,然后打开实验1中创建的平台,本实验要基于 上面的实验的基础上做。 3.选择“File”菜单下的“New Project or File…”,打开“New Project or File”对话框。 4.在“Projects”选项页中选择“WCE Application”;在“Project Name”中输入项目的名字,例 如“MyApp”。 5.在“New Project Wizard – step 1 of 1”中选择“A typical Hello World Application”,点击“Finish” 按钮。 6.选择“Build”菜单中的“Build MyApp.exe”来编译应用程序。

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

《信息论与信源编码》实验报告 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:

信息论与编码期中试卷及答案

信息论与编码期中试题答案 一、(10’)填空题 (1)1948年,美国数学家香农发表了题为“通信的数学理论”的长篇论文,从而创立了信息论。 (2)必然事件的自信息是0 。 (3)离散平稳无记忆信源X的N次扩展信源的熵等于离散信源X的熵的N倍。 (4)对于离散无记忆信源,当信源熵有最大值时,满足条件为__信源符号等概分布_。 (5)若一离散无记忆信源的信源熵H(X)等于2.5,对信源进行等长的无失真二进制编码,则编码长度至少为 3 。 二、(10?)判断题 (1)信息就是一种消息。(? ) (2)信息论研究的主要问题是在通信系统设计中如何实现信息传输、存储和处理的有效性和可靠性。(? ) (3)概率大的事件自信息量大。(? ) (4)互信息量可正、可负亦可为零。(? ) (5)信源剩余度用来衡量信源的相关性程度,信源剩余度大说明信源符号间的依赖关系较小。 (? ) (6)对于固定的信源分布,平均互信息量是信道传递概率的下凸函数。(? ) (7)非奇异码一定是唯一可译码,唯一可译码不一定是非奇异码。(? ) (8)信源变长编码的核心问题是寻找紧致码(或最佳码)。 (? ) (9)信息率失真函数R(D)是关于平均失真度D的上凸函数. ( ? ) 三、(10?)居住在某地区的女孩中有25%是大学生,在女大学生中有75%是身高1.6米以上的,而女孩中身高1.6米以上的占总数的一半。 假如我们得知“身高1.6米以上的某女孩是大学生”的消息,问获得多少信息量? 解:设A表示“大学生”这一事件,B表示“身高1.60以上”这一事件,则 P(A)=0.25 p(B)=0.5 p(B|A)=0.75 (5分) 故p(A|B)=p(AB)/p(B)=p(A)p(B|A)/p(B)=0.75*0.25/0.5=0.375 (4分) I(A|B)=-log0.375=1.42bit (1分)

嵌入式实验报告二work2.

实验报告 课程名称嵌入式系统编程实践 实验仪器清华同方辰源嵌入式系统实验箱 实验名称实验二:利用中断实现OLED动态显示实验 系别__计算机学院_ 专业___ __ 班级/学号_ 学生姓名___ __ ___ _ _ 实验日期_ 2013年9月22日 成绩___________________ 指导教师_ _ 朱敏玲 ___

实验二:利用中断实现OLED动态显示实验 一、实验问题回答 (1)ISR是什么?简述一下中断的作用和使用方法 答:ISR是中断服务程序。作用是通过处理器执行事先编好的某个特定的程序。使用方法就是在main中写一个中断程序,然后在startup.s中进行注册。 (2)嵌入式系统中有哪些应用有定时性循环处理的要求?举几个例子答:在各种网络的应用中,设计的一些部件,如计数器,时钟等。 (3)定时时间间隔如何修改? 答:通过改变SysTickPeriodSet(SysCtlClockGet()/100)后面的100这个参数。(4)选作内容5-8的编程思路是什么?若做的话应该怎样实现? 答:编程思路:先画直线和竖线,组成一个正方形,将各个参数填写到函数RIT128x96x4ImageDraw(buf,,,,);第6个选作:判断画的原点x,原点y,和画原点x+的长,画原点y+画宽的值要在0-128和0-96。第7个选作:把RIT128x96x4StringDraw("hello",,,);就是把画的灰度定义为一个变量x。最后就会出现由不同的亮度而形成的波浪。第8个就是利用随机函数产生画的原点,随机的在屏幕上进行显示。 (5)拖影现象如何解决?计数值显示为什么没有拖影? 答:在程序结束后执行清屏语句:计数显示是每次重新赋值,所以不会出现拖影。 二、实验目的和效果(效果即是否达到实验目的,达到的程度如何) (1)深入学习、理解、掌握OLED字符显示方法 (2)深入学习、理解、掌握OLED图形显示方法 (3)学习、理解、掌握中断使用方法 实验效果图: 三、实验内容和步骤(重点阐述自己的思路及遇到的问题)

香农编码实验报告

中南大学 《信息论与编码》实验报告 题目信源编码实验 指导教师 学院 专业班级 姓名 学号 日期

目录 一、香农编码 (3) 实验目的 (3) 实验要求 (3) 编码算法 (3) 调试过程 (3) 参考代码 (4) 调试验证 (7) 实验总结 (7) 二、哈夫曼编码 (8) 实验目的 (8) 实验原理 (8) 数据记录 (9) 实验心得 (10)

一、香农编码 1、实验目的 (1)进一步熟悉Shannon 编码算法; (2)掌握C 语言程序设计和调试过程中数值的进制转换、数值与字符串之间 的转换等技术。 2、实验要求 (1)输入:信源符号个数q 、信源的概率分布p ; (2)输出:每个信源符号对应的Shannon 编码的码字。 3、Shannon 编码算法 1:procedure SHANNON(q,{Pi }) 2: 降序排列{Pi } 3: for i=1 q do 4: F(i s ) 5:i l 2 []log 1/()i p s 6:将累加概率F(i s )(十进制小数)变换成二进制小数。 7:取小数点后i l 个二进制数字作为第i 个消息的码字。 8:end for 9:end procedure ------------------------------------------------------------------------------------------------------------------ 4、调试过程 1、fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory fatal error C1083: Cannot open include file: 'values.h': No such file or directory 原因:unistd.h 和values.h 是Unix 操作系统下所使用的头文件 纠错:删去即可 2、error C2144: syntax error : missing ')' before type 'int' error C2064: term does not evaluate to a function 原因:l_i(int *)calloc(n,sizeof(int)); l_i 后缺少赋值符号使之不能通过编译 纠错:添加上赋值符号 1 1 ()i k k p s -=∑

信息论与编码实验报告

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

信息论与编码试题集与答案

一填空题(本题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、离散平稳有记忆信源的极限熵,。 19、对于n元m阶马尔可夫信源,其状态空间共有 nm 个不同的状态。 20、一维连续随即变量X在[a,b]区间内均匀分布时,其信源熵为 log2(b-a)。

嵌入式系统实验报告

实验报告 课程名称:嵌入式系统 学院:信息工程 专业:电子信息工程 班级: 学生姓名: 学号: 指导教师: 开课时间:学年第一学期

实验名称:IO接口(跑马灯) 实验时间:11.16 实验成绩: 一、实验目的 1.掌握 STM32F4 基本IO口的使用。 2.使用STM32F4 IO口的推挽输出功能,利用GPIO_Set函数来设置完成对 IO 口的配置。 3.控制STM32F4的IO口输出,实现控制ALIENTEK 探索者STM32F4开发板上的两个LED实现一个类似跑马灯的效果。 二、实验原理 本次实验的关键在于如何控制STM32F4的IO口输出。IO主要由:MODER、OTYPER、OSPEEDR、PUPDR、ODR、IDR、AFRH和AFRL等8个寄存器的控制,并且本次实验主要用到IO口的推挽输出功能,利用GPIO_Set函数来设置,即可完成对IO口的配置。所以可以通过了开发板上的两个LED灯来实现一个类似跑马灯的效果。 三、实验资源 实验器材: 探索者STM32F4开发板 硬件资源: 1.DS0(连接在PF9) 2.DS1(连接在PF10) 四、实验内容及步骤 1.硬件设计 2.软件设计 (1)新建TEST工程,在该工程文件夹下面新建一个 HARDWARE文件夹,用来存储以后与硬件相关的代码。然后在 HARDWARE 文件夹下新建一个LED文件夹,用来存放与LED相关的代码。 (2)打开USER文件夹下的test.uvproj工程,新建一个文件,然后保存在 LED 文件夹下面,保存为 led.c,在led.c中输入相应的代码。

(3)采用 GPIO_Set 函数实现IO配置。LED_Init 调用 GPIO_Set 函数完成对 PF9 和 PF10 ALIENTEK 探索者 STM32F407 开发板教程 119 STM32F4 开发指南(寄存器版) 的模式配置,控制 LED0 和 LED1 输出 1(LED 灭),使两个 LED 的初始化。 (4)新建一个led.h文件,保存在 LED 文件夹下,在led.h中输入相应的代码。 3.下载验证 使用 flymcu 下载(也可以通过JLINK等仿真器下载),如图 1.2所示: 图1.2 运行结果如图1.3所示:

信息论与编码(第二版)曹雪虹(最全版本)答案

《信息论与编码(第二版)》曹雪虹答案 第二章 2.1一个马尔可夫信源有3个符号{}1,23,u u u ,转移概率为:()11|1/2p u u =,()21|1/2p u u =, ()31|0p u u =,()12|1/3p u u =,()22|0p u u =,()32|2/3p u u =,()13|1/3p u u =,()23|2/3p u u =,()33|0p u u =,画出状态图并求出各符号稳态概率。 解:状态图如下 状态转移矩阵为: 1/21/2 01/302/31/32/30p ?? ?= ? ??? 设状态u 1,u 2,u 3稳定后的概率分别为W 1,W 2、W 3 由1231WP W W W W =??++=?得1231132231231 112331223231W W W W W W W W W W W W ?++=???+=???=???++=? 计算可得1231025925625W W W ?=??? =? ? ?=?? 2.2 由符号集{0,1}组成的二阶马尔可夫链,其转移概率为:(0|00)p =0.8,(0|11)p =0.2, (1|00)p =0.2,(1|11)p =0.8,(0|01)p =0.5,(0|10)p =0.5,(1|01)p =0.5,(1|10)p =0.5。画出 状态图,并计算各状态的稳态概率。 解:(0|00)(00|00)0.8p p == (0|01)(10|01)0.5p p == (0|11)(10|11)0.2p p == (0|10)(00|10)0.5p p == (1|00)(01|00)0.2p p == (1|01)(11|01)0.5p p == (1|11)(11|11)0.8p p == (1|10)(01|10)0.5p p ==

嵌入式实验报告

目录 实验一跑马灯实验 (1) 实验二按键输入实验 (3) 实验三串口实验 (5) 实验四外部中断实验 (8) 实验五独立看门狗实验 (11) 实验七定时器中断实验 (13) 实验十三ADC实验 (15) 实验十五DMA实验 (17) 实验十六I2C实验 (21) 实验十七SPI实验 (24) 实验二十一红外遥控实验 (27) 实验二十二DS18B20实验 (30)

实验一跑马灯实验 一.实验简介 我的第一个实验,跑马灯实验。 二.实验目的 掌握STM32开发环境,掌握从无到有的构建工程。 三.实验内容 熟悉MDK KEIL开发环境,构建基于固件库的工程,编写代码实现跑马灯工程。通过ISP 下载代码到实验板,查看运行结果。使用JLINK下载代码到目标板,查看运行结果,使用JLINK在线调试。 四.实验设备 硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK。 软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件。 五.实验步骤 1.熟悉MDK KEIL开发环境 2.熟悉串口编程软件ISP 3.查看固件库结构和文件 4.建立工程目录,复制库文件 5.建立和配置工程

6.编写代码 7.编译代码 8.使用ISP下载到实验板 9.测试运行结果 10.使用JLINK下载到实验板 11.单步调试 12.记录实验过程,撰写实验报告 六.实验结果及测试 源代码: 两个灯LED0与LED1实现交替闪烁的类跑马灯效果,每300ms闪烁一次。七.实验总结 通过本次次实验我了解了STM32开发板的基本使用,初次接触这个开发板和MDK KEILC 软件,对软件操作不太了解,通过这次实验了解并熟练地使用MDK KEIL软件,用这个软件来编程和完成一些功能的实现。作为STM32 的入门第一个例子,详细介绍了STM32 的IO口操作,同时巩固了前面的学习,并进一步介绍了MDK的软件仿真功能。

信息论与编码实验报告

信息论与编码实验报告-标准化文件发布号:(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 次称量中达到

信息理论与编码期末试卷A及答案

一、填空题(每空1分,共35分) 1、1948年,美国数学家 发表了题为“通信的数学理论”的长篇论文,从而创立了信息论。信息论的基础理论是 ,它属于狭义信息论。 2、信号是 的载体,消息是 的载体。 3、某信源有五种符号}{,,,,a b c d e ,先验概率分别为5.0=a P ,25.0=b P ,125.0=c P ,0625.0==e d P P ,则符号“a ”的自信息量为 bit ,此信源的熵为 bit/符号。 4、某离散无记忆信源X ,其概率空间和重量空间分别为1 234 0.50.250.1250.125X x x x x P ????=??? ?????和1234 0.5122X x x x x w ???? =??????? ? ,则其信源熵和加权熵分别为 和 。 5、信源的剩余度主要来自两个方面,一是 ,二是 。 6、平均互信息量与信息熵、联合熵的关系是 。 7、信道的输出仅与信道当前输入有关,而与过去输入无关的信道称为 信道。 8、马尔可夫信源需要满足两个条件:一、 ; 二、 。 9、若某信道矩阵为????? ????? ??01000 1 000001 100,则该信道的信道容量C=__________。 10、根据是否允许失真,信源编码可分为 和 。 11、信源编码的概率匹配原则是:概率大的信源符号用 ,概率小的信源符号用 。(填 短码或长码) 12、在现代通信系统中,信源编码主要用于解决信息传输中的 性,信道编码主要用于解决信息传输中的 性,保密密编码主要用于解决信息传输中的安全性。 13、差错控制的基本方式大致可以分为 、 和混合纠错。 14、某线性分组码的最小汉明距dmin=4,则该码最多能检测出 个随机错,最多能纠正 个随机错。 15、码字101111101、011111101、100111001之间的最小汉明距离为 。 16、对于密码系统安全性的评价,通常分为 和 两种标准。 17、单密钥体制是指 。 18、现代数据加密体制主要分为 和 两种体制。 19、评价密码体制安全性有不同的途径,包括无条件安全性、 和 。 20、时间戳根据产生方式的不同分为两类:即 和 。 二、选择题(每小题1分,共10分) 1、下列不属于消息的是( )。 A. 文字 B. 信号 C. 图像 D. 语言 2、设有一个无记忆信源发出符号A 和B ,已知4341)(,)(==B p A p ,发出二重符号序列消息的信源, 无记忆信源熵)(2X H 为( )。 A. 0.81bit/二重符号 B. 1.62bit/二重符号 C. 0.93 bit/二重符号 D . 1.86 bit/二重符号 3、 同时扔两个正常的骰子,即各面呈现的概率都是1/6,若点数之和为12,则得到的自信息为( )。 A. -log36bit B. log36bit C. -log (11/36)bit D. log (11/36)bit 4、 二进制通信系统使用符号0和1,由于存在失真,传输时会产生误码,用符号表示下列事件,x0: 发出一个0 、 x1: 发出一个1、 y0 : 收到一个0、 y1: 收到一个1 ,则已知收到的符号,被告知发出的符号能得到的信息量是( )。 A. H(X/Y) B. H(Y/X) C. H( X, Y) D. H(XY) 5、一个随即变量x 的概率密度函数P(x)= x /2,V 20≤≤x ,则信源的相对熵为( )。 A . 0.5bit B. 0.72bit C. 1bit D. 1.44bit 6、 下面哪一项不属于熵的性质: ( ) A .非负性 B .完备性 C .对称性 D .确定性 信息论与编码 信息论与编码

相关文档
最新文档