一、概述
數字信號在傳輸中往往由于各種原因,使得在傳送的數據流中產生誤碼,從而使接收端產生如圖像跳躍、不連續、出現馬賽克等現象。所以通過信道編碼這一環節,對數碼流進行相應的處理,使系統具有一定的糾錯能力和抗干擾能力,可極大地避免碼流傳送中誤碼的發生。誤碼的處理技術有糾錯、交織、線性內插等。
提高數據傳輸效率,降低誤碼率是信道編碼的任務。信道編碼的本質是增加通信的可靠性。但信道編碼會使有用的信息數據傳輸減少,信道編碼的過程是在源數據碼流中加插一些碼元,從而達到在接收端進行判錯和糾錯的目的,這就是我們通常說的開銷。這就好像我們運送一批玻璃杯一樣,為了保證運送途中不出現打爛玻璃杯的情況,我們通常都用一些泡沫或海棉等物將玻璃杯包裝起來,這種包裝使玻璃杯所占的容積變大,原來一部車能裝5000個玻璃杯的,包裝后就只能裝4000個了,顯然包裝的代價使運送玻璃杯的有效個數減少了。同樣,在帶寬固定的信道中,總的傳送碼率也是固定的,由于信道編碼增加了數據量,其結果只能是以降低傳送有用信息碼率為代價了。將有用比特數除以總比特數就等于編碼效率了,不同的編碼方式,其編碼效率有所不同。
這里結合數字視頻廣播(DVB)技術以說明信道編碼技術及應用。大家知道DVB依據傳輸媒介一般有3種傳輸模式:衛星傳輸(DVB-S)、電纜傳輸(DVB-C)和地面無線傳輸(DVB-T),這3種模式由于其傳輸信道的不同,所應用的信道編碼技術也是不同的。
在數字視頻廣播(DVB)技術中常用的糾錯編碼,通常采用兩次附加糾錯碼的前向糾錯(FEC)編碼。RS編碼屬于第一個FEC,188字節后附加16字節RS碼,構成(204,188)RS碼,這也可以稱為外編碼。第二個附加糾錯碼的FEC一般采用卷積編碼,又稱為內編碼。外編碼和內編碼結合一起,稱之為級聯編碼。級聯編碼后得到的數據流再按規定的調制方式對載頻進行調制。
前向糾錯碼(FEC)的碼字是具有一定糾錯能力的碼型,它在接收端解碼后,不僅可以發現錯誤,而且能夠判斷錯誤碼元所在的位置,并自動糾錯。這種糾錯碼信息不需要儲存,不需要反饋,實時性好。所以在電視廣播系統(單向傳輸系統)都采用這種信道編碼方式。下圖1是糾錯碼的各種類型。下面簡單介紹以下相關類型糾錯碼。
圖1:糾錯碼的類型
二、相關類型糾錯碼
1、RS編碼
RS碼即里德-所羅門碼,它是能夠糾正多個錯誤的糾錯碼,RS碼為(204,188,t=8),其中t是可抗長度字節數,對應的188符號,監督段為16字節(開銷字節段)。實際中實施(255,239,t=8)的RS編碼,即在204字節(包括同步字節)前添加51個全“0”字節,產生RS碼后丟棄前面51個空字節,形成截短的(204,188)RS碼。RS的編碼效率是:188/204。
2、卷積碼
卷積碼非常適用于糾正隨機錯誤,但是,解碼算法本身的特性卻是:如果在解碼過程中發生錯誤,解碼器可能會導致突發性錯誤。為此在卷積碼的上部采用RS碼塊,RS碼適用于檢測和校正那些由解碼器產生的突發性錯誤。所以卷積碼和RS碼結合在一起可以起到相互補償的作用。卷積碼分為兩種:
1)基本卷積碼:基本卷積碼編碼效率為:η=1/2,編碼效率較低,優點是糾錯能力強。
2)收縮卷積碼:如果傳輸信道質量較好,為提高編碼效率,可以采樣收縮截短卷積碼。有編碼效率為:η=1/2、2/3、3/4、5/6、7/8這幾種編碼效率的收縮卷積碼。編碼效率高,一定帶寬內可傳輸的有效比特率增大,但糾錯能力越減弱。
3、Turbo碼
1993年誕生的Turbo碼,單片Turbo碼的編碼/解碼器,運行速率達40Mb/s。該芯片集成了一個32×32交織器,其性能和傳統的RS外碼和卷積內碼的級聯一樣好。所以Turbo碼是一種先進的信道編碼技術,由于其不需要進行兩次編碼,所以其編碼效率比傳統的RS+卷積碼要好。
4、交織
在實際應用中,比特差錯經常成串發生,這是由于持續時間較長的衰落谷點會影響到幾個連續的比特,而信道編碼僅在檢測和校正單個差錯和不太長的差錯串時才最有效(如RS只能糾正8個字節的錯誤)。為了糾正這些成串發生的比特差錯及一些突發錯誤,可以運用交織技術來分散這些誤差,使長串的比特差錯變成短串差錯,從而可以用前向碼對其糾錯,例如:在DVB-C系統中,RS(204,188)的糾錯能力是8個字節,交織深度為12,那么糾可抗長度為8×12=96個字節的突發錯誤。
實現交織和解交織一般使用卷積方式。交織技術對已編碼的信號按一定規則重新排列,解交織后突發性錯誤在時間上被分散,使其類似于獨立發生的隨機錯誤,從而前向糾錯編碼可以有效的進行糾錯,前向糾錯碼加交織的作用可以理解為擴展了前向糾錯的可抗長度字節。糾錯能力強的編碼一般要求的交織深度相對較低。糾錯能力弱的則要求更深的交織深度。下圖2-4-1是交織的原理圖。
圖2-4-1:交織的原理圖
一般來說,對數據進行傳輸時,在發端先對數據進行FEC編碼,然后再進行交織處理。在收端次序和發端相反,先做去交織處理完成誤差分散,再FEC解碼實現數據糾錯。另外,從上圖可看出,交織不會增加信道的數據碼元。
根據信道的情況不同,信道編碼方案也有所不同,如在DVB-T里由于是無線信道且存在多徑干擾和其它的干擾,所以信道很“臟”,為此它的信道編碼是:RS+外交織+卷積碼+內交織。采用了兩次交織處理的級聯編碼,增強其糾錯的能力。RS作為外編碼,其編碼效率是188/204(又稱外碼率),卷積碼作為內編碼,其編碼效率有1/2、2/3、3/4、5/6、7/8五種(又稱內碼率)選擇,信道的總編碼效率是兩種編碼效率的級聯疊加。設信道帶寬8MHz,符號率為6.8966Ms/s,內碼率選2/3,16QAM調制,其總傳輸率是27.586Mbps,有效傳輸率是27.586x(188/204)x(2/3)=16.948Mbps,如果加上保護間隔的插入所造成的開銷,有效碼率將更低。
在DVB-C里,由于是有線信道,信道比較“干凈”,所以它的信道編碼是:RS+交織。一般DVB-C的信道物理帶寬是8MHz,在符號率為6.8966Ms/s,調制方式為64QAM的系統,其總傳輸率是41.379Mbps,由于其編碼效率為188/204,所以其有效傳輸率是41.379 x 188/204=38.134Mbps。
在DVB-S里,由于它是無線信道,所以它的信道編碼是:RS+交織+卷積碼。也是級聯編碼。下圖2-4-2是DVB-T、DVB-C、DVB-S各自的信道編碼方式。
圖2-4-2:DVB三種媒介各自的信道編碼方式
5、偽隨機序列擾碼
進行基帶信號傳輸的缺點是其頻譜會因數據出現連“1”和連“0”而包含大的低頻成分,不適應信道的傳輸特性,也不利于從中提取出時鐘信息。解決辦法之一是采用擾碼技術,使信號受到隨機化處理,變為偽隨機序列,又稱為“數據隨機化”和“能量擴散”處理。擾碼不但能改善位定時的恢復質量,還可以使信號頻譜平滑,使幀同步和自適應同步和自適應時域均衡等系統的性能得到改善。
擾碼雖然“擾亂”了原有數據的本來規律,但因為是人為的“擾亂”,在接收端很容易去加擾,恢復成原數據流。
實現加擾和解碼,需要產生偽隨機二進制序列(PRBS)再與輸入數據逐個比特作運算。PRBS也稱為m序列,這種m序列與TS的數據碼流進行模2加運算后,數據流中的“1”和“0”的連續游程都很短,且出現的概率基本相同。
利用偽隨機序列進行擾碼也是實現數字信號高保密性傳輸的重要手段之一。一般將信源產生的二進制數字信息和一個周期很長的偽隨即序列模2相加,就可將原信息變成不可理解的另一序列。這種信號在信道中傳輸自然具有高度保密性。在接收端將接收信號再加上(模2和)同樣的偽隨機序列,就恢復為原來發送的信息。
在DVB-C系統中的CA(條件接收)系統原理就源于此,只不過為了加強系統的保密性,其偽隨機序列是不斷變化的(10秒變一次),這個偽隨機序列又叫控制字(CW)。
欲進一步了解信道編碼原理的請進入。