5G学习笔记之PRACH
即使是阴天,也要记得出门晒太阳哦
目录
- 1. 概述
- 2. PRACH Preamble
- 3. PRACH Preamble 类型
- 3.1 长前导码
- 3.2 短前导码
- 3.3 前导码格式与小区覆盖
- 4. PRACH时频资源
- 4.1 小区所有可用PRACH资源
- 4.2 SSB和RACH的关系
- 4.3 PRACH时频资源配置
1. 概述
随机接入前导码,Random Access Preamble,也称为物理随机接入信道,即PRACH。前导码的发送,对应PRACH这个特殊的物理信道。
在SIB1随机接入配置中,提供了:小区可用的Preamble信息, Preamble信息发送功率相关参数,PRACH的时频资源,以及SSB索引到RACH时机的映射等。
2. PRACH Preamble
前导码Preamble是基于ZC序列生成的。

PRACH ZC序列支持4种长度L:139、839、569、1149,其中569和1149是为了支持非授权频谱,在R16引入的。
- 长度为L的ZC序列用于基本的NR前导序列(基序列 ),共有L-1个不同的序列,每个对应唯一的根序列索引。
- 基序列通过不同的循环移位,可以生成不同的前导序列。在接收端,只有两个序列的相对循环移位大于序列的接收定时之差才能保持正交性,小区可用循环移位的集合成为零相关域(zeroCorrelationZone) 。
- 零相关域参数:在SIB1中配置,零相关域参数对应可用循环移位的集合。

一个小区最多有64个不同的前导码,每个前导码用前导码索引来标识,小区可用的前导码由prach-RootSequenceIndex给出。

- 对于同一个根序列,经过循环移位生成L/Ncs个Preamble,如果小于64个,则根序列+1后,继续通过循环移位生成Preamble,知道满足64个。如果循环移位配置为0,则直接通过根序列递增的方式,生成64个Preamble
- 在UE静止或低速移动场景下,不考虑多普勒频移时,循环移位没有限制。在UE高速移动场景下,由于多普勒效应,频偏会导致基站在检测PRACH信道时,时域上出现额外的相关峰,这会影响PRACH检测。因此在高速场景下,针对不同的根序列,要限制某些循环移位来规避这个问题。即配置限制集。
3. PRACH Preamble 类型
NR标准定义了两种类型的前导码:长前导码和短前导码。
3.1 长前导码
长前导码有4种格式,基于L=839生成的,对应特定的参数集,特定的重复次数,以及特定长度的循环前缀。子载波间隔{1.25,5}KHz,仅用于6GHz以下(FR1)。


3.2 短前导码
短前导码有9种格式,基于L=139,571,1151生成的,短前导码使用的子载波间隔如下:
- FR1:15kHz或30kHz
- FR2:60kHz或120kHz


3.3 前导码格式与小区覆盖


根据PRACH信道格式分析小区支持的最大覆盖半径,需要考虑用户间干扰和符号间干抗。
- 用户间干扰:基站接收到的小区最远用户的PRACH最后时域位置,不能和下一个上下行资源冲突。PRACH信道GAP和时长可以保护用户间干扰
- 符号间干扰:小区最远用户的PRACH发送信号经过空中无线信道多径传输后,符号之间的干扰不能超过CP时长保护的范围,CP时长也可以用来保护用户间干扰。这个和空口信道摸型相关,通常按照通用模型计算。
小区中循环移位的大小Ncs和小区最大覆盖半径之间也有关系。通常情况下,是根据PRACH格式和规划的小区覆盖半径,来规划Ncs的大小,不是用Ncs的值来限定小区最大覆盖半径。
4. PRACH时频资源
4.1 小区所有可用PRACH资源

小区内所有可用的PRACH时频资源由以下几个要素决定:
- RACH周期,范围:10ms ~ 160ms,即1个帧~16个帧。
- RACH周期内的RACH时隙集合,范围:1 ~ 8。注:都在同一个特定帧上。
- RACH频域资源:PRACH第一个频域资源位置,频域上RACH时机数目。
RACH时隙:RACH slot
RACH时机:RACH Occasion,一个RACH时隙中可能存在多个RACH时机,包含K×M个连续的资源块。M表示RACH时机的频域大小,取决于前导码类型(长前导/短前导)。K表示频域上RACH时机的数目,由此可以看出,一个RACH时隙最多可以支持来自不同UE的K个前导码频分复用。
4.2 SSB和RACH的关系
NR初始接入支持波束管理,其实现机制是:
-
一个SSB突发集内有多个 SSB,每个SSB关联到 MIB/PBCH 中广播的SSB时间索引。不同的 SSB ,对应 SSB 发送的不同下行波束。只有当SSB的波束扫描信号覆盖到UE时,UE才有机会发送PRACH随机接入。
-
将SSB时间索引和RACH时机以及特定的前导码集合进行关联。这个由SIB1中的RACH配置指定。

-
基站基于接收到的前导码来确定UE位于哪个下行波束,这个波束可以用作给终端后续下行传输的初始波束。
4.3 PRACH时频资源配置

相关文章:
5G学习笔记之PRACH
即使是阴天,也要记得出门晒太阳哦 目录 1. 概述 2. PRACH Preamble 3. PRACH Preamble 类型 3.1 长前导码 3.2 短前导码 3.3 前导码格式与小区覆盖 4. PRACH时频资源 4.1 小区所有可用PRACH资源 4.2 SSB和RACH的关系 4.3 PRACH时频资源配置 1. 概述 随机接入…...
Ubuntu24.04配置DINO-Tracker
一、引言 记录 Ubuntu 配置的第一个代码过程 二、更改conda虚拟环境的默认安装路径 鉴于不久前由于磁盘空间不足引发的重装系统的惨痛经历,在新系统装好后当然要先更改虚拟环境的默认安装路径。 输入指令: conda info可能因为我原本就没有把 Anacod…...
抓包之查看websocket内容
写在前面 本文看下websocket抓包相关内容。 1:正文 websocket基础环境搭建参考这篇文章。 启动后,先看chrome的network抓包,这里我们直接使用is:running来过滤出websocket的请求: 可以清晰的看到发送的内容以及响应的内容。在…...
【Leetcode Top 100】21. 合并两个有序链表
问题背景 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 数据约束 两个链表的节点数目范围是 [ 0 , 50 ] [0, 50] [0,50] − 100 ≤ N o d e . v a l ≤ 100 -100 \le Node.val \le 100 −100≤Node.val≤100 l 1 l_1 …...
账本模型
05-账本模型 1 账本模型 1.1 传统线性增长模型 传统的 MySQL 等系统采用线性增长的日志模型,通过一个 Leader 和多个 Follower 进行状态同步。这种方式有单点的带宽瓶颈问题。 1.2 区块链共享账本模型 共享账本:树形增长。在去中心化网络中,…...
openwrt利用nftables在校园网环境下开启nat6 (ipv6 nat)
年初写过一篇openwrt在校园网环境下开启ipv6 nat的文章,利用ip6tables控制ipv6的流量。然而从OpenWrt22版本开始,系统内置的防火墙变为nftables,因此配置方法有所改变。本文主要参考了OpenWRT使用nftables实现IPv6 NAT 这篇文章。 友情提示 …...
24.12.02 Element
import { createApp } from vue // 引入elementPlus js库 css库 import ElementPlus from element-plus import element-plus/dist/index.css //中文语言包 import zhCn from element-plus/es/locale/lang/zh-cn //图标库 import * as ElementPlusIconsVue from element-plus/i…...
记录QT5迁移到QT6.8上的一些问题
经常看到有的同学说网上的教程都是假的,巴拉巴拉,看看人家发布时间,Qt官方的API都会有所变动,多搜索,多总结,再修改记录。 下次遇到问题多这样搜索 QT 4/5/6 xxx document,对比一下就知道…...
清理Linux/CentOS7根目录的思路
在使用Linux服务器过程中,经常会遇到磁盘空间不足的问题,好多应用默认安装在根目录下,记录一下如何找到问题所在,清理根目录(/) 1. 检查空间使用情况 1.1 查看分区占用: df -h输出࿱…...
【LInux】kvm添加u盘启动引导
前提:要有一个u盘的启动盘 1、查看u盘设备信息 # lsusb ....忽略其他设备信息,查看到u盘设备 Bus 005 Device 005: ID 0951:1666 Kingston Technology DataTraveler 100 G3/G4/SE9 G2## 主要记住ID 0951:1666确认id为ID 0951:1666 2、修改配置文件 如…...
.net XSSFWorkbook 读取/写入 指定单元格的内容
方法如下: using NPOI.SS.Formula.Functions;using NPOI.SS.UserModel;using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;using OfficeOpenXml.FormulaParsing.Excel.Functions.Numeric;/// <summary>/// 读取Excel指定单元格内容/// </summa…...
GaussDB(类似PostgreSQL)常用命令和注意事项
文章目录 前言GaussDB(类似PostgreSQL)常用命令和注意事项1. 连接到GaussDB数据库2. 查看当前数据库中的所有Schema3. 进入指定的Schema4. 查看Schema下的表、序列、视图5. 查看Schema下所有的表6. 查看表结构7. 开始事务8. 查询表字段注释9. 注意事项&a…...
【HM-React】02. React基础-下
React表单控制 受控绑定 概念:使用React组件的状态(useState)控制表单的状态 function App(){const [value, setValue] useState()return (<input type"text" value{value} onChange{e > setValue(e.target.value)}/>) …...
【力扣热题100】—— Day3.反转链表
你不会永远顺遂,更不会一直年轻,你太安静了,是时候出发了 —— 24.12.2 206. 反转链表 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出&…...
【k8s深入学习之 event 记录】初步了解 k8s event 记录机制
event 事件记录初始化 一般在控制器都会有如下的初始化函数,初始化 event 记录器等参数 1. 创建 EventBroadcaster record.NewBroadcaster(): 创建事件广播器,用于记录和分发事件。StartLogging(klog.Infof): 将事件以日志的形式输出。StartRecording…...
redhat 7.9配置阿里云yum源
1、mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/ 2、添加dns vim/etc/resolv.conf nameserver 8.8.8.8 nameserver 8.8.4.4 nameserver 114.114.114.114 #配置完先检查下通不通 3、vi /etc/yum/pluginconf.d/subscription-manager.conf # 将 “enabled1” 改为 “ena…...
深入探索Flax:一个用于构建神经网络的灵活和高效库
深入探索Flax:一个用于构建神经网络的灵活和高效库 在深度学习领域,TensorFlow 和 PyTorch 作为主流的框架,已被广泛使用。不过,Flax 作为一个较新的库,近年来得到了越来越多的关注。Flax 是一个由Google Research团队…...
Nginx auth_request详解
网上看到多篇先关文章,觉得很不错,这里合并记录一下,仅供学习参考。 模块 nginx-auth-request-module 该模块是nginx一个安装模块,使用配置都比较简单,只要作用是实现权限控制拦截作用。默认高版本nginx(比…...
基于Java Springboot个人财务APP且微信小程序
一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 微信…...
vue3图片报错转换为空白不显示的方法
vue3图片报错转换为空白不显示的方法 直接上代码: <el-table-column label"领料人" align"center"><template #default"scope"><el-imagev-if"scope.row.receiver":src"scope.row.receiver"style…...
wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
