Main Content

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

nrOFDMDemodulate

OFDM 波形の復調

R2020b 以降

説明

grid = nrOFDMDemodulate(carrier,waveform) は、キャリア構成パラメーター carrier の OFDM 変調波形 waveform を復調することで、キャリア リソース配列を復元します。

grid = nrOFDMDemodulate(waveform,nrb,scs,initialNSlot) は、指定したリソース ブロックの数 nrb、サブキャリア間隔 scs、および初期スロット番号 initialNSlotwaveform を復調します。

grid = nrOFDMDemodulate(___,Name,Value) は、前述のいずれかの構文の入力引数に加えて、1 つ以上の名前と値のペアの引数を使用してオプションを指定します。

すべて折りたたむ

OFDM 波形を復調して、送信されたキャリア リソース配列を復元します。

キャリア リソース配列で 106 個のリソース ブロック (RB) を指定して、キャリア構成パラメーターを設定します。

carrier = nrCarrierConfig('NSizeGrid',106);

物理ダウンリンク共有チャネル (PDSCH) 復調基準信号 (DM-RS) のシンボルとインデックスを生成します。

p = 2;
pdsch = nrPDSCHConfig('NumLayers',p);
sym = nrPDSCHDMRS(carrier,pdsch);
ind = nrPDSCHDMRSIndices(carrier,pdsch);

PDSCH DM-RS シンボルを格納するキャリア リソース配列を作成します。

txGrid = nrResourceGrid(carrier,p);
txGrid(ind) = sym;

OFDM 変調された波形を生成します。

[txWaveform,~] = nrOFDMModulate(carrier,txGrid);

単純な 2 行 1 列のチャネルに波形を渡します。

H = [0.6; 0.4];
waveform = txWaveform*H;

受信した OFDM 波形を復調して、キャリア リソース配列を復元します。

grid = nrOFDMDemodulate(carrier,waveform);

OFDM 波形を復調して、PDSCH DM-RS シンボルを含むリソース配列を復元します。

60 kHz のサブキャリア間隔を指定して、キャリア構成パラメーターを設定します。

scs = 60;
carrier = nrCarrierConfig('SubcarrierSpacing',scs);

PDSCH DM-RS のシンボルとインデックスを生成します。

p = 2;
pdsch = nrPDSCHConfig('NumLayers',p);
sym = nrPDSCHDMRS(carrier,pdsch);
ind = nrPDSCHDMRSIndices(carrier,pdsch);

PDSCH DM-RS シンボルを格納するキャリア リソース配列を作成します。

txGrid = nrResourceGrid(carrier,p);
txGrid(ind) = sym;

サブキャリア間隔、初期スロット番号、およびサイクリック プレフィックス長を指定して、OFDM 変調波形を生成します。

initialNSlot = carrier.NSlot;
cpl = 'extended';
[txWaveform,info] = nrOFDMModulate(txGrid,scs,initialNSlot,'CyclicPrefix',cpl);

単純な 2 行 1 列のチャネルに波形を渡します。

H = [0.9; 0.95];
waveform = txWaveform*H;

受信した OFDM 波形を復調して、キャリア リソース配列を復元します。

nrb = carrier.NSizeGrid;
grid = nrOFDMDemodulate(waveform,nrb,scs,initialNSlot,'CyclicPrefix',cpl);

OFDM 波形を復調して、サウンディング基準信号 (SRS) を含み、フレーム全体にまたがる、送信されたリソース配列を復元します。

キャリア リソース配列で 30 kHz のサブキャリア間隔と 24 個のリソース ブロックを指定して、キャリア構成パラメーターを設定します。

carrier = nrCarrierConfig('SubcarrierSpacing',30,'NSizeGrid',24);

スロットの周期性とオフセットを設定して、SRS パラメーターを構成します。

srs = nrSRSConfig('SRSPeriod',[4 0]);

指定したキャリア構成の OFDM 情報を取得します。

info = nrOFDMInfo(carrier);

スロット リソース配列を作成し、それを連結して、フレーム リソース配列を生成します。

frameGrid = [];
for nslot = 0:(info.SlotsPerFrame - 1)
    carrier.NSlot = nslot;
    slotGrid = nrResourceGrid(carrier);
    ind = nrSRSIndices(carrier,srs);
    sym = nrSRS(carrier,srs);
    slotGrid(ind) = sym;
    frameGrid = [frameGrid slotGrid];
end

OFDM 変調波形を生成します。

[txWaveform,~] = nrOFDMModulate(carrier,frameGrid);

単純なチャネルに波形を渡します。

H = 0.86;
waveform = txWaveform*H;

サンプル レートを指定し、受信した OFDM 波形を復調して、キャリア リソース配列を復元します。

sr = info.SampleRate;
grid = nrOFDMDemodulate(carrier,waveform,'SampleRate',sr);

入力引数

すべて折りたたむ

特定の OFDM numerology のキャリア構成パラメーター。nrCarrierConfig オブジェクトとして指定します。そのオブジェクト プロパティのみが、この関数に関連付けられます。

キャリア リソース グリッド内の RB の数。1 ~ 275 の整数として指定します。既定値の 52 は、SCS が 15 kHz である 10 MHz キャリアの RB の最大数に対応します。

データ型: double

キャリアのすべてのチャネルおよび基準信号の kHz 単位のサブキャリア間隔。153060120240480、または 960 として指定します。

データ型: double

スロット番号。非負の整数として指定します。NSlot には、フレームごとのスロット数よりも大きい値を設定できます。たとえば、MATLAB® シミュレーションで送信ループ カウンターを使用してこの値を設定できます。この場合、呼び出しコードでプロパティ値がフレームごとのスロット数を法としていることを確認しなければならない場合があります。

データ型: double

サイクリック プレフィックス長。次のオプションのいずれかとして指定します。

  • 'normal' — この値を使用して、ノーマル サイクリック プレフィックスを指定します。このオプションは、スロット内の 14 個の OFDM シンボルに対応します。

  • 'extended' — この値を使用して、拡張サイクリック プレフィックスを指定します。このオプションは、スロット内の 12 個の OFDM シンボルに対応します。TS 38.211 の Section 4.2 で規定されている numerology では、拡張サイクリック プレフィックス長が 60 kHz のサブキャリア間隔にのみ適用されます。

データ型: char | string

OFDM 変調波形。サイズ T 行 R 列の複素数値行列として指定します。

  • T は、波形内の時間領域サンプルの数。

  • R は受信アンテナの数。

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

リソース ブロックの数。1 ~ 275 の整数として指定します。

データ型: double

kHz 単位のサブキャリア間隔。153060120240480、または 960 として指定します。

データ型: double

初期スロット番号。0 ベース形式の非負の整数として指定します。この関数は、initialNSlot mod S の値を使用して、OFDM 復調に適切なサイクリック プレフィックス長を選択します。ここで、S はサブフレームごとのスロット数です。

データ型: double

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は関係ありません。

R2021a より前では、コンマを使用して名前と値の各ペアを区切り、Name を引用符で囲みます。

例: 'CyclicPrefixFraction',0.75 は、サイクリック プレフィックス長に対する復調の開始位置を指定します。

サイクリック プレフィックス長。'CyclicPrefix' と次の値のいずれかで構成されるコンマ区切りのペアとして指定します。

  • 'normal' — この値を使用して、ノーマル サイクリック プレフィックスを指定します。このオプションは、スロット内の 14 個の OFDM シンボルに対応します。

  • 'extended' — この値を使用して、拡張サイクリック プレフィックスを指定します。このオプションは、スロット内の 12 個の OFDM シンボルに対応します。TS 38.211 の Section 4.2 で規定されている numerology では、拡張サイクリック プレフィックス長が 60 kHz のサブキャリア間隔にのみ適用されます。

メモ

carrier 入力を指定する場合は、carrier 入力の CyclicPrefix プロパティを使用して、サイクリック プレフィックス長を指定します。この名前と値のペアの引数を carrier 入力と一緒に使用することはできません。

データ型: char | string

高速フーリエ変換 (FFT) 点の数。'Nfft' および 127 より大きい非負の整数または [] で構成されるコンマ区切りのペアとして指定します。指定する値は、サイクリック プレフィックス長が整数値となり、最大占有率が 100% となるものでなければなりません。占有率は (12 × NRB)/Nfft の値として定義されます。ここで、NRB はリソース ブロックの数です。

この入力を指定しなかった場合、または 'Nfft',[] を指定した場合、関数はこの入力の既定値として 127 より大きい整数値を設定します。実際の既定値は、他の入力値によって異なります。

  • SampleRate 入力を指定しなかった場合、または 'SampleRate',[] を指定した場合、関数は次の条件を満たす Nfft を設定します。

    • 2 の整数乗の Nfft

    • 最大占有率が 85% になる Nfft

  • SampleRate 入力を指定した場合、関数は次の条件を満たす Nfft を設定します。

    • サイクリック プレフィックス長が整数値になる Nfft

    • gcd (Nfft × SCS, SampleRate) の値を最大化する Nfft。ここで、SCS は carrier.SubcarrierSpacing プロパティまたは scs 入力によって指定される。

詳細については、OFDM サンプル レートと FFT サイズの構成を参照してください。

データ型: double

波形のサンプル レート。'SampleRate' および正のスカラー値または [] で構成されるコンマ区切りのペアとして指定します。

この入力を指定しなかった場合、または 'SampleRate',[] を指定した場合、関数はこの入力に Nfft × SCS の値を設定します。

  • Nfft'Nfft' 入力の値。

  • SCS はサブキャリア間隔。使用する関数構文に応じて、SCS が carrier.SubcarrierSpacing プロパティまたは scs 入力によって指定されます。

詳細については、OFDM サンプル レートと FFT サイズの構成を参照してください。

データ型: double

Hz 単位の搬送周波数。'CarrierFrequency' と実数で構成されるコンマ区切りのペアとして指定します。この入力は、TS 38.211 の Section 5.4 で定義されている f0 に対応します。

データ型: double

サイクリック プレフィックス内の高速フーリエ変換 (FFT) ウィンドウの位置。'CyclicPrefixFraction' と区間 [0, 1] のスカラーで構成されるコンマ区切りのペアとして指定します。

指定する値は、サイクリック プレフィックスの先頭に対する OFDM 復調の開始位置を示します。

データ型: double

出力引数

すべて折りたたむ

キャリア リソース配列。サイズ K×L×R の複素数値配列として返されます。

  • K はサブキャリアの数。

  • L は OFDM シンボルの数。

  • R は受信アンテナの数。

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

参照

[1] 3GPP TS 38.101-1. “NR; User Equipment (UE) radio transmission and reception; Part 1: Range 1 Standalone.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

[2] 3GPP TS 38.101-2. “NR; User Equipment (UE) radio transmission and reception; Part 2: Range 2 Standalone.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

[3] 3GPP TS 38.104. “NR; Base Station (BS) radio transmission and reception.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

[4] 3GPP TS 38.211. “NR; Physical channels and modulation.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

拡張機能

バージョン履歴

R2020b で導入

すべて展開する