主要内容

同步信号阻塞和突发

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

SS / PBCH块

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

  • 一次同步信号(PSS)

  • 二次同步信号(SSS)

  • 物理广播信道(PBCH)

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

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

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

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

主同步信号(PSS)

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

ncellid = 17;pssSymbols = nrPSS (ncellid)
pssSymbols =127×1-1 -1 -1 -1 -1 1 1 1 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的位置:

ImageC(ABS(SSBLOCK));caxis ([0 4]);轴xy;包含(OFDM符号的);ylabel ('subcarrier');标题(包含PSS的SS / PBCH块);

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

二次同步信号(SSS)

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

ssssymbols = nrsss(ncellid)
ssssymbols =127×11 1 -1 -1 1 -1 1 -1 1 -1 1 -1 1⋮

按照用于PSS的相同模式,创建SSS索引并将SSS符号映射到SS / PBCH块。注意,将2的缩放因子应用于SSS符号,以表示 β SSS. 在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''0based'
SSSUBScripts =127年x3 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 20 0⋮

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

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

ImageC(ABS(SSBLOCK));caxis ([0 4]);轴xy;包含(OFDM符号的);ylabel ('subcarrier');标题('SS/PBCH block containing PSS and SSS');

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

物理广播信道(PBCH)

PBCH通过执行主信息块(MIB)的BCH编码而创建的长度864位的码字。有关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 lbs,如TS 38.211第7.3.3.1节所述。在这个例子中, v 0 使用。这个函数NRPBCH.生成置乱序列的适当子序列,进行置乱,然后进行QPSK调制:

v = 0;pbchSymbols = nrPBCH (cw、ncellid v)
pbchsymbols =432×1复合物-0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071  -  0.7071i 0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071  -  0.7071i 0.7071  -  0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i⋮

到资源元素的映射

创建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的位置:

ImageC(ABS(SSBLOCK));caxis ([0 4]);轴xy;包含(OFDM符号的);ylabel ('subcarrier');标题('含PSS、SSS和PBCH的SS/PBCH块');

图中包含一个坐标轴。具有PSS,SSS和PBCH的标题SS / PBCH块的轴包含类型图像的对象。

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

SS/PBCH模块的最后一个组成部分是与PBCH相关的DM-RS。与PBCH类似,所使用的DM-RS序列源自SS/PBCH块索引,并使用变量进行配置 SSB. 在TS 38.211第7.4.1.4.1节中描述。在这里 SSB. 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 + 0.7071i 0.7071 + 0.7071i⋮

注意TS 38.211第7.4.1.4.1节定义了一个中间变量 SSB. 它与之相同的定义 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-R的位置:

ImageC(ABS(SSBLOCK));caxis ([0 4]);轴xy;包含(OFDM符号的);ylabel ('subcarrier');标题('含PSS, SSS, PBCH和PBCH DM-RS的SS/PBCH块');

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

产生SS爆发

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

创建SS突发网格

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

nsubframes = 5
nsubframes = 5

TS 38.211第4.3.2节第4.3.2节将每个插槽定义为具有14个OFDM符号(对于普通循环前缀长度),这是固定的:

symbolsPerSlot = 14
symbolsPerSlot = 14

然而,每个子帧的槽数是变化的,并且是子载波间距的函数。随着子载波间距的增大,OFDM码元持续时间减小,因此更多的OFDM码元可以装入固定的1ms子帧持续时间中。

有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 * n子帧
nsymbols = 140

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

ssburst = zero ([240 nSymbols]);

定义SS块模式

SS突发中的SS/PBCH块模式是由TS 38.213中的cell搜索程序间接指定的,该程序描述了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×84 8 16 20 32 36 44 48

创建SS突发内容

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

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

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

  • PBCH指标和PBCH DM-RS指标独立于SS/PBCH块指标,因此不需要在环路中更新

  • SSB. SSB. 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 ('subcarrier');标题('SS爆裂,区块模式B');

图中包含一个坐标轴。具有标题SS突发的轴,块图案CASE B包含类型图像的对象。

另请参阅

功能

相关话题