主要内容

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.QPSKModulator;x = qpskMod(数据);

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

y = rectpulse (x, sps);

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

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

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

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

改变频率偏移到75 kHz并确定ACPR。由于AdjacentChannelOffset属性是不可调优的,所以必须首先释放它acpr.观察ACPR随着信道偏移量的增加而改善。

(acpr) acpr发布。AdjacentChannelOffset = 75年e3;ACPRout = acpr (y)
ACPRout = -13.1702

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

(acpr) acpr发布。AdjacentChannelOffset = 50 e3;

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

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

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

ACPRout = acpr (z)
ACPRout = -17.2245

绘制相邻信道偏移范围的相邻信道功率比。设置通道偏移的范围从30 kHz到70 kHz的10 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“啊——”)包含(“相邻信道偏移(千赫)”) ylabel (“ACPR (dB)”)传说(“矩形”提出了余弦的“位置”“最佳”网格)

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象代表矩形,上升余弦。

CCDF测量

这个例子展示了如何使用互补累积分布函数(CCDF)系统对象来测量信号的瞬时功率大于其平均功率的指定水平的概率。构建comm.CCDF对象,使能PAPR输出端口,设置最大信号功率限制为50dbm。

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调制信号的功率比其平均功率水平高出3db的可能性要比QAM调制信号高得多。

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

图中包含一个轴对象。标题为CCDF Measurement的轴对象包含2个类型为line的对象。这些对象代表QAM, OFDM。

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

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

你可以看到,将OFDM调制应用于64-QAM调制信号,其PAPR增加了5.8 dB。这意味着如果关闭一个64-QAM链路需要30 dBm的发射功率,功率放大器需要有33.7 dBm的最大功率来保证线性运行。如果对相同的信号进行OFDM调制,则需要一个39.5 dBm的功率放大器。

另请参阅

|

相关的话题