OSTBC Combiner
直交空間時間ブロック符号を使用した入力の結合
ライブラリ:
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 の符号を示しています。

ここで、
、
、および
は行列で与えられた出力に対する 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 ビットになります。加えて、

ここで、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® ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。
メイン
送信アンテナの数。2、3、または 4 として指定します。
符号のシンボル レート。3/4 または 1/2 として指定します。[送信アンテナの数] を 2 に設定すると、シンボル レートは 1 になります。
依存関係
このパラメーターを有効にするには、[送信アンテナの数] を 3 または 4 に設定します。
受信アンテナ数。範囲 [1,8] の整数として指定します。
データ型
固定小数点計算の丸めモード。[負方向]、[正方向]、[最も近い偶数方向]、[最も近い正の整数方向]、[最も近い整数方向]、[最も簡潔]、または [ゼロ方向] として指定します。このブロックは、指定されたデータ型とスケーリングでは値を正確に表現できない場合に、このパラメーターで指定された丸め方法を使用して計算結果を表現可能な数値に丸めます。詳細については、丸め (Fixed-Point Designer)を参照してください。
固定小数点計算において、固定小数点計算結果の大きさが結果を格納するデータ型とスケーリングの範囲に収まらない場合は、このパラメーターで使用する手法を指定します。
整数オーバーフローで飽和させるには、このパラメーターを選択します。
整数オーバーフローでラップさせるには、このパラメーターを選択しないでください。
詳細については、精度と範囲を参照してください。
データ型: Boolean
ダイバーシティ合成の分子の複素数積。[継承: 内部ルールによる継承]、[継承: 乗算出力と同じ]、[fixdt(1,16,0)]、またはカスタムの [<データ型式>] として指定します。詳細については、固定小数点信号を参照してください。
ダイバーシティ合成の分子の総和。さらなる計算用に加算結果を保持しなければならない固定小数点ブロックでは、通常、アキュムレータのデータ型とスケーリングを指定できます。そのようなブロックでは、ほとんどの場合、加算の前にアキュムレータのデータ型へのキャストが行われます。

[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)]、またはカスタムの [<データ型式>] として指定します。
詳細
OSTBC コンバイナーは、OSTBC 送信の時間領域と空間領域、および組み合わせの計算が無関係であるオプションの次元をサポートします。次の図は、サポートされている入力次元と結果の出力次元を示しています。
次の表は、F と M の値に応じてサポートされる入力次元と出力次元を示しています。
| F と M の値 | Rx 入力 | cEst 入力 | 出力 |
|---|---|---|---|
| F = 1 および M = 1 | 列ベクトル | 2 次元 | 列ベクトル |
| F = 1 および M > 1 | 2 次元 | 3 次元 | 列ベクトル |
| F > 1 および M = 1 | 2 次元 | 3 次元 | 2 次元 |
| F > 1 および M > 1 | 3 次元 | 4 次元 | 2 次元 |
R — [Rate] パラメーターで指定された、符号のシンボル レート。
N = 2 の場合、R は 1 でなければなりません。
N = 3 または 4 の場合、R は 3/4 または 1/2 になります。
N — 送信アンテナの数。2、3、または 4 でなければなりません。これは [送信アンテナの数] パラメーターで指定されます。
M — 受信アンテナの数。範囲が [1,8] の整数でなければなりません。これは [Number of receive antennas] パラメーターで指定されます。
T/R — 時間領域の入力シンボル シーケンス長。時間領域長 T/R は、各コードワード行列にあるシンボル数の倍数でなければなりません。
N = 2 または R = 1/2 の場合、T/R は 2 の倍数でなければなりません。
R = 3/4 の場合、T/R は 3 の倍数でなければなりません。
T — 出力信号の時間領域におけるシンボル シーケンス長。
N = 2 の場合、T は 2 の倍数になります。
N = 3 または 4 の場合、T は 4 の倍数になります。
F — 追加の次元。通常は周波数領域。組み合わせの計算はこの次元とは無関係です。F は任意の正の整数になります。
固定小数点信号に使用されるデータ型を強調表示するには、受信アンテナが 1 つである場合における Alamouti 符号の に関する次の式を使用します。
この式では、[乗算出力] パラメーターと [アキュムレータ] パラメーターのデータ型は、分子の積と総和に対応します。同様に、[Energy product output] パラメーターと [Energy accumulator] パラメーターの型は、分母の積と総和に対応します。
1 つの受信アンテナのある Alamouti コードの計算を組み合わせた s1 用の信号の流れ図

次の方程式は、受信アンテナの数 M が 1 より大きい場合に、OSTBC コンバイナーが Alamouti 符号の固定小数点信号に使用するデータ型を示しています。
a + ib および c + id の複素数乗算用の信号の流れ図

2 進小数点スケーリングの場合、WLp と FLp を指定することはできません。その代わりに、ブロックは WLa および FLa から暗黙的にこれらの値を決定します。
[乗算出力] パラメーターと [Energy product output] パラメーターの内部ルールは次のとおりです。
[内部ルールによる継承]を選択すると、内部ルールによって WLp と FLp が決定される。そのため、WLa = WLp + 1 および FLa = FLp である。[Binary point scaling]の場合、WLa と FLa を指定する。そのため、WLp = WLa –1 および FLa = FLp である。
内部ルールが [アキュムレータ] パラメーターと [Energy Accumulator] パラメーターにどのように適用されるかの詳細については、内部ルールによる継承を参照してください。
アルゴリズム
OSTBC コンバイナー アルゴリズムは、次の表に示す 5 つの異なる OSTBC 組み合わせ計算行列を実装します。送信アンテナ数とシンボル レートによって、アルゴリズムが受信信号を結合するために使用するコードワード行列が決まります。
| 送信アンテナの数 | レート | コードワード ブロック長ごとの計算アルゴリズム |
|---|---|---|
| 2 | 1 |
|
| 3 | 1/2 |
|
| 3 | 3/4 |
|
| 4 | 1/2 |
|
| 4 | 3/4 |
|
は、OSTBC コードワード行列内の推定された k 番目のシンボルを表します。
hij は、i 番目の送信アンテナと j 番目の受信アンテナからのチャネル用の推定を表します。
i の値は [1,N] の範囲内でなければなりません。ここで、N は送信アンテナの数です。
j の値は [1,M] の範囲内でなければなりません。ここで、M は受信アンテナの数です。
rlj は、コードワード ブロックごとに j 番目の受信アンテナの l 番目のシンボルを表します。
l の値は [1,L] の範囲内でなければなりません。ここで、L はコードワード ブロック長です。
は、リンクごとのチャネル電力の総和を表します。具体的には、 です。
l の値は [1,L] の範囲内でなければなりません。ここで、L はコードワード ブロック長です。
は、リンクごとのチャネル電力の総和を表します。具体的には、 です。
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2009a で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)