ACPR和CCDF的测量MATLAB系统对象

ACPR测量

这个例子展示了如何从一个基带,50kbps的QPSK信号测量相邻信道的功率比(ACPR)。ACPR是相邻频带所测得的信号功率与主频带所测得的同一信号功率之比。每个符号的样本数设置为4个。

设置每个符号的样本(SPS)及频道带宽(bw)参数。

sps = 4;bw = 50 e3;

生成10,000个四元符号用于QSPK调制。

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

构造一个QPSK调制器,然后调制输入数据。

qpskMod = comm.QPSKModulator;X = qpskMod(数据);

对调制信号进行矩形脉冲整形。这种类型的脉冲整形通常不做在实际系统,但在这里用于说明目的。

y = rectpulse (x, sps);

构造一个ACPR系统对象。采样率乘以每个符号的样本的数目的带宽。主信道被假定为在0,而相邻信道偏移量被设置到50kHz(等同于主要信道的带宽)。同样地,相邻信道的测量带宽被设置为是相同的主信道。最近,使能主和相邻信道的功率输出端口。

acpr = comm.ACPR (“SampleRate”bw * sps,'MainChannelFrequency'0,“MainMeasurementBandwidth”bw,“AdjacentChannelOffset”, 50 e3,“AdjacentMeasurementBandwidth”bw,'MainChannelPowerOutputPort',真实,'AdjacentChannelPowerOutputPort',真正的);

测量信号的ACPR、主信道功率和相邻信道功率y

[ACPRout,主动力,adjPower] = ACPR(y)的
ACPRout = -9.3071
mainPower = 28.9389
adjPower = 19.6318

更改频率偏移75 kHz和确定的ACPR。由于AdjacentChannelOffset属性是nontunable,你必须首先释放ACPR。注意,当信道偏移量增加时,ACPR会改善。

释放(ACPR)acpr.AdjacentChannelOffset = 75e3;ACPRout = ACPR(y)的
ACPRout = -13.1702

释放ACPR并指定一个50khz的相邻信道偏移量。

释放(ACPR)acpr.AdjacentChannelOffset = 50e3;

创建一个凸起的余弦滤波器并对调制信号进行滤波。

txfilter = comm.RaisedCosineTransmitFilter (“OutputSamplesPerSymbol”,SPS);Z = txfilter(X);

测量ACPR为经滤波的信号,z。你可以看到ACPR从-9.5 dB提高到-17.7 dB当提高余弦脉冲使用。

ACPRout = acpr (z)
ACPRout = -17.2245

画出的相邻信道功率比为一系列相邻信道偏移。设置信道偏移到范围从30kHz到10个kHz的步骤70千赫。回想一下,您必须首先释放hACPR更改偏移量。

freqOffset = 1 e3 * (30:5:70);(acpr) acpr发布。AdjacentChannelOffset = freqOffset;

确定用于与矩形和升余弦脉冲形状的信号的ACPR值。

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

绘制相邻通道的功率比。

情节(ACPR1 freqOffset / 1000,'*  - ', ACPR2 freqOffset / 1000“啊——”)xlabel(“相邻通道偏移量(kHz)”)ylabel(“ACPR (dB)”)传说(“矩形”,“升余弦”,“位置”,“最佳”网格)

CCDF测量

该示例示出了如何使用互补累积分布函数(CCDF)系统对象来测量比在其平均功率指定电平的信号的瞬时功率为较大的概率。构建comm.CCDF对象,使PAPR输出端口,和最大信号功率限制设置为50 dBm的。

ccdf = comm.CCDF (“PAPROutputPort”,真的,“MaximumPowerLimit”, 50);

创建一个FFT长度为256,循环前缀长度为32的OFDM调制器。

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

确定OFDM调制器对象的输入和输出大小信息的函数comm.OFDMModulator目的。

ofdmDims = info (ofdmMod)
ofdmDims =结构体字段:DataInputSize: [245 1] OutputSize: [288 1]
ofdmInputSize = ofdmDims.DataInputSize;ofdmOutputSize = ofdmDims.OutputSize;

设置OFDM帧数。

numFrames = 20;

为信号阵列分配内存。

qamSig = repmat (0 (ofdmInputSize) numFrames 1);ofdmSig = repmat (0 (ofdmOutputSize) numFrames 1);

产生64-QAM和OFDM信号进行评估。

k = 1: numFrames生成随机数据符号data = randi([0 63],ofdmInputSize);%应用64-QAM调制tmpQAM = qammod(数据,64);对qam调制信号应用OFDM调制tmpOFDM = ofdmMod(tmpQAM);%保存信号数据qamSig ((1: ofdmInputSize) + (k - 1) * ofdmInputSize (1)) = tmpQAM;ofdmSig ((1: ofdmOutputSize) + (k - 1) * ofdmOutputSize (1)) = tmpOFDM;结束

确定平均信号功率,峰值功率信号,并为两个信号的PAPR比。这两个信号被评估必须是相同的长度,以便所述第一符号4000被评估。

[财政年度,外汇,地表铺面]= ccdf ([qamSig (1:4000) ofdmSig (1:4000)]);

绘制CCDF数据。观察到OFDM调制信号的功率比其平均功率水平高出3分贝的可能性比QAM调制信号要高得多。

情节(ccdf)传说(“QAM”,OFDM的,“位置”,“最佳”)

比较调制QAM信号和OFDM信号的PAPR值。

流('\ 64-QAM的nPAPR = %5.2f dB\ OFDM的nPAPR = %5.2f dB\n',地表铺面(1),地表铺面(2))
64-QAM的PAPR = 3.65 dB OFDM的PAPR = 9.44 dB

可以看到,通过将OFDM调制的64-QAM调制的信号,由5.8分贝的PAPR增大。这意味着,如果需要30 dBm的发射功率,以关闭一个64-QAM链路,功率放大器需要具有33.7 dBm的最大功率,以确保线性操作。如果相同的信号然后进行OFDM调制时,需要39.5 dBm的功率放大器。