經過信源編碼和系統復接後生成的節目傳送碼流,通常需要通過某種傳輸媒介才能到達用戶接收機。通常情況下,編碼碼流並不能直接通過信道傳輸,必須經過信道編碼後,使其變成適合在信道中傳輸的形式後再進行傳輸。
DVB-S 的信道編碼主要包括
- 擾碼
- R-S 編碼
- 卷積交織
- 卷積編碼
擾碼#
數字通信理論在設計通信系統時都是假設傳輸比特流中 0 和 1 的出現概率是等概的,實際中的通信系統的設計指標等首先也是以該假設為前提的。
但是 TS(transport stream)碼流經過編碼後可能會出現連 0 或連 1 的情況,一方面破壞了系統設計的前提,另一方面連 0 或連 1 會使得比特時鐘的提取變得困難,因此,為保證在任何情況下進入 DVB 傳輸系統的數據碼流中 "0" 與 "1" 的概率都能基本相等,系統引入一個伪隨機序列對 TS 碼流進行 == 擾亂處理 ==,使得 0 和 1 的出現概率接近 50%。
擾亂改變了原 TS 碼流,因此在接收端對傳輸碼流糾錯解碼後,還需按逆過程對其進行解擾處理,以恢復原 TS 碼流。
在接收端對接收到的碼流逆編碼後,就可以恢復原 TS 碼流
原理#
傳送復用器輸出的 TS 流幀結構如圖所示:
第一個字節為同步字節,數值為 47H。每 8 個包組成一個超幀,並將第一個包的同步字節反轉,變為 B8H,後面的 7 個包的同步字節不變。同步字節不參與擾碼,其餘字節參與擾碼
伪隨機二進制序列(PRBS)生成器的多項式應為:
其擾碼過程如圖所示:
擾碼輸出如下圖所示:
R-S 編碼#
DVB-S 中使用的外層糾錯編碼為 R-S(204,188)碼,編碼效率 $ R_c=\frac {188}{204}=0.92 $ , 碼字長度為 8。
每個 TS 包獨立進行 R-S 編碼保護,生成一個 R-S 碼字,R-S 同步頭就採用 TS 的包頭,如此設計有以下好處:
- 當某個 R-S 碼字在接收端解碼時出現無法糾正的錯誤時,誤碼集中在一個 TS 包中,不會影響到其它的 TS 包,便於分接器進行差錯指示
- 便於分接器提取 TS 包的同步,簡化了 TS 包同步提取系統結構
R-S 碼字結構#
編碼原理#
對於定義在 $GF (2^m)$ 的 RS (n,k) 碼,$n=2^m-1$ ,生成多項式取
記 $ n-k=2t $ ,糾錯能力為 $t$,就是說如果編碼後的一組數據裡面出現了錯誤的數據個數不大於 t,那麼可以通過 n-k 個監督數據達到對錯誤數據糾正的目的
$g (x)$ 的係數屬於 $GF (2^m)$ , 生成矩陣 G 可表示為:
對矩陣 G 進行變換得到與其等價的矩陣 G_1 ,該矩陣由 k 階單位矩陣 $ \bold I $ 和 $k*(n-k) $ 階的矩陣 $ \bold A $ 組成 ,滿足
編碼結果可以表示為
其中矩陣 $ \bold R $ 有 $n-k$ 個監督符號,多項式表示為
因此經過 R-S 編碼後的碼多項式為
DVB-S 使用的 R-S 生成多項式為
其中 $ \lambda =02H $ ,為本原元,域生成多項式為
最小碼距為 17 字節
將 $G (x)$ 展開可得
假設信息多項式為
則使用 $x^{16}\times m (x) /g (x)$ 所得餘式的 16 個係數即為生成的 16 個校驗字節,將這 16 個字節添加到 188 個數據後就完成了 R-S 編碼
R-S (204,188,T=8) 碼幀結構#
卷積交織#
在編碼後加上卷積交織,使得數據的傳送順序按照一定的規律分散開,這樣可以使信道中突發性干擾造成的錯誤字符也被分散開來。
DVB-S 中交織採用卷積交織的方式,其交織深度為 204/17=12 ,下圖為交織和解碼的原理圖
它由 FIFO 組成,數據按行寫入寄存器,按列讀出。
交織過程如下:R-S 編碼碼字向第 0 到第 11 支路依次循環輸入數據,每條支路每次輸入一個字節,交織後的數據按相同的順序從各支路中輸出,每條支路每次輸出一個字節。R-S 碼字的同步頭永遠從第 0 支路,即無延時支路傳送。這樣交織後的數據流依然保持了 R-S 碼字的同步和長度
假設輸入的數據為從小到大的自然數,輸入的數據如下
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
---|---|---|---|---|---|---|---|---|---|---|---|
13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 |
37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 |
49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 |
61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 |
73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 |
85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 |
97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 |
109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 |
121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 |
133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 |
145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 |
157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 |
169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 |
181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 |
193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 |
205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 |
217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 |
經過交織模塊後可以得到如下輸出:
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|
13 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
37 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
49 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
61 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
73 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
85 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
97 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
109 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
121 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
133 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
145 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
157 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
169 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
181 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
193 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
205 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
217 | 14 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
因此,在卷積交織的輸出序列中,同一個誤碼包的任意兩個字節的最小距離為 12 字節,所以,R-S (204,188,T=8) 編碼加上卷積交織後糾錯的最大字節長度為 $ 8\times12=96 $ ,大大提高系統的糾錯能力。
卷積編碼#
DVB-S 的內碼編碼採用收縮卷積編碼,系統框圖如下
中間的方框代表一個 7 位的移位寄存器,兩個輸出 X、Y 的生成多項式分別為
該系統每個 clk 輸入 1bit 信息,有兩個模 2 加法器輸出 2bit 信息,且輸出的信息和移位寄存器內的當前信息和前 6 個信息都有關係,因此常用 (2,1,7) 來表示該卷積碼
QPSK#
數字信號理論頻譜帶寬無限寬,要想無失真的傳輸數字信號,要在無限帶寬信道中傳輸,而衛星系統的信道是帶限信道,因此需要對卷積編碼模塊輸出的信號進行成型濾波,使其與衛星信道匹配。
基帶成型濾波器一方面要降低傳輸中需要的帶寬,另一方面使碼間串擾降至最低。理論上來說,如果隨機數字碼元流的重複周期為 Ts,只要通過帶寬為 π/Ts 的理想濾波器後,在 $nTs$ 時刻抽樣,碼間干擾。由於理想 LPF 難以實現,因此選用升餘弦滾降濾波器,傳輸函數為
的升餘弦滾降濾波器滿足要求
$f_N=\frac {1}{2T_s}=\frac {R_s}{2}$ 為奈奎斯特頻率
傳輸帶寬 $B_r=\frac {1=\alpha}{2T_s} Hz$
頻帶利用率 $\eta=\frac {R_s}{B_r}=\frac {2}{1+\alpha} bit/Hz$
在 DVB-S 系統中滾降係數 $\alpha=0.35$
下圖為 QPSK 調製框圖: