主要内容

同步信号块和突发

本例介绍如何生成一个同步信号块(SSB),并生成多个SSB形成一个同步信号突发(SS突发)。形成同步信号块的通道和信号(主要和次要同步信号,物理广播通道)被创建并映射到表示该块的矩阵中。最后创建一个表示同步信号突发的矩阵,并创建突发中的每个同步信号块并映射到该矩阵中。

SS / PBCH块

TS 38.211章节7.4.3.1将同步信号/物理广播信道(SS/PBCH)块定义为240个子载波和4个OFDM符号,包含以下信道和信号:

  • 主同步信号

  • 二次同步信号(SSS)

  • 物理广播信道(PBCH)

  • PBCH解调参考信号(PBCH DM-RS)

在其他文档中,例如TS 38.331, SS/PBCH被称为“同步信号块”或“SS块”。

创建一个240 × 4的矩阵表示SS/PBCH块:

Ssblock = 0 ([240 4])
ssblock =240×40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

主同步信号(PSS)

为给定的单元格标识创建PSS:

Ncellid = 17;pssSymbols = nrPSS(ncellid)
pssSymbols =127×1-1 -1 -1 -1 -1 1 1 1 -1

变量pssSymbols是包含PSS的127个BPSK符号的列向量。

创建PSS指数:

pssIndices = nrPSSIndices;

的变量pssIndices列向量的大小和pssSymbols.的每个元素中的值pssIndices对应符号所在的SS/PBCH块中的位置是否为线性索引pssSymbols应该映射。因此,PSS符号到SS/PBCH块的映射可以通过简单的MATLAB赋值来执行,使用线性索引来选择SS/PBCH块矩阵的正确元素。请注意,缩放因子1应用于PSS符号,以表示 β PSS TS 38.211第7.4.3.1.1节:

ssblock(pssIndices) = 1 * pssSymbols;

绘制SS/PBCH块矩阵以显示PSS的位置:

显示亮度图像(abs (ssblock));caxis ([0 4]);轴xy;包含(OFDM符号的);ylabel (副载波的);标题(包含PSS的SS/PBCH块);

图中包含一个轴对象。axis对象的标题SS/PBCH块包含PSS,它包含一个image类型的对象。

辅助同步信号(SSS)

创建与PSS配置相同的单元格标识的SSS:

sssSymbols = nrSSS(ncelllid)
sssSymbols =127×1-1 1 -1 -1 1 -1 1 -1 1 -1 1

按照用于PSS的相同模式,创建SSS索引并将SSS符号映射到SS/PBCH块。请注意,SSS符号的比例因子为2,以表示 β 瑞士 TS 38.211第7.4.3.1.2节:

sssIndices = nrSSSIndices;ssblock(sssIndices) = 2 * sssSymbols;

索引的默认形式是基于1的线性索引,适用于MATLAB矩阵的线性索引,如ssblock如前面所示。然而,NR标准文档在OFDM子载波和符号下标方面描述OFDM资源,使用基于0的编号。为了方便与NR标准进行交叉检查,indexes函数接受选项,允许选择索引样式(线性索引与下标)和基数(基于0的与基于1的):

sssSubscripts = nrSSSIndices(“IndexStyle”“下标”“IndexBase”基于“0”
sssSubscripts =127x3 uint32矩阵56 2 0 57 2 0 58 2 0 59 2 0 60 2 0 61 2 0 62 2 0 63 2 0 64 2 0 65 2 0 0

从下标可以看出,SSS位于SS/PBCH块的OFDM符号2(基于0的)中,从子载波56(基于0的)开始。

再次绘制SS/PBCH块矩阵,以显示PSS和SSS的位置:

显示亮度图像(abs (ssblock));caxis ([0 4]);轴xy;包含(OFDM符号的);ylabel (副载波的);标题(包含PSS和SSS的SS/PBCH块);

图中包含一个轴对象。axis对象的标题SS/PBCH块包含PSS和SSS,其中包含一个image类型的对象。

物理广播频道(PBCH)

PBCH携带一个长度为864位的码字,由对MIB (master information block)进行BCH编码生成。有关BCH编码的更多信息,请参阅函数nrBCH而且nrBCHDecode以及它们在NR Cell搜索、MIB和SIB1恢复的例子。这里使用了一个由864个随机位组成的PBCH码字:

Cw = randi([0 1],864,1);

PBCH调制由TS 38.211节7.3.3中描述的以下步骤组成:

  • 加扰

  • 调制

  • 物理资源映射

置乱和调制

多个SS/PBCH块在半帧内传输,如TS 38.213章节4.1中的单元搜索过程所述。每个SS/PBCH块都有一个索引 0 ... l - 1 ,在那里 l 为半帧内SS/PBCH块数。根据单元标识初始化PBCH的置乱序列ncellid,用于打乱PBCH码字的子序列取决于该值 v , SS/PBCH块索引的2或3个lsb,如TS 38.211章节7.3.3.1所述。在这个例子中, v 0 使用。这个函数nrPBCH创建置乱序列的相应子序列,执行置乱,然后执行QPSK调制:

V = 0;pbchSymbols = nrPBCH(cw,ncellid,v)
pbchSymbols =432×1复杂-0.7071 + 0.7071我-0.7071 + 0.7071我-0.7071 + 0.7071 -0.7071 - 0.7071 0.7071 -0.7071 + 0.7071 + 0.7071我-0.7071 + 0.7071我0.7071 - 0.7071 0.7071 + 0.7071我⋮0.7071 + 0.7071

映射到资源元素

创建PBCH索引并将PBCH符号映射到SS/PBCH块。请注意,缩放因子3应用于PBCH符号,以表示 β PBCH TS 38.211第7.4.3.1.3节:

pbchIndices = nrPBCHIndices(ncellid);ssblock(pbchIndices) = 3 * pbchSymbols;

再次绘制SS/PBCH块矩阵,以显示PSS、SSS和PBCH的位置:

显示亮度图像(abs (ssblock));caxis ([0 4]);轴xy;包含(OFDM符号的);ylabel (副载波的);标题(包含PSS, SSS和PBCH的SS/PBCH块);

图中包含一个轴对象。axis对象的标题SS/PBCH块包含PSS, SSS和PBCH,其中包含一个image类型的对象。

PBCH解调参考信号(PBCH DM-RS)

SS/PBCH块的最后一个组件是与PBCH相关联的DM-RS。与PBCH类似,使用的DM-RS序列派生自SS/PBCH块索引,并使用该变量进行配置 单边带 TS 38.211节7.4.1.4.1所述。在这里 单边带 0 使用:

ibar_SSB = 0;dmrsSymbols = nrPBCHDMRS(ncellid,ibar_SSB)
dmrsSymbols =144×1复杂0.7071 -0.7071 i 0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 i 0.7071 -0.7071 i 0.7071i -0.7071 i 0.7071i 0.7071i 0.7071 + 0.7071i

注意TS 38.211章节7.4.1.4.1定义了一个中间变量 单边带 它的定义是一样的 v 前面描述的PBCH。

创建PBCH DM-RS索引并将PBCH DM-RS符号映射到SS/PBCH块。请注意,将比例因子4应用于PBCH DM-RS符号,以表示 β PBCH DM - RS TS 38.211第7.4.3.1.3节:

dmrsIndices = nrPBCHDMRSIndices(ncellid);ssblock(dmrsIndices) = 4 * dmrsSymbols;

再次绘制SS/PBCH块矩阵,以显示PSS、SSS、PBCH和PBCH DM-RS的位置:

显示亮度图像(abs (ssblock));caxis ([0 4]);轴xy;包含(OFDM符号的);ylabel (副载波的);标题(SS/PBCH块,包含PSS, SSS, PBCH和PBCH DM-RS);

图中包含一个轴对象。axis对象的标题SS/PBCH块包含PSS, SSS, PBCH和PBCH DM-RS包含一个图像类型的对象。

产生SS爆发

SS突发由多个SS/PBCH块组成,可以通过创建一个更大的网格并将SS/PBCH块映射到适当的位置来生成,每个SS/PBCH块根据位置具有正确的参数。

创建SS爆发网格

在NR标准中,OFDM符号被分组为插槽、子帧和帧。TS 38.211章节4.3.1定义,一帧有10个子帧,每个子帧的持续时间固定为1ms。每个SS爆发的持续时间为半帧,因此横跨5个子帧:

nSubframes = 5
nSubframes = 5

TS 38.211章节4.3.2定义每个槽有14个OFDM符号(用于正常循环前缀长度),这是固定的:

symbolsPerSlot = 14
symbolsPerSlot = 14

然而,每个子帧的槽数是变化的,是子载波间距的函数。随着子载波间距的增大,OFDM符号持续时间减小,因此可以在1ms的固定子帧持续时间内拟合更多的OFDM符号。

有5种子载波间距配置 μ 0 4 ,对应的子载波间距为 15 2 μ kHz。在这个例子中,我们将使用 μ 1 ,对应30 kHz子载波间距:

= 1
= 1

每个子帧的槽数为 2 μ ,因为加倍的子载波间距使OFDM符号持续时间减半。请注意,在NR中插槽的定义与LTE不同:LTE中的子帧由2个7个符号的插槽(用于普通循环前缀)组成,而在NR中,使用LTE子载波间距的子帧( μ 0 , 15千赫)由一个槽14个符号组成。

计算SS突发中OFDM符号的总数:

nSymbols = symbolsPerSlot * 2^mu * nSubframes
nSymbols = 140

为整个SS爆发创建一个空网格:

ssburst = 0 ([240 nSymbols]);

定义SS块模式

SS爆发中SS/PBCH块的模式由TS 38.213中的单元搜索过程间接指定,该过程描述了UE可能检测到SS/PBCH块的位置。有5种分组模式,Case A - Case E,具有不同的子载波间距,适用于不同的载波频率。

为块模式Case B创建候选SS/PBCH块中第一个符号的索引 l 8 每次爆发的块数:

N = [0,1];firstSymbolIndex = [4;8;16;20] + 28*n;firstSymbolIndex = firstSymbolIndex(:).'
firstSymbolIndex =1×848 16 20 32 36 44 48

创建SS突发内容

现在可以创建一个循环,生成每个SS块,并将其分配到SS爆发的适当位置。注意事项:

  • 代码重用了本例前面创建的各种变量(PSS、SSS和4组索引)

  • PSS和SSS独立于SS/PBCH块索引,因此可以在循环之前映射到SS块中

  • PBCH索引和PBCH DM-RS索引独立于SS/PBCH块索引,因此不需要在循环中更新

  • 单边带 单边带 而且 v 根据TS 38.211章节7.3.3.1和7.4.1.4.1的规则设置 l 8

  • 每个通道/信号都被缩放,以便在最终的图形中赋予它们不同的颜色

Ssblock = 0 ([240 4]);ssblock(pssIndices) = pssSymbols;ssblock(sssIndices) = 2 * sssSymbols;ssbIndex = 1:length(firstSymbolIndex) i_SSB = mod(ssbIndex - 1,8);ibar_SSB = i_SSB;v = i_SSB;pbchSymbols = nrPBCH(cw,ncellid,v);ssblock(pbchIndices) = 3 * pbchSymbols;dmrsSymbols = nrPBCHDMRS(ncellid,ibar_SSB);ssblock(dmrsIndices) = 4 * dmrsSymbols;ssburst(:,firstSymbolIndex(ssbIndex) + (0:3)) = ssblock;结束

最后绘制SS爆发内容:

显示亮度图像(abs (ssburst));caxis ([0 4]);轴xy;包含(OFDM符号的);ylabel (副载波的);标题('SS爆裂,块状模式B案例');

图中包含一个轴对象。标题为SS的轴对象爆发,块模式Case B包含一个image类型的对象。

另请参阅

功能

相关的话题