大三下-信息论实验报告

  • 格式:doc
  • 大小:220.87 KB
  • 文档页数:14

下载文档原格式

  / 14
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验1 绘制二进熵函数曲线、串联信道容量曲线

一、实验内容

用Excel 或Matlab 软件制作二进熵函数曲线、串联信道容量曲线。 二、实验环境

1. 计算机

2. Windows 2000 或以上

3. Microsoft Office 2000 或以上

4. Matlab 6.0或以上 三、实验目的

1. 掌握Excel 的数据填充、公式运算和图表制作

2. 掌握Matlab 绘图函数

3. 掌握、理解熵函数表达式及其性质 四、实验要求

1. 提前预习实验,认真阅读实验原理以及相应的参考书。

2. 认真高效的完成实验,实验中服从实验室管理人员以及实验指导老师的管理。

3. 认真填写实验报告。 五、实验原理

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 λλλλ-+≥-+≤=--+-=-=≤≤⎩⎨⎧⎭⎬⎫

-===⎥⎦⎤⎢⎣⎡∑

3. 串联信道的信道容量(图 1)。

图 1 三个二元对称信道(BSC )的串联

p -1

p -1

p

p 0

1

p -1

p -1

p

p 0

1

p -1

p -1

p

p 0

1

1

I

II

III

p=0.00001:0.001:0.9999; h=Hp(p);

plot(p,h);

title('熵函数')

p=0.00001:0.001:0.9999;

c=1-Hp(p.^3+3.*p.*(1-p).^2); plot(p,c);

title('信道容量')

p=0.00001:0.001:0.9999;

c1=1-Hp(p);

c2=1-Hp(2*p.*(1-p));

c3=1-Hp(p.^3+3.*p.*(1-p).^2); subplot(3,1,1)

plot(p,c1);

title('CⅠ');

subplot(3,1,2)

plot(p,c2);

title('CⅠⅡ');

subplot(3,1,3)

plot(p,c3);

title('CⅠⅡⅢ');

实验4 容量代价函数的计算程序设计

一、问题的提出:

假定一个离散无记忆信源(DMC )的输入符号集为A X ={1,2,...,r},输出符号集为A Y ={1,2,....,s},信道的转移概率矩阵P(Y|X):{p(y|x)};该信道不是免费的,其输入代价为b(x)。 容量代价函数C(β)=sup Cn(β)/n n

如果单位时间内占用信道的平均代价必须≤β,则C(β)的值表示信道单位时间内能够可靠传输的最大信息量。

计算容量代价函数C(β)在通信领域,密码学等方面均有着很重要的用途。 对于一般信道要求出C(β)非常困难,计算过程繁琐,很容易计算错误。

二、解决问题的原理方法: 1.C(β)的一般计算方法:

计算βmin 是很容易的。)(min min x b X

A x ∈=β;

当βmin ≤β≤β max 时,设试验信源X 达到了C(β),即C(β)=max{I(X;Y):E([b(x)]=β}。 在数学上,就是在约束条件下:

∑==r

x x b x p x b E 1

)()()(( (1)

1)(1

=∑=r

x x p 并且P(x)≥0 (2)

的约束下求平均互信息量

∑∑===r x s

y y p x y p x y p x p Y X I 11

)

()

|(log

)|()();( 的条件极大值。为此引入待定常数S 和μ,并作辅助函数

∑∑∑∑====--=r

x r x r x s

y x p x b x p S y p x y p x y p x p x p F 1

1

11

)

()()()

()|(log

)|()()]([μ (3)

其中∑==

r

x x y p x p y p 1

)|()()(

0)(=∂∂x p F

得,μ++=∑=)(log )()|(log )|(1

x Sb e y p x y p x y p s

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

∑∑==++=r x s

y x b SE e y p x y p x y p x p 11

)]([log )

()

|(log

)|()(μ

即C(β)=loge+S β+μ (5)

显然(4)提供r 个方程,再加上(1)(2)的方程,共r+2个方程;而有r 个未知数p(x)、及S 、μ,共r+2

未知数,显然可以求解。一般来说,S 、μ是β的函数。(1)(2)(4)组成的r+2个方程是一个非常复杂的非线性方程组。

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

⎥⎥⎥⎥

⎤⎢⎢⎢

⎢⎣⎡---=----=----=-=⎥

⎥⎥⎥⎦

⎢⎢⎢⎢⎣⎡===⎥⎥⎥⎥⎦⎤⎢

⎢⎢⎢⎣⎡==================μμμe r Sb r x Y H e Sb x Y H e Sb x Y H s y p y p y p x s y p r x y p r x y p x s y p x y p x y p x s y p x y p x y p log )()|(...log )2()2|(log )1()1|()(log ...)2(log )1(log )2|(...)|2()

|1(............)2|(...)2|2()2|1()1|(...

)1|2()1|1(

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

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

1,....,1,0,0),...,,(110-===-n i x x x f f n i i

并定义目标函数为:

∑-=-==1

2110),...,,(n i i n f x x x F F

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

(1)选取一组初值x 0,x 1,...,x n-1 (2)计算目标函数值F

(3)若F<ε,则X=(x 0,x 1,...,x n-1)即为方程组的一组实根,过程结束;否则继续。 (4)计算目标函数在(x 0,x 1,...,x n-1)的偏导数

∑-=-=∂∂⋅=∂∂10

1,...,1,0,2n j i j j i n i x f f x F

再计算∑-=∂∂=

1

2

)(

n j j

x F D (5)计算1,...,1,0,-=⇒∂∂-n i x x F

x i i

i λ

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

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

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

三、解决问题的具体方法:

用Matlab 画出容量代价函数C(β)的曲线图。

为了计算一给定代价信道的容量函数,要用3个MATLAB 函数,如下: