电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

实验3_率失真函数的计算(1)VIP免费

实验3_率失真函数的计算(1)_第1页
1/12
实验3_率失真函数的计算(1)_第2页
2/12
实验3_率失真函数的计算(1)_第3页
3/12
信息论与编码实验3率失真函数计算的程序设计学院:物理与电子学院班级:电信1105班姓名:学号:140411072一、实验问题假定一个DMS的信源符号集为Au={1,2,...,r},其概率分布为p(u);信宿符号集为Av={1,2,....,s}。而失真侧度矩阵为一个rs维矩阵D=[dij]。利用Matlab画出率失真函数R()的曲线图。二、预备知识预备知识:信息论第二章的熵是针对不失真的情况,而在实际应用中只需要保留信息的主要特征即可,信号允许一定程度的失真,而率失真理论就是在这种情况下提出的。在实际问题中,信号有一定的失真是可以容忍的,但是当失真大于某个限度是,信号将会被严重损害,为此引入了失真函数d的概念。三、实验目的1.了解率失真函数性质、意义。2.掌握简单的率失真函数计算方法;3.掌握使用Matlab实现一般率失真函数的计算方法;4.掌握Matlab求解非线性方程组的方法。四、实验要求1.提前预习实验,认真阅读实验原理。2.认真高效的完成实验,实验过程中服从实验室管理人员以及实验指导老师的管理。五、实验内容1.从理论上计算r=s=2。p(u=1)=p,p(u=2)=1-p;d=[0,1;1,0]的率失真函数R()。2.对一般性的DMS信源,计算率失真函数R()的理论公式进行推导。3.找出比较合适的方程求解方法。4.使用编制Matlab编制程序求解一般的率失真函数R()。5.给定r=s=2。p(u=1)=0.4,p=(u=2)=0.6;d=[0,1;1,0],测试程序,即比较程序运行结果与理论计算结果,ppHpHR00)()()(6.改变参数,画出函数图。7.显示在计算精度为0.000001以及运行计算的配置(CPU型号、CPU的频率、内存的)的条件下,系统循环次数、累计计算时间、平均每次循环所用时间等。六、实验原理1.R((S))的表示方法计算min和max是很容易的。UAuvvudup),(min).(min;uvvudup),()(minmax。当max时,R()=0。当minmax时,R()=min{I(U;V):E(d)=}。在数学上,就是在约束条件:),()|()()(11vuduvpupdErusv(1)1)|(1svuvp(2)的约束下求平均无信息量rusvvudvpuvpuvpupVUI11),()()|(log)|()();(的条件极小值。为此引入待定常数S和u(u=1,2,...,r),并作辅助函数rusvurusvrusvuvpvuduvpupSvpuvpuvpupuvpF111111)|(),()|()()()|(log)|()()]|([(3)其中ruuvpupvp1)|()()(由0)|(uvpF得,})(),(exp{)()|(upvuSdvpuvpu为方便引入参数,})(exp{upuu则有),()()|(vuSduevpuvp(4)显然(4)提供rs个方程,(2)提供r个方程,而(1)提供1各方程,共rs+r+1个方程;而有rs个未知数p(v|u)、r个未知数u及未知数S,共rs+r+1未知数,显然可以求解。为方便起见,我们保留S作为参数。这样得到:1)(1),(svvuSduevp(5)1)(1),(ruvuSdueup(6)rusvvuSduvudevpupSdE11),(),()()()()((7)ruuupSSSR1log)()())(((8)很容易得到0ddRS,即S是率是失真函数的导数。当S-时,(S)min;参量S是的递增函数,当从min到max逐渐增大时,S将随增大而增大,当=max时,S达到最大值Smax<0。对Smax的求解较麻烦,必须解非线性方程。为了简单我们不求Smax。如果r=s,即信源和信宿的符号集相同,则很容易通过(6)式求得u,进而通过(5)式求得p(v)。从而通过(7)(8)式划出率失真函数曲线。2.R((S))的迭代计算但一般情况下,rs,则只能通过(6)先求得p(v),这是一个非常复杂的方程。下面介绍R((S))的迭代方法计算方法和公式。首先假设p(v)固定,与信道传递概率p(v|u)无关,则求极值得:svvuSdvuSdevpevpuvp1),(),(*)()()|((9)再假定p(v|u)不变,而把p(v)当成变量,则求极值得:ruuvpupvp1*)|()()((10)具体算法为:选择绝对值相当大的负数S1。选定起始传递概率p(1)(v|u)=1/rs。通过(10)式求得P(1)(v),再通过(9)式求得p(2)(v|u)。如此重复直到rusvnvuduvpupnSD11)(1),()|()())((与D(S1)(n+1)相差较小;并且。rusvnnnvpuvpuvpupnSR11)()()(1)()|(log)|()())((与R(S1)(n+1)相差较小再选择较大的S2直到Smax逼近于零为止。这样就可以画出R()曲线.七、实验代码function[R,delta]=R_delta(Pu,D)[r,s]=size(D);eps=0.000001;delta_min=0;fori=1:rdelta_min=delta_min+Pu(i)*min(D(i,:));enddelta_max=zeros(1,s);forj=1:sfori=1:rdelta_max(j)=delta_max(j)+Pu(i)*D(i,j);endenddelta_max=min(delta_max);R=[];delta=[];P=ones(r,s);P=P...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

实验3_率失真函数的计算(1)

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部