信息电子学院实验指导书格式信息论.docx

上传人:b****4 文档编号:13899005 上传时间:2023-06-19 格式:DOCX 页数:14 大小:126.95KB
下载 相关 举报
信息电子学院实验指导书格式信息论.docx_第1页
第1页 / 共14页
信息电子学院实验指导书格式信息论.docx_第2页
第2页 / 共14页
信息电子学院实验指导书格式信息论.docx_第3页
第3页 / 共14页
信息电子学院实验指导书格式信息论.docx_第4页
第4页 / 共14页
信息电子学院实验指导书格式信息论.docx_第5页
第5页 / 共14页
信息电子学院实验指导书格式信息论.docx_第6页
第6页 / 共14页
信息电子学院实验指导书格式信息论.docx_第7页
第7页 / 共14页
信息电子学院实验指导书格式信息论.docx_第8页
第8页 / 共14页
信息电子学院实验指导书格式信息论.docx_第9页
第9页 / 共14页
信息电子学院实验指导书格式信息论.docx_第10页
第10页 / 共14页
信息电子学院实验指导书格式信息论.docx_第11页
第11页 / 共14页
信息电子学院实验指导书格式信息论.docx_第12页
第12页 / 共14页
信息电子学院实验指导书格式信息论.docx_第13页
第13页 / 共14页
信息电子学院实验指导书格式信息论.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

信息电子学院实验指导书格式信息论.docx

《信息电子学院实验指导书格式信息论.docx》由会员分享,可在线阅读,更多相关《信息电子学院实验指导书格式信息论.docx(14页珍藏版)》请在冰点文库上搜索。

信息电子学院实验指导书格式信息论.docx

信息电子学院实验指导书格式信息论

《—信息论基础—》

实验指导书

童基均编写

适用专业:

通信工程

浙江理工大学信息电子学院

二○○八年三月

前言

信息论是现代通信与信息工程的理论基础.作为电子信息科学与技术专业本科生的学科基础课,本课程主要讲授:

信息的定义和测度、信源和信息熵、连续熵和信息变差、信道和互信息、平均互信息和信道容量、数据处理和信息测量理论、无失真信源编码理论和编码方法等内容.

本课程按“单符号离散信息系统”、“多符号离散信息系统”、“连续信息系统”三个“系统”层面,逐步深入展开,以严密的数学分析贯串始终.通过教学,使学生掌握信息理论的基本概念和信息分析方法,为今后进一步研究信息科学和信息技术打下坚实的理论基础.

实验一:

离散信道容量的迭代计算

实验学时:

3

实验类型:

(演示、验证、综合、√设计、研究)

实验要求:

(√必修、选修)

一、实验目的

通过本实验的学习,理解和掌握信道容量的概念和物理意义;了解信道容量的计算方法尤其是迭代计法;采用计算机编程实现迭代算法.

二、实验内容

信道容量的概念和物理意义;

信道容量的计算方法;

采用计算机编程实现信道容量的计算

三、实验原理、方法和手段

1.离散信道的物理模型为:

信道容量定义为平均互信息的最大值:

.

2.信道容量表征了一个信道传送信息的最大能力,实际中传送的信息量小于信道容量,否则传送过程中出现错误.

3.由信道容量的定义可知,I(X,Y)的值由信道的传送概率决定的,因而信道的传递概率决定了信道的信道容量.给定了信道的传递概率,可以通过推导方法求得信道的信道容量,一般可以求出传递效率达到信道容量时候的输入信号的分布,但是这种方法不方便计算机实现.

4.迭代法,便于计算机实现:

迭代法分成三个模块,一个迭代计算反向实验信道

,另一个迭代计算

,第三个检查一次迭代前后信道容量误差的变化是否小于检测值ε(可取0.0001),如果小于检测值则停止计算,输出结果.

信道容量的迭代计算具体如下:

求信道容量C就是在Pi的约束下,求I(X;Y)的极大值.为计算方便,重写下I(X;Y)式,公式中的对数取自然数.

(1)

首先引入反条件概率,即

(2)

(3)

迭代算法的要点是,当信道固定(即

固定)时,把I(X;Y)看成是pi和qji的函数,用公式(3)进行信道容量计算的迭代.每一次迭代有两步组成:

(a)将

固定,在约束

的条件下变动

,得到I(X;Y)的极大值,记为

;此时

满足

(2)式,重写为:

(4)

(b)(b)将

固定,在约束

的条件下变动

,得到I(X;Y)的极大值,记为

;此时

满足:

(5)

(4)与(5)是迭代的基本公式.先取一组

(n=1)的初始值,通常选取均匀分布,由(4)计算

,再将此值代入(5)计算

,依此反复计算下去.每次迭代都要利用(3)计算I(X;Y)的值.可以设置门限值,当相临的两次计算值I(X;Y)小于门限值时,就结束迭代过程,此时I(X;Y)的值就是信道容量C.

可以采用下述方法,避免计算反向条件概率,使算法简化:

将(4)代入(5)得

(6)

其中

(7)

将(6)(5)代入(3),得

(8)

现将算法归纳如下:

设信道输入输出符号集的大小分别为r,s,且ε为一个小的正数.且初始概率分布为均匀分布,即设pi=1/r

1)计算

2)计算

3)计算

4)计算

5)若(IU-IL)<ε,转到6),

否则

返回1)

6)输出信道容量的值C=IL(比特/符号)

四、实验数据源

1.P(a1)=p(a2)=0.5

2.P(a1)=p(a2)=0.5

五、实验组织运行要求

以学生自主训练为主的开放模式组织教学

六、实验条件

(1)微机

(2)MATLAB编程工具

七、实验报告

实验预习:

离散信道容量的定义以及信道容量的迭代计算方法

实验记录:

通过迭代算法计算能够得到的信道容量的结果

实验报告

#include 

  using namespace std;

   

  #define FLOAT_MINUS_PRECISION 0.00001

  typedef vector VEC_PFLOAT;

   

  //迭代计算信道容量,参数值为信源,信宿符号个数和信道转移概率矩阵,返回信道容量< /pre> 

  float GetCapacity(int nSourceSymbol,int nHostSymbol,const VEC_PFLOAT& vTransMatrix)

  {

  //信道容量初始化为最小值

  float fCapacity = FLT_MIN;

  //信源概率分布

  float *pfSoureProb = new float[nSourceSymbol];

  //初始化信源分布为均匀分布

  int i;

  for (i = 0; i < nSourceSymbol; i++)

  {

  pfSoureProb[i] = 1.0 / nSourceSymbol;

  }

  //初始化φ函数

  VEC_PFLOAT vPhi;

  for (i = 0; i < nSourceSymbol; i++)

  {

  float *pfTemp = new float[nHostSymbol]; 

  vPhi.push_back(pfTemp);

  }

  //设置精度;

  const float cfDelta = 0.02f;

  float fPrecision;

  //迭代计算

  int j,k;

  float *pfSum = new float[nSourceSymbol];

  do 

  {

  for (i = 0; i < nSourceSymbol; i++)

  {

  for (j = 0; j < nHostSymbol; j++)

  { 

  //计算ΣPi*Pji

  float fSum = 0.0f;

  for (k = 0; k < nSourceSymbol; k++)

  {

  fSum += pfSoureProb[i] * vTransMatrix[k][i];

  }

  vPhi[i][j] = pfSoureProb[i] * vTransMatrix[j][i] / fSum;

  } 

  }

  float fSumDeno = 0.0f; //分母求和 

  for (i = 0; i < nSourceSymbol; i++)

  { 

  float fSum = 0.0f;

  for (j = 0; j < nHostSymbol; j++)

  {

  fSum += vTransMatrix[j][i] * logf(vPhi[i][j]);

  }

  pfSum[i] = expf(fSum);

  fSumDeno += pfSum[i];

  }

  for (i = 0; i < nSourceSymbol; i++)

  { 

  pfSoureProb[i] = pfSum[i] / fSumDeno;

  }

  //计算新一轮的容量

  float fNewC = logf(fSumDeno);

  //计算精度

  fPrecision = fabs(fNewC - fCapacity) / fCapacity;

  fCapacity = fNewC;

  } while(fPrecision - cfDelta > 0.0f);

  //释放临时资源

  delete []pfSum;

  for (i = 0; i < vPhi.size(); i++)

  {

  float* pfTemp = vPhi.at(i);

  delete pfTemp;

  }

  vPhi.clear();

  return fCapacity;

  }

  int main()

  {

  //转移矩阵

  VEC_PFLOAT vTransMatrix;

  int nCol,nLine;

  cout<<"请输入信源符号个数:

";

  cin>>nLine;

  cout<<"请输入信宿符号个数:

";

  cin>>nCol;

  cout<<"请依次输入"<<<"行信道转移概率矩阵:

(以空格隔开每个概率)\n";< /pre> 

  for (int i = 0; i < nLine; i++)

  {

  float *pfTemp = new float[nCol];

  Label

  float fSum = 0.0f; 

  cout<<"X"<<<":

";

  for (int j = 0; j < nCol - 1; j++)

  {

  cin>>pfTemp[j];

  fSum += pfTemp[j];

  }

  if (1.0f - fSum < 0)

  {

  cout<<"转移概率和应该为1,请重新输入!

\n";

  goto Label1;

  }

  else

  {

  pfTemp[j] = 1.0f - fSum;

  cout<<"信源符号 X"<<<"的转移概率分别为:

";

  for(int k = 0; k < nCol; k++)

  cout<

  cout<

  }

  vTransMatrix.push_back(pfTemp);

  }

  cout<<"信道容量为:

"<< /pre> 

  for (int k = 0; k < vTransMatrix.size(); k++)

  {

  float* pfTemp = vTransMatrix.at(k);

  delete pfTemp;

  }

  vTransMatrix.clear();

  return 0;

  }

八、实验心得:

1、由于长时间未编程了,对编程有点生疏,通过在网上找了一些代码,通过修改已有代码来逐步学习离散信道容量的迭代计算.

2、

3、

4、

实验二:

Huffman编码的实现

实验学时:

3

实验类型:

(演示、验证、综合、√设计、研究)

实验要求:

(√必修、选修)

一、实验目的

理解和掌握huffman编码的基本原理和方法,实现对信源符号的huffman编码.

二、实验内容

1.理解和掌握huffman编码的基本原理和方法

2.通过MATLAB编程实现对单信源符号的huffma编码

3.计算信源的信息熵、平均码长以及编码效率

三、实验原理

1.Huffman编码按信源符号出现的概率而编码,其平均码长最短,所以是最优码.

2.无失真信源编码定理:

对于熵为H(X)的离散无记忆的平稳信源,必存在一种无失真编码,使每符号的平均码长满足不等式:

3.二元Huffman编码:

若将编码设计为长度不等的二进制编码,即让待传字符串中出现概率大的字符采用尽可能短的码字,而把长的码字分配给概率小的信源符号.

构造方法如下:

(a)将信源概率分布按大小以递减次序排列;合并两概率最小者,得到新信源;并分配0/1符号.

(b)新信源若包含两个以上符号返回(a),否则到(c).

(c)从最后一级向前按顺序写出每信源符号所对应的码字.

4.Huffman编码算法

ProcedureHUFFMAN({si},{pi})

ifq==2then

returns0→0,s1→1

else

降序排序{pi}

缩减信源:

创建一个符号s′以取代sq-2,sq-1,其概率为p′=pq-2+pq-1

递归调用Huffman算法以得到s0,…,sq-3,s′的编码:

w0,…,wq-3,w′,相应的概率分布为p0,…,pq-3,p′

Returns0→w0,…,sq-3→wq-3,sq-2→w′0,sq-1→w′1

endif

endprocedure

四、实验数据源

1.

2.

五、实验组织运行要求

以学生自主训练为主的开放模式组织教学

六、实验条件

(1)微机

(2)MATLAB编程工具

七、实验报告

实验预习:

Huffman编码的基本方法

实验记录:

通过编码实现单信源符号的码字

实验记录:

实验报告

八、实验心得:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2