同步信号块和脉冲
本示例演示了如何生成一个同步信号块(SSB),并生成多个SSB形成一个同步信号突发(SS burst)。创建形成同步信号块的通道和信号(主、次同步信号、物理广播通道),并将其映射到表示该块的矩阵中。最后建立一个表示同步信号突发的矩阵,生成突发中的每个同步信号块,并将其映射到矩阵中。
SS / PBCH块
TS 38.211章节7.4.3.1将同步信号/物理广播信道(SS/PBCH)块定义为240个子载波和4个OFDM符号,包含以下信道和信号:
主同步信号(PSS)
二次同步信号(SSS)
物理广播信道(PBCH)
解调参考信号(PBCH DM-RS)
在其他文档中,例如TS 38.331, SS/PBCH被称为“同步信号块”或“SS块”。
创建一个代表SS/PBCH块的240 × 4矩阵:
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
主同步信号(PSS)
为给定的单元标识创建PSS:
Ncellid = 17;pssSymbols = nrPSS(ncelllid)
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块矩阵的正确元素。注意,PSS符号的比例因子为1,表示
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块”);
二次同步信号(SSS)
为PSS配置的相同单元标识创建SSS:
sssSymbols = nrSSS(ncelllid)
sssSymbols =127×1-1 1 -1 -1 1 -1 1 1 1 1 1
创建SSS索引并将SSS符号映射到SS/PBCH块,遵循用于PSS的相同模式。注意,SSS符号的比例因子为2,表示 TS 38.211第7.4.3.1.2节:
sssIndices = nrSSSIndices;ssblock(sssIndices) = 2 * sssSymbols;
索引的默认形式是基于1的线性索引,适用于MATLAB矩阵的线性索引,如ssblock
如前所述。然而,NR标准文档根据OFDM子载波和符号下标描述OFDM资源,使用基于0的编号。为了方便与NR标准交叉检查,索引函数接受选项,允许选择索引样式(线性索引vs下标)和基数(基于0 vs基于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块”);
实体广播频道(PBCH)
PBCH携带长度为864位的码字,是通过对主信息块(MIB)执行BCH编码创建的。有关BCH编码的更多信息,请参阅函数nrBCH
而且nrBCHDecode
以及它们在NR同步步骤的例子。这里使用了一个由864位随机组成的PBCH码字:
Cw = randi([0 1],864,1);
PBCH调制由TS 38.211节7.3.3所述的以下步骤组成:
加扰
调制
映射到物理资源
置乱调制
多个SS/PBCH块跨半帧传输,如TS 38.213章节4.1单元搜索过程中所述。给每个SS/PBCH块一个索引
,在那里
为半帧中SS/PBCH块数。根据小区标识初始化PBCH的置乱序列ncellid
,用于打乱PBCH码字的子序列取决于该值
, SS/PBCH块索引的2或3个lsb,如TS 38.211节7.3.3.1所述。在这个例子中,
使用。这个函数nrPBCH
创建置乱序列的适当子序列,执行置乱,然后执行QPSK调制:
V = 0;pbchSymbols = nrPBCH(cw, ncelllid,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块。注意,对PBCH符号应用了3的比例因子,以表示 TS 38.211第7.4.3.1.3节:
pbchIndices = nrPBCHIndices(ncelllid);ssblock(pbchIndices) = 3 * pbchSymbols;
再次绘制SS/PBCH块矩阵,以显示PSS、SSS和PBCH的位置:
显示亮度图像(abs (ssblock));caxis ([0 4]);轴xy;包含(OFDM符号的);ylabel (副载波的);标题(“包含PSS, SSS和PBCH的SS/PBCH块”);
解调参考信号(PBCH DM-RS)
SS/PBCH块的最后一个组成部分是与PBCH相关联的DM-RS。与PBCH类似,使用的DM-RS序列源自SS/PBCH块索引,并使用变量进行配置 TS 38.211节7.4.1.4.1所述。在这里 使用:
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 -0.7071 i 0.7071 -0.7071 i 0.7071 -0.7071 i 0.7071 -0.7071 i -0.7071 -0.7071 i 0.7071 + 0.7071i
注意TS 38.211节7.4.1.4.1定义了一个中间变量 哪一个的定义是相同的 前面为PBCH所描述的。
创建PBCH DM-RS索引并将PBCH DM-RS符号映射到SS/PBCH块。注意,PBCH DM-RS符号的比例因子为4,表示 TS 38.211第7.4.3.1.3节:
dmrsIndices = nrPBCHDMRSIndices(ncelllid);ssblock(dmrsIndices) = 4 * dmrsSymbols;
再次绘制SS/PBCH块矩阵,以显示PSS、SSS、PBCH和PBCH DM-RS的位置:
显示亮度图像(abs (ssblock));caxis ([0 4]);轴xy;包含(OFDM符号的);ylabel (副载波的);标题(“包含PSS, SSS, PBCH和PBCH DM-RS的SS/PBCH块”);
产生SS爆发
由多个SS/PBCH块组成的SS突发可以通过创建一个更大的网格并将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个副载波间距配置 ,对应的子载波间距为 kHz。在这个例子中,我们将使用 ,对应30 kHz副载波间距:
= 1
= 1
每个子帧的槽数为 ,因为加倍的子载波间距使OFDM符号的持续时间减半。注意NR中插槽的定义不同于LTE: LTE中的子帧由2个包含7个符号的插槽(用于正常循环前缀)组成,而NR中使用LTE子载波间距( , 15 kHz)由14个符号的1个槽组成。
计算SS突发中OFDM符号的总数:
nSymbols = symbolsPerSlot * 2^mu * nSubframes
nSymbols = 140
为整个SS爆发创建一个空网格:
ssburst = 0 ([240 nSymbols])
ssburst =240×1400 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 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 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 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 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 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 00 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 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 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 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 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 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⋮
定义SS块模式
SS突发中的SS/PBCH块的模式由TS 38.213中的单元搜索程序间接指定,该程序描述了UE可能检测到SS/PBCH块的位置。有Case A - Case E 5种分组模式,具有不同的子载波间距,适用于不同的载波频率。
为块模式Case B创建候选SS/PBCH块中第一个符号的索引 每次爆发的方块:
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块索引,因此不需要在循环中更新
, 而且 根据TS 38.211第7.3.3.1节和7.4.1.4.1节的规则设置 .
每个通道/信号都被缩放了,以便在最终的图中赋予它们不同的颜色
Ssblock = 0 ([240 4]);ssblock(pssIndices) = pssSymbols;ssblock(sssIndices) = 2 * sssSymbols;为1:length(firstSymbolIndex) i_SSB = mod(ssbIndex,8);ibar_SSB = i_SSB;v = i_SSB;pbchSymbols = nrPBCH(cw, ncelllid,v);ssblock(pbchIndices) = 3 * pbchSymbols;dmrsSymbols = nrPBCHDMRS(ncelllid,ibar_SSB);ssblock(dmrsIndices) = 4 * dmrsSymbols;ssburst(:,firstSymbolIndex(ssbIndex) + (0:3)) = ssblock;结束
最后,绘制出SS爆发的内容:
显示亮度图像(abs (ssburst));caxis ([0 4]);轴xy;包含(OFDM符号的);ylabel (副载波的);标题('SS爆裂,方块模式B案例');