このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
RF 劣化要因を考慮した 5G NR ダウンリンク波形の EVM の測定
この例では、NR テスト モデル (NR-TM) 波形または fixed reference channel (FRC) 波形のエラー ベクトル振幅 (EVM) を測定する方法を示します。この例では、位相ノイズ、同相/直交 (I/Q) 不均衡、フィルター効果、無記憶非線形性などの RF 劣化要因を追加する方法も示します。
はじめに
3GPP 5G NR 規格では、基地局の RF テストに関する一連の NR-TM 波形が定義されています。また、この規格では、ユーザー端末 (UE) のテストに関する一連の FRC 波形が定義されています。周波数範囲 1 (FR1) の NR-TM と FRC は TS 38.141-1 で定義されており、周波数範囲 2 (FR2) の NR-TM と FRC は TS 38.141-2 で定義されています。
この例では、NR 波形 (TM または FRC) を生成し、位相ノイズ、I/Q 不均衡、フィルター効果、無記憶非線形性などの RF 劣化要因を追加して、結果として得られた信号の EVM を計算する方法を示します。この例では、直交周波数分割多重 (OFDM) のシンボル、スロット、およびサブキャリアごとに EVM の RMS とピークをプロットし、全体的な EVM (完全な波形全体で平均化された RMS EVM) も計算します。TS 38.104 の Annex B と Annex C では、それぞれ FR1 と FR2 で EVM を計算するための代替方法が定義されています。次の図は、この例で実装される処理チェーンを示しています。
シミュレーション パラメーター
NR-TM または FRC の各波形は、次のパラメーターの組み合わせによって定義されます。
NR-TM/FRC の名前
チャネル帯域幅
サブキャリア間隔
デュプレックス モード
rc ="NR-FR1-TM3.2"; % Reference channel (NR-TM or FRC) % Select the NR waveform parameters bw =
"10MHz"; % Channel bandwidth scs =
"30kHz"; % Subcarrier spacing dm =
"FDD"; % Duplexing mode
TM の場合、生成された波形には複数の物理データ共有チャネル (PDSCH) が含まれる場合があります。解析対象として選択される PDSCH は、無線ネットワーク一時識別子 (RNTI) に基づいています。既定では、次の RNTI について EVM が計算されます。
NR-FR1-TM2: RNTI = 2 (64QAM EVM)
NR-FR1-TM2a: RNTI = 2 (256QAM EVM)
NR-FR1-TM2b: RNTI = 2 (1024QAM EVM)
NR-FR1-TM3.1: RNTI = 0 および 2 (64QAM EVM)
NR-FR1-TM3.1a: RNTI = 0 および 2 (256QAM EVM)
NR-FR1-TM3.1b: RNTI = 0 および 2 (1024QAM EVM)
NR-FR1-TM3.2: RNTI = 1 (16QAM EVM)
NR-FR1-TM3.3: RNTI = 1 (QPSK EVM)
NR-FR2-TM2: RNTI = 2 (64QAM EVM)
NR-FR2-TM2a: RNTI = 2 (256QAM EVM)
NR-FR2-TM3.1: RNTI = 0 および 2 (64QAM EVM)
NR-FR2-TM3.1a: RNTI = 0 および 2 (256QAM EVM)
仕様 (TS 38.141-1、TS 38.141-2) によれば、次の TM は EVM の測定を実行するように設計されていません。NR-FR1-TM1.1、NR-FR1-TM1.2、NR-FR2-TM1.1。ただし、この例では、これらの TM を生成すると、次の RNTI について EVM が測定されます。
NR-FR1-TM1.1: RNTI = 0 (QPSK EVM)
NR-FR1-TM1.2: RNTI = 2 (QPSK EVM)
NR-FR2-TM1.1: RNTI = 0 (QPSK EVM)
PDSCH の FRC および物理ダウンリンク制御チャネル (PDCCH) の場合、既定では RNTI 0 について EVM が計算されます。
この例では、上記の RNTI について PDSCH EVM を計算します。PDSCH の既定の RNTI をオーバーライドするには、targetRNTIs
ベクトルを指定します。
targetRNTIs = [];
EVM の統計を出力するには、displayEVM
を true
に設定します。出力を無効にするには、displayEVM
を false
に設定します。EVM の統計をプロットするには、plotEVM
を true
に設定します。プロットを無効にするには、plotEVM
を false
に設定します。
displayEVM =true; plotEVM =
true;
if displayEVM fprintf('Reference Channel = %s\n', rc); end
Reference Channel = NR-FR1-TM3.2
TS 38.104 の Annex B(FR1)/Annex C(FR2) で定義されている EVM を測定するには、evm3GPP
を true
に設定します。evm3GPP
は既定で無効になっています。また、PDCCH の EVM の測定では、evm3GPP
は無効になります。
evm3GPP =
false;
この例では、RF 送信機または RF 受信機を通過するときに波形が歪む原因となる最も一般的な劣化要因、つまり位相ノイズ、I/Q 不均衡、フィルター効果、無記憶非線形性を考慮します。phaseNoiseOn
、IQImbalanceON
、filterOn
、および nonLinearityModelOn
の各フラグを切り替えることで、劣化要因を有効または無効にします。
phaseNoiseOn =true; IQImbalanceON =
true; filterOn =
true; nonLinearityModelOn =
true;
広帯域フィルターの効果をモデル化するには、より高い波形サンプル レートを指定します。公称サンプル レートにオーバーサンプリング係数 OSR
を乗算すると、サンプル レートを上げることができます。定格サンプル レートを使用するには、OSR
を 1 に設定します。
OSR = 5; % oversampling factor % Create waveform generator object tmwavegen = hNRReferenceWaveformGenerator(rc,bw,scs,dm); % Waveform bandwidth bandwidth = tmwavegen.Config.ChannelBandwidth*1e6; if OSR > 1 % The |Config| property in |tmwavegen| specifies the configuration of % the standard-defined reference waveform. It is a read-only property. % To customize the waveform, make the |Config| property writable. tmwavegen = makeConfigWritable(tmwavegen); % Increase the waveform sample rate by multiplying the nominal sample % rate with |OSR| nominalSampleRate = getNominalSampleRate(tmwavegen.Config); tmwavegen.Config.SampleRate = nominalSampleRate*OSR; else filterOn = false; end % Generate the waveform and get the waveform sample rate [txWaveform,tmwaveinfo,resourcesinfo] = generateWaveform(tmwavegen,tmwavegen.Config.NumSubframes); sr = tmwaveinfo.Info.SamplingRate; % waveform sample rate
非線形性のダイナミック レンジに合わせて波形を正規化します。
txWaveform = txWaveform/max(abs(txWaveform),[],'all');
波形は、周波数分割複信 (FDD) の場合は 1 つのフレーム、時分割複信 (TDD) の場合は 2 つのフレームで構成されます。信号を 2 回繰り返します。位相ノイズ モデルが引き起こす過渡現象を回避するために、結果として得られた波形の前半を削除します。
txWaveform = repmat(txWaveform,2,1);
RF 劣化要因
このセクションでは、位相ノイズ、I/Q 不均衡、フィルター効果、非線形性などの RF 劣化要因をモデル化する方法を示します。
位相ノイズ歪みを導入します。次の図は位相ノイズ特性を示しています。この例で考慮する搬送波周波数は、周波数範囲によって異なります。この例では、FR1 と FR2 に対してそれぞれ 4 GHz と 30 GHz の中心周波数値を使用します。位相ノイズ特性は、TR 38.803 の Section 6.1.10 に記載されている多重極零点モデルを使って生成されます。
if phaseNoiseOn % Carrier frequency if tmwavegen.Config.FrequencyRange == "FR1" % carrier frequency for FR1 fc = 4e9; else % carrier frequency for FR2 fc = 30e9; end % Apply phase noise to the waveform and visualize phase noise PSD pnoise = hNRPhaseNoise(fc,sr,MinFrequencyOffset=1e4,... RandomStream="mt19937ar with seed"); rxWaveform = pnoise(txWaveform); visualize(pnoise); release(pnoise); else rxWaveform = txWaveform; %#ok<UNRCH> end
I/Q 不均衡を導入するには、波形に 0.2 dB の振幅不平衡と 0.5 度の位相不平衡を適用します。また、amplitudeImbalance
と phaseImbalance
を高い値に設定することで、振幅と位相の不平衡を増やすこともできます。
if IQImbalanceON amplitudeImbalance = 0.2; phaseImbalance = 0.5; rxWaveform = iqimbal(rxWaveform,amplitudeImbalance,phaseImbalance); end
ベースバンド波形をフィルター処理するには、ローパス フィルターを使用します。現在の通過帯域周波数と阻止帯域周波数 (PassbandFrequency
と StopbandFrequency
) を使用したときに、特定の波形の帯域幅と OSR
に対して EVM の値が高くなる場合は、PassbandFrequency
と StopbandFrequency
を増やしてより広いフィルターを使用します。より狭いフィルターを使用するには、PassbandFrequency
と StopbandFrequency
を減らします。通過帯域リップルと阻止帯域の減衰量を変更することもできます。次の図は、ローパス フィルターの振幅応答を示しています。
if filterOn % Create low-pass filter object LPF = dsp.LowpassFilter('SampleRate',sr, ... 'FilterType','IIR', ... 'PassbandFrequency',sr/2-(sr/2*0.6), ... 'StopbandFrequency',sr/2-(sr/2*0.5), ... 'PassbandRipple',0.7, ... 'StopbandAttenuation',60); % Plot the magnitude response of the low-pass filter [h,w] = freqz(LPF); figure plot(w/pi,mag2db(abs(h))); axis('tight'); grid; title('Magnitude Response of the LPF') xlabel('Normalized Frequency (x \pi rad/sample)'); ylabel('Magnitude (dB)'); % Filter the waveform rxWaveform = LPF(rxWaveform); release(LPF); end
この例では、Rapp モデルを使用して非線形歪みを導入します。次の図は、Rapp モデルによって導入された非線形性を示しています。TR 38.803 の Annex A.1 の無記憶モデルの特性に合わせて Rapp モデルのパラメーターを設定します。
if nonLinearityModelOn % Generate Rapp model object rapp = comm.MemorylessNonlinearity('Method','Rapp model'); rapp.Smoothness = 1.55; rapp.OutputSaturationLevel = 1; % Plot nonlinear characteristic plotNonLinearCharacteristic(rapp); % Apply nonlinearity rxWaveform = rapp(rxWaveform); release(rapp); end
RF 劣化要因を追加する前と後の波形のスペクトルをプロットします。
scope = spectrumAnalyzer('SampleRate',sr,... 'ChannelNames',{'Before impairments','After impairments'},... 'Title', 'Waveform before and after impairments'); scope([txWaveform,rxWaveform]); release(scope);
この信号は、先ほど 2 回繰り返されました。この信号の前半を削除します。これにより、劣化モデルが引き起こす過渡現象を回避できます。
if dm == "FDD" nFrames = 1; else % TDD nFrames = 2; end rxWaveform(1:nFrames*tmwaveinfo.Info.SamplesPerSubframe*10,:) = [];
測定
補助関数 hNRDownlinkEVM は、次の手順を実行し、波形を復号化して解析します。
周波数オフセットの大まかな推定と補正
整数の周波数オフセットの推定と補正
I/Q 不均衡の推定と補正
FDD の場合は 1 フレーム (TDD の場合は 2 フレーム) の復調基準信号 (DM-RS) を使用した同期
直流 (DC) オフセットの推定と補正
受信波形の OFDM 復調
DC サブキャリアの除外
細かな周波数オフセットの推定と補正
チャネル推定
イコライズ
共通位相誤差 (CPE) の推定と補償
PDSCH の EVM の計算 (スイッチ
evm3GPP
を有効にし、TS 38.104 の Annex B (FR1)/Annex C (FR2) で規定されている EVM 測定要件に従って処理する)。各 bandwidth part (BWP) にわたる PDSCH DM-RS の EVM の計算
各 BWP にわたる PDSCH PT-RS の EVM の計算
各 BWP にわたる PDCCH の EVM の計算
各 BWP にわたる PDCCH DM-RS の EVM の計算
各 PDSCH 構成の PDSCH の EVM の計算
各 PDSCH 構成のリソース エレメント (RE) あたりの PDSCH の電力
各 PDSCH 構成の PDSCH DM-RS の EVM の計算
各 PDSCH 構成の RE あたりの PDSCH DM-RS の電力
各 PDSCH 構成の PDSCH PT-RS の EVM の計算
各 PDSCH 構成の RE あたりの PDSCH PT-RS の電力
各 PDCCH 構成の PDCCH の EVM の計算
各 PDCCH 構成の RE あたりの PDCCH の電力
各 PDCCH 構成の PDCCH DM-RS の EVM の計算
各 PDCCH 構成の RE あたりの PDCCH DM-RS の電力
次の例は、シンボルごと、スロットごと、フレームごとのピーク EVM と RMS EVM に関するさまざまな EVM 関連統計を測定して出力します。この例は、各スロットおよび各フレームの EVM を表示します。また、入力波形全体にわたって平均化された全体的な EVM も表示します。この例では、次のいくつかのプロットが生成されます。OFDM シンボルと EVM の関係、スロットと EVM の関係、サブキャリアと EVM の関係、および全体的な EVM。各プロットには、EVM のピークと RMS が表示されます。
cfg = struct();
cfg.Evm3GPP = evm3GPP;
cfg.TargetRNTIs = targetRNTIs;
cfg.PlotEVM = plotEVM;
cfg.DisplayEVM = displayEVM;
cfg.IQImbalance = IQImbalanceON;
% Compute and display EVM measurements
[evmInfo,eqSym,refSym] = hNRDownlinkEVM(tmwavegen.Config,rxWaveform,cfg);
EVM stats for BWP idx : 1 PDSCH RMS EVM, Peak EVM, slot 0: 2.328 6.666% DM-RS RMS EVM, Peak EVM, slot 0: 1.656 3.912% PDSCH RMS EVM, Peak EVM, slot 1: 2.455 9.628% DM-RS RMS EVM, Peak EVM, slot 1: 1.815 3.739% PDSCH RMS EVM, Peak EVM, slot 2: 2.254 6.522% DM-RS RMS EVM, Peak EVM, slot 2: 1.892 5.122% PDSCH RMS EVM, Peak EVM, slot 3: 2.431 8.202% DM-RS RMS EVM, Peak EVM, slot 3: 2.175 5.190% PDSCH RMS EVM, Peak EVM, slot 4: 2.458 7.635% DM-RS RMS EVM, Peak EVM, slot 4: 1.961 6.181% PDSCH RMS EVM, Peak EVM, slot 5: 2.589 7.928% DM-RS RMS EVM, Peak EVM, slot 5: 2.114 5.070% PDSCH RMS EVM, Peak EVM, slot 6: 2.521 8.341% DM-RS RMS EVM, Peak EVM, slot 6: 1.826 4.415% PDSCH RMS EVM, Peak EVM, slot 7: 2.583 7.959% DM-RS RMS EVM, Peak EVM, slot 7: 2.330 5.338% PDSCH RMS EVM, Peak EVM, slot 8: 2.436 7.121% DM-RS RMS EVM, Peak EVM, slot 8: 1.675 5.060% PDSCH RMS EVM, Peak EVM, slot 9: 2.731 10.517% DM-RS RMS EVM, Peak EVM, slot 9: 2.022 4.807% PDSCH RMS EVM, Peak EVM, slot 10: 2.256 7.314% DM-RS RMS EVM, Peak EVM, slot 10: 1.895 3.755% PDSCH RMS EVM, Peak EVM, slot 11: 2.284 9.950% DM-RS RMS EVM, Peak EVM, slot 11: 1.695 4.039% PDSCH RMS EVM, Peak EVM, slot 12: 2.486 7.692% DM-RS RMS EVM, Peak EVM, slot 12: 2.254 6.078% PDSCH RMS EVM, Peak EVM, slot 13: 2.492 7.451% DM-RS RMS EVM, Peak EVM, slot 13: 1.862 5.556% PDSCH RMS EVM, Peak EVM, slot 14: 2.260 6.940% DM-RS RMS EVM, Peak EVM, slot 14: 1.721 5.189% PDSCH RMS EVM, Peak EVM, slot 15: 2.321 8.232% DM-RS RMS EVM, Peak EVM, slot 15: 1.784 4.540% PDSCH RMS EVM, Peak EVM, slot 16: 2.523 8.926% DM-RS RMS EVM, Peak EVM, slot 16: 2.422 6.150% PDSCH RMS EVM, Peak EVM, slot 17: 2.446 6.791% DM-RS RMS EVM, Peak EVM, slot 17: 2.248 5.218% PDSCH RMS EVM, Peak EVM, slot 18: 2.693 9.742% DM-RS RMS EVM, Peak EVM, slot 18: 2.447 8.232% PDCCH RMS EVM, Peak EVM, slot 0: 2.157 5.243% PDCCH DM-RS RMS EVM, Peak EVM, slot 0: 1.183 2.207% PDCCH RMS EVM, Peak EVM, slot 1: 1.349 2.476% PDCCH DM-RS RMS EVM, Peak EVM, slot 1: 0.777 1.370% PDCCH RMS EVM, Peak EVM, slot 2: 1.687 4.359% PDCCH DM-RS RMS EVM, Peak EVM, slot 2: 0.805 1.116% PDCCH RMS EVM, Peak EVM, slot 3: 1.717 3.739% PDCCH DM-RS RMS EVM, Peak EVM, slot 3: 0.961 1.728% PDCCH RMS EVM, Peak EVM, slot 4: 2.012 3.641% PDCCH DM-RS RMS EVM, Peak EVM, slot 4: 0.707 1.137% PDCCH RMS EVM, Peak EVM, slot 5: 1.784 5.852% PDCCH DM-RS RMS EVM, Peak EVM, slot 5: 0.684 1.252% PDCCH RMS EVM, Peak EVM, slot 6: 2.485 4.889% PDCCH DM-RS RMS EVM, Peak EVM, slot 6: 0.906 1.396% PDCCH RMS EVM, Peak EVM, slot 7: 1.557 3.589% PDCCH DM-RS RMS EVM, Peak EVM, slot 7: 0.625 1.182% PDCCH RMS EVM, Peak EVM, slot 8: 1.531 3.197% PDCCH DM-RS RMS EVM, Peak EVM, slot 8: 0.740 1.015% PDCCH RMS EVM, Peak EVM, slot 9: 1.905 4.610% PDCCH DM-RS RMS EVM, Peak EVM, slot 9: 0.700 1.205% PDCCH RMS EVM, Peak EVM, slot 10: 1.298 3.273% PDCCH DM-RS RMS EVM, Peak EVM, slot 10: 0.764 1.166% PDCCH RMS EVM, Peak EVM, slot 11: 1.556 3.975% PDCCH DM-RS RMS EVM, Peak EVM, slot 11: 0.890 1.675% PDCCH RMS EVM, Peak EVM, slot 12: 1.657 3.378% PDCCH DM-RS RMS EVM, Peak EVM, slot 12: 0.649 1.198% PDCCH RMS EVM, Peak EVM, slot 13: 1.946 3.974% PDCCH DM-RS RMS EVM, Peak EVM, slot 13: 0.820 1.321% PDCCH RMS EVM, Peak EVM, slot 14: 1.725 4.251% PDCCH DM-RS RMS EVM, Peak EVM, slot 14: 0.679 1.269% PDCCH RMS EVM, Peak EVM, slot 15: 1.540 3.703% PDCCH DM-RS RMS EVM, Peak EVM, slot 15: 0.520 0.832% PDCCH RMS EVM, Peak EVM, slot 16: 1.530 3.719% PDCCH DM-RS RMS EVM, Peak EVM, slot 16: 0.772 1.261% PDCCH RMS EVM, Peak EVM, slot 17: 1.635 3.319% PDCCH DM-RS RMS EVM, Peak EVM, slot 17: 0.871 1.351% PDCCH RMS EVM, Peak EVM, slot 18: 1.767 3.754% PDCCH DM-RS RMS EVM, Peak EVM, slot 18: 0.898 2.015%
Averaged overall PDSCH RMS EVM: 2.454% Overall PDSCH Peak EVM = 10.5171% Averaged overall PDCCH RMS EVM: 1.750% Overall PDCCH Peak EVM = 5.8516%
参考文献
[1] TR 38.803 V14.3.0. "Study on new radio access technology: Radio Frequency (RF) and co-existence aspects." 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.
[2] TS 38.141-1. "NR; Base Station (BS) conformance testing Part 1: Conducted conformance testing." 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.
[3] TS 38.141-2. "NR; Base Station (BS) conformance testing Part 2: Conducted conformance testing." 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.
[4] TS 38.104. "NR; Base Station (BS) radio transmission and reception." 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.
ローカル関数
function plotNonLinearCharacteristic(memoryLessNonlinearity) % Plot the nonlinear characteristic of the power amplifier (PA) impairment % represented by the input parameter memoryLessNonlinearity, which is a % comm.MemorylessNonlinearity Communications Toolbox(TM) System object. % Input samples x = complex((1/sqrt(2))*(-1+2*rand(1000,1)),(1/sqrt(2))*(-1+2*rand(1000,1))); % Nonlinearity yRapp = memoryLessNonlinearity(x); % Release object to feed it a different number of samples release(memoryLessNonlinearity); % Plot characteristic figure; plot(10*log10(abs(x).^2),10*log10(abs(x).^2)); hold on; grid on plot(10*log10(abs(x).^2),10*log10(abs(yRapp).^2),'.'); xlabel('Input Power (dBW)'); ylabel('Output Power (dBW)'); title('Nonlinearity Impairment') legend('Linear characteristic', 'Rapp nonlinearity','Location','Northwest'); end function [sampleRate] = getNominalSampleRate(cfgObj) % Obtain nominal sample rate for the input parameter CFGOBJ. CFGOBJ is % an object of type 'nrDLCarrierConfig' sampleRate = nr5g.internal.wavegen.maxSampleRate(cfgObj); end