メインコンテンツ

OSTBC Encoder

直交空間時間ブロック符号を使用した入力メッセージの符号化

  • OSTBC Encoder block

ライブラリ:
Communications Toolbox / MIMO

説明

OSTBC Encoder ブロックは、直交空間時間ブロック符号 (OSTBC) を使って入力シンボル シーケンスを符号化します。ブロックは入力シンボルをブロック単位でマップし、出力のコードワード行列を時間領域で結合します。詳細については、OSTBC 符号化アルゴリズムを参照してください。

すべて展開する

多入力多出力 (MIMO) 通信システムでダイバーシティ ゲインを達成するために、直交空間時間ブロック符号 (OSTBC) をシミュレートします。この例では、リンクごとに独立したレイリー フェージングを使用し、3 つの送信アンテナと 2 つの受信アンテナを経由するデータ送信を示します。

モデルの検証

doc_ostc32 モデルはランダム バイナリ信号を作成し、2 相位相偏移変調 (BPSK) 手法を使用してそれを変調してから、符号化率 3/4 の直交空間時間ブロック符号を使用して波形を符号化し、フェージング チャネル経由で送信します。フェージング チャネルには、単一パス レイリー フェージング処理の構成から生じる 6 つの独立したリンクがあります。シミュレーションは、受信側でホワイト ガウス ノイズを追加し、両方の受信アンテナから受けた信号を 1 つのストリームに組み合わせて復調します。この結合プロセスでは、モデルは受信側でチャネル ゲインを完全に認識していることを前提にしています。シミュレーションは復調データと元の送信データを比較し、ビット エラー レートを計算します。シミュレーションは、処理が 100 個の誤りまたは 1e6 ビットに達するまで実行されます。

直交空間時間ブロック符号

この行列は、OSTBC Encoderブロックで構成された 3 つの送信アンテナの直交空間時間ブロック符号を使用した符号化率 3/4 の符号を示しています。

$$\pmatrix{s_{1} & s_{2} & s_{3} \cr -s_{2}^* & s_{1}^* & 0 \cr s_{3}^* &
0 & -s_{1}^* \cr 0 & s_{3}^* & -s_{2}^*}$$

ここで、$s_{1}$$s_{2}$、および $s_{3}$ は行列で与えられた出力に対する 3 つのシンボル入力に対応します。OSTBC Encoder ブロックへの入力は 3 行 1 列のベクトル信号で、出力は 4 行 3 列の行列になっています。出力信号の列数は、このシミュレーションの送信アンテナ数を示し、最初の次元は時間を示します。OSTBC Combinerブロックは、3 行 1 列のベクトルを出力します。

符号化率 3/4 の OSTBC 符号モデルの場合、タイム ステップごとの出力信号強度は 3x(3/4) = 2.25W になります。チャネル シンボルは 3 データ ビットを伝送します。長さは 4 タイム ステップで、周期は 3e-3 秒です。受信側には 2 つのアンテナがあるため、各チャネル (アンテナ) のシンボル 1 つにつき 3/2 ビットになります。加えて、

$$\frac{E_s}{N_o} = \frac{E_b}{N_o} + 10log_{10}(k)$$

ここで、k はシンボルあたりのビット数です。AWGN Channelブロックについては、チャネルごとに入力信号強度とシンボルあたりのビット数の値が必要であるため、Es/No 値を EbNo+10*log10(3/2) に設定して、シミュレーションで追加されたホワイト ガウス ノイズをキャリブレーションします。

パフォーマンス

ビット エラー レート解析アプリを使用して、モデルの性能と理論上の結果を比較します。このプロットは Eb/No 値の範囲のシミュレート済み BER をダイバーシティ次数 6 の理論上の結果と比較したものです。

理論上の結果とシミュレーションした結果は、よく整合しています。理論上の結果とシミュレーションした結果の間の差異は、主に、シミュレートされたフェージング チャネル モデルのわずかなドップラー劣化に起因します。シミュレートされたチャネルはブロック シンボル全体でわずかに変化するため、シミュレートした結果と理論上の結果には多少の差異が見られます。

端子

入力

すべて展開する

入力データ。傾きが 2 のべき乗でバイアスが 0 の値をもつ列ベクトルまたは行列として指定します。詳細については、入力から出力までの次元を参照してください。

この端子はブロック アイコンで名前なしになります。

データ型: single | double | fixed point
複素数のサポート: あり

出力

すべて展開する

出力データ。行列または 3 次元配列として返されます。詳細については、入力から出力までの次元を参照してください。

出力信号は、入力信号からデータ型を継承します。固定小数点信号の場合、[整数オーバーフローで飽和] パラメーターは、ブロックが複素共役による整数オーバーフローを処理する方法を指定します。

この端子はブロック アイコンで名前なしになります。

データ型: single | double | fixed point

パラメーター

すべて展開する

ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。

メイン

送信アンテナの数。23、または 4 として指定します。

符号のシンボル レート。3/4 または 1/2 として指定します。[送信アンテナの数]2 に設定すると、シンボル レートは 1 になります。

依存関係

このパラメーターを有効にするには、[送信アンテナの数]3 または 4 に設定します。

データ型

固定小数点計算において、固定小数点計算結果の大きさが結果を格納するデータ型とスケーリングの範囲に収まらない場合は、このパラメーターで使用する手法を指定します。

  • 整数オーバーフローで飽和させるには、このパラメーターを選択します。

  • 整数オーバーフローでラップさせるには、このパラメーターを選択しないでください。

詳細については、精度と範囲を参照してください。

データ型: Boolean

ブロックの特性

データ型

double | fixed pointa | single

多次元信号

あり

可変サイズの信号

あり

a 符号付きのみ。

詳細

すべて展開する

アルゴリズム

すべて展開する

拡張機能

すべて展開する

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2009a で導入

参考

ブロック

オブジェクト