认识5G(一):5G 单天线阵面Type I码本(Type I Single Panel codebook)生成过程

article/2025/11/11 10:19:09

认识5G(一):5G 单天线阵面Type I码本(Type I Single Panel codebook)生成过程

文章目录

零. 关于5G码本的分类

5G码本分为Type I和Type II两类,也可以分为单天线阵面和多天线阵面,Type I是常规精度码本,Type II是高精度码本,具体情况如下表

image-20220901104446817

一.DFT码本的基础知识

5G中Type I码本是基于DFT码本生成的,什么是DFT码本,可以看这篇博客https://blog.csdn.net/weixin_39274659/article/details/108894763,讲的非常详细,因为CSDN常常抽风,我这里做截图,并做简要讲解

  1. DFT变换可以用矩阵形式表示,而此矩阵的每一列形式都和ULA天线的响应向量形式类似,借用这样的思路,我们排列N NN 个 不同入射角度对应的响应向量,并确保N个入射角的sin值形成公差为 N 2 \frac{N}{2} 2N,映射在[-1,1]之间就可以得到一个DFT码本,该天线每一列互相正交,因此对于任意一个入射角,可以很容易的进行结算,只需要与其共轭转置相乘即可
  2. 在扩展到UPA的情况下,变为对应二维DFT变换,实际上这就是做kron积,或者也可以说是做向量化后进行拼接,此时入射角有两个,要确保 c o s ( ϕ ) cos(\phi) cos(ϕ) s i n ( ϕ ) c o s ( θ ) sin(\phi)cos(\theta) sin(ϕ)cos(θ) N 2 和 M 2 \frac{N}{2}和\frac{M}{2} 2N2M的等差数列,即可以组成码本

image-20220901113731650

image-20220901113741517

image-20220901113759818

image-20220901113812043

image-20220901113850405

image-20220901113902976

image-20220901113911946

二.NR的Type I单天线阵面码本设计

NR的Type I单天线阵面码本是一个典型的UPA二维DFT码本,由两个DFT波束构成,但区别是NR还进行了过采样,也就是说角域上的分辨率变得更精细了,这个过采样是有一个旋转因子实现的,最后他是一个大小为 N 1 O 1 N_1O_1 N1O1的vec,每一个vec都是一个DFT波束,讲这两维DFT波束做kron,就得到了空域波束集合D,共有 N 1 O 1 N 2 O 2 N_1O_1N_2O_2 N1O1N2O2个DFT波束。

就如同使用显微镜先调粗准焦螺旋,再调细准焦螺旋一样,码本的选择也是先选择一个宽带波束组,再进行具体的选择和量化

  • 宽带波束选择通过选出L个波束,组成块对角来实现
  • 选择和量化通过一个长度为L的01数组来实现,并给其添加一个相位差

image-20220901135530186

image-20220901135540937

image-20220901135548290

image-20220901135555132

image-20220901135604528

image-20220901135616192

当然,以上说的这些在3GPP中是看不到,他们直接给出了码本的结果,下面我们来对应看看是不是码本和这是一致的

这里进行一个补充,当codebookmode=1的时候, L=1,当codebookmode=2的时候,L=4,其区别是L=1时在宽带就直接选择出了波束,而L=2时宽带只选出了一个候选波束组,具体的选择由窄带选择来完成https://www.weixiuzhan.cn/news/show-32795.html

image-20220901151758014

三.3GPP中的Type I单天线阵列码本

本段的内容来自TS38.214-f10,注意预编码矩阵的大小永远是(NTx,NLayers)

1.两天线

两天线和LTE是类似的,非常简洁的一个码本

image-20220901141252234

2. 4,8,12,16,24,32天线

此种情况下比较复杂,码本由两个参数 i 1 , i 2 i_1,i_2 i1,i2决定, 且 i 1 i_1 i1包含多个参数,参数的数量由层数来决定

image-20220901142252702

此外,码本定义了一些变量

image-20220901142532966

可以看到,v即上面提到的二维DFT波束的kron积,其中m对应 n 2 O 2 + q 2 n_2O_2+q_2 n2O2+q2的取值,l对应 n 1 O 1 + q 1 n_1O_1+q_1 n1O1+q1的取值,这就选出了一个波数组,同时 ϕ \phi ϕ θ \theta θ对应着波束选择中的相移操作,而 v ~ \widetilde{v} v 是在某些层数和天线数的特例,那么具体的npml如何选择呢,这与刚才所说的 i 1 , i 2 i_1,i_2 i1,i2有关

再补充一些,UE会被配置一个大小为 N 1 N 2 O 1 O 2 N_1N_2O_1O_2 N1N2O1O2的bit数列,其中0位表示对应的lm的DFT波束不可以使用

image-20220901145146461

接来下我们来看 i 1 , i 2 i_1,i_2 i1,i2还有天线数是如何配置码本的

1.根据天线阵列大小和形状配置过采样倍数,也就是根据 N 1 N 2 N_1N_2 N1N2选择 O 1 O 2 O_1O_2 O1O2

image-20220901145307030

2.根据 i 1 中的 i 1 , 3 i_1中的i_{1,3} i1中的i1,3配置两个参数 k 1 k_1 k1 k 2 k_2 k2,这个参数是234层专属的,但这个配置2层和3-4层是不同的,

image-20220901145723520

image-20220901145730221

3.1 Layer情况下的码本

image-20220901145926359

image-20220901152502480

image-20220901152514018

4. 2 layers

image-20220901153327392

image-20220901153346126

image-20220901153354414

5. 3-layer

image-20220901153454252

image-20220901153514929

6.4-layer

image-20220901174652593

6.5-layer

image-20220901174734027

7.6-layer

image-20220901174758151

8.7-layer

image-20220901174818126

9.8-layer

image-20220901174838768

3.总结

  1. 具体使用哪一个码本,是由层数决定的,这也是一个链路自适应量RI,所以说RI和PMI是一起决定的,哪个precoding matrix的SINR最小,就选择他的层数来反馈

  2. 当天线端口大于2的时候,码本由两个参数决定, i 1 和 i 2 i_1和i_2 i1i2,其中 i 1 i_1 i1决定了波束编号, i 2 i_2 i2决定了相位因子,层数为234时, i 1 i_1 i1由三个参数组成,否则则是两个参数组成

  3. codebookmode=1,直接使用 i 1 i_1 i1就锁定了具体波束,codebookmode=2,使用 i 1 i_1 i1就锁定了候选波束组, i 2 i_2 i2再做具体选择

  4. 码本的通用形式可以看作,其列数与层数相等,234层特殊,会引入

    img

  5. 每个参数的具体含义如图

img

i 1 , 1 i_{1,1} i1,1 i 1 , 2 i_{1,2} i1,2可以看作是DFT波束的角度, i 1 , 3 i_{1,3} i1,3是特例, i 2 i_2 i2则对应的相位因子

  1. 最后得到的码本,一个v的大小是(N1N2,1),也即(2N1N2, NLayer),这和Ntx是一致的,满足假设
  2. PMI汇报 i 1 , i 2 i_1,i_2 i1,i2两个值作为码本选择,同时汇报RI选择码本种类

附加:Type I 多天线阵面码本

这是单天线阵面的简单延伸

image-20220901184753228

只是调整了相位因子,不做过多描述,想详细了解可以去看3GPP的详细描述

参考资料

[1]刘慧, 赵奕晨, 江甲沫和赵楠德, 《面向5G新空口的码本设计标准化研究》, 移动通信, 卷 43, 期 4, 页 2–7, 2019.

[2]https://www.weixiuzhan.cn/news/show-32795.html

[3]https://blog.csdn.net/weixin_39274659/article/details/108894763

[4]3GPP TS 38.214 V15.1.0 (2018-03)


http://chatgpt.dhexx.cn/article/yojLCdfS.shtml

相关文章

Multi-modal Alignment using Representation Codebook

Multi-modal Alignment using Representation Codebook 题目Multi-modal Alignment using Representation Codebook译题使用表示子空间的多模态对齐期刊/会议CVPR 摘要:对齐来自不同模态的信号是视觉语言表征学习(representation learning)…

5G NR CSI Report中关于codebook/PMI的理解(1)

笔者在微信公众号GiveMe5G定期发布学习文章(更多更及时),欢迎订阅和分享,文章下方有二维码。 本文主要讨论PDSCH codebook,介绍NR下行数据传输precoding的特点,以及Type I和Type II codebook是什么。 gNB是如何做下行Precoding的&…

【Stata】CGSS数据清理:Codebook速成法

对数据使用者来说,了解一个调查数据基本情况的常见途径就是查看该数据的codebook。 对数据所有者/提供方来说,制作一份详细的codebook是其数据管理工作中不可或缺的一环。 2016年上半年CGSS项目组把CGSS2003年到CGSS2013年期间的8年年度数据合并成一个…

CodeBook算法

年份论文题目作者论文内容2004Background modeling and subtraction by codebook constructionK. Kim, T. Chalidabhongse, D. Harwood, and L. Davis提出了CodeBook算法2005Real-time foreground–background segmentation using codebook modelK. Kim, T. Chalidabhongse, D.…

图像处理之前景检测(三)之码本(codebook)(主要为代码升级)

图像处理之前景检测(三)之码本(codebook) CodeBook算法的基本思想是得到每个像素的时间序列模型。这种模型能很好地处理时间起伏,缺点是需要消耗大量的内存。CodeBook算法为当前图像的每一个像素建立一个CodeBook(CB)结…

RIDCP: Revitalizing Real Image Dehazing via High-Quality Codebook Priors(CVPR2023)论文记录

通过高质量码本先验重塑真实图像去雾(CVPR2023) RIDCP: Revitalizing Real Image Dehazing via High-Quality Codebook Priors通过高质量码本先验重塑真实图像去雾(CVPR2023)摘要一、数据合成流程二、VQGAN 预训练:构建…

【AI人工智能绘画 CV】Towards Robust Blind Face Restoration with Codebook Lookup Transformer

Towards Robust Blind Face Restoration with Codebook Lookup Transformer (NeurIPS 2022) 使用 Codebook Lookup Transformer 实现稳健的盲脸修复 Blind face restoration is a highly ill-posed problem that often requires auxiliary guidance to 1) improve the mapping…

2021-11-10-Codebook理解

《Deep Visual-Semantic Quantization for Efficient Image Retrieval》中提到的codebook是什么意思? Specifically, each image embedding zn is quantized using a set of M codebooks C [C1, . . . , CM ], each codebook Cm contains K codewords Cm [Cm1, .…

《学习openCV》例程解析 ex_9_3(codeBook模型实现背景减除)

56帧时 63帧时 /** 比平均背景法性能更加良好的方法,codeBook模型实现背景减除 核心代码详细解析和实现 by zcube */ /************************************************************************/ /* A few more thoughts on codebook models In general, the codebook met…

“Requesting Java AST from selection“. ‘boolean com.ibm.icu.text.UTF16.isSurrogate(char)‘

记录一次问题。自从安装了spring tool(sts)插件后,在使用eclipse过程中总是弹出An internal error occurred during: "Requesting Java AST from selection". boolean com.ibm.icu.text.UTF16.isSurrogate(char)这种错误&#xff0…

详解Unicode与UTF-8、UTF-16、UTF-32.

计算机起源于美国,上个世纪,他们对英语字符与二进制位之间的关系做了统一规定,并制定了一套字符编码规则,这套编码规则被称为ASCII编码 ASCII 编码一共定义了128个字符的编码规则,用七位二进制表示 ( 0x00 - 0x7F ), …

解决eclipse boolean com.ibm.icu.text.UTF16.isSurrogate(char)

window > preferences > java > Editor > mark occurrences and desable : mark occurrences ...

字符集编码 Unicode UTF8 UTF16 UTF32 和BOM(Byte Order Mark)

BOM(Byte Order Mark) 在分析unicode之前,先把bom(byte order mark)说一下。 bom是unicode字符顺序的标识符号,一般以魔数(magic code)的形式出现在以Unicode字符编码的文件的开始的头部,作为该文件的编码标识。 来举个很简单的例子,在windows下新建一个文本文件,并另…

utf8与utf16转换

1.UTF8与UTF16编码转换 std::string ConvertFromUtf16ToUtf8(const std::wstring& wstr) {std::string convertedString;int requiredSize WideCharToMultiByte(CP_UTF8, 0, wstr.c_str(), -1, 0, 0, 0, 0);if(requiredSize > 0){std::vector<char> buffer(requ…

探究乱码问题的本源:GBK,UTF8,UTF16,UTF8BOM,ASN1之间的关联

文章目录 前言一、字符集和字符编码的区别和联系二、字符集编码的发展1.单字节2.双字节3.多字节(UNICODE字符集)&#xff08;1&#xff09;UTF-8&#xff08;2&#xff09;UTF-16&#xff08;3&#xff09;UTF-32&#xff08;4&#xff09;UTF BOM 三、不同编码方式的对比分析四…

oracle字符集utf16,oracle字符集AL16UTF16改为ZHS16GBK

AL16UTF16一个汉字占3个字节 ZHS16GBK一个汉字占2个字节 sql> conn / as sysdba; sql> shutdown immediate; database closed. database dismounted. oracle instance shut down. sql> startup mount; oracle instance started. total system global area 135337420 …

字符编码的概念(UTF-8、UTF-16、UTF-32都是什么鬼)

字符集为每个字符分配了一个唯一的编号&#xff0c;通过这个编号就能找到对应的字符。在编程过程中我们经常会使用字符&#xff0c;而使用字符的前提就是把字符放入内存中&#xff0c;毫无疑问&#xff0c;放入内存中的仅仅是字符的编号&#xff0c;而不是真正的字符实体。 这就…

UTF-8 与 UTF-16编码详解

目录 一、UTF-8编码 1、UTF-8介绍 2、UTF-8是如何编码的&#xff1f; 3、上述Unicode码点值范围中十进制值127、2047、65535、2097151这几个临界值是怎么来的呢&#xff1f; 二、UTF-16编码 1、UTF-16介绍 2、UTF-16编码方式 1&#xff09;设计思路 2&#xff09;具体…

了解一下UTF-16

1)先啰嗦一下 UTF-16是一种编码格式。啥是编码格式&#xff1f;就是怎么存储&#xff0c;也就是存储的方式。 存储啥&#xff1f;存二进制数字。为啥要存二进制数字&#xff1f; 因为Unicode字符集里面把二进制数字和字符一一对应了&#xff0c;存二进制数字就相当于存了二进制…

字符编码--UTF-16

2019独角兽企业重金招聘Python工程师标准>>> 第4节 UTF-16 UTF-16是Unicode字符编码五层次模型的第三层&#xff1a;字符编码表&#xff08;Character Encoding Form&#xff0c;也称为"storage format"&#xff09;的一种实现方式。即把Unicode字符集的抽…