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

目录

  • 概览
  • 引言
  • 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应用框架还包括了一些实用程序,用于监控分布在系统中的许多缓冲区的状态。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

作业/数据结构/2023/7/10

1.实现单向链表队列的,创建,入队,出队,遍历,长度,销毁。 main.c #include "head.h"int main(int argc, const char *argv[]) {//创建链式队列queue_ptr QLcreate_queue();//入栈push(QL, 1000)…

OpenGL3.3_C++_Windows(29)

Demo exposure 0.1f exposure 5.0f HDR色调映射 问题:有多个亮光源使这些数值总和超过了1.0,颜色值会被约束在1.0,从而导致场景混成一片,难以分辨:色调映射:用更大范围的颜色值渲染从而获取大范围的黑暗…

手搓前端day1

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

从0-1搭建一个web项目(路由目录分析)详解

本章分析vue路由目录文件详解 ObJack-Admin一款基于 Vue3.3、TypeScript、Vite3、Pinia、Element-Plus 开源的后台管理框架。在一定程度上节省您的开发效率。另外本项目还封装了一些常用组件、hooks、指令、动态路由、按钮级别权限控制等功能。感兴趣的小伙伴可以访问源码点个赞…

vue前端实现导出页面为word(两种方法)

将vue页面导出为word文档,不用写模板,直接导出即可。 第一种方法(简单版) 第一步:安装所需依赖 npm install html-docx-js -S npm install file-saver -S第二步:创建容器,页面使用方法 注意:在当前页面引…

对于多个表多个字段进行查询、F12查看网页的返回数据帮助开发、数据库的各种查询方式(多对多、多表查询、子查询等)。

对于多个表多个字段进行查询、F12查看网页的返回数据帮助开发、数据库的各种查询方式(多对多、多表查询、子查询等)。 一、 前端界面需要展现多个表的其中几个数据的多表查询。1. 三个表查询其中字段返回:(用一下sql语句&#xff…

论文翻译 | (TAKE A STEP BACK) 后退一步:在大型语言模型中通过抽象来调用推理

摘要 我们介绍了STEP-BACK提示,这是一种简单的提示技术,使LLM能够进行抽象,从而从包含特定细节的实例中派生高级概念和第一原则。使用概念和原则来指导推理,LLM显着提高了他们遵循正确推理路径的能力。我们使用PaLM-2L、GPT-4和Ll…

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

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

imx6ull/linux应用编程学习(16)emqx ,mqtt创建连接mqtt.fx

在很多项目中都需要自己的私人服务器,以保证数据的隐私性,这里我用的是emqx。 1.进入emqx官网 EMQX:用于物联网、车联网和工业物联网的企业级 MQTT 平台 点击试用cloud 申请成功后可得:(右边的忽略) 进入…

【读点论文】ASAM: Boosting Segment Anything Model with Adversarial Tuning,对抗学习提升性能

ASAM: Boosting Segment Anything Model with Adversarial Tuning Abstract 在不断发展的计算机视觉领域,基础模型已成为关键工具,对各种任务表现出卓越的适应性。其中,Meta AI 的 Segment Anything Model (SAM) 在图像分割方面表现突出。然…

国内从事人机交互的团队——浙江工业大学

一、背景 当我们选择一个新的课题后,需要清楚的了解从事该方向的团队都有哪些,这样可以及时跟踪和学习大牛团队的最新进展,以免自己认为的good idea,其实早就已经研究过了。 随着人形机器人的发展,机器人不仅需要在无…

vscode使用Git的常用操作

主打一个实用 查看此篇之前请先保证电脑安装了Git,安装教程很多,可自行搜索 一.初始化本地仓库🟢 使用vscode打开项目文件夹如图所使初始化仓库,相当于命令行的git init 二.提交到暂存区🟢 三.提交到新版本&#x1f…

python04——类(基础new)

类其实也是一种封装的思想,类就是把变量、方法等封装在一起,然后可以通过不同的实例化对其进行调用操作。 1.类的定义 class 类名: 变量a def __init__ (self,参数2,参数2...):初始化函数!!&…

Chromium编译指南2024 Linux篇-编译Chromium(五)

1.引言 在完成环境配置之后,我们需要开始实际的编译工作。编译 Chromium 是一个相对复杂且耗时的过程,尤其是第一次编译时。为了保证顺利完成,我们将使用 GN 和 Ninja 工具来生成和管理构建文件。接下来,我们会详细介绍如何生成构…

最新 Kubernetes 集群部署 + flannel 网络插件(保姆级教程,最新 K8S 版本)

资源列表 操作系统配置主机名IP所需插件CentOS 7.92C4Gk8s-master192.168.60.143flannel-cni-plugin、flannel、coredns、etcd、kube-apiserver、kube-controller-manager、kube-proxy、 kube-scheduler 、containerd、pause 、crictlCentOS 7.92C4Gk8s-node01192.168.60.144f…

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

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

浅谈化工厂环保管理的痛点、智慧环保的必要性及EHS系统的实现路径

在全球环保意识日益增强的背景下,化工厂作为工业领域的重要组成部分,其环保管理显得尤为重要。然而,化工厂在追求经济效益的同时,也面临着诸多环保管理的痛点。本文将围绕化工厂环保管理的痛点、化工厂为何需要智慧环保以及如何借…

Unity【入门】场景切换和游戏退出及准备

1、必备知识点场景切换和游戏退出 文章目录 1、必备知识点场景切换和游戏退出1、场景切换2、鼠标隐藏锁定相关3、随机数和自带委托4、模型资源的导入1、模型由什么构成2、Unity支持的模型格式3、如何指导美术同学导出模型4、学习阶段在哪里获取模型资源 2、小项目准备工作需求分…

小程序内容管理系统设计

设计一个小程序内容管理系统(CMS)时,需要考虑以下几个关键方面来确保其功能完善、用户友好且高效: 1. 需求分析 目标用户:明确你的目标用户群体,比如企业、媒体、个人博主等,这将决定系统的功…

Linux基础知识(十六)shell脚本编程

一、简介 用户通过shell向计算机发送指令计算机通过shell给用户返回指令的执行结果 1.1 通过shell编程可以达到的效果 提高工作效率可以实现自动化 1.2 需要学习的内容 Linuxshell的语法规范 1.3 编写shell的流程 第一步:用vi/vim创建一个.sh的文件第二步&am…