版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 信息論與編碼實(shí)驗(yàn)指導(dǎo)書 河北工業(yè)大學(xué)信息工程學(xué)院 信息論與編碼課程組2008年 2月 前 言當(dāng)前,信息論與編碼已經(jīng)成為電子信息類專業(yè)高年級(jí)學(xué)生必修的專業(yè)基礎(chǔ)課。盡管各個(gè)院校開設(shè)課程名稱有所不同,但都是以香農(nóng)信息論為核心 2008年2月 目 錄 實(shí)驗(yàn)一 信息熵與圖像熵計(jì)算- 1 實(shí)驗(yàn)二 huffman 編碼實(shí)驗(yàn)- 6 實(shí)驗(yàn)三 算術(shù)編碼實(shí)驗(yàn)- 11 實(shí)驗(yàn)四 crc校驗(yàn)編碼實(shí)驗(yàn)-17 實(shí)驗(yàn)一 信息熵與圖像熵計(jì)算(2學(xué)時(shí)) 一、實(shí)驗(yàn)?zāi)康?復(fù)習(xí)matlab的基本命令,熟悉matlab下的基本函數(shù)。2復(fù)習(xí)信息熵基本定義, 能夠自學(xué)圖像熵定義和基本概念。二、實(shí)驗(yàn)內(nèi)容1能夠?qū)懗鰉atlab源代碼,求信源的信
2、息熵。2根據(jù)圖像熵基本知識(shí),綜合設(shè)計(jì)出matlab程序,求出給定圖像的圖像熵。三、實(shí)驗(yàn)儀器、設(shè)備1計(jì)算機(jī)系統(tǒng)最低配置 256m內(nèi)存、p4 cpu。2matlab仿真軟件 7.0 / 7.1 / 2006a 等版本matlab軟件。四、實(shí)驗(yàn)原理1 matlab中數(shù)據(jù)類型、矩陣運(yùn)算、圖像文件輸入與輸出知識(shí)復(fù)習(xí)。2 利用信息論中信息熵概念,求出任意一個(gè)離散信源的熵(平均自信息量)。 自信息是一個(gè)隨機(jī)變量,它是指某一信源發(fā)出某一消息所含有的信息量。所發(fā)出的消息不同,它們所含有的信息量也就不同。任何一個(gè)消息的自信息量都代表不了信源所包含的平均自信息量。不能作為整個(gè)信源的信息測(cè)度,因此定義自信息量的數(shù)學(xué)期
3、望為信源的平均自信息量:h(x)=elog1p(ai)=-p(ai)logp(ai)i=1n信息熵的意義:信源的信息熵h是從整個(gè)信源的統(tǒng)計(jì)特性來考慮的。它是從平均意義上來表征信源的總體特性的。對(duì)于某特定的信源,其信息熵只有一個(gè)。不同的信源因統(tǒng)計(jì)特性不同,其熵也不同。3學(xué)習(xí)圖像熵基本概念,能夠求出圖像一維熵和二維熵。圖像熵是一種特征的統(tǒng)計(jì)形式,它反映了圖像中平均信息量的多少。圖像的一維熵表示圖像中灰度分布的聚集特征所包含的信息量,令pi表示圖像中灰度值為i的像素所占的比例,則定義灰度圖像的一元灰度熵為:h=pilogpii=0255-1-圖像的一維熵可以表示圖像灰度分布的聚集特征,卻不能反映圖像
4、灰度分布的空間特征,為了表征這種空間特征,可以在一維熵的基礎(chǔ)上引入能夠反映灰度分布空間特征的特征量來組成圖像的二維熵。選擇圖像的鄰域灰度均值作為灰度分布的空間特征量,與圖像的像素灰度組成特征二元組,記為( i, j ),其中i表示像素的灰度值(0 <= i <= 255),j表示鄰域灰度(0 <= j <= 255),pij=f(i,j)/n2上式能反應(yīng)某像素位置上的灰度值與其周圍像素灰度分布的綜合特征,其中f(i, j)為特征二元組(i, j)出現(xiàn)的頻數(shù),n為圖像的尺度,定義離散的圖像二維熵為:h=pijlogpiji=0255構(gòu)造的圖像二維熵可以在圖像所包含信息量的
5、前提下,突出反映圖像中像素位置的灰度信息和像素鄰域內(nèi)灰度分布的綜合特征.五、實(shí)驗(yàn)步驟1求解信息熵過程:1) 輸入一個(gè)離散信源,并檢查該信源是否是完備集。2) 去除信源中符號(hào)分布概率為零的元素。3) 根據(jù)平均信息量公式,求出離散信源的熵。2圖像熵計(jì)算過程:1) 輸入一幅圖像,并將其轉(zhuǎn)換成灰度圖像。2) 統(tǒng)計(jì)出圖像中每個(gè)灰度階象素概率。3) 統(tǒng)計(jì)出圖像中相鄰兩象素的灰度階聯(lián)合分布矩陣。4) 根據(jù)圖像熵和二階熵公式,計(jì)算出一幅圖像的熵。六、實(shí)驗(yàn)報(bào)告要求1 按照本節(jié)內(nèi)容后實(shí)驗(yàn)報(bào)告形式書寫。2 實(shí)驗(yàn)總結(jié)和心得要詳細(xì),可以根據(jù)自己實(shí)驗(yàn)情況,寫出建議。七、實(shí)驗(yàn)注意事項(xiàng)1 matlab語言課下多復(fù)習(xí),盡量采用
6、模塊化編程方法,通過函數(shù)調(diào)用形式運(yùn)行程序。2 仔細(xì)理解、體會(huì)圖像熵的概念,能夠?qū)⑵渎?lián)合熵的概念理解透徹。-2-八、思考題舉例說明圖像熵、信息熵在現(xiàn)實(shí)中有何實(shí)踐指導(dǎo)意義? 附1:信息熵計(jì)算源代碼函數(shù)源程序 calentropy.m% information shannon entropy calculation% , 22/08/2007% array : discrete probabilities set% h : output shannon entropy function h = calentropy(array)% vector numbernum =
7、length(array); % check probabilities sum to 1:if abs(sum(array) - 1) > .00001,error(probablities dont sum to 1.)end % remove any zero probabilities %zeroprobs = find(array < eps);if isempty(zeroprobs),array(zeroprobs) = ;%disp(removed zero or negative probabilities.)end % compute the entropyh
8、= -sum(array .* log2(array); % 單位 bit/symbol 附2:圖像熵計(jì)算源代碼函數(shù)源程序 imgentropy.m% image entropy calculation % , 22/08/2007% img : input image data% h1,h2 : output 1&2 order entropy function h1,h2 = imgentropy(img) % color image transformationi = imread(img);img = rgb2gray(i);imview(i),
9、imview(img); -3-ix,iy = size(img); %compute probs for each scale level in imagep1 = imhist(img)/(ix*iy); temp = double(img); % for the index of image piexltemp = temp , temp(:,1); % correlation prob matrix between 0 . 255 gray levels coefficientmat = zeros(256,256); for x = 1:ixfor y = 1:iyi = temp(
10、x,y); j = temp(x,y+1);coefficientmat(i+1,j+1) = coefficientmat(i+1,j+1)+1; endend % compute the prob of matrixp2 = coefficientmat./(ix*iy); h1 = 0; h2 = 0; for i = 1:256% calculate 1 ord image entropyif p1(i) = 0h1 = h1 - p1(i)*log2(p1(i);end% compute 2 ord image entropyfor j = 1:256if p2(i,j) = 0h2
11、 = h2 - p2(i,j)*log2(p2(i,j);endendend h2 = h2/2; % mean entropy /symbol sprintf(1 ord image entropy is : %d,h1)sprintf(2 ord image entropy is : %d,h2) 函數(shù)調(diào)用實(shí)例 test.m-4-% information theory experiment testing file% , 22/08/2007% testing discrete shannon entropy % discrete probabilities
12、 setprobset = 0.1 0.2 0.3 0.15 0.25;% call calentropy functionh = calentropy(probset);sprintf(shannon entropy is: %d,h) % calculate the image entropyh1,h2 = imgentropy(lena.jpg); 附3:實(shí)驗(yàn)報(bào)告固定樣式 實(shí) 驗(yàn) 報(bào) 告班級(jí): 姓名: 學(xué)號(hào): 組別: 同組人: 課程名稱: 實(shí)驗(yàn)室: 實(shí)驗(yàn)時(shí)間: (使用實(shí)驗(yàn)報(bào)告紙的,以上信息熵與圖像熵計(jì)算一、實(shí)驗(yàn)?zāi)康模憾?shí)驗(yàn)內(nèi)容與原理:三、實(shí)驗(yàn)器材(設(shè)備、元器件、軟件工具、平臺(tái)):四、實(shí)
13、驗(yàn)步驟:五、實(shí)驗(yàn)數(shù)據(jù)及結(jié)果分析:六、實(shí)驗(yàn)結(jié)論:七、思考題八、其他:實(shí)驗(yàn)總結(jié)、心得體會(huì)及對(duì)本實(shí)驗(yàn)方法、手段及過程的改進(jìn)建議等。 -5-實(shí)驗(yàn)二 huffman 編碼(2學(xué)時(shí)) 一、實(shí)驗(yàn)?zāi)康?復(fù)習(xí)c+程序基本編寫方法,熟悉vc編程環(huán)境。2會(huì)用vc調(diào)試huffman編碼程序。二、實(shí)驗(yàn) visual c+ 8.0 (microsoft visual studio 2005)四、實(shí)驗(yàn)原理1 huffman 編碼原理:將信源符號(hào)按概率從大到小的順序排列,令p(x1) p(x2) p(xn)給兩個(gè)概率最小的信源符號(hào)p(xn-1)和p(xn)各分配一個(gè)碼位“0”和“1”,將這兩個(gè)信源符號(hào)合并成一個(gè)新符號(hào),并用這
14、兩個(gè)最小的概率之和作為新符號(hào)的概率,結(jié)果得到一個(gè)只包含(n1)個(gè)信源符號(hào)的新信源。稱為信源的第一次縮減信源,用s1表示。將縮減信源s1的符號(hào)仍按概率從大到小順序排列,重復(fù)步驟2,得到只含(n2)個(gè)符號(hào)的縮減信源s2。重復(fù)上述步驟,直至縮減信源只剩兩個(gè)符號(hào)為止,此時(shí)所剩兩個(gè)符號(hào)的概率之和必為1。然后從最后一級(jí)縮減信源開始,依編碼路徑向前返回,就得到各信源符號(hào)所對(duì)應(yīng)的碼字。2huffman樹的編碼原理:步驟1: 將各個(gè)符號(hào)及其出現(xiàn)頻率分別作為不同的小二叉樹(目前每棵樹只有根節(jié)點(diǎn))步驟2: 在步驟1中得到的樹林里找出頻率值最小的兩棵樹,將他們分別作為-6-左、右子樹連成一棵大一些的二叉樹,該二叉樹的
15、頻率值設(shè)為兩棵子樹頻率值之和。步驟3:對(duì)上面得到的樹林重復(fù)步驟2的做法,直到所有符號(hào)都連入樹中為止。五、實(shí)驗(yàn)步驟1vc環(huán)境下,建一個(gè)c+控制臺(tái)應(yīng)用程序,并把源代碼考到該程序目錄下。2項(xiàng)目文件中含有一個(gè)預(yù)編譯頭文件,一個(gè)主函數(shù)入口文件和huffman編碼算法文件。3在入口文件中,輸入任一個(gè)離散信源進(jìn)行編碼調(diào)試。4設(shè)置好程序斷點(diǎn),仔細(xì)分析huffman樹每步的建立過程。5輸出離散信源中每個(gè)符號(hào)的huffman編碼,并與手工運(yùn)算的結(jié)果進(jìn)行比較。六、實(shí)驗(yàn)報(bào)告要求1 按照實(shí)驗(yàn)一附3中實(shí)驗(yàn)報(bào)告樣式書寫本次實(shí)驗(yàn)報(bào)告。2 總結(jié)c+語言學(xué)習(xí)心得,并結(jié)合huffman編碼實(shí)驗(yàn)總結(jié)自己的得失,指出今后自己要練習(xí)改進(jìn)
16、之處。根據(jù)自己實(shí)驗(yàn)情況,對(duì)本實(shí)驗(yàn)寫出建議。七、實(shí)驗(yàn)注意事項(xiàng)1指針數(shù)據(jù)結(jié)構(gòu)定義typedef struct unsigned long weight; int parent, lchild, rchild; htnode, *huffmantree;typedef char* huffmancode; / 指向存放數(shù)組指針的數(shù)組即二維數(shù)組2二叉樹生成操作放在數(shù)組中(節(jié)點(diǎn)n和數(shù)組大小m關(guān)系為:m=2*n-1)。每次在樹中找到兩顆最小子樹,其函數(shù)為select(huffmantree ht, int n, int *s1, int *s2),實(shí)際實(shí)現(xiàn)的是在數(shù)組中找到最小兩個(gè)元素。另外注意c+的數(shù)組起
17、始索引是0,matlab起始索引是1;程序中為了方便從1開始索引數(shù)組,ht0.weight 的大小設(shè)為0xffffffffl。為了輸出二進(jìn)制huffman碼,程序最后對(duì)每個(gè)符號(hào)進(jìn)行深度優(yōu)先搜索,得到該符號(hào)的二進(jìn)制字符,然后進(jìn)行字符串拷貝,直到最后輸出。-7-八、思考題根據(jù)huffman算法的c源程序,試著寫出huffman編碼的matlab程序?附1:huffman編碼源代碼源代碼列表:stdafx.hhuffman.cpp預(yù)編譯頭文件:stdafx.h 以下代碼 #pragma once#include <iostream>#include <tchar.h>#inc
18、lude <stdio.h>#include <string.h>#include <stdlib.h>控制臺(tái)應(yīng)用cpp文件:huffman.cpp#include "stdafx.h"typedef structunsigned long weight;int parent, lchild, rchild; htnode, *huffmantree; typedef char* huffmancode; huffmancode hc; void select(huffmantree ht, int n, int *s1, int *s2
19、); void huffmancoding(unsigned long *w, int n)int i;if( n<=1 ) return;int m = 2*n - 1;huffmantree p;huffmantree ht = (huffmantree)malloc(m+1)*sizeof(htnode);memset(ht, 0, sizeof(htnode) * (m+1);for( p=ht,i=1; i<=n; +i)+p;+w;p->weight = *w;-8-int s1, s2;for( i=n+1; i<=m; +i )select(ht, i-
20、1, &s1, &s2);hts1.parent = i; hts2.parent = i;hti.lchild = s1; hti.rchild = s2;hti.weight = hts1.weight + hts2.weight; hc = (huffmancode)malloc(n+1)*sizeof(char*); char *cd = (char*)malloc(n*sizeof(char);cdn-1 = 0;int start;unsigned long f;for( i=1; i<=n; +i )start = n - 1;int c;for( c=i,
21、 f=hti.parent; f!=0; c=f, f=htf.parent ) if( htf.lchild = c )cd-start = 0;elsecd-start = 1;hci = (char*)malloc(n-start)*sizeof(char); strcpy(hci, &cdstart);free( ht );/free( cd ); void select(huffmantree ht, int n, int *s1, int *s2) int i;ht0.weight = (unsigned long)(-1l);*s1 = *s2 = 0;for( i=1;
22、 i<=n; i+ )if( hti.parent = 0 )if( hti.weight < ht*s1.weight ) *s2 = *s1;*s1 = i;-9-else if( hti.weight < ht*s2.weight ) *s2 = i;/ 函數(shù)測(cè)試實(shí)例int _tmain(int argc, _tchar* argv)const int len = 3;int i;unsigned long weightlen+1; weight0 = 0;weight1 = 1;weight2 = 7;weight3 = 2; huffmancoding( weigh
23、t, len );for( i=1; i<=len; i+ )printf("%sn", hci);return 0;/ end of huffman.cpp-10-實(shí)驗(yàn)三 算術(shù)編碼(2學(xué)時(shí)) 一、實(shí)驗(yàn)?zāi)康?進(jìn)一步學(xué)習(xí)c+語言概念和熟悉vc編程環(huán)境。2學(xué)習(xí)算術(shù)編碼基本流程, 學(xué)會(huì)調(diào)試算術(shù)編碼程序。3. 根據(jù)給出資料,自學(xué)自適應(yīng)0階算術(shù)編、解碼方法。二、實(shí)驗(yàn)內(nèi)容1復(fù)習(xí)c+代碼基本語法(類和虛函數(shù)等面向?qū)ο髷?shù)據(jù)結(jié)構(gòu)定義)2根據(jù)實(shí)驗(yàn)提供的源代碼,學(xué)習(xí)算術(shù)編碼實(shí)現(xiàn)流程,培養(yǎng)實(shí)際動(dòng)手調(diào)試能力和相應(yīng)的編程技巧。三、實(shí)驗(yàn)儀器、設(shè)備1計(jì)算機(jī)系統(tǒng)最低配置 256m內(nèi)存、p4 cpu。2
24、c+ 編程軟件 visual c+ 7.0 (microsoft visual studio 2003)visual c+ 8.0 (microsoft visual studio 2005)四、實(shí)驗(yàn)原理1算術(shù)編碼基本原理是將編碼消息表示成實(shí)數(shù)0和1之間的一個(gè)間隔,消息越長,編碼表示它的間隔就越小,表示這一間隔所需的二進(jìn)制位就越多。 算術(shù)編碼用到兩個(gè)基本的參數(shù):符號(hào)的概率和它的編碼間隔。信源符號(hào)的概率決定壓縮編碼的效率,也決定編碼過程中信源符號(hào)的間隔,而這些間隔包含在0到1之間。編碼過程中的間隔決定了符號(hào)壓縮后的輸出。首先借助下面一個(gè)簡單的例子來闡釋算術(shù)編碼的基本原理。考慮某條信息中可能出現(xiàn)的
25、字符僅有 a b c 三種,我們要壓縮保存的信息為 bccb。在沒有開始?jí)嚎s進(jìn)程之前,假設(shè)對(duì) a b c 三者在信息中的出現(xiàn)概率一無所知(采用的是自適應(yīng)模型),暫認(rèn)為三者的出現(xiàn)概率相等各為 1/3,將 0 - 1 區(qū)間按照概率的比例分配給三個(gè)字符,即 a 從 0.0000 到 0.3333,b 從 0.3333 到 0.6667,c 從 0.6667 到 1.0000。進(jìn)行第一個(gè)字符 b編碼,b 對(duì)應(yīng)的區(qū)間 0.3333 - 0.6667。這時(shí)由于多了字符 b,三個(gè)字符的概率分布變成:pa = 1/4,pb = 2/4,pc = 1/4。按照新的概率分布比例劃分 0.3333 - 0.6667
26、 這一區(qū)間,劃分的結(jié)果可以用圖形表示為: -11-+- 0.6667pc = 1/4 |+- 0.5834|pb = 2/4 |+- 0.4167pa = 1/4 |+- 0.3333接著拿到字符 c,現(xiàn)在要關(guān)注上一步中得到的 c 的區(qū)間 0.5834 - 0.6667。新添了 c 以后,三個(gè)字符的概率分布變成 pa = 1/5,pb = 2/5,pc = 2/5。用這個(gè)概率分布劃分區(qū)間 0.5834 - 0.6667: +- 0.6667|pc = 2/5 |+- 0.6334|pb = 2/5 |+- 0.6001pa = 1/5 |+- 0.5834輸入下一個(gè)字符 c,三個(gè)字符的概率分布
27、為:pa = 1/6,pb = 2/6,pc = 3/6。接著來劃分 c 的區(qū)間 0.6334 - 0.6667: -12-+- 0.6667|pc = 3/6 |+- 0.6501|pb = 2/6 |+- 0.6390pa = 1/6 |+- 0.6334輸入最后一個(gè)字符 b,因?yàn)槭亲詈笠粋€(gè)字符,不用再做進(jìn)一步的劃分了,上一步中得到的 b 的區(qū)間為 0.6390 - 0.6501,最后在這個(gè)區(qū)間內(nèi)隨便選擇一個(gè)容易變成二進(jìn)制的數(shù),例如 0.64,將它變成二進(jìn)制 0.1010001111,去掉前面沒有太多意義的 0 和小數(shù)點(diǎn),可以輸出 1010001111,這就是信息被壓縮后的結(jié)果,由此完成了
28、一次最簡單的算術(shù)壓縮過程。如何解壓縮呢?那就更簡單了。解壓縮之前仍然假定三個(gè)字符的概率相等。解壓縮時(shí)面對(duì)的是二進(jìn)制流 1010001111,先在前面加上 0 和小數(shù)點(diǎn)把它變成小數(shù) 0.1010001111,也就是十進(jìn)制 0.64。這時(shí)我們發(fā)現(xiàn) 0.64 在分布圖中落入字符 b 的區(qū)間內(nèi),立即輸出字符 b,并得出三個(gè)字符新的概率分布。類似壓縮時(shí)采用的方法,我們按照新的概率分布劃分字符 b 的區(qū)間。在新的劃分中,我們發(fā)現(xiàn) 0.64 落入了字符 c 的區(qū)間,我們可以輸出字符 c。同理,我們可以繼續(xù)輸出所有的字符,完成全部解壓縮過程。2小數(shù)存儲(chǔ)方法如果信息內(nèi)容特別豐富,我們要輸出的小數(shù)將會(huì)很長很長,該
29、如何在內(nèi)存中表示如此長的小數(shù)呢?其實(shí),沒有任何必要在內(nèi)存中存儲(chǔ)要輸出的整個(gè)小數(shù)。從上面的例子可以知道,在編碼的進(jìn)行中,會(huì)不斷地得到有關(guān)要輸出小數(shù)的各種信息。具體地講,當(dāng)我們將區(qū)間限定在 0.6390 - 0.6501 之間時(shí),我們已經(jīng)知道要輸出的小-13-數(shù)第一位(十進(jìn)制)一定是 6,那么我們完全可以將 6 從 輸出區(qū)間的上限-壓縮前 0.0 1.0輸入 b 0.0 0.5輸入 c 0.25 0.5輸入 c 0.375 0.5輸入 b 0.375 0.4375最后的輸出區(qū)間在 0.375 - 0.4375 之間,甚至連一個(gè)十進(jìn)制位都沒有確定,也就是說,整個(gè)信息根本用不了一個(gè)十進(jìn)制位。自適應(yīng)模型
30、既然使用靜態(tài)模型可以很好地接近熵值,為什么還要采用自適應(yīng)模型呢?要知道,靜態(tài)模型無法適應(yīng)信息多樣性,例如,上面得出的概率分布沒法在所有待壓縮信息上使用,為了能正確解壓縮,我們必須再消耗一定的空間保存靜態(tài)模型統(tǒng)計(jì)出的概率分布,保存模型所用的空間將使我們重新遠(yuǎn)離熵值。其次,靜態(tài)模型需要在壓縮前對(duì)信息內(nèi)字符的分布進(jìn)行統(tǒng)計(jì),這一統(tǒng)計(jì)過程將消耗大量的時(shí)間,使得本來就比較慢的算術(shù)編碼壓縮更加緩慢。另外還有最重要的一點(diǎn),對(duì)較長的信息,靜態(tài)模型統(tǒng)計(jì)出的符號(hào)概率是該符號(hào)在整個(gè)信息中的出現(xiàn)概率,而自適應(yīng)模型可以統(tǒng)計(jì)出某個(gè)符號(hào)在某一局部的出現(xiàn)概率或某個(gè)符號(hào)相對(duì)于某一上下文的出現(xiàn)概率,換句-14-話說,自適應(yīng)模型得到
31、的概率分布將有利于對(duì)信息的壓縮(可以說結(jié)合上下文的自適應(yīng)模型的信息熵建立在更高的概率層次上,其總熵值更?。?,好的基于上下文的自適應(yīng)模型得到的壓縮結(jié)果將遠(yuǎn)遠(yuǎn)超過靜態(tài)模型。自適應(yīng)模型的階通常用“階”(order)這一術(shù)語區(qū)分不同的自適應(yīng)模型。前面例子中采用的是 0 階自適應(yīng)模型,該例子中統(tǒng)計(jì)的是符號(hào)在已輸入信息中的出現(xiàn)概率,沒有考慮任何上下文信息。如果我將模型變成統(tǒng)計(jì)符號(hào)在某個(gè)特定符號(hào)后的出現(xiàn)概率,那么,模型就成為了 1 階上下文自適應(yīng)模型。舉個(gè)例子要對(duì)一篇英文文本進(jìn)行編碼,已經(jīng)編碼了 10000 個(gè)英文字符,剛剛編碼的字符是 t,下一個(gè)要編碼的字符是 h。我們?cè)谇懊娴木幋a過程中已經(jīng)統(tǒng)計(jì)出前 10
32、000 個(gè)字符中出現(xiàn)了 113 次字母 t,其中有 47 個(gè) t 后面跟著字母 h。我們得出字符 h 在字符 t 后的出現(xiàn)頻率是 47/113,我們使用這一頻率對(duì)字符 h 進(jìn)行編碼,需要 -log2(47/113) = 1.266 bit。對(duì)比 0 階自適應(yīng)模型,如果前 10000 個(gè)字符中 h 的出現(xiàn)次數(shù)為 82 次,則字符 h 的概率是 82/10000,我們用此概率對(duì) h 進(jìn)行編碼,需要 -log2(82/10000) = 6.930 bit??紤]上下文因素的優(yōu)勢(shì)顯而易見。還可以進(jìn)一步擴(kuò)大這一優(yōu)勢(shì),例如要編碼字符 h 的前兩個(gè)字符是 gt,而在已經(jīng)編碼的文本中 gt 后面出現(xiàn) h 的概率
33、是 80%,那么我們只需要 0.322 bit就可以編碼輸出字符 h。此時(shí),使用的模型叫做 2 階上下文自適應(yīng)模型。最理想的情況是采用 3 階自適應(yīng)模型。此時(shí),如果結(jié)合算術(shù)編碼,對(duì)信息的壓縮效果將達(dá)到驚人的程度。采用更高階的模型需要消耗的系統(tǒng)空間和時(shí)間至少在目前還無法讓人接受,使用算術(shù)壓縮的應(yīng)用程序大多數(shù)采用 2 階或 3 階的自適應(yīng)模型。五、實(shí)驗(yàn)步驟項(xiàng)目文件建立步驟同實(shí)驗(yàn)二,下面列出對(duì)給定序列的算術(shù)編碼步驟:步驟1:編碼器在開始時(shí)將“當(dāng)前間隔” l, h) 設(shè)置為0,1)。步驟2:對(duì)每一事件,編碼器按步驟(a)和(b)進(jìn)行處理(a)編碼器將“當(dāng)前間隔”分為子間隔,每一個(gè)事件一個(gè)。(b)一個(gè)子
34、間隔的大小與下一個(gè)將出現(xiàn)的事件的概率成比例,編碼器選擇子間隔對(duì)應(yīng)于下一個(gè)確切發(fā)生的事件相對(duì)應(yīng),并使它成為新的“當(dāng)前間隔”。-15-步驟3:最后輸出的“當(dāng)前間隔”的下邊界就是該給定事件序列的算術(shù)編碼。六、實(shí)驗(yàn)報(bào)告要求1 按照實(shí)驗(yàn)一附3中實(shí)驗(yàn)報(bào)告樣式提交本次實(shí)驗(yàn)報(bào)告。2 算術(shù)編碼學(xué)習(xí)心得,特別是根據(jù)自適應(yīng)模型0階編碼,調(diào)整概率分布方法。根據(jù)自己實(shí)驗(yàn)情況,寫出自己的做實(shí)驗(yàn)中遇到的具體問題,對(duì)本實(shí)驗(yàn)提出建議。七、實(shí)驗(yàn)注意事項(xiàng)1. 幾個(gè)重要概念在實(shí)驗(yàn)前一定搞清楚:1)編碼概論累加分布;2)編碼區(qū)間上限和下限迭代算法;3)自適應(yīng)模型0階的編碼原理。2. 程序設(shè)計(jì)時(shí)注意內(nèi)容:1)基本概論模型的確定(等概率分
35、布,255個(gè)字符);2)自適應(yīng)調(diào)整概率分布;3)e1/e2/e3 放大原理,及它們之間關(guān)系(認(rèn)真閱讀參考資料);4)理解從buffer中寫bit和讀bit的方法;5)理解字節(jié)對(duì)齊的方法。八、思考題能否根據(jù)算法流程和c+源代碼寫出matlab下算術(shù)編碼程序? -16-實(shí)驗(yàn)四 crc校驗(yàn)碼編碼實(shí)驗(yàn)(2學(xué)時(shí)) 一、實(shí)驗(yàn)?zāi)康?學(xué)習(xí)crc編碼基本流程, 學(xué)會(huì)調(diào)試循環(huán)冗余校驗(yàn)碼編碼程序。2掌握crc校驗(yàn)碼的編碼原理,重點(diǎn)掌握按字節(jié)(byte)編碼方法。二、實(shí)驗(yàn)內(nèi)容1根據(jù)實(shí)驗(yàn)原理掌握crc校驗(yàn)碼編碼/解碼基本流程。2在c+編譯器下能夠調(diào)試編碼算法每一個(gè)步驟,重點(diǎn)掌握按字節(jié)編碼的過程。三、實(shí)驗(yàn)儀器、設(shè)備1計(jì)算
36、機(jī)系統(tǒng)最低配置 256m內(nèi)存、p4 cpu。2c+ 編程軟件 visual c+ 7.0 (microsoft visual studio 2003)visual c+ 8.0 (microsoft visual studio 2005)四、實(shí)驗(yàn)原理1 crc校驗(yàn)碼介紹crc 校驗(yàn)的基本思想是利用線性編碼理論,在發(fā)送端根據(jù)要傳送的k 位二進(jìn)制碼序列,以一定的規(guī)則產(chǎn)生一個(gè)校驗(yàn)用的監(jiān)督碼(crc 碼)r 位,并附在信息后邊,構(gòu)成一個(gè)新的二進(jìn)制碼序列數(shù)共 (k+r) 位,最后發(fā)送出去。在接收端,則根據(jù)信息碼和crc碼之間所遵循的規(guī)則進(jìn)行檢驗(yàn),以確定傳送中是否出錯(cuò)。16位的crc 碼產(chǎn)生的規(guī)則是先將要
37、發(fā)送的二進(jìn)制序列數(shù)左移16位(乘以216)后,再除以一個(gè)多項(xiàng)式,最后所得到的余數(shù)既是crc 碼。求crc碼所采用模2 加減運(yùn)算法則,既是不帶進(jìn)位和借位的按位加減,這種加減運(yùn)算實(shí)際上就是邏輯上的異或運(yùn)算,加法和減法等價(jià),乘法和除法運(yùn)算與普通代數(shù)式的乘除法運(yùn)算是一樣,符合同樣的規(guī)律。接收方將接收到的二進(jìn)制序列數(shù)(包括信息碼和crc 碼)除以多項(xiàng)式,如果余數(shù)為0,則說明傳輸中無錯(cuò)誤發(fā)生,否則說明傳輸有誤。2按位計(jì)算crc一個(gè)二進(jìn)制序列數(shù)可以表示為 求此二進(jìn)制序列數(shù)的crc 碼時(shí),先乘以216后(左移16位),再除以多項(xiàng)式g(x) ,所得的余數(shù)就是所要求的crc 碼。-17- 可以設(shè): 其中q n (
38、x) 為整數(shù), r n (x) 為16位二進(jìn)制余數(shù),將上式代入前式得: 再設(shè): 其中qn-1(x) 為整數(shù), rn-1(x) 為16位二進(jìn)制余數(shù),繼續(xù)代入前式,多次迭代得到: 根據(jù)crc 的定義,很顯然,十六位二進(jìn)制數(shù)r0(x) 即是要求的crc碼。3按字節(jié)計(jì)算crc對(duì)于一個(gè)二進(jìn)制序列數(shù)可以按字節(jié)表示為下式,其中bn(x) 為一個(gè)字節(jié)(共8 位): 求此二進(jìn)制序列數(shù)的crc碼時(shí),先乘以216后(左移16位),再除以多項(xiàng)式g(x),所得的余數(shù)即是所要求的crc 碼。 可以設(shè): 其中qn(x) 為整數(shù), rn(x) 為16位二進(jìn)制余數(shù),將上式代入前式得:-18- 由于: 其中rnh8(x) 是rn
39、(x)的高八位, rnl8(x)是rn(x)的低八位,代入前式得到: 再設(shè): 其中qn-1(x ) 為整數(shù), rn-1(x ) 為16位二進(jìn)制余數(shù),繼續(xù)代入前式,多次迭代得到: 顯然,十六位二進(jìn)制數(shù)r0(x)即是要求的crc碼。五、實(shí)驗(yàn)步驟項(xiàng)目文件建立步驟同實(shí)驗(yàn)二,下面列出對(duì)給定字符串crc校驗(yàn)主要步驟: 步驟1:從主函數(shù)入口輸入一個(gè)字符串,并且確定按字節(jié)32位crc校驗(yàn)編碼,編碼多項(xiàng)式采用ccitt標(biāo)準(zhǔn)形式多項(xiàng)式。步驟2:調(diào)用編碼函數(shù),依次讀入字符串每個(gè)自己,進(jìn)行模2除法運(yùn)算。 步驟3:將原來字符串左移32位,將除法最后的余式追加到字符串的后32位中去,得到該字符串crc校驗(yàn)編碼結(jié)果。步驟4
40、:如果要解碼,首先確認(rèn)編碼多項(xiàng)式,然后將接收字符串除以編碼多項(xiàng)式。如果能夠整除,說明字符串在傳輸或存儲(chǔ)中沒有發(fā)生錯(cuò)誤;否則,表明字符串在傳輸或存儲(chǔ)中產(chǎn)生錯(cuò)誤,導(dǎo)致crc校驗(yàn)失敗。六、實(shí)驗(yàn)報(bào)告要求1 按照實(shí)驗(yàn)一附3中實(shí)驗(yàn)報(bào)告樣式提交本次實(shí)驗(yàn)報(bào)告。2 要求寫出crc校驗(yàn)編碼學(xué)習(xí)心得,最好是能夠結(jié)合硬件設(shè)計(jì)談一下校驗(yàn)編碼的設(shè)計(jì)體會(huì)。根據(jù)自己實(shí)驗(yàn)情況,寫出自己的做實(shí)驗(yàn)中遇到的具體問題,-19-對(duì)本實(shí)驗(yàn)提出建議。七、實(shí)驗(yàn)注意事項(xiàng)1幾個(gè)重要概念在實(shí)驗(yàn)前一定搞清楚:1) 模2 加減法 = 異或(xor)。2) 多項(xiàng)式的表示方法。3) crc 校驗(yàn)的基本理論a 可以參考前面文中的推導(dǎo)。b 自己通過一個(gè)除法運(yùn)算
41、推導(dǎo)。4) 常用的兩種方法:a bit 長度運(yùn)算b byte 長度運(yùn)算(可以將字節(jié)除法余式表保存下來,通過查表,計(jì)算比較快)2. 程序設(shè)計(jì)時(shí)注意高字節(jié)前,低字節(jié)后,采用通常理論推導(dǎo)公式編寫程序。b 低字節(jié)前,高字節(jié)后,采用向右移位方式。(這是數(shù)據(jù)通信中常用方式,多項(xiàng)式采用反轉(zhuǎn)多項(xiàng)式,添加余式時(shí)注意低位在前,高位在后)2) 注意寄存器初始值選擇ccitt 和crc32 如果用在通信中,常采用初始值為0xffff或0xffffffffl,可以開始糾正數(shù)字通信中幾個(gè)bit連續(xù)為0的情況。為保持其輸出和采用初始值為0xffff或0xffffffffl一致,最后crc校驗(yàn)值要與0xffff或0xffff
42、ffffl進(jìn)行異或運(yùn)算(xor)得到最終crc校驗(yàn)碼。八、思考題1掌握按字節(jié)編碼的過程,試著寫出crc校驗(yàn)編碼的matlab程序?2如何設(shè)計(jì)fpga實(shí)現(xiàn)crc校驗(yàn)計(jì)算? -20- 荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆
43、肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇
44、肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅
45、肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅
46、膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆
47、螅艿芅螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄
48、螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅
49、袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅
50、袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃
51、裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄
52、羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖
53、羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆袀腿膇蒂衿衿莂莈蒆羈膅芄薅肅莀薃薄螃膃葿薃裊荿蒅薂肇節(jié)莁薁膀肄蠆薀衿芀薅薀羂肅蒁蕿肄羋莇蚈螄肁芃蚇袆芆薂蚆肈聿薈蚅膁蒞蒄蚅袀膈莀蚄羃莃芆蚃肅膆薄螞螅莁蒀螁袇膄莆螀罿莀節(jié)蝿膁膂蟻蝿袁羅薇螈羃芁蒃螇肆肅荿螆?bào)\灯N螅袈肂薄襖羀芇蒀袃肂肀莆袃螂芆莂袂羄膈蝕袁肇莄薆
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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年華師大新版七年級(jí)生物下冊(cè)月考試卷含答案
- 2025年湘教新版九年級(jí)歷史下冊(cè)階段測(cè)試試卷含答案
- 2025年浙教版必修1歷史下冊(cè)月考試卷
- 2025年人教A新版七年級(jí)科學(xué)下冊(cè)階段測(cè)試試卷含答案
- 2025年蘇教新版九年級(jí)歷史下冊(cè)月考試卷
- 2025年仁愛科普版選擇性必修1語文上冊(cè)階段測(cè)試試卷含答案
- 二零二五版木材加工廢棄物處理合同3篇
- 二零二五年度苗圃場(chǎng)租賃與環(huán)保技術(shù)應(yīng)用合同3篇
- 承包協(xié)議合同(2篇)
- 二零二五版農(nóng)業(yè)用地流轉(zhuǎn)合同范本(含政府補(bǔ)貼條款)3篇
- 【語文】第23課《“蛟龍”探?!氛n件 2024-2025學(xué)年統(tǒng)編版語文七年級(jí)下冊(cè)
- 加強(qiáng)教師隊(duì)伍建設(shè)教師領(lǐng)域?qū)W習(xí)二十屆三中全會(huì)精神專題課
- 2024-2025學(xué)年人教版數(shù)學(xué)七年級(jí)上冊(cè)期末復(fù)習(xí)卷(含答案)
- 2024年決戰(zhàn)行測(cè)5000題言語理解與表達(dá)(培優(yōu)b卷)
- 四年級(jí)數(shù)學(xué)上冊(cè)人教版24秋《小學(xué)學(xué)霸單元期末標(biāo)準(zhǔn)卷》考前專項(xiàng)沖刺訓(xùn)練
- 2025年慢性阻塞性肺疾病全球創(chuàng)議GOLD指南修訂解讀課件
- (完整版)減數(shù)分裂課件
- 銀行辦公大樓物業(yè)服務(wù)投標(biāo)方案投標(biāo)文件(技術(shù)方案)
- 第01講 直線的方程(九大題型)(練習(xí))
- 微粒貸逾期還款協(xié)議書范本
- 人教版七年級(jí)上冊(cè)數(shù)學(xué)全冊(cè)課時(shí)練習(xí)帶答案
評(píng)論
0/150
提交評(píng)論