メインコンテンツ

OSTBC Combiner

直交空間時間ブロック符号を使用した入力の結合

  • OSTBC Combiner block

ライブラリ:
Communications Toolbox / MIMO

説明

OSTBC Combiner ブロックは、入力信号 (すべての受信アンテナから) とチャネル推定信号を組み合わせて、直交空間時間ブロック符号 (OSTBC) によって符号化されたシンボルの軟情報を抽出します。この入力チャネル推定は定数である必要はなく、ブロックを実行するたびに異なっていても構いません。組み合わせアルゴリズムはコードワード ブロックごとの最初のシンボル周期に対してだけ推定を使用します。多入力多出力 (MIMO) 通信システムは、OSTBC 結合プロセスの後にシンボルの復調または復号化を適用します。

ブロックは、各シンボルを個別に組み合わせる操作を実施します。組み合わせアルゴリズムは 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 の理論上の結果と比較したものです。

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

端子

入力

すべて展開する

受信信号。行列または 3 次元配列として指定します。詳細については、入力から出力までの次元を参照してください。

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

チャネル推定。行列または 3 次元配列として指定します。詳細については、入力から出力までの次元を参照してください。

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

出力

すべて展開する

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

出力信号は、入力信号からデータ型を継承します。固定小数点信号の場合、複素共役によってオーバーフローが発生する可能性があります。これは、[整数オーバーフローで飽和] 固定小数点パラメーターを使用して管理しなければなりません。

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

データ型: single | double | fixed point

パラメーター

すべて展開する

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

メイン

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

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

依存関係

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

受信アンテナ数。範囲 [1,8] の整数として指定します。

データ型

固定小数点計算の丸めモード。[負方向][正方向][最も近い偶数方向][最も近い正の整数方向][最も近い整数方向][最も簡潔]、または [ゼロ方向] として指定します。このブロックは、指定されたデータ型とスケーリングでは値を正確に表現できない場合に、このパラメーターで指定された丸め方法を使用して計算結果を表現可能な数値に丸めます。詳細については、丸め (Fixed-Point Designer)を参照してください。

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

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

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

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

データ型: Boolean

ダイバーシティ合成の分子の複素数積。[継承: 内部ルールによる継承][継承: 乗算出力と同じ][fixdt(1,16,0)]、またはカスタムの [<データ型式>] として指定します。詳細については、固定小数点信号を参照してください。

ダイバーシティ合成の分子の総和。さらなる計算用に加算結果を保持しなければならない固定小数点ブロックでは、通常、アキュムレータのデータ型とスケーリングを指定できます。そのようなブロックでは、ほとんどの場合、加算の前にアキュムレータのデータ型へのキャストが行われます。

Process showing that the result of each addition remains in the accumulator data type

[Accumulator >> Mode] パラメーターを使用して、アキュムレータの語長と小数部の長さの特定方法を指定します。

  • [Inherit via internal rule] を選択すると、アキュムレータ出力の語長と小数部の長さが自動的に計算されます。詳細については、内部ルールによる継承を参照してください。

  • [乗算出力と同じ] を選択すると、これらの特性は乗算出力の特性と一致します。

  • [Same as input] を選択すると、これらの特性はブロックへの最初の入力の特性と一致します。

  • [Binary point scaling] を選択すると、アキュムレータの語長と小数部の長さをビット単位で入力できます。

  • [Slope and bias scaling] を選択すると、語長 (ビット単位) とアキュムレータの傾きを入力できます。DSP System Toolbox™ ソフトウェアのすべての信号のバイアスは 0 です。

MIMO チャネルでの合計エネルギーを計算するための分母の複素数積。[継承: 内部ルールによる継承][継承: 乗算出力と同じ][fixdt(1,16,0)]、またはカスタムの [<データ型式>] として指定します。

MIMO チャネルでの合計エネルギーを計算するための分母の総和。[継承: 内部ルールによる継承][継承: アキュムレータと同じ][継承: エネルギー積の出力と同じ][fixdt(1,16,0)]、またはカスタムの [<データ型式>] として指定します。

MIMO チャネルの合計エネルギーによるダイバーシティ合成の正規化。[継承: アキュムレータと同じ][fixdt(1,16,0)]、またはカスタムの [<データ型式>] として指定します。

ブロックの特性

データ型

double | fixed pointa | single

多次元信号

あり

可変サイズの信号

あり

a 符号付きのみ。

詳細

すべて展開する

アルゴリズム

すべて展開する

拡張機能

すべて展開する

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

バージョン履歴

R2009a で導入

参考

ブロック

オブジェクト