当前位置: 首页 > news >正文

波动理论、传输线和S参数网络

波动理论、传输线和S参数网络

传输线

求解传输线方程

对于传输线模型,我们通常用 R L G C RLGC RLGC 来表示:

传输线模型

其中 R R R 可以表示导体损耗,由于电子流经非理想导体而产生的能量损耗。 G G G 表示介质损耗,由于非理想电介质的存在,电介质可能存在微小的泄漏电荷或者由于介质电导和介质极化的滞后效应,在其内部引起的能量损耗。

L L L C C C 参数才是能量交换的响应元件。若 R = 0 , G = 0 R=0, G=0 R=0,G=0 那么称为理想传输线,理想传输线不实际消耗能量,只传递能,下文无特殊情况我们仅讨论理想传输线模型,但大多数计算也同样适用于一般传输线模型。

需要注意的是 R L G C RLGC RLGC 都是在微分方程条件下定义的,分别为单位长度下的量值,例如 R R R 的单位为 Ohm/m \text{Ohm/m} Ohm/m ,而不是 Ohm \text{Ohm} Ohm

通过求解微分方程,我们可以得到传输线上电压和电流的一般方程,为了方便说明结论,这里省去计算过程。

V ( d ) = V + e − k d + V − e + k d V(d) = V^+ e^{-kd} + V^- e^{+kd} V(d)=V+ekd+Ve+kd

I ( d ) = I + e − k d + I − e + k d I(d) = I^+ e^{-kd} + I^- e^{+kd} I(d)=I+ekd+Ie+kd

其中 V + V^+ V+ V − V^- V I + I^+ I+ I − I^- I 分别为四个复常数,与微分方程的初始条件有关。

k k k 为复传播系数:

k = ( R + j w L ) ( G + j w C ) k = \sqrt{(R+jwL)(G+jwC)} k=(R+jwL)(G+jwC)

d d d 表示沿传输线方向上的距离, d d d 的正方向和电流的方向一致。

波动电压电流理论

观察某一个位置 d d d 上的电压电流,我们发现,电压电流分别有两项组成。例如对于电压,其中 V + e − k d V^+ e^{-kd} V+ekd 我们习惯上称为正向电压波,因为假设 k k k 是个正实数,那么当 d d d 沿着 d = 0 d=0 d=0 d = + ∞ d=+\infty d=+ 移动的时候, V + e − k d V^+ e^{-kd} V+ekd 项呈现衰减的变化趋势,这也符合直观的感受。

正向电压波

例如上图,假设我们在 d = 0 d=0 d=0 处发射一个波形,由于传输损耗的存在,则波形沿着 d d d 的正方向呈现衰减趋势。

相同的, V − e + k d V^- e^{+kd} Ve+kd 称为反向电压波,波形沿着 d d d 的反方向呈现衰减趋势,电流也有相同的结论。需要注意的是,和电流方向和电压正负这些相同,这些都是人为的相对定义,而不是绝对定义。

那么对于传输线某一个位置 d d d 上的总的电压电流,可以分解成正向波和反向波两个分量的叠加:

波分解

注意图中的电流电压方向,虽然它们一个叫正向波,另一个叫反向波,为了表达方便,定义上它们的正方向都是一样的。

特征阻抗

V + V^+ V+ V − V^- V I + I^+ I+ I − I^- I 并不是无关参数,通过微分方程,我们可以得到如下的关系:

Z 0 = V + I + = − V − I − Z_0 = \frac{V^+}{I^+} = -\frac{V^-}{I^-} Z0=I+V+=IV

这里常数 Z 0 Z_0 Z0 称为传输线的特征阻抗,具有阻抗的量纲:

Z 0 = R + j w L G + j w C Z_0 = \sqrt{\frac{R+jwL}{G+jwC}} Z0=G+jwCR+jwL

到这里特征阻抗阻抗的定义就很明显了,它表示某点总电压分量中,正向电压波看到的阻抗为 Z 0 Z_0 Z0 ,而反向电压波看到的阻抗为 − Z 0 -Z_0 Z0

V + e − k d I + e − k d = V + I + = Z 0 \frac{V^+ e^{-kd}}{I^+ e^{-kd}} = \frac{V^+}{I^+} = Z_0 I+ekdV+ekd=I+V+=Z0

V − e + k d I − e + k d = V − I − = − Z 0 \frac{V^- e^{+kd}}{I^- e^{+kd}} = \frac{V^-}{I^-} = -Z_0 Ie+kdVe+kd=IV=Z0

有时候,更加有用的是总阻抗,总阻抗才是我们常见意义下的阻抗定义,即假设端口有一个测试电压源,这个测试电压源看到的阻抗,表示某点总电压和总电流看到的阻抗:

Z ( d ) = V ( d ) I ( d ) = V + e − k d + V − e + k d I + e − k d + I − e + k d = Z 0 I + e − k d − I − e + k d I + e − k d + I − e + k d Z(d) = \frac{V(d)}{I(d)} = \frac{V^+ e^{-kd} + V^- e^{+kd}}{I^+ e^{-kd} + I^- e^{+kd}} = Z_0 \frac{I^+ e^{-kd} - I^- e^{+kd}}{I^+ e^{-kd} + I^- e^{+kd}} Z(d)=I(d)V(d)=I+ekd+Ie+kdV+ekd+Ve+kd=Z0I+ekd+Ie+kdI+ekdIe+kd

可见,不同位置处看向传输线的阻抗是不一样的,但总是 Z 0 Z_0 Z0 的乘以一个和位置相关的系数。

反射系数

有时候用四个 V + V^+ V+ V − V^- V I + I^+ I+ I − I^- I 常数参量表示并不是很方便,我们引入反射系数 Γ 0 \Gamma_0 Γ0 它表示入射波电压常量与反射波电压常量之比,其值也是一个常量:

Γ 0 = V − V + \Gamma_0 = \frac{V^-}{V^+} Γ0=V+V

这样电压波方程可以方便的表示成:

V ( d ) = V + ( e − k d + Γ 0 e + k d ) = V + e − k d ( 1 + Γ 0 e + 2 k d ) V(d) = V^+(e^{-kd}+\Gamma_0 e^{+kd}) = V^+ e^{-kd} (1 + \Gamma_0 e^{+2kd}) V(d)=V+(ekd+Γ0e+kd)=V+ekd(1+Γ0e+2kd)

若我们定义 Γ ( d ) = Γ 0 e + 2 k d \Gamma(d) = \Gamma_0 e^{+2kd} Γ(d)=Γ0e+2kd 为某一位置上的反射系数,那么电压波动方程可以为:

V ( d ) = V + e − k d ( 1 + Γ ( d ) ) V(d) = V^+ e^{-kd} (1 + \Gamma(d)) V(d)=V+ekd(1+Γ(d))

A ( d ) = V + e − k d A(d) = V^+ e^{-kd} A(d)=V+ekd 那么进一步:

V ( d ) = A ( d ) ( 1 + Γ ( d ) ) V(d) = A(d) (1 + \Gamma(d)) V(d)=A(d)(1+Γ(d))

对于电流波:

I ( d ) = A ( d ) Z 0 ( 1 − Γ ( d ) ) I(d) = \frac{A(d)}{Z_0} (1 - \Gamma(d)) I(d)=Z0A(d)(1Γ(d))

那么 Z Z Z 可以表示为:

Z ( d ) = V ( d ) I ( d ) = Z 0 1 + Γ ( d ) 1 − Γ ( d ) Z(d) = \frac{V(d)}{I(d)} = Z_0 \frac{1 + \Gamma(d)}{1 - \Gamma(d)} Z(d)=I(d)V(d)=Z01Γ(d)1+Γ(d)

如此定义,给予了波动方程一种非常简洁的表示。

终端条件

现在,我们讨论传输线不同的终端条件所带来的影响,以终端负载为 Z L Z_L ZL 为例,但是首先我们先考虑无损传输线,无损传输线中:

k = j w L C = j β = j w v p k = jw\sqrt{LC} = j \beta = j \frac{w}{v_p} k=jwLC =jβ=jvpw

在工程中,我们常用 α \alpha α 表示 k k k 的实部,用 β \beta β 表示 k k k 的虚部,此时 α = 0 \alpha = 0 α=0 β = w L C = w v p \beta = w\sqrt{LC} = \frac{w}{v_p} β=wLC =vpw v p v_p vp 为相速。在这里仅给出结论,因为我不想描述对理解传输线无用的太多的物理细节。

另外,波长的关系为:

v p = 1 L C v_p = \frac{1}{\sqrt{LC}} vp=LC 1

λ = v p f \lambda = \frac{v_p}{f} λ=fvp

那么:

Γ ( d ) = Γ 0 e + j 2 β d \Gamma(d) = \Gamma_0 e^{+j2\beta d} Γ(d)=Γ0e+j2βd

A ( d ) = V + e − j β d A(d) = V^+ e^{-j\beta d} A(d)=V+ejβd

有时候 β d \beta d βd 又称为角长度,它将实际的长度映射为角度。

其次我们规定求解的坐标原点和坐标方向:

规定方向

d = 0 d=0 d=0 处设为传输线终端,终端开路, d d d 的正方向沿着终端到源端方向,传输线长为 l l l ,特征阻抗为 Z 0 Z_0 Z0

首先我们可以根据终端条件求解 Γ 0 \Gamma_0 Γ0

Γ 0 = Z ( 0 ) − Z 0 Z ( 0 ) + Z 0 \Gamma_0 = \frac{Z(0) - Z_0}{Z(0) + Z_0} Γ0=Z(0)+Z0Z(0)Z0

Z ( 0 ) Z(0) Z(0) 是终端总阻抗,由于终端开路, Z ( 0 ) = Z L Z(0) = Z_L Z(0)=ZL ,因此:

Γ 0 = Z L − Z 0 Z L + Z 0 \Gamma_0 = \frac{Z_L - Z_0}{Z_L + Z_0} Γ0=ZL+Z0ZLZ0

那么:

Γ ( d ) = Γ 0 e − j 2 β d = Z L − Z 0 Z L + Z 0 e − j 2 β d \Gamma(d) = \Gamma_0 e^{-j2\beta d} = \frac{Z_L - Z_0}{Z_L + Z_0} e^{-j2\beta d} Γ(d)=Γ0ej2βd=ZL+Z0ZLZ0ej2βd

Z ( d ) = Z 0 1 + Γ ( d ) 1 − Γ ( d ) Z(d) = Z_0 \frac{1 + \Gamma(d)}{1- \Gamma(d)} Z(d)=Z01Γ(d)1+Γ(d)

Z i n = Z ( l ) = Z 0 1 + Γ ( l ) 1 − Γ ( l ) Z_{in} = Z(l) = Z_0 \frac{1 + \Gamma(l)}{1- \Gamma(l)} Zin=Z(l)=Z01Γ(l)1+Γ(l)

通过 Z i n Z_{in} Zin 我们总是可以将传输线视为一个集总参数的阻抗,这一点十分有用,特别是求解多元件方程。

特别的,当 Z L = Z 0 Z_L=Z_0 ZL=Z0 的时候, Γ 0 = 0 \Gamma_0 = 0 Γ0=0 那么 Γ ( d ) = 0 \Gamma(d) = 0 Γ(d)=0 Z ( d ) = Z 0 Z(d) = Z_0 Z(d)=Z0 , 这说明每一点看过去的阻抗都是 Z 0 Z_0 Z0 并且 V ( d ) = V + e + j β d V(d) = V^+ e^{+j\beta d} V(d)=V+e+jβd I ( d ) = I + e + j β d I(d) = I^+ e^{+j\beta d} I(d)=I+e+jβd 波只有入射波没有反射波。这种条件称为传输线的终端匹配。

广义波动分解

若我们允许定义长度为 0 0 0 的传输线,那么我们可以将任何的电压电流都可以分解为入射波和反射波。

假设某一位置处的电压电流为 V V V I I I 。那么在该点处建立长度为 0 0 0 的传输线且特征阻抗为 Z 0 Z_0 Z0 的方程:

V = V + + V − V = V^+ + V^- V=V++V

I = I + + I − = V + Z 0 − V − Z 0 I = I^+ + I^- = \frac{V^+}{Z_0} - \frac{V^-}{Z_0} I=I++I=Z0V+Z0V

求解得到:

I + = V + Z 0 I 2 Z 0 I^+ = \frac{V+Z_0I}{2Z_0} I+=2Z0V+Z0I

I − = Z 0 I − V 2 Z 0 I^- = \frac{Z_0I - V}{2Z_0} I=2Z0Z0IV

V + = V + Z 0 I 2 V^+ = \frac{V+Z_0I}{2} V+=2V+Z0I

V − = V − Z 0 I 2 V^- = \frac{V-Z_0I}{2} V=2VZ0I

例如,假设单个电阻上的电压为 5 V 5V 5V ,通过该电阻的电流为 1 A 1A 1A 假设假想 Z 0 = 50 O h m Z_0=50 Ohm Z0=50Ohm 根据以上分解:

I + = 0.55 , I − = 0.45 , V + = 27.5 , V − = − 22.5 I^+ = 0.55, I^- = 0.45, V^+ = 27.5, V^- = -22.5 I+=0.55,I=0.45,V+=27.5,V=22.5

理论上,单个集总参数的电阻并不会产生波动现象,但是通过级联一个假想的长度为 0 0 0 的传输线,也可以将其分解为波动项。

S参数网络

对于端口网络, Z Z Z 矩阵等都是建立在端口总电压和总电流的关系上。有时候建立在端口入射波和反射波的关系上反而更加有用,根据广义波动分解,端口总电压和总电流都可以分解为端口的入射波和反射波,这启发我们一个黑盒网络可以建立端口入射波和反射波的关系矩阵,这称为S参数网络。

我们定义端口 n n n 的归一化入射功率:

a n = V n + Z 0 I n 2 Z 0 = Z 0 I n + = V n + Z 0 a_n = \frac{V_n+Z_0I_n}{2\sqrt{Z_0}} = \sqrt{Z_0} I_n^+ = \frac{V_n^+}{\sqrt{Z_0}} an=2Z0 Vn+Z0In=Z0 In+=Z0 Vn+

其中 I n + I_n^+ In+ 是端口电流 I n I_n In 的正向波分量,而 V n + V_n^+ Vn+ 是端口电压 V n V_n Vn 的正向波分量。可以看到 a n a_n an I n + I_n^+ In+ V n + V_n^+ Vn+ 只差一个常数关系。因此可以将 a n a_n an I n + I_n^+ In+ V n + V_n^+ Vn+ 视为同一个量。

同理,定义端口 n n n 的归一化反射功率:

b n = V n − Z 0 I n 2 Z 0 = − Z 0 I n − = V n − Z 0 b_n = \frac{V_n-Z_0I_n}{2\sqrt{Z_0}} = -\sqrt{Z_0} I_n^- = \frac{V_n^-}{\sqrt{Z_0}} bn=2Z0 VnZ0In=Z0 In=Z0 Vn

那么一个 S 网络可以表示为:

S 网络
我们定义 a n a_n an 的方向永远是朝向端口内的方向而 b n b_n bn 的方向永远是朝向端口外的方向。

这样,我们就可以定义 S 矩阵:

[ b 1 b 2 ] = [ S 11 S 12 S 21 S 22 ] [ a 1 a 2 ] \begin{bmatrix} b_1 \\ b_2 \end{bmatrix}= \begin{bmatrix} S_{11} & S_{12} \\ S_{21} & S_{22} \end{bmatrix} \begin{bmatrix} a_1 \\ a_2 \end{bmatrix} [b1b2]=[S11S21S12S22][a1a2]

B = C A \mathbf{B} = \mathbf{C} \mathbf{A} B=CA 表明若已知所有端口的入射波,那么可以通过 C 矩阵求解端口的反射波。 S 网络就像镜子一样,将入射波线性反射回去。

需要注意的是 Z 0 Z_0 Z0 是我们假想的常量,与 S 网络内部无关。

求解S参数网络

首先若想求解 S 11 S_{11} S11 那么必须让 a 2 = 0 a_2=0 a2=0 此时:

S 11 = b 1 a 1 ∣ a 2 = 0 S_{11} = \left. \frac{b_1}{a_1} \right|_{a_2=0} S11=a1b1 a2=0

如果考虑在端口2接入一个阻值等于 Z 0 Z_0 Z0 的电阻:

匹配条件
对于端口 2 的电压电流有 I 2 = − V 2 Z 0 I_2 = -\frac{V_2}{Z_0} I2=Z0V2 的关系,注意电流是正向是流向端口内,并且电压和电流同向,对其进行波动分解:

V 2 + = V 2 + Z 0 I 2 2 = 0 V_2^+ = \frac{V_2+Z_0I_2}{2} = 0 V2+=2V2+Z0I2=0

V 2 − = V 2 − Z 0 I 2 2 = V 2 V_2^- = \frac{V_2-Z_0I_2}{2} = V_2 V2=2V2Z0I2=V2

因此 a 2 = V 2 + Z 0 = 0 a_2 = \frac{V_2^+}{\sqrt{Z_0}} = 0 a2=Z0 V2+=0 此条件下:

S 11 = V 1 − V 1 + = Γ 0 = Z i n − Z 0 Z i n + Z 0 S_{11} = \frac{V_1^-}{V_1^+} = \Gamma_0 = \frac{Z_{in} - Z_0}{Z_{in} + Z_0} S11=V1+V1=Γ0=Zin+Z0ZinZ0

其中 Z i n Z_{in} Zin 是在此测量条件下,从端口 1 看过去的输入阻抗。这说明 S 11 S_{11} S11 等于此测量条件下的端口处的反射系数。

若想求解 S 21 S_{21} S21 那么依然必须让 a 2 = 0 a_2=0 a2=0 此时:

S 21 = b 2 a 1 ∣ a 2 = 0 S_{21} = \left. \frac{b_2}{a_1} \right|_{a_2=0} S21=a1b2 a2=0

若在端口 1 放置一个内置为 Z 0 Z_0 Z0 的测试电压源:

测试电压源
有:

a 1 = V 1 + Z 0 I 1 2 Z 0 = ( V s − Z 0 I 1 ) + Z 0 I 1 2 Z 0 = V s 2 Z 0 a_1 = \frac{V_1+Z_0I_1}{2\sqrt{Z_0}} = \frac{(V_s - Z_0I_1)+Z_0I_1}{2\sqrt{Z_0}} = \frac{V_s}{2\sqrt{Z_0}} a1=2Z0 V1+Z0I1=2Z0 (VsZ0I1)+Z0I1=2Z0 Vs

b 2 = V 2 − Z 0 = V 2 Z 0 b_2 = \frac{V_2^-}{\sqrt{Z_0}} = \frac{V_2}{\sqrt{Z_0}} b2=Z0 V2=Z0 V2

那么:

S 21 = b 2 a 1 ∣ a 2 = 0 = 2 V 2 V s S_{21} = \left. \frac{b_2}{a_1} \right|_{a_2=0} = 2\frac{V_2}{V_s} S21=a1b2 a2=0=2VsV2

等于该测量条件下 2 倍的总的正向电压增益。

同理交换 1 端口和 2 端口的测量方法,可以得到 S 22 S_{22} S22 S 12 S_{12} S12

相关文章:

波动理论、传输线和S参数网络

波动理论、传输线和S参数网络 传输线 求解传输线方程 对于传输线模型,我们通常用 R L G C RLGC RLGC 来表示: 其中 R R R 可以表示导体损耗,由于电子流经非理想导体而产生的能量损耗。 G G G 表示介质损耗,由于非理想电介质…...

YOLO11改进-注意力-引入自调制特征聚合模块SMFA

本篇文章将介绍一个新的改进机制——SMFA(自调制特征聚合模块),并阐述如何将其应用于YOLOv11中,显著提升模型性能。随着深度学习在计算机视觉中的不断进展,目标检测任务也在快速发展。YOLO系列模型(You Onl…...

uniapp登录

第一步整登录 先整个appid APPID和APPSecret https://developers.weixin.qq.com/community/develop/article/doc/000ca4601b8f70e379febac985b413 一个账号只能整一个小程序 正确流程 调用uni.login https://juejin.cn/post/7126553599445827621 https://www.jb51.net/a…...

mysql,数据库主从同步搭建

1.mysql主从同步1.主从同步原理(1)复现binlog日志中的sql语句(2)主服务器启动binlog日志(3)从服务器启动binlog日志,io线程,sql线程2.主从同步结构一主一从一主多从级联复制互为主从(keepalived高可用)3.mysql复制模式异步复制:主服务器处理完sql直接返回给客户端结果半同步复制…...

云途领航:现代应用架构助力企业转型新篇

在数字化转型的浪潮中,现代应用架构为企业带来了灵活性、效率和创新能力。各类服务模型相继出现,为企业提供了强有力的支持,助力其顺利转型。随着技术的快速发展,企业面临的挑战和机遇也在不断演变,这促使它们必须重新…...

redis——岁月云实战

单线程序,基于IO多路复用,基于内存和c语言编写,性能高。redis官方命令 1 数据结构 1.1 key的层级 redis的key可以通过冒号(:)来划分层级,如下图mms:company:order,但系统中可以看到有不少没有…...

Flink调优----资源配置调优与状态及Checkpoint调优

目录 第 1 章 资源配置调优 1.1 内存设置 1.1.1 TaskManager 内存模型 1、内存模型详解 2、案例分析 1.1.2 生产资源配置示例 1.2 合理利用 cpu 资源 1.2.1 使用 DefaultResourceCalculator 策略 1.2.2 使用 DominantResourceCalculator 策略 1.2.3 使用 DominantRes…...

Java web的发展历史

目录 前言: 一.Model I和Model II 1.Model I开发模式 ​编辑 2.Model II开发模式 二. MVC模式 前言: 该篇文章主要介绍了Java web的发展历史,以及MVC相关内容 一.Model I和Model II 1.Model I开发模式 Model1的开发模式是&#xff…...

面向微服务的Spring Cloud Gateway的集成解决方案:用户登录认证与访问控制

🎯导读:本文档详细描述了一个基于Spring Cloud Gateway的微服务网关及Admin服务的实现。网关通过定义路由规则,利用负载均衡将请求转发至不同的后端服务,并集成了Token验证过滤器以确保API的安全访问,同时支持白名单路…...

MongoDB 更新文档

关于MongoDB更新文档的操作,可以通过多种方法实现。以下是一些常用的方法: updateOne() 方法:用于更新匹配过滤器的单个文档。其语法为 db.collection.updateOne(filter, update, options)。其中,filter 用于查找文档的查询条件&a…...

静态路由与动态路由

静态路由和动态路由是网络中两种不同的路由配置方式,它们在网络中的运作方式、配置方法以及适用场景等方面存在显著差异。以下是对两者的详细比较: 一、定义与配置方式 静态路由 定义:静态路由是由网络管理员手动配置的固定路径,…...

leetcode hot二叉树的层序遍历

102. 二叉树的层序遍历 已解答 中等 相关标签 相关企业 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点) # Definition for a binary tree node. # class TreeNode(object): # …...

Windows下ESP32-IDF开发环境搭建

Windows下ESP32-IDF开发环境搭建 文章目录 Windows下ESP32-IDF开发环境搭建一、软件安装二、搭建IDF开发环境2.1 安装VS Code插件:2.2 配置ESP-IDF插件:2.3 下载例程源码: 三、编译和烧录代码四、Windows下使用命令行编译和烧录程序4.1 配置环…...

基于高云GW5AT-15 FPGA的SLVS-EC桥MIPI设计方案分享

作者:Hello,Panda 一、设计需求 设计一个4Lanes SLVS-EC桥接到2组4lanes MIPI DPHY接口的电路模块: (1)CMOS芯片:IMX537-AAMJ-C,输出4lanes SLVS-EC 4.752Gbps Lane速率; (2&…...

【day18】多线程高级应用

day17回顾 在深入探讨模块18之前,让我们回顾一下【day17】中的关键内容: 创建多线程: 继承Thread类: 定义一个类,继承Thread。重写run方法,设置线程任务。创建自定义线程对象。调用start方法,开…...

Python接口自动化测试的实现

1)环境准备: 接口测试的方式有很多,比如可以用工具(jmeter,postman)之类,也可以自己写代码进行接口测试,工具的使用相对来说都比较简单,重点是要搞清楚项目接口的协议是什么,然后有针对性的进行选择&#x…...

nvidia docker, nvidia docker2, nvidia container toolkits区别

背景 在docker容器中用GPU时,查阅了网上许多教程,教程之间概念模糊不清,相互矛盾,过时的教程和新的教程混杂在一起。主要原因是Nvidia为docker容器的支持发生了好几代变更,api发生了不少变化。下面来总结一下各代支持…...

字节跳动Java开发面试题及参考答案(综合篇)

HTTP 与 HTTPS 的区别? HTTP(超文本传输协议)和 HTTPS(超文本传输安全协议)主要有以下区别。 从安全性角度看,HTTP 是明文传输协议,数据在网络中传输时是以原始文本的形式发送的。这就好比在信件传递过程中没有进行密封,任何中间节点(如路由器、代理服务器等)都可以查…...

搭建Elastic search群集

一、实验环境 二、实验步骤 Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎Elasticsearch目录文件: /etc/elasticsearch/elasticsearch.yml#配置文件 /etc/elasticsearch/jvm.options#java虚拟机 /etc/init.d/elasticsearch#服务启动脚本 /e…...

深入解析 Spring WebFlux:原理与应用

优质博文:IT-BLOG-CN WebFlux 是 Spring Framework 5 引入的一种响应式编程框架,和Spring MVC同级,旨在处理高并发和低延迟的非阻塞应用。这是一个支持反应式编程模型的新Web框架体系。 顺便一提,Spring Cloud Gateway在实现上是…...

Docker 部署 SpringBoot VUE项目

是一套基于若依的wms仓库管理系统 一、后端部署 后端地址:https://gitee.com/zccbbg/wms-ruoyi/tree/v1/ 1、用IDEA拉代码,并修改API统一后缀 2、复制一个配置文件 application-dev.yaml,并修改里面的mysql与redis配置 3、将打包的jar上传…...

【Java基础面试题031】Java运行时异常和编译时异常之间的区别是什么?

回答重点 主要有三大区别,分别是发生时机、捕获和处理方式和设计意图 1)发生时机: 编译时异常(Checked Exception):发生在编译阶段,编译器会检查此类异常,程序必须堆这些异常进行…...

常见网络功能概述-主要拆解功能

大家觉得有意义和参考价值记得关注和点赞!!! 一、防火墙介绍 防火墙(Firewall)是一种网络安全系统,用于监控、过滤和控制进出网络的数据流量。它是一种屏障,通过策略规则来允许、限制或拒绝数…...

Chapter 3-1. Detecting Congestion in Fibre Channel Fabrics

Chapter 3. Detecting Congestion in Fibre Channel Fabrics This chapter covers the following topics: 本章包括以下主题: Congestion detection workflow. Congestion detection metrics. Congestion detection metrics and commands on Cisco MDS switches. Automatic A…...

Day13 用Excel表体验梯度下降法

Day13 用Excel表体验梯度下降法 用所学公式创建Excel表 用Excel表体验梯度下降法 详见本Day文章顶部附带资源里的Excel表《梯度下降法》,可以对照表里的单元格公式进行理解,还可以多尝试几次不同的学习率 η \eta η来感受,只需要更改学习率…...

重温设计模式--5、职责链模式

文章目录 职责链模式的详细介绍C 代码示例C示例代码2 职责链模式的详细介绍 定义与概念 职责链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它旨在将请求的发送者和多个接收者解耦,让多个对象都有机会处理请求&am…...

C语言-08复合类型-结构体

一、结构体 1.结构体struct struct关键字,允许自定义复合数据类型,将不同类型的值组合在一起,这种类型称为结构体类型。 2.使用步骤 第一步:创建或声明结构体 第二步:定义结构体变量 第三步:调用并操作结…...

vue 基础学习

一、ref 和reactive 区别 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body><div id"app"><h1>{{Web.title}}</h1><h1&…...

Elasticsearch检索方案之一:使用from+size实现分页

前面两篇文章介绍了elasticsearch以及Kibana的安装&#xff0c;检索引擎以及可视化工具都已经安装完成&#xff0c;接下来介绍下如何使用golang的sdk实现简单的分页查询。 1、下载Elastic官方golang sdk 在讲解elasticsearch检索之前&#xff0c;需要先把golang的环境安装好&…...

Highcharts 饼图:数据可视化利器

Highcharts 饼图&#xff1a;数据可视化利器 引言 在数据可视化的领域中&#xff0c;饼图作为一种经典且直观的图表类型&#xff0c;被广泛应用于各种行业和场景中。Highcharts&#xff0c;作为一个功能强大且易于使用的JavaScript图表库&#xff0c;为我们提供了创建交互式和…...

Docker部署Sentinel

一、简介 是什么&#xff1a;面向分布式、多语言异构化服务架构的流量治理组件 能干嘛&#xff1a;从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性 官网地址&#xff1a;https://sentinelguard.io/zh-c…...

后端接口设计

一、基本规范 1.URL设计 应遵循RESTful风格&#xff0c;使用动词名词的方式描述接口的功能。应简洁明了&#xff0c;易于理解和记忆。 2.请求协议及方法 使用HTTPS协议进行数据传输&#xff0c;保证数据在传输过程中的安全性。如无特殊情况&#xff0c;统一使用post方法。 …...

GitLab部署到阿里云服务器上

GitLab 是一个用于仓库管理系统的开源项目&#xff0c;使用Git作为代码管理工具&#xff0c;并在此基础上搭建起来的web服务。可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能&#xff0c;能够浏览源代码&#xff0c;管理缺陷和注释。 一、安装 1.创建一…...

GitLab的卸载与重装

目录 一、GitLab的卸载 二、 GitLab的安装与配置 1. 创建安装目录 2. 安装 3. 使用 3.1 初始化 3.2 创建空白项目 ​编辑 3.3 配置SSH 3.3.1 配置公钥 ​编辑 3.3.2 配置私钥 3.4 配置本地git库 一、GitLab的卸载 1. 停止gitlab sudo gitlab-ctl stop 2. 卸载…...

动态住宅IP适合哪些数据采集项目?

在数据采集的广阔天地中&#xff0c;动态住宅IP代理能够灵活地变换身份&#xff0c;帮助我们在网络世界中自由地穿梭。这种代理IP因其住宅性质和动态变化的特点&#xff0c;成为了许多数据采集项目的理想选择。今天&#xff0c;我们就来聊聊动态住宅IP代理适合哪些数据采集项目…...

Git_撤销本地commit_查找仓库中大文件

Gitee普通账号的仓库总空间限制为5G&#xff1b; 右上角头像&#xff0c;下拉—》设置/账号设置—》数据管理下的仓库空间信息即可查看空间限额和各仓库空间大小&#xff1b;Gitee普通账号每次推送大小不能超过100MB&#xff0c;否则会推送失败&#xff1b;当提交大小超过100MB…...

golang windows打包为linux可执行文件

使用go的交叉编译功能 set GOOSlinux set GOARCHamd64然后再执行go build 可能会报异常, 所以贴出我的go env配置仅供参考 go env环境配置 D:\GoWork\src\go-tzv>go env set GO111MODULEauto set GOARCHamd64 set GOBIN …...

源码分析之Openlayers中GeometryCollection类

概述 本文主要介绍GeometryCollection类,GeometryCollection类继承于Geometry类,关于Geometry类,参考这篇文章源码分析之Openlayers中Geometry基类介绍 GeometryCollection类就是一组几何对象的集合. 源码分析 GeometryCollection类源码实现 GeometryCollection类源码实现…...

*【每日一题 基础题】 [蓝桥杯 2024 省 B] 好数

[蓝桥杯 2024 省 B] 好数 好数 一个整数如果按从低位到高位的顺序&#xff0c;奇数位&#xff08;个位、百位、万位……&#xff09;上的数字是奇数&#xff0c;偶数位&#xff08;十位、千位、十万位……&#xff09;上的数字是偶数&#xff0c;我们就称之为“好数”。 给定一…...

Redis大Key问题全解析

1. 引言 1.1 什么是Redis大Key&#xff1f; Redis大Key是指单个Key对应的数据量过大&#xff0c;占用过多的内存或导致操作耗时较长的现象。大Key可以是以下几种常见数据类型中的任意一种&#xff1a; String类型&#xff1a;单个字符串的长度过大。List类型&#xff1a;包含…...

一起学Git【第六节:查看版本差异】

git diff是 Git 版本控制系统中用于展示差异的强大工具。他可以用于查看文件在工作区、暂存区和版本库之间的差异、任意两个指定版本之间的差异和两个分支之间的差异等,接下来进行详细的介绍。 1.显示工作区与暂存区之间的差异 # 显示工作区和暂存区之间的差异,后面不加参数…...

USB Hub 检测设备

系列文章目录 xHCI 简单分析 USB Root Hub 分析 USB Hub 检测设备 文章目录 系列文章目录一、引言二、hub_eventshub_port_connect_changeusb_alloc_devusb_set_device_statehub_port_initusb_new_device 一、引言 USB Hub 检测设备 一文中讲到&#xff0c;当有 USB 插入时&…...

Python 正则表达式

正则在线实用工具&#xff1a;regex101 正则表达式&#xff08;regular expression&#xff09;是一种用于匹配字符串中字符组合模式的工具。它可以用来检查一个字符串是否匹配某个模式、提取字符串中的信息、替换字符串中的某些部分等。 Python 的 re 模块提供了对正则表达式…...

【Mac】终端改色-让用户名和主机名有颜色

效果图 配置zsh 1.打开终端&#xff0c;进入.zshrc配置 cd ~ vim .zshrc2.添加如下配置并保存 # 启用命令行颜色显示 export CLICOLOR1 ## 加载颜色支持 autoload -U colors && colors # 配置 zsh 提示符 PROMPT"%{$fg_bold[red]%}%n%{$reset_color%}%{$fg_bol…...

React 前端框架入门

这里写目录标题 React 前端框架入门什么是 React&#xff1f;核心特性基本概念1. JSX2. 组件3. State 和 Props4. 生命周期5. React Hooks React 应用示例项目结构如何启动 React 项目参考资料 React 前端框架入门 什么是 React&#xff1f; React 是由 Facebook 开发并开源的…...

复习打卡大数据篇——Hadoop YARN

目录 &#xff11;.什么是yarn &#xff12;.yarn的三大角色 &#xff13;.任务&#xff08;MR&#xff09;提交到YARN运行流程 4. 调度器Scheduler 5.YARN HA 高可用 &#xff11;.什么是yarn YARN&#xff08;Yet Another Resource Negotiator&#xff09;是一个资源管…...

03.HTTPS的实现原理-HTTPS的工作流程

03.HTTPS的实现原理-HTTPS的工作流程 简介1. HTTPS的工作流程1.1. TCP的工作流程1.1.1. 三次握手的详细步骤1.1.2. 三次握手的作用 1.2. HTTPS的工作流程1.2.1. HTTPS与TCP的关系1.2.2. HTTPS的工作流程 2. 公钥和私钥的作用3. 对称密钥的生成和交换4. 对称加密和非对称加密的区…...

idea部署maven项目步骤(图+文)

博主介绍&#xff1a;专注于Java&#xff08;springboot ssm 等开发框架&#xff09; vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设&#xff0c;从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不…...

Eclipse 添加书签

Eclipse 添加书签 Eclipse 是一款非常受欢迎的集成开发环境&#xff08;IDE&#xff09;&#xff0c;广泛用于 Java、C、Python 等语言的开发。在处理大型项目时&#xff0c;开发者通常需要在不同文件和代码行之间频繁切换。为了提高工作效率&#xff0c;Eclipse 提供了书签功…...

ROSboard:为您的机器人提供强大的Web可视化工具

ROSboard&#xff1a;为您的机器人提供强大的Web可视化工具 rosboard ROS node that turns your robot into a web server to visualize ROS topics [这里是图片001] 项目地址: https://gitcode.com/gh_mirrors/ro/rosboard 项目介绍 ROSboard 是一个专为机器人设计的 Web 服…...