5G网络架构及技术(二):OFDM一

news2024/11/20 13:36:37

ToDo: 等把这些讲义看完后得单开一个文章整理思维导图
  该部分由于内容比较重要,OFDM是5G物理层的基础,但学习时直接跳到5G OFDM去看它的那些参数设置感觉没什么意义,还得从发展的角度进行学习,先从最先用到OFDM的WiFi协议开始,WiFi协议还是比LTE和5G NR简单得多,所以拟分为14个部分来介绍OFDM基础:
  OFDM一:OFDM基础框架复习,基于802.11a
  OFDM二:载波分配、CFO估计技术、OFDM采样检测和同步
  OFDM三:Viterbi译码
  OFDM四:Puncturing打孔、交织
  OFDM五:Pilots and Pilot Tracking
  OFDM六:Direct Conversion Receiver直接变频接受器
  OFDM七:ADC Requirements
  OFDM八:Adjacent Channel Interference
  OFDM九:Signal to Noise Ratio and EbN0
  OFDM十:Transmitter
  OFDM十一:Phase Noise
  OFDM十二:ISI Decision Feedback
  OFDM十三:Reed Solomon Coding
  OFDM十四:Doppler
然后用四个部分来总体性复习OFDMA:
  OFDM十五:OFDMA
  OFDM十六:IEEE 802.16 Channel Models
  OFDM十七:Scalable OFDMA
  OFDM十八:IEEE 802.16 OFDMA
复习完OFDM,才能进入MIMO-OFDM的复习,该部分拟记录8篇笔记以供自己复习:
  MIMO-OFDM一:MIMO OFDM Multipath Fading Channel, Channel H Matrix Formulation
  MIMO-OFDM二:MIMO Equalizer (Zero Forcing), Noise Enhancement, MIMO Performance
  MIMO-OFDM三:MMSE and ML Detection
  MIMO-OFDM四:SVD and Closed Loop MIMO Systems
  MIMO-OFDM五:Transmit Diversity, Alamouti Scheme, CDD
  MIMO-OFDM六:Training for per Carrier H Matrix Estimation
  MIMO-OFDM七:802.11n Draft and Receiver Architecture
  MIMO-OFDM八:AGC Refinement for MIMO OFDM

该系列仅仅到802.11n协议 (Wi-Fi 4)2.4/5GHz MIMO,此处mark一篇blog,是关于【802.11a/b/g/n/ac/ax协议是什么?与Wi-Fi 4/5/6有什么之间有什么关联】的

参考资料:
[1] OFDM/OFDMA Audio Visual Tutorial for WiFi and WiMAX
[2] MIMO OFDM Audio Visual Tutorial
[3] Theodore S. Rappaport, Wireless Communications Principles and Practice, IEEE Press/Prentice Hall PTR, Upper Saddle River. New Jersey, 1996
[4] A. Santamaria Lopez-Hernandez (Editors), Wireless LAN Systems, Artech House, 685 Canton Street, Norwood, MA 02062

目录

  • 一、OFDMA在无线通信中的位置
  • 二、OFDM原理里一些需要回忆的亮点
    • 2.1 多径信道建模(Multipath模块)
      • 2.1.1 多径时延扩展
      • 2.1.2 多普勒频移
      • 2.1.3 实际多径信道的仿真
    • 2.2 OFDM循环前缀
    • 2.3 OFDM频域均衡
  • 三、从IEEE 802.11a的组织框架看OFDM帧的产生需要哪些参数
    • 3.1 从PLCP协议的基本数据单元PPDU(PLCP Protocol Data Unit)到OFDM帧
    • 3.2 Signal Field
    • 3.3 Service Field
    • 3.4 Pad Bits

一、OFDMA在无线通信中的位置

  以 IEEE 802.11a(WLAN中的一种标准,IEEE 802.11系列中最早的WiFi标准之一)为例,考虑一个OFDM Steady State Model(描述了系统在稳定状态下的行为或特性的模型),No Training / Acquisition/ Cyclic Prefix"(无训练/采集/循环前缀):

  • No Training(无训练):在某些情况下,OFDM系统中不需要通过训练信号来估计信道特性或同步系统。相反,系统可能会采用其他方法来实现同步和信道估计,例如使用先验知识或自适应算法。
  • No Acquisition(采集):在数字通信中,采集通常指的是接收端收集有关信号的信息,如同步时钟、频率偏移等,以便正确解码和处理信号。在某些情况下,OFDM系统可能需要进行采集以确保正确的数据解调。
  • No Cyclic Prefix(循环前缀):循环前缀是一种在OFDM系统中用于抵消多径干扰的技术。在发送每个OFDM符号之前,一些符号周期的数据会被复制并附加到OFDM符号的末尾。接收端使用这些循环前缀来抵消多径引起的符号间干扰。

在这里插入图片描述

图一 ∗ 802.11 a ∗ O F D M 传输简化示意图, O F D M 的关键在于 I F F T & F F T 图一*802.11a *OFDM传输简化示意图,OFDM的关键在于IFFT\&FFT 图一802.11aOFDM传输简化示意图,OFDM的关键在于IFFT&FFT
  图一协议中OFDM的本质是通过将调制数据通过IFFT+D2A,实现将调制数据加载到正交的子载波上,所以图一中求和过程之前的并行转串行和相位变化是符合QPSK的后半部分调制过程的。在[1]中详细讲述了从时域连续傅里叶变化实现OFDM,到通过时域采样推到出的时域离散傅里叶变换DFT,再到快速傅里叶变换FFT(相比DFT复杂度 O ( N 2 ) O(N^2) O(N2),FFT复杂度降低为 O ( N l o g 2 N ) O(Nlog_2N) O(Nlog2N))。
  在实际中,整个OFDM调制前还有必不可少的信道编码过程,如下图 IEEE 802.16-2004 标准(也称为 WiMAX 标准)中“Subscriber Station”(用户站)的数据块调制示意图:在这里插入图片描述
图二 ∗ I E E E 802.16 − 2004 标准 ∗ S S 侧完整 O F D M 传输简化示意图, O F D M 的关键在于 I F F T & F F T 图二*IEEE 802.16-2004 标准 *SS侧完整OFDM传输简化示意图,OFDM的关键在于IFFT\&FFT 图二IEEE802.162004标准SS侧完整OFDM传输简化示意图,OFDM的关键在于IFFT&FFT

总结:OFDM在无线传输中,位于数字调制(如QPSK、QAM)之前,时域上每个OFDM符号会承载N个数字调制符号的信息。但是这些信息是由采样点的形式给出,采样点数量为 N s N_s Ns

二、OFDM原理里一些需要回忆的亮点

  该部分仅回顾多径信道建模OFDM循环前缀OFDM频域均衡(FFT部分:傅里叶变换→DFT→FFT的推导跳过了),尽量让看这篇文章进行复习的人在知道OFDM是来解决什么问题的,为什么能解决。

2.1 多径信道建模(Multipath模块)

  多径衰落信道的建模和仿真,两个重要的参数是多径扩展和多普勒带宽。尽管多径效应只导致多径扩展/时间色散/频率选择性衰落,但往往多径衰落信道是同时包含频率选择性衰落和时间选择性衰落,所以由于多普勒频移导致的时间选择性衰落也需要在该部分回顾。

2.1.1 多径时延扩展

  该部分从Two Ray Multipath Model入手,假设二径信道,反射路径相对于直射路径的多径时延大小为 τ d \tau_d τd
在这里插入图片描述
则根据该信道的频谱可以得出以下结论:

  1. 二径信道存在周期性深衰落
  2. 深衰落的幅度为 4 α 4\alpha 4α,和反射路径的衰减因子 α \alpha α成正比,因为波峰: 1 + α 2 + 2 α 1+\alpha^2+2\alpha 1+α2+2α,波谷: 1 + α 2 − 2 α 1+\alpha^2-2\alpha 1+α22α
  3. 频谱深衰落的周期 Δ f = 1 τ d \Delta f=\frac{1}{\tau_d} Δf=τd1,表明如果一个信号频谱宽度超过 Δ f \Delta f Δf则经过该信道冲击响应后,一定会在频谱上发生深度衰落。

  如果扩展到多径信道,显然,每条多径(的时延和衰落因子)也会造成信道冲击响应的频谱的周期性深衰落(此时这个周期大小就是多个多径时延导致频谱深衰落的周期的最小公倍数)。但是往往由于这个周期很大,信号的频谱只占其中一部分,就体现为频率选择性衰落。
  多径时延扩展(Multipath Delay Spread)是由于信号在传播过程中经历多条不同路径到达接收器,导致每条路径的信号传播延迟不同,从而使得接收到的信号在时间上存在一定的扩展。“扩展”的含义是指信号的传播延迟在时间上的展宽,即使原本在理想情况下信号的到达时间应该是集中在某一时刻,由于多径效应,实际接收到的信号会在时间上产生扩展,表现为接收到的信号在时间轴上具有一定的宽度,而不是集中在一个点上。从时域上看,如果一个符号在传输时被时延到下一个符号,那么意味着最大的多径时延扩展Tmax大于了符号周期Ts。

看到这里应该知道:

  1. 多径时延为什么导致频率选择性衰落。
  2. 为什么多径扩展是多径信道的一个重要参数。

  然后解决如何建模多径时延扩展模型(从二径信道中可以看出,如果能解决多径时延扩展的大小和每条多径上的衰落因子大小,就能完成建模),搞通信的前辈们早就发现下列情况都会导致多径效应的产生:
在这里插入图片描述
  前辈们通过大量室内外环境测试实验[3,4]发现,由于信道的随机性(散射反射衍射),可以将所有的多径脉冲时延(即多径实验扩展)建模为高斯分布。其次,关于路径的衰减因子,前辈们发现了自由空间损耗方程free space loss = ( 4 π d λ ) 2 = ( 4 π d f c ) 2 =\left(\frac{4 \pi d}{\lambda}\right)^2=\left(\frac{4 \pi d f}{c}\right)^2 =(λ4πd)2=(c4πdf)2:其中d in meters, f in GHz。损耗与距离d的平方成正比,和频率f的平方成正比,如果转化为对数形势,则 F S L ( d B ) ≈ 20 log ⁡ 10 ( d ) + 20 log ⁡ 10 ( f ) + 32.45 \mathrm{FSL}(\mathrm{dB}) \approx 20 \log _{10}(d)+20 \log _{10}(f)+32.45 FSL(dB)20log10(d)+20log10(f)+32.45。即使是在更复杂的室内环境,信号的路径损耗也可以近似描述为指数衰减的模式(路径损耗的对数与距离之间的关系呈现线性,而路径损耗与距离之间的关系则呈现指数关系),如下图所示:
在这里插入图片描述
考虑到无线电以不变的光速传播,多径路径长度和时延扩展是正相关的,所以每条多径的衰减因子应该同随着其时延扩展的增大呈现指数性的变化。

看到这里应该知道:

  1. 多径信道建模时,多径时延扩展可以建模为高斯统计模型,所以建模后的仿真可以从正态分布中抽取多径时延。
  2. 考虑多径衰减因子同多径时延的关系,建模时应该保证功率时延曲线遵守指数衰减。

  那么建模时,正态分布的参数如何获取呢?此时就引入了均方超余时延(Mean Excess Delay)和均方根时延扩展(RMS Delay Spread)

  • 均值超余时延(信号到达时间相对于直射路径的时延平均值):平均时延均值是功率*时延的积分在功率上的平均。 τ ˉ = ∑ k α k 2 τ k ∑ k α k 2 。 \bar{\tau}=\frac{\sum_k \alpha_k^2 \tau_k}{\sum_k \alpha_k^2}。 τˉ=kαk2kαk2τk
  • 均方根时延扩展,也就是时延的均方根,先对时延的平方计算功率平均,然后减去平均时延的平方(就是方差 σ τ = τ 2 ‾ − ( τ ˉ ) 2 τ 2 ‾ = ∑ k α k 2 τ k 2 ∑ k α k 2 \begin{aligned} \sigma_\tau & =\sqrt{\overline{\tau^2}-(\bar{\tau})^2} \\ \overline{\tau^2} & =\frac{\sum_k \alpha_k^2 \tau_k^2}{\sum_k \alpha_k^2} \end{aligned} σττ2=τ2(τˉ)2 =kαk2kαk2τk2

显然,如果对一个多径信道进行多次测量获取这俩参数,就能逆向完成对该多径信道的统计性建模。下图是一个多径信道建模案例的功率-时延曲线:在这里插入图片描述

2.1.2 多普勒频移

  假设UE/发送端运动方向与接收端连线之间的夹角为 θ \theta θ,且二者相对运动速度为v,则信号发送频率和信号接收频率之间: f d ≡ f R − f T = f d = v c f R cos ⁡ θ \mathrm{f}_{\mathrm{d}} \equiv \mathrm{f}_{\mathrm{R}}-\mathrm{f}_{\mathrm{T}}=f_d=\frac{v}{c} f_R \cos \theta fdfRfT=fd=cvfRcosθ所以说多普勒效应导致了频率扩展。
  类比多径效应的推导,频率扩展也会导致时域选择性衰落,这里就不给出推导流程了。在频率扩展的情况下,信号可以看做在传播过程中经历了多个不同频率成分的传播路径。由于不同频率的信号在传播过程中会受到不同程度的衰减和相位变化,导致不同频率成分的信号到达接收器的时间可能存在差异。这种时间上的差异会导致信号的时域结构发生变化,即信号的不同部分在时间上发生错位,从而产生时域选择性衰落。时域的相干时间 T c T_c Tc和多普勒频谱带宽 B d B_d Bd成反比(从多普勒频移 f d f_d fd B d B_d Bd大致成正比,教材上给的正比关系暂时没找到论文文献)。

看到这里应该知道:
1.如果信道带宽 B s > B d B_s >B_d BsBd(即符号周期小于相干时间了),相当于相干时间段内会有≥2个符号同时通过信道。因为信道是和其中的信息进行卷积运算,所以后来的符号会对前面的符号产生影响,导致了失真。所以也存在符号间干扰。

  多普勒效应在无线通信中由于移动引起的频率偏移,这会导致接收到的信号的频率与发送信号的频率不匹配。这种频率偏移可能会导致符号间干扰和定时误差的问题:

  • 符号间干扰:多普勒效应引起的频率偏移会导致相邻符号之间的频率不匹配。在接收端,如果未能正确地估计到这种频率偏移并对其进行补偿,那么接收到的信号会发生频率偏移,导致相邻符号之间的频率不一致,从而造成符号间干扰。这种干扰会影响到信号的解调和解码,降低系统性能。

  • 定时误差:多普勒效应也会导致定时误差。当发送端和接收端之间存在相对运动时,由于多普勒效应引起的频率偏移,接收到的信号的频率与发送信号的频率不同。如果接收端的定时不准确,即接收端未能准确地估计到信号的到达时间,那么就会导致接收到的信号在时域上出现偏移,从而引起定时误差。定时误差会影响到接收端正确地解调和解码信号,降低系统的性能。

2.1.3 实际多径信道的仿真

  考虑多径效应和多普勒效应后,统计性多径信道往往直接建模为产生特定多普勒功率谱密度的瑞利过程

2.2 OFDM循环前缀

  循环前缀的本质是在不破坏正交性的前提下,增长符号周期 [^1] ,使其尽可能大于多径时延扩展(避免由于多径引起的符号间干扰)和相干时间(避免由于多普勒频移引起的符号间干扰)。

[^1] 添加循环前缀会增加OFDM符号的长度,从而降低了每个符号的有效传输速率。这种由于循环前缀引起的速率损失称为循环前缀带来的信噪比损失(SNR Loss Due to Cyclic Prefix)。这种损失主要是由于在每个OFDM符号中分配给循环前缀的额外采样点数导致的。所以在设计OFDM系统时,需要权衡循环前缀的长度,以平衡符号间干扰的抵消效果和频谱利用率之间的关系。

  要避免干扰,首先要量化干扰,所以引入了EVM(Error Vector Magnitude),假设一共传输了M个QAM符号:在这里插入图片描述
然后通过仿真得到了两径时延扩展时EVM同 τ d \tau_d τd之间的关系图:在这里插入图片描述

看到这里应该知道:多径时延越大,噪声向量幅值EVM就越大。

  为了解决这一问题,就引入了循环前缀,但循环前缀的引入不仅仅解决了符号间干扰,其还提供了对synchronization阶段OFDM系统同步中的定时误差的容忍度。

  在OFDM系统中,接收端需要准确地知道每个符号的起始时间,以便正确地解调和译码接收到的信号。然而,由于各种因素,如时钟漂移、多普勒效应等,可能导致接收端的定时误差。因为循环前缀中的符号是之前符号周期的副本,所以即使存在定时误差,接收端仍然可以利用循环前缀中的符号来正确地解调和译码接收到的信号。
TODO:尽管此处由于循环性没有丢失信息,但如何恢复原信息呢?怎么把错位的前面的信息搬移到后面?怎么知道从哪里开始搬移?

通过估计定时误差或者利用同步序列的特征来实现。

  引入循环前缀后,数据速率可用如下公式计算(下图中Tg:Ts=1:8,表示64个样本添加了16个样本前缀),显然循环前缀影响数据速率是通过影响Ts的长度实现的:
在这里插入图片描述

用户站的最大吞吐量和多径时延所需添加的循环前缀长度是相互权衡的。

2.3 OFDM频域均衡

  802.11a OFDM的前导码(preamble)由两部分组成:短前导码(Short Preamble)和长前导码(Long Preamble)。

  • 短前导码(Short Preamble):包含10个OFDM符号,用于接收器粗同步和粗信道估计。
  • 长前导码(Long Preamble)/长训练序列(LTS):长前导码用于精确同步和频率偏移校正,包含了2个OFDM符号。这个长前导码包含了同步序列(使接收器可以确定信号的开始位置,并对时钟偏移进行校正)和一个长训练序列(用于接收器更精确的同步和频率偏移校正)。

在这里插入图片描述
t i , 1 ≤ i ≤ 10 t_i, 1 \leq i \leq 10 ti,1i10表示短前导码中的10个OFDM符号,本质是20MHz带宽传输时的16个重复采样值。(长短前导码之间是一个采样长度为32的保护序列guard interval)。长前导码中的 T i , i ∈ { 1 , 2 } T_i,i \in \{1,2\} Ti,i{1,2}则是两个相同的序列,都会用于均衡接受的载波:
在这里插入图片描述
   T i T_i Ti同步序列在接收端是已知原发送序列状况的,接收端通常会将两个 T i , i ∈ { 1 , 2 } T_i,i \in \{1,2\} Tii{1,2}训练序列提取出来,并对它们进行平均化,以降低估计误差。然后,平均后的序列经过FFT变换以得到频域上的信道估计(本质上是每个子载波上的衰落因子),平均后的值进行FFT并整流后得到噪声损失后的QAM符号序列。这个序列和后续接受的Signal、Data的FFT结果进行补偿即实现了信道均衡。——迫零均衡原理

三、从IEEE 802.11a的组织框架看OFDM帧的产生需要哪些参数

  在3.1中介绍802.11a协议基本数据单元PPDU的框架,PPDU中的参数定义了如何去生成OFDM帧。在3.2~3.5中介绍PPDU中的重要字段含义及其对OFDM帧的影响。

3.1 从PLCP协议的基本数据单元PPDU(PLCP Protocol Data Unit)到OFDM帧

PLCP(Physical Layer Convergence Protocol,物理层汇聚协议)
在802.11无线局域网中,PPDU通常会被封装在一个或多个OFDM帧中,并通过OFDM技术在无线介质上传输。下图显示了PPDU的结构形式:
在这里插入图片描述

  在使用OFDM作为物理层技术的系统中,例如IEEE 802.11(Wi-Fi)、LTE、WiMAX等,OFDM帧通常是最基本的物理层传输单元之一。一个OFDM帧通常包含了帧头、数据部分和尾部,帧头包含了同步和控制信息,而数据部分则包含了用户数据。 OFDM帧的长度和结构会根据不同的系统和标准而有所不同。

  PLCP协议是物理层汇聚过程(发送端的PLCP将数据帧从MAC层传递到物理层进行调制和发送,接收端的PCLP从物理层接收调制后的信号,并将其传递给MAC层进行解调和处理):

  • PLCP Preamble:由12个符号组成
  • Signal (SIGNAL)(信号字段):包含了一些物理层相关的参数,如数据速率、信道带宽、编码方式等。
    • Rate(4bits):提供了OFDM符号编码时使用的数据速率
    • Length(12bits):指示数据帧的大小,以便接收方正确地接收和解析整个数据帧。
  • DATA(可变的OFDM符号数量)
    • SERVICE(16bits):表示不同类型的服务
    • PSDU(Physical Layer Service Data Unit):物理层服务数据单元
    • Tail(6bits):由于协议中卷积编码器约束长度为7,所以移位寄存器个数为6.

3.2 Signal Field

在这里插入图片描述
SIGNAL TAIL是用于卷积编码器的移位寄存器归位的。

3.3 Service Field

在这里插入图片描述

  • Scrambler Initialization:初始化扰码器(Scrambler),指定了扰码器的初始状态。扰码器是在发送端用于在数据传输过程中添加伪随机序列以增加数据的随机性,以减少可能存在的周期性干扰。
  • Reserved SERVICE Bits:这是保留字段,用于未来可能的扩展或其他用途。

3.4 Pad Bits

  • N C B P S N_{CBPS} NCBPS: Number of Coded Bits per Symbol (Rate Dependent),这个参数表示了在物理层传输过程中每个调制符号所携带的编码比特数。
  • N D B P S N_{DBPS} NDBPS: Number of Data Bits per Symbol (Rate Dependent),表示了在物理层传输过程中每个调制符号所携带的数据比特数。数据比特数指的是实际携带有效数据的比特数,不包括校验位等冗余信息。 N SYM  =  Ceiling  ( ( 16 + 8 ×  LENGTH  + 6 ) / N DBPS  ) N DATA  = N SYM  × N DBPS  N PAD  = N DATA  − ( 16 + 8 ×  LENGTH  + 6 ) \begin{aligned} & \mathrm{N}_{\text {SYM }}=\text { Ceiling }\left((16+8 \times \text { LENGTH }+6) / \mathrm{N}_{\text {DBPS }}\right) \\ & \mathrm{N}_{\text {DATA }}=\mathrm{N}_{\text {SYM }} \times \mathrm{N}_{\text {DBPS }} \\ & \mathrm{N}_{\text {PAD }}=\mathrm{N}_{\text {DATA }}-(16+8 \times \text { LENGTH }+6) \end{aligned} NSYM = Ceiling ((16+8× LENGTH +6)/NDBPS )NDATA =NSYM ×NDBPS NPAD =NDATA (16+8× LENGTH +6)

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

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

相关文章

最新版两款不同版SEO超级外链工具PHP源码

可根据个人感觉喜好自行任意选择不同版本使用(版V1或版V2) 请将zip文件全部解压缩即可访问! 源码全部开源,支持上传二级目录访问 #已更新增加大量高质量外链(若需要增加修改其他外链请打开txt文件) #修…

隐私计算实训营学习八:隐语SCQL的开发实践

文章目录 一、SCQL使用集成最佳实践1.1 SCQL使用流程1.2 SCQL部署1.3 SCQL使用示例 二、SCQL工作原理三、使用SecretNote上手体验SCQL 一、SCQL使用集成最佳实践 1.1 SCQL使用流程 SCQL使用: SCQL 开放 API 供⽤户使⽤/集成。可以使⽤SCDBClient上⼿体验(类似与My…

基于R、Python的Copula变量相关性分析及AI大模型应用

在工程、水文和金融等各学科的研究中,总是会遇到很多变量,研究这些相互纠缠的变量间的相关关系是各学科的研究的重点。虽然皮尔逊相关、秩相关等相关系数提供了变量间相关关系的粗略结果,但这些系数都存在着无法克服的困难。例如,…

Docker实战教程 第1章 Linux快速入门

2-1 Linux介绍 为什么要学Linux 三个不得不学习 课程需要:Docker开发最好在Linux环境下。 开发需要:作为一个后端程序员,是必须要掌握Linux的,这是找工作的基础门槛。 运维需要:在服务器端,主流的大型服…

735.小行星碰撞

题目:给定一个整数数组 asteroids,表示在同一行的小行星。 对于数组中的每一个元素,其绝对值表示小行星的大小,正负表示小行星的移动方向(正表示向右移动,负表示向左移动)。每一颗小行星以相同…

设置你的第一个React应用

目录 一、React入门 1.1 你好React 1.2 创建React 1.3 应用结构 二、总结 2.1 定义组件 2.2 组件源码 三、组件详解 注意事项 3.1 组件三部曲 3.2 组件通信 —— props 3.3 对象数组迭代 —— map() 3.4 事件处理 3.5 钩子函数 —— useState() 初次学习最终效果…

递归实现指数型枚举(acwing)

题目描述: 从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。 输入格式: 输入一个整数 n。 输出格式: 每行输出一种方案。 同一行内的数必须升序排列,相邻两个数用恰好 1 个空格隔开。 对于没有…

3d代理模型怎么转换成标准模型---模大狮模型网

在当今的虚拟世界中,3D建模技术被广泛运用于游戏开发、电影制作、工业设计等领域。在3D建模过程中,有时会遇到需要将代理模型转换成标准模型的情况。模大狮将从理论和实践两方面,介绍如何将3D代理模型转换成标准模型,以帮助读者更…

2_5.Linux存储的基本管理

实验环境: 系统里添加两块硬盘 ##1.设备识别## 设备接入系统后都是以文件的形式存在 设备文件名称: SATA/SAS/USB /dev/sda,/dev/sdb ##s SATA, dDISK a第几块 IDE /dev/hd0,/dev/hd1 ##h hard VIRTIO-BLOCK /de…

GD32F470_AS608光学指纹识别模块 指纹采集/STM32 51单片机模块移植

2.7 指纹识别传感器 光学指纹识别传感器采用了国内著名指纹识别芯片公司杭州晟元芯片技术有限公司(Synochip) 的 AS608 指纹识别芯片。芯片内置 DSP 运算单元,集成了指纹识别算法,能高效快速采集 图像并识别指纹特征。模块配备了串口、USB 通讯接口&…

【Claude 3】This organization has been disabled.此组织已被禁用。(Claude无法对话的原因和解决办法)

Claude对话提示 This organization has been disabled.此组织已被禁用。 This organization has been disabled.此组织已被禁用。 This organization has been disabled.此组织已被禁用。 问题截图 问题原因 出现该页面,表示您的账户已经无法使用,可能…

Redis安装说明

Redis安装说明 大多数企业都是基于Linux服务器来部署项目,而且Redis官方也没有提供Windows版本的安装包。因此课程中我们会基于Linux系统来安装Redis. 此处选择的Linux版本为CentOS 7. Redis的官方网站地址:https://redis.io/ 1.单机安装Redis 1.1.…

99%的人不知道,Oracle resetlogs强制开库需要推进SCN?

📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜&am…

IDEA2023创建SpringMVC项目

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 开发环境篇 ✨特色专栏: M…

1-32 异常

一 什么是异常? 1.含义:异与正常状态的显示,控制台显示的结果和预期的结果不一致 2.例如: int[] nums new int[2]; System.out.println(nums[2]); --抛出异常 二 异常分类 1.检测性异常:又称 非运行时异常,一般编写代码过程中编辑器直接报错 2.非检测性异常(常用):又称为…

[StartingPoint][Tier0]Preignition

Task 1 Directory Brute-forcing is a technique used to check a lot of paths on a web server to find hidden pages. Which is another name for this? (i) Local File Inclusion, (ii) dir busting, (iii) hash cracking. (目录暴力破解是一种用于检查 Web 服务器上的大…

【Python使用】嘿马头条完整开发md笔记第4篇:数据库,1 方案选择【附代码文档】

嘿马头条项目从到完整开发笔记总结完整教程(附代码资料)主要内容讲述:课程简介,ToutiaoWeb虚拟机使用说明1 产品介绍,2 原型图与UI图,3 技术架构,4 开发,1 需求,2 注意事项。数据库,理解ORM1 简介,2 安装,3 数据库连接…

MPLS基本转发过程,隧道特性、对TTL的处理、BGP路由黑洞

MPLS基本转发过程,隧道特性 标签操作类型包括标签压入(Push)、标签交换(Swap)和标签弹出(Pop),它们是标签转发的基本动作。 倒数第二跳弹出特性PHP(Penultimate Hop Popp…

并查集python实现及题目练习

文章目录 1. 并查集概念1.1 理解并查集:简介与应用场景1.2 Python 实现并查集及优化策略1.3 扁平化栈实现1.4 分析并查集的时间复杂度 2. 情侣牵手3. 相似字符串4. 岛屿数量 如果想了解并查集基础推荐去看左程云大神的算法讲解,非常不错,b站和…

InterlliJ Debug方式启动 method breakpoints may dramatically show down debugging

使用idea在DEBUG的时候出现Method breakpoints may dramatically slow down debugging, 如图: 根据语义可能是断点打在方法上面了,导致在某个断点卡住了。 重启服务器和重启idea已然无解。 打开Breakpoints面板看看,(快捷键&…