当前位置: 首页 > 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…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

快刀集(1): 一刀斩断视频片头广告

一刀流&#xff1a;用一个简单脚本&#xff0c;秒杀视频片头广告&#xff0c;还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农&#xff0c;平时写代码之余看看电影、补补片&#xff0c;是再正常不过的事。 电影嘛&#xff0c;要沉浸&#xff0c;…...

C++ 设计模式 《小明的奶茶加料风波》

&#x1f468;‍&#x1f393; 模式名称&#xff1a;装饰器模式&#xff08;Decorator Pattern&#xff09; &#x1f466; 小明最近上线了校园奶茶配送功能&#xff0c;业务火爆&#xff0c;大家都在加料&#xff1a; 有的同学要加波霸 &#x1f7e4;&#xff0c;有的要加椰果…...

关于easyexcel动态下拉选问题处理

前些日子突然碰到一个问题&#xff0c;说是客户的导入文件模版想支持部分导入内容的下拉选&#xff0c;于是我就找了easyexcel官网寻找解决方案&#xff0c;并没有找到合适的方案&#xff0c;没办法只能自己动手并分享出来&#xff0c;针对Java生成Excel下拉菜单时因选项过多导…...

yaml读取写入常见错误 (‘cannot represent an object‘, 117)

错误一&#xff1a;yaml.representer.RepresenterError: (‘cannot represent an object’, 117) 出现这个问题一直没找到原因&#xff0c;后面把yaml.safe_dump直接替换成yaml.dump&#xff0c;确实能保存&#xff0c;但出现乱码&#xff1a; 放弃yaml.dump&#xff0c;又切…...