




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優質文檔-傾情為你奉上精選優質文檔-傾情為你奉上專心-專注-專業專心-專注-專業精選優質文檔-傾情為你奉上專心-專注-專業目 錄 TOC o 1-3 h z u 摘 要在通信系統中,要提高信息傳輸的有效性,我們將信源的輸出經過信源編碼用較少的符號來表達信源消息,這些符號的冗余度很小,效率很高,但對噪聲干擾的抵抗能力很弱。為了提高信息傳輸的準確性,我們引進了差錯控制技術。而該技術采用可靠的,有效的信道編碼方法來實現的。糾錯碼是一種差錯控制技術,目前已廣泛應用于各種通信系統和計算機系統中,糾錯編碼主要用于數字系統的差錯控制,對于保證通信、存儲、媒體播放和信息轉移等數字傳遞過程的質量有著重要意義
2、,是通信、信息類科知識結構中不可缺少的一部分。本文系統地介紹了糾錯碼在數字系統中的應用和發展,以及糾錯碼的基本原理和含義,常用糾錯碼的簡介和分類,同時也介紹了Vc+6.0的基本知識,以及如何應用Vc+實現hamming碼編碼器和譯碼器。關鍵字:通信系統、信道編碼、線性分組碼、Hamming碼AbstractIn the communications system, to enhance the effectiveness of information transmission, we will source the output after source coding with fewer s
3、ymbols to express the source of the news letter, the redundancy of these symbols is very small, very efficient, but the noise weak resistance to interference. In order to improve the accuracy of information transmission, we introduce error control techniques. The technology uses a reliable and effec
4、tive method of channel coding to achieve. Error-correcting code is an error control techniques have been widely used in various communications systems and computer systems, mainly used for error-correcting coding errors in digital control systems, to ensure communication, storage, media players and
5、digital transmission of information transfer the quality of the process of great significance, is the communications, information-type knowledge structure of subjects an indispensable part. This article introduces a systematic error-correcting codes in digital systems in the use and development, as
6、well as the basic principles of error-correcting codes and meaning of commonly used error-correcting codes and classified briefings, as well as Vc + +6.0, introduced the basic knowledge, and how Vc + + to achieve the application of hamming code encoder and decoder. Keywords: communication system, ch
7、annel coding, linear block codes, Hamming code第一章 數字通信中的編碼原理1.1 數字通信系統的組成通信系統是傳遞信息所需的一切技術設備的總和,包括信息源、發送設備、傳輸介質、信息接收者和接收設備。數字通信系統傳輸的數據是數字化了的信息。簡化的系統模型,如圖1所示。信 源MCRM信 宿糾錯碼譯碼器信 道糾錯碼編碼器干 擾圖1 簡化的通信系統模型信息源中,模擬信息源(如模擬式電話機、電視攝像機)輸出的是幅度連續變化的信號,離散信息源(如計算機)輸出的是離散的符號序列或文字。通過采樣和量化可以將模擬信息變換為離散信息。發送設備的基本功能是使不同種類和速
8、率的信息源與傳輸媒介相匹配,通常是將信息源產生的信息經過編碼,并變換為便于傳送的信號形式,送往傳輸介質。編碼包括信源編碼與信道編碼兩部分。信源編碼把連續消息變換為數字信號,信道編碼則使數字信號與傳輸介質匹配,提高傳輸的可靠性和有效性。調制是多種變換方式中最常見的一種。發送設備還包括為達到某些特殊要求所進行的各種處理,如多路復用、保密處理、糾錯編碼處理等。傳輸介質是發送設備到接收設備之間信號傳遞所經過的媒介。例如:電磁波、紅外線等無線傳輸介質,各種電纜、光纜、雙絞線等有線傳輸介質。傳輸過程中必然會引入熱噪聲、衰減、脈沖等干擾。介質的固有特性和干擾特性直接關系到編碼方式的選取。接收設備的基本功能是
9、完成對發送的反變換(解調、譯碼、解密等),從帶有干擾的信號中恢復出正確的原始信息;對于多路復用信號還包括解除多路復用和實現正確分路(或稱輸出掃描)。雙向通信要求通信雙方都有發送設備和接收設備,如果兩個方向共用一個傳輸媒介,則必須采用分頻或分時的辦法。信息的傳輸系統和交換系統組成完整的通信系統,直至構成復雜的通信網絡。1.2 編碼信道模型1、調制信道的模型在通信中,我們所關心的是已調信號經過信道后的結果,而不關心調制信道包括了什么樣的轉換器,也不管選用了什么樣的傳輸媒質,以及發生了怎樣的傳輸過程。也就是說,只關心調制信道的輸入與輸出。因此,可以用一個二端對網絡表示調制信道。這個二端對網絡包括了發
10、,收轉換器及傳輸媒質,然而,它具有什么性質呢?應注意,它相當于一個線性時變網絡,如圖2所示。 時 變 線 性 網 絡圖2 調制信道模型其輸入與輸出的關系:式中:n(t) 是信道內噪聲,加性干擾。k(t) 是乘性干擾 (與ei(t)呈現非線性關系)。也可用多端對網絡表示調制信道,如圖3所示。圖3調制信道模型恒參信道的定義:如果k(t)不隨時間t變化或基本不變化,則稱恒參信道;隨參信道的定義:如果k(t)是隨機快變化的,則稱信道為隨參信道。二、編碼信道的模型由于編碼信道傳輸的是編碼后的數字信號,所以我們關心的是數字信號經信道傳輸后的差錯情況,即誤碼特性,所以編碼信道的模型用數字轉移概率來表示。1.
11、 無記憶信道:(信道內只存在起伏噪聲)特點:任意一個碼元的差錯與前后碼元的差錯不發生任何依賴關系。對于二進制碼,模型如圖4所示。圖4 二進制編碼信道模型當P(1/0)P(0/1)1/2 時,信道稱為二元對稱信道(BSC)。2. 有記憶信道:(信道內除起伏噪聲外,還存在衰落效應等)。特點:信號的傳輸與前后碼元有依賴關系,需用馬爾科夫鏈描述。1.3 信道編碼概述數字信號在傳輸中往往由于各種原因,使得在傳送的數據流中產生誤碼,從而使接收端產生圖象跳躍、不連續、出現馬賽克等現象。所以通過信道編碼這一環節,對數碼流進行相應的處理,使系統具有一定的糾錯能力和抗干擾能力,可極大地避免碼流傳送中誤碼的發生。誤
12、碼的處理技術有糾錯、交織、線性內插等。 信道編碼理論是指通過信道編碼器和譯碼器實現的用于提高信道可靠性的理論和方法,是信息論的內容之一。提高數據傳輸效率,降低誤碼率是信道編碼的任務。信道編碼的本質是增加通信的可靠性。但信道編碼會使有用的信息數據傳輸減少,信道編碼的過程是在源數據碼流中加插一些碼元,從而達到在接收端進行判錯和糾錯的目的,這就是我們常常說的開銷。這就好象我們運送一批玻璃杯一樣,為了保證運送途中不出現打爛玻璃杯的情況,我們通常都用一些泡沫或海棉等物將玻璃杯包裝起來,這種包裝使玻璃杯所占的容積變大,原來一部車能裝5000各玻璃杯的,包裝后就只能裝4000個了,顯然包裝的代價使運送玻璃杯
13、的有效個數減少了。同樣,在帶寬固定的信道中,總的傳送碼率也是固定的,由于信道編碼增加了數據量,其結果只能是以降低傳送有用信息碼率為代價了。將有用比特數除以總比特數就等于編碼效率了,不同的編碼方式,其編碼效率有所不同。 例如,數字電視中常用的糾錯編碼,通常采用兩次附加糾錯碼的前向糾錯(FEC)編碼。前向糾錯碼(FEC)的碼字是具有一定糾錯能力的碼型,它在接收端解碼后,不僅可以發現錯誤,而且能夠判斷錯誤碼元所在的位置,并自動糾錯。這種糾錯碼信息不需要儲存,不需要反饋,實時性好。所以在廣播系統(單向傳輸系統)都采用這種信道編碼方式。信道編碼大致分為兩類 :信道編碼定理,從理論上解決理想編碼器、譯碼器
14、的存在性問題,也就是解決信道能傳送的最大信息率的可能性和超過這個最大值時的傳輸問題。構造性的編碼方法以及這些方法能達到的性能界限。一方面,無線信道的惡劣性使接受信號展現出非常差的錯誤率,迫使譯碼器在非常低的信噪比下工作。另一方面,“頻帶”是無線通信系統寶貴而緊張的資源,尤其是在用戶密集的鬧市區和室內通信系統中。為此,對編譯碼器的設計提出了很高的要求,驅使譯碼要充分用到所以已知的信號特點;而且,會占用帶寬信息的“冗余”必須謹慎使用。與此同時,集成電路技術的快速發展也使得信道編譯碼器四要素,即系統性能、寬帶資源、傳輸約束條件和實現復雜度可以再更高層次上獲得平衡,這促使了信道編譯碼技術應用于民用數字
15、通信系統中,尤其是無線通信系統中。第二章 線性分組碼2.1 線性分組碼的基本概念通信的根本任務是遠距離傳遞信息,因而如何準確地傳輸數字信息是數字通信的一個重要組成部分。而線性碼具有糾錯能力,目前已廣泛用于各種通信系統和計算機系統中。線性分組碼(n,k)中許用碼字(組)為2k個。定義線性分組碼的加法為模2和,乘法為二進制乘法。即1+1=0、1+0=1、0+1=1、0+0=0;11=1、10=0、00=0、01=0。且碼字與碼字的運算在各個相應比特位上符合上述二進制加法運算規則。線性分組碼具有如下性質(n,k)的性質:1、封閉性。任意兩個碼組的和還是許用的碼組。2、碼的最小距離等于非零碼的最小碼重
16、。對于碼組長度為n、信息碼元為k位、監督碼元為rnk位的分組碼,常記作(n,k)碼,如果滿足2r1n,則有可能構造出糾正一位或一位以上錯誤的線性碼。一個編碼系統中任意兩個合法編碼(碼字)之間不同的二進數位(bit)數叫這兩個碼字的碼距,而整個編碼系統中任意兩個碼字的的最小距離就是該編碼系統的碼距。碼距越大,糾錯能力越強,但數據冗余也越大,即編碼效率低了。所以,選擇碼距要取決于特定系統的參數。線性碼具有很多優點。首先,線性碼比非線性碼更容易編碼和譯碼。其次,線性碼傳送信息更快。而且碼的所有碼字可由它的基底表示,線性碼的最小距離和它的最小重量相等。2.2 線性碼的編碼和譯碼下面的圖5敘述的是通信系
17、統的一個基本模式,它表示了信道編碼、譯碼的基本流程。圖5 信道編譯碼基本流程信息源的信息m1 m2mk編碼為碼字c1 c2cn,通過可能受到干擾的信道傳送,這時收到的碼字可能不是發送的碼字,譯碼器將決定并盡可能糾正出現的錯誤,最后終端收到理想的結果。2.2.1線性碼的編碼在通信中信息一般是用一串長度固定的符號序列來表示的。編碼就是把字符(letter)轉變成數碼。設長度為n,空間維數k的線性碼,有生成矩陣G,則xG=x1g1+x2 g2+xngn,其中G=,且例設C是長度5,空間維數3的線性碼,其生成矩陣為設下列碼字各表示一個字母000 100 010 001 110 101 011 111A
18、 S T Y E B H F將信息“SAFETY”編碼為S(100)G=10110A(000)G=00000F(111)G=11000E(110)G=11101T(010)G=01011Y(001)G=00101于是所得的碼為。2.2.2線性碼的譯碼假設碼字x=x1x2xn是沿著信道傳送的碼字,假如收到的字是y=y1y2yn。我們定義誤差為e=y-x=e1 e2en。這時編碼器必須決定這里的y就是信源集發送的碼字x。該過程在線性碼的譯碼過程中,將完成如何把出現的誤差化為零,或者說如何把碼字y糾正為x。如圖6所示。圖6線性碼通信模型例設C為一個4,2-code,其生成矩陣為事實上碼C是線性碼,于
19、是可以找出它的基底就是1011,0101因此,易知碼C為C=0000,1011,0101,1110。下面可以求碼C的陪集a+C, 即0000101101011110 100000111101011001001111000110100010100101111100不難看出,第一行就是碼C,第一列的選擇是具有最小重量碼字,稱之為陪集首(coset leader)。假設發送的信息為10,編碼為x=1011,而通過信道傳送接收的是y=1111,處在上面矩陣的第三行,于是譯碼器決定出現的錯誤是0100,與y具有相同的行,此時將收到y的被譯碼為x=y-e=1111-0100=1011,而它處在與y相同例的
20、第一個元素。這個就是發送的信息,于是終端收到了理想的結果。因此,在線性碼的譯碼過程中需要算出碼C的陪集a+C,通常選0為碼C的陪集首(coset leader)。0+C作為上面表格的第一行,收到的碼字從上面的表中查出所處的位置。2.3 Hamming(漢明)碼當計算機存儲或移動數據時,可能會產生數據位錯誤,這時可以利用漢明碼來檢測并糾錯,簡單的說,漢明碼是一個錯誤校驗碼碼集,由Bell實驗室的R.W.Hamming發明,因此定名為漢明碼。以典型的4位數據編碼為例,漢明碼將加入3個校驗碼,從而使實際傳輸的數據位達到7個(位),如表1。表1 4位數據編碼數據位1234567代碼P1P2D8P3D4
21、D2D1說明第1個漢明碼第2個漢明碼第1個數據碼第3個漢明碼第2個數據碼第3個數據碼第4個數據碼注:Dx中的x是2的整數冪結果,多少冪取決于碼位,D1是0次冪,D8是3次冪。現以數據碼1101為例,闡述漢明碼的編碼原理。此時D8=1、D4=1、D2=0、D1=1。在P1編碼時,先將D8、D4、D1的二進制碼相加,結果為奇數3,漢明碼對奇數結果編碼為1,偶數結果為0,因此P1值為1。D8+D2+D1=2,為偶數,那么P2值為0。D4+D2+D1=2,為偶數,P3值為0。這樣參照上文的位置表,漢明碼處理的結果就是。在這個4位數據碼的例子中,我們可以發現每個漢明碼都是以三個數據碼為基準進行編碼。它們
22、的對應關系如表2所示。表2 對應關系漢明碼編碼用的數據碼P1D8、D4、D1P2D8、D2、D1P3D4、D2、D1從編碼形式上,可以發現漢明碼是一種校驗很嚴謹的編碼方式。在這個例子中,通過對4個數據位的3個位的3次組合檢測,來達到具體碼位的校驗與修正目的。在校驗時,則把每個漢明碼與各自對應的數據位值相加,如果結果為偶數(糾錯代碼為0)就是正確,如果為奇數(糾錯代碼為1),則說明當前漢明碼所對應的三個數據位中有錯誤,此時再通過其他兩個漢明碼各自的運算,來確定具體是哪個位出了問題。還是剛才的1101的例子,正確的編碼應該是,如果第三個數據位在傳輸途中因干擾而變成了1,就成了。檢測時,P1+D8+
23、D4+D1的結果是偶數4,第一位糾錯代碼為0,正確。P1+D8+D2+D1的結果是奇數3,第二位糾錯代碼為1,有錯誤。P3+D4+D2+D1的結果是奇數3,第三位糾錯代碼代碼為1,有錯誤。那么具體是哪個位有錯誤呢?三個糾錯代碼從高到低排列為二進制編碼110,換算成十進制就是6,也就是說第6位數據錯了,而數據第三位在漢明碼編碼后的位置正好是第6位。那么漢明碼的數量與數據位的數量之間有何比例呢?上面的例子中數據位是4位,加上3位漢明碼是7位,而2的3次冪是8。這其中就存在一個規律,即2PP+D+1,其中P代表漢明碼的個數,D代表數據位的個數,比如4位數據,加上1就是5,而能大于5的2的冪數就是3(
24、23=8,22=4)。這樣,我們就能算出任何數據位時所需要的漢明碼位數:7位數據時需要4位漢明碼(244+7+1),64位數據時就需要7位漢明碼(2764+7+1),可以依此推算。另外,漢明碼加插的位置也是有規律的。以四位數據為例,第一個是漢明碼是第一位,第二個是第二位,第三個是第四位,1、2、4都是2的整數冪結果,而這個冪次數是從0開始的整數。這樣可以推斷出來,漢明碼的插入位置為1(20)、2(21)、4(22)、8(23)、16(24)、32(25)。第三章 Hamming碼的編程實現 3.1 VC+6.0開發環境C+是一種靜態數據類型檢查的,支持多重編程范式的通用程序設計語言。它支持過程
25、化程序設計、數據抽象、面向對象程序設計、泛型程序設計等多種程序設計風格。嚴格的來說VC+不是門語言,雖然它和C+之間有密切的關系,如果形象點比喻的話,可以C+看作為一種”工業標準”,而VC+則是某種操作系統平臺下的”廠商標準”,而”廠商標準”是在遵循”工業標準”的前提下擴展而來的。 VC+是微軟公司開發的一個IDE(集成開發環境),換句話說,就是使用c+的一個開發平臺,是Windows平臺上的C+編程環境。Visual C+6.0是微軟公司推出的開發Win32應用程序(Windows 95/98/2000/XP/NT)的、面向對象的可視化集成工具。它的最大優點就是提供了功能強大的MFC類庫,M
26、FC是一個很大的C+類層次結構,其中封裝了大量的類及其函數,很多Windows程序所共有的標準內容可以由MFC的類來提供,MFC類為這些內容提供了用戶接口的標準實現方法,程序員所要做的就是通過預定義的接口把具體應用程序特有的東西填入這個輪廓,這將簡化編程工作,大大的減少程序員編寫的代碼數量,使編程工作變得更加輕松容易。Visual C+6.0開發環境如圖7所示。代碼編輯區工作區圖7 Visual C+6.0 開發環境從主體上看VC+6.0可以分為三大部分Developer Studio、MFC、Platform SDK。這是一個集成開發環境,我們日常工作的99%都是在它上面完成的。3.2 Ha
27、mming碼編譯碼器的設計首先構造最佳奇權碼的校驗矩陣即H矩陣,最佳奇權碼的H矩陣應滿足:(1)每列含有奇數個1,且無相同列;(2)總的1的個數少,所以校驗位、伴隨式生成表達式中的半加項數少,從而生成邏輯所需的半加器少,可以節約器材、降低成本和提高可靠性。(3)每行中1的個數盡量相等或接近某個平均值,這種決定了生成邏輯及其級數的一致性,不僅譯碼速度快,同時線路勻稱。譯碼時把數據再次編碼所得到的新校驗位與原校驗位模二加,便得到伴隨式S,由其可判別錯誤類型。(1)若S0,則認為沒有錯誤;(2)若S0,且S含有奇數個1,則認為產生了單位錯;(3)若S0,且S含有偶數個1,則認為產生了兩位錯;其中的情
28、況(2)中,根據錯誤圖樣可以確定錯誤位置,將其取反即可完成糾錯因為對用戶而言真正有用的是數據,校驗位是無用的。為了節省時間和器材,只對數據糾錯,而對校驗位不進行糾錯,糾錯后的數據也不再寫回存儲器。hammingDlg.cpp部分代碼如下:void CHammingDlg:OnButtonEncode() UpdateData(true);int i;char str=;for (i=0;i7;i+)if(m_inputi=0)input6-i=0;elseinput6-i=1;encodeout2=input0;encodeout4=input1;encodeout5=input2;encod
29、eout6=input3;encodeout8=input4;encodeout9=input5;encodeout10=input6;encodeout0=input0input1input3input4input6;encodeout1=input0input2input3input5input6;encodeout3=input1input2input3;encodeout7=input4input5input6;for (i=0;i11;i+)if(encodeouti=0)str10-i=0;elsestr10-i=1;m_encodeout=str;UpdateData(false); void CHammingDlg:OnButtonNoise() srand(unsigned)time(NULL); m_noisebit=rand()%11;encodeoutm_noisebit-1=encod
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《可口可樂營銷策略》課件
- 鐵道機車專業教學張瓊潔課件
- 雙語客運值班員客運站的設備組成課件
- 雙語列車長安全管理規定課件
- 鐵路市場營銷成本導向定價法課件
- 管道支吊架調整施工方案
- 《GB 19147-2016車用柴油》(2025版)深度解析
- 中華傳統文化課課件
- 大學生職業規劃大賽《種子科學與工程專業》生涯發展展示
- 個人職業能力訓練課件
- 2024年榆林能源集團有限公司招聘工作人員筆試真題
- 山東省濰坊市高密市2024-2025學年七年級下學期4月期中數學試題(原卷版+解析版)
- 防汛抗旱合同協議
- 征地補償的合同范本
- 2025年新高考歷史預測模擬試卷3(含答案)
- 船舶壓載水和沉積物接收處理技術要求編制說明
- 區域總經銷商合同范本
- 保潔員安全知識培訓課件
- 行政管理本科畢業論文-鄉鎮政府公共政策執行力存在的問題及對策研究
- 政治薪火相傳的傳統美德教學設計 2024-2025學年七年級道德與法治下冊(統編版2024)
- 2024-2025學年七年級數學北師大版(2024)下學期期中考試模擬卷A卷(含解析)
評論
0/150
提交評論