【5G PHY】5G SS/PBCH块介绍(四)

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持!
博主链接

本人就职于国际知名终端厂商,负责modem芯片研发。
在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。


博客内容主要围绕:
       5G/6G协议讲解
       算力网络讲解(云计算,边缘计算,端计算)
       高级C语言讲解
       Rust语言讲解



文章目录

  • PBCH和PBCH的DMRS
    • 一、PBCH的DMRS序列
    • 二、PBCH信道功能

PBCH和PBCH的DMRS

在这里插入图片描述

       UE搜索完PSS和SSS之后,就获得了PCI,接下来需要解调PBCH。由于NR中没有小区专用参考信号(Cell-specific Reference Signal,CRS),要解调PBCH信道,UE必须先获得PBCH的DMRS的位置。

       PBCH的DMRS在时域上的位置和PBCH相同,即占用SS/PBCH块的第2~4个OFDM符号;频域上的位置间隔4个子载波,也即每个RB上有3个DMRS,频域偏移由PCI确定,即根据 v = N I D C E L L m o d 4 v=N_{ID}^{CELL} mod 4 v=NIDCELLmod4 确定频域偏移,同频邻区设置不同的频域偏移有利于降低不同小区之间的干扰。

NR的PCI规划原则与LTE相类似,也要满足以下原则:相同PCI的复用距离足够远,避免同一个基站的小区以及该基站的邻区列表出现PCI相同的情况,保留适量的PCI用于室分规划、位置边界规划和网络的扩展。由于PSS只有3个,为了避免PSS的干扰,NR的PCI也要考虑模3干扰。NR的PCI规划与LTE的PCI规划的主要差异是:LTE的PCI数量是504个,而NR的PCI数量是1008个,PCI发生冲突的概率会降低,与NR的小区覆盖范围较小、PCI需要较大的复用距离相适应。

一、PBCH的DMRS序列

PBCH的DMRS序列通过下面的公式定义
r ( m ) = 1 2 ( 1 − 2 × c ( 2 m ) ) + j 1 2 ( 1 − 2 × c ( 2 m + 1 ) ) r(m)=\frac{1}{\sqrt{2}}(1-2×c(2m))+j\frac{1}{\sqrt{2}}(1-2×c(2m+1)) r(m)=2 1(12×c(2m))+j2 1(12×c(2m+1))
其中

  • c(n)是伪随机序列,其公式定义为
    c ( n ) = ( x 1 ( n + N c ) + x 2 ( n + N c ) ) m o d 2 c(n)=(x_1(n+N_c)+x_2(n+N_c))mod2 c(n)=(x1(n+Nc)+x2(n+Nc))mod2
    x 1 ( n + 31 ) = ( x 1 ( n + 3 ) + x 1 ( n ) ) m o d 2 x_1(n+31)=(x_1(n+3)+x_1(n))mod2 x1(n+31)=(x1(n+3)+x1(n))mod2
    x 2 ( n + 31 ) = ( x 2 ( n + 3 ) + x 2 ( n + 2 ) + x 2 ( n + 1 ) + x 2 ( n ) ) m o d 2 x_2(n+31)=(x_2(n+3)+x_2(n+2)+x_2(n+1)+x_2(n))mod2 x2(n+31)=(x2(n+3)+x2(n+2)+x2(n+1)+x2(n))mod2
    其中 N c N_c Nc=1600,第1个m序列通过 x 1 ( 0 ) x_1(0) x1(0)=1, x 1 ( n ) x_1(n) x1(n)=0,n∈{1,2,…,30}进行初始化,第2个m序列 x 2 ( n ) x_2(n) x2(n)通过 c i n i t = ∑ i = 0 30 x 2 ( i ) × 2 i c_{init}=\sum_{i=0}^{30}x_2(i)×2^i cinit=i=030x2(i)×2i

  • 对于PBCH的DMRS来说,相关的 c i n i t c_{init} cinit公式定义如下
    c i n i t = 2 11 ( i ‾ S S B + 1 ) ( ⌊ N I D c e l l / 4 ⌋ + 1 ) + 2 6 ( i ‾ S S B + 1 ) + ( N I D c e l l m o d 4 ) c_{init}=2^{11}(\overline{i}_{SSB}+1)(\lfloor{N_{ID}^{cell}/4}\rfloor+1)+2^6(\overline{i}_{SSB}+1)+(N_{ID}^{cell} mod 4) cinit=211(iSSB+1)(⌊NIDcell/4+1)+26(iSSB+1)+(NIDcellmod4)
    i ‾ S S B = i S S B + 4 n h f \overline{i}_{SSB}=i_{SSB}+4n_{hf} iSSB=iSSB+4nhf

    • n h f n_{hf} nhf是PBCH所在的半帧号
    • i S S B i_{SSB} iSSB是SSB块的索引
      n h f n_{hf} nhf i S S B i_{SSB} iSSB的具体取值与半帧(5ms)内的SSB的最大数量 L m a x L_{max} Lmax有关。对于 L m a x L_{max} Lmax=4, i S S B i_{SSB} iSSB是SSB块索引的2个比特位,如果PBCH在无线帧的第1个半帧,则 n h f n_{hf} nhf=0,如果PBCH在无线帧的第2个半帧,则 n h f n_{hf} nhf=1;对于 L m a x L_{max} Lmax=8或者=64, i S S B i_{SSB} iSSB是SSB索引的3个最低比特位, n h f n_{hf} nhf=0。
      • 对于 L m a x L_{max} Lmax=4,用2个bit表示SSB索引,1个bit表示所在的半帧号;
      • 对于 L m a x L_{max} Lmax=8, n h f n_{hf} nhf=0,正好用 i ‾ S S B = i S S B \overline{i}_{SSB}=i_{SSB} iSSB=iSSB表示SSB的索引,也即用3个bit表示SSB的索引;
      • 对于 L m a x L_{max} Lmax=64, n h f n_{hf} nhf=0, i ‾ S S B \overline{i}_{SSB} iSSB是SSB的低3个bit,高3个bit为 a ‾ A ‾ + 5 \overline{a}_{\overline{A}+5} aA+5, a ‾ A ‾ + 6 \overline{a}_{\overline{A}+6} aA+6, a ‾ A ‾ + 7 \overline{a}_{\overline{A}+7} aA+7,即用DMRS承载的3个bit和PBCH编码时增加的 a ‾ A ‾ + 5 \overline{a}_{\overline{A}+5} aA+5, a ‾ A ‾ + 6 \overline{a}_{\overline{A}+6} aA+6, a ‾ A ‾ + 7 \overline{a}_{\overline{A}+7} aA+7联合表示SSB的索引;

在DMRS公式定义中, N I D c e l l N_{ID}^{cell} NIDcell是已知的, i ‾ S S B \overline{i}_{SSB} iSSB的取值有8种可能,也即UE在初始小区搜索的时候,使用8个DMRS初始化序列,通过盲检的方式,确定PBCH使用的是哪一个DMRS。


二、PBCH信道功能

PBCH信道发送的信息包括两部分:

  • 高层产生的主消息块(Master Information Block,MIB)消息;
  • 额外增加的与定时相关的信息。

MIB包含了一些极其重要的信息,以便UE能够获得其他的系统消息,MIB主要包括的信息如下:

  • systemFrameNumber:系统帧号(System Frame Number,SFN)的高6个bit,SFN的低4个bit在PBCH的信道编码中传输(SFN共10个bit);
  • subCarrierSpacingCommon:初始接入、寻呼和广播系统消息SIB1、Msg2、Msg4的子载波间隔,共1个bit,取值为“scs 15 or 60”或“scs 30 or 120”。如果UE在FR1的载波频率上读取MIB,“scs 15 or 60”对应的子载波间隔是15kHz,“scs 30 or 120”对应的子载波间隔是30kHz;如果UE在FR2的载波频率上读取MIB,“scs 15 or 60”对应的子载波间隔是60kHz,“scs 30 or 120”对应的子载波间隔是120kHz;
  • ssb-SubcarrierOffset:SSB子载波偏移,对应着图5-2中的kSSB,也即从公共资源块的子载波0到SSB的子载波0之间偏移的子载波数量。ssb-SubcarrierOffset共有4个bit,4个bit可以表示0~15。对于FR2,kSSB的取值是0~11,只用ssb-SubcarrierOffset即可指示;对于FR1,kSSB的取值是0~23,只用ssb-SubcarrierOffset不足以指示,还需要在PBCH的信道编码中额外增加1个bit
  • dmrs-TypeA-Position:PDSCH的DM-RS(Type A)在时隙内开始的位置,共1个bit,取值为“pos2”或“pos3”,“pos2”表示DM-RS的开始位置在一个时隙内的OFDM符号2(即第3个OFDM符号),“pos3”表示DM-RS的开始位置在一个时隙内的OFDM符号3(即第4个OFDM符号),有关PDSCH的DM-RS的内容参见本书5.3.4节;
  • pdcch-ConfigSIB1:共8个bit,对应着RMSI-PDCCH-Config,其中,前面的4个bit用于指示初始DL BWP的公共CORESET 0的配置,后面的4个bit指示初始DL BWP的Type0-PDCCH公共搜索空间的配置(参见本书5.2.5节)。如果ssb-SubcarrierOffset指示SIB1不存在,则pdcch-ConfigSIB1可以通知UE在哪个频率上搜索到“携带”有SIB1的SS/PBCH块或在某个频率范围内没有“携带”SIB1的SS/PBCH块;
  • pdcch-ConfigSIB1:共8个bit,对应着RMSI-PDCCH-Config,其中,前面的4个bit用于指示初始DL BWP的公共CORESET 0的配置,后面的4个bit指示初始DL BWP的Type0-PDCCH公共搜索空间的配置(参见本书5.2.5节)。如果ssb-SubcarrierOffset指示SIB1不存在,则pdcch-ConfigSIB1可以通知UE在哪个频率上搜索到“携带”有SIB1的SS/PBCH块或在某个频率范围内没有“携带”SIB1的SS/PBCH块;
  • pdcch-ConfigSIB1:共8个bit,对应着RMSI-PDCCH-Config,其中,前面的4个bit用于指示初始DL BWP的公共CORESET 0的配置,后面的4个bit指示初始DL BWP的Type0-PDCCH公共搜索空间的配置(参见本书5.2.5节)。如果ssb-SubcarrierOffset指示SIB1不存在,则pdcch-ConfigSIB1可以通知UE在哪个频率上搜索到“携带”有SIB1的SS/PBCH块或在某个频率范围内没有“携带”SIB1的SS/PBCH块;

       PBCH除了传递MIB信息外,还通过PBCH信道编码额外增加8个与定时相关的信息。PBCH信道编码的处理过程如下:

  1. a ‾ 1 \overline{a}_{1} a1, a ‾ 2 \overline{a}_{2} a2,……, a ‾ A ‾ − 1 \overline{a}_{\overline{A}-1} aA1是物理层接收到的PBCH传输块,也即MIB;
  2. a ‾ A ‾ \overline{a}_{\overline{A}} aA, a ‾ A ‾ + 1 \overline{a}_{\overline{A}+1} aA+1,……, a ‾ A ‾ + 7 \overline{a}_{\overline{A}+7} aA+7是8个与定时相关的信息;
  3. a ‾ 1 \overline{a}_{1} a1, a ‾ 2 \overline{a}_{2} a2,……, a ‾ A ‾ + 6 \overline{a}_{\overline{A}+6} aA+6, a ‾ A ‾ + 7 \overline{a}_{\overline{A}+7} aA+7附加上24个bit的CRC编码,再经过信道编码、速率匹配、调制后映射到物理资源上,最后映射到天线端口上进行传输。PBCH的信道编码采用Polar码,调制采用QPSK调制

额外增加的8个与定时相关的比特含义如下:

  • a ‾ A ‾ \overline{a}_{\overline{A}} aA, a ‾ A ‾ + 1 \overline{a}_{\overline{A}+1} aA+1, a ‾ A ‾ + 2 \overline{a}_{\overline{A}+2} aA+2, a ‾ A ‾ + 3 \overline{a}_{\overline{A}+3} aA+3:SFN的低4位,SFN的高6位在MIB中;
  • a ‾ A ‾ + 4 \overline{a}_{\overline{A}+4} aA+4:半帧标志位 a ‾ H R F \overline{a}_{HRF} aHRF
  • a ‾ A ‾ + 5 \overline{a}_{\overline{A}+5} aA+5, a ‾ A ‾ + 6 \overline{a}_{\overline{A}+6} aA+6, a ‾ A ‾ + 7 \overline{a}_{\overline{A}+7} aA+7:分为两种情况:
    • 如果 L m a x L_{max} Lmax=64,表示SSB索引的高3位;
    • 如果是 L m a x L_{max} Lmax=4或者 L m a x L_{max} Lmax=8,则 a ‾ A ‾ + 5 \overline{a}_{\overline{A}+5} aA+5是kSSB的高1位, a ‾ A ‾ + 6 \overline{a}_{\overline{A}+6} aA+6, a ‾ A ‾ + 7 \overline{a}_{\overline{A}+7} aA+7用做保留;

PBCH信道上承载的信息(含CRC):

信息FR1(bit)FR2(bit)
SFN1010
SIB1的子载波间隔(参数集)11
SSB的子载波偏移54
PDSCH的第1个DMRS的时域位置11
与SIB1相关的PDCCH配置88
小区禁止标志11
同频小区重选标志11
SSB索引03
半帧指示11
Choice(是否为扩展MIB)11
保留位31
CRC2424
合计5656

UE解码PBCH信道后,即可得到SSB块的索引信息,也就获得了时序的完整信息,包括帧号、子帧号和时隙号。需要注意的是,PBCH的周期固定为80ms,但是可以在80ms内重复多次传输,PBCH重复多次传输可以压制相邻小区的干扰,提高合并性能,重复的次数与SSB的周期有关。



在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/189918.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

leetcode中“辅助栈”类题目和“单调栈”类题目的异同

1 总结 1 栈中元素的特性 2 单调栈存在一次性连续删除多个栈顶的情况,但是普通的栈,一次只pop掉一个栈顶元素 2 LC1209. 删除字符串中的所有相邻重复项 II - 普通辅助栈 class Solution {public String removeDuplicates(String s, int k) {int ns.l…

windows的bat文件(学习笔记)

简介 通过windows的cmd执行的批处理,扩展名可以是.bat或.cmd(类似linux的shell脚本) 所有语句符号不区分大小写 帮助提示信息:命令 /? 1 基本语法 (1) 注释:rem 注释文本不执行 (2) 关闭盘符输出:e…

城市生命线丨桥梁结构健康监测系统的作用

在城市建设当中,有非常多的城市基本建设,建设当中,桥梁作为不可忽视的一环,也需要有很多桥梁建设的智能监测系统,在这个桥梁结构健康监测系统中,桥梁的各个数值都能被监测得到。 WITBEE万宾使用城市生命线智…

MyBatis 操作数据库(入门)

一:MyBatis概念 (1)MyBatis 💗MyBatis是一款优秀的持久层框架,用于简化JDBC的开发 (2)持久层 1.持久层 💜持久层:持久化操作的层,通常指数据访问层(dao),是用来操作数据库的 2.持久层的规范 ①…

4D Gaussian Splatting:用于实时的动态场景渲染

Wu G, Yi T, Fang J, et al. 4d gaussian splatting for real-time dynamic scene rendering[J]. arXiv preprint arXiv:2310.08528, 2023. 更多参考资料如下: 文章总结:4D Gaussian Splatting for Real-Time Dynamic Scene Rendering;疑难问…

蓝桥杯每日一题2023.11.26

题目描述 奖券数目 - 蓝桥云课 (lanqiao.cn) 将每一个数字进行一一枚举&#xff0c;如果检查时不带有数字4则答案可以加1 #include<bits/stdc.h> using namespace std; int ans; bool check(int n) {while(n){if(n % 10 4)return false;n / 10; }return true; } int m…

线性分组码的奇偶校验矩阵均匀性分析

回顾信道编解码知识&#xff0c;我们知道信道编码要求编码具有检纠错能力&#xff0c;作为FEC&#xff08;forward error correction&#xff09;前向纠错编码的一类&#xff0c;线性分组码表示校验位与信息位的关系能够线性表示。 在这篇文章中&#xff0c;并不是要讨论信道编…

NX二次开发UF_CURVE_ask_isocline 函数介绍

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_CURVE_ask_isocline Defined in: uf_curve.h int UF_CURVE_ask_isocline(tag_t isocline_feat, int * face_cnt, tag_p_t * faces, double direction [ 3 ] , char * * start_ang…

plotneuralnet和netron结合绘制模型架构图

plotneuralnet和netron结合绘制模型架构图 一、plotneuralnet 本身的操作 模型结构图的可视化&#xff0c;能直观展示模型的结构以及各个模块之间的关系。最近借助plotneuralnet python库&#xff08;windows版&#xff09;绘制了一个网络结构图&#xff0c;有一些经验和心得…

使用Pytorch从零开始构建Normalizing Flow

归一化流 (Normalizing Flow) &#xff08;Rezende & Mohamed&#xff0c;2015&#xff09;学习可逆映射 f : X → Z f: X \rightarrow Z f:X→Z, 在这里X是我们的数据分布&#xff0c;Z是选定的潜在分布。 归一化流是生成模型家族的一部分&#xff0c;其中包括变分自动编…

手摸手Element-Plus组件化开发

前端环境准备 编码工具: VSCode 依赖管理:NPM 项目构建: Vuecli NPM的全称是Node Package Manager&#xff0c;是一个NodeJS包管理和分发工具&#xff0c;已经成为了非官方的发布Node模块&#xff08;包&#xff09;的标准。2020年3月17日&#xff0c;Github宣布收购npm&am…

扫码点餐小程序的效果如何

扫码点餐是餐饮商家常用的方式&#xff0c;其可以帮助商家更好更快的服务到店客户及节省商家点餐、加菜、汇总结算的时间及人力成本。 通过【雨科】平台搭建餐饮扫码点餐小程序&#xff0c;客户进店用小程序扫描桌码即可开始点餐&#xff0c;确认菜单信息后打印小票提交到厨房…

C# WPF上位机开发(开篇)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 之前很少用到c#语言&#xff0c;大部分时间都用c/c&#xff0c;主要是它可以兼顾上位机qt开发以及嵌入式开发。所以&#xff0c;用c/c是比较合理的…

flex布局实战之自动填充剩余

案例目标 文字部分自适应并且居中 图中是一个弹窗&#xff0c;我现在使用flex的布局来实现&#xff0c;标题和关闭按钮。因为是uni-app,所以标签是view 。你可以自行替换为 代码 <view class"popup-box"><view class"title"><view class&…

CSS特效019:图标图片悬浮旋转一周

CSS常用示例100专栏目录 本专栏记录的是经常使用的CSS示例与技巧&#xff0c;主要包含CSS布局&#xff0c;CSS特效&#xff0c;CSS花边信息三部分内容。其中CSS布局主要是列出一些常用的CSS布局信息点&#xff0c;CSS特效主要是一些动画示例&#xff0c;CSS花边是描述了一些CSS…

Java新建项目如何整理项目结构,没有src文件夹

现在IDEA2023中新建项目时, 不会有src文件夹。这时需要自己创建一个src的包&#xff0c;然后将这个包设置为source root。 可能出现没有这个选项的情况&#xff0c;这是需要把设置的当前项目首先Unmark了&#xff0c;然后再对src文件夹mark一下。 src: 这是源代码的根目录。 …

rsyslog出现Unit rsyslog.service is masked不可用问题解决

博主在测试将日志发送到日志服务器的功能时遇到了rsyslog服务不可用的问题&#xff0c;具体来说&#xff0c;就是执行systemctl restart rsyslog或者 service rsyslog restart命令时&#xff0c;出现了标题中所述的Unit rsyslog.service is masked问题。网上查找了很多资料&…

【Linux学习笔记】protobuf 基本数据编码

https://zhuanlan.zhihu.com/p/557457644https://zhuanlan.zhihu.com/p/557457644 [新文导读] 从Base64到Protobuf&#xff0c;详解Protobuf的数据编码原理本篇将从Base64再到Base128编码&#xff0c;带你一起从底层来理解Protobuf的数据编码原理。本文结构总体与 Protobuf 官…

基于opencv+ImageAI+tensorflow的智能动漫人物识别系统——深度学习算法应用(含python、JS、模型源码)+数据集(四)

目录 前言总体设计系统整体结构图系统流程图 运行环境爬虫模型训练实际应用 模块实现1. 数据准备1&#xff09;爬虫下载原始图片2&#xff09;手动筛选图片 2. 数据处理3. 模型训练及保存4. 模型测试1&#xff09;前端2&#xff09;后端 系统测试1. 测试效果2. 模型应用1&#…

CSP认证2023-09:坐标变换(其一)、坐标变换(其二)、梯度求解,python满分代码解答

CSP认证2023-09&#xff1a;坐标变换(其一)、坐标变换&#xff08;其二&#xff09;、梯度求解&#xff0c;python满分代码解答 目录 一、坐标变换&#xff08;其一&#xff09; 问题描述 输入和输出 思路 代码和结果 c代码 python代码 二、坐标变换&#xff08;其二&am…