このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
OFDM Demodulator Baseband
OFDM 法を使用した復調
ライブラリ:
Communications Toolbox /
Modulation /
Digital Baseband Modulation /
OFDM
説明
OFDM Demodulator Baseband ブロックは、直交周波数分割多重 (OFDM) 法を使用して時間領域入力信号を復調します。詳細については、OFDM 復調を参照してください。このブロックは、単一の信号入力を受け入れ、[パイロット出力端子] の状態に応じて 1 つまたは 2 つの出力端子をもちます。
このアイコンには、利用可能なすべての端子を使用したブロックが表示されています。
例
オーバーサンプリングされた OFDM 信号に対する SISO チャネルを通した Simulink フィルター処理
このモデルは、オーバーサンプリングされた 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.
拡張例
端子
入力
In — OFDM 変調されたベースバンド信号
行列
OFDM 変調されたベースバンド信号。行列 (NCPTotal + NFFT × NSym)-by-NR として指定します。
NCPTotal は、すべてのシンボルのサイクリック プレフィックス長です。
NCP は、[サイクリック プレフィックス長] によって指定されるサイクリック プレフィックス長。
[サイクリック プレフィックス長] がスカラーの場合、NCPTotal = NCP × NSym。
[サイクリック プレフィックス長] が行ベクトルの場合、NCPTotal = ∑ NCP。
NFFT はサブキャリアの数。[FFT 長] によって指定される。
NSym はシンボルの数。[OFDM シンボル数] によって指定される。
NR は受信アンテナの数。[受信アンテナ数] によって指定される。
データ型: double
| single
複素数のサポート: あり
出力
Out — 出力ベースバンド信号
行列 | 3 次元配列
出力ベースバンド信号。入力信号と同じデータ型の行列または NData×NSym×NR の配列として返されます。NR が 1
である場合、出力は行列に縮小します。
NData はデータ サブキャリアの数。NData = NFFT − NleftG − NrightG − NDCNull − NPilot − NCustNull で計算される。
NFFT はサブキャリアの数。[FFT 長] によって指定される。
NleftG は左側ガード バンドのサブキャリアの数。[ガード バンド数] の最初の要素によって指定される。
NrightG は右側ガード バンドのサブキャリアの数。[ガード バンド数] の 2 番目の要素によって指定される。
NDCNull は DC null に含まれるサブキャリアの数。[Remove DC carrier] の選択によって
0
または1
として指定される。NPilot は各シンボルに含まれるパイロット サブキャリアの数。
[パイロット出力端子] を選択した場合、NPilot =
size
([パイロット サブキャリア インデックス],1
)。[パイロット出力端子] を選択しなかった場合、NPilot =
0
として NData が計算される。
NCustNull はカスタム null に使用されるサブキャリアの数。カスタム null を使用する場合、[パイロット サブキャリア インデックス] を 3 次元配列として指定しなければならない。
NSym はシンボルの数。[OFDM シンボル数] によって指定される。
NR は受信アンテナの数。[受信アンテナ数] によって指定される。
詳細については、サブキャリアの割り当て、ガード バンド、およびガード インターバルを参照してください。
Pilot — パイロット信号
3 次元配列
パイロット信号。NPilot×NSym×NR の配列として返されます。
NPilot は各シンボルに含まれるパイロット サブキャリアの数。
size
([パイロット サブキャリア インデックス],1
) として決定される。NSym はシンボルの数。[OFDM シンボル数] によって指定される。
NR は受信アンテナの数。[受信アンテナ数] によって指定される。
依存関係
この出力を返すには、[パイロット出力端子] を選択します。
パラメーター
ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。
FFT 長 — FFT 点の数
64 (既定値) | 正の整数
FFT 点の数。正の整数スカラーとして指定します。FFT の長さは、8 以上で、かつサブキャリアの数と等しくなければなりません。
Number of guard bands — 左右のガード バンドに割り当てられるサブキャリアの数
[6; 5]
(既定値) | 2 行 1 列の整数ベクトル
左右のガード バンドに割り当てられるサブキャリアの数。2 行 1 列の整数ベクトルとして指定します。左右のガードバンド サブキャリアの数 [NleftG; NrightG] は、[0,⌊NFFT/2⌋ − 1] の範囲内でなければなりません。ここで、NFFT は、OFDM 信号に含まれるサブキャリアの総数で、[FFT 長] によって指定されます。詳細については、サブキャリアの割り当て、ガード バンド、およびガード インターバルを参照してください。
Remove DC carrier — DC サブキャリアを除去するオプション
off
(既定値) | on
null DC サブキャリアを削除するには、このパラメーターを選択します。null DC サブキャリアは、周波数帯域の中心に位置し、次のインデックス値をもちます。
NFFT が偶数の場合、(NFFT / 2) + 1。
NFFT が奇数の場合、(NFFT + 1) / 2。
NFFT は、OFDM 信号に含まれるサブキャリアの総数で、[FFT 長] によって指定されます。
パイロット出力端子 — パイロット サブキャリアを出力するオプション
off
(既定値) | on
パイロット サブキャリア出力端子を追加するには、このパラメーターを選択します。このパラメーターを設定する場合、次のようになります。
off
— パイロット情報は出力データに埋め込まれたまま残ります。on
— [パイロット サブキャリア インデックス] で指定されたサブキャリアが出力データから分離され、復調後のパイロット信号が Pilot 端子に出力されます。
Pilot subcarrier indices — パイロット サブキャリアの位置のインデックス
[12; 26; 40; 54]
(既定値) | 列ベクトル | 行列 | 3 次元配列
パイロット サブキャリアの位置を表すインデックス。次の範囲の整数要素値から成る列ベクトル、行列、または 3 次元配列として指定します。
ここで、NFFT はサブキャリアの総数で、[FFT 長] によって指定されます。また、NleftG と NrightG は左右のガード バンドで、[ガード バンド数] によって指定されます。
NPilot 個のパイロット キャリア インデックスを、各シンボルについて同じサブキャリアに割り当てることも、NSym 個の異なるサブキャリアに割り当てることもできます。また、このインデックスを NT 個の送信アンテナに割り当てることができます。
パイロット インデックスがすべてのシンボルと送信アンテナで同じ場合、パラメーターの次元は NPilot-by-1 になります。
パイロット インデックスがシンボルによって異なる場合、パラメーターの次元は NPilot-by-NSym になります。
受信信号が 1 つのシンボルと複数の送信アンテナに割り当てられている場合、パラメーターの次元は NPilot-by-1-by-NT になります。
インデックスがシンボルの数と送信アンテナの数によって異なる場合、パラメーターの次元は NPilot-by-NSym-by-NT となります。
ヒント
複数の送信アンテナによる送信間の干渉を最小限にするため、各シンボルに割り当てるパイロット インデックスをアンテナ間で一意にしなければなりません。
依存関係
このパラメーターは、[パイロット出力端子] を選択した場合に適用されます。
Cyclic prefix length — サイクリック プレフィックスの長さ
16
(既定値) | 正の整数 | 行ベクトル
各 OFDM シンボルのサイクリック プレフィックス長。正の整数スカラー、または [OFDM シンボル数] 個の要素から成る行ベクトルとして指定します。サイクリック プレフィックス長を指定する場合、次のようになります。
スカラー — サイクリック プレフィックス長はすべてのアンテナのすべてのシンボルで同じになります。
行ベクトル — サイクリック プレフィックス長をシンボルごとに変えることができますが、アンテナごとに変えることはできません。
オーバーサンプリング係数 — オーバーサンプリング係数
1
(既定値) | 正のスカラー
オーバーサンプリング係数。正のスカラーとして指定します。オーバーサンプリング係数は次の制約を満たさなければなりません。
([オーバーサンプリング係数]×[FFT 長]) は整数値でなければなりません。
([オーバーサンプリング係数]×[サイクリック プレフィックス長]) は整数値でなければなりません。
ヒント
オーバーサンプリング係数を無理数に設定する場合は、分数値を指定します。たとえば、FFT 長が 12
で、オーバーサンプリング係数が 4/3
の場合、その積は整数の 16
となります。しかし、オーバーサンプリング係数の設定時に 4/3
を 1.333
に丸めると、その積が非整数の 15.9960
になり、このコードはエラーとなります。
Number of OFDM symbols — Number of OFDM symbols
1
(既定値) | 正の整数
時間周波数グリッド内の OFDM シンボルの数。正の整数スカラーとして指定します。
Number of receive antennas — 受信アンテナ数
1 (既定値) | 正の整数
OFDM 変調信号の受信に使用される受信アンテナの数。64
以下の正の整数スカラーとして指定します。
シミュレーション実行方法 — 実行するシミュレーションのタイプ
インタープリター型実行
(既定値) | コード生成
実行するシミュレーションのタイプ。[インタープリター型実行]
または [コード生成]
として指定します。
インタープリター型実行
— MATLAB® インタープリターを使用してモデルをシミュレートします。このオプションを使用すると、必要な起動時間が短縮されますが、以降のシミュレーションの速度は[コード生成]
オプションを使用した場合よりも遅くなります。このモードで、ブロックのソース コードをデバッグできます。コード生成
— 生成された C コードを使用してモデルをシミュレートします。シミュレーションの初回実行時、Simulink は対象ブロックの C コードを生成します。このモデルは、モデルが変更されない限り以降のシミュレーションで C コードを再利用します。このオプションを使用すると、シミュレーションの起動時間は長くなりますが、以降のシミュレーションの速度は[インタープリター型実行]
オプションを使用した場合よりも速くなります。
詳細については、シミュレーション モード (Simulink)を参照してください。
ブロックの特性
データ型 |
|
多次元信号 |
|
可変サイズの信号 |
|
アルゴリズム
OFDM 復調
直交周波数分割多重 (OFDM) メソッドは、N 個の並列データ ストリームを提供する FFT 演算を使用して、OFDM 入力信号を復調します。
次の図は、N 個の一連の相関器から構成されている OFDM 復調器を示しています。この復調器では、各 OFDM サブキャリアに 1 つの相関器が割り当てられています。一連の相関器の後に、パラレルからシリアルへの変換が行われます。
サブキャリアの割り当て、ガード バンド、およびガード インターバル
個々の OFDM サブキャリアは、データ、パイロット、または null サブキャリアとして割り当てられます。
以下に示すように、サブキャリアは、データ サブキャリア、DC サブキャリア、パイロット サブキャリア、またはガードバンド サブキャリアとして指定されています。
データ サブキャリアは、ユーザー データを送信します。
パイロット サブキャリアは、チャネル推定に使用されます。
null サブキャリアは、データを送信しません。データをもたないサブキャリアは、DC null を提供し、OFDM リソース ブロック間のバッファーとして機能します。
null DC サブキャリアは、周波数帯域の中心であり、
nfft
が偶数の場合は (nfft
/2 + 1)、nfft
が奇数の場合は ((nfft
+ 1) / 2) のインデックス値をもちます。ガード バンドでは、隣り合う帯域内の隣接する信号間にバッファーを提供することで、スペクトル漏れによって発生する干渉を低減します。
null サブキャリアでは、さまざまな 802.11 形式や LTE、WiMAX などの特定の規格またはカスタム割り当ての保護帯域と DC サブキャリアの位置をモデル化できます。null サブキャリア インデックスのベクトルを割り当てることで、null の位置を割り当てることができます。
ガード インターバルは、ガード バンドと同様に、符号間干渉を低減して OFDM 送信信号の整合性を確保します。
保護間隔の割り当ては、保護帯域の割り当てに似ています。保護間隔をモデル化して、OFDM シンボル間に時間的な区切りを設けることができます。保護間隔は、時間分散チャネルを介して信号を渡した後にシンボル間の直交性を保持するうえで役立ちます。ガード インターバルを作成するには、サイクリック プレフィックスを使用します。サイクリック プレフィックスの挿入では、OFDM シンボルの最後部が次の OFDM シンボルの最前部としてコピーされます。
サイクリック プレフィックスの挿入が OFDM に与える効果は、時間分散のスパンがサイクリック プレフィックスの期間を超えない限り有効です。
サイクリック プレフィックスはデータ送信に使用される可能性のある帯域幅を占めるため、サイクリック プレフィックスの挿入によりユーザー データのスループットがわずかに低下します。
参照
[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 で導入R2023a: オーバーサンプリングのサポートの追加
OFDM Demodulator Baseband
は、オーバーサンプリングをサポートするようになりました。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)