欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7954|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

MATLAB費(fèi)諾編碼實(shí)驗(yàn)報(bào)告與源碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:350917 發(fā)表于 2018-6-13 12:34 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
實(shí)驗(yàn)三 費(fèi)諾編碼
一、實(shí)驗(yàn)?zāi)康暮腿蝿?wù)
  • 理解信源編碼的意義;
  • 熟悉 MATLAB程序設(shè)計(jì);
  • 掌握費(fèi)諾編碼的方法及計(jì)算機(jī)實(shí)現(xiàn);
  • 對給定信源進(jìn)行費(fèi)諾編碼,并計(jì)算編碼效率;
二、實(shí)驗(yàn)原理介紹
給定某個(gè)信源符號的概率分布,通過以下的步驟進(jìn)行費(fèi)諾編碼
1、信源符號按概率從大到小排列;
2、將依次排列的信源符號按概率值分為兩大組,使兩個(gè)組的概率之和近似相同,并對各組賦予一個(gè)二進(jìn)制碼元“0”和“1”。
3、將每一大組的信源符號再分為兩組,使劃分后的兩個(gè)組的概率之和近似相同,并對各組賦予一個(gè)二進(jìn)制符號“0”和“1”。
4、如此重復(fù),直至每個(gè)組只剩下一個(gè)信源符號為止。
5、信源符號所對應(yīng)的碼字即為費(fèi)諾碼。            
三、實(shí)驗(yàn)設(shè)備介紹
1、計(jì)算機(jī)
2、編程軟件MATLAB6.5以上

四、實(shí)驗(yàn)內(nèi)容和步驟

編程如下;
  1. A=[0.4,0.3,0.1,0.09,0.07,0.04];
  2. A=fliplr(sort(A));%降序排列
  3. [m,n]=size(A);
  4. for i=1:n
  5. B(i,1)=A(i);%生成B的第1列
  6. end
  7. %生成B第2列的元素
  8. a=sum(B(:,1))/2;
  9. for k=1:n-1
  10. if abs(sum(B(1:k,1))-a)<=abs(sum(B(1:k+1,1))-a)
  11. break;
  12. end
  13. end
  14. for i=1:n%生成B第2列的元素
  15. if i<=k
  16. B(i,2)=0;
  17. else
  18. B(i,2)=1;
  19. end
  20. end
  21. %生成第一次編碼的結(jié)果
  22. END=B(:,2)';
  23. END=sym(END);
  24. %生成第3列及以后幾列的各元素
  25. j=3;
  26. while (j~=0)
  27. p=1;
  28. while(p<=n)
  29. x=B(p,j-1);
  30. for q=p:n
  31. if x==-1
  32. break;
  33. else
  34. if B(q,j-1)==x
  35. y=1;
  36. continue;
  37. else
  38. y=0;
  39. break;
  40. end
  41. end
  42. end
  43. if y==1
  44. q=q+1;
  45. end
  46. if q==p|q-p==1
  47. B(p,j)=-1;
  48. else
  49. if q-p==2
  50. B(p,j)=0;
  51. END(p)=[char(END(p)),'0'];
  52. B(q-1,j)=1;
  53. END(q-1)=[char(END(q-1)),'1'];
  54. else
  55. a=sum(B(p:q-1,1))/2;
  56. for k=p:q-2
  57. if abs(sum(B(p:k,1))-a)<=abs(sum(B(p:k+1,1))-a);
  58. break;
  59. end
  60. end
  61. for i=p:q-1
  62. if i<=k
  63. B(i,j)=0;
  64. END(i)=[char(END(i)),'0'];
  65. else
  66. B(i,j)=1;
  67. END(i)=[char(END(i)),'1'];
  68. end
  69. end
  70. end
  71. end
  72. p=q;
  73. end
  74. C=B(:,j);
  75. D=find(C==-1);
  76. [e,f]=size(D);
  77. if e==n
  78. j=0;
  79. else
  80. j=j+1;
  81. end
  82. end
  83. B
  84. A
  85. END
  86. for i=1:n
  87. [u,v]=size(char(END(i)));
  88. L(i)=v;
  89. end
  90. avlen=sum(L.*A)
  91. H=-sum(A.*log2(A))%輸出信息熵
  92. p=H/avlen %輸出編碼效率
復(fù)制代碼


結(jié)果如圖:
  • 實(shí)驗(yàn)結(jié)論與心得
通過這次費(fèi)諾碼編程的實(shí)驗(yàn),使我學(xué)到了不少實(shí)用的知識,實(shí)踐與課堂知識相結(jié)合使學(xué)習(xí)知識得以運(yùn)用,知識點(diǎn)學(xué)的更透徹了。更重要的是,做實(shí)驗(yàn)的過程,思考問題的方法,這與做其他的實(shí)驗(yàn)是通用的,真正使我們受益匪淺。

完整的Word格式文檔51黑下載地址:
信息論編碼實(shí)驗(yàn)5416546464184168418541(2).doc (55.54 KB, 下載次數(shù): 14)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

無效樓層,該帖已經(jīng)被刪除
板凳
ID:151893 發(fā)表于 2019-5-15 17:48 | 只看該作者
好像有bug,輸入序列為[0.2,0.2,0.2,0.2,0.2]或[ones(1,10)*0.1]這樣的序列時(shí)進(jìn)入死循環(huán)。。
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表