MatlabsimulationsoftheencoderandSuccessiveCancellationList(SCL)decoderfortheNewRadiopolarcodefrom3GPPRelease15,asdefinedinTS38.212V15.2.0andusedinthePublicBroadcastChannel(PBCH),PhysicalDownlinkControlChannel(PDCCH)andPhysicalUplinkControlChannel(PUCCH).
Thiscodeisintendedtoprovideareferencemodelforthestandardandhasbeenwrittenwithafocusoncorrectness,ratherthanonsimulationspeed.ThiscodeisalsointendedtoprovideaplatformforresearchonenhancementstotheNewRadiopolarcode.Thismotivatestheinclusionofthecustom1_encoderandcustom1_decoder,alongsideencodersanddecodersfortheNewRadioPBCH,PDCCHandPUCCHchannels.Inparticular,custom1_encoderandcustom1_decoderadapttheNewRadiopolarcodeforgeneralpurposeapplications,enablingsupportforarbitrarily-highinformationblocklengthsA.Bycontrast,thelongestblocklengthssupportedintheNewRadioPBCH,PDCCHandPUCCHchannelsare32,140and1706bits,respectively.
PlotofBlockErrorRate(BLER)versuschannelSignaltoNoiseRatio(SNR)Es/N0forthePublicBroadcastChannel(PBCH)polarcodeof3GPPNewRadio,whenusingQuadraturePhaseShiftKeying(QPSK)forcommunicationoveranAdditiveWhiteGaussianNoise(AWGN)channel.Here,Aisthenumberofbitsineachinformationblock,EisthenumberofbitsineachencodedblockandListhelistsizeusedduringmin-sumSuccessiveCancellationList(SCL)decoding.ThesimulationofeachSNRwascontinueduntil1000blockerrorswereobserved.CapacityplotsareprovidedbytheO(n−2)metaconversePPVupperbound.PlotofSignaltoNoiseRatio(SNR)Es/N0requiredtoachieveaBlockErrorRate(BLER)of10-3versusnumberbitsineachinformationblockAforthePhysicalDownlinkControlChannel(PDCCH)polarcodeof3GPPNewRadio,whenusingQuadraturePhaseShiftKeying(QPSK)forcommunicationoveranAdditiveWhiteGaussianNoise(AWGN)channel.Here,EisthenumberofbitsineachencodedblockandListhelistsizeusedduringmin-sumSuccessiveCancellationList(SCL)decoding.ThesimulationofeachSNRwascontinueduntil100blockerrorswereobserved.CapacityplotsareprovidedbytheO(n−2)metaconversePPVupperbound.PlotofSignaltoNoiseRatio(SNR)Es/N0requiredtoachieveaBlockErrorRate(BLER)of10-3versusnumberbitsineachinformationblockAforthePhysicalUplinkControlChannel(PUCCH)polarcodeof3GPPNewRadio,whenusingQuadraturePhaseShiftKeying(QPSK)forcommunicationoveranAdditiveWhiteGaussianNoise(AWGN)channel.Here,GisthenumberofbitsineachencodedblockandListhelistsizeusedduringmin-sumSuccessiveCancellationList(SCL)decoding.ThesimulationofeachSNRwascontinueduntil100blockerrorswereobserved.CapacityplotsareprovidedbytheO(n−2)metaconversePPVupperbound.ThecapacityplotsintheFiguresabovewereobtainedusingtheO(n−2)metaconversePPVupperboundfromtheSPECTREShortPacketCommunicationToolbox.Ifyouusetheseresults,pleaseacknowledgethemwithareferenceto...
T.Erseghe,"CodingintheFinite-BlocklengthRegime:BoundsBasedonLaplaceIntegralsandTheirAsymptoticApproximations",IEEETransactionsonInformationTheory,vol.62,no.12,pp.6854-6883,Dec.2016.
SectionofTS38.212ImplementedinComment5.1components/get_crc_generator_matrix.mTheCRCbitsaregeneratedusingb=[a,mod(a*G_P,2)].5.2.1PUCCH_encoder.mThefirstandsecondsegmentsareobtainedasa(1:floor(A/C))anda(floor(A/C)+1:A),respectively.5.3.1components/get_3GPP_N.m5.3.1.1components/get_3GPP_crc_interleaver_pattern.mInterleavingisimplementedusingc_prime=c(Pi).5.3.1.2Q0N-1components/get_3GPP_sequence_pattern.mTheelementsofQ0N-1areincrementedby1,sinceindicesbeginat1inMatlab.5.3.1.2QPCNcomponents/get_PC_bit_pattern.mProvidesavectorofNelements,inwhichtheelementswiththeindicesQPCNaresettotrueandallotherelementsaresettofalse.5.3.1.2ucomponents/PCCA_polar_encoder.mOthercomponents/*_polar_encoder.mfilesarealsousefulforspecialcaseswithoutPCbits,withoutCRCbitsorwithdistributedCRCbits.5.3.1.2GNcomponents/get_G_N.mEncodingisimplementedusingd=mod(u*G_N,2).5.4.1.1P(i)components/get_3GPP_rate_matching_pattern.m5.4.1.1QINcomponents/get_3GPP_info_bit_pattern.mProvidesavectorofNelements,inwhichtheelementswiththeindicesQINaresettotrueandallotherelementsaresettofalse.5.4.1.2components/get_3GPP_rate_matching_pattern.mRatematchingisimplementedusinge=d(rate_matching_pattern).5.4.1.3components/get_3GPP_channel_interleaver_pattern.mInterleavingisimplementedusingf=e(channel_interleaver_pattern).5.5PUCCH_encoder.mThefirstandsecondsegmentsareconcatenatedusingf=[f,...].6.3.1.2.1PUCCH_encoder.m6.3.1.3.1PUCCH_encoder.m6.3.1.4.1PUCCH_encoder.mRatematchingisimplemented,butnotthedeterminationofEUCI.6.3.1.5PUCCH_encoder.m6.3.2.2.1PUCCH_encoder.m6.3.2.3.1PUCCH_encoder.m6.3.2.4.1PUCCH_encoder.mRatematchingisimplemented,butnotthedeterminationofEUCI.6.3.2.5PUCCH_encoder.m7.1.3PBCH_encoder.m7.1.4PBCH_encoder.m7.1.5PBCH_encoder.m7.3.1PDCCH_encoder.mOnlyimplementsthezeropaddingofDCIformats,toincreasetheirlengthto12bits.7.3.2PDCCH_encoder.m7.3.3PDCCH_encoder.m7.3.4PDCCH_encoder.mEachofthe*_encoder.mfileshascorresponding*_decoder.mfiles,forperformingthecorrespondingoperationofthereceiver.
ManythankstomycolleaguesatAccelerComm,whohavespentlotsoftimedoublecheckingthatthiscodematchesthestandard.
Havefun!Rob.
评论