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

10/26 update:

send DSR for msg5 scheduling is ok:

*validatePucch for all PUCCH formats to avoid time/freq-domain overlapping

*sendPucch(with sr=True) for both symbol-level period and slot-level period

*fillPucch for generic PUCCH resource mapping

*bugfix for Msg4 HARQ

 

2019/10/31 update:

*bugfix to intra-slot freq hopping of 2-symbols short pucch.

 

1, Different PUCCH formats

*all PUCCH formats support intra-slot frequency hopping

*multiple-slots PUCCH format 1/3/4 can be configured to use either inter-slot frequency hopping or intra-slot frequency hopping, but not both;

  (1) if inter-slot FreqHop is enabled, even slots use startRb and odd slots use secondHopPrb, and slot numbering is started from 0 for the first PUCCH slots;

  (2) if intra-slot FreqHop is enabled, hopping pattern(startRb for 1st hop and secondHopPrb for 2nd hop) keeps the same for each slot;

*for PUCCH format 1, PUCCH symbols and its DMRS symbols are as below:

NG Toolset开发笔记--5GNR Resource Grid(57)_第1张图片

*no DMRS for PUCCH format 0;

*FDM DMRS is defined for PUCCH format 2

*intra-slot frequency hopping can be configured for 2-symbols PUCCH format 0/2

*SR/HARQ/CSI multiplexing assumptions in current implementation:

  (1)DSR may overlap with periodic CSI: use CSI resource to send DSR/CSI. This scenario may not exist.

  (2)HARQ may overlap with periodic CSI: use HARQ resource to send HARQ/CSI, where HARQ pucch resource must be format 2/3/4.

  (3)DSR may not overlap with HARQ

 

2, Generic PUCCH resource mapping procedure

if pucchFmt == 0:
    if intraSlotFreqHop and numSymbs == 2:
        #use both startRb for 1st hop and secondHopPrb for 2nd hop for resource mapping
    else:
        #use startRb for resource mapping
elif pucchFmt == 1:
    if interSlotFreqHop:
        for slot in range(sl, sl+self.nrPucchFmt134NumSlots):
            if (slot - sl) % 2 == 0: #even slot
                #use startRb for resource mapping
            else:
                #use secondHopPrb for resource mapping
    else:
        if intraSlotFreqHop:
            for slot in range(sl, sl+self.nrPucchFmt134NumSlots):
                #use startRb for 1st hop and secondHopPrb for 2nd hop for each slot for resource mapping
        else:
            for slot in range(sl, sl+self.nrPucchFmt134NumSlots):
                #use startRb for resource mapping
else:
    pass
            

 

3, Examples

#part of the configurations:
contents of ["pucchFmtCfg"]: {'numSlots': 'n2', 'interSlotFreqHop': 'disabled', 'addDmrs': 'true', 'simulAckCsi': 'true'}
contents of ["pucchRes0"]: {'resId': '0', 'format': 'format 0', 'resSetId': '0', 'startRb': '0', 'intraSlotFreqHop': 'enabled', 'secondHopPrb': '272', 'numRbs': '1', 'startSymb': '0', 'numSymbs': '2'}
contents of ["pucchRes1"]: {'resId': '1', 'format': 'format 1', 'resSetId': '0', 'startRb': '0', 'intraSlotFreqHop': 'enabled', 'secondHopPrb': '272', 'numRbs': '1', 'startSymb': '0', 'numSymbs': '4'}
contents of ["dsrRes0"]: {'resId': '0', 'pucchRes': '0', 'period': 'sl10', 'offset': '8'}
contents of ["dsrRes1"]: {'resId': '1', 'pucchRes': '1', 'period': 'sym6or7', 'offset': '0'}

Note 1: numSymbs of pucchRes0 should be 2.

 

PUCCH format 0 with intra-slot FreqHop enabled:

[5GNR SIM]UE send DSR @ [HSFN=0, SFN=4, Slot=7]
---->inside sendPucch(hsfn=0,sfn=4,slot=7,harq=False,sr=True,csi=False,pucchResSet="dedicated")
scaleTd = 2, scaleFd = 2
selecting DSR resource: 0
valid pucch region(hsfn=0,sfn=4,slot=8) with DSR period=sl10 and offset=8

Note 2: These two pictures below have been updated. 

 

NG Toolset开发笔记--5GNR Resource Grid(57)_第2张图片

NG Toolset开发笔记--5GNR Resource Grid(57)_第3张图片

 

multiple-slots PUCCH format 1 with intra-slot FreqHop enabled:

[5GNR SIM]UE send DSR @ [HSFN=0, SFN=4, Slot=7]
---->inside sendPucch(hsfn=0,sfn=4,slot=7,harq=False,sr=True,csi=False,pucchResSet="dedicated")
scaleTd = 2, scaleFd = 2
selecting DSR resource: 1
invalid pucch region(hsfn=0,sfn=4,slot=7,l=0) with DSR period=sym6or7 and offset=0
invalid pucch region(hsfn=0,sfn=4,slot=7,l=7) with DSR period=sym6or7 and offset=0
valid pucch region(hsfn=0,sfn=4,slot=8,l=0) with DSR period=sym6or7 and offset=0
contents of pucchSymbs(w.r.t to firstSymb(=0) of PUCCH): [[1], [3]]
contents of dmrsSymbs(w.r.t to firstSymb(=0) of PUCCH): [[0], [2]]

 

NG Toolset开发笔记--5GNR Resource Grid(57)_第4张图片

NG Toolset开发笔记--5GNR Resource Grid(57)_第5张图片

 

你可能感兴趣的:(Dev,4G/5G,5GNR,PUCCH,DSR,intra-slot,frequency,hopping,inter-slot,frequency,hopping)