ngapp_build20190320放出后,陆续收到反馈:app总是报错,不容易找到valid configuraiton能让工具顺利导出excel。
为方便调试验证,新增下列feature:
(1) 如果options/enable debug勾选,不会再执行excel导出操作,即使configuration是正确的。如果需要导出excel,请去勾选options/enable debug。
(2)针对工具中存在的四处随机操作,新增‘advanced settings' tab用于指定对应参数配置:
这四处随机操作分别是:
(1)recvSSB之后侦听SIB1调度PDCCH occasion时:
*bestSsb为随机选取
*与bestSsb对应的PDCCH slot为随机选取
*与bestSSB对应的PDCCH slot的PDCCH candidate为随机选取
(2)PRACH发送过程中:
*与bestSsb对应的PRACH occasion为随机选取
(3)侦听Msg2调度的PDCCH occasion时:
*pdcch occasion为随机选取;
*与pdcch occasion对应的pdcch candidate为随机选取
'advanced settings'中与上述对应的6个配置参数,用于直接指定相应的配置值。对于invalid configuration,可以通过’advanced settings‘配置来逐步调整为valid configuration。
(3)举例如下:
n41,100M,all scs=30k,ul/dl configuration is align to LTE sa2+ssp7(3:1+10:2:2) with 3ms offset.
Invalid configuration example:
[5GNR SIM]Prepare configurations
-->inside prepNrGrid
contents of ["freqBand"]: {'opBand': 'n41', 'duplexMode': 'TDD', 'maxDlFreq': 2690, 'freqRange': 'FR1'}
contents of ["ssbGrid"]: {'scs': '30KHz', 'pattern': 'Case C', 'minGuardBand240k': 'NA', 'kSsb': '0', 'nCrbSsb': '38'}
contents of ["ssbBurst"]: {'maxL': 8, 'inOneGroup': '11111111', 'groupPresence': 'NA', 'period': '20ms'}
contents of ["mib"]: {'sfn': '0', 'hrf': '0', 'dmrsTypeAPos': 'pos2', 'commonScs': '30KHz', 'rmsiCoreset0': '12', 'rmsiCss0': '0', 'coreset0MultiplexingPat': 1, 'coreset0NumRbs': 48, 'coreset0NumSymbs': 1, 'coreset0OffsetList': (16,), 'coreset0Offset': 16, 'coreset0StartRb': 0}
contents of ["carrierGrid"]: {'scs': '30KHz', 'bw': '100MHz', 'numRbs': '273', 'minGuardBand': '3'}
contents of ["pci"]: 0
contents of ["numUeAp"]: 4Tx
contents of ["tddCfg"]: {'refScs': '30KHz', 'pat1Period': '5ms', 'pat1NumDlSlots': '7', 'pat1NumDlSymbs': '6', 'pat1NumUlSymbs': '4', 'pat1NumUlSlots': '2', 'pat2Period': 'not used', 'pat2NumDlSlots': '', 'pat2NumDlSymbs': '', 'pat2NumUlSymbs': '', 'pat2NumUlSlots': ''}
contents of ["css0"]: {'aggLevel': '4', 'numCandidates': 'n4'}
contents of ["dci10Sib1"]: {'rnti': '0xFFFF', 'muPdcch': '1', 'muPdsch': '1', 'tdRa': '2', 'tdMappingType': 'Type A', 'tdK0': '0', 'tdSliv': '95', 'tdStartSymb': '2', 'tdNumSymbs': '9', 'fdRaType': 'RA Type1', 'fdRa': '00001011111', 'fdStartRb': '0', 'fdNumRbs': '48', 'fdVrbPrbMappingType': 'interleaved', 'fdBundleSize': 'n2', 'mcsCw0': '1', 'tbs': '1480'}
contents of ["dci10Msg2"]: {'rnti': '0x0001', 'muPdcch': '1', 'muPdsch': '1', 'tdRa': '3', 'tdMappingType': 'Type A', 'tdK0': '0', 'tdSliv': '86', 'tdStartSymb': '2', 'tdNumSymbs': '7', 'fdRaType': 'RA Type1', 'fdRa': '00001011111', 'fdStartRb': '0', 'fdNumRbs': '48', 'fdVrbPrbMappingType': 'interleaved', 'fdBundleSize': 'n2', 'mcsCw0': '1', 'tbScaling': '0', 'tbs': '1192'}
contents of ["dmrsSib1"]: {'dmrsType': 'Type 1', 'dmrsAddPos': 'pos2', 'maxLength': 'len1', 'dmrsPorts': '0', 'cdmGroupsWoData': '2', 'numFrontLoadSymbs': '1', 'tdL': [2, 6, 9], 'fdK': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
contents of ["dmrsMsg2"]: {'dmrsType': 'Type 1', 'dmrsAddPos': 'pos2', 'maxLength': 'len1', 'dmrsPorts': '0', 'cdmGroupsWoData': '2', 'numFrontLoadSymbs': '1', 'tdL': [2, 7], 'fdK': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
contents of ["iniUlBwp"]: {'bwpId': '0', 'scs': '30KHz', 'cp': 'normal', 'locAndBw': '1099', 'startRb': '0', 'numRbs': '273'}
contents of ["rach"]: {'prachConfId': '98', 'raFormat': 'A2', 'raX': 2, 'raY': (1,), 'raSubfNumFr1SlotNumFr2': (9,), 'raStartingSymb': 0, 'raNumSlotsPerSubfFr1Per60KSlotFr2': 1, 'raNumOccasionsPerSlot': 3, 'raDuration': 4, 'scs': '30KHz', 'msg1Fdm': '1', 'msg1FreqStart': '0', 'raRespWin': 'sl20', 'totNumPreambs': '64', 'ssbPerRachOccasion': 'one', 'cbPreambsPerSsb': '4', 'msg3Tp': 'disabled', 'raLen': 139, 'raNumRbs': 12, 'raKBar': 2}
contents of ["advanced"]: {'bestSsb': 'NA', 'sib1PdcchSlot': 'NA', 'sib1PdcchCand': 'NA', 'prachOccasion': 'NA', 'msg2PdcchSlot': 'NA', 'msg2PdcchCand': 'NA'}
第一次执行(注意勾选enable debug)报错:即SIB1与SSB重叠。
tdOverlapped = {32~39, 44~49};而symbol32~39对应issb=2,symbol 44~49对应issb=3 (注意baseScsTd=60k, ssbScs=30k,所以scaleTd=2;tdOverlapped以及ssbFirstSymb都是以baseScsTd定义的)
sib1时域调度为sfn=0,slot=1,startSymb=2,numSymbs=9
从下面图示可以看出,sib1与ssb时域重叠情况。
为避开ssb,可以将sib1时域调度信息配置为:sfn=0,slot=1,startSymb=12,numSymbs=2
part of debug output:
[5GNR SIM]recv SSB
---->inside recvSsb(hsfn=0,sfn=0, scaleFd=2, scaleTd=2)
issb=0, ssbFirstSc=456, v=0, ssbFirstSymb=4
issb=1, ssbFirstSc=456, v=0, ssbFirstSymb=16
issb=2, ssbFirstSc=456, v=0, ssbFirstSymb=32
issb=3, ssbFirstSc=456, v=0, ssbFirstSymb=44
issb=4, ssbFirstSc=456, v=0, ssbFirstSymb=60
issb=5, ssbFirstSc=456, v=0, ssbFirstSymb=72
issb=6, ssbFirstSc=456, v=0, ssbFirstSymb=88
issb=7, ssbFirstSc=456, v=0, ssbFirstSymb=100
selecting pdcch candidate: bestSsb=0(hrf=0,issb=0), pdcchSlot=1, pdcchCandidate=0
[5GNR SIM]recv SIB1
---->inside recvSib1(hsfn=0,sfn=0,dci slot=1)
contents of sib1DmrsSymbs(w.r.t to slivS): [0, 4, 7]
[2019-03-26 14:15:44]Error: When receiving the PDSCH scheduled with SI-RNTI and the system information indicator in DCI is set to 0, the UE shall assume that no SS/PBCH block is transmitted in REs used by the UE for a reception of the PDSCH. tdOverlapped={32, 33, 34, 35, 36, 37, 38, 39, 44, 45, 46, 47, 48, 49} fdOverlapped={456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,....(omitted)
为了实现在上述配置的基础之上,规避上述ssb/sib1重叠错误,可以在'advanced settings'配置:
并将DCI 1_0(SIB1)时域调度从2调整为10:
再次执行时,又提示msg2与ssb冲突:
tdOverlapped={4~11, 16~17},其中symbol4~11对应issb=0,symbol 16~17对应issb=1
Msg2时域调度信息为:sfn=2,slot=0,startSymb=2,numSymbs=7
同理如果将Msg2时域调度从3调整为10也可以解决冲突:此时startSymb=12,numSymbs=2。
part of debug output:
[5GNR SIM]recv PDCCH(DCI 1_0, SI-RNTI)
selecting pdcch candidate: bestSsb=0(hrf=0,issb=0), pdcchSlot=1, pdcchCandidate=0
[5GNR SIM]recv SIB1
contents of ssb2RachOccasionMap:
issb=0: rachOccasion=[[[0, 1, 19], 0, 0]], cbPreambs=[0, 1, 2, 3]
issb=1: rachOccasion=[[[0, 1, 19], 1, 0]], cbPreambs=[0, 1, 2, 3]
issb=2: rachOccasion=[[[0, 1, 19], 2, 0]], cbPreambs=[0, 1, 2, 3]
issb=3: rachOccasion=[[[0, 3, 19], 0, 0]], cbPreambs=[0, 1, 2, 3]
issb=4: rachOccasion=[[[0, 3, 19], 1, 0]], cbPreambs=[0, 1, 2, 3]
issb=5: rachOccasion=[[[0, 3, 19], 2, 0]], cbPreambs=[0, 1, 2, 3]
issb=6: rachOccasion=[[[0, 5, 19], 0, 0]], cbPreambs=[0, 1, 2, 3]
issb=7: rachOccasion=[[[0, 5, 19], 1, 0]], cbPreambs=[0, 1, 2, 3]
selecting prach occasion(=[[0, 1, 19], 0, 0]) with cbPreambs=[0, 1, 2, 3] corresponding to best SSB(with issb=0)
[5GNR SIM]recv PDCCH(DCI 1_0, RA-RNTI)
contents of validCss0Msg2(raRespWin=20 slots):
PDCCH occasion #0: [0, 2, 0, 0]
PDCCH occasion #1: [0, 2, 1, 0]
PDCCH occasion #2: [0, 2, 2, 0]
PDCCH occasion #3: [0, 2, 3, 0]
PDCCH occasion #4: [0, 2, 4, 0]
PDCCH occasion #5: [0, 2, 5, 0]
PDCCH occasion #6: [0, 2, 6, 0]
PDCCH occasion #7: [0, 2, 7, 0]
selecting pdcch candidate: pdcchOccasion=0(numPdcchOccasions=8), pdcchCandidate=0(numPdcchCandidates=2)
[5GNR SIM]recv RAR(Msg2)
---->inside recvMsg2(hsfn=0,sfn=2,dci slot=0)
contents of msg2DmrsSymbs(w.r.t to slivS): [0, 5]
[2019-03-26 14:47:01]Error: When receiving the PDSCH scheduled with SI-RNTI and the system information indicator in DCI is set to 1, RA-RNTI, P-RNTI or TC-RNTI, the UE assumes SS/PBCH block transmission according to ssb-PositionsInBurst, and if the PDSCH resource allocation overlaps with PRBs containing SS/PBCH block transmission resources the UE shall assume that the PRBs containing SS/PBCH block transmission resources are not available for PDSCH in the OFDM symbols where SS/PBCH block is transmitted. tdOverlapped={4, 5, 6, 7, 8, 9, 10, 11, 16, 17} fdOverlapped={456, 457, 458, 459, 460, 461,
为进一步规避msg2/ssb冲突问题,将'advanced settings'配置为:
并将DCI 1_0(Msg2)的时域调度从3调整为10:
此时配置已ok:
output of final valid configurations:
<...omited...>
[5GNR SIM]recv RAR(Msg2)
---->inside recvMsg2(hsfn=0,sfn=2,dci slot=0)
contents of msg2DmrsSymbs(w.r.t to slivS): [0]
[5GNR SIM]Exporting to excel skipped
最终的valid configuration为:
Valid configuration example:
contents of ["freqBand"]: {'opBand': 'n41', 'duplexMode': 'TDD', 'maxDlFreq': 2690, 'freqRange': 'FR1'}
contents of ["ssbGrid"]: {'scs': '30KHz', 'pattern': 'Case C', 'minGuardBand240k': 'NA', 'kSsb': '0', 'nCrbSsb': '38'}
contents of ["ssbBurst"]: {'maxL': 8, 'inOneGroup': '11111111', 'groupPresence': 'NA', 'period': '20ms'}
contents of ["mib"]: {'sfn': '0', 'hrf': '0', 'dmrsTypeAPos': 'pos2', 'commonScs': '30KHz', 'rmsiCoreset0': '12', 'rmsiCss0': '0', 'coreset0MultiplexingPat': 1, 'coreset0NumRbs': 48, 'coreset0NumSymbs': 1, 'coreset0OffsetList': (16,), 'coreset0Offset': 16, 'coreset0StartRb': 0}
contents of ["carrierGrid"]: {'scs': '30KHz', 'bw': '100MHz', 'numRbs': '273', 'minGuardBand': '3'}
contents of ["pci"]: 0
contents of ["numUeAp"]: 4Tx
contents of ["tddCfg"]: {'refScs': '30KHz', 'pat1Period': '5ms', 'pat1NumDlSlots': '7', 'pat1NumDlSymbs': '6', 'pat1NumUlSymbs': '4', 'pat1NumUlSlots': '2', 'pat2Period': 'not used', 'pat2NumDlSlots': '', 'pat2NumDlSymbs': '', 'pat2NumUlSymbs': '', 'pat2NumUlSlots': ''}
contents of ["css0"]: {'aggLevel': '4', 'numCandidates': 'n4'}
contents of ["dci10Sib1"]: {'rnti': '0xFFFF', 'muPdcch': '1', 'muPdsch': '1', 'tdRa': '10', 'tdMappingType': 'Type B', 'tdK0': '0', 'tdSliv': '26', 'tdStartSymb': '12', 'tdNumSymbs': '2', 'fdRaType': 'RA Type1', 'fdRa': '00001011111', 'fdStartRb': '0', 'fdNumRbs': '48', 'fdVrbPrbMappingType': 'interleaved', 'fdBundleSize': 'n2', 'mcsCw0': '1', 'tbs': '320'}
contents of ["dci10Msg2"]: {'rnti': '0x0001', 'muPdcch': '1', 'muPdsch': '1', 'tdRa': '10', 'tdMappingType': 'Type B', 'tdK0': '0', 'tdSliv': '26', 'tdStartSymb': '12', 'tdNumSymbs': '2', 'fdRaType': 'RA Type1', 'fdRa': '00001011111', 'fdStartRb': '0', 'fdNumRbs': '48', 'fdVrbPrbMappingType': 'interleaved', 'fdBundleSize': 'n2', 'mcsCw0': '1', 'tbScaling': '0', 'tbs': '320'}
contents of ["dmrsSib1"]: {'dmrsType': 'Type 1', 'dmrsAddPos': 'pos0', 'maxLength': 'len1', 'dmrsPorts': '0', 'cdmGroupsWoData': '1', 'numFrontLoadSymbs': '1', 'tdL': [0], 'fdK': [1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0]}
contents of ["dmrsMsg2"]: {'dmrsType': 'Type 1', 'dmrsAddPos': 'pos0', 'maxLength': 'len1', 'dmrsPorts': '0', 'cdmGroupsWoData': '1', 'numFrontLoadSymbs': '1', 'tdL': [0], 'fdK': [1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0]}
contents of ["iniUlBwp"]: {'bwpId': '0', 'scs': '30KHz', 'cp': 'normal', 'locAndBw': '1099', 'startRb': '0', 'numRbs': '273'}
contents of ["rach"]: {'prachConfId': '98', 'raFormat': 'A2', 'raX': 2, 'raY': (1,), 'raSubfNumFr1SlotNumFr2': (9,), 'raStartingSymb': 0, 'raNumSlotsPerSubfFr1Per60KSlotFr2': 1, 'raNumOccasionsPerSlot': 3, 'raDuration': 4, 'scs': '30KHz', 'msg1Fdm': '1', 'msg1FreqStart': '0', 'raRespWin': 'sl20', 'totNumPreambs': '64', 'ssbPerRachOccasion': 'one', 'cbPreambsPerSsb': '4', 'msg3Tp': 'disabled', 'raLen': 139, 'raNumRbs': 12, 'raKBar': 2}
contents of ["advanced"]: {'bestSsb': '0', 'sib1PdcchSlot': '1', 'sib1PdcchCand': '0', 'prachOccasion': '0', 'msg2PdcchSlot': '0', 'msg2PdcchCand': '0'}
(4)ngapp_build20190326下载链接:
链接: https://pan.baidu.com/s/1A2YD8z_vCtXGMDTSLQD_TQ
提取码: m4xq