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

【一文读懂】卫星轨道的轨道参数(六根数)和位置速度矢量转换及其在终端距离、相对速度和多普勒频移计算中的应用

卫星轨道的六根数参数及其在终端距离、相对速度和多普勒频移计算中的应用

卫星轨道运动的描述离不开开普勒六要素(也称为六根数参数),它们完整地刻画了一颗卫星在引力场中的轨道信息。本文将介绍这六个参数的意义,并探讨如何利用终端的位置信息计算卫星与终端之间的距离、相对速度以及多普勒频移。同时扩展介绍利用轨道参数转换得出卫星在空间中位置与速度的计算公式。


一、卫星轨道的六根数参数

  1. 半长轴(a)
    半长轴代表轨道椭圆的大小,是椭圆长轴的一半。通过半长轴可以确定卫星的轨道能量及其绕地球运动周期,符合开普勒第三定律(轨道周期与半长轴有关)。

  2. 偏心率(e)
    偏心率描述了轨道的形状。当 e = 0 时,轨道为圆形;0 < e < 1 表示椭圆轨道;e = 1 为抛物线,e > 1 则为双曲线。在大多数应用中,卫星运行在椭圆轨道内,因此偏心率的数值介于 0 和 1 之间。

  3. 轨道倾角(i)
    轨道倾角是轨道平面与地球赤道平面之间的夹角,反映了卫星轨道相对于地球自转轴的倾斜程度。它决定了卫星覆盖区域的纬度范围和地面站通信的几何关系。

  4. 升交点赤经(Ω)
    升交点是卫星轨道与赤道相交且卫星由南向北穿越该点的位置。升交点赤经定义为从参考方向(一般取春分点)到这个升交点的角度,它确定了轨道平面在空间中的方位。

  5. 近地点幅角(ω)
    在卫星轨道平面内,从升交点到轨道上距离地心最近的点(即近地点)的测量角度。该角度描述了轨道椭圆在平面内的旋转状况,帮助确定椭圆在轨道平面中的方向。

  6. 真近点角(ν) 或 平均近点角(M)
    真近点角反映了卫星在轨道上相对于近地点的瞬时位置。通过给定真近点角,结合其它五个参数,可以唯一确定卫星的位置。而在某些情形下,由于真近点角变化非线性,也可能使用平均近点角来描述卫星的运动状态。


二、轨道参数到卫星位置和速度矢量的转换

为了获得卫星在地心惯性坐标系(ECI)下的准确位置和速度,需要将轨道六要素转换到状态矢量。下面介绍详细的步骤和计算公式。

1. 计算轨道平面内的状态矢量

(1) 轨道半径

由开普勒运动公式,卫星在真近点角 ν 位置处的轨道半径 r 为:

r = a ( 1 − e 2 ) 1 + e cos ⁡ ( ν ) r = \frac{a (1 - e^2)}{1 + e \cos (\nu)} r=1+ecos(ν)a(1e2)

(2) 近焦点坐标系(Perifocal 坐标系)下的位置矢量

在轨道平面内,以近地点为参考方向,其坐标表示为:

r p f = [ r cos ⁡ ( ν ) r sin ⁡ ( ν ) 0 ] \mathbf{r}_{pf} = \begin{bmatrix} r \cos (\nu)\\[6pt] r \sin (\nu)\\[6pt] 0 \end{bmatrix} rpf= rcos(ν)rsin(ν)0

(3) 近焦点坐标系下的速度矢量

设参数 p 为轨道半通径:

p = a ( 1 − e 2 ) p = a (1 - e^2) p=a(1e2)

速度矢量在近焦点坐标系中的表达式为:

v p f = [ − μ p sin ⁡ ( ν ) μ p ( e + cos ⁡ ( ν ) ) 0 ] \mathbf{v}_{pf} = \begin{bmatrix} -\sqrt{\frac{\mu}{p}} \sin (\nu)\\[6pt] \sqrt{\frac{\mu}{p}} (e + \cos (\nu))\\[6pt] 0 \end{bmatrix} vpf= pμ sin(ν)pμ (e+cos(ν))0

其中,μ 为地球的标准重力参数(约 3.986×10^5 km³/s²,数值单位应与其它参数保持一致)。

2. 坐标转换矩阵

将近焦点坐标系转换为地心惯性坐标系(ECI)需要经过三次旋转,其过程如下:

  • 第一步: 绕 z 轴旋转角 ω(近地点幅角),将坐标系对准近地点方向;
  • 第二步: 绕 x 轴旋转角 i(轨道倾角),使得轨道平面与赤道平面形成正确的夹角;
  • 第三步: 绕 z 轴旋转角 Ω(升交点赤经),确定轨道平面的空间方位。

转换矩阵 Q 可写为:

Q = [ cos ⁡ Ω cos ⁡ ω − sin ⁡ Ω sin ⁡ ω cos ⁡ i − cos ⁡ Ω sin ⁡ ω − sin ⁡ Ω cos ⁡ ω cos ⁡ i sin ⁡ Ω sin ⁡ i sin ⁡ Ω cos ⁡ ω + cos ⁡ Ω sin ⁡ ω cos ⁡ i − sin ⁡ Ω sin ⁡ ω + cos ⁡ Ω cos ⁡ ω cos ⁡ i − cos ⁡ Ω sin ⁡ i sin ⁡ ω sin ⁡ i cos ⁡ ω sin ⁡ i cos ⁡ i ] Q = \begin{bmatrix} \cos \Omega \cos \omega - \sin \Omega \sin \omega \cos i & -\cos \Omega \sin \omega - \sin \Omega \cos \omega \cos i & \sin \Omega \sin i \\[8pt] \sin \Omega \cos \omega + \cos \Omega \sin \omega \cos i & -\sin \Omega \sin \omega + \cos \Omega \cos \omega \cos i & -\cos \Omega \sin i \\[8pt] \sin \omega \sin i & \cos \omega \sin i & \cos i \\ \end{bmatrix} Q= cosΩcosωsinΩsinωcosisinΩcosω+cosΩsinωcosisinωsinicosΩsinωsinΩcosωcosisinΩsinω+cosΩcosωcosicosωsinisinΩsinicosΩsinicosi

3. 计算 ECI 坐标下的状态矢量

利用转换矩阵 Q,将围心坐标系下的状态矢量转换到 ECI 坐标系中:

  • 位置向量:

    r E C I = Q ⋅ r p f \mathbf{r}_{ECI} = Q \cdot \mathbf{r}_{pf} rECI=Qrpf

  • 速度向量:

    v E C I = Q ⋅ v p f \mathbf{v}_{ECI} = Q \cdot \mathbf{v}_{pf} vECI=Qvpf

注意:

  1. 在进行上述计算时,请确保角度均以弧度为单位。
  2. 如果后续需要将 ECI 坐标转换至地固坐标系,还需考虑地球自转效应以及其他摄动修正。

三、从ECI坐标系转换为ECEF坐标系并计算距离、相对速度及多普勒频移

在实际应用中,为了更好地与地面终端的位置和速度进行计算,通常需要将卫星的位置和速度从地心惯性坐标系(ECI)转换为地心地固坐标系(ECEF)。以下是转换步骤和计算方法:

1. ECI到ECEF坐标系的转换

ECI(Earth-Centered Inertial)坐标系是惯性系,而ECEF(Earth-Centered, Earth-Fixed)坐标系是固定的地心坐标系。两者的主要区别在于地球自转的影响。转换过程需要考虑地球自转角度:

  • 转换公式
    r E C E F = r E C I \mathbf{r}_{ECEF} = \mathbf{r}_{ECI} rECEF=rECI
    v E C E F = v E C I − ω e a r t h × r E C I \mathbf{v}_{ECEF} = \mathbf{v}_{ECI} - \boldsymbol{\omega}_{earth} \times \mathbf{r}_{ECI} vECEF=vECIωearth×rECI
    其中, ω e a r t h \boldsymbol{\omega}_{earth} ωearth 是地球自转角速度矢量(通常取 7.2921 × 1 0 − 5 7.2921 \times 10^{-5} 7.2921×105 rad/s),方向指向地理北极

  • 地球自转角速度矢量
    ω e a r t h = [ 0 0 ω e a r t h ] \boldsymbol{\omega}_{earth} = \begin{bmatrix} 0 \\ 0 \\ \omega_{earth} \end{bmatrix} ωearth= 00ωearth

  • 位置向量转换:因坐标系原点相同,直接使用 r E C I = r E C E F \mathbf{r}_{ECI} = \mathbf{r}_{ECEF} rECI=rECEF

  • 速度向量转换:从ECI到ECEF速度需补偿地球自转效应:
    v E C E F = v E C I − ( ω e a r t h × r E C I ) \mathbf{v}_{ECEF} = \mathbf{v}_{ECI} - (\boldsymbol{\omega}_{earth} \times \mathbf{r}_{ECI}) vECEF=vECI(ωearth×rECI)

2. 地面终端位置与速度计算

地面终端通过地理坐标(纬度 ϕ \phi ϕ、经度 λ \lambda λ、高度 h h h)转换:

  • 地理坐标转ECEF坐标
    r g r o u n d = [ ( R + h ) cos ⁡ ϕ cos ⁡ λ ( R + h ) cos ⁡ ϕ sin ⁡ λ [ R ( 1 − e 2 ) + h ] sin ⁡ ϕ ] \mathbf{r}_{ground} = \begin{bmatrix} (R + h) \cos\phi \cos\lambda \\ (R + h) \cos\phi \sin\lambda \\ [R(1 - e^2) + h] \sin\phi \end{bmatrix} rground= (R+h)cosϕcosλ(R+h)cosϕsinλ[R(1e2)+h]sinϕ
    参数说明:
    R R R=地球赤道半径(6378.137 km)
    e e e=地球扁率(0.0818191908426)

  • 地面终端速度
    v g r o u n d = ω e a r t h × r g r o u n d \mathbf{v}_{ground} = \boldsymbol{\omega}_{earth} \times \mathbf{r}_{ground} vground=ωearth×rground

3. 关键参数计算流程

3.1 距离计算
空间几何直线距离:
D = ( x s a t − x g r ) 2 + ( y s a t − y g r ) 2 + ( z s a t − z g r ) 2 D = \sqrt{(x_{sat}-x_{gr})^2 + (y_{sat}-y_{gr})^2 + (z_{sat}-z_{gr})^2} D=(xsatxgr)2+(ysatygr)2+(zsatzgr)2

3.2 相对速度计算
速度矢量差与方向余弦投影:
v r e l = v s a t − v g r o u n d \mathbf{v}_{rel} = \mathbf{v}_{sat} - \mathbf{v}_{ground} vrel=vsatvground
n = r s a t − r g r o u n d D \mathbf{n} = \frac{\mathbf{r}_{sat} - \mathbf{r}_{ground}}{D} n=Drsatrground
v r e l = n ⋅ v r e l v_{rel} = \mathbf{n} \cdot \mathbf{v}_{rel} vrel=nvrel

3.3 多普勒频移计算
Δ f = v r e l c ⋅ f 0 (方向定义:远离时取负值) \Delta f = \frac{v_{rel}}{c} \cdot f_0 \quad \text{(方向定义:远离时取负值)} Δf=cvrelf0(方向定义:远离时取负值)
参数说明:
c c c=光速(299792458 m/s)
f 0 f_0 f0=载波频率

4. 注意事项
  • 单位统一:角度使用rad,距离单位推荐统一使用米(m)量纲
  • 地球参数选择
    • WGS-84坐标系推荐使用精确参数:
      • R R R=6378137.0 m
      • e 2 e^2 e2=0.00669437999014
  • 实时修正
    • 需考虑固体潮和极移现象(高精度应用时)
    • 对导航卫星需补偿大气延迟效应
  • 计算顺序
    卫星ECI数据
    ECI转ECEF
    终端ECEF坐标
    计算距离
    计算相对速度
    多普勒频移

四、总结

本文首先介绍了卫星轨道的六根数参数:半长轴 a、偏心率 e、轨道倾角 i、升交点赤经 Ω、近地点幅角 ω 以及真近点角 ν,并探讨了如何利用这些参数计算卫星与地面终端之间的距离、相对速度及由此产生的多普勒频移。进一步扩展了轨道参数到卫星状态矢量的转换方法,具体步骤包括:

  1. 利用开普勒运动公式计算当前瞬间的轨道半径;
  2. 根据真近点角 ν 在围心坐标系中计算位置矢量和速度矢量;
  3. 利用旋转矩阵(依次旋转 ω、i、Ω)将围心坐标系的状态矢量转换到地心惯性坐标系;
  4. 最终结合地面终端信息,计算卫星与终端的欧氏距离、沿视线的相对速度及多普勒频移。

这种方法在卫星通信、导航定位等领域具有重要意义,并为实际工程中进一步的修正和补偿提供了理论依据。

相关文章:

【一文读懂】卫星轨道的轨道参数(六根数)和位置速度矢量转换及其在终端距离、相对速度和多普勒频移计算中的应用

卫星轨道的六根数参数及其在终端距离、相对速度和多普勒频移计算中的应用 卫星轨道运动的描述离不开开普勒六要素&#xff08;也称为六根数参数&#xff09;&#xff0c;它们完整地刻画了一颗卫星在引力场中的轨道信息。本文将介绍这六个参数的意义&#xff0c;并探讨如何利用…...

车载诊断框架 --- 使用CAPL脚本实现诊断测试吧(中)

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活,除了生存温饱问题之外,没有什么过多的欲望,表面看起来很高冷,内心热情,如果你身…...

Lockdir加密忘记密码:解锁数据恢复之道

Lockdir加密忘记密码现象解析 Lockdir作为一款知名的文件夹加密软件&#xff0c;因其强大的加密功能和便捷的操作体验而广受用户好评。然而&#xff0c;当谈及Lockdir加密忘记密码这一情况时&#xff0c;不少用户却面露难色。Lockdir加密忘记密码&#xff0c;简而言之&#xf…...

SQL优化方式

避免select *&#xff1a;开发中禁止使用select * 。它会增加查询解析器成本&#xff0c;无法走索引覆盖而产生回表操作&#xff0c;还会增加网络消耗&#xff0c;浪费CPU和内存资源&#xff0c;应指定具体查询字段。小表驱动大表&#xff1a;关联查询时&#xff0c;用数据量小…...

java项目之基于推荐算法的图书购物网站源码(ssm+mybatis+mysql)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的基于推荐算法的图书购物网站项目。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 基于推荐算法的…...

java中的线程安全

线程安全的定义 线程安全&#xff1a;一个类或方法在多线程环境下可以被多个线程同时访问&#xff0c;而不会导致数据的不一致或错误。 线程不安全&#xff1a;一个类或方法在多线程环境下不能被多个线程同时访问&#xff0c;否则可能导致数据的不一致或错误。线程安全的实现 线…...

day44 QT核心机制

头文件&#xff1a; #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QLabel> //标签类头文件 #include<QPushButton> //按钮类头文件 #include<QLineEdit> //行编辑器类头文件QT_BEGIN_NAMESPACE namespace Ui { class Widget; } …...

字节跳动后端一面

&#x1f4cd;1. Gzip压缩技术详解 Gzip是一种流行的无损数据压缩格式&#xff0c;它使用DEFLATE算法来减少文件大小&#xff0c;广泛应用于网络传输和文件存储中以提高效率。 &#x1f680; 使用场景&#xff1a; • 网站优化&#xff1a;通过压缩HTML、CSS、JavaScript文件来…...

WebSocket推送数据快,条数多导致前端卡顿问题解决

WebSocket推送数据快&#xff0c;条数多导致前端卡顿问题解决 前言方案优化消息频率使用高效的数据格式Protobuf 和 MessagePack的对比 启用压缩前端性能优化 WebSocket使用注意事项连接管理处理断开连接负载均衡监控和维护日志记录定期维护安全最佳实践限流 最后 前言 在项目…...

android动态设置是否允许应用卸载

摘要&#xff1a;通过广播设置全局参数控制应用是否允许卸载&#xff0c;全局参数在Launcher和PackageInstaller两个模块中使用到。此功能可用于MDM后台控制是否允许设备卸载应用。 1. 静态注册广播 由于系统安装和卸载的功能集中在PackageInstaller模块中&#xff0c;为了更…...

【C/C++】每日温度 [ 栈的应用 ] 蓝桥杯/ACM备赛

数据结构考点&#xff1a;栈 题目描述&#xff1a; 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后。如果气温在这之后都不会升高&#xff0…...

开启蓝耘之旅:DeepSeek R1 模型在智算平台的起步教程

----------------------------------------------------------我的个人主页-------------------- 动动你的手指----------------------------------------点赞&#x1f44d; 收藏❤--------------------------------------------------------------- 引言 在深度学习的广袤领…...

基于SpringBoot+Vue实现航空票务管理系统

作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验&#xff0c;被多个学校常年聘为校外企业导师&#xff0c;指导学生毕业设计并参与学生毕业答辩指导&#xff0c;…...

基于改进型灰狼优化算法(GWO)的无人机路径规划

内容&#xff1a; 基于改进型灰狼优化算法的无人机轨迹规划 GWO是一种群体智能优化算法&#xff0c;模仿灰狼的社会等级和狩猎行为。原始的GWO有一些局限性&#xff0c;比如容易陷入局部最优&#xff0c;收敛速度慢等&#xff0c;所以改进型的GWO可能通过不同的策略来优化这些…...

高级记事本 Sublime Text 下载与使用教程:附百度网盘地址

一、引言 在编程和文本编辑领域&#xff0c;Sublime Text 被誉为一款功能强大的高级记事本。它以其轻量级、高效、多语言支持等特点&#xff0c;深受开发者和文本工作者的喜爱。本文将详细介绍 Sublime Text 的下载方法、安装步骤、使用技巧&#xff0c;并提供百度网盘下载地址…...

4G核心网的演变与创新:从传统到虚拟化的跨越

4G核心网 随着移动通信技术的不断发展&#xff0c;4G核心网已经经历了从传统的硬件密集型架构到现代化、虚拟化网络架构的重大转型。这一演变不仅提升了网络的灵活性和可扩展性&#xff0c;也为未来的5G、物联网&#xff08;LOT&#xff09;和边缘计算等技术的发展奠定了基础。…...

Jmeter快速实操入门

以下操作需要提前安装了JDK&#xff08;JDK版本要Java8&#xff09;&#xff0c;并且配置了环境变量。 1、下载Jmeter,下载连接。选择zip版本&#xff0c;解压即可。 2、解压后的文件目录如下。 3、进入bin文件夹&#xff0c;双击ApacheJMeter&#xff0c;运行Jmeter。 4、在测…...

JavaScript中的防抖与节流:提升性能的关键技巧 (1)

文章目录 JavaScript 中的防抖与节流&#xff1a;提升性能的关键技巧一、防抖&#xff08;Debounce&#xff09;1.1 概念1.2 应用场景1.3 代码实现 二、节流&#xff08;Throttle&#xff09;2.1 概念2.2 应用场景2.3 代码实现2.3.1 时间戳方式2.3.2 定时器方式 三、防抖与节流…...

Java数据类型转换(自动转换和强制转换)

数据类型的转换&#xff0c;分为自动转换和强制转换。自动转换是程序在执行过程中“悄然”进行的转换&#xff0c;不需要用户提前声明&#xff0c;一般是从位数低的类型向位数高的类型转换&#xff1b;强制类型转换则必须在代码中声明&#xff0c;转换顺序不受限制。 自动数据…...

【大数据技术】Spark分布式实现词频统计(hadoop+python+spark)

Spark分布式实现词频统计&#xff08;hadooppythonspark&#xff09; 搭建完全分布式高可用大数据集群&#xff08;VMwareCentOSFinalShell&#xff09; 搭建完全分布式高可用大数据集群&#xff08;HadoopMapReduceYarn&#xff09; 本机PyCharm远程连接CentOS虚拟机&#x…...

UMLS初探

什么是UMLS UMLS&#xff08;Unified Medical Language System&#xff0c;统一医学语言系统&#xff09;&#xff0c;简单来说就是将不同的医学标准统一到一套体系的系统&#xff0c;主要为了医疗系统的统一而构建出的。 UMLS的主要组成部分 Metathesaurus&#xff1a;一个…...

Redis持久化机制详解

为什么需要持久化 Redis通常被作为缓存使用&#xff0c;但是Redis一旦宕机&#xff0c;内存中的数据全部丢失&#xff0c;可能会导致数据库崩溃。如果是从数据库中恢复这些数据就会存在频繁访问数据库和读取速度慢的问题。所以redis实现数据的持久化&#xff0c;是至关重要的。…...

Python 鼠标轨迹 - 防止游戏检测

一.简介 鼠标轨迹算法是一种模拟人类鼠标操作的程序&#xff0c;它能够模拟出自然而真实的鼠标移动路径。 鼠标轨迹算法的底层实现采用C/C语言&#xff0c;原因在于C/C提供了高性能的执行能力和直接访问操作系统底层资源的能力。 鼠标轨迹算法具有以下优势&#xff1a; 模拟…...

PB-DW-数据窗口-降级-从12.5降级到9.0

PB 数据窗口从125降级到90 供参考&#xff0c;有哪些属性仍然需要删除&#xff0c;请在评论区留言。谢谢。 如果您有更好的工具&#xff0c;能分享给我一份的话&#xff0c;就更好了&#xff0c;感谢。 12.5数据窗口降级9.01- release 12.5; 更改为 release 9;2- 第二行的 d…...

Logo语言的测试开发

Logo语言的测试开发 引言 随着编程教育的不断发展&#xff0c;学习编程的门槛逐渐降低&#xff0c;各种编程语言应运而生。其中&#xff0c;Logo语言作为一种经典的教育编程语言&#xff0c;在培养儿童的逻辑思维和解决问题的能力方面&#xff0c;发挥了重要的作用。本文将深…...

位图的深入解析:从数据结构到图像处理与C++实现

在学习优选算法课程的时候&#xff0c;博主学习位运算了解到位运算的这个概念&#xff0c;之前没有接触过&#xff0c;就查找了相关的资料&#xff0c;丰富一下自身&#xff0c;当作课外知识来了解一下。 位图&#xff08;Bitmap&#xff09;是一种用于表示图像的数据结构&…...

Faveo Helpdesk存在目录遍历漏洞(CVE-2024-37700)

免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…...

【Pytorch函数】PyTorch随机数生成全解析 | torch.rand()家族函数使用指南

&#x1f31f; PyTorch随机数生成全解析 | torch.rand()家族函数使用指南 &#x1f31f; &#x1f4cc; 一、核心函数参数详解 PyTorch提供多种随机数生成函数&#xff08;注意&#xff1a;无直接torch.random()函数&#xff09;&#xff0c;以下是常用函数及参数&#xff1a;…...

ML.NET库学习004:ML.NET基础知识复盘

文章目录 ML.NET库学习004&#xff1a;ML.NET基础知识复盘背景简单的 ML.NET 应用程序代码工作流机器学习模型基础进阶 ML.NET 架构构建管道训练模型使用模型 数据模型和架构模型部署 ML.NET库学习004&#xff1a;ML.NET基础知识复盘 学了几个小项目&#xff0c;发现好多方法莫…...

2. UVM的基本概念和架构

文章目录 前言1. UVM的基本概念1.1 UVM的核心组件1.2 UVM的基本架构1.3 UVM的工作流程 2. UVM的架构2.1 UVM的层次结构2.2 UVM的组件交互 3. 总结 前言 首先&#xff0c;得确定UVM的基本概念和架构包含哪些关键部分。我回忆起UVM的核心组件&#xff0c;比如uvm_component、uvm…...

算法10--哈希

哈希 原理经典例题[1. 两数之和](https://leetcode.cn/problems/two-sum/description/)[面试题 01.02. 判定是否互为字符重排](https://leetcode.cn/problems/check-permutation-lcci/description/)[217. 存在重复元素](https://editor.csdn.net/md?not_checkout1&spm1015…...

磁盘文件删除后恢复

磁盘文件删除后&#xff0c;文件数据并未立即消失&#xff0c;只是文件系统的指针被移除&#xff0c;标记该空间为可覆盖。要恢复文件&#xff0c;可以尝试以下方法&#xff1a; 1. 使用数据恢复软件 Recuva&#xff1a;适合Windows&#xff0c;能恢复多种文件类型。PhotoRec…...

STM32 CUBE Can调试

STM32 CUBE Can调试 1、CAN配置2、时钟配置3、手动添加4、回调函数5、启动函数和发送函数6、使用方法(采用消息队列来做缓存)7、数据不多在发送函数中获取空邮箱发送&#xff0c;否则循环等待空邮箱 1、CAN配置 2、时钟配置 3、手动添加 需要注意的是STM32CUBE配置的代码需要再…...

【大模型】Ubuntu下安装ollama,DeepSseek-R1:32b的本地部署和运行

1 ollama 的安装与设置 ollama官网链接&#xff1a;https://ollama.com/ 在左上角的【Models】中展示了ollama支持的模型在正中间的【Download】中课可以下载支持平台中的安装包。   其安装和模型路径配置操作流程如下&#xff1a; ollama的安装 这里选择命令安装curl -fsSL …...

Goland 内存逃逸问题

内存逃逸是什么&#xff1f; 在go语言中&#xff0c;内存分配存在两个方式&#xff1a;堆分配&#xff1b;栈分配。 栈分配&#xff1a;是在函数调用时为局部变量分配内存&#xff0c;当函数返回时&#xff0c;这些内存会自动释放。 堆分配&#xff1a;通过 new 或者 make 函…...

我们来学人工智能 -- 本地部署DeepSeek

本地部署DeepSeek 题记思考正题结语 题记 时不待我AI会淘汰各领域一些岗位AI可以精简部门&#xff0c;DP白菜价的落地&#xff0c;2025年会更加明显会AI的淘汰不会AI的第四次工业革命将在中国爆发 全产业链多年数字化建设以DP为代表的全球领先白菜价人工智能在各行各业的普及 …...

【GitHub】GitHub 2FA 双因素认证 ( 使用 Microsoft Authenticator 应用进行二次验证 )

文章目录 一、GitHub 的 2FA 双因素认证二、使用 Microsoft Authenticator 应用进行二次验证1、TOTP 应用2、下载 Microsoft Authenticator 应用3、安装使用 Authenticator 应用 三、恢复码重要性 一、GitHub 的 2FA 双因素认证 现在登录 GitHub 需要进行二次身份验证 ; 先登录…...

通过脚本实现自动将标签内容复制到下一个标签文件中

只需要将下面内容运行前 修改文件夹路径(控制修改范围的文件名 不需要的话 就随便写一个不相同的文件名 就行 需要的话就是在这个文件名字之前的会被修改) import os import time # 文件夹路径 image_directory r"C:\Users\Lenovo\Desktop\新建文件夹\images" # 替…...

Elasticsearch+Kibana安装启动与操作教程

在大数据时代&#xff0c;Elasticsearch&#xff08;简称 ES&#xff09;和 Kibana 作为强大的数据搜索与可视化工具&#xff0c;受到了众多开发者的青睐。本文将为您详细介绍在 Windows 和 Mac 系统上安装、启动 Elasticsearch 和 Kibana 的步骤&#xff0c;以及常用命令和 Ki…...

CSS Overflow 属性详解:控制内容溢出的利器

在前端开发中&#xff0c;处理内容溢出是一个常见的需求。CSS 提供了 overflow 属性&#xff0c;帮助我们控制当内容超出元素框时的显示方式。本文将详细介绍 overflow 属性的各种取值及其应用场景。 1. 什么是 overflow 属性&#xff1f; overflow 属性用于控制当元素的内容…...

什么是XMLHttpRequest?及其详细使用说明

XMLHttpRequest&#xff08;通常缩写为XHR&#xff09;是一个JavaScript对象&#xff0c;用于在浏览器和服务器之间进行异步通信。它允许网页在不重新加载整个页面的情况下&#xff0c;向服务器发送请求并接收响应。XHR是Ajax&#xff08;Asynchronous JavaScript and XML&…...

Chrome浏览器原理及优化

1. 相关面试题 1.1. 请说说从输入 URL 到页面渲染完成的全过程 1. 输入URL,用户在浏览器的地址栏输入一个URL,并按下回车键; 2. DNS解析; 浏览器需要将域名转换为服务器的IP地址,以建立连接。 (1). 如果浏览器缓存、操作系统缓存或路由器缓存中已有该域名的IP地址,…...

Vue 3 + Vite + JS 项目中实现组件全局自动化注册的魔法,极致组件自动化注册方案,开发效率飙升300%。

在Vue项目开发中&#xff0c;你是否还在为重复的组件注册代码而烦恼&#xff1f;是否经历过在大型项目中手动维护数百个组件注册的痛苦&#xff1f;本文将揭秘一种革命性的组件自动化注册方案&#xff0c;结合Vite的黑魔法和Vue3的最新特性&#xff0c;让你的开发效率实现质的飞…...

寒假2.8

题解 web&#xff1a;[RoarCTF 2019]Easy Calc 打开&#xff0c;是一个计算界面 看一下源代码&#xff0c;提示设置了WAF&#xff0c;并且有一个calc.php文件 访问一下calc.php文件&#xff0c;得到源码&#xff0c;使用get方式传参赋值给num&#xff0c;设置了黑名单&#x…...

企业如何利用DeepSeek提升网络安全管理水平

企业可以通过深度整合DeepSeek的AI能力&#xff0c;构建智能化、动态化的网络安全防御体系&#xff0c;以应对APT&#xff08;高级持续性威胁&#xff09;等复杂攻击。以下是具体策略与实践路径&#xff1a; 1. AI驱动的威胁检测与分析 多模态威胁狩猎 DeepSeek的深度学习技术能…...

C++ libfmt 实战: 高效便捷的格式化库

libfmt 是一个现代化的 C格式化库{fmt}, 具有以下关键特性: 安全性: 受 Python 格式化功能启发, {fmt}为printf系列函数提供安全替代方案. 格式字符串错误在编译时就能被检测出来, 并且通过自动内存管理避免缓冲区溢出错误.可扩展性: 默认支持格式化大多数标准类型, 包括容器,…...

Ubuntu 下 nginx-1.24.0 源码分析 - ngx_max_sockets

在 Nginx 的源代码中&#xff0c; ngx_max_sockets 全局变量的声明位于 os/unix/ngx_os.h extern ngx_int_t ngx_max_sockets; 定义在 os/unix/ngx_posix_init.c ngx_int_t ngx_max_sockets; ngx_max_sockets 定义了 Nginx 能够同时使用的最大 Socket 文件描述符数量。它…...

Spring Boot接入Deep Seek的API

1&#xff0c;首先进入deepseek的官网&#xff1a;DeepSeek | 深度求索&#xff0c;单击右上角的API开放平台。 2&#xff0c;单击API keys&#xff0c;创建一个API&#xff0c;创建完成务必复制&#xff01;&#xff01;不然关掉之后会看不看api key&#xff01;&#xff01;&…...

大语言模型实践——基于现有API的二次开发

基于现有的API平台做一些实用的AI小应用。 API服务商&#xff1a;阿里云百炼 云服务器&#xff1a;阿里云&#xff08;2核2GB&#xff09; 部署框架&#xff1a;gradio 调用框架&#xff1a;openai 语言&#xff1a;Python &#xff08;注&#xff1a;若搭建网站或API接口…...

ChunkKV:优化 KV 缓存压缩,让 LLM 长文本推理更高效

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...