羅雨薇,景文芳
(四川工商學(xué)院電子信息工程學(xué)院,四川 成都 611745)
隨著現(xiàn)代通信技術(shù)和計算機技術(shù)的快速發(fā)展,新的通信服務(wù)和信息服務(wù)每天都在不斷出現(xiàn),用戶對通信質(zhì)量和數(shù)據(jù)傳輸速率的要求也在不斷提高。在現(xiàn)代社會中,信道編碼廣泛用于衛(wèi)星通信,無人駕駛車輛的測量和控制,深空通信,移動通信,水聲通信和其他數(shù)字通信系統(tǒng),甚至用于某些無線通信標(biāo)準(zhǔn),如GSM,IS-95 和CDMA2000 等。隨著信道編碼理論和數(shù)字通信技術(shù)的不斷發(fā)展,信道編碼技術(shù)將越來越多地應(yīng)用于通信技術(shù)領(lǐng)域。提高信息傳輸?shù)挠行院涂煽啃砸恢笔峭ㄐ偶夹g(shù)所追求的目標(biāo),而信道編碼能夠顯著的提升信息傳輸?shù)目煽啃浴?/p>
1948年,信息論的奠基人C.E.Shannon 在他的開創(chuàng)性的“通信的數(shù)學(xué)理論”中,提出了著名的有噪信道編碼定理。他指出:對任何信道,只要信息傳輸速率R 不大于信道容量C,就一定存在這樣的編碼方法:在采用最大似然譯碼時,其誤碼率可以任意小。該定理在理論上給出了對給定信道通過編碼所能達(dá)到的編碼增益的上限,并指出了為達(dá)到理論極限應(yīng)采用的譯碼方法[4]。在數(shù)字通信系統(tǒng)中,利用糾錯碼或檢錯碼進行差錯控制的方式有三種:檢錯重發(fā)、前向糾錯和混合糾錯。在(n,k)分組碼中,若每一個監(jiān)督元都是碼組中某些信息元按模2 和得到的,即監(jiān)督元是信息元按線性關(guān)系相加而得到的,則稱為線性分組碼[6]。線性分組碼是一類重要的糾錯碼,應(yīng)用很廣泛,比如Hamming 碼、循環(huán)碼、BCH 碼和RS 碼都可以看作線性分組碼的特例。
本設(shè)計主要實現(xiàn)線性編碼中的Hamming 碼仿真,利用MATLAB 中的Simulink 模塊來實創(chuàng)建仿真模型,該系統(tǒng)模型圖是由信源Tx 模塊、噪音模塊、負(fù)責(zé)調(diào)制的Rx 模塊、糾錯模塊組成。加入高斯白噪音模塊是因為在通信系統(tǒng)中常見的熱噪音近似為白噪音,而白噪音的取值分布又正好滿足高斯分布;加入糾錯模塊是為了檢測在傳輸中是否存在差錯。Hamming 碼系統(tǒng)模型框圖如圖1 所示。
圖1 Hamming 碼系統(tǒng)模型框圖
圖1 中Tx 和Rx 是兩個子系統(tǒng),Tx 模塊是由信號發(fā)生器、漢明碼編譯器、緩沖儲存器、QPSK 基帶調(diào)制解調(diào)器以及輸出信號組成。數(shù)據(jù)經(jīng)過信號發(fā)生器輸入,分三路輸出,一路是直接輸出msg;一路是經(jīng)過漢明碼編碼器、緩沖器、QPSK 調(diào)制輸出Code;一路是經(jīng)過QPSK 解調(diào)輸出Uncode。信號發(fā)生器和漢明碼編譯模塊主要是完成信號的漢明碼編譯,緩沖器用以提高系統(tǒng)穩(wěn)定性,防止數(shù)據(jù)產(chǎn)生劇烈變化。Tx 子系統(tǒng)模型框圖如圖2 所示。
圖2 Tx 子系統(tǒng)模型框圖
該部分是漢明碼仿真的第二個子模塊Rx 模塊。編碼模塊是由編碼數(shù)據(jù)Code 經(jīng)過QPSK 調(diào)制器、解除緩沖器、延時器、緩沖器1、漢明碼編碼器,輸出Code1 組成;另外一路是未編碼數(shù)據(jù)直接輸入QPSK解調(diào)器解調(diào),得到未編碼信號。QPSK Demodulator Baseband 模塊參數(shù)設(shè)置與Tx 模塊中一致,因為經(jīng)過Hamming 編碼后,一幀數(shù)據(jù)由原來的4 個變?yōu)? 個。而QPSK 調(diào)制時,是以兩個比特為一組進行調(diào)制的,所以,進行譯碼時要重新恢復(fù)7 個比特為一幀數(shù)據(jù)。這個功能是通過Unbuffer、Delay、和Buffer 三個模塊完成的。Unbuffer 模塊的功能是把QPSK 模塊的輸出數(shù)據(jù)由幀形式轉(zhuǎn)換為抽樣數(shù)據(jù)形式。由于程序需要運行多次才能夠得到信噪比與誤比特率之間的關(guān)系,因此如果要繪制信噪比與誤比特率曲線關(guān)系圖,需要多次運行Hamming 碼仿真模型。
這部分主要設(shè)計線性編碼中的RS 編碼,利用MATLAB 中的Simulink 模塊來實創(chuàng)建仿真模型,RS 碼系統(tǒng)模型框圖如圖3 所示。
圖3 RS 碼系統(tǒng)模型框圖
RS 碼系統(tǒng)模型包括Tx 和Rx 子系統(tǒng),RS 碼系統(tǒng)模型圖是由信源Tx 模塊、無記憶二進制對稱信道模塊、負(fù)責(zé)調(diào)制的Rx 模塊、誤碼率計數(shù)器模塊組成。加入無記憶二進制對稱信道模塊是因為在通信系統(tǒng)中此信道的輸入誤碼率和輸出誤碼率都是相同的,具有較好的穩(wěn)定性。Tx 模型的運行主要是:數(shù)據(jù)經(jīng)過隨機整數(shù)發(fā)生器輸入,分兩路輸出;一路是經(jīng)過MATLAB Fcn5、MATLAB Fcn3、To Frame 輸出bit;一路是經(jīng)過RS 編碼變?yōu)闃颖?,再進入MATLAB Fcn 輸出Code。Tx 和Rx 子系統(tǒng)模型通過Simulink 模塊完成創(chuàng)建。
CRC 校驗的基本思想是利用線性編碼理論,在發(fā)送端根據(jù)要傳送一個n 比特的幀或報文,發(fā)送器生成一個r 比特的序列,稱為幀檢驗序列(FCS)。這樣形成的幀將由(n+r)比特組成[14]。這個幀剛好能被某個預(yù)先規(guī)定的數(shù)整除。接收器用相同的數(shù)去除外來的幀,結(jié)果無余數(shù),則認(rèn)為無差錯。為了傳輸?shù)恼_性,在接收端要有一個CRC 檢驗器。它的功能和發(fā)生器一樣,當(dāng)收到CRC 冗余校驗碼后,做同樣的模2 除法。如果余數(shù)是0,則說明傳輸正確;否則,傳輸錯誤,應(yīng)重傳。
仿真部分代碼如下:
在線性信道編碼中,首先對漢明碼進行仿真分析,利用Hamming 碼系統(tǒng)模型,執(zhí)行ex3sim 文件后,繪制的Hamming 碼仿真結(jié)果如圖4 所示。
圖4 Hamming 碼仿真結(jié)果圖
在信噪比比較低時,不編碼的誤比特率要好于編碼的誤比特率,這是因為編碼雖然可以帶來編碼增益,但在傳輸總能量不變的情況下,由于傳輸每個編碼碼字中的比特能量減少,信噪比降低,由于信噪比降低而使誤碼率升高,而此時編碼增益很小,因此,編碼結(jié)果反而不如不編碼的結(jié)果。而在信噪比較高時,編碼增益要大于信噪比降低而導(dǎo)致的性能損失。當(dāng)信噪比為2dB 時,未編碼誤比特率為0.75,Hamming 編碼誤比特率為0.85;當(dāng)信噪比為4dB 時,未編碼誤比特率為0.65,Hamming 編碼誤比特率為0.75;當(dāng)信噪比為6dB 時,未編碼誤比特率和Hamming 編碼誤比特率均為0.055;當(dāng)信噪比大于6dB 時,Hamming 編碼結(jié)果要優(yōu)于不編碼的結(jié)果。
在線性信道編碼中,接下來對RS 碼進行仿真分析,利用RS 碼系統(tǒng)模型,執(zhí)行ex7sim 文件后,繪制的RS 碼仿真結(jié)果中,當(dāng)信噪比為2dB 時,未編碼誤比特率為0.11,RS 編碼誤比特率為0.21;當(dāng)信噪比為4dB 時,未編碼誤比特率和RS 編碼誤比特率均為0.85;當(dāng)信噪比為6dB 時,未編碼誤比特率為0.05,RS 編碼誤比特率為0.03??傮w來說在信噪比小于4dB時,未編碼誤比特率優(yōu)于RS 編碼。而在信噪比大于4dB 時,RS 編碼結(jié)果要優(yōu)于不編碼的結(jié)果。
在線性信道編碼中,最后對CRC 校驗碼進行仿真分析,利用CRC 校驗碼系統(tǒng)模型,執(zhí)行ex9sim 文件后,CRC-16 的檢測性能隨著信噪比的增加而提高。在信噪比大于5dB 時,CRC 檢測器發(fā)送錯誤判決的比率小于10-4,即每10000 個數(shù)據(jù)幀中只有一個幀在發(fā)送傳輸錯誤時未能被CRC 檢測器檢查出來。
四川工商學(xué)院學(xué)術(shù)新視野2021年4期