NG Toolset开发笔记--5GNR Resource Grid(53)

100 篇文章 0 订阅
42 篇文章 1 订阅

4/8 update:

*sendPucch for Msg4 HARQ feedback is ok

 

After receiving Msg4 ending in slot n, UE should send corresponding HARQ feedback in slot n+K1.

For Msg4 harq feedback, common pucch set is used as specified in 38.213 9.2.1.

(1)  In monitorPdcch(dci='dci10', rnti='tc-rnti'), keep msg4Cce0(the )

cceSet = [pdcchCandidate * self.nrCss0AggLevel + k for k in range(self.nrCss0AggLevel)]
self.msg4Cce0 = cceSet[0]
self.ngwin.logEdit.append('cceSet=%s, msg4Cce0=%d' % (cceSet, self.msg4Cce0))
qApp.processEvents()

(2)  Calculate rPucch(the )

#refer to 3GPP 38.213 vf40 9.2.1
#determine PUCCH index r_PUCCH
rPucch = math.floor(2 * self.msg4Cce0 / self.coreset0NumCces) + 2 * self.nrMsg4DeltaPri

pucchFmt, firstSymb, numSymbs, prbOffset, initialCsSet = commonPucchResSets[rPucch]
if rPucch == 15:
    prbOffset = math.floor(self.nrIniUlBwpNumRbs / 4)

(3) determine slot for sending Msg4 HARQ

Note: Before calculating slotMsg4Harq, we need to convert (hsfn+sfn+slotMsg4) which based on nrMibCommonScs(common scs in mib) into (hsfn, sfn, slotInPuschScs) which based on nrIniUlBwpScs(scs of initial ul bwp).

#refer to 3GPP 38.213 vf40 9.2.3
#For DCI format 1_0, the PDSCH-to-HARQ-timing-indicator field values map to {1, 2, 3, 4, 5, 6, 7, 8}.
#With reference to slots for PUCCH transmissions, if the UE detects a DCI format 1_0 or a DCI format 1_1 scheduling a PDSCH reception ending in slot n or if the UE detects a DCI format 1_0 indicating a SPS PDSCH release through a PDCCH reception ending in slot n, the UE provides corresponding HARQ-ACK information in a PUCCH transmission within slot n+k, where k is a number of slots and is indicated by the PDSCH-to-HARQ-timing-indicator field in the DCI format, if present, or provided by dl-DataToUL-ACK.
k1 = [1,2,3,4,5,6,7,8][self.nrMsg4TdK1]

slotMsg4Harq = slotInPuschScs + k1
if slotMsg4Harq >= self.nrSlotPerRf[self.nrScs2Mu[self.nrIniUlBwpScs]]:
    slotMsg4Harq = slotMsg4Harq % self.nrSlotPerRf[self.nrScs2Mu[self.nrIniUlBwpScs]]
    hsfn, sfn = self.incSfn(hsfn, sfn, 1)
    self.alwaysOnTr(hsfn, sfn)

(4) DMRS for PUCCH format 1

Note: For common pucch set, only format 0/1 is supported.

pucchDmrsSymbs = []
if pucchFmt == 1:
    for i in range(numSymbs):
        if i % 2 == 0:
            pucchDmrsSymbs.append(i)
    self.ngwin.logEdit.append('contents of pucchDmrsSymbs(w.r.t to firstSymb(=%d) of PUCCH): %s' % (firstSymb, pucchDmrsSymbs))
    qApp.processEvents()

(5) Frequency hopping for 'Common PUCCH Set'

As specified in 38.213, harq feedback with 'common pucch set' uses frequency hopping.

Final note: After msg4 harq, we are generally done with 'initial dl bwp' and 'initial ul bwp'. We will use 'dedicated ul/dl bwp' for CSI-RS/SRS/DSR/CSI-feedback and PDSCH/PUSCH/PUCCH, and PDCCH will always use Coreset1/USS1 (CORESET with id=1 and UE-specific search space with id=1).

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值