容量代价函数.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

信息与编码

PAGE

PAGE1

实验二、容量代价函数的计算

一、问题描述

假定一个离散无记忆信源(DMC)的输入符号集为AX={1,2,...,r},输出符号集为AY={1,2,,s},信道的转移概率矩阵P(Y|X):{p(y|x)};该信道不是免费的,其输入代价为b(x)。利用Matlab画出容量代价函数C(?)的曲线图。

二、实验环境

计算机、Windows2000或以上、Matlab6.5或以上

三、实验目的

1.了解容量代价函数性质、意义。

2.掌握简单的容量代价函数计算方法;

3.掌握使用Matlab实现一般容量代价函数的计算方法;

4.掌握Matlab求解非线性方程组的方法。

四、实验原理

1.C(?)的一般计算方法:

计算?min是很容易的。;

当?min????max时,设试验信源X达到了C(?),即C(?)=max{I(X;Y):E([b(x)]=?}。

在数学上,就是在约束条件下:

(1)

并且P(x)?0(2)

的约束下求平均互信息量

的条件极大值。为此引入待定常数S和?,并作辅助函数

(3)

其中

由得,(4)

上式两边同乘以p(x)并对x求和。

C(?)=loge+S?+?(5)

显然(4)提供r个方程,再加上(1)(2)的方程,共r+2个方程;而有r个未知数p(x)、及S、?,共r+2未知数,显然可以求解。一般来说,S、?是?的函数。(1)(2)(4)组成的r+2个方程是一个非常复杂的非线性方程组。

(4)式可以写成矩阵形式:

2.一般非线性方程组求解方法:

下面介绍求非线性方程组一组是实根的梯度法:

设非线性方程组为

并定义目标函数为:

则梯度法的计算过程如下:

选取一组初值x0,x1,...,xn-1

计算目标函数值F

若F?,则X=(x0,x1,...,xn-1)即为方程组的一组实根,过程结束;否则继续。

计算目标函数在(x0,x1,...,xn-1)的偏导数

再计算

计算

其中?=F/D。重复(2)~(5)直到满足精度要求为止。

在上述过程中,如果D=0,则说明遇到了目标函数的局部极值点,此时可改变初值在试试。

在我们的问题中,不会遇到该问题。另在计算中我们限制一个最大循环次数,以防D过小,使计算时间过长的情况。

五、实验过程

(1)先从理论上计算r=s=2,传输错误率为p,b(0)=0,b(1)=1的BSC信道的容量代价函数。

这里?min=0,简化信道只有一个输入0,因此,有P{X=1}=?,P{X=0}=1-?,

而C(?)=I(X;Y)=H(Y)-H(Y|X),由于H(x)在x=0.5时达到极大值,故?=0.5时H(Y)达到最大值,C(?)的公式如下。

(2)对一般性的DMC信道,计算容量代价函数C(?)非常困难,我们借助matlab2012B来求解,具体代码见附录,这里只贴出代入数值后的结果。

给定:

r=s=2;

p(y=0|x=0)=p(y=1|x=1)0.4,p=(y=1|x=0)=p(y=0|x=1)=0.6;

b(0)=0,b(1)=1。

由matlab计算绘制的图像如下

图5.1Pe=0.6时容量代价函数图像

以下是误码率为0.8和0.55时的容量代价函数

图5.2容量代价函数Pe=0.8

5.3容量代价函数0.55

从图中不难的值C(β)的性质:?

在βmin≤β≤?βmax内,是一个严格上升函数。?

C(βmin)=Cmin,C(βmax)=Cmax。?

当β≥βmax时,C(β)是一个常数Cmax。?

因此C(β)=max{I(X;Y):E[b(x)]=?β},βmin≤β≤βmax。这说明,达到C(β)的试验信号,可以在E[b(x)]=β的区域中找到,实际上也只能在这个区域内找到。

(2)接下来测试程序运行时间,误码率为0.55,代码见附录

测试结果如下

结果显示,fsolve函数进行了分次迭代,共循环了62次,耗时0.324402秒,那么平均每一次迭代耗费时间0.005232秒。

3.结果分析

由上面的图像可见,误码率越接近0.5,即输入越接近等概,容量代价函数最大值越小,。根据上面的推论,当p=0.5时,容量代价函数为0,这也符合实验的结果。

六、附录代码

(1)绘制容量代价函数图像

functionc=C(beta,b,P

文档评论(0)

iwen博览 + 关注
实名认证
文档贡献者

iwen博览

1亿VIP精品文档

相关文档