Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

OFDM Demodulator Baseband

OFDM 法を使用した復調

  • OFDM Demodulator Baseband block

ライブラリ:
Communications Toolbox / Modulation / Digital Baseband Modulation / OFDM

説明

OFDM Demodulator Baseband ブロックは、直交周波数分割多重 (OFDM) 法を使用して時間領域入力信号を復調します。詳細については、OFDM 復調を参照してください。このブロックは、単一の信号入力を受け入れ、[パイロット出力端子] の状態に応じて 1 つまたは 2 つの出力端子をもちます。

このアイコンには、利用可能なすべての端子を使用したブロックが表示されています。OFDM Demodulator Baseband block showing optional Pilot output port

すべて展開する

このモデルは、オーバーサンプリングされた OFDM 変調信号を、単入力単出力 (SISO) チャネルを通してフィルター処理します。また、チャネルでフィルター処理を行った後に信号を復調し、元のデータと復調後の出力を比較します。

cm_oversample_ofdm_siso モデルは以下を行います。

  • ランダムな整数データのシンボルとパイロット入力のシンボルを生成します。

  • データ シンボルとパイロット シンボルを 16-QAM 変調します。

  • QAM 変調された信号を OFDM 変調します。OFDM の変調器と復調器のペアは、シンボルごとにパイロット サブキャリア インデックスとサイクリック プレフィックス長が異なる 3 つのシンボルを処理します。OFDM 信号には、モデルによって 4 倍のサンプル レートで生成されたデータとパイロットが含まれています。

  • SISO AWGN チャネルを経由して OFDM 変調された信号をフィルター処理します。

  • OFDM 復調を実行し、データ信号とパイロット信号を別々に出力します。

  • 16 QAM 復調を実行し、データ シンボルとパイロット シンボルを取得します。

  • Error Rate Calculationブロックを使用して、データ信号とパイロット信号のシンボル エラー レートを計算します。

モデルは、コールバック関数 PreLoadFcn を使用して、ブロック パラメーターの構成に使用する変数を初期化します。詳細については、モデル コールバック (Simulink)を参照してください。

データ シンボルとパイロット シンボルのエラー レートを表示します。

The data had a 0.014533 symbol error rate for 126126 samples.
The pilots had a 0.014902 symbol error rate for 12012 samples.

RMSブロックは、FFT のサイズに対するアクティブ サブキャリア数の比を表す値によってスケーリングされた OFDM 変調信号を測定し、信号強度がほぼ 1 であることを確認します。

The measured RMS value is 0.98499.

端子

入力

すべて展開する

OFDM 変調されたベースバンド信号。行列 (NCPTotal + NFFT × NSym)-by-NR として指定します。

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

出力

すべて展開する

出力ベースバンド信号。入力信号と同じデータ型の行列または NData×NSym×NR の配列として返されます。NR1 である場合、出力は行列に縮小します。

詳細については、サブキャリアの割り当て、ガード バンド、およびガード インターバルを参照してください。

パイロット信号。NPilot×NSym×NR の配列として返されます。

依存関係

この出力を返すには、[パイロット出力端子] を選択します。

パラメーター

すべて展開する

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

FFT 点の数。正の整数スカラーとして指定します。FFT の長さは、8 以上で、かつサブキャリアの数と等しくなければなりません。

左右のガード バンドに割り当てられるサブキャリアの数。2 行 1 列の整数ベクトルとして指定します。左右のガードバンド サブキャリアの数 [NleftG; NrightG] は、[0,⌊NFFT/2⌋ − 1] の範囲内でなければなりません。ここで、NFFT は、OFDM 信号に含まれるサブキャリアの総数で、[FFT 長] によって指定されます。詳細については、サブキャリアの割り当て、ガード バンド、およびガード インターバルを参照してください。

null DC サブキャリアを削除するには、このパラメーターを選択します。null DC サブキャリアは、周波数帯域の中心に位置し、次のインデックス値をもちます。

  • NFFT が偶数の場合、(NFFT / 2) + 1。

  • NFFT が奇数の場合、(NFFT + 1) / 2。

NFFT は、OFDM 信号に含まれるサブキャリアの総数で、[FFT 長] によって指定されます。

パイロット サブキャリア出力端子を追加するには、このパラメーターを選択します。このパラメーターを設定する場合、次のようになります。

  • off — パイロット情報は出力データに埋め込まれたまま残ります。

  • on[パイロット サブキャリア インデックス] で指定されたサブキャリアが出力データから分離され、復調後のパイロット信号が Pilot 端子に出力されます。

パイロット サブキャリアの位置を表すインデックス。次の範囲の整数要素値から成る列ベクトル、行列、または 3 次元配列として指定します。

[NleftG+1,NFFT/2][NFFT/2+2,NFFTNrightG],

ここで、NFFT はサブキャリアの総数で、[FFT 長] によって指定されます。また、NleftG と NrightG は左右のガード バンドで、[ガード バンド数] によって指定されます。

NPilot 個のパイロット キャリア インデックスを、各シンボルについて同じサブキャリアに割り当てることも、NSym 個の異なるサブキャリアに割り当てることもできます。また、このインデックスを NT 個の送信アンテナに割り当てることができます。

  • パイロット インデックスがすべてのシンボルと送信アンテナで同じ場合、パラメーターの次元は NPilot-by-1 になります。

  • パイロット インデックスがシンボルによって異なる場合、パラメーターの次元は NPilot-by-NSym になります。

  • 受信信号が 1 つのシンボルと複数の送信アンテナに割り当てられている場合、パラメーターの次元は NPilot-by-1-by-NT になります。

  • インデックスがシンボルの数と送信アンテナの数によって異なる場合、パラメーターの次元は NPilot-by-NSym-by-NT となります。

ヒント

複数の送信アンテナによる送信間の干渉を最小限にするため、各シンボルに割り当てるパイロット インデックスをアンテナ間で一意にしなければなりません。

依存関係

このパラメーターは、[パイロット出力端子] を選択した場合に適用されます。

各 OFDM シンボルのサイクリック プレフィックス長。正の整数スカラー、または [OFDM シンボル数] 個の要素から成る行ベクトルとして指定します。サイクリック プレフィックス長を指定する場合、次のようになります。

  • スカラー — サイクリック プレフィックス長はすべてのアンテナのすべてのシンボルで同じになります。

  • 行ベクトル — サイクリック プレフィックス長をシンボルごとに変えることができますが、アンテナごとに変えることはできません。

オーバーサンプリング係数。正のスカラーとして指定します。オーバーサンプリング係数は次の制約を満たさなければなりません。

ヒント

オーバーサンプリング係数を無理数に設定する場合は、分数値を指定します。たとえば、FFT 長が 12 で、オーバーサンプリング係数が 4/3 の場合、その積は整数の 16 となります。しかし、オーバーサンプリング係数の設定時に 4/31.333 に丸めると、その積が非整数の 15.9960 になり、このコードはエラーとなります。

時間周波数グリッド内の OFDM シンボルの数。正の整数スカラーとして指定します。

OFDM 変調信号の受信に使用される受信アンテナの数。64 以下の正の整数スカラーとして指定します。

実行するシミュレーションのタイプ。[インタープリター型実行] または [コード生成] として指定します。

  • インタープリター型実行 — MATLAB® インタープリターを使用してモデルをシミュレートします。このオプションを使用すると、必要な起動時間が短縮されますが、以降のシミュレーションの速度は [コード生成] オプションを使用した場合よりも遅くなります。このモードで、ブロックのソース コードをデバッグできます。

  • コード生成 — 生成された C コードを使用してモデルをシミュレートします。シミュレーションの初回実行時、Simulink は対象ブロックの C コードを生成します。このモデルは、モデルが変更されない限り以降のシミュレーションで C コードを再利用します。このオプションを使用すると、シミュレーションの起動時間は長くなりますが、以降のシミュレーションの速度は [インタープリター型実行] オプションを使用した場合よりも速くなります。

詳細については、シミュレーション モード (Simulink)を参照してください。

ブロックの特性

データ型

double

多次元信号

あり

可変サイズの信号

なし

アルゴリズム

すべて展開する

参照

[1] Dahlman, E., S. Parkvall, and J. Skold. 4G LTE/LTE-Advanced for Mobile Broadband.London: Elsevier Ltd., 2011.

[2] Andrews, J. G., A. Ghosh, and R. Muhamed, Fundamentals of WiMAX, Upper Saddle River, NJ: Prentice Hall, 2007.

[3] IEEE Standard 802.16-2017. "Part 16: Air Interface for Broadband Wireless Access Systems." March 2018.

拡張機能

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

バージョン履歴

R2014a で導入

すべて展開する