保洁公司网站怎么做/怎么做百度关键词排名
文章目录
- 1. 雷达的基本概念
- 1.1 毫米波雷达分类
- 1.2 信息的传输
- 1.3 毫米波雷达的信号频段
- 1.4 毫米波雷达工作原理
- 1.4.1 毫米波雷达测速测距的数学原理
- 1.4.2 毫米波雷达测角度的数学原理
- 1.4.3 硬件接口
- 1.4.4 关键零部件
- 1.4.5 数据的协议与格式
- 1.5 车载毫米波雷达的重要参数
- 1.6 车载毫米波雷达的三种典型应用
- 2. FMCW雷达的工作流程
- 2.1 线性调频脉冲信号
- 2.2 混频器
- 2.3 单目标距离估计
- 2.4 多目标距离估计
- 2.5 单目标速度估计
- 2.6 多目标速度估计
- 参考文献
- 声明
1. 雷达的基本概念
无线电探测及测距(Radio Detection and Ranging), 发射电磁波并接收目标反射的回波信号,通过对比发射信号与回收信号,获取目标的位置、速度等信息。
1.1 毫米波雷达分类
雷达的分类
• 所发射电磁波的频段,决定了雷达的基本性能特点
• 超视距雷达、微波雷达、毫米波雷达、激光雷达、…
- 按照用途分类:军用,气象,导航,车载
- 按照波长分类:米,分米,厘米,毫米
- 按照波形分类:脉冲,连续波
按照波长和用途分类
- 长波雷达(米,分米),分辨率低,穿透性强
➢一般用于广播,军事预警,卫星通讯等: - 短波雷达(厘米,毫米),分辨率高,穿透性差
➢一般用于测绘,短程通讯,车载应用等
按照波形分类
- 脉冲雷达
➢通过脉冲发送和接收的时间差来确定目标的距离
➢不能确定目标的速度 - 连续波雷达
➢发射信号在时间上是连续的
➢发射信号的频率是随着时间变化的(调频连续波)
1.2 信息的传输
◼ 调制:将调制信号(待传输信息)混合到载波信号(起到载运作
用的信号)的过程,可分为调频,调幅,调相。
◼ 解调:相反的过程,即从混合信号中恢复出待传输信息。
◼ 带宽:调制信号频谱的宽度,带宽高有利于传输更多数据。
- 毫米波雷达使用的电磁波波长介于1-10mm,波长短、频段宽,比较 容易实现窄波束,雷达分辨率高,不易受干扰
- 早期被应用于军事领域,随着雷达技术的发展与进步,毫米波雷达传 感器开始应用于汽车电子、无人机、智能交通等多个领域。
1.3 毫米波雷达的信号频段
频率 | 24GHz | 77GHz |
---|---|---|
探测范围 | 探测距离短,探测角度(FOV)大 | 探测距离长,探测角度小 |
频段限制 | 24GHz频段因与其他无线电设备共享,必须限制发射功率 | 独占频段 |
带宽 | 小于1GHz | 可达4GHz |
优势 | 在中短距测距有明显优势;探测范围FOV更大 | 波长更短波束更窄;识别精度高且穿透力更强;带宽更大可兼顾远中近不同场景 |
代表产品 | 大陆 ARS208,Hella 24GHz角雷达 | 大陆 ARS408,BOSCH LRR4 |
1.4 毫米波雷达工作原理
在车载毫米波雷达中,目前主要有三种调制方案:调频连续波(Frequency
Modulated Continuous Wave, FMCW),频移键控(Frequency Shift Keying, FSK)以及相移键控(Phase Shift Keying, PSK)。
主流车载毫米波雷达所采用的的调制信号为调频连续波FMCW。
其基本原理是在发射端发射一个频率随时间变化的信号,经目标反射后被接收机接收,通过反射信号和接收信号之间的混频,得出两个信号的频率差,随后通过电磁波传播公式和多普勒效应公式求出目标距离和速度.
⚫ 测距测速是通过分析发射和接收的调频连续之间的区别来实现
⚫ 测量角度是通过计算不同天线单元之间的延时差来计算
1.4.1 毫米波雷达测速测距的数学原理
这里首先分析 0<t<T/20<t<T/20<t<T/2 时收发信号的关系。在调频连续波雷达中,本振信号的频率在半个周期内是随时间成线性关系变化的,即fLO(t)=f0+kt(0<t<T2){f_{LO}}(t) = {f_0} + kt{\rm{ }}(0 < t < \frac{T}{2})fLO(t)=f0+kt(0<t<2T) 其中 f0f_0f0 是初始时刻的频率,kkk 是频率随时间变化的斜率。因为频率是相位关于时间 ttt 的导数,因此相位可以表示为频率关于时间 ttt 的积分,即ϕ(t)=2π∫f(t)dt=πkt2+2πf0t+ϕ0\phi (t) = 2\pi \int {f(t)dt = \pi k{t^2} + 2\pi {f_0}t + {\phi _0}} ϕ(t)=2π∫f(t)dt=πkt2+2πf0t+ϕ0 其中 ϕ0\phi _0ϕ0 是初始相位,因此本振信号关于时间的表达式可以写成VLO(t)=V1cos(πkt2+2πf0t+ϕ0){V_{LO}}(t) = {V_1}\cos (\pi k{t^2} + 2\pi {f_0}t + {\phi _0})VLO(t)=V1cos(πkt2+2πf0t+ϕ0) 其中 V1V_1V1 是本振信号的幅度,由于该本振信号的频率是随时间呈连续周期性变化的,所以称之为调频连续波,本振信号经过功率放大器(Power Amplifier, PA)放大后,由天线发射到自由空间中,这里把 PA 和天线的总增益记为 G1G_1G1,则发射信号为VTX(t)=G1V1cos(πkt2+2πf0t+ϕ0){V_{TX}}(t) = {G_1}{V_1}\cos (\pi k{t^2} + 2\pi {f_0}t + {\phi _0})VTX(t)=G1V1cos(πkt2+2πf0t+ϕ0) 该信号经过空气传播到目标表面,被目标反射,最后由接收机接收,信号往返的传播时间为 τττ,若雷达和目标的距离为r(t)r(t)r(t),则τ=2r(t)c=2(r0+vt)c\tau = \frac{{2r(t)}}{c} = \frac{{2({r_0} + vt)}}{c}τ=c2r(t)=c2(r0+vt) 其中 ccc 为电磁波在空气中的传播速度,r0r_0r0 是初始距离,vvv 为雷达和目标间的相对速度。
电磁波在空气中传播和被目标反射的过程也会带来一定损耗,损耗系数记作 α1α_1α1,则接收信号可以表示为VRX(t)=α1G1V1cos(πk(t−τ)2+2πf0(t−τ)+ϕ0){V_{RX}}(t) = {\alpha _1}{G_1}{V_1}\cos (\pi k{(t - \tau )^2} + 2\pi {f_0}(t - \tau ) + {\phi _0})VRX(t)=α1G1V1cos(πk(t−τ)2+2πf0(t−τ)+ϕ0) 这里再介绍以下混频的概念:
混频:输出信号频率等于两输入信号频率之和、差或其他组合的电路。
常用方法:cosα⋅cosβ=[cos(α+β)+cos(α−β)]/2\cos \alpha \cdot \cos \beta = [\cos (\alpha + \beta ) + \cos (\alpha - \beta )]/2cosα⋅cosβ=[cos(α+β)+cos(α−β)]/2
接收信号经过低噪声放大器(Low Noise Amplifier, LNA)放大后,与本振信号进行混频。混频后的信号包含了高频分量和低频分量,将该信号通过一个低通滤波器可得(假设通带内的增益为单位增益):VIF(t)=α1G1G2V12cos(2πkτt+2πf0τ−πkτ2){V_{IF}}(t) = {\alpha _1}{G_1}{G_2}{V_1}^2\cos (2\pi k\tau t + 2\pi {f_0}\tau - \pi k{\tau ^2})VIF(t)=α1G1G2V12cos(2πkτt+2πf0τ−πkτ2) 求导,即可求出中频频率(混频后的信号经低通滤波后所得低频分量,又叫中频频率 f𝐼𝐹f_{𝐼𝐹}fIF(intermediate frequency)为,是RX与TX之差。)fIF(t)≈2kr0c+2f0vc{f_{IF}}(t) \approx \frac{{2k{r_0}}}{c} + \frac{{2{f_0}v}}{c}fIF(t)≈c2kr0+c2f0v 只知道上式是无法求出速度和距离的,所以需要用到三角波的原理进行求解,三角波有两个斜率,一正一负,可以得到两个表达式,进而可以求解出距离rrr和速度vvv。三角波的周期为 TTT,最低频率、最高频率和中心频率分别为 fa、fb、fcf_a、f_b、f_cfa、fb、fc,其带宽 B=fb−faB=f_b-f_aB=fb−fa,三角波的斜率为k=2BT=2(fb−fa)Tk = \frac{{2B}}{T} = \frac{{2({f_b} - {f_a})}}{T}k=T2B=T2(fb−fa) 上升、下降区间的中频频率分别为 𝑓1𝑓_1f1, 𝑓2𝑓_2f2,斜率为kkk, 光速为ccc,变频后的结果如下f1=2krc+2fcvc{f_1} = \frac{{2kr}}{c} + \frac{{2{f_c}v}}{c}f1=c2kr+c2fcvf2=−2krc+2fcvc{f_2} = \frac{{ - 2kr}}{c} + \frac{{2{f_c}v}}{c}f2=c−2kr+c2fcv 因此可以解出速度和距离v=(f1+f2)c4fcv = \frac{{({f_1} + {f_2})c}}{{4{f_c}}}v=4fc(f1+f2)cr=(f1−f2)c4kr = \frac{{({f_1} - {f_2})c}}{{4k}}r=4k(f1−f2)c
1.4.2 毫米波雷达测角度的数学原理
一对收发机所采集到的信号是不具备角度信息的, 因此需要采用多路发射多路接收的架构,或者采用相控阵架构。
短波长和小天线孔径就很有必要了,
•短波长意味着波束更窄,能量更加集中;
•更小的孔径尺寸意味着系统上能集成更多的天线单元
这些都有利于提高角分辨率。
1.4.3 硬件接口
⚫ 天线向外发射毫米波,接收目标反射信号
⚫ 信号处理器完成回波信号处理
⚫ 算法芯片完成原始点云目标的进一步处理
⚫ CAN接口完成毫米波处理数据的发送以及配置信息的输入
1.4.4 关键零部件
毫米波雷达的天线接发系统
• PCB板实现MMIC(单片微波集成电路)
• 包括接收电路单元,负责发射与接收连续调频波
毫米波雷达的信号处理芯片
• 包含信号处理器和算法芯片
• 完成回波信号处理与目标感知结果的计算
1.4.5 数据的协议与格式
传输层协议:网口UDP/IP协议,或者CAN接口
- 控制器局域网总线(CAN,Controller Area Network)是一种用 于实时应用的串行通讯协议总线
数据格式:按照CAN编码机制,确定雷达的输入配置信息与输出数据格式
- CAN报文
13个字节 信息段(5Byte)+数据段(8Byte)
数据段按照事先规定好的报文规则进行编码和解码 - CAN报文解析使用方法
数据内容:不同内容使用不同的CAN协议
Cluster类型:包含3类message: - Header(数量n)
- +n个数据消息(距离/角度/速度)
- +n个质量消息(数据的方差)(1≤n ≤ 256)
1.5 车载毫米波雷达的重要参数
常见参数:
-
测量性能 测距范围
距离/水平角/速度 分辨率 (可对两个物体进行区分的最小单位)
距离/水平角/速度 精度 (测量不确定性) -
操作条件 雷达发射功率、传输能力、电源、功耗、操作温度
1.6 车载毫米波雷达的三种典型应用
毫米波雷达具有全天侯适应性,是高级别自动驾驶实现必备的环境感知传感器.
77GHz及79GHz雷达是未来车载毫米波雷达的发展方向,国内正处于快速追赶时期
2. FMCW雷达的工作流程
PS:此部分主要是为了简单理解FMCW雷达的工作原理,是对第一章内容的补充。
总结一下,FMCW雷达的工作流程:
- 合成器生成一个线性调频信号 ;
- 发射天线( TX )发射线性调频信号;
- 接收天线( RX )捕获目标对线性调频信号的反射;
- 混频器将RX和TX信号合并到一-起,生成一个中频(IF )信号。
2.1 线性调频脉冲信号
对于一个脉冲信号
- 信号的频率随时间的变化线性升高
- 起始频率fcf_cfc,持续时间TcT_cTc,带宽BBB,频率变化率SSS
2.2 混频器
作用:将TX和RX的信号合并生成一个新的信号IF
TX发射信号:x1=sin(2πf1t+ϕ1){x_1} = \sin (2\pi {f_1}t + {\phi _1})x1=sin(2πf1t+ϕ1)
RX接收信号:x2=sin(2πf2t+ϕ2){x_2} = \sin (2\pi {f_2}t + {\phi _2})x2=sin(2πf2t+ϕ2)
中频信号IF:xout=sin(2π(f1−f2)t+ϕ1−ϕ2)=sin(2πΔft+Δϕ)\begin{array}{c}{x_{out}} = \sin (2\pi ({f_1} - {f_2})t + {\phi _1} - {\phi _2})\\ = \sin (2\pi \Delta ft + \Delta \phi )\end{array}xout=sin(2π(f1−f2)t+ϕ1−ϕ2)=sin(2πΔft+Δϕ)
对于单个静止目标,RX和TX脉冲 之间的时间差是固定为τττ。因此,频率差也是固定的,也就是说IF是一个频率恒定的单音信号。IF的Δf\Delta fΔfΔϕ\Delta \phiΔϕ用以估计速度和距离。
2.3 单目标距离估计
PS:此处估计为了简要分析,雷达与目标的相对速度为0.
RX和TX之间的时间差为τ=2rc\tau = \frac{{2r}}{c}τ=c2r,rrr为距离,ccc为光速。由此可以推出τ=2rc⇒r=Δf⋅c2S\tau = \frac{{2r}}{c} \Rightarrow r = \frac{{\Delta f \cdot c}}{{2S}}τ=c2r⇒r=2SΔf⋅c
从上式可以看出,最大探测距离rrr受限于Δf\Delta fΔf的最大值,Δf\Delta fΔf受限于以下两个因素:
- 带宽BBB:Δf<B\Delta f<BΔf<B,因此r<B⋅c2Sr < \frac{{B \cdot c}}{{2S}}r<2SB⋅c
- IF信号的采样频率FSF_SFS:FS>2ΔfF_S>2\Delta fFS>2Δf
假设一个chirp内的采样频率为NNN,FS=N/TcF_S=N/T_cFS=N/Tc,可得
r<FS⋅c4S=N⋅c4TcS=N⋅c4Br < \frac{{{F_S} \cdot c}}{{4S}} = \frac{{N \cdot c}}{{4{T_c}S}} = \frac{{N \cdot c}}{{4B}}r<4SFS⋅c=4TcSN⋅c=4BN⋅c
最大探测距离主要受限于FsF_sFs,并且与BBB成反比
2.4 多目标距离估计
图片来源
- 来自三个目标的RX接收信号,每个信号有不同的延时,延时和与目标的距离成正比。
- 不同的RX接收信号转化为多个单音信号,每个信号的频率差是恒定的(fb1,fb2,fb3)f_{b1},f_{b2},f_{b3})fb1,fb2,fb3)
- 混频器输出的是多个单音信号的叠加。对该信号进行FFT操作,会产生一个具有不同的峰值的频谱,每个峰值表示在特定距离处的目标。
距离分辨率是指雷达能区分两个不同目标的最小距离。傅里叶变换理论指出:观测时间窗口T,可以分辨间隔超过1/T1/T1/T Hz的频率分量。因此,两个目标反射信号频率差的差值需要满足∣Δf1−Δf2∣>1Tc\left| {\Delta {f_1} - \Delta {f_2}} \right| > \frac{1}{{{T_c}}}∣Δf1−Δf2∣>Tc1根据测距公式:∣Δf1−Δf2∣=2SΔrc\left| {\Delta {f_1} - \Delta {f_2}} \right| = \frac{{2S\Delta r}}{c}∣Δf1−Δf2∣=c2SΔr可以得到最小分辨距离Δr>c2STc=c2B\Delta r > \frac{c}{{2S{T_c}}} = \frac{c}{{2B}}Δr>2STcc=2Bc因此,从式子中我们可以得到提高分辨率的方法:提高带宽BBB,延长chirp信号。
2.5 单目标速度估计
FMCW雷达会发射两个间隔TcT_cTc的线性调频脉冲(两个Chirp) ,相应的IF信号为:
在这里有两个近似条件:
- 在一个chirp时间(Tc=40μs{T_c} = 40\mu sTc=40μs)内,目标的移动距离可以近似看成不变。
- TX与RX的频率基本不变:Δf1≈Δf2\Delta {f_1} \approx \Delta {f_2}Δf1≈Δf2
相位计算公式:Δϕ=2πfτ=2πcτλ=4πrλ\Delta \phi = 2\pi f\tau = \frac{{2\pi c\tau }}{\lambda } = \frac{{4\pi r}}{\lambda }Δϕ=2πfτ=λ2πcτ=λ4πr其中,fff是发射信号频率,τττ是时间延迟,λλλ是发射信号波长,rrr是目标距离。
相位变化为Δϕ1−Δϕ2=4π(r1−r2)λ=4πvTcλ\Delta {\phi _1} - \Delta {\phi _2} = \frac{{4\pi ({r_1} - {r_2})}}{\lambda } = \frac{{4\pi v{T_c}}}{\lambda }Δϕ1−Δϕ2=λ4π(r1−r2)=λ4πvTc用λ=4×10−3,v=10m/s\lambda = 4 \times {10^{ - 3}},v=10m/sλ=4×10−3,v=10m/s估算,得到相位变化为0.4π0.4\pi0.4π,较大。
因此得到速度的估计公式:v=(Δϕ1−Δϕ2)λ4πTcv = \frac{{(\Delta {\phi _1} - \Delta {\phi _2})\lambda }}{{4\pi {T_c}}}v=4πTc(Δϕ1−Δϕ2)λ限制∣Δϕ1−Δϕ2∣<π{\left| {\Delta {\phi _1} - \Delta {\phi _2}} \right| < \pi }∣Δϕ1−Δϕ2∣<π时有效,则得到v<λ4Tcv < \frac{\lambda }{{4{T_c}}}v<4Tcλ
2.6 多目标速度估计
发射一组M个等间隔线性调频脉冲(M个Chirp),
对N这个维度进行FFT处理(距离FFT) ,得到M个频谱。
- 如果目标距离相同,速度不同,M个频谱的峰值相同,但相位不同,包含来自多个目标的相位成分。
- 如果目标距离不同,速度不同,M个频谱都会出现多个峰值,每个峰值的相位都不同。
对M这个维度进行FFT处理(速度FFT) ,可以分离多个相位分量。
速度分辨率:雷达能区分两个不同目标的最小速度差。
傅里叶变换理论指出:两个离散频率ω1\omega_1ω1和ω2\omega_2ω2在满足∇ω=ω1−ω2>2π/M\nabla \omega = {\omega _1} - {\omega _2} > 2\pi /M∇ω=ω1−ω2>2π/M时,是可以分辨的。∇ϕ1−∇ϕ2=4πTcλ(v1−v2)>2π/M\nabla {\phi _1} - \nabla {\phi _2} = \frac{{4\pi {T_c}}}{\lambda }({v_1} - {v_2}) > 2\pi /M∇ϕ1−∇ϕ2=λ4πTc(v1−v2)>2π/M(v1−v2)>λ2TcM=λ2Tf({v_1} - {v_2}) > \frac{\lambda }{{2{T_c}M}} = \frac{\lambda }{{2{T_f}}}(v1−v2)>2TcMλ=2TfλTfT_fTf为一帧的时间
提高速度分辨率的方法:提高帧时间,Chirp时 间固定的话等价于增加Chirp个数。
参考文献
[1] Milovanovic Vladimir M… On fundamental operating principles and range-doppler estimation in monolithic frequency-modulated continuous-wave radar sensors[J]. Facta universitatis - series: Electronics and Energetics,2018,31(4).
声明
本人所有文章仅作为自己的学习记录,若有侵权,联系立删。本系列文章主要参考了清华大学、北京理工大学、哈尔滨工业大学、深蓝学院、百度Apollo等相关课程。
相关文章:

自动驾驶感知——毫米波雷达
文章目录1. 雷达的基本概念1.1 毫米波雷达分类1.2 信息的传输1.3 毫米波雷达的信号频段1.4 毫米波雷达工作原理1.4.1 毫米波雷达测速测距的数学原理1.4.2 毫米波雷达测角度的数学原理1.4.3 硬件接口1.4.4 关键零部件1.4.5 数据的协议与格式1.5 车载毫米波雷达的重要参数1.6 车载…...

取电芯片全协议都可兼容
乐得瑞PD协议芯片/PD取电芯片/PD受电端协议芯片 支持5/9/12/15/20v定制 1、概述 LDR6328S 是乐得瑞科技有限公司开发的一款兼容 USB PD、QC 和 AFC 协议的 Sink 控制器。 LDR6328S 从支持 USB PD、QC 和 AFC 协议的适配器取电,然后供电给设备。比如可以配置适配器输…...

自己总结优化代码写法
jdk1.7新特性详解 开发期间略知jdk1.7的一些特性,没有真正的一个一个得展开研究,而是需要说明再去查,导致最整个新特性不是特别的清楚,这种情况以后得需要改变了,否则就会变成代码的奴隶。现在正好有时间可以细细的研…...

Java体系最强干货分享—挑战40天准备Java面试,最快拿到offer!
如何准备java面试,顺利上岸大厂java岗位? 主攻Java的人越来越多,导致行业越来越卷,最开始敲个“hello world”都能进大厂,现在,八股、全家桶、算法等等面试题横行,卷到极致!就拿今年…...

云计算|OpenStack|错误记录和解决方案(不定时更新)
前言: openstack的部署和使用是难度比较大的,难免会出现各种各样的问题,因此,本文将把一些在部署和使用openstack社区版时出现的错误做一个记录,并就每一个错误分析和解决问题。(尽量记录比较经典的错误&a…...

项目实战-NewFixedThreadPool线程池
目录 什么是线程池 线程池的类型 1.CachedThreadPool 2.FixedThreadPool 3.ScheduledThreadPool 4.SingleThreadPool 5.newWorkStealingPool 线程池的好处 1、线程池的重用 2、控制线程池的并发数 3、线程池可以对线程进行管理 线程池的示例 1.Client启动类 2.具体…...

导数与微分总复习——“高等数学”
各位CSDN的uu们你们好呀,今天,小雅兰来复习一下之前学过的知识点,也就是导数与微分的总复习,依旧是高等数学的内容,主要是明天就要考高等数学了,哈哈哈,下面,让我们一起进入高等数学…...

Linux软件安装
1.Linux安装JDK 1.安装位置 /opt 2.安装包 jdk-8u171-linux-x64.rpm 3.安装步骤 1.将安装包上传到虚拟机中 [rootlocalhost opt]# ls jdk-8u171-linux-x64.rpm2.执行安装命令 [rootlocalhost opt]# rpm -ivh jdk-8u171-linux-x64.rpm 准备中... #####…...

【表面缺陷检测】基于YOLOX的PCB表面缺陷检测(全网最详细的YOLOX保姆级教程)
写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 Hello,大家好,我是augustqi。 今天给大家分享一个表面缺陷检测项目:基于YOLOX的PCB表面缺陷检测(保姆级教程)。多的…...

【C#基础】C# 程序基础语法解析
序号系列文章0【C#基础】初识编程语言C#1【C#基础】C# 程序通用结构总结 文章目录前言基础语法1. using 关键字2. namespace 关键字3. class 关键字4. 成员字段5. 成员方法6. Main 方法7. new 关键字8. 标识符9. 关键字结语前言 😄 大家好,我是writer桑&…...

【webpack】webpack 中的插件安装与使用
一、webpack 插件的作用 通过安装和配置第三方的插件,可以拓展 webpack 的能力,从而让 webpack 用起来更方便。最常用的 的webpack 插件有如下两个: 1.webpack-dev-server(实时打包构建) 类似于 node.js 阶段用到的 no…...

生物素-磺基-活性酯,Sulfo-NHS Biotin科研用试剂简介;CAS:119616-38-5
生物素-磺基-活性酯,Sulfo-NHS Biotin 结构式: 编辑 添加图片注释,不超过 140 字(可选) 英文名称:Sulfo-NHS-Biotin Sulfosuccinimidyl biotin 中文名称:磺酸基-Biotin-N-琥珀酰亚胺基酯 CAS&…...

Debain安装命令
目录 一、安装sudo命令 二、安装jdk8 三、更换软件源 四、Debian 安装 yum 五、安装zip、unzip、curl、lrzsz、NUMA 六、安装Maven 五、问题 一、安装sudo命令 1)执行sudo命令,提示 -bash: sudo: command not found的解决方法 apt-get install s…...

2023-02-10 - 6 聚合
当用户使用搜索引擎完成搜索后,在展示结果中需要进行进一步的筛选,而筛选的维度需要根据当前的搜索结果进行汇总,这就用到了聚合技术。聚合的需求在很多应用程序中都有所体现,例如在京东App中搜索“咸鸭蛋”,然后单击搜…...

Servlet实现表白墙
目录 一、表白墙简介 二、代码实现 1、约定前后端交互的接口 2、后端代码实现 3、前端代码实现 三、效果演示 一、表白墙简介 在表白墙页面中包含三个文本框,分别表示表白者,表白对象,表白内容,在文本框中输入内容之后&…...

[python入门㊸] - python测试函数
目录 ❤ 测试函数 ❤ 单元测试和测试用例 ❤ 可通过的测试 ❤ 不能通过的测试 ❤ 测试未通过时怎么办 ❤ 添加新测试 ❤ 测试函数 学习测试,得有测试的代码。下面是一个简单的函数: name_function.py def get_formatted_name(first, last):…...

通讯录文件操作化
宝子,你不点个赞吗?不评个论吗?不收个藏吗? 最后的最后,关注我,关注我,关注我,你会看到更多有趣的博客哦!!! 喵喵喵,你对我真的很重…...

为什么 Web3 社交将超越其 Web2 同行
我们最近听到了很多关于 web3 社交媒体平台的消息。但如果你没有跟上,你可能想知道为什么我们已经有了 Twitter、Facebook、Instagram 等,我们还需要 web3 社交。好吧,这一切都取决于谁拥有权力。 在 web2 中,权力掌握在寻求收入最…...

当资深程序员深夜去“打劫”会发生什么?——打家劫舍详解
文章目录一、前言二、概述三、打家劫舍第一晚四、打家劫舍第二晚五、打家劫舍第三晚......一、前言 大家好久不见,正如标题所示,今天我不打算聊一些枯燥的算法理论,我们来聊一聊程序员有多厉害! 注意!!&am…...

linux 线程
文章目录1、线程的概念1.1、进程 vs 线程1.2、线程的种类2、线程的控制2.1、线程的创建2.2、线程的退出2.3、线程的取消2.4、线程的等待2.5、线程的分离2.5、线程清理函数线程清理函数响应的时机线程清理函数不响应的时机3、线程的同步和互斥3.1、锁机制3.1.1、锁的类型3.1.2、…...

Windows 安装appium环境
1 windows Appium环境 1.1 安装Node.js Node.js的安装相对简单,下载安装包安装(安装包node-v19.6.0-x64.msi), nodejs 安装 然后一路狂点下一步就可以了 安装完成后,在终端中输入node -v,显示版本号则表示安装成功 node-v16.13.1 1.2 JDK安装及环境变…...

为什么要在电子产品中使用光耦合器?
介绍 光耦合器不仅可以保护敏感电路,还可以使工程师设计各种硬件应用。光耦合器通过保护元件,可以避免更换元件的大量成本。然而,光耦合器比保险丝更复杂。光耦合器还可以通过光耦合器连接和断开两个电路,从而方便地控制两个电路…...

Vue3 如何实现一个函数式右键菜单(ContextMenus)
前言: 最近在公司 PC 端的项目中使用到了右键出现菜单选项这样的一个工作需求,并且自己现在也在实现一个偶然迸发的 idea( 想用前端实现一个 windows 系统从开机到桌面的 UI),其中也要用到右键弹出菜单这样的一个功能,…...

ffmpeg转码转封装小工具开发
如下图所示,是本人开发的一个转码转封装小工具 其中目标文件视频编码格式支持:H264,H265,VP8,VP9。 目标文件封装格式支持:mp4,mkv,avi,mov,flv。 目标文件音频编码格式支持两个,COPY和AAC&am…...

重入和线程安全
在整个文档中,重入和线程安全用于标记类和函数,从而表明怎样在多线程应用中使用它们。 线程安全函数可以从多个线程同时调用,即使调用使用共享数据也是如此,因为对共享数据的所有引用都是序列化的。也可以从多个线程同时调用重入…...

MySQL数据库06——条件查询(WHERE)
MySQL条件查询,主要是对数据库里面的数据按照一定条件进行筛选,主要依靠的是WHERE语句进行。 先来了解一下基础的条件运算。 关系运算符 逻辑运算符 逻辑运算符优先级:NOT>AND>OR,关系运算符>逻辑运算符 SQL特殊运算符…...

Lesson 6.5 机器学习调参基础理论与网格搜索
文章目录一、机器学习调参理论基础1. 机器学习调参目标及基本方法2. 基于网格搜索的超参数的调整方法2.1 参数空间2.2 交叉验证与评估指标二、基于 Scikit-Learn 的网格搜索调参1. sklearn 中网格搜索的基本说明2. sklearn 中 GridSearchCV 的参数解释3. sklearn 中 GridSearch…...

leetcode: Two Sum
leetcode: Two Sum1. 题目1.1 题目描述2. 解答2.1 baseline2.2 基于baseline的思考2.3 优化思路的实施2.3.1 C中的hashmap2.3.2 实施2.3.3 再思考2.3.4 最终实施3. 总结1. 题目 1.1 题目描述 Given an array of integers nums and an integer target, return indices of the …...

共享模型之无锁(三)
1.原子累加器 示例代码: public class TestAtomicAdder {public static void main(String[] args) {for (int i 0; i < 5; i) {demo(() -> new AtomicLong(0),(adder) -> adder.getAndIncrement());}for (int i 0; i < 5; i) {demo(() -> new LongAdder(),(…...

微信小程序 Springboot校运会高校运动会管理系统
3.1小程序端 小程序登录页面,用户也可以在此页面进行注册并且登录等。 登录成功后可以在我的个人中心查看自己的个人信息或者修改信息等 在广播信息中我们可以查看校运会发布的一些信息情况。 在首页我们可以看到校运会具体有什么项目运动。 在查看具体有什么活动我…...