主要内容

ACPR和CCDF测量MATLAB系统对象

ACPR测量

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

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

sps = 4;bw = 50 e3;

为QSPK调制生成10,000个4元符号。

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

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

qpskMod=comm.qpskMod调制器;x=qpskMod(数据);

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

y = rectpulse (x, sps);

构造一个ACPR系统对象。采样率是带宽乘以每个符号的采样数。假设主信道为0,而相邻信道偏移设置为50 kHz(与主信道的带宽相同)。同样,相邻信道的测量带宽被设置为与主信道相同。最近,启用主通道和相邻通道电源输出端口。

acpr = comm.ACPR (“SampleRate”bw * sps,...“主频道频率”0,...“MainMeasurementBandwidth”bw,...“AdjacentChannelOffset”, 50 e3,...“AdjacentMeasurementBandwidth”bw,...“主通道电源输出端口”符合事实的...“邻接通道电源输出端口”,真正的);

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

[ACPRout,主电源,调整电源]=acpr(y)
ACPRout = -9.3071
mainPower = 28.9389
adjPower = 19.6318

将频率偏移更改为75 kHz并确定ACPR。由于AdjacentChannelOffset属性不可更改,因此必须首先释放acpr.观察ACPR随着信道偏移量的增加而改善。

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

释放acpr并指定一个50 kHz的相邻信道偏移。

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

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

txfilter = comm.RaisedCosineTransmitFilter (“OutputSamplesPerSymbol”,sps);z=TX过滤器(x);

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

ACPRout = acpr (z)
ACPRout=-17.2245

绘制相邻通道偏移范围内的相邻通道功率比。以10 kHz的步长将通道偏移设置为30 kHz到70 kHz的范围。回想一下,您必须首先释放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(“相邻信道偏移(千赫)”)伊拉贝尔(“ACPR (dB)”)传说(“矩形”“升余弦”“位置”“最佳”网格)

图中包含一个轴。轴包含2个类型为line的对象。这些对象表示矩形的升余弦。

CCDF测量

此示例演示如何使用互补累积分布函数(CCDF)系统对象来测量信号瞬时功率大于其平均功率指定水平的概率通信CCDF对象,启用PAPR输出端口,并将最大信号功率限制设置为50 dBm。

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

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

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

确定OFDM调制器对象的输入和输出尺寸信息的函数调制解调器通信对象

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

设置OFDM帧的数量。

numFrames = 20;

为信号阵列分配内存。

qamSig=repmat(零(ofdmInputSize),numFrames,1);ofdmSig=repmat(零(ofdmoutsize),numFrames,1);

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

k = 1: numFrames%生成随机数据符号数据=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;结束

确定两个信号的平均信号功率、峰值信号功率和峰均功率比。被评估的两个信号必须具有相同的长度,以便评估前4000个符号。

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

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

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

图中包含一个轴。标题为CCDF测量的轴包含2个线型对象。这些对象表示QAM、OFDM。

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

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

您可以看到,通过对64-QAM调制信号应用OFDM调制,PAPR增加了5.8 dB。这意味着,如果需要30 dBm的发射功率来关闭64-QAM链路,则功率放大器需要具有33.7 dBm的最大功率以确保线性操作。如果相同的信号被OFDM调制,则需要39.5 dBm的功率放大器艾瑞德。

另请参阅

|

相关话题