ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

comm.OSTBCCombiner System object

パッケージ: comm

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

説明

OSTBCCombiner オブジェクトは、入力信号 (すべての受信アンテナからの) とチャネル推定信号を組み合わせて、OSTBC によって符号化されたシンボルのソフト情報を抽出します。この入力チャネル推定は定数である必要はなく、step メソッドの呼び出しごとに変更できます。組み合わせアルゴリズムは符号語ブロックごとの最初のシンボル周期に対してだけ推定を使用します。シンボルの復調器または復号器は、MIMO 通信システムのコンバイナー オブジェクトに従います。

入力信号を組み合わせて、OSTBC によって符号化されたシンボルのソフト情報を抽出するには、以下の手順に従います。

  1. OSTBC コンバイナー オブジェクトを定義および設定します。構築を参照してください。

  2. step を呼び出して、comm.OSTBCCombiner のプロパティに従い、直交空間時間ブロック符号を使用して入力を組み合わせます。step の動作は、ツールボックスの各オブジェクト固有のものです。

構築

H = comm.OSTBCCombiner は、直交空間時間ブロック符号 (OSTBC) コンバイナー System object™ H を作成します。このオブジェクトは、入力信号 (すべての受信アンテナからの) とチャネル推定信号を組み合わせて、OSTBC によって符号化されたシンボルのソフト情報を抽出します。

H = comm.OSTBCCombiner(Name,Value) は、は指定された各プロパティ セットを指定された値に設定して、OSTBC コンバイナー オブジェクト H を作成します。(Name1,Value1,...,NameN,ValueN) のように、追加の名前と値のペアの引数を任意の順番で指定できます。

H = comm.OSTBCCombiner(N,M,Name,Value) は、OSTBC コンバイナー オブジェクト H を作成します。このオブジェクトは NumTransmitAntennas プロパティを N に、NumReceiveAntennas プロパティを N に、他の指定されたプロパティを指定された値に設定します。

プロパティ

NumTransmitAntennas

送信アンテナ数

送信機のアンテナの数を 23 または 4 のいずれかとして指定します。既定の設定は 2 です。

SymbolRate

コードのシンボル レート

コードのシンボル レートを 3/4 または 1/2 に指定します。既定の設定は 3/4 です。このプロパティは、NumTransmitAntennas プロパティが 2 より大きい場合に適用されます。2 送信アンテナの場合、シンボル レートは既定で 1 に設定されます。

NumReceiveAntennas

受信アンテナ数

受信側のアンテナの数を、1 から 8 までの倍精度の実数のスカラー整数値で指定します。既定の設定は 1 です。

 固定小数点プロパティ

メソッド

clone同じプロパティ値で OSTBC コンバイナーオブジェクトを作成する
getNumInputsstep メソッドへの予想される入力数
getNumOutputsstep メソッドからの出力数
isLocked入力属性と調整不可能なプロパティのロック状態
releaseプロパティ値と入力特性を変更可能にする
step直交空間時間ブロック符号を使用した入力の結合

すべて折りたたむ

OSTBC での符号化および誤差の計算

4x2 MIMO チャネルを介した送信時に OSTBC 符号化を使用する QSPK 信号のビット誤り率を判断します。OSTBC コンバイナーで、完全なチャネル推定を使用することを前提とします。

システム パラメーターを定義します。

numTx = 4;         % Number of transmit antennas
numRx = 2;         % Number of receive antennas
Rs = 1e6;          % Sampling rate (Hz)
tau = [0 2e-6];    % Path delays (sec)
pdb = [0 -10];     % Average path gains (dB)
maxDopp = 30;      % Maximum Doppler shift (Hz)
numBits = 12000;   % Number of bits
SNR = 6;           % Signal-to-noise ratio (dB)

結果が繰り返し再現されるように、乱数発生器を既定の状態に設定します。

rng default

QPSK 変調器 System object™ を作成します。BitInput プロパティを true に、SymbolMapping プロパティを Gray に設定します。

hMod = comm.QPSKModulator(...
    'BitInput',true,...
    'SymbolMapping','Gray');

対応する QPSK 復調器 System object を作成します。SymbolMapping プロパティを Gray に、BitOutput プロパティを true に設定します。

hDemod = comm.QPSKDemodulator(...
    'SymbolMapping','Gray',...
    'BitOutput',true);

OSTBC 符号器とコンバイナーのペアを作成します。ここで、アンテナの数はシステム パラメーターで指定されます。

hOSTBCEnc = comm.OSTBCEncoder(...
    'NumTransmitAntennas',numTx);

hOSTBCComb = comm.OSTBCCombiner(...
    'NumTransmitAntennas',numTx,...
    'NumReceiveAntennas',numRx);

フラットな 4x2 MIMO チャネル System object を作成します。ここで、チャネル特性は名前と値のペアを使用して設定されます。パス ゲインが、OSTBC コンバイナーの完全なチャネル推定として利用されるようにします。

hChan = comm.MIMOChannel(...
    'SampleRate',Rs,...
    'PathDelays',tau,...
    'AveragePathGains',pdb,...
    'MaximumDopplerShift',maxDopp,...
    'SpatialCorrelation',false,...
    'NumTransmitAntennas',numTx,...
    'NumReceiveAntennas',numRx,...
    'PathGainsOutputPort',true);

ノイズ手法が S/N 比と指定されている AWGN チャネル System object を作成します。

hAWGN = comm.AWGNChannel(...
    'NoiseMethod','Signal to noise ratio (SNR)',...
    'SNR',SNR,...
    'SignalPower',1);

ランダムなビット シーケンスを生成します。

data = randi([0 1],numBits,1);

QPSK 変調を適用します。

modData = step(hMod,data);

変調データを OSTBC 符号器オブジェクトを使用して符号化します。

encData = step(hOSTBCEnc,modData);

符号化されたデータを MIMO チャネルを介して送信し、それぞれ MIMO と AWGN チャネル オブジェクトの関数 step を使用してホワイト ノイズを追加します。

[chanOut,pathGains] = step(hChan,encData);
rxSignal = step(hAWGN,chanOut);

pathGains 配列をパスの数 (2 番目の次元) について合計し、チャネル推定を形成します。関数 squeeze を適用して、次元が rxSignal の次元に準拠するようにします。

chEst = squeeze(sum(pathGains,2));

受信 MIMO 信号とそのチャネル推定を、OSTBC コンバイナー オブジェクトの関数 step を使用して結合します。結合された信号を復調します。

combinedData = step(hOSTBCComb,rxSignal,chEst);
receivedData = step(hDemod,combinedData);

ビット誤りの数とビット誤り率を計算します。

[numErrors,ber] = biterr(data,receivedData)
numErrors =

    11


ber =

   9.1667e-04

アルゴリズム

このオブジェクトは、OSTBC Combiner ブロックのリファレンス ページで説明されているアルゴリズム、入力、および出力を実装しています。オブジェクト プロパティはブロック パラメーターに対応します。

この情報は役に立ちましたか?