FAPI专题-8:5G FAPI接口 - 中文规范-4- P7消息格式

2023-11-07

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/120645757


目录

第3章 主要的消息格式

3.4 P7接口的Slot Messages(时隙调度消息)

3.4.1 Slot.indication

3.4.2 DL_TTI.request

3.4.2.1 PDCCH PDU (对下行控制信道的调度)

3.4.2.2 PDSCH PDU

3.4.2.3 CSI-RS PDU

3.4.2.4 SSB PDU

3.4.2.5 Tx Precoding and Beamforming PDU

3.4.3 UL_TTI.request

3.4.3.1 PRACH PDU

3.4.3.2 PUSCH PDU

3.4.3.3 PUCCH PDU

3.4.3.4 SRS PDU

3.4.3.5 Rx Beamforming PDU

3.4.4 UL_DCI.request

3.4.5 SLOT errors

3.4.6 UCI.indication(上行调度请求指示)

3.4.6.1 来自PUSCH信道的UCI PDU

3.4.6.2 PUCCH PDU Format 0/1

3.4.6.3 PUCCH PDU Format 2/3/4

3.4.6.4 SR, HARQ and CSI Part 1/ 2 PDUs

3.4.7 Tx_Data.request

3.4.8 Rx_Data.indication

3.4.9 CRC.indication

3.4.10 SRS.indication(探测信号指示)

3.4.11 RACH.indication



目录

第3章 主要的消息格式

3.4 P7接口的Slot Messages(时隙调度消息)

3.4.1 Slot.indication

3.4.2 DL_TTI.request

3.4.2.1 PDCCH PDU (对下行控制信道的调度)

3.4.2.2 PDSCH PDU

3.4.2.3 CSI-RS PDU

3.4.2.4 SSB PDU

3.4.2.5 Tx Precoding and Beamforming PDU

3.4.3 UL_TTI.request

3.4.3.1 PRACH PDU

3.4.3.2 PUSCH PDU

3.4.3.3 PUCCH PDU

3.4.3.4 SRS PDU

3.4.3.5 Rx Beamforming PDU

3.4.4 UL_DCI.request

3.4.5 SLOT errors

3.4.6 UCI.indication(上行调度请求指示)

3.4.6.1 来自PUSCH信道的UCI PDU

3.4.6.2 PUCCH PDU Format 0/1

3.4.6.3 PUCCH PDU Format 2/3/4

3.4.6.4 SR, HARQ and CSI Part 1/ 2 PDUs

3.4.7 Tx_Data.request

3.4.8 Rx_Data.indication

3.4.9 CRC.indication

3.4.10 SRS.indication(探测信号指示)

3.4.11 RACH.indication



第1章 概述

第2章 主要的流程

第3章 主要的消息格式

3.1 General Message Format (通用消息格式)

3.2 Message Types (消息类型)

3.3 P5接口的Configuration Messages(管理配置消息)

3.4 P7接口的Slot Messages(时隙调度消息)

该组Slot消息被用于L2软件控制每个Slot数据的发送和接收。

正是通过这组消息,L2和L1之间才实现了有节奏的发送和接收数据 。

3.4.1 Slot.indication

当MAC层调度器和PHY在同一个硬件单元中时,使用该消息在MAC层和PHY层之间进行时隙对齐。也就是说MAC层不需要独立的时隙信号,PHY层定时触发,触发MAC层调度器进行调度。

因为物理层的时隙信号在频率和相位上都具备足够的精度。

(1)发送方向:该Slot.indication由L1 PHY周期性的发送给L2 MAC

(2)发送周期:周期是由L2 MAC通过CONFIG.request预先配置的。该配置消息包含了所有支持的slot周期,以及不支持的slot周期,

• 0 – then SLOT.indication is provided every 1ms

• 1 – then SLOT.indication is provided every 500us

• 2 – then SLOT.indication is provided every 250us

• 3 – then SLOT.indication is provided every 125us

(3)包含的内容

SFN: 10ms系统帧号,其变化周期是10ms,完成全部循环需要的时间=10ms * 4096 = 4.96s

Slot number:每个slot变化一次,如果slot的发送周期是0.5ms,完成全部循环需要的时间=0.5 * 160 = 80ms。

3.4.2 DL_TTI.request

MAC层调度器对PHY发起的下行资源的调度请求。

(1)发送方向:该消息有L2发送给L1。

(2)发送时间:随同Slot.indiation,同时PHY处于Running状态。

(3)发送内容:用于发送下行调度控制信息,主要内容包括:

  • SFN号
  • Slot号
  • nPDUs:Number of PDUs that are included in this message. All PDUs in the message are numbered in order。
  • nGroup:Number of UE Groups included in this message

(4)对于每个PDU

  • PDUType:0: PDCCH PDU,1: PDSCH PDU,  2: CSI-RS PDU,3: SSB PDU。也就是说,MAC层调度器是按照信道进行调度的,可以在一个TTI.request中进行单个信道的调度,也可以在一个TTI.request中一次性进行多个信道的调度。
  • PDUSize:Size of the PDU control information
  • DL PDU Configuration:不同类型信道的PDU, 其调度的PDU的格式是不相同的。
  • nGroup:UE的分组数,在实际调度中,对UE进行分组调度。
  • nUe:每个group中UE的个数,对于单UE的MIMO(SU-MIMO), 每次只调度一个UE, 对于对UE的MIMO, 每个group中有1-12个UE.
  • PduIdx:每个PDU的索引号

 下行调度信息DCI, 可以通过PDCCH信道下发给UE, 也可以通过PD-SCH信道下发个UE。

3.4.2.1 PDCCH PDU (对下行控制信道的调度)

【前序知识】

[4G&5G专题-38]:物理层- LTE下行公共控制信道PDCCH与其承载的内容下行控制信息格式DCI_文火冰糖(王文兵)的博客-CSDN博客

[4G&5G专题-26]:架构-什么是部分带宽BWP, 不对称载波带宽、UE带宽自适应?_文火冰糖(王文兵)的博客-CSDN博客_bwp是什么意思

由于NR中系统带宽较大(FR1最高可达100MHz,FR2最高可达400MHz),若PDCCH此时仍如LTE那般在频域上占整个带宽,不仅浪费资源,且盲检复杂度较大。因此,NR将PDCCH在频域上占用的频段和在时域上占用的OFDM符号数等信息封装在CORESET中;将PDCCH起始的OFDM符号数索引以及PDCCH监听周期等信息封装在搜索空间中。PDCCH信道的配置为CORESET和搜索空间的组合。

LTE系统中,PDCCH信道在频域上占用整个带宽,时域上占用每个子帧的前1~3个OFDM符号。

NR 系统中,PDCCH信道在频域上不再占用整个带宽,而是通过BWP和Coreset来设置,时域上依然占用每个子帧的前1~3个OFDM符号。

 

【消息格式】

PDCCH是由物理层发送的,但内容是由L2/L3层软件提供的。

(1)发送方向:该消息有L2发送给L1.

(2)发送时间:需要下行调度时

(3)发送的内容

【BWP】

每个小区支持1-4个BWP,以适应最值不同终端的需求。一个小区,最大也就支持4个BWP,即同时支持不同4种带宽的终端。

  • BWPSize:Number of contiguous PRBs allocated to the BWP, 1->275。通过该参数,可以指定该BWP的带宽
  • BWPStart:bandwidth part start RB index from reference CRB,0->274,通过该参数,指定每个BWP的起始位置。
  • SubcarrierSpacing:子载波间隔,0->4,通过该参数,指定该BWP的子载波间隔,也就是说,不同的BWP可以有不同的子载波间隔,但指定的BWP, 其子载波间隔是确定的,只能有一个。
  • CyclicPrefix:循环前缀的内容,0: Normal; 1: Extended。

【Coreset的设定与配置】

每个小区最多可配置4个BWP,每个BWP最多可配置3个CORESET,因此每个小区最多可配置12个CORESET,其索引为0~11,由高层参数ControlResourceSetld通知给UE,该参数在一个小区内的所有BWP中式唯一的,其中CORESET0为TYPE0 PDCCH公共搜索空间(Common Search Space,CSS)。

如果一个BWP中包括有多个Coreset,需要在一个DL_TTI.request中包含多个PDCCH PDU。

  • StartSymbolIndex(0->13):Starting OFDM symbol for the CORESET,该参数定义该Coreset在一个子帧中的时域的起始位置。
  • DurationSymbols(1,2,3):Contiguous time duration of the CORESET in number of symbols. 该参数定义了该Coreset在时域中持续的时间。
  • FreqDomainResource(46 bits):Frequency domain resources. This is a bitmap defining non-overlapping groups of 6 PRBs in ascending order。参数定义了该Coreset在频域中的位置。
  • CceRegMappingType:CORESET-CCE-to-REG-mapping-type,0: non-interleaved,1: interleaved。该参数定义了CCE与REG的映射方法,是否需要交织。
  • RegBundleSize:The number of REGs in a bundle;该参数定义了Coreset中REG的数目。
  • InterleaverSize:The interleaver size。该参数定义了交织映射的长度。
  • CoreSetType:0: CORESET is configured by the PBCH or SIB1 (subcarrier 0 of CRB0 for DMRS mapping),1: otherwise (subcarrier 0 of CORESET),定义了该Coreset的用途,是用于PBCH、SIB1,还是其他用途。
  • ShiftIndex:仅仅适用于交织映射的场合。
  • precoderGranularity:Granularity of precoding,0: sameAsRegBundle,1: allContiguousRBs。
  • numDlDci:Number of DCIs in this CORESET.该参数定义了该DCI可以承载多少个DCI信息。
  • DL Dci PDU:这里定义的是该Coreset中包含的DCI调度信息的详细内容。

也就是说,DCI信息是是承载在Coreset中,而Coreset的位置在时域和频域中都是可配置的,而不是静态的,由于Coreset是承载在BWP中的,因此Coreset的设置与BWP的设置是对应的。

既能,DCI的时域和频域位置都不固定,那么手机如何找到DCI信息呢? 这就涉及到搜索空间的概念。UE对搜索空间中的DCI内容进行盲检测。

【DL DCI PDU】定义了DL-DCI信息的内容

  • RNTI
  • ScramblingId:For a UE-specific search space it equals the higher-layer parameter PDCCH-DMRS-Scrambling-ID if configured, otherwise it should be set to the phy cell ID
  • ScramblingRNTI:For a UE-specific search space where PDCCH-DMRS-Scrambling-ID is configured This param equals the CRNTI. Otherwise, it should be set to 0.
  • CceIndex(0->135):CCE start Index used to send the DCI,定义了该DCI的频域位置,即在CoreSet CCE的位置。
  • AggregationLevel(1,2,4,8,16):Aggregation level used,该参数定义了一个DCI信息,需要通过多少个CCE进行承载,信号质量越好时,所需要CCE越少,信道质量越差,所需要的CCE越多。

---【Beamforming info】

  • Precoding and Beamforming

---【Tx Power info】

  • beta_PDCCH_1_0:PDCCH power value used for PDCCH Format 1_0 with CRC scrambled by SI-RNTI, PI-RNTI or RA-RNTI. This is ratio of SSB/PBCH EPRE to PDCCH and PDCCH DMRS EPRE
  • powerControlOffsetSS:PDCCH power value used for all other PDCCH Formats. This is ratio of SSB/PBCH block EPRE to PDCCH and PDCCH DMRS EPRE
  • PayloadSizeBits:The total DCI length (in bits) including padding bits, DCI调度信息的长度。
  • Payload:DCI payload, where the actual size is defined by PayloadSizeBits. 定义了DCI信息的实际内容,这是DCI最核心的调度信息。

备注:Payload承载了DCI的实际调度信息。而其他信息,定义的是DCI在时域资源中的位置、结构、格式等辅助信息。也就说,物理层并不关系DCI的内容,只关心如何发送DCI的内容,DCI的内容是MAC层关心和决定的。

3.4.2.2 PDSCH PDU

在UE与基站没有建立RRC连接之前,基站对UE的DCI调度信息可以通过PDCCH信道进行承载

在UE与基站已经建立RRC连接之后,也可以通过PD-SCH信道进行承载,本小节主要阐述如何通过PDSCH信道承载对UE的DCI调度信息。

PDCCH的时频资源是为所有用户共享的,而PD-SCH的时频资源,一旦分配给某一个用户,就是被某一个UE独占的。

PDSCH PDU是MAC层告诉PHY, 如何通过PD-SCH信道的时频资源,来承载发送给特定UE的DCI调度信息,物理层并不关心PD-SCH信道中承载的DCI的内容。

也就说是,物理层只关心,通过PDSCH信道的什么样的时频资源、通过什么编码方式来承载DCI信息,并不关系DCI信息的实际内容,实际内容是MAC调度器的职责。

因此,FAPI接口就是定义,MAC层如何通知物理层的各种信道,承载各种调度信息、如何编码各种调度信息,但物理层并不关心调度信息本身的内容与含义,那是手机的MAC层和基站的MAC层所关系的,不是物理层关心的。

  • pduBitmap:Bitmap indicating presence of optional PDUs
  • RNTI
  • pduIndex:PDU index incremented for each PDSCH PDU sent in TX control message. This is used to associate control information to data and is reset every slot

【BWP】

  • BWPSize:Number of contiguous PRBs allocated to the BWP, 1->275。通过该参数,可以指定该BWP的带宽
  • BWPStart:bandwidth part start RB index from reference CRB,0->274,通过该参数,指定每个BWP的起始位置。
  • SubcarrierSpacing:子载波间隔,0->4,通过该参数,指定该BWP的子载波间隔,也就是说,不同的BWP可以有不同的子载波间隔,但指定的BWP, 其子载波间隔是确定的,只能有一个。
  • CyclicPrefix:循环前缀的内容,0: Normal; 1: Extended。

【Codeword information】业务信道的码字信息

  • NrOfCodewords(1 -> 2):Number of code words for this RNTI (UE)
  • targetCodeRate:编码率,This is the number of information bits per 1024 coded bits expressed in 0.1 bit units
  • qamModOrder(2,4,6,8):QAM modulation
  • mcsIndex0->31:MCS index
  • mcsTable:MCS-Table-PDSCH,1: qam256,2: qam64LowSE
  • rvIndex(0->3):Redundancy version index
  • TBSize:Transmit block size

【其他】

  • dataScramblingId:dataScramblingIdentityPdsch
  • nrOfLayers:
  • transmissionScheme:PDSCH transmission schemes,0: Up to 8 transmission layers

【DMRS】

  • dlDmrsSymbPos:DMRS symbol positions,Bitmap occupying the 14 LSBs
    with:bit 0: first symbol and for each bit 0: no DMRS,1: DMRS
  • dmrsConfigType:DL DMRS config type,0: type 1,1: type 2
  • dlDmrsScramblingId:DL-DMRS-Scrambling-ID
  • SCID:DMRS sequence initialization
  • numDmrsCdmGrpsNoData:Number of DM-RS CDM groups without data
  • dmrsPorts:DMRS ports

【Pdsch Allocation in frequency domain】:

  • resourceAlloc:Resource Allocation Type,0: Type 0,1: Type 1
  • rbBitmap:For resource alloc type 0,This bitmap is in units of VRBs. LSB of byte 0 of the bitmap represents the first RB of the bwp
  • rbStart:For resource allocation type 1.The starting resource block within the BWP for this PDSCH.
  • rbSize(1->275):For resource allocation type 1. The number of resource block within for this PDSCH
  • VRBtoPRBMapping:VRB-to-PRB-mapping,0: non-interleaved,1: interleaved with RB size 2,2: Interleaved with RB size 4

【Resource Allocation in time domain】

  • StartSymbolIndex:Start symbol index of PDSCH mapping from the start of the slot
  • NrOfSymbols:PDSCH duration in symbols
  • PTRS:PT-RS antenna ports,Bitmap occupying the 6 LSBs
    with: bit 0: antenna port 1000,bit 5: antenna port 1005 and for each bit 0: PTRS port not used 1: PTRS port used
  • PTRSTimeDensity:PT-RS time density,0: 1,1: 2, 2: 4
  • PTRSFreqDensity:PT-RS frequency density,0: 2,1: 4
  • PTRSReOffset:PT-RS resource element offset
  • nEpreRatioOfPDSCHToPTRS:PT-RS-to-PDSCH EPRE ratio

【Beamforming】

  • Precoding and Beamforming

【Tx Power info】

  • powerControlOffset:Ratio of PDSCH EPRE to NZP CSI-RSEPRE
  • powerControlOffsetSS:Ratio of SSB/PBCH block EPRE to NZP CSI-RS EPRES

【CBG fields】

  • IsLastCbPresent:Indicates whether last CB is present in the CBG retransmission,0: CBG retransmission does not include last CB,1: CBG retransmission includes last CB,If CBG Re-Tx includes last CB, L1 will add the TB CRC to the last CB in the payload before it is read into the LDPC HW unit
  • isInlineTbCrc:Indicates whether TB CRC is part of data payload or control message
  • dlTbCrc:TB CRC: to be used in the last CB, applicable only if last CB is present

3.4.2.3 CSI-RS PDU

3.4.2.4 SSB PDU

3.4.2.5 Tx Precoding and Beamforming PDU

3.4.3 UL_TTI.request

MAC层调度器对PHY的上行资源的调度请求。

3.4.3.1 PRACH PDU

3.4.3.2 PUSCH PDU

3.4.3.3 PUCCH PDU

3.4.3.4 SRS PDU

3.4.3.5 Rx Beamforming PDU

3.4.4 UL_DCI.request

3.4.5 SLOT errors

(1)PHY对上行DL_TTI.request的应答

  • MSG_INVALID_STATE:PHY处于idle或configured状态,非Running状态。
  • SFN_OUT_OF_SYNC:接收到一个非对齐的SFN/SLOT
  • MSG_BCH_MISSING:在某个sub-framer中期望收到BCH, 但没有收到。
  • MSG_SLOT_ERR:接收到的DL_TTI.request格式不正确

(2)对下行UL_TTI.request的应答

  • MSG_INVALID_STATE
  • MSG_SLOT_ERR:接收到的UL_TTI.request格式不正确

(3)对UL_DCI.request的应答

  • MSG_INVALID_STATE
  • MSG_INVALID_SFN
  • MSG_UL_DCI_ERR:接收到的UL_DCI.request格式不正确

3.4.6 UCI.indication(上行调度请求指示)

UCI.indication:表明是否有调度请求

UL_TTI.request:表明如何进行上行调度

该消息用于指示UE的上行调度请求UCI, UCI的信息来自于如下两个物理信道:

(1)PUCCH:在基站还没有为UE分配上行资源前

(2)PU-SCH:在基站已经为UE分配了上行资源后

UCI.indication消息的格式与接收到的UCI来自于哪个物理信道有关,有四种格式:

  • PUSCH
  • PUCCH Format 0 or 1        => 来自PUCCH信道,格式为0或格式1
  • PUCCH Format 2,3 or 4     => 来自PUCCH信道,格式为2或3或4
  • SR, HARQ and CSI

(1)公共的头信息:

  • SFN
  • Slot
  • NumUCIs:Number of UCIs included in this message

(2)每个UCI的头信息

  • PDUType:0: UCI indication PDU carried on PUSCH, 1: UCI indication PDU carried on PUCCH Format 0 or 1;   2: UCI indication PDU carried on PUCCH Format 2, 3 or 4.
  • PDUSize:PDU数据的长度。

(3)每个UCI的数据结构:上述4种类型,不同类型的内容不相同,如下所示:

3.4.6.1 来自PUSCH信道的UCI PDU

  • pduBitmap:指示可选PDU是否存在, Bit 0: not used, Bit 1: HARQ(随路携带的下行PD-SCH信道的数据应答), Bit 2: CSI(信道状态指示) Part 1, Bit 3: CSI Part 2.
  • Handle:instance handle, 在多PHY的场景中,用于标识PHY
  • RNTI
  • UL_CQI:
  • Timing advance
  • RSSI
  • HARQ information
  • CSI part1 information
  • CSI part2 information

备注:MAC层调度器根据上下传送的CQI, RSSI, CSI等信息, 确定UE的信道质量,并根据信道质量,指示物理层,在下行发送UE数据时,采用何种MCS编码方案。

备注:来自PUSCH信道的UCI PDU,不包括PUCCH的UCI调度请求信息。

3.4.6.2 PUCCH PDU Format 0/1

  • pduBitmap:是否包含SR和HARQI, Bit 0: SR, Bit 1: HARQ
  • Handle
  • RNTI
  • PucchFormat:0: PUCCH Format0, 1: PUCCH Format1
  • UL_CQI:SNR
  • Timing advance
  • RSSI
  • SR information:调度请求数据(详见3.4.9.4)
  • HARQ information:HARQ应答信息(详见3.4.9.4)

3.4.6.3 PUCCH PDU Format 2/3/4

  • pduBitmap:是否包含SR和HARQI, Bit 0: SR, Bit 1: HARQ
  • Handle
  • RNTI
  • PucchFormat:0: PUCCH Format0, 1: PUCCH Format1
  • UL_CQI:SNR
  • Timing advance
  • RSSI
  • SR information:调度请求数据
  • HARQ information:HARQ应答信息
  • CSI part1 information
  • CSI part2 information

3.4.6.4 SR, HARQ and CSI Part 1/ 2 PDUs

上行调度请求的核心信息通过SR承载。

(1)SR PDU for Format 0 or 1)

  • SRindication:表明有上行调度的请求
  • SRconfidenceLevel:信任等级, 0:good,1:bad。

(2)HARQ PDU for Format 0 or 1

  • NumHarq:Number of HARQ bits present in UCI
  • HarqconfidenceLevel:Confidence level of detected HARQ.
    Indicates the likelihood that the decoded output for this PDU are is correct.
  • HarqValue:0 = pass,1 = fail,2 = not present

(3)SR PDU for Format 2, 3 or 4

  • SrBitLen
  • SrPayload:SR的净荷,the Contents of SR

(4)HARQ PDU for Format 2, 3 or 4

  • HarqCrc:Indicates CRC result on HARQ data
  • HarqBitLen:Length of Harq payload in bits
  • HarqPayload:Contents of HARQ

(5)CSI Part1 PDU

  • CsiPart1Crc:Indicates CRC result on CSI Part1 data, 0 = pass,1 = fail
  • CsiPart1BitLen:Length of CSI payload in bits
  • CsiPart1Payload:Contents of CSI. This will be raw data matching CSI payload built by UE

(6)CSI Part2 PDU

  • CsiPart2Crc:Indicates CRC result on CSI Part1 data, 0 = pass,1 = fail
  • CsiPart2BitLen:Length of CSI payload in bits
  • CsiPart2Payload:Contents of CSI. This will be raw data matching CSI payload built by UE

3.4.7 Tx_Data.request

(1)头信息:

  • SFN
  • Slot
  • Number of PDUs

(2)对于每个PDU

  • PDU length:The total length (in bytes) of the PDU description and PDU data, without the padding bytes.
  • PDU index:Used to correlate the MAC PDU with the DL_TTI PDSCH PDU
  • numTLV:The number of TLVs describing the data of the transport block
  • TLVs

(3)TLV

  • tag
  • length
  • value

3.4.7.1 Downlink Data Errors

  • MSG_INVALID_STATE
  • MSG_INVALID_SFN
  • MSG_TX_ERR

3.4.8 Rx_Data.indication

该消息表明,物理层收到了UL-SCH信道的用户数据。

(1)头信息:

  • SFN
  • Slot
  • Number of PDUs

(2)PDU信息

  • Handle:The handle passed to the PHY in an UL_TTI.request PUSCH PDU
  • RNTI
  • HarqID:HARQ process ID
  • PDU Length:接收到的PDU的长度
  • UL_CQI:SNR
  • Timing advance:Timing advance
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FAPI专题-8:5G FAPI接口 - 中文规范-4- P7消息格式 的相关文章

随机推荐

  • javascript数据验证

    校验是否全由数字组成 function isDigit s var patrn 0 9 1 20 if patrn exec s return false return true 校验登录名 只能输入5 20个以字母开头 可带数字 的字串
  • 2021美赛E题

    2021年 问题E 重新优化食物系统 最近的事件向我们表明 我们的全球粮食系统即使在世界的某些地区也是不稳定的 它通常服务于全世界 这些不稳定的部分原因是我们目前的全球气候变化 庞大的国内和国际食品生产商和经销商体系 这个食物系统 使食物的
  • 2022-15-Java 设计模式-抽象工厂模式

    在工厂方法模式中 我们使用一个工厂创建一个产品 一个具体工厂对应一个具体产品 但有时候我们需要一个工厂能够提供多个产品对象 而不是单一的对象 这个时候我们就需要使用抽象工厂模式 在介绍抽象工厂模式前 我们先厘清两个概念 产品等级结构 产品等
  • 【Java书笔记】:《Redis 深度历险:核心原理和应用实践》分布式锁,延时队列,位图,HyperLogLog,布隆过滤器,漏斗限流,GeoHash,Scan,管道,事务,主从,Redis源码

    Redis 深度历险 核心原理和应用实践 目 录 开篇 授人以鱼不若授人以渔 Redis 可以用来做什么 7 由 Redis 面试想到的 7 小册的内容范围 8 Redis 可以做什么 8 基础 万丈高楼平地起 Redis 基础数据结构 1
  • 备战数学建模34-BP神经网络预测2

    目录 一 辛烷值的预测 1 题目分析与原理介绍 2 神经网络建立过程 3 预测结果分析 BP神经网络模型 包含输入层 隐含层和输出层 正向传播过程是通过输入样本到输入层 通过输入层经过各层隐藏层 最后到达输出层 若输出层输出值与期望值的输出
  • STM32学习----通用定时器的应用(输入捕获,测量周期和占空比)

    输入捕获的应用 输入捕获一般是用来测量输入信号的频率 占空比这些信息 输入捕获的原理 捕获的原理 1 信号从某个通道输入 比如通道1 CH1 2 经过滤波和边沿检测后产生两个一模一样的信号TI1FP1和TI1FP2 TI1FP1送给捕获通道
  • 身份证二进制数据解析

    头数据 AA AA AA 96 69 05 08 00 00 90 01 00 04 00 文本信息 256个字节 使用Unicode解码 得到中文信息 姓名 30个字节 性别 2个字节 民族 4个字节 出生日期 16个字节 地址 70个字
  • 数据治理项目工作方式总结

    1 当工作完成后 每天完成对应的计划任务列表分析 图表展示 代码展示等汇总报告 PPT 是简单的方式 word excel也是可以的 这边习惯用word 写一写文档之类的 excel 做工作拆分和总结 PPT 做工作汇报 2 没有的话 可以
  • 入门数据结构,c语言实现循环队列实现(详细篇)。

    目录 一 前言 二 循环队列的概念 三 实现循环队列 1 头文件与特殊函数介绍 2 循环队列的结构体 3 队列的初始化 4 判断队列是否为空 5 队列的进队操作 6 队列的出队操作 7 返回队头 8 返回队列长度 9 放回队列容量大小 10
  • MIB文件解析,常见报错整理

    我用的是这个工具FmMib 需要的可以给我留言 目前网上关于类似的报错整理还是挺少的 可能这个知识点用的也不多 我开始解析mib文件时 小问题还是挺多的 很多书写问题 格式都是自己手动改源文件才可以解析出来 建议在做类似解析的时候可以先学习
  • 基础11:深浅拷贝

    1 浅拷贝 创建一个新对象 这个对象有着原始对象属性值的一份精确拷贝 如果属性是基本类型 拷贝的就是基本类型的值 如果属性是引用类型 拷贝的就是内存地址 所以如果其中一个对象改变了这个地址 就会影响到另一个对象 简单来说 浅拷贝只拷贝了对象
  • java jdbc 优化_调参优化jdbc初始连接时的性能消耗

    背景 mysql connector java JDBC驱动是java开发数据库相关应用重要的组件 绝大多数场景下默认的设置即可以满足需求 但最近有个业务场景 导致了需要重新审视对jdbc的使用 这篇文章用以记录 描述 同事反馈业务在集群扩
  • Java对一维数组倒叙排列

    直接数组元素对换 public class ReversTest public static void main String args int arr 25 4 15 7 8 String strings ramer jelly bean
  • ChatGPT 吹响了第四次产业革命(AI 革命)的号角

    目录 未来 AI 大模型的发展趋势 通用多模态大模型 语言文字是多模态大模型的核心
  • vue.config.js 配置的文件

    vue config js是一个可选的配置文件 用于配置Vue CLI构建的项目 如webpack的配置等 使用vue config js 可以在项目的根目录下创建一个JavaScript文件 并在该文件中进行配置 下面是一些在vue co
  • JAVA-JDK1.8介绍

    Java JDK 1 8 Java Development Kit的第8个主要版本 Java JDK 1 8是Java编程语言的一个重要版本 引入了一些新的功能和改进 同时也修复了几项bug 在本博客中 我将详细介绍Java JDK 1 8
  • ESP8266常见问题汇总——转载自官网

    ESP8266 常见问题 本页面收集esp8266常见问题 概述 本文档主要介绍开发者在ESP8266开发中常见的一些问题 这些问题主要包括以下几大类 基本概念相关 ESP8266 相关 AiCloud 相关 固件编译调试相关 文档资料相关
  • leetcode 376 摆动序列

    动态规划 class Solution public int wiggleMaxLength int nums if nums length 1 return nums length 动态规划 dp i 0 表示当前数字的子序列长度 dp
  • rabbitmq Attempting to connect to: [localhost:5672] SocketExceptio:Socket Closed

    今天使用spring cloud stream for rabbitmq启动项目报错 2019 05 03 13 22 27 350 INFO file 18160 main o s a r c CachingConnectionFacto
  • FAPI专题-8:5G FAPI接口 - 中文规范-4- P7消息格式

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 120645757 目录 第3章 主要的