当前位置: 首页 > news >正文

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 前导码格式与小区覆盖

RACH Preamble Time domain structure

在这里插入图片描述

根据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输出&#xff1…...

【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 读取/写入 指定单元格的内容

方法如下&#xff1a; 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&#xff08;类似PostgreSQL&#xff09;常用命令和注意事项1. 连接到GaussDB数据库2. 查看当前数据库中的所有Schema3. 进入指定的Schema4. 查看Schema下的表、序列、视图5. 查看Schema下所有的表6. 查看表结构7. 开始事务8. 查询表字段注释9. 注意事项&a…...

【HM-React】02. React基础-下

React表单控制 受控绑定 概念&#xff1a;使用React组件的状态&#xff08;useState&#xff09;控制表单的状态 function App(){const [value, setValue] useState()return (<input type"text" value{value} onChange{e > setValue(e.target.value)}/>) …...

【力扣热题100】—— Day3.反转链表

你不会永远顺遂&#xff0c;更不会一直年轻&#xff0c;你太安静了&#xff0c;是时候出发了 —— 24.12.2 206. 反转链表 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&…...

【k8s深入学习之 event 记录】初步了解 k8s event 记录机制

event 事件记录初始化 一般在控制器都会有如下的初始化函数&#xff0c;初始化 event 记录器等参数 1. 创建 EventBroadcaster record.NewBroadcaster(): 创建事件广播器&#xff0c;用于记录和分发事件。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&#xff1a;一个用于构建神经网络的灵活和高效库 在深度学习领域&#xff0c;TensorFlow 和 PyTorch 作为主流的框架&#xff0c;已被广泛使用。不过&#xff0c;Flax 作为一个较新的库&#xff0c;近年来得到了越来越多的关注。Flax 是一个由Google Research团队…...

Nginx auth_request详解

网上看到多篇先关文章&#xff0c;觉得很不错&#xff0c;这里合并记录一下&#xff0c;仅供学习参考。 模块 nginx-auth-request-module 该模块是nginx一个安装模块&#xff0c;使用配置都比较简单&#xff0c;只要作用是实现权限控制拦截作用。默认高版本nginx&#xff08;比…...

基于Java Springboot个人财务APP且微信小程序

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA/eclipse 微信…...

vue3图片报错转换为空白不显示的方法

vue3图片报错转换为空白不显示的方法 直接上代码&#xff1a; <el-table-column label"领料人" align"center"><template #default"scope"><el-imagev-if"scope.row.receiver":src"scope.row.receiver"style…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

无法与IP建立连接,未能下载VSCode服务器

如题&#xff0c;在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈&#xff0c;发现是VSCode版本自动更新惹的祸&#xff01;&#xff01;&#xff01; 在VSCode的帮助->关于这里发现前几天VSCode自动更新了&#xff0c;我的版本号变成了1.100.3 才导致了远程连接出…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中&#xff0c;集合判空是一个常见但容易出错的场景。传统方式虽然可行&#xff0c;但存在一些潜在问题&#xff1a; // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...