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架构
- Transparent based non-terrestrial access network
- Regenerative satellite and split gNB
- Regenerative satellite and on-board gNB(s)
- Regenerative satellite with Inter-Satellite Links (ISLs), gNB processed payload
- 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的一般原则有:
- CHO配置包含由可能多个候选gNB产生的多个候选小区的配置、也包含由源gNB产生的执行条件
- 一个执行条件可能包含1或2个触发条件(例如CHO事件A3/A5)。对于一个候选小区,仅支持一个RS类型、至多同时配置2个不同的触发参量(RSRP和RSRQ,或者RSRP和SINR,等等)
- 在任何CHO执行条件满足之前,当收到不带CHO配置的HO command、或者LTM cell switch command的MAC CE时,UE会执行HO过程,并忽略任何之前收到的CHO配置
- 在执行CHO的时候,从UE开始和目标小区同步起,UE不再监听源小区
CHO的控制面流程
和普通的handover流程相比,CHO有以下明显的不同:
- 切换准备阶段,源小区会和多个候选小区执行切换准备的流程
- 在切换执行阶段,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)
- Event D1 (Distance between UE and referenceLocation1 is above threshold1
and distance between UE and referenceLocation2 is below threshold2) - 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) - 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等…...
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. 练习 程序设计:高内聚,低耦合; 高内聚:将类的内部操作“隐藏”起来,不需要外界干涉;…...
python中的装饰器
装饰器(Decorator)是 Python 中的一种语法糖,它允许你修改或增强函数或类的行为。下面详细解释: 基本概念 装饰器本质上是一个函数,它接受一个函数作为参数,并返回一个新的函数: def my_decor…...
HTMLElement、customElements及元素拓展
文章目录 HTMLElement 与 customElementscustomElements.define() 方法说明HTML 元素方法拓展 HTMLElement 与 customElements HTMLElement 概述 HTMLElement是一个接口,它表示所有HTML元素。几乎所有的HTML标签(如<div>、<p>、<a>等…...
字玩FontPlayer开发笔记3 性能优化 大量canvas渲染卡顿问题
字玩FontPlayer开发笔记3 性能优化 大量canvas渲染卡顿问题 字玩FontPlayer是笔者开源的一款字体设计工具,使用Vue3 ElementUI开发,源代码: github: https://github.com/HiToysMaker/fontplayer gitee: https://gitee.com/toysmaker/fontpl…...
PyTorch 中 coalesce() 函数详解与应用示例
PyTorch 中 coalesce() 函数详解与应用示例 coalesce: 美 [ˌkoʊəˈlɛs] 合并;凝聚;联结,注意发音 引言 在 PyTorch 中,稀疏张量(Sparse Tensor)是一种高效存储和操作稀疏数据的方式。稀疏…...
计算机网络(第8版)第3章课后习题--透明传输
【3-11】 试分别讨论以下各种情况在什么条件下是透明传输,在什么条件下不是透明传 输。(提示:请弄清什么是“透明传输”,然后考虑能否满足其条件。) (1)普通的电话通信。 (2)互联网提供的电子邮件服务。 解 答 : 透明传输是指在数据传输…...
JavaScript 日期格式
在 JavaScript 中,日期格式可以通过 Date 对象进行操作和格式化。下面是一些常见的 JavaScript 日期格式及其示例: 1. ISO 8601 格式 ISO 8601 是一种标准的日期和时间表示方法,格式为 YYYY-MM-DDTHH:mm:ss.sssZ,例如: let date = new Date(); console.log(date.toISOS…...
云打印之拼多多打印组件交互协议
拼多多打印组件交互协议相关介绍如下: 1、打印组件下载地址 http://meta.pinduoduo.com/api/one/app/v1/lateststable?appIdcom.xunmeng.pddprint&platformwindows&subTypemain 2、socket连接端口 如果是http的话,端口是5000 socket new …...
Oracle数据库如何找到 Top Hard Parsing SQL 语句?
有一个数据库应用程序存在过多的解析问题,因此需要找到产生大量硬解析的主要语句。 什么是硬解析 Oracle数据库中的硬解析(Hard Parse)是指在执行SQL语句时,数据库需要重新解析该SQL语句,并创建新的执行计划的过程。这…...
浅谈棋牌游戏开发流程二:后端技术选型与基础环境搭建
一、前言:客户端只是台前,后端才是幕后“指挥中心” 在上一篇“客户端技术”中,我们聊到玩家看到的一切动作、动画、界面逻辑,都靠客户端去渲染和交互。但若没有后端的支撑,玩家点了“出牌”可能就像一拳打在空气里—…...
使用qiankun搭建微前端应用及踩坑
线上演示地址:React App 源码地址:https://github.com/Jiang-K-J/micro-app?tabreadme-ov-file (帮忙点个小星星) 主应用:react 18 子应用:vite vue3 子应用:react 18 安装 主应用 $ y…...
Windows 环境配置 HTTPS 服务实战
一、 环境准备 win10以上操作系统安装 Certbot申请阿里云\腾讯云域名安装 nginx 1.3以上版本 二、Certbot 安装及 SSL 证书生成 Certbot 是一个免费、开源工具,用于自动化在Web服务器上获取和更新SSL/TLS证书。它可以通过Let’s Encrypt服务获取免费的SSL/TLS证书…...
小程序租赁系统开发的优势与应用前景分析
内容概要 小程序租赁系统是一种新兴的数字化解决方案,旨在为用户提供更加便捷与高效的租赁服务。它通常包括一系列功能,如在线浏览、即时预定、支付功能以及用户反馈机制。这些系统在使用上极为友好,让用户能够轻松选择所需的商品或服务&…...
Redis(基础篇 + 实践篇 )
01 | 基本架构:一个键值数据库包含什么? Redis 作为一个内存数据存储系统,它的架构设计非常简洁,但功能非常强大。理解其核心架构对高效使用 Redis 至关重要。 客户端与服务器架构: 客户端通过 TCP 协议连接到 Redis …...
单片机-独立按键矩阵按键实验
1、按键介绍 按键管脚两端距离长的表示默认是导通状态,距离短的默认是断开状态, 如果按键按下,初始导通状态变为断开,初始断开状态变为导通 我们开发板是采用软件消抖,一般来说一个简单的按键消抖就是先读取按键的状…...
我用AI学Android Jetpack Compose之入门篇(1)
这篇我们先来跑通第一个Android Jetpack Compose工程,现在新版本的Android Studio,新建工程选择Empty Activity默认就会开启Jetpack Compose的支持,再次声明,答案来自 通义千问Ai 文章目录 1.用Android Jetpack Compose需要安装什…...
简单的生产数据库重连策略优化
简单的druid生产数据库重连策略优化 1. 需求 我们生产环境有一次在大量请求拥堵后,好多数据库操作都超时了,在此之后数据库的连接池不能正常的获取数据库连接了,我们确认了数据库服务是没有问题的,那么就是连接池的配置有问题&a…...
STM32-笔记37-吸烟室管控系统项目
一、项目需求 1. 使用 mq-2 获取环境烟雾值,并显示在 LCD1602 上; 2. 按键修改阈值,并显示在 LCD1602 上; 3. 烟雾值超过阈值时,蜂鸣器长响,风扇打开;烟雾值小于阈值时,蜂鸣器不响…...
2025-01-04 Unity插件 YodaSheet1 —— 插件介绍
文章目录 1 介绍2 工作原理2.1 ScriptableObject -> YadeSheetData2.2 YadeDatabase 存储多个 YadeSheetData 3 用途4 缺点5 推荐 1 介绍 Yade 提供类似于 Excel 或者 Google Sheets 的表格编辑器,可以轻松地在 Unity 编辑器中 编辑,搜索…...
电子电气架构 --- 安全相关内容汇总
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源,以现象替代逻辑,以情绪代替思考,把消极接受现实的懦弱,伪装成乐观面对不幸的…...
科研绘图系列:R语言单细胞数据常见的可视化图形
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包数据下载导入数据数据预处理图1图2图3图4图5图6系统信息参考介绍 单细胞数据常见的可视化图形 因为本教程是单细胞数据,因此运行本画图脚本需要电脑的内存最少32Gb 加载…...
【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 2:基础知识
目录 1 预热1.1 记号1.2 分类器计算过载问题 2 多头编码(MHE)2.1 标签分解2.2 多头组合(Multi-Head Combination) 论文:Multi-Head Encoding for Extreme Label Classification 作者:Daojun Liang, Haixia …...
Flink使用
Window下启动支持 下载或复制老版本的放在bin目录下即可; 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点灯
在当今飞速发展的时代,AI技术正不断渗透到我们生活的各个层面,深刻改变着传统的工作方式和生活模式。面对这一重大变革,我们不能被动观望或抗拒,而应积极拥抱AI,将其作为成长的助力。只有与AI协同发展,才能…...
Django 模型
Django 模型 Django 模型是 Django 框架的核心组件之一,它用于定义应用程序的数据结构。在 Django 中,模型是 Python 类,通常继承自 django.db.models.Model。每个模型类代表数据库中的一个表,模型类的属性对应表中的字段。 1. 创建模型 创建 Django 模型非常简单。首先…...
【MySQL 探索者日志 】第二弹 —— 数据库基础
MySQL系列学习笔记: MySQL探索者日志__Zwy的博客-CSDN博客 各位于晏,亦菲们,请点赞关注! 我的个人主页: _Zwy-CSDN博客 目录 1、MySQL服务器,数据库,表关系 2、MySQL登录连接服务器 3、MyS…...