当前位置: 首页 > news >正文

5G NTN(七) 高层(1)

说明:本专题主要基于3GPP协议38.821

目录

1. Idle态移动性增强

1.1 TA问题

1.1.1 TA的大小

1.1.2 针对NTN LEO的移动TA,场景C2和D2

1.1.3 针对NTN LEO的固定TA,场景C2和D2

1.1.3.1 方法1:当UE位置信息无法获取的时候

1.1.3.2 方法2:当UE位置信息可以获取的时候

1.1.3.3 TA方案推荐

1.1.4 当前协议

1.2 Idle/Inactive UE移动性过程的增强

1.3 邻区

2. 连接态移动性增强

2.1 NTN中切换的挑战

2.1.1 切换信令中的延迟

2.1.2 测量有效性

2.1.3 对切换事件的影响

2.1.4 频繁地切换

2.1.5 动态的邻区集

2.1.6 大量UE的切换

2.1.7 传播延迟差对测量的影响

2.2 NTN中的切换增强

2.2.1 测量配置/报告的增强

2.2.2 有条件的切换

2.2.3 切换配置

2.3 NTN中的切换种类

2.3.1 架构分类

2.3.2 Intra-gNB切换(“整体式gNB”)

2.3.3 Intra-DU切换

2.3.4 Intra-gNB/ Inter-DU切换

2.3.5 Inter-gNB切换

2.3.5.1 Xn切换

2.3.5.2 基于5GC的切换

2.3.6 小结

2.4 当前协议(R18)

2.4.1 NTN的测量配置

2.4.2 UE收到handover过程中的RrcReconfiguration时

2.4.3 Conditional Handover

2.4.4 Rach-Less Handover


对于NTN,有以下两种satellite beam和cell(PCI)的映射方案:

  • 方案a:一个PCI(Cell)对应多个Satellite beam
  • 方案b:一个PCI(Cell)对应一个Satellite beam

一个Satellite beam可以由1个或多个SSB beams构成。NR协议中,一个Cell(PCI)可以有最多4/8/64个SSB beams、取决于band。

和TN类似,每个PCI可以使用1个或多个SSB index,以区分不同SSB beams上的发送。

在NTN中,satellite beams和SSB index之间的映射关系也留给实现。

NTN中支持两类UE:1)支持GNSS,2)不支持GNSS (在R18的协议中,仅支持了GNSS的UE)

卫星星历、时间和UE位置会用于移动性相关的内容。

对于跟踪区域(TA):

  • 对于GEO,当前TA管理不用改变
  • 对于LEO,由于beams会移动、需要研究固定和移动的TA两种方案

1. Idle态移动性增强

1.1 TA问题

1.1.1 TA的大小

对于所有NTN场景中,卫星覆盖的小区面积往往非常大(覆盖几百公里),于是会导致非常大的TA,从而产生以下两个问题:

  • 如果TA太小,会导致在小区边缘移动时,有大量的TAU(Tracking Area Updates)信令
  • 如果TA太大,会导致海量的paging信令负载

相比之下,TAU信令比paging信令更加密集。因此,在实践中,会更倾向于限制TA的范围。

乒乓效应也会产生过多的TAU,这个问题可以通过增加10%~20%的重叠区域以及合理地分配处于小区边缘的UE的TAI列表来解决。

1.1.2 针对NTN LEO的移动TA,场景C2和D2

注意:所有的场景信息可以参考5G NTN(一) 概述和场景

由于卫星的快速运动,导致小区提供的覆盖区域相对于地面上基本静止的UE而言、会快速地改变。于是,UE会出现频繁的TAU,导致UE频繁地向网络发起注册上报TAU信息。这一情况事实上是不可接受的。

如果注册区域包含的地理区域非常大,这一问题会得到减轻,但同时带来paging容量的增加。因此如果使用移动TA方案,需要权衡注册区域的大小与paging容量之间的矛盾。

1.1.3 针对NTN LEO的固定TA,场景C2和D2

1.1.3.1 方法1:当UE位置信息无法获取的时候

为了减少UE频繁地发起TAU过程,设计了一种固定TA的方法。如下图所示,当一个NTN LEO所代表的小区扫过地面时,其广播的TAC(Tracking Area Code)、当其到达下一个地面上固定的TA时会发生改变。

网络对TAC的更新需要依赖星历。UE只负责监听TAI = PLMN ID + TAC,且当其改变时触发TAU。如上图所示,由于地面上的TA是固定的,于是即使卫星1运动到不同的位置,假设原来处于TA1的UE、其在没有运动的情况下依然处于TA1中,不会触发TAU。

这个方法适用于R15的网络过程,且UE不需要知道自己的位置信息。

对于卫星运动中广播的TAC的更新,有两个选项:

  • “硬切”(hard switch)选项:每个cell对每个PLMN只广播一个TAC,在边缘区域直接从原来的TAC切换到新的TAC,这样可能导致边缘区域的一些抖动,使得边缘区域的UE可能经历TAC2 -> TAC1->TAC2的抖动过程。如下图所示

  • “软切”(soft switch)选项:一个小区对一个PLMN可以广播多个TAC,在TA边缘处,cell可以自动添加新的TA,并且去除更早的TA(比如始终保留2个TA)。处于TA边缘处的UE,由于会收到2个TA,因此不会触发TAU。该方案可能会增加paging load,需要在paging load和TA抖动之间作出一个权衡。
1.1.3.2 方法2:当UE位置信息可以获取的时候

一种可能的方法是对全球的地理区域进行划分,每一个区域分配一个固定的TAC。在初始注册时,UE会基于其位置信息产生一个TAC(UE和网络均需要保存这个地理区域和TAC的映射规则)。于是,UE便不再依赖网络对TAC的广播,而能够自己检测是否发生了位置区域更新。

1.1.3.3 TA方案推荐

推荐使用固定TA

1.1.4 当前协议

  • 当前协议在SIB1中配置了一个NTN的TAI list。TAI list的作用很多,比如可以用于前面介绍的“软切”方案,再比如可以用于处理和地区/国家政策有关的问题(例如将一个TAI绑定到一个地区/国家)。其在协议中的位置如下所示

38.331 

SIB1
|-- CellAccessRelatedInfo|-- PLMN-IdentityInfoList|-- trackingAreaList-r17

  • UE收到TAI list之后,在接入的时候上报自己认为最合适的TAI。如下所示:

38.413

LOCATION REPORT
UPLINK NAS TRANSPORT
PATH SWITCH REQUEST
HANDOVER NOTIFY
RRC INACTIVE TRANSITION REPORT
UE CONTEXT MODIFICATION RESPONSE
...
|-- User Location Information|-- NR user location information|-- NR NTN TAI Information

1.2 Idle/Inactive UE移动性过程的增强

对Idle/Inactive UE来说,其移动性过程基本和陆地网络一样,但需要考虑以下问题:

  • 过于频繁的SI更新过程,暂时没有发现这个现象带来真正的问题
  • 在固定TA的方案中,当小区扫过地面的时候,不能因为频繁的TAU导致很重的信令负担。在这个方案中,由于TA在地面上固定了,卫星的运行不会改变UE所处的TA,因而基本和地面基站的TAU差不多。
  • 当小区位于很高的位置时(比如GEO),UE相对过低的发射功率问题。例如UE如果可以识别是GEO,则可以采取一些方法避免发射功率过低的问题。这个问题留给UE实现。

协议

  • 在SIB19中包含卫星星历,UE可以通过星历数据获取卫星的位置,从而判断是否是GEO
SIB19-r17
|-- NTN-Config-r17|-- EphemerisInfo-r17

  • UE通过SIB1来判断当前小区是否为NTN小区

38.331 5.2.2.4.1

  • SIB1zhonNTN中的cellBarred  in

38.331 5.2.2.4.2 

当UE收到SIB1之后

1.3 邻区

LEO卫星的运行轨迹是可预测的,因此其邻区list也是可预测的。NTN的邻区通过系统消息广播。

38.331 SIB19

2. 连接态移动性增强

注:连接态的移动性简称为切换。

2.1 NTN中切换的挑战

2.1.1 切换信令中的延迟

典型的切换信令过程如下

对于下行,服务中断时间(定义在36.881中)可以定义为从源gNB发出RRCReconfiguration开始、到目标gNB收到RRCReconfigurationComplete为止。对于上行,服务中断时间可以定义为从UE收到RRCReconfiguration开始、到目标gNB收到RRCReconfigurationComplete为止。

于是,对于下行,服务中断时间至少包含2个RTT;对于上行,服务中断时间至少包含1.5个RTT。

在GEO中,这个时间分别是1080ms和810ms(见5G NTN(一) 概述和场景中的最大RTT)。在情况最好的LEO中(600公里、再生模型),这个时间也有25ms和19ms。

2.1.2 测量有效性

对于LEO,卫星的运动会影响测量有效性。需要借助星历和/或者UE位置信息。

对于GEO,测量有效性基本和陆地网路一样。

2.1.3 对切换事件的影响

在陆地网络中,常用A3作为切换的测量标准,即邻区RSRP比本小区RSRP好。但这个测量标注对于NTN而言并不适用。如下图所示:处于TN小区边缘和小区中心的用户、其RSRP差别较大;但处于NTN小区边缘和小区中心的用户、其RSRP差别很小。如下图所示:

上述问题对于GEO和LEO都存在,可能需要借助于星历和/或者位置信息以解决。

2.1.4 频繁地切换

非GEO轨道的卫星,相对于地面固定点有一个非常快的速度,这会导致对于地面上静止或者移动的UE频繁和不可避免的切换。

UE在一个小区中能保持连接(不切换)的时间可以用以下公式计算:

下表给出了一些典型场景中的Time to HO

可以看出,在HO的频率的贡献中,UE的速率相对于卫星的速率实际上是可以忽略的。

2.1.5 动态的邻区集

对于非GEO,由于卫星相对地面的UE有一个非常快的速度,导致UE的邻区集也会经常变化。

对于GEO,邻区集不会是一个问题。

2.1.6 大量UE的切换

NTN网络的小区半径很大,因此可能服务大量的UEs。对于非GEO的卫星,由于小区位置的快速变化,可能导致大量UE的切换。

假设UE在小区中均匀分布,于是对于一个小区,当有一定数量的UE切换出去的时候,就会同时有同样数量的UE切换进来,即整个小区的移动性(切出+切入)近似为2倍的切出速率。

下表给出了小区最大UE数(maximum C-RNTI 65519)时平均的UE切换量

2.1.7 传播延迟差对测量的影响

假设UE当前在一个LEO卫星S1的服务中,而另一个LEO卫星S2即将覆盖到这个UE,则UE应该执行对S2这个邻区的测量,然而从UE到卫星S1和UE到卫星S2的传播延迟差可能显著变化。

如果测量gap配置没有考虑传播延迟差,则UE可能会丢失SSB/CSI-RS的测量窗口,以至于无法完成测量。这个问题对于GEO和LEO都存在,并且在LEO中更应该被优先处理。

2.2 NTN中的切换增强

2.2.1 测量配置/报告的增强

  • 有条件地触发测量上报: UE会基于位置触发测量上报,或者基于位置和RSRP/RSRQ的组合来触发测量上报
  • 在测量报告中包含位置信息:UE可以在Measurement Report中携带位置信息,以辅助基站决定什么时候切换
  • 网络补偿不同卫星之间的传播延迟差:网络可能通过系统消息或UE专有的信令、对传播延迟差进行补偿,以避免UE丢失邻区的SSB/CSI-RS的测量窗口

2.2.2 有条件的切换

  • 基于测量触发:这个是传统的方法,需要注意测量门限的配置需要考虑NTN中小区边缘和小区中心之间信号质量的差异比较小
  • 位置(UE和卫星)触发:增加的触发条件、基于UE和卫星的位置。可以独立考虑,也可以和其它触发条件(比如基于测量)联合考虑
  • 基于时间/定时器的触发:该触发条件考虑终端在一个区域的服务时间。可能基于UTC时间,或者基于一个定时器。可以独立考虑,也可以和其它触发条件(比如基于测量)联合考虑
  • 基于TA值的触发:额外的触发条件、基于到目标小区的TA值。可以独立考虑,也可以和其它触发条件联合考虑
  • 基于源小区和目标小区的仰角的触发:额外的触发条件、基于源小区和目标小区的仰角。可以独立考虑,也可以和其它触发条件联合考虑

下表列出每种方案的利弊

2.2.3 切换配置

一些公共的配置可以通过广播(SIB)来实现。以下标准会用来评估是否应该作为广播信令:

  • 是否有足够数量的UE共享相同的值
  • 这些值是否会在足够长的时间内保持不变、从而不需要频繁地修改
  • UE需要多久才能收到用于NTN接入所需的最小信息

2.3 NTN中的切换种类

在NTN种,有以下几种不同类型的切换

  • Intra-satellite hand-over(在同一个卫星的不同小区之间)
  • Inter-satellite hand-over(在不同卫星的不同小区之间)
  • Inter-access hand-over(在陆地小区和卫星之间)

NTN的模式又包含透明和再生(分为gNB在卫星上和部分gNB在卫星上),下表给出了所有NTN切换种类对应的场景(表中所有章节号都是38.821中的章节号)

2.3.1 架构分类

在5G NTN(二) NG-RAN架构中,细分一下,一共介绍了5种NTN架构

  1. Transparent based non-terrestrial access network
  2. Regenerative satellite and split gNB
  3. Regenerative satellite and on-board gNB(s)
  4. Regenerative satellite with Inter-Satellite Links (ISLs), gNB processed payload
  5. gNB processed payload, Relay-like architecture (因讨论得很少,故前面的文章种没有描述,详见38.874)

2.3.2 Intra-gNB切换(“整体式gNB”)

架构1/3/4/5支持这种场景,且信令没有影响

2.3.3 Intra-DU切换

仅架构2支持该场景、且对协议没有影响

2.3.4 Intra-gNB/ Inter-DU切换

这个case主要针对架构2,F1信令可能会受影响。

不考虑一个DU跨越多个卫星的场景。

2.3.5 Inter-gNB切换

2.3.5.1 Xn切换

对于架构1/2,Xn接口位于地面基站之间,因此Xn切换是可行的、且不对协议没有任何影响。

架构3中没有Xn接口,故不支持Xn切换。

对于架构4,Xn切换是可行的。

邻区的概念需要考虑两种情形:

  • 两个邻区都属于NTNs
  • 一个邻区属于TN,另一个邻区属于NTN

Xn接口可以通过星间链路来实现。

注:关于当前的星间链路带宽。如果使用激光通信可以达到10~100Gbps,例如Startlink就已经部署了激光通信的星间链路,带宽可以达到10Gbps以上。如果使用射频毫米波,则可以达到几百Mbps甚至Gbps。

2.3.5.2 基于5GC的切换

类似于地面系统的S1-Based切换或者NG-Based切换。

架构1/2,支持这种切换、且不影响协议。

架构3/4/5会受影响,NG traffic需要通过SRI(Satellite Radio Interface)传输。

2.3.6 小结

下表给出了不同的NTN架构对各种切换类型的支持情况

2.4 当前协议(R18)

2.4.1 NTN的测量配置

38.331 SIB2

如果NTN小区广播了用于测量的SMTC参数,则需要保证UE在源小区的传播延迟和到目标小区的传播延迟一样。这段话对应2.2.1中提到的“网络补偿不同卫星之间的传播延迟差”。

38.331 MeasObjectNR

associatedMeasGapSSB2 associatedMeasGapCSIRS2 :用于NTN部署场景的、分别基于SSB测量和基于CSI-RS测量的、测量gap。

邻区配置以及邻区的极化方向

ReportConfig见后面的"Conditional Handover"。

2.4.2 UE收到handover过程中的RrcReconfiguration时

38.331 5.3.5.5.2

Note1是指当UE收到RRC重配时,UE需要立即执行切换,甚至可能在ACK(HARQ ACK或者RLC AM ACK)RRC重配消息之前。

Note2是指UE有可能会忽略MIB的读取,如果UE已经获得了用于上行同步的信息后,此时UE可以直接发起上行发送(即RRC重配完成)。

2.4.3 Conditional Handover

Conditional handover(CHO)是一个比较大的topic、且不是专门为NTN而设计的,NTN只是借用了这个流程。这里主要讨论和NTN有关的内容。

CHO是指UE在满足一个或多个HO条件时执行的HO。UE在收到CHO配置时会开始评估执行切换的条件,一旦UE执行了切换、将会停止所有执行条件的评估。

CHO的一般原则有:

  1. CHO配置包含由可能多个候选gNB产生的多个候选小区的配置、也包含由源gNB产生的执行条件
  2. 一个执行条件可能包含1或2个触发条件(例如CHO事件A3/A5)。对于一个候选小区,仅支持一个RS类型、至多同时配置2个不同的触发参量(RSRP和RSRQ,或者RSRP和SINR,等等)
  3. 在任何CHO执行条件满足之前,当收到不带CHO配置的HO command、或者LTM cell switch command的MAC CE时,UE会执行HO过程,并忽略任何之前收到的CHO配置
  4. 在执行CHO的时候,从UE开始和目标小区同步起,UE不再监听源小区

CHO的控制面流程

和普通的handover流程相比,CHO有以下明显的不同:

  1. 切换准备阶段,源小区会和多个候选小区执行切换准备的流程
  2. 在切换执行阶段,UE会先向源小区发RRCReconfigurationComplete消息,但此时UE还没有真正执行切换。当UE发现满足CHO条件时,才开始真正执行切换,并且和传统的HO流程一样,UE还是会向目标小区发送RRCReconfigurationComplete消息

以上内容来自38.300 9.2.3.4

使用CHO作为NTN的HO方式,最主要的原因是CHO可以避免NTN中由于高延迟而导致的切换决策滞后。使用了CHO,gNB可以提前将切换条件配置给UE,当UE监测到条件满足时,可以立即执行切换。

在RRC层,CHO通过IE conditionalReconfiguration来实现,在这个IE中,可以配置对应的measId

通过measId绑定用于NTN的切换条件,比如基于时间的(Time Based)或者基于位置的(Location Based)测量配置。当前R18协议中,已经包含了基于位置的ReportConfig事件(Event Dx)和基于时间的ReportConfig事件(Event Tx)

  1. Event D1 (Distance between UE and referenceLocation1 is above threshold1
    and distance between UE and referenceLocation2 is below threshold2)
  2. Event D2 (Distance between UE and the serving cell moving reference
    location is above threshold1 and distance between UE and a moving
    reference location is below threshold2)
  3. CondEvent T1 (Time measured at UE is within a duration from threshold)

具体条件可以查看38.331 5.5.4.15/5.5.4.15a/5.5.4.16

在NG接口和Xn接口上也已经支持了Time Based CHO相关的IE。这个IE是由源小区发给目标小区的,方便目标小区为即将到来的CHO分配必要的资源。

38.413 9.3.1.29 Source NG-RAN Node to Target NG-RAN Node Transparent Container

38.423 9.1.1.1 HANDOVER REQUEST

2.4.4 Rach-Less Handover

RACH-less handover即在切换中不经历RACH msg1/msg2,直接向目标基站发送初始上行包(RrcReconfigurationComplete)的过程。在5G NTN(五) MAC层中已经介绍了RACH-less handover的相关内容,这里主要看一下RRC协议关于RACH-less handover的相关描述。

rach-LessHO这个IE位于reconfigurationWithSync,而reconfigurationWithSync则用于handover的RRCReconfiguration消息中。

rach-LessHO可以和CG(Configured Grant)一起使用,如果配置了CG,则不需要为RACH-less handover配置上行grant

UE自己会按照CG的配置内部选择一个上行grant(用于发送RRCReconfiguration),见38.321 5.33或者博文 5G NTN(五) MAC层中的描述。否则,UE会通过rach-LessHO中配置的ssb-Index,监听目标小区的PDCCH中分配的上行grant(用于发送RRCReconfiguration),见 8.321 5.33或者博文 5G NTN(五) MAC层中的描述。此外,38.213 22.2也说明了为什么需要ssb-Index,如下:

这段话的意思就是说UE需要通过由ssb-Index指示的SSB监听PDCCH的DM-RS,进而解析对应的PDCCH中的上行grant。

RACH-less handover是使用DG(Dynamic grant)还是CG、需要有UE能力指示见38.306

R18中还新增了RACH-less handover在inter-frequency中的UE能力指示,见38.306

相关文章:

5G NTN(七) 高层(1)

说明:本专题主要基于3GPP协议38.821 目录 1. Idle态移动性增强 1.1 TA问题 1.1.1 TA的大小 1.1.2 针对NTN LEO的移动TA,场景C2和D2 1.1.3 针对NTN LEO的固定TA,场景C2和D2 1.1.3.1 方法1:当UE位置信息无法获取的时候 1.1.…...

git:指令集

以下是对这些 Git 新特性和命令的更详细解读和实际用例分析,帮助更好地理解它们的作用及适用场景: 1. git switch 和 git restore 背景: 传统上,git checkout 是一个多功能命令,用于切换分支、检出文件、创建分支等&…...

【Vue学习】Vue 组件实例的生命周期(四个阶段,八个钩子)

一、为什么要理解生命周期? 理解生命周期就像是知道了一部电影的剧情走向,能让你在适当的时机做出反应。Vue 生命周期的钩子让你可以在不同的阶段插入你的逻辑,像是提前准备、后期清理或者在数据更新时做点事情。这种“精确控制”的能力会让你…...

第27周:文献阅读及机器学习

目录 摘要 Abstract 一、文献阅读 发现问题 研究方法 CNN-LSTM DT SVR 创新点 案例分析 数据准备 模型性能 预测模型的实现 仿真实验及分析 二、LSTM 1、基本结构 2、具体步骤 3、举例说明 4、原理理解 总结 摘要 本周阅读文献《Short-term water qua…...

Tailwind CSS 实战:动画效果设计与实现

在现代网页设计中,动画效果就像是一位优秀的舞者,通过流畅的动作为用户带来愉悦的视觉体验。记得在一个产品展示网站项目中,我们通过添加精心设计的动画效果,让用户的平均停留时间提升了 35%。今天,我想和大家分享如何使用 Tailwind CSS 打造优雅的动画效果。 设计理念 设计动…...

在K8S中,Pod请求另一个Pod偶尔出现超时或延迟,如何排查?

在Kubernetes中,当Pod请求另一个Pod时偶尔出现超时或延迟,可能是由于多种原因造成的。以下是一些建立的排查步骤: 1. 检查网络配置和插件: 确认你的kubernetes集群使用了合适的网络插件(如Calico、Flannel等&#xf…...

C# 设计模式(结构型模式):外观模式

C# 设计模式(结构型模式):外观模式 (Facade Pattern) 在复杂系统中,往往会涉及到多个子系统、模块和类。这些子系统的接口和功能可能会让使用者感到困惑和复杂。在这种情况下,我们可以使用外观模式(Facade…...

LLM - 使用 LLaMA-Factory 部署大模型 HTTP 多模态服务 教程 (4)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/144881432 大模型的 HTTP 服务,通过网络接口,提供 AI 模型功能的服务,允许通过发送 HTTP 请求,交互大模型,通常基于云计算架构,无需在本地部署复杂的模型和硬件,…...

MCGS学习记录

软件包 用户窗口 主窗口 元件:工具箱->输入框上面 数据对象 在工作台的实时数据库可以新增数据对象 理解为中间变量,控件改变其值,控件监测其值做出变化 基本属性 设定变量名和初始值 指针化? 变化时自动保存初始值&#x…...

Swift Protocols(协议)、Extensions(扩展)、Error Handling(错误处理)、Generics(泛型)

最近在学习 Swift,总结相关知识 1. Protocols(协议) 1.1 协议的定义和实现 协议(protocol) 是一种定义方法和属性的蓝图,任何类、结构体或枚举都可以遵循协议。遵循协议后,需要实现协议中定义…...

axios和fetch的实现原理以及区别,与XMLHttpRequest的关系,并结合react封装统一请求示例

Axios 和 Fetch 对比及统一请求封装 1. Axios 基础用法 1.1 安装和引入 // 安装 npm install axios// 引入 import axios from axios;1.2 基本请求方法 // GET 请求 axios.get(/api/users).then(response > console.log(response.data)).catch(error > console.error…...

2024年阅读书单

《高效能人士的7个习惯》 史蒂芬.柯维 精进 《高效能人士的7个习惯》在读了一遍之后,记住非常深刻的就是积极主动和以终为始。 《软件架构》 Simon Brown 架构、技术 《软件架构》这本书比较抽象,若是工作时间比较少的人来读,可能觉得作者没写…...

Eclipse 内容辅助

Eclipse的内容辅助(Content Assist)功能是一项核心特性,它通过提供代码提示和自动完成建议来提高开发效率。这个功能能够在用户编写代码时自动显示可能的代码补全选项,如变量名、方法名、类名和关键字等。它还能根据用户的输入和上…...

【数学建模笔记】评价模型-基于熵权法的TOPSIS模型

视频课地址:https://www.bilibili.com/video/BV1eRyVYUEhg 本系列文章和课程一样,只使用Python实现,好久没玩数学建模了 国赛中不能再用TOPSIS,可以做辅助算法。 1. 算法原理 熵权TOPSIS方法是一种结合熵权法和TOPSIS的决策分析…...

小程序发版后,强制更新为最新版本

为什么要强制更新为最新版本? 在小程序的开发和运营过程中,强制用户更新到最新版本是一项重要的策略,能够有效提升用户体验并保障系统的稳定性与安全性。以下是一些主要原因: 1. 功能兼容 新功能或服务通常需要最新版本的支持&…...

数据分析思维(七):分析方法——群组分析方法

数据分析并非只是简单的数据分析工具三板斧——Excel、SQL、Python,更重要的是数据分析思维。没有数据分析思维和业务知识,就算拿到一堆数据,也不知道如何下手。 推荐书本《数据分析思维——分析方法和业务知识》,本文内容就是提取…...

SAP 01-初识AMDP(ABAP-Managed Database Procedure)

1. 什么是AMDP(ABAP-Managed Database Procedure) 1.)AMDP - ABAP管理数据库程序,是一种程序,我们可以使用SQLSCRIPT在AMDP内部编写代码,SQLSCRIPT是一种与SQL脚本相同的数据库语言,这种语言易于理解和编码。 将AM…...

.net core 线程锁,互斥锁,自旋锁,混合锁

线程锁、互斥锁、自旋锁和混合锁是多线程编程中的重要概念,它们用于控制对共享资源的访问,避免数据竞争和不一致性。每种锁有其特定的适用场景和特点。我们来逐一解释它们,并进行比较。 1. 线程锁(Thread Lock) 线程…...

大数据系列之:深入理解学习使用腾讯COS和COS Ranger权限体系解决方案,从hdfs同步数据到cos

大数据系列之:深入理解学习使用腾讯COS和COS Ranger权限体系解决方案,从hdfs同步数据到cos 对象存储COS对象存储基本概念COS Ranger权限体系解决方案部署组件COS Ranger Plugin部署COS-Ranger-Service部署COS Ranger Client部署 COSN 从hdfs同步数据到co…...

Uniapp Android 本地离线打包(详细流程)

一、简介 App 离线 SDK 暂时不支持 Kotlin,未来不清楚。 uniapp 提供了 云打包 与 本地打包 两种方案,云打包 需要排队且还有次数限制,本地打包 则就没有这些限制,而且会 本地打包 对开发 原生插件 有很大的帮助。 细节&#x…...

单片机常用外设开发流程(1)(IMX6ULL为例)

1.通过GPIO引脚控制led灯和key按钮 (1)设置多路复用的引脚(SW_MUX_CTL)也可以说是选择让引脚以哪种工作模式工作 (2)设置电器属性(SW_PAD_CTL)上拉、等等... (3)设置GPIO的方向&am…...

机器学习 学习知识点

机器学习 学习知识点 什么是消融实验(Ablation experiment)?num_step与batch_size的区别python glob.glob()函数认识python的条件判断之is not、is not None、is Nonetqdm介绍及常用方法softmax 激活函数。type_as(tesnor)Python OpenCV cv2.…...

深入了解PINN:物理信息神经网络(Physics-Informed Neural Networks)

1. 什么是PINN(物理信息神经网络)? 物理信息神经网络(PINN,Physics-Informed Neural Networks)是一类通过结合神经网络和物理方程的深度学习方法。其主要特点是将物理系统的约束条件(如偏微分方…...

人工智能知识分享第八天-机器学习_泰坦尼克生存预估线性回归和决策树回归对比案例

泰坦尼克生存预估案例 import pandas as pd from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import classification_report import matplotlib.pyplot as plt from sklearn.tree import plot_t…...

封装/前线修饰符/Idea项目结构/package/impore

目录 1. 封装的情景引入 2. 封装的体现 3. 权限修饰符 4. Idea 项目结构 5. package 关键字 6. import 关键字 7. 练习 程序设计:高内聚,低耦合; 高内聚:将类的内部操作“隐藏”起来,不需要外界干涉&#xff1b…...

python中的装饰器

装饰器(Decorator)是 Python 中的一种语法糖,它允许你修改或增强函数或类的行为。下面详细解释: 基本概念 装饰器本质上是一个函数,它接受一个函数作为参数,并返回一个新的函数: def my_decor…...

HTMLElement、customElements及元素拓展

文章目录 HTMLElement 与 customElementscustomElements.define() 方法说明HTML 元素方法拓展 HTMLElement 与 customElements HTMLElement 概述 HTMLElement是一个接口&#xff0c;它表示所有HTML元素。几乎所有的HTML标签&#xff08;如<div>、<p>、<a>等…...

字玩FontPlayer开发笔记3 性能优化 大量canvas渲染卡顿问题

字玩FontPlayer开发笔记3 性能优化 大量canvas渲染卡顿问题 字玩FontPlayer是笔者开源的一款字体设计工具&#xff0c;使用Vue3 ElementUI开发&#xff0c;源代码&#xff1a; github: https://github.com/HiToysMaker/fontplayer gitee: https://gitee.com/toysmaker/fontpl…...

PyTorch 中 coalesce() 函数详解与应用示例

PyTorch 中 coalesce() 函数详解与应用示例 coalesce&#xff1a; 美 [ˌkoʊəˈlɛs] 合并&#xff1b;凝聚&#xff1b;联结&#xff0c;注意发音 引言 在 PyTorch 中&#xff0c;稀疏张量&#xff08;Sparse Tensor&#xff09;是一种高效存储和操作稀疏数据的方式。稀疏…...

计算机网络(第8版)第3章课后习题--透明传输

【3-11】 试分别讨论以下各种情况在什么条件下是透明传输&#xff0c;在什么条件下不是透明传 输。(提示&#xff1a;请弄清什么是“透明传输”,然后考虑能否满足其条件。) (1)普通的电话通信。 (2)互联网提供的电子邮件服务。 解 答 &#xff1a; 透明传输是指在数据传输…...

JavaScript 日期格式

在 JavaScript 中,日期格式可以通过 Date 对象进行操作和格式化。下面是一些常见的 JavaScript 日期格式及其示例: 1. ISO 8601 格式 ISO 8601 是一种标准的日期和时间表示方法,格式为 YYYY-MM-DDTHH:mm:ss.sssZ,例如: let date = new Date(); console.log(date.toISOS…...

云打印之拼多多打印组件交互协议

拼多多打印组件交互协议相关介绍如下&#xff1a; 1、打印组件下载地址 http://meta.pinduoduo.com/api/one/app/v1/lateststable?appIdcom.xunmeng.pddprint&platformwindows&subTypemain 2、socket连接端口 如果是http的话&#xff0c;端口是5000 socket new …...

Oracle数据库如何找到 Top Hard Parsing SQL 语句?

有一个数据库应用程序存在过多的解析问题&#xff0c;因此需要找到产生大量硬解析的主要语句。 什么是硬解析 Oracle数据库中的硬解析&#xff08;Hard Parse&#xff09;是指在执行SQL语句时&#xff0c;数据库需要重新解析该SQL语句&#xff0c;并创建新的执行计划的过程。这…...

浅谈棋牌游戏开发流程二:后端技术选型与基础环境搭建

一、前言&#xff1a;客户端只是台前&#xff0c;后端才是幕后“指挥中心” 在上一篇“客户端技术”中&#xff0c;我们聊到玩家看到的一切动作、动画、界面逻辑&#xff0c;都靠客户端去渲染和交互。但若没有后端的支撑&#xff0c;玩家点了“出牌”可能就像一拳打在空气里—…...

使用qiankun搭建微前端应用及踩坑

线上演示地址&#xff1a;React App 源码地址&#xff1a;https://github.com/Jiang-K-J/micro-app?tabreadme-ov-file &#xff08;帮忙点个小星星&#xff09; 主应用&#xff1a;react 18 子应用&#xff1a;vite vue3 子应用&#xff1a;react 18 安装 主应用 $ y…...

Windows 环境配置 HTTPS 服务实战

一、 环境准备 win10以上操作系统安装 Certbot申请阿里云\腾讯云域名安装 nginx 1.3以上版本 二、Certbot 安装及 SSL 证书生成 Certbot 是一个免费、开源工具&#xff0c;用于自动化在Web服务器上获取和更新SSL/TLS证书。它可以通过Let’s Encrypt服务获取免费的SSL/TLS证书…...

小程序租赁系统开发的优势与应用前景分析

内容概要 小程序租赁系统是一种新兴的数字化解决方案&#xff0c;旨在为用户提供更加便捷与高效的租赁服务。它通常包括一系列功能&#xff0c;如在线浏览、即时预定、支付功能以及用户反馈机制。这些系统在使用上极为友好&#xff0c;让用户能够轻松选择所需的商品或服务&…...

Redis(基础篇 + 实践篇 )

01 | 基本架构&#xff1a;一个键值数据库包含什么&#xff1f; Redis 作为一个内存数据存储系统&#xff0c;它的架构设计非常简洁&#xff0c;但功能非常强大。理解其核心架构对高效使用 Redis 至关重要。 客户端与服务器架构&#xff1a; 客户端通过 TCP 协议连接到 Redis …...

单片机-独立按键矩阵按键实验

1、按键介绍 按键管脚两端距离长的表示默认是导通状态&#xff0c;距离短的默认是断开状态&#xff0c; 如果按键按下&#xff0c;初始导通状态变为断开&#xff0c;初始断开状态变为导通 我们开发板是采用软件消抖&#xff0c;一般来说一个简单的按键消抖就是先读取按键的状…...

我用AI学Android Jetpack Compose之入门篇(1)

这篇我们先来跑通第一个Android Jetpack Compose工程&#xff0c;现在新版本的Android Studio&#xff0c;新建工程选择Empty Activity默认就会开启Jetpack Compose的支持&#xff0c;再次声明&#xff0c;答案来自 通义千问Ai 文章目录 1.用Android Jetpack Compose需要安装什…...

简单的生产数据库重连策略优化

简单的druid生产数据库重连策略优化 1. 需求 我们生产环境有一次在大量请求拥堵后&#xff0c;好多数据库操作都超时了&#xff0c;在此之后数据库的连接池不能正常的获取数据库连接了&#xff0c;我们确认了数据库服务是没有问题的&#xff0c;那么就是连接池的配置有问题&a…...

STM32-笔记37-吸烟室管控系统项目

一、项目需求 1. 使用 mq-2 获取环境烟雾值&#xff0c;并显示在 LCD1602 上&#xff1b; 2. 按键修改阈值&#xff0c;并显示在 LCD1602 上&#xff1b; 3. 烟雾值超过阈值时&#xff0c;蜂鸣器长响&#xff0c;风扇打开&#xff1b;烟雾值小于阈值时&#xff0c;蜂鸣器不响…...

2025-01-04 Unity插件 YodaSheet1 —— 插件介绍

文章目录 1 介绍2 工作原理2.1 ScriptableObject -> YadeSheetData2.2 YadeDatabase 存储多个 YadeSheetData 3 用途4 缺点5 推荐 1 介绍 ​ Yade 提供类似于 Excel 或者 Google Sheets 的表格编辑器&#xff0c;可以轻松地在 Unity 编辑器中 编辑&#xff0c;搜索&#xf…...

电子电气架构 --- 安全相关内容汇总

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源,以现象替代逻辑,以情绪代替思考,把消极接受现实的懦弱,伪装成乐观面对不幸的…...

科研绘图系列:R语言单细胞数据常见的可视化图形

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包数据下载导入数据数据预处理图1图2图3图4图5图6系统信息参考介绍 单细胞数据常见的可视化图形 因为本教程是单细胞数据,因此运行本画图脚本需要电脑的内存最少32Gb 加载…...

【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 2:基础知识

目录 1 预热1.1 记号1.2 分类器计算过载问题 2 多头编码&#xff08;MHE&#xff09;2.1 标签分解2.2 多头组合&#xff08;Multi-Head Combination&#xff09; 论文&#xff1a;Multi-Head Encoding for Extreme Label Classification 作者&#xff1a;Daojun Liang, Haixia …...

Flink使用

Window下启动支持 下载或复制老版本的放在bin目录下即可&#xff1b; flink.bat echo off setlocalSET bin%~dp0 SET FLINK_HOME%bin%.. SET FLINK_LIB_DIR%FLINK_HOME%\lib SET FLINK_PLUGINS_DIR%FLINK_HOME%\pluginsSET JVM_ARGS-Xmx512mSET FLINK_JM_CLASSPATH%FLINK_LI…...

一种可复用的AI提效方案:AI点灯

在当今飞速发展的时代&#xff0c;AI技术正不断渗透到我们生活的各个层面&#xff0c;深刻改变着传统的工作方式和生活模式。面对这一重大变革&#xff0c;我们不能被动观望或抗拒&#xff0c;而应积极拥抱AI&#xff0c;将其作为成长的助力。只有与AI协同发展&#xff0c;才能…...

Django 模型

Django 模型 Django 模型是 Django 框架的核心组件之一,它用于定义应用程序的数据结构。在 Django 中,模型是 Python 类,通常继承自 django.db.models.Model。每个模型类代表数据库中的一个表,模型类的属性对应表中的字段。 1. 创建模型 创建 Django 模型非常简单。首先…...

【MySQL 探索者日志 】第二弹 —— 数据库基础

MySQL系列学习笔记&#xff1a; MySQL探索者日志__Zwy的博客-CSDN博客 各位于晏&#xff0c;亦菲们&#xff0c;请点赞关注&#xff01; 我的个人主页&#xff1a; _Zwy-CSDN博客 目录 1、MySQL服务器&#xff0c;数据库&#xff0c;表关系 2、MySQL登录连接服务器 3、MyS…...