【5G PHY】5G循环前缀(CP)设计思路简述

2024-09-02 23:12

本文主要是介绍【5G PHY】5G循环前缀(CP)设计思路简述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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


博客内容主要围绕:
       5G/6G协议讲解
       高级C语言讲解
       Rust语言讲解



文章目录

  • 5G循环前缀设计
    • 一、CP的作用
    • 二、如何确定CP的长度
      • 2.1 不同子载波的CP长度
    • 三、计算CP开销
    • 四、计算每个CP支持的最长传输路径
  • 总结
  • 参考

CP:Cyclic Prefi


5G循环前缀设计

       循环前缀(CP)是指在OFDM无线系统中将每个OFDM符号后面的采样点复制到OFDM符号的前面,可以使用CP来抵消多径传播的影响。NR中CP的基本设计与LTE类似,开销与LTE相同。CP的设计确保它在不同的SCS值和numerology参数之间能够符号对齐。例如,µ=15 khz单个slot大约有7个符号驻留在0.5毫秒内,包括每个符号的CP;而µ=30 khz单个slot大约有14个符号和每个符号的CP驻留在0.5毫秒内。因此这里CP的长度会根据子载波间隔进行调整。

请添加图片描述


一、CP的作用

       基站和UE之间的无线信道在时域上引入了延迟扩展。这种延迟扩展是由发送信号从多个不同距离的路径到达接收端产生的,不同的环境、地形和杂波导致不同的延迟。多径引起的接收信号脉冲时延扩展是最大路径上的最大传输时延与最短路径上的最小传输时延之差。延迟随着环境、地形和杂波的变化而变化,并且与小区半径没有绝对的映射关系。这种多径延迟扩展可能导致以下问题:

  • 码间干扰(Inter-Symbol Interference ,ISI)严重影响数字信号的传输质量;
  • 载波间干扰(Inter-Carrier Interference,ICI)是指OFDM系统中子载波的正交性被破坏,从而影响接收端的解调;

       为了避免符号间干扰,可以在OFDM符号之间以循环前缀的形式插入一个保护间隔。这个保护周期为属于前一个符号的延迟扩展提供了一个时间窗口,以确保在下一个符号开始之前上一个符号全部接受。保护周期可以是不连续传输的周期也可以是其他任意东西的传输。保护间隔的长度通常大于无线信道上的最大延迟

       可以在保护间隔中插入CP来减少ICI。将每个OFDM符号后面的采样点复制到OFDM符号前面。这确保了在FFT周期内,OFDM符号的延迟副本中包含的波形周期数是一个整数,从而保证了子载波正交性。复制有效载荷的末尾并作为循环前缀传输,可以确保传输信号和信道响应之间存在“循环”卷积。这允许接收机应用一个简单的乘法来捕获来自所有延迟部分的能量。如果“循环”卷积没有完成,那么在完成频域乘法时,接收机将经历ICI。


二、如何确定CP的长度

  • 多径时延:时延和CP长度成正比。多径时延越大,需要更长的循环前缀;
  • OFDM符号长度:在相同的OFDM符号长度下,较长的CP会带来较大的系统开销,因此需要适当地选择CP长度来控制系统开销;

2.1 不同子载波的CP长度

不同子载波的CP长度可以用下式计算:

请添加图片描述
CP持续时间可使用以下公式:
请添加图片描述
其中,

  • μ:numerology;
  • l:符号索引;
  • k:是一个常量,计算方式如下:
    请添加图片描述
    • Ts :LTE基本时间单位
    • Tc :NR基本时间单位

下面是根据上述公式总结的循环前缀持续时间。每个numerology在1ms的子帧中有2个长符号。通过增加正常循环前缀的持续时间来生成这些较长的符号,以确保每个numerology在每0.5 ms时间窗口内具有整数数量的符号,同时也确保尽可能多的符号边界重合。例如,属于15 kHz子载波间隔的每个符号边界与属于30 kHz子载波间隔的每两个符号边界重合。

请添加图片描述

三、计算CP开销

       CP开销是CP持续时间和符号持续时间的百分比比率,例如15KHz NR符号持续时间为66.67 μs, CP持续时间为5.2 μs。计算开销为5.2/66.67 = 7.8%。在这里,长符号作为CP具有更多的开销,而其他符号具有更少的开销。下表总结了不同子载波间距下正常CP的开销。

请添加图片描述

四、计算每个CP支持的最长传输路径

       CP持续时间定义了在不产生符号间干扰和载波间干扰的情况下最远传输距离。距离可以用一个简单的时间、距离公式来计算。例如,让我们以15 KHz为例,长符号的CP为5.2 μ s。无线电信号以光速传播,即C= 3.0 x 108 m/s,那么距离可以计算为速度x时间= (3.0 x 108) x (5.2 x 10-6) = 1560米。同样,对其他CPs和子载波间距进行了计算,总结见下表:

请添加图片描述


总结

  • 3GPP规定了两种类型的CP:
    • 正常循环前缀(Normal Cyclic Prefix,NCP)
    • 扩展循环前缀(Extended Cyclic Prefix,ECP)
  • NCP可以用于所有子载波间隔;
  • ECP目前仅用于60khz子载波间隔;
  • 当采用NCP时,每0.5ms出现的第一个符号的CP比其他符号的CP更长
  • 循环前缀持续时间随着子载波间距的增加而减少;

参考

  • 3GPP TS 38.211 Physical channels and modulation


在这里插入图片描述

这篇关于【5G PHY】5G循环前缀(CP)设计思路简述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1131339

相关文章

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

MyBatis设计SQL返回布尔值(Boolean)的常见方法

《MyBatis设计SQL返回布尔值(Boolean)的常见方法》这篇文章主要为大家详细介绍了MyBatis设计SQL返回布尔值(Boolean)的几种常见方法,文中的示例代码讲解详细,感兴趣的小伙伴... 目录方案一:使用COUNT查询存在性(推荐)方案二:条件表达式直接返回布尔方案三:存在性检查(EXI

正则表达式r前缀使用指南及如何避免常见错误

《正则表达式r前缀使用指南及如何避免常见错误》正则表达式是处理字符串的强大工具,但它常常伴随着转义字符的复杂性,本文将简洁地讲解r的作用、基本原理,以及如何在实际代码中避免常见错误,感兴趣的朋友一... 目录1. 字符串的双重翻译困境2. 为什么需要 r?3. 常见错误和正确用法4. Unicode 转换的

Java如何根据文件名前缀自动分组图片文件

《Java如何根据文件名前缀自动分组图片文件》一大堆文件(比如图片)堆在一个目录下,它们的命名规则遵循一定的格式,混在一起很难管理,所以本文小编就和大家介绍一下如何使用Java根据文件名前缀自动分组图... 目录需求背景分析思路实现代码输出结果知识扩展需求一大堆文件(比如图片)堆在一个目录下,它们的命名规

Python MCPInspector调试思路详解

《PythonMCPInspector调试思路详解》:本文主要介绍PythonMCPInspector调试思路详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录python-MCPInspector调试1-核心知识点2-思路整理1-核心思路2-核心代码3-参考网址

Nginx部署React项目时重定向循环问题的解决方案

《Nginx部署React项目时重定向循环问题的解决方案》Nginx在处理React项目请求时出现重定向循环,通常是由于`try_files`配置错误或`root`路径配置不当导致的,本文给大家详细介... 目录问题原因1. try_files 配置错误2. root 路径错误解决方法1. 检查 try_f

Spring三级缓存解决循环依赖的解析过程

《Spring三级缓存解决循环依赖的解析过程》:本文主要介绍Spring三级缓存解决循环依赖的解析过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、循环依赖场景二、三级缓存定义三、解决流程(以ServiceA和ServiceB为例)四、关键机制详解五、设计约

Spring 中的循环引用问题解决方法

《Spring中的循环引用问题解决方法》:本文主要介绍Spring中的循环引用问题解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录什么是循环引用?循环依赖三级缓存解决循环依赖二级缓存三级缓存本章来聊聊Spring 中的循环引用问题该如何解决。这里聊

C# foreach 循环中获取索引的实现方式

《C#foreach循环中获取索引的实现方式》:本文主要介绍C#foreach循环中获取索引的实现方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、手动维护索引变量二、LINQ Select + 元组解构三、扩展方法封装索引四、使用 for 循环替代

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三