NI 5G大规模MIMO测试台:将理论变为现实

news2024/11/14 3:56:13

目录

  • 概览
  • 引言
  • MIMO原型验证系统
  • MIMO原型验证系统硬件
  • LabVIEW通信系统设计套件(简称LabVIEW Communications)
    • CPU开发代码
    • FPGA代码开发
    • 硬件和软件紧密集成
  • LabVIEW Communications MIMO应用框架
    • MIMO应用框架特性
    • 单用户MIMO和多用户MIMO
    • 基站和移动站天线数量可扩展
    • MIMO预编码和均衡
    • 信道互易性校准
    • 基于LTE的20 MHz带宽TDD帧结构
    • 自动增益控制与开环功率控制
    • 附加功能和示例屏幕截图

概览

大规模MIMO是5G无线研究中一个令人兴奋的领域。大规模MIMO可为新一代无线数据网络带来许多明显的优势,比如能够在更高的数据速率下容纳更多的用户,并提供更高的可靠性和更低的能耗。借助NI大规模MIMO软件架构,研究人员可以使用屡获殊荣的LabVIEW系统设计软件和先进的NI USRP软件无线电设备(SDR)来构建大规模MIMO测试台,从而快速对大规模天线系统进行原型验证。通过简化的FPGA逻辑创建设计流程和高性能处理的简化部署,该领域的研究人员能够使用统一的软硬件设计流程来满足对这些高度复杂的系统进行原型验证的需求。

引言

随着5G角逐的展开,无线研究界已经踏上了创造未来技术的旅程,这些技术将在网络吞吐量和容量方面做出前所未有的改进,并实现频谱效率提升、端到端延迟缩短、可靠性增强等诸多优化。这些改进由国际电信联盟(ITU)定义的关键性能要求推动,下面的图1 [1]汇总了各方面的改进。如图所示,相对于IMT-Advanced,IMT-2020 (5G)的性能显著提升,峰值数据速率提高了20倍,即从1 Gb/s提高到20 Gb/s。同样,用户获得数据的速率提升了10倍,即从10 Mb/s提升到100 Mb/s,而延迟降低了10倍,即从10 ms降低到1 ms。

图1.从IMT-Advanced到IMT-2020的关键性能要求增强情况[1]

凭借比现代无线通信系统高出数倍的数据速率,5G将推出一系列全新应用和服务,为消费者提供前所未有的多媒体体验,包括超高清4K、8K和3D视频流。超低延迟和超高可靠性的5G网络还将支持新的任务关键型应用,例如交通安全以及关键基础设施和工业流程控制,与现代移动通信系统相比,这些应用需要低得多的延迟。为了应对消费电子产品以及与物联网(IoT)相关的许多传感器、渲染设备和执行器的预期爆炸式增长,将频谱效率从1X提高到3X也至关重要。鉴于频谱的有限可用性以及预计将有大量物联网设备上线,5G网络必须比当今的无线网络更有效地利用频谱。

大规模MIMO被视为实现更高频谱效率的关键候选技术[2]、[3]、[4]。大规模MIMO是多用户MIMO的一种形式,其中基站的天线数量远远大于每个信令资源的移动站数量。 相对于移动站的数量而言,大量基站天线会产生准正交信道响应,并有可能大幅提高频谱效率。与现代4G系统相比,这样的条件将能够在特定小区用相同的频率和时间资源服务于更多设备。下面的图2显示了典型4G MIMO小区与配备更多基站天线的5G大规模MIMO小区的对比情况[5]。配备更多天线的5G大规模MIMO基站将能够为5G物联网等使用场景所设想的更多设备提供服务。

图2.从4G MIMO到5G大规模MIMO的多天线技术演进[5]
尽管理论上前景广阔,但大规模MIMO尚未在大规模现场试验中进行测试,其在广泛商业部署中的可行性尚待证明。虽说如此,布里斯托大学和隆德大学最近的研究已经取得了进展,结果显示在实时空口试验中可以实现频谱效率的巨大提升[6]、[7]。借助下面图3中所示的MIMO原型验证系统,布里斯托大学和隆德大学的研究人员使用配备128根天线的基站和22个单天线移动站,在20 MHz无线电信道上取得了突破性的频谱效率(即145.6位/s/Hz),此频率相当于当今现有4G网络频谱效率的22倍。

图3.布里斯托大学和隆德大学使用MIMO原型验证系统进行大规模MIMO研究和原型验证。
尽管这两所大学的研究成果证明了大规模MIMO不仅在基于计算机的仿真中,而且在真实空口试验中确实可以实现频谱效率的巨大提升,从而使大规模MIMO更接近现实,但在推出商用大规模MIMO网络之前,仍有很多工作要做,还有很多问题需要解决。一些尚待解决的突出问题包括:

  • 移动性 - 随着移动终端高速移动,大规模MIMO能否在快速变化的信道条件下工作?
  • 频分双工(FDD) - 当今的大规模MIMO研究大多利用时分双工(TDD)传输模式和信道互易性来克服基站天线数量巨大时与导频序列数量限制相关的问题。然而,当今的许多全球蜂窝频段都严格分配给FDD。因此,大规模MIMO是否会得到广泛采用还有待观察。
  • 多小区操作和小区边缘性能 - 当用户位于相邻小区边缘时,大规模MIMO是否仍然有效?由于有限的导频序列在相邻的大规模MIMO基站中重复使用,小区边缘用户将面临污染相邻小区导频的风险。随着用户靠近相邻小区的边缘,大规模MIMO的性能仍然未知。
  • 其他开放研究领域 - 除了上面列出的研究问题之外,还有更多的问题,包括:
    • 分布式大规模MIMO
    • CSI反馈优化
    • 混合波束成形
    • MAC层控制

MIMO原型验证系统

如上所述,对于实现5G愿景和满足频谱效率的关键性能要求,对大规模MIMO和其他技术进行原型验证的需求至关重要。 由于基于计算机的仿真无法单独应对许多复杂的未决问题,而正是这些问题阻碍了大规模MIMO成为商业上可行的技术,因此必须创建能在真实信道条件下实时运行并发送/接收真实RF信号的原型系统。 例如,为了充分了解大规模MIMO信道的传播特性,研究人员还必须了解RF电路缺陷和多信道系统的其他硬件限制对基带信号同步和相干性的影响。 此外,还必须充分理解和考虑从PHY到应用程序的通信系统所有层的实时处理限制,以确保向用户提供无缝、高质量和高度可靠的服务。

尽管必要,但以传统方式对实时无线通信系统进行原型验证提出了许多挑战,这些挑战在很大程度上限制了概念证明(PoC)的开发速度。将在桌面仿真中建模的概念转化为以超过1 Gb/s的速率处理数据的工作原型,传统上需要在RF和基带硬件开发、驱动程序开发、实时嵌入式软件编程、数字电路设计、信号处理等方面拥有专业知识的大型工程团队。由于创建此类系统所需的工具跨越许多不同的供应商,因此问题进一步复杂化,工程团队不仅需要在开发硬件或软件方面拥有高度专业化的技能,而且在使用给定供应商的工具方面也需要拥有高度专业化的技能。

鉴于这些挑战,NI面向多用户MIMO研究(包括大规模MIMO)推出了完整的原型验证解决方案。 NI MIMO原型验证系统包含了构建实时空口多用户MIMO系统所需的一切,开箱即用,且无需开发任何额外代码[6]。下面的图4显示了MIMO原型验证系统的三个主要组成部分,包括(1)先进的SDR硬件,(2)单一的统一软件设计环境,以及(3)实时FPGA IP(作为MIMO软件参考设计的一部分)。 与传统的原型验证方法相比,MIMO原型验证系统的这三个组成部分显著降低了对实时无线通信系统进行原型验证的难度,从而加速新一代通信系统的开发。

图4.MIMO原型验证系统是一个完整的多用户MIMO原型验证解决方案,包括硬件、软件和IP。

MIMO原型验证系统硬件

MIMO原型验证系统包括实现多用户MIMO通信系统所需的所有硬件。从远程射频头(RRH)到CPU和FGPA,创建一个完全流式传输、实时、相位相干和时间同步的多通道系统所需的所有硬件都是开箱即用的。通过消除用户开发自己的硬件和驱动程序的需要,MIMO原型验证系统还为用户提供了巨大的价值,因为它还消除了昂贵的研发费用以及由于硬件设计错误而导致的同样代价高昂的进度延误。凭借可满足广泛规格的多种MIMO系统的可靠硬件,用户可以专注于开发自定义应用程序代码,以展示其技术的可行性和价值。

MIMO原型验证系统支持基于USRP RIO的模块化架构,该架构可在RF信道中进行扩展,以实现单用户MIMO (SU-MIMO)、多用户MIMO (MU-MIMO)和大规模MIMO[8]。基站天线的数量可以配置为支持少至2根或多至128根天线。通过一个高度稳定的OCXO时钟源实现跨RF通道的相位相干和同步,该时钟源与高速数字触发信号一起发布到整个系统的各个无线电头。 移动站也是系统随附的一部分,并且可以将天线数量从1根扩展到12根。 基站和移动站硬件的照片如下面的图5所示。

该硬件还支持模块化FPGA架构,这种架构可在FPGA中扩展,以便为需要高通道数和宽带宽的实时应用程序的高强度信号处理任务提供更高的计算能力。 多达64个双通道USRP RIO设备用作配备高性能Xilinx Kintex-7 FPGA的无线电头,用于执行OFDM调制和解调。 IQ样本通过低延迟PCI Express连接从无线电头以高速路由通过系统,然后传输到PXIe-7976 PXI FPGA模块(也配备了Kintex-7 FPGA)以进行集中式MIMO处理。

搭载Intel i7四核CPU的PXIe-8135控制器执行与控制相关的主机端处理任务,包括天线数量配置以及整个系统中IQ样本的相关路由。无线电帧的上行/下行流量调度以及每个移动站的QAM调制阶数也可以通过软件配置。其他任务(例如包括上行接收信号频谱和每根天线的信道估算在内的数据可视化)也在主机上执行,这是一种监控系统状态的方式。

图5.MIMO原型验证系统:128天线基站(左、右下)和移动站(右上)

LabVIEW通信系统设计套件(简称LabVIEW Communications)

LabVIEW Communications是一个完整的软件设计环境,它统一了需要在微处理器和FPGA终端(例如多用户MIMO和其他通信系统)上进行高速、低延迟、实时、嵌入式处理的应用程序的开发。这种由嵌入式处理器和FPGA组成的异构处理架构在SDR硬件架构中很常见,如下面的图6所示。过去,应用程序需要使用来自多个不同软件供应商的多种编程工具来执行对不同硬件终端的等效开发,而LabVIEW Communications则不同,它可以在单一的开发环境中提供开发完全流式传输、实时、空口无线通信系统所需的所有必要设计功能。LabVIEW Communications将基于PC的通信系统仿真模型所需的各种软件开发工具无缝集成到功能齐全的实时原型中,应用程序可执行文件分布在不同的硬件终端上,从而极大地改进了整个开发过程。

无论是在嵌入式处理器上开发控制网络用户传输调度的实时MAC层协议,还是在FPGA上开发高吞吐量MIMO PHY层,LabVIEW Communications都可在单一设计环境中提供实现目标的所有必要工具。此外,由于MIMO原型验证系统的所有硬件驱动程序也可以通过简单直观的API在LabVIEW Communications中访问,因此硬件相关任务(例如CPU和FPGA之间的数据传输,或RF前端控制)可以无缝集成到整个通信堆栈的各个层的执行中。

图6.一种典型的SDR硬件架构,包含可在LabVIEW Communications中编程的CPU和FPGA处理终端。
下面总结了LabVIEW Communications中的一些软件开发功能。

CPU开发代码

LabVIEW Communications包括为实时无线通信系统创建基于CPU的应用程序的软件开发工具。LabVIEW Communications采用基于Linux的实时操作系统,包括用于多线程和实时线程调度的内置构造等功能,可帮助用户高效编写稳健的确定性代码,以确保时间关键型操作始终如一、可靠地执行,而不会对与MAC和通信堆栈的其他更高层相关的功能造成任何数据损失。基于代码重用的重要性,LabVIEW Communications还支持其他编程语言(包括C和C++),以便用户可以导入和重用现有IP。

FPGA代码开发

基于FPGA的应用程序需要在电路级进行严格的时序确定(例如计算密集型数字信号处理或时间关键型MAC层操作),因此LabVIEW Communications提供了为无线通信应用创建FPGA IP所需的所有软件开发工具。除了开发基于电路原语的大型复杂FPGA应用程序外,LabVIEW Communications还包括可用于许多信号处理功能的Xilinx IP,也可以导入和重用其他HDL代码源以提高生产力。LabVIEW Communications也包括内置的周期精确仿真和调试工具,可在冗长的编译之前消除代码中的错误。

硬件和软件紧密集成

除了针对异构硬件终端改进实时无线通信应用程序代码的开发过程外,LabVIEW Communications还简化了应用程序代码与周围硬件集成的过程,确保软件和硬件无缝协同工作。对于对MIMO系统性能至关重要的硬件相关操作(例如,多个RF信道同步触发,或为支持大规模MIMO应用的信道互易性而进行的RF校准),LabVIEW Communications还为与定时和同步、RF电路控制、跨处理终端的数据流式传输等相关的众多硬件任务提供了广泛的软件API。此外,与将来自不同供应商的硬件组合在一起的其他系统不同的是,NI为MIMO原型验证系统开发了硬件和软件,因此能够可靠且一致地执行硬件和软件集成,从而确保整个系统的行为符合预期,且始终如一。

LabVIEW Communications MIMO应用框架

MIMO应用框架是基于FPGA的高级软件参考设计,内置于LabVIEW Communications中,与MIMO原型验证SDR硬件结合使用可构建完整的实时空口原型验证解决方案,适用于SU-MIMO、MU-MIMO和大规模MIMO研究和实验。 MIMO应用框架是开箱即用的,无需额外修改或代码开发,可快速启动和运行一个功能完备的MIMO系统。 此外,由于所有FPGA和主机源代码都随MIMO应用框架一起提供,研究人员可以使用自己的定制设计和算法完全修改系统,以评估他们的技术在现实条件下的性能,而不是依赖于桌面仿真。由于桌面仿真使用了不完全且高度抽象的假设,因此其结果不甚准确。

通过为构建定制设计提供更高一筹的起始点,研究人员可以节省大量时间,不再需要耗费时间从零开始开发自己的等效解决方案。 NI了解在紧张的预算限制下及时获得结果的重要性,因此MIMO应用框架通过提供软件参考设计来加速MIMO原型和PoC的开发过程,该设计提供了许多MIMO通信系统所共有的广泛基本特性和功能。 通过使用这些基本特性,研究人员可以将时间和精力集中用于开发其研究目标特有的新特性和功能,而不是从零开始费力打造完整的系统。 通过减少开发应用程序代码所花费的时间,研究人员可以转而专注于最重要的事情 - 取得成果。

MIMO应用框架特性

MIMO应用框架是可扩展的多用户MIMO PHY层的完全流式传输实时多FPGA实现,支持基站和移动站的上行和下行传输。MIMO应用框架专为各种基于MIMO的应用而设计,包括下表中总结的各种特性:

  • 支持SU-MIMO、MU-MIMO和大规模MIMO
  • 50 MHz~6 GHz频率覆盖
  • 20 MHz带宽TDD上行及下行
  • 基站天线数量可从2根扩展到128根
  • 移动站天线数量可扩展,最多12根天线
  • 支持多达12个空间流
  • 基于LTE的完全可重配置帧结构
  • 128x12 MMSE、ZF和MRC MIMO预编码器/均衡器FPGA IP
  • 支持4 QAM、16 QAM、64 QAM、256 QAM
  • 信道互易性校准,支持基于互易性的预编码
  • AGC和开环功率控制
  • 空口同步
  • 基本MAC功能支持基于数据包的上行和下行用户数据传输,为视频传输等数据流应用提供支持。

以下部分提供有关这些特性的更多详细信息。

单用户MIMO和多用户MIMO

MIMO应用框架可通过单个代码库同时支持SU-MIMO、MU-MIMO和大规模MIMO。 如下面的图7所示,可以创建范围广泛的网络配置,其中(1)移动站的数量和(2)系统(即基站和移动站)内所有设备的天线数量不同。 无论是用于SU-MIMO实验的单个基站和移动站对,还是用于MU-MIMO实验的各自具有不同天线数量的多个移动站,MIMO应用框架均可提供出色的灵活性和可扩展性,从而满足整个主机MIMO应用(包括大规模MIMO)的严苛要求。

图7.多用户MIMO (MU-MIMO)与单用户MIMO (SU-MIMO)比较

基站和移动站天线数量可扩展

MIMO基站和移动站可以根据应用的要求配置不同数量的天线。 MIMO应用框架在上行和下行方向支持最多12个空间层,并且可以根据需要进行修改以支持额外的层。 借助这些功能,可以在网络内的所有移动站和基站上实现各种不同的MIMO配置。 下面的表1中列出了一些不同MIMO配置的示例,用于说明如何使用MIMO应用框架进行SU-MIMO、MU-MIMO和大规模MIMO实验。 请注意,MIMO应用框架的应用不仅限于这三个示例,还有许多其他应用方式。

MIMO应用框架允许用户通过软件配置天线数量,无需更改或修改FPGA设计,从而实现对SDR硬件和底层PHY层的无缝控制。 这种卓越的软件体验为用户提供了高度的灵活性,可简化设置和执行MIMO实验的整个过程。

表1.  使用MIMO应用框架的各种MIMO配置示例。  请注意,MIMO应用框架的应用不仅限于这三个示例,还可以用于许多其他情况。

MIMO预编码和均衡

MIMO应用框架包括实时FPGA IP,用于在下行(DL)中执行MIMO预编码和在上行(UL)中执行MIMO均衡,矩阵维度最大为128x12,其中128对应基站天线的最大数量,12对应空间流的最大数量。大规模MIMO基站的信号处理链结构框图如下面的图8所示。 MIMO应用框架采用TDD帧结构以利用信道互易性。在上行中获得的信道估算将用于在传输之前计算下行MIMO预编码器。 根据信道条件,预编码的下行MIMO信号随后将由每个移动站无干扰地接收。 MIMO应用框架包括以下三个内置的MIMO均衡器选项:最小均方误差(MMSE)、迫零(ZF)和最大比合并(MRC),这些选项在软件中也是可选择的。

图8.  大规模MIMO基站信号处理链结构框图。

信道互易性校准

为了利用信道互易性,必须满足一系列条件,包括准确估算上行信道响应,排除来自基站和移动站中每个天线信道的RF电路的贡献。为此,MIMO应用框架包括用于执行各种基站RF前端校准的自动化例程,可在上行和下行方向上估算每个RF链的频率响应。然后将RF前端的估算应用于上行信道估算过程,以确保准确实现空口信道的测量。

基于LTE的20 MHz带宽TDD帧结构

MIMO应用框架利用类似3GPP LTE的TDD无线电帧结构。 无线电帧结构可通过软件完全修改,而无需对FPGA设计进行额外更改,这种结构还允许用户在每个移动站上快速调整系统的行为,以满足自身的研究目标和要求。 对帧结构的此类修改包括更改以下参数。

  • 指定OFDM符号类型: 上行导频、上行数据、下行导频、下行数据、上行/下行开关保护时间。
  • QAM调制阶数从每个空间层4 QAM到256 QAM。

图9显示了无线电帧结构图,其中包括帧级别直至OFDM符号级别的信息。 表2中还列出了有关其他系统参数的附加信息。 请注意它们与20 MHz传输模式的LTE标准的相似之处[9]。

图9.应用框架TDD信号帧结构
表2.MIMO应用框架系统参数

自动增益控制与开环功率控制

由于深知功率控制的重要性,MIMO应用框架提供了自动调整功率水平的软件例程。 其中包括移动站和基站接收器的自动增益控制(AGC)逻辑,以及移动站上行发射器的开环功率控制。 这样做可确保在链路两端以预期的功率水平接收信号,从而提高以最低误差正确解调的可能性。 此外,由于调整功率电平的过程是完全自动化的,用户无需手动调整移动站上的诸多RF收发仪(这对于大型网络来说可能是非常耗时的过程),从而能够快速启动和运行,实现开箱即用。

附加功能和示例屏幕截图

下面展示的一系列屏幕截图显示了用户如何通过直观的用户界面监控MIMO应用框架并与之交互。请注意,基站和多天线移动站的用户界面非常相似,因为它们都支持多天线。以下范例显示了基站和单天线移动站的屏幕截图。

下面的图10是MIMO应用框架的基站“UL MIMO处理器”(UL MIMO Processor)选项卡的屏幕截图。其中显示了多达12个空间流的上行接收信号星座IQ图 - 为用户即时指示整个系统的执行状况并定性显示接收信噪比(SNR)。 此外,图10顶部的中心附近显示了测量到的所有移动站的聚合上行接收信号吞吐量,它使用户可以根据每个移动站的已知传输速率,衡量基站是否成功接收数据。 同样,下行传输速率也会显示出来,并且能以类似的方式用于评估下行方向的传输质量。

图10.MIMO应用框架上行接收星座图

下面的图11是MIMO应用框架的基站“UL数据”(UL Data)选项卡的屏幕截图。 其中显示了每个空间流的上行吞吐量随时间变化的曲线图,为用户提供了在较长时间内监控系统性能的另一种方法。 在这个范例中,基站接收到四个空间流,每个流的上行吞吐量在图中以不同颜色显示。 如图11所示,全部四个流的总上行吞吐量约为54.7 Mbps。 对于具有更多空间流的系统,将在此基础上继续叠加不同颜色的额外曲线图。

图11.MIMO应用框架上行接收吞吐量测量
下面的图12是MIMO应用框架的基站“UL信道”(UL Channel)选项卡的屏幕截图。 其中显示了每个移动站在时域和频域上的上行MIMO信道脉冲响应数据的曲线图,为用户提供关于上行信道传播特征的即时信息。 有了这些数据,研究人员可以分析多用户MIMO系统在不同信道条件下的行为,并探索新算法的效果,进而寻求改进各种条件下的系统性能。

图12.MIMO应用框架上行信道测量
下面的图13是MIMO应用框架的单天线移动站“DL高级信息”(DL Advanced Information)选项卡的屏幕截图。 其中显示了两个移动站的接收DL信号星座图和频率响应图,第一个移动站接收QPSK信号,另一个接收16 QAM信号。 这些数据即时指示在预编码信号通过无线MIMO信道传播并在每个单天线移动站被无干扰接收时,相应DL预编码算法的性能及其分离多个空间流的能力。

图13.MIMO应用框架移动站下行接收星座图
下面的图14是MIMO应用框架的单天线移动站“DL信息”(DL Information)选项卡的屏幕截图。 其中显示了两个移动站的DL接收信号频谱图、测量吞吐量图以及误块率(BLER)图。 这些数据为评估DL信号的传输质量和多用户MIMO预编码方案的性能提供了额外的方法。 这些性能指标可以按原样与系统一起使用,也可以应用于对系统PHY层进行的自定义修改,以便为用户提供有关他们的技术在更精确地反映真实部署的条件下的性能数据,而不仅仅是仿真。

图14.MIMO应用框架移动站下行接收信号频谱和测量吞吐量
尽管未显示,但MIMO应用框架还提供了软件用户界面,用于监视和控制MIMO系统的其他方面,具体内容如下。

  • 帧结构配置 - 提供控件,可为每个移动站选择不同的MCS级别。
  • 视频流 - MIMO应用框架还支持直观的UDP接口,用于将视频信号或其他应用程序数据流式传入和传出移动站。
  • 数据流诊断 - 对于大型天线系统,将数据(IQ样本)从许多无线电头流式传输到一组中央FPGA以进行高速MIMO处理可能非常具有挑战性。 为了促进对流式传输中潜在问题的快速诊断,进而确保数据得到无错传输和处理,MIMO应用框架还包括了一些实用程序,用于监控分布在系统中的许多缓冲区的状态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1915374.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LINUX命令行curl指令与python内置urllib模块

urllib是python御用的易用的轻便模块,curl是Linux功能强大的命令行工具,都是参与Web的利器。 (笔记模板由python脚本于2024年07月10日 18:41:12创建,本篇笔记适合喜欢Python和Linux的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&…

【最强八股文 -- 计算机网络】【快速版】WWW 构建技术 (3 项)

1.HTML(HyperText Markup Language):作为页面的文本标记语言 2.HTTP(HyperTextTransfer Protocol):文档传递协议 3.URL(Uniform Resource Locator):指定文档所在地址 HTTPS 和 HTTP 的区别: HTTP: 以明文的方式在网络中传输数据,HTTPS 解决了HTTP 不安全的缺陷&…

芋道源码 yudao-cloud 文档,视频,开发指南如何看全部

进入官网后可以看到相关内容 但是后端手册开始就看不了了 必须加入知识知识星球才行,很烦 闲**鱼搜索用户 水城打坐的藤壶 找到这个链接 这下大家都懂了吧 现在就可以看到看不到的内容了 在线文档的弹窗可技术去除,很简单 直接起飞哈 包括更新sq…

DELTA: DEGRADATION-FREE FULLY TEST-TIME ADAPTATION--论文笔记

论文笔记 资料 1.代码地址 2.论文地址 https://arxiv.org/abs/2301.13018 3.数据集地址 https://github.com/bwbwzhao/DELTA 论文摘要的翻译 完全测试时间自适应旨在使预训练模型在实时推理过程中适应测试数据流,当测试数据分布与训练数据分布不同时&#x…

前端面试题40(浅谈MVVM双向数据绑定)

MVVM(Model-View-ViewModel)架构模式是一种用于简化用户界面(UI)开发的软件架构设计模式,尤其在现代前端开发中非常流行,例如在使用Angular、React、Vue.js等框架时。MVVM模式源于经典的MVC(Mod…

【C++修行之道】string类练习题

目录 387. 字符串中的第一个唯一字符 125. 验证回文串 917. 仅仅反转字母 415. 字符串相加(重点) 541. 反转字符串 II 387. 字符串中的第一个唯一字符 字符串中的第一个唯一字符 - 力扣(LeetCode) 给定一个字符串 s &#…

【UE5.3】笔记10-时间轴的使用

时间轴 右键--Add Timeline(在最下面) --> 双击进入时间轴的编辑界面: 左上角可以添加不同类型的轨道,可以自定义轨道的长度,单位秒,一次可以添加多个 可以通过右键添加关键帧,快捷键:shift鼠标左键按…

ssrf结合redis未授权getshell

目录 漏洞介绍 SSRF Redis未授权 利用原理 环境搭建 利用过程 rockylinux cron计划任务反弹shell 写公钥免密登录 ubuntu 写公钥免密登录 漏洞介绍 SSRF SSRF(server side request forgrey)服务端请求伪造,因后端未过滤用户输入&…

LeetCode(2)合并链表、环形链表的约瑟夫问题、链表分割

一、合并链表 . - 力扣(LeetCode) 题目描述: /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ typedef struct ListNode ListNode; struct ListNode* mergeTwoLists(struct …

skywalking-1-服务端安装

skywalking很优秀。 安装服务端 skywalking的服务端主要是aop服务,为了方便查看使用还需要安装ui。另外采集的数据我们肯定要存起来,这个数据库就直接用官方的banyandb。也就是aop、ui、banyandb都使用官方包。 我们的目的是快速使用和体验&#xff0c…

stm32按键设置闹钟数进退位不正常?如何解决

🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收…

MMII 的多模态医学图像交互框架:更直观地理解人体解剖结构和疾病

医生在诊断和治疗过程中依赖于人体解剖图像,如磁共振成像(MRI),难以全面捕捉人体组织的复杂性,例如组织之间的空间关系、质地、大小等。然而,实时感知有关患者解剖结构和疾病的多模态信息对于医疗程序的成功…

✅小程序申请+备案教程

##red## 🔴 大家好,我是雄雄,欢迎关注微信公众号,雄雄的小课堂。 零、注意事项 需要特别注意的是,如果公司主体的微信公众号已经交过300块钱的认证费了的话,注册小程序通过公众号来注册,可以免…

手搓前端day1

断断续续的学了些前端,今天开始写写代码,就当是记录一下自己前端的成长过程 效果: 写了点css,实现了简单的前端页面的跳转 文件目录 代码如下: styles.css body{margin: 0;padding: 0;}header{background-color: bl…

3102.力扣每日一题7/9 Java(TreeMap)

博客主页:音符犹如代码系列专栏:算法练习关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 目录 TreeMap详解 解题思路 解题方法 时间复杂度 空间复杂度 Code T…

打卡第8天-----字符串

进入字符串章节了,我真的特别希望把leetcode上的题快点全部都给刷完,我是社招准备跳槽才选择这个训练营的,面试总是挂算法题和编程题,希望通过这个训练营我的算法和编程的水平能有所提升,抓住机会,成功上岸。我现在的这份工作,真的是一天都不想干了,但是下家工作单位还…

jmeter-beanshell学习7-props获取全局变量和设置全局变量

继续写点不痛不痒的小东西。第一篇写了vars设置变量,但是vars只能作用在同一个线程组。跨线程组情况比较少,要是用到跨线程组,有个pros,用法和vars一样。 在setup线程组设置变量a,执行的时候,jmeter会先执行…

【HarmonyOS】关于官方推荐的组件级路由Navigation的心得体会

前言 最近因为之前的630版本有点忙,导致断更了几天,现在再补上。换换脑子。 目前内测系统的华为应用市场,各种顶级APP陆续都放出来beta版本了,大体上都完成了主流程的开发。欣欣向荣的气息。 学习思路 关于学习HarmonyOS的问题…

ApiFox或postman怎么用params类型传输json或集合+json的String类型

你是否碰见过这样的接口? post请求然后传输的参数都要和查询时一样以param形式传参数,那String什么的都好说,传就直接进后台了,那json呢,集合呢,是不是直接给你返400呢. 1.传json如何处理 那我们看看怎么实现,如果你要传json数据,那需要将特殊字符转义,也叫url转码,否则传不…

BeanUtils.copyProperties到底坑了多少人?

今儿我们就来梳理一下BeanUtils.copyProperties的坑点!! 一、坑点全解析 1. 类型不匹配 2. 属性命名差异 例如: 3. Boolean类型和is属性开头的坑 使用Lombok生成的getter方法时,如果Boolean类型的属性以is开头,Bea…