您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 理学 > 实验2容量代价函数的计算
实验2容量代价函数的计算程序设计一、实验问题假定一个离散无记忆信源(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.从理论上计算r=s=2,传输错误率为p,b(0)=0,b(1)=1的BSC信道的容量代价函数。2.对一般性的DMC信道,计算容量代价函数C()的理论公式进行推导。3.找出比较合适的方程求解方法。4.使用编制Matlab编制程序求解一般的容量代价函数C()。5.给定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,测试程序。即比较程序运行结果与理论计算结果。6.改变各参数,计算各种信源的容量代价函数,画出函数图.7.显示在计算精度为0.000001以及运行计算的配置(CPU型号、CPU的频率、内存的)的条件下,系统循环次数、累计计算时间、平均每次循环所用时间等。五、实验要求1.提前预习实验,认真阅读实验原理。2.认真高效的完成实验,实验过程中服从实验室管理人员以及实验指导老师的管理。3.将实验报告写成论文的形式。要求有:问题的提出:包括C()的物理意义、用途(可以举出具体的用途)、计算的困难性等。解决问题的原理方法:包括所有的公式推导的细节。解决问题的具体方法:包括程序框图及Matlab源程序。实验结果:利用你的程序给出不同参数得到的实验结果,包括实验曲线图、程序循环次数、累计计算时间、平均每次循环所用时间等。结果分析:包括C()的性质、程序收敛情况、程序改进的方向等。4.每个同学必须独立完成实验(不能抄袭,否则两人均为零分),实验成绩是该门课程成绩的主要依据。六、实验原理1.C()的一般计算方法:计算min是很容易的。)(minminxbXAx;当minmax时,设试验信源X达到了C(),即C()=max{I(X;Y):E([b(x)]=}。在数学上,就是在约束条件下:rxxbxpxbE1)()()(((1)1)(1rxxp并且P(x)0(2)的约束下求平均互信息量rxsyypxypxypxpYXI11)()|(log)|()();(的条件极大值。为此引入待定常数S和,并作辅助函数rxrxrxsyxpxbxpSypxypxypxpxpF1111)()()()()|(log)|()()]([(3)其中rxxypxpyp1)|()()(由0)(xpF得,)(log)()|(log)|(1xSbeypxypxypsy(4)上式两边同乘以p(x)并对x求和。rxsyxbSEeypxypxypxp11)]([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)式可以写成矩阵形式:erSbrxYHeSbxYHeSbxYHsypypypxsyprxyprxypxsypxypxypxsypxypxyplog)()|(...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),...,,(110nixxxffnii并定义目标函数为:102110),...,,(niinfxxxFF则梯度法的计算过程如下:(1)选取一组初值x0,x1,...,xn-1(2)计算目标函数值F(3)若F,则X=(x0,x1,...,xn-1)即为方程组的一组实根,过程结束;否则继续。(4)计算目标函数在(x0,x1,...,xn-1)的偏导数101,...,1,0,2njijjinixffxF再计算102)(njjxFD(5)计算1,...,1,0,nixxFxiii其中=F/D。重复(2)~(5)直到满足精度要求为止。在上述过程中,如果D=0,则说明遇到了目标函数的局部极值点,此时可改变初值在试试。在我们的问题中,不会遇到该问题。另在计算中我们限制一个最大循环次数,以防D过小,使计算时间过长的情况。七、参考资料Matlab中的帮助fsolve
本文标题:实验2容量代价函数的计算
链接地址:https://www.777doc.com/doc-2500137 .html