[5G][NR] PDSCH DMRS

1. PDSCH DMRS的频域位置

                                                           

                                                               

 

                           

                           

对于DMRS configuration type 1 ,以天线端口 p=1000为例,DMRS在频域上的位置如下图所示,可见,在DMRS configuration type 1中,DMRS在频域上每隔1个RE分布一个。

                                                                        

对于DMRS configuration type 2, 以天线端口p= 1000为例, DMRS在频域上的位置如下所示,可见,在DMRS configuration type 2中,DMRS间隔6个RE

                                                                        

2. PDSCH DMRS 的时域位置 

                                                                    

其中\bar{l}的值通过查表 38.211 table 7.4.1.1.2-3 和table 7.4.1.1.2-4 可得,l^{'} 指的是DMRS占用的连续symbol数,single- symbol DMRS 对应的 l^{'} =0, double- symbol DMRS 对应的 l^{'} = 0/1

 

 

PDSCH DMRS在时域上的分布和PDSCH mapping type 有关,具体来说:

- PDSCH DMRS mapping type A:

l_{d}  指 symbol 数,从PDSCH所在的slot的第一个symbol开始算起,到PDSCH占用的最后一个symbol截至

l  从PDSCH所在slot的第一个symbol开始算起

l_{0} 是由高层配发的参数 dmrs-TypeA-Position 来指示的,dmrs-TypeA-Position =3,即DMRS占用第三个symbol, dmrs-TypeA-Position =2,即占用第二个symbol

 

- PDSCH DMRS mapping type B:

 l_{d} 指 symbol 数,从PDSCH 占用的第一个symbol开始算起,到PDSCH占用的最后一个symbol截至

l  从PDSCH占用的第一个symbol开始算起

l_{0} = 0

 

不同 PDSCH mapping type对应 l_{d} 的示意图如下:

 

举个例子,配置如下参数对应的DMRS 分布情况如下图:

maxLength =1 --> 表示是single symbol DMRS
dmrs-TypeA-Position =2  

PDSCH mapping type A (假设占用symbol = 1~9

dmrs-AdditionalPosition =1

 

  • 12
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
以下是用MATLAB实现5G NR PDSCH DMRS解扰的示例代码: ``` % 5G NR PDSCH DMRS解扰 % 参数设置 N_ID = 1; % DMRS组ID(0-335) delta_ss = 0; % DMRS序列间隔(0或1) delta_p = 0; % DMRS位置(0或1) n_PRB = 50; % 资源块数 n_SC_RB = 12; % 每个资源块的子载波数 n_SC = n_PRB*n_SC_RB; % 总子载波数 n_RE = 12; % 每个OFDM符号的RE数 n_DMRS = 6; % DMRS符号数 n_sym = 14; % 用于PDSCH的OFDM符号数 n_ant = 2; % 天线数 % 生成DMRS序列 [n_cell_id, n_h] = nr_dmrs_pusch(N_ID, n_ant, delta_ss); dmrs_seq = nr_pusch_dmrs(n_cell_id, n_h, delta_p, n_PRB, n_DMRS, n_ant); % 生成PDSCH符号 pdsch_sym = zeros(n_SC,n_sym,n_ant); for i_sym = 1:n_sym pdsch_sym(:,:,i_sym) = randi([0,1],n_SC,n_ant); end % 插入DMRS符号 pdsch_sym_dmrs = zeros(n_SC,n_sym+n_DMRS,n_ant); for i_ant = 1:n_ant for i_sym = 1:n_sym pdsch_sym_dmrs(:,i_sym+(i_sym>n_DMRS),i_ant) = pdsch_sym(:,i_sym,i_ant); end pdsch_sym_dmrs(:,1:n_DMRS,i_ant) = dmrs_seq(:,:,i_ant); end % 解扰DMRS符号 pdsch_sym_dmrs_descrambled = zeros(n_SC,n_sym+n_DMRS,n_ant); for i_ant = 1:n_ant pdsch_sym_dmrs_descrambled(:,:,i_ant) = nr_pdsch_dmrs_descramble(pdsch_sym_dmrs(:,:,i_ant),N_ID,i_ant); end % 提取解扰后的DMRS符号 dmrs_sym_descrambled = pdsch_sym_dmrs_descrambled(:,1:n_DMRS,:); % 检查解扰后的DMRS符号与原DMRS符号是否一致 if isequal(dmrs_sym_descrambled,dmrs_seq) disp('DMRS符号解扰成功!'); else disp('DMRS符号解扰失败!'); end ``` 需要注意的是,以上代码仅实现了5G NR PDSCH DMRS解扰的基本过程,实际应用中还需要处理更多细节和异常情况。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值