5G NR - CSI-RS学习笔记10 - CSI-RS Sequence的生成

​- 楔子 -

一直跟不上潮流,每年网络上各种流行词都不太会用,除非自己关注的领域也出现某个流行词,比如“虽迟但到”,我是通过看一个梅西的经典过人集锦视频学到该词的一个衍生词才知道:2015年的欧冠半决赛梅西通过假动作轻松晃到博阿滕然后将球打进,让阿滕和一众拜仁后卫成为背景帝(也是个流行词),但在这个集锦视频里,迟迟未现这一经典场面,直到视频快结束时才看到博阿滕的身影,然后就看到网友纷纷发弹幕“迟但到”,我发现这些网友太有才了。

回到CSI-RS系列学习笔记,距离上篇已经超过两个月,是因为工作忙到极致,几乎没有时间和精力去看资料写笔记,直到最近过了忙碌的巅峰期,才能零星抽空来学习和写笔记,这篇也算是“迟但到”了。

- 正文 –

在《5G NR - CSI-RS学习笔记4 - 物理层资源映射》这篇开头提到了CSI序列由如下公式(38.211-7.4.1.5.2)生成:

  r(m) = \frac{1}{\sqrt2}(1 - 2.c(2m)) + j\frac{1}{\sqrt2}(1 - 2.c(2m + 1))

然而并没有说生成细节,从公式看这里的关键是如何得到c(2m)和c(2m+1). 

c(n)值的计算在38.211-5.2.1的如下一段描述:


Generic pseudo-random sequences are definedby a length-31 Gold sequence. The output sequence c(n) of length M_{PN, where n=0,1,...,M_{PN}-1, is defined by

  c(n)=(x_{1}(n+N_{C})+x_{2}(n+N_{C}))mod2

x_{1}(n+31)=(x_{1}(n+3)+x_{1}(n))mod2

x_{2}(n+31)=(x_{2}(n+3)+x_{2}(n+2)+x_{2}(n+1)+x_{2}(n))mod 2

    where N_{C}=1600 and the first m-sequence x_{1}(n) shall be initialized with x_{1}(0)=1,x_{1}(n)=0,n=0,1,2,...,30 . The initialization of the second m-sequence, x_{2}(n),   is denoted by c_{init}=\sum_{i=0}^{30}x_{2}(i).2^{i} with the value depending on the application of the sequence.


但我看完这一段我还是一头雾水,脑袋充满诸多疑问(包括一些关于最基本概念的),比如:

1. Pseudo-random sequence是什么?Gold sequence是什么?m-sequence是什么?

2. length-31 Gold sequence是指sequence长度为31还是指sequence为31阶?

3. Gold sequence如何通过m-sequence得到?

4. 如何通过c_{init}初始化x_{2}(n)

5. 一些文档/书籍里讲pseudo-random sequences时提到的的seed是什么?跟c_{init}有什么关系?

试图查阅很多文档/博文或书籍里关于Pseudo-random/Gold/m-sequence部分的讲述,没有哪一篇能解答上面所有疑问,但综合起来,这些疑问就基本得到解决了。不过也只是“基本”解决,“基本”就是说CSI-RS序列生成过程的轮廓清晰了,但是随机序列背后本身涉及到的数学原理(比如本原多项式)的理解对于数学基础太差的我来说却并非朝夕的事,只能等有空再抽专门的时间学习,前缘等待,再续后爱。

1.pseudo-random sequences是什么?

即伪随机序列。

首先,“随机”就是字面意思:没有规律。”伪“”是伪造的,而不是真正意义上的随机,比如通过某些数学公式生成一个看起来像是真正随机的数列。伪随机序列是一个通用的概念,具体讲到CSI-RS序列,就是上面协议提到“Generic pseudo-random sequences are defined by a length-31 Gold sequence. ”,因此需要弄清楚什么叫Gold sequence.

2. Gold sequence是什么?length-31 Gold sequence是指sequence长度为31还是指sequence为31阶

1) Gold sequence是一种伪随机序列,是二进制(binary)序列。

Gold, 并不是说这个序列像金子一样闪闪发光或值钱(当然这个序列确实为人类创造巨大的价值),而是因为这种序列是由一个叫Robert Gold的人提出。

Gold sequence由两个长度相同的m-sequence相互XOR(异或:按位加然后mod2)而成。

2) length-31 sequence是指31阶sequence,是指用于生成Gold sequence的两个m-sequence由31阶线性反馈移位寄存器(Liner Feedback Shift Registers - LFSR)输出.

3. m-Sequence是什么?

通过一个m阶的线性反馈移位寄存器可以输出周期<=2^{m}-1的序列,选择合适的反馈函数可以使序列周期达到2^{m}-1,周期达到最大值的序列称为为m-sequence.(LFSR基本工作原理是给定前一状态的输出,将该输出的线性函数再用作输入的移位寄存器。)

上面协议描述中的x_{1}(n)x_{2}(n)就是m-sequence:

  x_{1}(0), x_{1}(1), x_{1}(2),..., x_{1}(n)是第1个m-sequence

 x_{2}(0), x_{2}(1), x_{2}(2),..., x_{2}(n)是第2个m-sequence

4. Gold sequence如何通过m-sequence得到?

Gold sequence在这里就是指协议提到的output sequence c(n), 那c(n)又是什么呢?单独说c(n)时,它就是一个具体的数,数值∈{0,1},c(0), c(1)...c(n)组成M_{PN}序列,其中n最大值是M_{PN}-1c(n)就是通过上面协议提到的如下公式得到:

  c(n)=(x_{1}(n+N_{C})+x_{2}(n+N_{C}))mod2

这个公式的计算对应的就是之前提到的“Gold sequence由两个长度相同的m-sequence相互XOR(异或:按位加然后mod2)而成。”,这里的两个m-sequence分别是x_{1}(n+N_{C})x_{2}(n+N_{C}), 其中N_{C}=1600.

其中:

  -  x_{1}(n)根据x_{1}(n+31)=(x_{1}(n+3)+x_{1}(n))mod2计算,由x_{1}(0)=1, x_{1}(n) =0, n=1,2,...30初始化。 

  -  x_{2}(n)根据x_{2}(n+31)=(x_{2}(n+3)+x_{2}(n+2)+x_{2}(n+1)+x_{2}(n))mod 2计算,由c_{init}=\sum_{i=0}^{30}x_{2}(i).2^{i}初始化. 那么下一步就是看初始化具体如何完成。

5. 如何初始化x_{2}(n)

1) 首先要知道c_{init}的值:

由于当前的slot,symbol,  n_{ID}等值都是已知,因此可以通过7.4.1.5.2 公式c_{init} = (2^{10}(N_{symb}^{slot}n_{s,f}^u + l + 1)(2n_{ID} + 1) + n_{ID})mod2^{31}得到。

2) 如何初始化x_{2}(n)

2.1) 根据x_{2}(n+31)=(x_{2}(n+3)+x_{2}(n+2)+x_{2}(n+1)+x_{2}(n))mod 2可以知道,只要知道x_{2}(0),x_{2}(1),...,x_{2}(30)的值,就能得到x_{2}(31)的值,从而进一步得到x_{2}(31)之后所有的值。

那么如何确定x_{2}(0),x_{2}(1),...,x_{2}(30)的值呢?根据公式c_{init}=\sum_{n=0}^{30}x_{2}(i).2^{i}:  

2.2)   c_{init}=\sum_{n=0}^{30}x_{2}(i).2^{i}的意思是,  x_{2}(i)对应c_{init}的第i个bit的值(从LSB开始算),假设c_{init}的值是2,那么2对应的二进制00000000000000000000000000000010

那么  就是0100000000000000000000000000000

6. seed是什么?

根据一处  的定义“the initial condition to seed the second m-sequence x_{2} ”

以及一段根据seed初始化m-sequence x_{2}(n)的如下代码可以知道seed就是c_{init}  

--- clip ---

for(n = 0; n < 31; n++) {

    x2[n] = (seed >> n) & 0x1;  //x2[n]是将seed右移n位, 然后与0x1按位与(将高位清零)

  }

--- clip ---


笔者在公众号“协议工程师笔记”定期首发NR/LTE/IMS...学习笔记, 敬请关注、订阅和分享,谢谢!

                                                               图片

                                                                      一起努力,蒸蒸日上

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值