DMRS的产生

DMRS的产生

简介

DMRS: Demoulation Reference Signal

DMRS is used to estimate a physical channel containing user data on only a certain part of the bandwidth. The two physical channels associated with DMRS are physical uplink shared channel (PUSCH) and physical uplink control channel (PUCCH) and DMRS is sent within them. Our focus with DMRS will be on PUSCH. Note that DMRS can be based on either Gold sequence or ZC sequence depending on the situation.

DMRS 产生

DMRS can be sent with transform precoding enabled or disabled. This means that either an additional digital fourier transform is applied to the signal before subcarrier mapping.

下面我们将对DMRS做分类:

(1) DMRS: transform precoding disabled

(2) DMRS: transform precoding enabled

(2.1) ZC sequence based DMRS

(2.2) Gold sequence based DMRS

(1) DMRS: transform precoding disabled

If transform precoding for PUSCH is disabled, the sequence r ( n ) r(n) r(n) shall be generated according to

r ( n ) = 1 2 ( 1 − 2 ⋅ c ( 2 n ) ) + j 1 2 ( 1 − 2 ⋅ c ( 2 n + 1 ) ) (1) r(n) = \frac{1}{\sqrt{2}} \left (1-2 \cdot c(2n) \right) + j \frac{1}{\sqrt{2}} \left (1-2 \cdot c(2n+1) \right) \tag {1} r(n)=2 1(12c(2n))+j2 1(12c(2n+1))(1)

where the pseudorandom sequence for reference signal generation is defined by a length-31 Gold sequence. The two m-sequence used to generate it for n = 0 , 1 , ⋯   , M − 1 n=0,1,\cdots,M-1 n=0,1,,M1 are formed as
x 1 ( n + 31 ) = ( x 1 ( n + 3 ) + x 1 ( n ) )   mod   2 x 2 ( n + 31 ) = ( x 2 ( n + 3 ) + x 2 ( n + 2 ) + x 2 ( n + 1 ) + x 2 ( n ) )   mod   2 (2) \begin{aligned} x_1(n+31) &= \left ( x_1 (n+3) + x_1 (n) \right ) \ \ \text{mod} \ \ 2 \\ x_2(n+31) &= \left ( x_2 (n+3) + x_2 (n+2) + x_2 (n+1) + x_2 (n) \right ) \ \ \text{mod} \ \ 2 \\ \end{aligned} \tag {2} x1(n+31)x2(n+31)=(x1(n+3)+x1(n))  mod  2=(x2(n+3)+x2(n+2)+x2(n+1)+x2(n))  mod  2(2)

where the first 31 values are initialized as
x 1 ( n ) = { 1 if   n = 0 0 if   1 ≤ n ≤ 30 (3) x_1(n)=\left\{ \begin{array}{cl} 1 & \text{if } \ n = 0 \\ 0 & \text{if } \ 1 \leq n \leq 30 \\ \end{array} \right. \tag {3} x1(n)={10if  n=0if  1n30(3)

∑ i = 0 30 x 2 ( i ) ⋅ 2 i = c init (4) \sum_{i=0}^{30} x_2(i) \cdot 2^i = c_{\text{init}} \tag {4} i=030x2(i)2i=cinit(4)

The resulting Gold sequence of length M M M from these two m-sequence is defined as
c ( n ) = ( x 1 ( n + 1600 ) + x 2 ( n + 1600 ) )   mod   2 (5) c(n) = \left ( x_1(n+1600) + x_2(n+1600) \right) \ \ \text{mod} \ \ 2 \tag{5} c(n)=(x1(n+1600)+x2(n+1600))  mod  2(5)

where c init c_{\text{init}} cinit is
c init = ( 2 17 ( N symb slot n s , f μ + l + 1 ) ⋅ ( 2 N I D n S C I D λ ˉ + 1 ) + 2 17 ⌊ λ ˉ 2 ⌋ + 2 N I D n S C I D λ ˉ + n ˉ S C I D λ ˉ )   mod   31 (6) c_{\text{init}} = \left ( 2^{17} \left ( N^{\text{slot}}_{\text{symb}} n^{\mu}_{s,f} + l + 1 \right) \cdot \left ( 2 N^{n^{\bar \lambda}_{SCID}}_{ID} + 1 \right) + 2^{17} \left \lfloor \frac{\bar \lambda}{2} \right \rfloor + 2 N^{n^{\bar \lambda}_{SCID}}_{ID} + \bar n^{\bar \lambda}_{SCID} \right) \ \ \text{mod} \ \ 31 \tag{6} cinit=(217(Nsymbslotns,fμ+l+1)(2NIDnSCIDλˉ+1)+2172λˉ+2NIDnSCIDλˉ+nˉSCIDλˉ)  mod  31(6)

where

  • N symb slot N^{\text{slot}}_{\text{symb}} Nsymbslot is the number of symbols per slot.
  • n s , f μ n^{\mu}_{s,f} ns,fμ is the slot number within frame f f f for subcarrier spacing (SCS) μ \mu μ.
  • l ∈ { 0 , 1 , ⋯   , 13 } l \in \{0,1,\cdots, 13\} l{0,1,,13} is the OFDM symbol number within a slot.

  • n ˉ S C I D λ ˉ \bar n^{\bar \lambda}_{SCID} nˉSCIDλˉ and λ ˉ \bar \lambda λˉ is given by
    • if the higher-layer parameter dmrs-Uplink in the DMRS-UplinkConfig IE is provided ( λ \lambda λ is the CDM group)
      n ˉ S C I D λ ˉ = { n S C I D λ = 0 or   λ = 2 1 − n S C I D λ = 1 \bar n^{\bar \lambda}_{SCID}=\left\{ \begin{array}{cl} n^{}_{SCID} & \lambda = 0 \text{or } \ \lambda = 2 \\ 1-n^{}_{SCID} & \lambda = 1 \\ \end{array} \right. nˉSCIDλˉ={nSCID1nSCIDλ=0or  λ=2λ=1

    • otherwise
      n ˉ S C I D λ ˉ = n S C I D λ ˉ = 0 \begin{aligned} \bar n^{\bar \lambda}_{SCID} &= n^{}_{SCID} \\ \bar \lambda &= 0 \end{aligned} nˉSCIDλˉλˉ=nSCID=0

The quantity n S C I D ∈ { 0 , 1 } n^{}_{SCID} \in \{0,1\} nSCID{0,1} is

(2) DMRS: transform precoding enabled

Two types of low peak-to-average (PAPR) sequences are defined for forming reference signals in 5G NR, called type 1 and type 2. Type 1 is ZC based whereas type 2 is Gold sequence based.

Type 1

在这里插入图片描述

Type 2

(注:上面所述的4.1.4所对应的sequence指的就是式(6)所对应的二进制序列)

(2.1) ZC sequence based DMRS

r ( n , l ) = r u , v ( α , σ ) ( n ) ,    0 ≤ n ≤ M P U S C H 2 δ − 1 (7) r(n,l) = r^{(\alpha,\sigma)}_{u,v} (n), \ \ 0 \leq n \leq \frac{M^{PUSCH}}{2^\delta}-1 \tag{7} r(n,l)=ru,v(α,σ)(n),  0n2δMPUSCH1(7)

where α = 0 , δ = 1 \alpha=0,\delta=1 α=0,δ=1 and M P U S C H = n R B ⋅ N s c R B / 2 M^{PUSCH} = n^{RB} \cdot N^{RB}_{sc} / 2 MPUSCH=nRBNscRB/2 is the scheduled bandwidth for uplink transmission expressed as a number of subcarriers,

  • N s c R B N^{RB}_{sc} NscRB is the number of consecutive subcarriers per RB
  • n R B n^{RB} nRB is the number of physical RBs

r u , v ( α , σ ) r^{(\alpha,\sigma)}_{u,v} ru,v(α,σ)的定义在Type 1中。

(2.2) Gold sequence based DMRS

与ZC sequence based DMRS一致,但是 r u , v ( α , σ ) r^{(\alpha,\sigma)}_{u,v} ru,v(α,σ)的定义在Type 2中
r ( n ) = r u , v ( α , σ ) ( n ) ,    0 ≤ n ≤ M − 1 ,    M = M P U S C H 2 δ (8) r(n) = r^{(\alpha,\sigma)}_{u,v} (n), \ \ 0 \leq n \leq M-1, \ \ M=\frac{M^{PUSCH}}{2^\delta} \tag{8} r(n)=ru,v(α,σ)(n),  0nM1,  M=2δMPUSCH(8)

另外,当 M ≥ 30 M\geq 30 M30时,Gold sequence based DMRS会利用到式(5)所述的Gold Pseudorandom sequence,此时序列的初始化与式(6)略有不同,表示为
c init = ( 2 17 ( N symb slot n s , f μ + l + 1 ) ⋅ ( 2 N I D n S C I D + 1 ) + 2 N I D n S C I D + n S C I D )   mod   2 31 (9) c_{\text{init}} = \left ( 2^{17} \left ( N^{\text{slot}}_{\text{symb}} n^{\mu}_{s,f} + l + 1 \right) \cdot \left ( 2 N^{n^{}_{SCID}}_{ID} + 1 \right) + 2 N^{n^{}_{SCID}}_{ID} + n^{}_{SCID} \right) \ \ \text{mod} \ \ 2^{31} \tag{9} cinit=(217(Nsymbslotns,fμ+l+1)(2NIDnSCID+1)+2NIDnSCID+nSCID)  mod  231(9)

where

  • N symb slot N^{\text{slot}}_{\text{symb}} Nsymbslot is the number of symbols per slot.
  • n s , f μ n^{\mu}_{s,f} ns,fμ is the slot number within frame f f f for subcarrier spacing (SCS) μ \mu μ.
  • l ∈ { 0 , 1 , ⋯   , 13 } l \in \{0,1,\cdots, 13\} l{0,1,,13} is the OFDM symbol number within a slot.
  • n S C I D ∈ { 0 , 1 } n_{SCID} \in \{0,1\} nSCID{0,1} is the scrambling identiy
  • N I D n S C I D ∈ { 0 , 1 , ⋯   , 65535 } N^{n^{}_{SCID}}_{ID} \in \{0,1,\cdots, 65535\} NIDnSCID{0,1,,65535} is the physical layer cell identity.

PUSCH

Physical uplink shared channel is used for transmission of the uplink shared channel and layer 1 and layer 2 control infromation. Processing of data to resource blocks in PUSCH consists of 7 steps:

Mapping to physical resources

DMRS Configuration

type1: define 6 subcarriers per PRB and they are set to every other subcarrier.

type2: disignate 4 subcarriers per PRB and they are organized to be two groups of two subcarriers.

DMRS mapping

type A: the first DMRS is located in the second or third OFDM symbol. Type A is good for transmission in which the data fills most of the slot.

type B: the first DMRS is located in the first symbol of the data allocation. Type B is good for transmissions where data can be anywhere in the slot.

备注:MATLAB 5G Toolbox中有产生DMRS的相关函数,相关函数见链接NR PUSCH Resource Allocation and DM-RS and PT-RS Reference Signals以及nrPUSCHDMRS

参考

[1] Essi Rantanen. Study of the Statistical Properties of SRS and DMRS for Machine Learning in 5G. Master’s thesis, Aalto University. School of Science, 2021.

[2] 3GPP TS 38.211 v17.0.0 (2021-12)

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 用Matlab实现产生DMRS可以通过使用Matlab的搜索算法和图论算法来实现。可以使用Matlab中的Graph Theory Toolbox或者Matlab的Optimization Toolbox来实现。 ### 回答2: 产生DMRS(Demodulation Reference Signal)是用于LTE(Long Term Evolution)系统中的实时调制解调参考信号。在MATLAB中,我们可以使用LTE Toolbox来实现产生DMRS的功能。 首先,我们需要创建一个LTE物理层处理的配置信息,包括子载波的数量、符号数、RB数等。然后,根据物理层配置信息,使用lteDMRS函数生成DMRS序列。 代码示例如下: ```matlab % 设置LTE物理层配置信息 phyConfig = ltePhysSettings('OFDM', ... 'NCellID', 0, ... 'NCellCyclicShifts', 0, ... 'CyclicPrefix', 'Normal', ... 'DuplexMode', 'FDD'); % 设置子载波、符号数等参数 phyConfig.NDLRB = 100; phyConfig.CyclicPrefixLengths = [0 0]; phyConfig.PhichDuration = 'Normal'; phyConfig.Ng = 'Sixth'; % 创建LTE调制解调参考信号对象 dmrsPDSCH = lteDMRS(phyConfig, 2); % 生成DMRS序列 dmrsSeq = dmrsPDSCH(); % 显示生成DMRS序列 disp(dmrsSeq); ``` 以上代码首先设置了LTE物理层配置信息,接着根据配置信息创建了一个LTE调制解调参考信号对象,并调用了生成DMRS序列的方法。最后,我们通过disp函数显示了生成DMRS序列。 注意:LTE Toolbox是MATLAB的一个附加工具箱,需要进行安装并购买相应的许可证,才能使用其中的函数来实现产生DMRS的功能。 ### 回答3: 在Matlab中产生DMRS(Demodulation Reference Signal)的过程如下: 首先,我们需要确定所要生成DMRS的参数,包括子载波数量、符号数量、序列长度等。在LTE系统中,DMRS是基于特定物理广播信道(PBCH)传输的,因此可以从PBCH中获取DMRS的参数。 接下来,我们使用PN序列生成算法生成DMRS序列。PN序列是一种伪随机序列,可以用于发送和接收端的同步以及信号的调制解调等功能。 Matlab中提供了randi()函数,可以生成PN序列。首先,我们需要根据给定的DMRS长度和PN序列的周期来设置随机数发生器的种子。然后,使用randi()函数生成一个长度为DMRS长度的PN序列生成的PN序列需要进行调制,以匹配LTE系统中DMRS的调制类型。在LTE系统中,DMRS通常是QPSK调制。因此,我们可以使用Matlab内置的qammod()函数将PN序列进行QPSK调制。 最后,我们可以通过将DMRS序列与子载波的映射来产生最终的DMRS信号。根据LTE系统的物理层规范,DMRS信号在时间和频率上是分散的。因此,我们需要根据DMRS的位置(即子载波和符号的索引)将生成DMRS序列映射到相应的子载波上。 在Matlab中,我们可以使用blkdiag()函数将DMRS序列映射到对应的子载波上。然后,我们可以通过将映射后的DMRS序列与其他的LTE信号进行相加,以生成最终的DMRS信号。 综上所述,通过Matlab中的PN序列生成、调制、映射等函数,我们可以实现DMRS信号的生成。这些方法可以帮助我们研究和测试LTE系统中的DMRS相关功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值