最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

MATLAB System object による ACPR と CCDF の測定

ACPR の測定

この例では、50 kbps のベースバンド QPSK 信号からの隣接チャネル電力比 (ACPR) を測定する方法を説明します。ACPR は、隣接周波数帯域で測定される信号電力の主帯域で測定される同じ信号による電力に対する割合です。シンボルあたりのサンプル数は 4 に設定します。

シンボルあたりのサンプル数 (sps) とチャネル帯域幅 (bw) のパラメーターを設定します。

sps = 4;
bw = 50e3;

QSPK 変調用に 10,000 個の 4 値シンボルを生成します。

data = randi([0 3],10000,1);

QPSK 変調器を構築し、入力データを変調します。

qpskMod = comm.QPSKModulator;
x = qpskMod(data);

変調された信号に矩形パルス整形を適用します。このタイプのパルス整形は、通常は実際のシステムでは使用されませんが、ここでは、わかりやすくするために使用します。

y = rectpulse(x,sps);

ACPR System object を構築します。サンプルレートは、帯域幅にシンボルあたりのサンプル数を乗算した値です。メイン チャネルは 0 にあるものとし、隣接チャネル オフセットは 50 kHz (メイン チャネルの帯域幅と同じ) に設定します。同様に、隣接チャネルの測定帯域幅はメイン チャネルのものと同じに設定します。後で、メイン チャネルと隣接チャネルの電力出力端子を有効にします。

acpr = comm.ACPR('SampleRate',bw*sps,...
    'MainChannelFrequency',0,...
    'MainMeasurementBandwidth',bw,...
    'AdjacentChannelOffset',50e3,...
    'AdjacentMeasurementBandwidth',bw,...
    'MainChannelPowerOutputPort', true,...
    'AdjacentChannelPowerOutputPort',true);

信号 y の ACPR、メイン チャネル電力および隣接チャネル電力を測定します。

[ACPRout,mainPower,adjPower] = acpr(y)
ACPRout = -9.3071
mainPower = 28.9389
adjPower = 19.6318

周波数オフセットを 75 kHz に変更し、ACPR を求めます。AdjacentChannelOffset プロパティが調整不可であるため、先に acpr を解放しなければなりません。チャネル オフセットが増加した場合に ACPR が改善されることを確認します。

release(acpr)
acpr.AdjacentChannelOffset = 75e3;
ACPRout = acpr(y)
ACPRout = -13.1702

acpr を解放し、50 kHz の隣接チャネル オフセットを指定します。

release(acpr)
acpr.AdjacentChannelOffset = 50e3;

レイズド コサイン フィルターを作成し、変調された信号をフィルター処理します。

txfilter = comm.RaisedCosineTransmitFilter('OutputSamplesPerSymbol', sps);
z = txfilter(x);

フィルター処理された信号 z の ACPR を測定します。レイズド コサイン パルスを使用すると ACPR が -9.5 dB から -17.7 dB に改善されることがわかります。

ACPRout = acpr(z)
ACPRout = -17.2245

各隣接チャネル オフセットの範囲について、それぞれの隣接チャネル電力比をプロットします。チャネル オフセットを 30 kHz ~ 70 kHz の範囲で 10 kHz ごとに設定します。オフセットを変更するには、先に hACPR を解放しなければならないということを思い出してください。

freqOffset = 1e3*(30:5:70);
release(acpr)
acpr.AdjacentChannelOffset = freqOffset;

矩形パルス整形信号とレイズド コサイン パルス整形信号の ACPR 値を決定します。

ACPR1 = acpr(y);
ACPR2 = acpr(z);

隣接チャネル電力比をプロットします。

plot(freqOffset/1000,ACPR1,'*-',freqOffset/1000, ACPR2,'o-')
xlabel('Adjacent Channel Offset (kHz)')
ylabel('ACPR (dB)')
legend('Rectangular','Raised Cosine','location','best')
grid

CCDF の測定

この例では、相補累積分布関数 (CCDF) System object を使用して、信号の瞬時電力が平均電力を超えて指定レベルよりも大きくなる確率を測定する方法を説明します。comm.CCDF オブジェクトを構築し、PAPR 出力端子を有効にして、最大信号電力の限界を 50 dBm に設定します。

ccdf = comm.CCDF('PAPROutputPort',true,'MaximumPowerLimit', 50);

256 の FFT 長と 32 の巡回プレフィックス長をもつ OFDM 変調器を作成します。

ofdmMod = comm.OFDMModulator('FFTLength',256,'CyclicPrefixLength',32);

comm.OFDMModulator オブジェクトの関数 info を使用して、OFDM 変調器オブジェクトの入力サイズと出力サイズを求めます。

ofdmDims = info(ofdmMod)
ofdmDims = struct with fields:
    DataInputSize: [245 1]
       OutputSize: [288 1]

ofdmInputSize = ofdmDims.DataInputSize;
ofdmOutputSize = ofdmDims.OutputSize;

OFDM フレームの数を設定します。

numFrames = 20;

信号配列のメモリを割り当てます。

qamSig = repmat(zeros(ofdmInputSize),numFrames,1);
ofdmSig = repmat(zeros(ofdmOutputSize),numFrames,1);

評価用の 64-QAM 信号と OFDM 信号を生成します。

for k = 1:numFrames
    % Generate random data symbols
    data = randi([0 63],ofdmInputSize);
    % Apply 64-QAM modulation
    tmpQAM = qammod(data,64);
    % Apply OFDM modulation to the QAM-modulated signal
    tmpOFDM = ofdmMod(tmpQAM);
    % Save the signal data
    qamSig((1:ofdmInputSize)+(k-1)*ofdmInputSize(1)) = tmpQAM;
    ofdmSig((1:ofdmOutputSize)+(k-1)*ofdmOutputSize(1)) = tmpOFDM;
end

2 つの信号の平均信号電力、ピーク信号電力および PAPR 比を求めます。最初の 4000 シンボルが評価されるので、評価対象の 2 つの信号は同じ長さでなければなりません。

[Fy,Fx,PAPR] = ccdf([qamSig(1:4000),ofdmSig(1:4000)]);

CCDF データをプロットします。OFDM 変調信号の電力がその平均電力レベルを 3 dB より上回る可能性は QAM 変調信号に比べてはるかに高いことを確認します。

plot(ccdf)
legend('QAM','OFDM','location','best')

QAM 変調信号と OFDM 変調信号の PAPR 値を比較します。

fprintf('\nPAPR for 64-QAM = %5.2f dB\nPAPR for OFDM = %5.2f dB\n',...
    PAPR(1), PAPR(2))
PAPR for 64-QAM =  3.65 dB
PAPR for OFDM =  9.44 dB

OFDM 変調を 64-QAM 変調信号に適用すると、PAPR が 5.8 dB 増加することがわかります。これは、64-QAM リンクを閉じるために 30 dBm の送信電力が必要な場合、線形操作を維持するためにはパワー アンプに最大 33.7 dBm の電力が必要であることを意味しています。同じ信号が OFDM 変調される場合は、39.5 dBm のパワー アンプが必要です。