欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOC文档下载  

    实验3率失真函数地计算.doc

    • 资源ID:16312       资源大小:125KB        全文页数:12页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    实验3率失真函数地计算.doc

    信息论与编码实验3 率失真函数计算的程序设计一、实验问题假定一个DMS的信源符号集为Au=1,2,.,r,其概率分布为p(u);信宿符号集为Av=1,2,.,s。而失真侧度矩阵为一个r´s维矩阵D=dij。利用Matlab画出率失真函数R(d)的曲线图。二、预备知识 预备知识 : 信息论第二章的熵是针对不失真的情况,而在实际应用中只需要保留信息的主要特征 即可,信号允许一定程度的失真,而率失真理论就是在这种情况下提出的。在实际问题中,信号有一定的失真是可以容忍的,但是当失真大于某个限度是,信号将会被严重损害,为此引入了失真函数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(d)。2 对一般性的DMS信源,计算率失真函数R(d)的理论公式进行推导。3 找出比较合适的方程求解方法。4 使用编制Matlab编制程序求解一般的率失真函数R(d)。5 给定r=s=2。p(u=1)=0.4,p=(u=2)=0.6;d=0,1;1,0,测试程序,即比较程序运行结果与理论计算结果,6 改变参数,画出函数图。7 显示在计算精度为0.000001以及运行计算的配置(CPU型号、CPU的频率、内存的)的条件下,系统循环次数、累计计算时间、平均每次循环所用时间等。六、实验原理1R(d(S)的表示方法计算dmin和dmax是很容易的。; 。当d³dmax时,R(d)=0。当dmin £d£dmax时,R(d)=minI(U;V):E(d)= d。 在数学上,就是在约束条件: (1) (2)的约束下求平均无信息量的条件极小值。为此引入待定常数S和mu(u=1,2,.,r),并作辅助函数 (3)其中由得,为方便引入参数,则有 (4)显然(4)提供r´s个方程,(2)提供r个方程,而(1)提供1各方程,共rs+r+1个方程;而有r´s个未知数p(v|u)、r个未知数lu 及未知数S,共rs+r+1未知数,显然可以求解。为方便起见,我们保留S作为参数。这样得到: (5) (6) (7) (8)很容易得到,即S是率是失真函数的导数。当S®-¥时,d(S)® dmin;参量S是d的递增函数,当d从dmin到dmax逐渐增大时,S将随d增大而增大,当d=dmax时,S达到最大值Smax<0。对Smax的求解较麻烦,必须解非线性方程。为了简单我们不求Smax。如果r=s,即信源和信宿的符号集相同,则很容易通过(6)式求得lu,进而通过(5)式求得p(v)。从而通过(7)(8)式划出率失真函数曲线。2R(d(S)的迭代计算但一般情况下,r¹s,则只能通过(6)先求得p(v),这是一个非常复杂的方程。下面介绍R(d(S)的迭代方法计算方法和公式。首先假设p(v)固定,与信道传递概率p(v|u)无关,则求极值得: (9)再假定p(v|u)不变,而把p(v)当成变量,则求极值得: (10)具体算法为:选择绝对值相当大的负数S1。选定起始传递概率p(1)(v|u)=1/rs。通过(10)式求得P(1)(v),再通过(9)式求得p(2)(v|u)。如此重复直到与D(S1)(n+1)相差较小;并且。与R(S1)(n+1)相差较小再选择较大的S2直到Smax逼近于零为止。这样就可以画出R(d)曲线.七、实验代码function R,delta=R_delta(Pu,D)r,s=size(D);eps=0.000001;delta_min=0;for i=1:r delta_min = delta_min + Pu(i)*min(D(i,:);enddelta_max=zeros(1,s);for j=1:s for i=1:r delta_max(j) = delta_max(j) + Pu(i)*D(i,j); endenddelta_max=min(delta_max); R=;delta=; P=ones(r,s);P=P/s; SS=100:-0.1:-100;SS=-exp(SS);for S=SS Pv=Pu*P; Ed0=sum(Pu*(P.*D); Rs0=0; for u=1:r for v=1:s if P(u,v)=0 & Pu(u)=0 Rs0 = Rs0 + Pu(u)*P(u,v)*log(P(u,v)/Pv(v); end end end P=exp(S*D); for i=1:s P(:,i)=P(:,i)*Pv(i); end for i=1:r SumP=sum(P(i,:); P(i,:)=P(i,:)/SumP; end Km=50000; for k=1:Km Pv=Pu*P; Edn=sum(Pu*(P.*D); Rsn=0; for u=1:r for v=1:s if P(u,v)=0 & Pu(u)=0 Rsn = Rsn + Pu(u)*P(u,v)*log(P(u,v)/Pv(v); end end end P=exp(S*D); for i=1:s P(:,i)=P(:,i)*Pv(i); end for i=1:r SumP=sum(P(i,:); P(i,:)=P(i,:)/SumP; end if abs(Edn - Ed0)<eps & abs(Rsn - Rs0)<eps break; end Ed0=Edn; Rs0=Rsn; end if k<Km R=R,Rsn; delta=delta,Edn; endendfunction h=Hp(p)if p=0 & p=1 h = -p*log(p)-(1-p)*log(1-p);else h=0;endmatlab 命令clear allD=0,1;2,0;p=0.5;Pu=p,1-p;R,delta=R_delta(Pu,D); delta1=0:p/1000:p;R1=;for i=1:1001 R1=R1,log(2) - Hp(delta1(i)*2/3);endplot(delta,R,delta1,R1);实验结果八、实验心得 通过本次信息与编码实验,了解了率失真函数的计算,收获很大,更深刻的了解了率失真函数,比书上了解的更加具体,使自己受益匪浅,增加了学习兴趣。

    注意事项

    本文(实验3率失真函数地计算.doc)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开