信息论与编码基础知识点2015下 本文关键词:信息论,知识点,编码,基础
信息论与编码基础知识点2015下 本文简介:信息论与编码基础知识点(仅供复习参考,不作为出卷依据)1.当代文明的三大科学支柱2.信息论发展的过程3.信息论的奠基人,代表作?4.信息理论中度量信息的基本观点5.一个通信系统中常用的编码有哪些?其目标是什么?6.信源符号自信息量的含义与计算7.信源符号间互信息量与平均互信息量的三个含义(对应公式)
信息论与编码基础知识点2015下 本文内容:
信息论与编码基础知识点
(仅供复习参考,不作为出卷依据)
1.
当代文明的三大科学支柱
2.
信息论发展的过程
3.
信息论的奠基人,代表作?
4.
信息理论中度量信息的基本观点
5.
一个通信系统中常用的编码有哪些?其目标是什么?
6.
信源符号自信息量的含义与计算
7.
信源符号间互信息量与平均互信息量的三个含义(对应公式)
8.
信源熵的三种物理含义。
9.
离散信源的联合熵、条件熵、平均互信息量的含义及相互之间的关系。
10.
平均互信息量的三种物理含义、性质及相应的公式,与信道容量、信息率失真函数的关系
11.
信源的平稳性和无记忆性的含义
12.
离散无记忆信源的信源熵、N次扩展的信源熵计算。
13.
N阶马尔科夫信源的定义
14.
低阶(1、2)马尔科夫信源的状态转移图、各状态的稳态分布概率(状态极限概率)、极限熵H∞=Hn+1
15.
信道容量的含义
16.
常见信道(无噪信道、强对称、对称、准对称)容量的计算,达到信道容量时对应信源的概率分布情况。
17.
二进制香农编码、费诺编码、哈夫曼编码方法及步骤,其编码效率的计算
18.
信息率失真函数的含义
19.
Dmax的含义
20.
二、三元离散信源的Rmax
Rmin
Dmin、Dmax计算,及等概率信源分布信息率失真函数R(D)的计算
21.
在信道编码中检错与纠错的含意是什么?
22.
最小码距?最小码距与检错、纠错的能力关系
理解相关基本概念(定理、性质)多练习课后习题(作业和讲解)
篇2:信息论与编码技术之实验
信息论与编码技术之实验 本文关键词:信息论,编码,实验,技术
信息论与编码技术之实验 本文简介:前两个是别人的,后两个是自己的,学术交流,抛砖引玉。信息论与编码实验报告样板实验室名称:S1-306实验一二维随机变量信息熵的计算教学实验报告[实验目的]掌握二变量多种信息量的计算方法。[实验要求]1.熟悉二变量多种信息量的计算方法,设计实验的数据结构和算法;2.编写计算二维随机变量信息量的书面程序
信息论与编码技术之实验 本文内容:
前两个是别人的,后两个是自己的,学术交流,抛砖引玉。
信息论与编码
实验报告样板
实验室名称:S1-306
实验一
二维随机变量信息熵的计算
教学实验报告
[实验目的]
掌握二变量多种信息量的计算方法。
[实验要求]
1.熟悉二变量多种信息量的计算方法,设计实验的数据结构和算法;
2.编写计算二维随机变量信息量的书面程序代码。
[实验内容]
离散二维随机变换熵的计算
说明:
(1)利用random函数和归一化方法构造一个二维离散随机变量(X,Y);
(2)分别计算X与Y的熵、联合熵、条件熵:H(X)、H(Y)、H(X,Y)H(X|Y)、I(X|Y);
(3)对测试通过的程序进行规范和优化;
(4)编写本次实验的实验报告。
[实验步骤]
实验过程中涉及的各种熵的主要公式(或定义式):
1、离散信源熵(平均不确定度/平均信息量/平均自信息量)
2、在给定某个yj条件下,xi的条件自信息量为I(xi/yj),X
集合的条件熵H(X/yj)为
相应地,在给定X(即各个xi)的条件下,Y集合的条件熵H(Y/X)定义为:
3、联合熵是联合符号集合
XY上的每个元素对xiyj的自信息量的概率加权统计平均值,表示X和Y同时发生的不确定度。
[实验体会]
通过本次实验,掌握了离散信源熵、条件熵、联合熵的概念和它们与信源统计分布或条件分布、联合分布之间的关系,并能进行计算。进一步加深了对各种信息熵的物理意义的理解。
附:计算信源熵、联合熵和条件熵的程序代码清单:(可写入实验报告也可不写入)
#include
#include
#include
#include
#include
using
namespace
std;
void
main()
{
int
k,n,t=0;
double
a[4][4],b=0,c=0;
srand((unsigned)time(NULL));
for(k=0;kn;
c=new
string[n];
aa(n);
huffman(a,c,n);
cout(p+right)
);
{
tmp
=(p+right);(p+right)
=(p+left);(p+left)
=
tmp;
}
while(
m_flag
<
p[left])
{
left++;
}
if(m_flag
<
p[left])
{
tmp
=(p+right);(p+right)
=(p+left);(p+left)
=
tmp;
}
}(p+left)
=
m_flag;
return
left;
}
void
myQuickSort(doublep,int
left,int
right)
{
int
mid;
if(left { mid = mySortBase(p,left,right); myQuickSort(p,left,mid-1); myQuickSort(p,mid+1,right); } } (4) main #include #include “myQuickSort.h“#include “myRand.h“#include “myLength.h“#define N 7 int main() { double p[N] = {0.20,0.19,0.18,0.17,0.15,0.10,0.01}; double q[N]; int i,j; int k; //编码 长度 double b_c; // 二 进制 数 // 生成 随机数 puts(“Rand:/n“); myRand(p,N); for(i=0; i i++) { printf(“%4.2lf/t“,p[i]); } puts(“/n“); // 排序 puts(“Sort:/n“); myQuickSort(p,0,N-1); for(i=0; i i++) { printf(“%4.2lf/t“,p[i]); } puts(“/n“); //累加 概率 puts(“Q:“); q[0] = 0; for(i=1; i i++) { q[i] = q[i-1] + p[i-1]; } for(i=0; i i++) { printf(“%4.2lf/t“,q[i]); } puts(“/n“); //输出 编码 for(i=0; i i++) { printf(“P[%d]: %4.2lf/t“,i+1,p[i]); printf(“Q[%d]: %4.2lf/t“,i+1,q[i]); k = myLength(p[i]); b_c = 2*q[i]; for(j=0; j= 1) { putchar( 1 ); b_c -= 1; } else { putchar( 0 ); } b_c= 2; } puts(“/n“); } return 0; }