第二章 直接序列展頻通訊系統
3.4 幾種常用的檢錯碼
(1) 迴圈冗餘校驗碼(CRC 碼 )
二進位資訊位元串沿一條訊號線逐位元在部件之間或電腦之間傳送稱為串列傳 送。CRC (Cyclic Redundancy Check) 碼可以發現並糾正資訊串列讀寫、儲存或傳 送過程中出現的一位元、多位元錯誤,因此在記憶體讀寫和電腦之間通訊方面得到 廣泛應用。CRC 碼一般係指k位元資訊碼之後拼接r位校驗碼。應用 CRC 碼的關鍵,
是如何從k位元資訊位元簡便地得到r位元校驗位元(編碼)的值,以及如何判斷k+r 位的碼字是否正確。迴圈冗餘校驗碼係由要傳送的 k 位元資訊後附加一個 r 位元 的校驗序列構成,並以該迴圈碼進行發送和傳輸。 實現方法是:先生成多項式
( ) (
1) ( )
1G x = x+ G x ;其次,使用發送資料,移位元後作一個多項式F x 的係數;
( )
再發送用F x
( ) ( )
G x 得到餘數多項式係數(迴圈冗餘校驗位);然後接收端用同樣的 方法求得餘數多項式,與傳送的比較,若結果相同,則表示傳輸無誤;否則表示傳輸 有誤。c 碼多項式:二進位碼中的各位元可看作是一個多項式的係數,如碼 110101 的對應多項式為: 1x5+1x4+0x3+1x2+0x1+ =1 x5+x4+x2+ 。應用 CRC 碼時,要1 進行碼多項式運算。碼多項式運算是按係數亦或運算規則進行的。設K x 為
( )
k位元信息碼多項式,G x 為
( )
r 階(
r+ 位元生成碼多項式,1)
R x 為( )
r 位元餘式,就是校 驗 碼 多 項 式 。 則 最 後 得 到 的 待 傳 送 的 CRC 碼 的 k r+ 位 元 多 項 式 :
( ) ( ) ( )
F x =K x +R x ,其對應的二進位碼即為 CRC 碼。
d CRC 校驗碼編碼過程:取k位元資訊碼,再將其左移r位元,得到 k r+ 位元 二進位碼;用生成碼去模 2 除該二進位碼,得r為餘數。該餘數即為所得校驗碼;
將該校驗碼加在原資訊碼後,就構成待傳輸的 k r+ 位元 CRC 碼。
e CRC 碼的解碼過程:
檢錯:以生成多項式G x 對應的代碼去模 2 除收到的代碼
( )
T'( )
x ,若餘數為 0,糾錯:如果有錯誤,要先確定一個錯誤模式e x ,則有:
( )
T x( )
=T'( ) ( )
x +e x ;在如圖 3-4 中的資訊流編碼模型中,輸入輸出符號可以不同,可以用向量表
1 2
(3)迴旋碼 (Convolutinal code)
從一般的角度講,當前的編碼符號完全可以不僅受當前的資訊符號控制,而且
和 IIR 濾波器。
Y
i= ∑
iA Y
i k i− ,其中A
i為n行k列矩陣。由於其生成方法與 線性訊號系統中的迴旋乘積相類似,因而稱為迴旋碼。當從濾波器角度看時,輸入 輸出要用同一域中的元素。這樣輸入符號流應為GF q 上的( )
k維向量。輸出符號流為GF q 上的
( )
n維向量。D D
X
Y A
0A
1A
2圖 3-6 有限記憶
D D
X
Y A
0A
1A
2B
1B
2B
1圖 3-7 無限記憶
根據資訊碼元與監督碼元的約束關係分為:區塊碼和迴旋碼。迴旋碼也是將 k 個資訊位元編成n個位元,每個位元不但與本碼的其它位元關聯,而且與前面m個 碼段的位元也相互關聯。該碼的限制長度 (Constraint length) 為m+ 位元,其1 中m為暫存器個數。
以m = 2,A0 =
( )
1,1 T ,A1=( )
0,1 T ,A2=( )
1,1 T 為例,如前 3 個輸入為 110,則前 6 個輸出為 111010:
00
( )
h Ml 01(
l l)
h Ml 01nj 10(
l j, l j,)
(cross-over probability) p<0.5,依(3.5)式可知對應路徑計量可化簡為( )
log( ) ( )
, log( ) (
log 1)
符元rl j, =yl j, Es + ,其中η η為雙邊功率頻譜密度為N0 2之 AWGN 雜訊,E 為訊號s
( )
如考慮一迴旋編碼器如圖 3-10(a)所示,其籬笆模組 (trellis module) 繪於 圖 3-10(b)。假設訊息序列在編碼後隨即經由二元對稱通道傳送至接收端,並得序
( )
ˆ= 111,101, 011, 000,111,101, 011
y 。此路徑在籬笆圖中以粗黑線表示,解碼後之訊息
序列為xˆ=
(
10001)
。其中最終存活路徑的計量值為 6,表示在籬笆圖中與 r 相異的其 餘路徑上,沒有任何一條路徑與 r 之間的相異處少於 6 個位置。其中吾人注意到一 點,在某些狀態中,例如t= 之4 S ,有可能兩條進入此狀態的路徑皆不會被刪除。2 此種狀態指出進入此狀態的兩條路徑,其計量值是相等的。假使最終的存活路徑經 過任一個有此特性的狀態,則結果將有一條以上的最大相似路徑。意即不僅只有一 條路徑,其與 r 的距離為最小。從現實的觀點看,當發生權重計量值相等的情況時,其中的一條路徑將被任意的選為存活路徑,且不會影響到解碼錯誤率。
(a) 編碼器
(b) 籬笆模組
圖 3-10 (3,1,2)迴旋碼之編碼器與籬笆模組
圖 3-11 應用維特比演算法於籬笆圖之實例解說
迴旋碼的性能難以用自由距離完全描述。因為迴旋碼是面向流的編碼,自由距 離只影響其中相鄰若干位元的誤碼。碼長是無窮的,而自由距離是固定的,因此不 能用糾錯能力或檢錯能力來描述迴旋碼的性能。比較公平的一種描述是它的平均誤 位元速率,或在一定(較短)幀長的誤幀率,或者研究在某一位置開始發生一次錯 誤(序列)的機率
對於有限長度迴旋碼,它的重量估值函數代表了所有可能的編碼序列的重量分 佈情況。因此可以用來分析誤幀率和誤符號率。
誤幀率:
( )
e x p ( / )Z Es N0
k k
k
P E ≤ ∑ A Z
= −/ 0
( , )
1 , E s NS D e
F S D
= = −=
(3.5)誤位元率:
( ) (
,) /
exp( / 0)b i k k Z E Ns
j k
P E ≤ ∑∑ A Z L
= −/ 0
1,
1 F S D ( , )
S D e Es NL S
= = −= ∂
∂
………(3.6)(4)正交迴旋碼 (Orthogonal Convolutinal Code, OCC)
Viterbi 於 1967 年所提出正交迴旋碼之錯誤更正編碼技術[27],其編碼器之設 計如圖 3-12 所示。上層之位移暫存器電路為傳統迴旋碼之編碼器,下層電路為 Walsh-Hadamard 碼字產生器。每輸入一訊息位元,編碼器將由上層 k 個位移暫存器 之狀態以及迴旋碼與 WH 碼之間的連結方式,來決定其輸出碼字為 2 2kx kWH 矩陣中的 哪一列 WH 碼字,其特色為輸出碼字皆為正交。除了輸出碼字皆為 WH 碼字之外,正 交迴旋碼之架構與編、解碼方式,與傳統迴旋碼一致。然而正交迴旋碼特別之處,
因其編碼率很低R=1 2k ,因此 Viterbi 於 1990 年將 OCC 運用在 DS-CDMA 系統上,
取代展頻碼之擴展頻譜功能,進而得到系統效能之改善。
圖 3-12 正交迴旋碼編碼器之設計
第四章 基於直序展頻和錯誤更正碼結合的通訊系統設 計
4.1 設計思想.
在現代通訊中遇到的一個重要問題就是保證通訊系統的通訊容量的同時盡可能 提高通訊的可靠性。如前所述,展頻通訊具有很強的抗干擾性能,其多址能力、保 密、抗多重路徑等方面的優勢也倍受人們的關注,被廣泛應用於軍事與民用通訊中。
其中,直接序列展頻是最為典型的一種展頻方式。一般的直接序列展頻將資訊碼與 隨機碼進行模二加來獲得擴展後的序列。為了在帶限通道中保證抗干擾性能的同時 提高系統的資料傳輸率,可以採用 M 元展頻的方法[14]。另一方面,任何實際系統 的通道都是有干擾的,通道雜訊會影響通訊的可靠性。通訊理論已經證明,隨著通 道容量利用程度的提高,如不採取編碼措施,傳輸可靠性將會隨之下降。在給定條 件下兼顧系統的有效性和可靠性是通訊系統設計者始終關注的重要問題。提高通訊 系統可靠性常用方法之一是採用改錯碼技術,其中 FEC (前向糾錯) 技術在實際系統 中得到了廣泛的應用。FEC 技術就是編碼端在資料發送之前增加一定的冗餘,解碼 端利用這些冗餘來糾正通道中發生的錯誤,恢復原始資訊。它的主要優點是:不需 要回饋通道,解碼延遲固定,適用於即時傳輸系統[15]。
在傳統的直序展頻通訊系統上,前向糾錯編碼技術常常被使用來對訊息序列作 編碼,除了改善接收端的錯誤率,亦提升整體系統的通訊容量,如圖 4-1 所示。