banner
Moerjie

Moerjie

hello world

DVB-S学習記録-信道符号化

信号源符号化とシステム復接を経て生成された番組送信ビットストリームは、通常、何らかの伝送媒体を介してユーザー受信機に到達する必要があります。通常、符号化されたビットストリームは直接信道を通じて伝送できず、信道符号化を経て信道で伝送するのに適した形式に変換されてから伝送されます。

DVB-S の信道符号化は主に以下を含みます。

  • 擾乱符号
  • R-S 符号
  • 卷積インタリーブ
  • 卷積符号化

擾乱符号#

デジタル通信理論では、通信システムを設計する際に、伝送ビットストリーム中の 0 と 1 の出現確率が等しいと仮定しています。実際の通信システムの設計指標もまずこの仮定を前提としています。

しかし、TS(トランスポートストリーム)ビットストリームが符号化された後、連続して 0 または 1 が出現する場合があり、一方ではシステム設計の前提を破壊し、他方では連続した 0 または 1 がビットクロックの抽出を困難にします。したがって、DVB 伝送システムに入るデータビットストリーム中の "0" と "1" の確率が基本的に等しくなるように、システムは擾乱処理を行うために擾乱用の擾乱列を導入し、0 と 1 の出現確率を 50% に近づけます。

擾乱は元の TS ビットストリームを変更するため、受信側で伝送ビットストリームの誤り訂正デコードを行った後、逆のプロセスで擾乱解除処理を行い、元の TS ビットストリームを復元する必要があります。

受信側で受信したビットストリームを逆符号化すると、元の TS ビットストリームを復元できます。

原理#

送信多重化器から出力される TS ストリームフレーム構造は以下の通りです:

image-20231208204057822

最初のバイトは同期バイトで、値は 47H です。8 つのパケットで 1 つのスーパーフレームを構成し、最初のパケットの同期バイトを反転させて B8H にし、残りの 7 つのパケットの同期バイトはそのままにします。同期バイトは擾乱に参加せず、残りのバイトが擾乱に参加します。

擾乱用の擾乱二進数列(PRBS)生成器の多項式は次のようになります:

P(X)=1+X14+X15P(X)=1+X^{14}+X^{15}

その擾乱プロセスは以下の通りです:

image-20231208204647672

擾乱出力は以下の図の通りです:

image-20231208204732769

R-S 符号#

DVB-S で使用される外部誤り訂正符号は R-S(204,188)符号で、符号化効率は $ R_c=\frac {188}{204}=0.92 $ で、符号語の長さは 8 です。

各 TS パケットは独立して R-S 符号化保護を行い、1 つの R-S 符号語を生成します。R-S 同期ヘッダーは TS のパケットヘッダーを使用します。この設計には以下の利点があります:

  1. ある R-S 符号語が受信側でデコードされる際に訂正不可能なエラーが発生した場合、誤りは 1 つの TS パケットに集中し、他の TS パケットに影響を与えず、分接器による誤り指示が容易になります。
  2. 分接器が TS パケットの同期を抽出しやすくなり、TS パケット同期抽出システムの構造が簡素化されます。

R-S 符号語構造#

image

符号化原理#

$GF (2^m)$ で定義された RS (n,k) 符号について、$n=2^m-1$、生成多項式は次のように取ります。

g(x)=i=1i=nk(x+αi)=x2t+g2t1x2t1++g2x2+g1x+g0g(x)=\prod_{i=1}^{i=n-k}(x+\alpha^{i})= x^{2t}+g_{2t-1}x^{2t-1}+\cdots+g_{2}x^{2}+g_{1}x+g_{0}

ここで $ n-k=2t $ とし、誤り訂正能力を $t$ とします。つまり、符号化後のデータセット内に誤りのデータの個数が t 以下であれば、n-k 個の監視データを用いて誤りデータを訂正することができます。

$g (x)$ の係数は $GF (2^m)$ に属し、生成行列 G は次のように表されます:

G=[g2tg2t1g1g0000g2tg2g1g0000g2tg2t1g2t2g0]G=\begin{bmatrix}\mathrm{g_{2t}}&\mathrm{g_{2t-1}}&\cdots&\mathrm{g_{1}}&\mathrm{g_{0}}&0&\cdots&0\\0&\mathrm{g_{2t}}&\cdots&\mathrm{g_{2}}&\mathrm{g_{1}}&\mathrm{g_{0}}&\cdots&0\\\vdots&\vdots&\ddots&\vdots&\vdots&\vdots&\ddots&\vdots\\0&0&\cdots&\mathrm{g_{2t}}&\mathrm{g_{2t-1} }&\mathrm{g_{2t-2}}&\cdots&\mathrm{g_{0} }\end{bmatrix}

行列 G を変換して同等の行列 G_1 を得ます。この行列は k 次の単位行列 $ \bold I $ と $k*(n-k)$ 次の行列 $ \bold A $ から構成され、次の条件を満たします。

G1=[IA]=[100a1,1a1,2a1,nk010a2,1a2,2a2,nk001ak,1gk,2ak,nk]G_1=[I|A]=\begin{bmatrix}1&0&\cdots&0&a_{1,1}&a_{1,2}&\cdots&a_{1,n-k}\\0&1&\cdots&0&a_{2,1}&a_{2,2}&\cdots&a_{2,n-k}\\\vdots&\vdots&\ddots&\vdots&\vdots&\vdots&\ddots&\vdots\\0&0&\cdots&1&a_{k,1}&g_{k,2}&\cdots&a_{k,n-k}\end{bmatrix}

符号化結果は次のように表されます。

C=UG1=[UUA]=[UR]C=U\cdot G_1=[U|U\cdot A]=[U|R]

ここで行列 $ \bold R $ には $n-k$ 個の監視符号があり、多項式は次のように表されます。

r(x)=rnk1xnk1++r2x2+r1x+r0r(x)=r_{n-k-1}x^{n-k-1}+\cdots+r_2x^2+r_1x+r_0

したがって、R-S 符号化後の符号多項式は次のようになります。

c(x)=u(x)xnk+r(x)c(x)=u(x)x^{n-k}+r(x)

DVB-S で使用される R-S 生成多項式は次のようになります。

G(X)=15(X+λi)G(X)=\overset{15}{\operatorname*{\coprod}}(X+\lambda^i)

ここで $ \lambda =02H $ は原始元であり、体生成多項式は次のようになります。

P(X)=X8+X4+X3+X2+1P(X)=X^8+X^4+X^3+X^2+1

最小符号距離は 17 バイトです。

$G (x)$ を展開すると次のようになります。

g(x)=x16+59x15+13x14+104x13+189x12+68x11+209x10+30x9+8x8+163x7+65x6+41x5+229x4+98x3+50x2+36x+59g(x)=x^{16}+59x^{15}+13x^{14}+104x^{13}+189x^{12}\\+68x^{11}+209x^{10}+30x^{9}+8x^{8}+163x^{7}+65x^{6}\\+41x^{5}+229x^{4}+98x^{3}+50x^{2}+36x+59

情報多項式を次のように仮定します。

m(x)=m187x187+m186x186++m1x1+m0m(x)=m_{187}x^{187}+m_{186}x^{186}+\cdots+m_{1}x^{1}+m_{0}

すると、$x^{16}\times m (x) /g (x)$ で得られる余りの 16 個の係数が生成される 16 個の検査バイトとなり、この 16 バイトを 188 個のデータに追加することで R-S 符号化が完了します。

R-S (204,188,T=8) 符号フレーム構造#

image-20231209195625640

卷積インタリーブ#

符号化後に卷積インタリーブを加えることで、データの送信順序が一定の規則に従って分散され、信道内の突発的な干渉による誤りも分散されるようになります。

DVB-S ではインタリーブに卷積インタリーブ方式を採用し、そのインタリーブ深度は 204/17=12 です。下図はインタリーブとデコードの原理図です。

image-20231209211827932

これは FIFO で構成され、データは行単位でレジスタに書き込まれ、列単位で読み出されます。

インタリーブプロセスは次の通りです:R-S 符号語は 0 から 11 の各支路に順次データを入力し、各支路は毎回 1 バイトを入力します。インタリーブ後のデータは同じ順序で各支路から出力され、各支路は毎回 1 バイトを出力します。R-S 符号語の同期ヘッダーは常に 0 番目の支路、すなわち遅延のない支路から送信されます。このようにして、インタリーブ後のデータストリームは R-S 符号語の同期と長さを保持します。

入力データが小さい順に自然数であると仮定し、入力データは以下の通りです。

123456789101112
131415161718192021222324
252627282930313233343536
373839404142434445464748
495051525354555657585960
616263646566676869707172
737475767778798081828384
858687888990919293949596
979899100101102103104105106107108
109110111112113114115116117118119120
121122123124125126127128129130131132
133134135136137138139140141142143144
145146147148149150151152153154155156
157158159160161162163164165166167168
169170171172173174175176177178179180
181182183184185186187188189190191192
193194195196197198199200201202203204
205206207208209210211212213214215216
217218219220221222223224225226227228

インタリーブモジュールを経て、次のような出力が得られます。

100000000000
1300000000000
2500000000000
3700000000000
4900000000000
6100000000000
7300000000000
8500000000000
9700000000000
10900000000000
12100000000000
13300000000000
14500000000000
15700000000000
16900000000000
18100000000000
19300000000000
20520000000000
217140000000000

したがって、卷積インタリーブの出力シーケンスにおいて、同一の誤りパケットの任意の 2 バイトの最小距離は 12 バイトであるため、R-S (204,188,T=8) 符号化に卷積インタリーブを加えることで最大誤り訂正バイト長は $ 8\times12=96 $ となり、システムの誤り訂正能力が大幅に向上します。

卷積符号化#

DVB-S の内部符号化は収縮卷積符号化を採用しており、システムブロック図は以下の通りです。

image-20231209211850906

中央の四角は 7 ビットのシフトレジスタを表し、2 つの出力 X、Y の生成多項式はそれぞれ次のようになります。

G1=1+X+X2+X3+X6G2=1+X2+X3+X5+X6\begin{aligned}G_1&=1+X+X^2+X^3+X^6\\\\G_2&=1+X^2+X^3+X^5+X^6\end{aligned}

このシステムは各 clk で 1 ビットの情報を入力し、2 つのモジュロ 2 加算器から 2 ビットの情報を出力します。また、出力される情報はシフトレジスタ内の現在の情報と前 6 つの情報に依存するため、(2,1,7) と表現されることが一般的です。

QPSK#

デジタル信号理論では、周波数帯域幅は無限大であり、デジタル信号を歪みなく伝送するためには無限帯域信道で伝送する必要がありますが、衛星システムの信道は帯域制限された信道であるため、卷積符号化モジュールの出力信号に成形フィルタを適用して衛星信道に適合させる必要があります。

ベースバンド成形フィルタは、伝送に必要な帯域幅を低下させると同時に、符号間干渉を最小限に抑える必要があります。理論的には、ランダムなデジタル符号元流の繰り返し周期が Ts である場合、帯域幅が π/Ts の理想的なフィルタを通過させ、$nTs$ の時刻でサンプリングすれば、符号間干渉は発生しません。理想的な LPF の実現は困難なため、余弦ロールオフフィルタを選択し、伝送関数は次のようになります。

image-20231210112143612

この余弦ロールオフフィルタは要件を満たします。

$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 変調ブロック図です:

image-20231210112752444

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。