


版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、遼寧工程技術(shù)大學(xué)上機(jī)實(shí)驗(yàn)報(bào)告成績(jī)實(shí)驗(yàn)名稱信源編碼院系姓名實(shí)驗(yàn)?zāi)康暮?jiǎn)述本次實(shí)驗(yàn)?zāi)康模?、理解并掌握香農(nóng)編碼2、理解并掌握費(fèi)諾編碼3、理解并掌握霍夫曼編碼實(shí)驗(yàn)準(zhǔn)備你為本次實(shí)驗(yàn)做了哪些準(zhǔn)備:認(rèn)真閱讀信息論教材,熟悉三種編碼的原理以及相應(yīng)的MATLAB函數(shù)指令實(shí)驗(yàn) 進(jìn)度本次共有6個(gè)練習(xí),完成 6實(shí)驗(yàn)總結(jié)本次實(shí)驗(yàn)的收獲、體會(huì)、經(jīng)驗(yàn)、問(wèn)題和教訓(xùn):1、香農(nóng)編碼 Matlab源碼fun cti on W,L,q=sha nnon(p)if (le ngth(fi nd(p<=0) =0)error('Not a prob.vector, negative comp onen t'); e
2、ndif (abs(sum(p)-1)>10e-10)error('Not a prob.vector,comp onent do not add up to 1'); end n=len gth(p); x=1: n;p,x=array(p,x);% 1)排序l=ceil(-log2(p); % 2)計(jì)算代碼組長(zhǎng)度1P(1)=0; n=le ngth(p);%3)計(jì)算累加概率 P for i=2:n P(i)=P(i_1)+p(i_1); endfor i=1: n % 4)求得二進(jìn)制代碼組Wfor j=1:l(i)temp(i,j)=floor(P(i)*2); P(
3、i)=P(i)*2-temp(i,j); endendfor i=1: nfor j=1:l(i)if (temp(i,j)=O); W(i,j)=48;else W(i,j)=49; endendendL=sum(p.*l); %計(jì)算平均碼字長(zhǎng)度 H=e ntropy(p,2); %計(jì)算信源熵q=H/L; % 計(jì)算編碼效率for i=1: n Bi=i; endn, m=size(W);TEMP=32*o nes( n,6);W=W,TEMP;W=W; n,m=size(W);W=resh ape(W,1, n*m);W=spri ntf('%s', W);s0='很
4、好!輸入正確,編碼結(jié)果如下:'s仁'Shannon 編碼所得碼字 W:'s2='Shannon編碼平均碼字長(zhǎng)度 L:' s3='Shannon編碼的編碼效率 q:'disp(sO);disp(s1),disp(B),disp(W);disp(s2),disp(L);disp(s3),disp(q);fun cti on H=en tropy(P,r)if (le ngth(fi nd(P<=0)=0) %判斷是否符合概率分布條件error('Not a prob.vector, negative comp onen t
5、9;); endif (abs(sum(P)-1)>10e-10)error('Not a prob.vector,comp onent do not add up to 1'); endH=(sum(-P.*log2(P)/(log2(r)+eps);2、香農(nóng)編碼數(shù)值試驗(yàn)算例單符號(hào)離散無(wú)記憶信源X =a1,a2,a3,a4,a5, a6p( X)0.25,0.25,0.2,0.15,0.1,0.05p=0.25,0.25,0.2,0.15,0.1,0.05;W,L,q=sha nnon(p)很好!輸入正確,編碼結(jié)果如下:Sha nnon編碼所得碼字 W:12345600
6、 01 100 101 1101 11110Sha nnon編碼平均碼字長(zhǎng)度L:2.7000Sha nnon編碼的編碼效率 q:0.8975W =00 01 100 101 1101 11110L =2.7000q =0.89753、費(fèi)諾編碼 Matlab源碼(1)編寫(xiě) M文件 compare.mfun ctio nn ext_P,code _nu m, next_i ndex=compare(curre nt_P,curre nt_i ndex) n=len gth(curre nt_P);add(1)=curre nt_P(1);for i=2:n % 1)求概率的依次累加和add(i)=
7、0; add(i)=add(i-1)+curre nt_P(i); ends=add( n); % 2)求概率和最接近的兩小組for i=1: n temp(i)=abs(s-2*add(i); endc,k=mi n( temp);if (curre nt_i ndex<=k)n ext_ in dex=curre nt_in dex; code_ num=48;next_P=curre nt_P(1:k);elsen ext_ in dex=curre nt_in dex-k; code_ num=49;n ext_P=curre nt_P(k+1): n); end編寫(xiě)M文件fan
8、o.mfun ctio n W,L ,q=fa no(P)if (len gth(fi nd(P<=0) =0)error('Not a prob.vector, negative comp onen t'); endif (abs(sum(P)-1)>10e-10)error('Not a prob.vector,comp onent do not add up to 1') endn=length(P); x=1:n;% 1)排序P,x=array(P,x);for i=1: ncurre nt_i ndex=i;j=1;curre nt_P=P
9、;while 1n ext_P,code_ nu m, next_i ndex=compare(curre nt_P,curre nt_i ndex);curre nt_i ndex=n ext_i ndex;curre nt_P=n ext_P;W(i,j)=code nu m; j=j+1;if (le ngth(curre nt_P)=1) break; endl(i)=length(find(abs(W(i,:) =0);end %L=sum(P.*l); % 計(jì)算平均碼字長(zhǎng)度H=e ntropy(P,2); %計(jì)算信源熵q=H/L; %計(jì)算編碼效率for i=1: n Bi=i; e
10、nd得到各碼字的長(zhǎng)度n, m=size(W);TEMP=32*o nes( n, 5);W=W,TEMP;W=W;n, m=size(W);W=reshape(W,1, n*m);W=spri ntf('%s', W);s0='很好!輸入正確,編碼結(jié)果如下:;s1='Fano編碼所得碼字 W:'s2='Fano編碼平均碼字長(zhǎng)度 L:'s3='Fano編碼的編碼效率disp(sO);disp(s1),disp(B),disp(W);disp(s2),disp(L);disp(s3),disp(q);fun cti on H=en t
11、ropy(P,r)if (le ngth(fi nd(P<=0)=0)error('Not a prob.vector, negative comp onen t'); endif (abs(sum(P)-1)>10e-10)error('Not a prob.vector,comp onent do not add up to 1'); endH=(sum(-P.*log2(P)/(log2(r)+eps);4、費(fèi)諾編碼數(shù)值試驗(yàn)算例 單符號(hào)離散無(wú)記憶信源a1,a2,a3,p( X)1/4,1/4,1/8,P=1/4,1/4,1/8,1/8,1/16
12、,1/16,1/16,1/16;W,L ,q=fa no(P)很好!輸入正確,編碼結(jié)果如下:Fano編碼所得碼字W:123400 01 100 101Fano編碼平均碼字長(zhǎng)度2.7500561100L:Fano編碼的編碼效率 q:1.000000 01 100 101 1100a4,a5,1/8,811011101q:'a6,1/16, 1/16,1110 11111110 1111a7,a81/16,1/162.7500q =1.00005、霍夫曼編碼 Matlab源碼(1)編寫(xiě) M文件 huffman.mfun ctio n W,L ,q=huffma n(P)if (len gt
13、h(fi nd(P<=0) =0)error('Not a prob.vector, negative comp onen t'); endif (abs(sum(P)-1)>10e-10)error('Not a prob.vector,comp onent do not add up to 1') endn=le ngth(P); %計(jì)算輸入兀素個(gè)數(shù)p=P; mark=zeros( n-1, n);% mark為n-1行、n列矩陣,用來(lái)記錄每行最小兩概率疊加后概率排列次序% 1)確定概率大小值的排列,得到mark矩陣。for i=1: n-1p,
14、num=sort(p); mark(i,:)=num(1:n_i+1),zeros(1,i_1);p=p(1)+p(2),p(3:n),1; end% 2)生成一個(gè)n-1行、n1(n x n)列矩陣table,每行可看做n個(gè)段,%每段長(zhǎng)為n,記錄一個(gè)碼子(每個(gè)碼子的長(zhǎng)度不會(huì)超過(guò)n)。for i=1: n-1 table(i,:)=bla nks( n*n); end% 3)計(jì)算各個(gè)元素碼字,循環(huán) n-2次,決定矩陣table%從倒數(shù)第二行開(kāi)始到第一行的每段的碼字值,到編碼表格tabletable( n-1, n)='1'table( n-1,2* n)='0'f
15、or i=2: n-1table( n-i,1: n-1)=table (n-i+1, n*(fi nd(mark( n-i+1,:)=1).-(n-2):n*(find(mark(n-i+1,:)=1); %按 mark 的記錄依次賦值table( n-i, n)='1'table( n-i, n+1:2* n-1)=table( n-i,1: n-1);table (n-i,2* n)='0' endfor j=1:i-1table (n-i,(j+1)* n+1:(j+2)* n)=table( n-i+1,.n*(find(mark(n-i+1,:)=j
16、+1)-1)+1:n*find(mark(n-i+1,:)=j+1); end% 4)得到編碼后的碼字for i=1: nW(i,1: n)=table(1, n*(fi nd(mark(1,:)=i)-1)+1:fi nd(mark(1,:)=i)* n);I(i)=length(find(abs(W(i,:) =32); endL=sum(P.*l); %計(jì)算平均碼字長(zhǎng)度H=e ntropy(P,2); %計(jì)算信源熵q=H/L; %計(jì)算編碼效率for i=1: n Bi=i; endm,n =size(W);TEMP=bla nks(m);W=W,TEMP',TEMP',T
17、EMP'm,n =size(W);W=reshape(W,1,m* n);s0='很好!輸入正確,編碼結(jié)果如下:'s仁'Huffman 編碼所得碼字 W:'s2='Huffman編碼平均碼字長(zhǎng)度 L:' s3='Huffman編碼的編碼效率 q:'disp(sO);disp(s1),disp(B),disp(W);disp(s2),disp(L);disp(s3),disp(q);fun cti on H=en tropy(P,r)if (len gth(fi nd(P<=0)=0)error('Not a
18、prob.vector, negative comp onen t'); endif (abs(sum(P)-1)>10e-10)error('Not a prob.vector,comp onent do not add up to 1'); endH=(sum(-P.*log2(P)/(log2(r)+eps);(2)編寫(xiě) M文件 huffman_better.mfun ctio n W丄,V,q=huffman_better(P)if (len gth(fi nd(P<=0) =0)error('Not a prob.vector, negat
19、ive comp onen t');e ndif (abs(sum(P)-1)>10e-10)error('Not a prob.vector,comp onent do not add up to 1') endn=len gth(P);p=P; mark=zeros( n-1, n); t=1;for i=1: n-1p,n um-sort(p); %對(duì)輸入兀素排序并紀(jì)錄if (i=1)if (coun t=0)k-max(a(t,:);for s-co un t:-1:1num(k-s)= num(k-s+1); endnu m(k)-1;endt-t+1;
20、endmark(i,:)= nu m(1: n-i+1),zeros(1,i-1);p=p(1)+p(2),p(3:n ),1;cou nt=O; %用于計(jì)數(shù)for j=2: n-iif (p(1)=p(j) %判斷p中是否有與求和后的新項(xiàng)相等的項(xiàng)coun t=co un t+1; a(t,co un t)=j;endendend% 2)生成一個(gè)n-1行、n1(n x n)列矩陣table,每行可看做n個(gè)段,%每段長(zhǎng)為n,記錄一個(gè)碼字(每個(gè)碼字的長(zhǎng)度不會(huì)超過(guò)n)。for i=1: n-1 table(i,:)=bla nks(n*n); end% 3)計(jì)算各個(gè)元素碼字,循環(huán)n-2次,決定矩陣t
21、able%從倒數(shù)第二行開(kāi)始到第一行的每段的碼字值,到編碼表格tabletable(n-1,n)='1' table(n-1,2*n)='0'for i=2: n-1table( n-i,1: n-1)=table( n-i+1, n*(fi nd(mark( n-i+1,:)=1).-(n-2):n*(find(mark(n-i+1,:)=1); %按 mark 的記錄依次賦值table( n-i, n)='1'table (n-i, n+1:2* n-1)=table( n-i,1: n-1);table( n-i,2* n)='0'for j=1:i-1table( n-i,(j+1)* n+1:(j+2)* n)=table( n-i+1,.n*(find(mark(n-i+1,:)=j+1)-1)+1:n*find(mark(n-i+1,:)=j+1); endend% 4)得到編碼后的碼字for i=1: nW(i,1: n)=table(1, n*(fi nd(mark(1,:)=i
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鋁粉塵清理管理制度
- 鍋爐燃燒器管理制度
- 2025至2030年中國(guó)塑料廁所刷行業(yè)投資前景及策略咨詢報(bào)告
- 2025至2030年中國(guó)雙頭管搭接專用焊機(jī)行業(yè)投資前景及策略咨詢報(bào)告
- 2025至2030年中國(guó)鳳凰單樅茶行業(yè)投資前景及策略咨詢報(bào)告
- 2025至2030年中國(guó)全螺紋軸承壓蓋行業(yè)投資前景及策略咨詢報(bào)告
- 隊(duì)組對(duì)班組管理制度
- 2025年可持續(xù)發(fā)展目標(biāo)(SDGs)在可持續(xù)發(fā)展綠色投資中的應(yīng)用報(bào)告
- 2025年咖啡連鎖品牌市場(chǎng)擴(kuò)張戰(zhàn)略布局與品牌戰(zhàn)略合作伙伴關(guān)系維護(hù)與優(yōu)化研究報(bào)告001
- 餐廳部各項(xiàng)管理制度
- GA 1812.3-2024銀行系統(tǒng)反恐怖防范要求第3部分:印鈔造幣企業(yè)
- 2025年度教師招聘考試教育綜合理論知識(shí)復(fù)習(xí)題庫(kù)及答案(共250題)
- 2024北京豐臺(tái)區(qū)五年級(jí)(下)期末英語(yǔ)試題及答案
- 比亞迪車(chē)輛購(gòu)銷(xiāo)合同協(xié)議
- 山東師范大學(xué)《英語(yǔ)綜合閱讀二》2023-2024學(xué)年第二學(xué)期期末試卷
- 【9數(shù)一?!?025年安徽省合肥市第四十五中學(xué)九年級(jí)中考數(shù)學(xué)一模試卷
- 2025屆湖北省部分學(xué)校高三下學(xué)期4月調(diào)研考試語(yǔ)文試題講評(píng)課件
- 2025-2030中國(guó)勞務(wù)派遣行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及前景趨勢(shì)與投資研究報(bào)告
- 2025-2030律師事務(wù)所項(xiàng)目商業(yè)計(jì)劃書(shū)
- 貴州省畢節(jié)地區(qū)大方縣2024-2025學(xué)年小升初??家族e(cuò)數(shù)學(xué)檢測(cè)卷含解析
- 大型住宅小區(qū)施工組織設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論