このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
nrChannelEstimate
実用的なチャネル推定
構文
説明
例
実用的なチャネル推定と完全なチャネル推定の比較
物理レイヤーのセル ID 番号 42 の物理ブロードキャスト チャネル (PBCH) 復調基準信号 (DM-RS) シンボルを生成します。DM-RS スクランブリング初期化の時間依存部分は 0 です。
ncellid = 42; ibar_SSB = 0; dmrsSym = nrPBCHDMRS(ncellid,ibar_SSB);
PBCH DM-RS のリソース エレメント インデックスを取得します。
dmrsInd = nrPBCHDMRSIndices(ncellid);
生成された DM-RS シンボルを含むリソース グリッドを作成します。
nrb = 20; scs = 15; carrier = nrCarrierConfig('NSizeGrid',nrb,'SubcarrierSpacing',scs); nTxAnts = 1; txGrid = nrResourceGrid(carrier,nTxAnts); txGrid(dmrsInd) = dmrsSym;
指定された FFT 長とサイクリック プレフィックス長を使用してリソース グリッドを変調します。
ofdmInfo = nrOFDMInfo(carrier); txWaveform = nrOFDMModulate(carrier,txGrid);
指定されたプロパティを使用して TDL-C チャネル モデルを作成します。
channel = nrTDLChannel;
channel.NumReceiveAntennas = 1;
channel.SampleRate = ofdmInfo.SampleRate;
channel.DelayProfile = 'TDL-C';
channel.DelaySpread = 100e-9;
channel.MaximumDopplerShift = 20;
最大チャネル遅延を取得します。
chInfo = info(channel); maxChDelay = chInfo.MaximumChannelDelay;
チャネルから遅延サンプルをフラッシュするために、遅延サンプルの最大数と送信アンテナ数に対応するゼロを送信波形の末尾に追加します。パディングされた波形を TDL-C チャネル モデルを経由して送信します。
[rxWaveform,pathGains] = channel([txWaveform; zeros(maxChDelay,nTxAnts)]);
DM-RS シンボルを基準シンボルとして使用して、送信のタイミング オフセットを推定します。基準シンボルの OFDM 変調は、初期スロット番号 0 を使用します。
initialSlot = 0; offset = nrTimingEstimate(carrier,rxWaveform,txGrid);
推定されたタイミング オフセットに従って受信波形を同期します。
rxWaveform = rxWaveform(1+offset:end,:);
復調され同期された受信波形を含む受信リソース グリッドを作成します。
cpFraction = 0.55;
rxGrid = nrOFDMDemodulate(carrier,rxWaveform,'CyclicPrefixFraction',cpFraction);
実用的なチャネル推定を取得します。
H = nrChannelEstimate(rxGrid,dmrsInd,dmrsSym);
完全なチャネル推定を取得します。
pathFilters = getPathFilters(channel); H_ideal = nrPerfectChannelEstimate(carrier,pathGains,pathFilters,offset);
実用的なチャネル推定と完全なチャネル推定を比較します。
figure; subplot(1,2,1); imagesc(abs(H)); xlabel('OFDM Symbol'); ylabel('Subcarrier'); title('Practical Estimate Magnitude'); subplot(1,2,2); imagesc(abs(H_ideal)); xlabel('OFDM Symbol'); ylabel('Subcarrier'); title('Perfect Estimate Magnitude');
入力引数
rxGrid
— 受信したリソース グリッド
K×L×R の複素数配列
受信したリソース グリッド。K×L×R の複素数配列として指定します。
K は NRB × 12 に等しいサブキャリアの数。ここで、NRB は 1 ~ 275 の範囲のリソース ブロックの数です。
L は、スロット内または基準グリッド内の OFDM シンボルの数。
基準シンボル
refSym
でnrChannelEstimate
を呼び出す場合、L は、拡張サイクリック プレフィックスでは 12、ノーマル サイクリック プレフィックスでは 14 にします。名前と値のペアの引数'
を使用して、サイクリック プレフィックス長を設定します。CyclicPrefix
'基準リソース グリッド
refGrid
でnrChannelEstimate
を呼び出す場合、L は基準グリッド内の OFDM シンボルの数である N と等しくなければなりません。
R は受信アンテナの数。
データ型: single
| double
複素数のサポート: あり
refInd
— 基準シンボルのインデックス
整数行列
基準シンボルのインデックス。整数行列として指定します。行の数はリソース エレメントの数と同じです。すべてのインデックスを 1 つの列で指定することも、複数の列に分散させることもできます。refInd
と refSym
の要素数は同じでなければなりませんが、それらの次元は異なる場合があります。この関数は、refInd
と refSym
を基準グリッドにマッピングする前に、refGrid(refInd(:)) = refSym(:)
のようにそれらを列ベクトルに形状変更します。
refInd
の要素は、K×L×P のリソース配列をアドレス指定する 1 ベースの線形インデックスです。
K は NRB × 12 に等しいサブキャリアの数。ここで、NRB は 1 ~ 275 の範囲のリソース ブロックの数です。K は
rxGrid
の最初の次元と等しくなければなりません。L は、スロット内の OFDM シンボルの数。L は、拡張サイクリック プレフィックスでは 12、ノーマル サイクリック プレフィックスでは 14 にします。名前と値のペアの引数
'
を使用して、サイクリック プレフィックス長を設定します。CyclicPrefix
'P は、
refInd
の値の範囲から推定される基準信号のポートの数。
データ型: double
refSym
— 基準シンボル
複素行列
基準シンボル。複素行列として指定します。行の数はリソース エレメントの数と同じです。すべてのシンボルを 1 つの列で指定することも、複数の列に分散させることもできます。refInd
と refSym
の要素数は同じでなければなりませんが、それらの次元は異なる場合があります。この関数は、refInd
と refSym
を基準グリッドにマッピングする前に、refGrid(refInd(:)) = refSym(:)
のようにそれらを列ベクトルに形状変更します。
データ型: single
| double
複素数のサポート: あり
refGrid
— 事前定義された基準グリッド
K×N×P の複素数配列
事前定義された基準グリッド。K×N×P の複素数配列として指定します。refGrid
は複数のスロットにまたがることができます。
K は NRB × 12 に等しいサブキャリアの数。ここで、NRB は 1 ~ 275 の範囲のリソース ブロックの数です。
N は、基準グリッド内の OFDM シンボルの数。
P は基準信号のポートの数。
データ型: single
| double
複素数のサポート: あり
carrier
— キャリア構成パラメーター
nrCarrierConfig
オブジェクト
特定の OFDM numerology のキャリア構成パラメーター。nrCarrierConfig
オブジェクトとして指定します。関数は、この入力の CyclicPrefix
プロパティのみを使用します。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は関係ありません。
R2021a より前では、コンマを使用して名前と値の各ペアを区切り、Name
を引用符で囲みます。
例: 'CyclicPrefix','extended'
は拡張サイクリック プレフィックスの長さを指定します。
CyclicPrefix
— サイクリック プレフィックス長
'normal'
(既定値) | 'extended'
サイクリック プレフィックス長。'CyclicPrefix'
と次の値のいずれかで構成されるコンマ区切りのペアとして指定します。
'normal'
— この値を使用して、ノーマル サイクリック プレフィックスを指定します。このオプションは、スロット内の 14 個の OFDM シンボルに対応します。'extended'
— この値を使用して、拡張サイクリック プレフィックスを指定します。このオプションは、スロット内の 12 個の OFDM シンボルに対応します。TS 38.211 の Section 4.2 で規定されている numerology では、拡張サイクリック プレフィックス長が 60 kHz のサブキャリア間隔にのみ適用されます。
メモ
carrier
入力を指定する場合は、carrier
入力の CyclicPrefix
プロパティを使用して、サイクリック プレフィックス長を指定します。この名前と値のペアの引数を carrier
入力と一緒に使用することはできません。
データ型: char
| string
CDMLengths
— 基準信号の CDM 配置
[1 1] (既定値) | 非負の整数からなる 1 行 2 列の配列
基準信号のコード領域多重化 (CDM) 配置。'CDMLengths'
と非負の整数からなる 1 行 2 列の配列 [FD TD] で構成されるコンマ区切りのペアとして指定します。配列要素の FD と TD はそれぞれ、周波数領域での CDM 逆拡散の長さ (FD-CDM) と時間領域での CDM 逆拡散の長さ (TD-CDM) を指定します。要素の値が 1 である場合、CDM なしを指定したことになります。
例: 'CDMLengths',[2 1]
は、FD-CDM2 および TD-CDM なしを指定します。
例: 'CDMLengths',[1 1]
は、直交逆拡散なしを指定します。
データ型: double
AveragingWindow
— 内挿前の平均化ウィンドウ
[0 0]
(既定値) | 非負の奇数の整数からなる 1 行 2 列の配列
内挿前の平均化ウィンドウ。'AveragingWindow'
と非負の奇数の整数からなる 1 行 2 列の配列 [F T] で構成されるコンマ区切りのペアとして指定します。配列要素の F と T は、関数が内挿前に平均化を実行する周波数領域と時間領域においてそれぞれ隣接する基準シンボルの数を指定します。F または T がゼロの場合、関数は、ノイズ分散推定 nVar
に基づいて、推定された S/N 比 (SNR) から平均値を決定します。
データ型: double
出力引数
h
— 実用的なチャネル推定
K×L×R×P の複素数配列
実用的なチャネル推定。K×L×R×P の複素数配列として返されます。K×L×R は、受信したリソース グリッド rxGrid
の形状です。P は基準信号のポートの数です。
h
は rxGrid
からデータ型を継承します。
データ型: double
| single
nVar
— ノイズ分散推定
非負のスカラー
ノイズ分散推定。非負のスカラーとして返されます。nVar
は、受信した基準シンボルで測定された加法性ホワイト ガウス ノイズの分散です。
データ型: double
info
— 追加情報
構造体
追加情報。フィールド AveragingWindow
をもつ構造体として返されます。
パラメーター フィールド | 値 | 説明 |
---|---|---|
AveragingWindow | 1 行 2 列の配列 | 内挿前の平均化ウィンドウ。1 行 2 列の配列 [F T] として返されます。配列要素の F と T は、関数が内挿前に平均化を実行した周波数領域と時間領域においてそれぞれ隣接する基準シンボルの数を示します。 |
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2019b で導入R2023a: C/C++ コード生成の更新
C/C++ コード生成において、名前と値の引数をコンパイル時の定数として指定するという制限がなくなりました。
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)