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

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