嵌入式学习笔记-杂七杂八

文章目录

    • 连续波光纤耦合激光器
      • 工作原理
      • 主要特点
      • 应用领域
      • 设计考虑因素
    • 数值孔径(Numerical Aperture,简称NA)
      • 数值孔径的定义
      • 数值孔径的意义
      • 数值孔径的计算示例
      • 数值孔径与光纤
    • 四象限探测器检测目标方法
      • 四象限划分
      • 检测目标的步骤
        • 1. 数据采集
        • 2. 坐标转换
        • 3. 四象限判断
        • 4. 目标位置识别
        • 5. 目标跟踪与响应
        • 代码示例(基于传感器数据)
    • Wiener 滤波
      • 维纳滤波的基本原理
        • 1. 目标函数:最小化均方误差(MSE)
        • 2. 频域表示
      • 图像去噪
      • 维纳滤波的优势与限制
      • 优势:
      • 限制:
      • Wiener 滤波的实现
      • 代码说明:
    • LM2596S DC-DC 降压电源
      • LM2596S 的特点:
      • LM2596S模块的元器件

连续波光纤耦合激光器

连续波光纤耦合激光器(CW Fiber-coupled Laser)是一种利用光纤传输激光输出的激光器。其特点是输出的激光为连续波(Continuous Wave,CW)形式,即激光的输出功率是稳定和持续的,没有明显的脉冲特征。这种激光器通常用于精密加工、传感、医疗等多个领域,具有高稳定性和良好的光束质量。

工作原理

连续波光纤耦合激光器的基本原理是通过光纤将激光从激光源传输到目标位置。光纤耦合技术使得激光器具有更高的输出效率、光束质量和方向性。其工作过程大致可以分为以下几个步骤:

  1. 激光源:激光器本身通常是半导体激光器、固体激光器或气体激光器等。激光源通过电流或光源激发介质,使其发射出特定波长的激光。

  2. 光纤耦合:激光通过耦合系统(例如透镜、反射镜等)导入光纤中。耦合的过程需要确保光纤能够有效地接收到激光源的输出,并将光传输到输出端。

  3. 光纤传输:光纤作为光的传输通道,传输过程中几乎没有能量损失,因此能够保证激光输出的稳定性。通过光纤,激光可以被精确地传输到需要的位置。

  4. 输出激光:最终,激光通过光纤输出端口传递到目标区域。由于光纤的特殊结构,激光的输出通常具有较小的光斑和较高的光束质量。

主要特点

  1. 高稳定性:连续波光纤耦合激光器能够提供稳定的输出功率,适合精密控制和长时间运行。

  2. 良好的光束质量:光纤传输过程中能够保持较高的光束质量,适合对光束质量有要求的应用。

  3. 紧凑性:光纤耦合激光器的结构相对紧凑,易于集成进各种设备中。

  4. 高效率:通过光纤传输,激光损耗较低,系统整体效率较高。

  5. 较强的抗干扰能力:光纤本身对电磁干扰不敏感,因此能够保证在复杂环境下正常工作。

应用领域

  1. 精密加工:在材料加工、激光切割、激光焊接等领域,连续波光纤耦合激光器可以提供高精度、高功率的激光输出,广泛应用于金属、陶瓷等材料的加工。

  2. 激光扫描与传感:在激光扫描、三维成像、激光雷达(LiDAR)等应用中,光纤耦合激光器提供稳定的激光输出,用于高精度测量。

  3. 医疗领域:在激光治疗、激光手术等医疗领域,连续波激光器被用于组织切割、消融等操作,具有较高的精准性和可控性。

  4. 通信与研究:在光通信领域,光纤耦合激光器被广泛用于信号传输和实验研究。

设计考虑因素

在设计连续波光纤耦合激光器时,需要考虑以下几个因素:

  1. 光纤匹配:选择适合的光纤和耦合方式,确保激光器的输出能够有效耦合入光纤。

  2. 功率控制:设计适当的驱动电路和温控系统,确保激光器输出的功率稳定且可调。

  3. 热管理:激光器工作时会产生大量热量,良好的热管理系统能够防止激光器过热,确保长时间稳定运行。

  4. 波长选择:根据应用需求选择适当的激光波长,光纤的传输性能和耦合效率也会随波长的不同而有所变化。

  5. 光束质量:确保激光器的输出光束具有良好的质量,以适应精密加工或高精度测量的需求。

数值孔径(Numerical Aperture,简称NA)

数值孔径(NA)是描述光学系统,特别是显微镜、光纤等光学设备的光学性能的重要参数。它表征了光学系统能够接收或发射光的能力,即系统的光学聚焦能力与分辨率的关系。

数值孔径的定义

数值孔径是由光学系统的物镜(或光纤的核心)与透镜的光学特性共同决定的,它是一个无单位的数值,定义如下:

N A = n sin ⁡ θ NA = n \sin \theta NA=nsinθ

其中:

  • n n n 是介质的折射率,通常是物镜与物体之间的介质(如空气、水、油等)的折射率。
  • θ \theta θ 是物镜半角(或入射光束的最大半角),即光线从物镜的中心轴到边缘所形成的角度。

数值孔径的意义

  1. 光学系统的聚焦能力:数值孔径越大,光学系统的聚焦能力越强,能够集中更多的光线,形成更小的焦点。因此,NA越大,系统的分辨率通常也会更高。

  2. 光纤的传输能力:在光纤通信中,NA反映了光纤核心能够接受的光线角度范围。较大的NA表示光纤可以接受更多不同角度的光线,传输效率和带宽也更高。

  3. 分辨率与物镜性能:数值孔径与分辨率相关。分辨率 R R R 与NA之间的关系为:

    R = λ 2 × N A R = \frac{\lambda}{2 \times NA} R=2×NAλ

    其中, λ \lambda λ 是使用的光的波长。可以看到,数值孔径越大,分辨率越高。

数值孔径的计算示例

假设我们有一个在空气中工作的物镜,折射率 n = 1.0 n = 1.0 n=1.0,入射角度为 3 0 ∘ 30^\circ 30,那么数值孔径NA为:

N A = 1.0 × sin ⁡ ( 3 0 ∘ ) = 1.0 × 0.5 = 0.5 NA = 1.0 \times \sin(30^\circ) = 1.0 \times 0.5 = 0.5 NA=1.0×sin(30)=1.0×0.5=0.5

若这个系统使用的是水作为介质,其折射率通常为 n = 1.33 n = 1.33 n=1.33,那么:

N A = 1.33 × sin ⁡ ( 3 0 ∘ ) = 1.33 × 0.5 = 0.665 NA = 1.33 \times \sin(30^\circ) = 1.33 \times 0.5 = 0.665 NA=1.33×sin(30)=1.33×0.5=0.665

可以看出,水介质下的数值孔径比空气中的数值孔径更大,表明水介质下的物镜能够聚焦更多的光线,从而提供更高的分辨率。

数值孔径与光纤

在光纤中,数值孔径的作用是决定光纤的接受角度(或模式)的能力。光纤的NA越大,可以接收到更多不同方向的光线,从而能够支持更多的传播模式,这对于多模光纤尤其重要。

对于光纤,数值孔径也由其核心和包层的折射率差异决定,通常使用如下公式计算:

N A = n 1 2 − n 2 2 NA = \sqrt{n_1^2 - n_2^2} NA=n12n22

其中:

  • n 1 n_1 n1 是光纤核心的折射率。
  • n 2 n_2 n2 是光纤包层的折射率。

四象限探测器检测目标方法

四象限探测器(Quadrant Detector),又是一个唬人的名词,本质上就是看物体运动到从哪个象限到哪个象限,判断是哪个方向。

四象限探测器通过将检测区域划分为四个象限(上下左右四个部分),根据目标的分布位置来判断目标是否存在以及其大致位置。

四象限划分

我们通常将平面坐标系的原点 ( 0 , 0 ) (0, 0) (0,0) 放置在检测区域的中心,基于此将区域划分为四个象限,分别为:

  • 第一象限:右上, x > 0 , y > 0 x > 0, y > 0 x>0,y>0
  • 第二象限:左上, x < 0 , y > 0 x < 0, y > 0 x<0,y>0
  • 第三象限:左下, x < 0 , y < 0 x < 0, y < 0 x<0,y<0
  • 第四象限:右下, x > 0 , y < 0 x > 0, y < 0 x>0,y<0

通过这种划分,探测器可以分别检测目标是否处于某个象限,并根据这些信息来判断目标的方位和移动方向。

检测目标的步骤

1. 数据采集

首先,通过传感器(如红外传感器、激光雷达、相机等)采集目标的位置信息。这些传感器可以通过测量与目标之间的距离、角度或者其他相关特征来获取目标的位置数据。

  • 如果使用图像处理方法,可以通过摄像头获取目标的图像信息。
  • 如果使用激光雷达,可以通过点云数据或反射信号获得目标在空间中的坐标。
2. 坐标转换

将目标的坐标数据转换为平面坐标系中的 x , y x, y x,y 坐标。对于激光雷达或其他传感器采集的数据,可能需要根据传感器的角度和距离计算出目标的实际位置。

例如,假设有一个距离 d d d 和角度 θ \theta θ,则可以通过极坐标转直角坐标来得到目标的 x , y x, y x,y 坐标:

x = d ⋅ cos ⁡ ( θ ) x = d \cdot \cos(\theta) x=dcos(θ)
y = d ⋅ sin ⁡ ( θ ) y = d \cdot \sin(\theta) y=dsin(θ)

3. 四象限判断

根据得到的 x , y x, y x,y 坐标,判断目标所在的象限:

  • 第一象限 x > 0 , y > 0 x > 0, y > 0 x>0,y>0
  • 第二象限 x < 0 , y > 0 x < 0, y > 0 x<0,y>0
  • 第三象限 x < 0 , y < 0 x < 0, y < 0 x<0,y<0
  • 第四象限 x > 0 , y < 0 x > 0, y < 0 x>0,y<0

如果目标的坐标满足某个象限的条件,说明目标位于该象限内。

4. 目标位置识别

通过四象限的划分,可以判断目标的相对位置。如果目标穿越某一象限的边界,探测器可以进一步识别目标的移动方向。

例如,若目标从第一象限移动到第二象限,则说明目标向左移动。如果目标从第一象限进入第四象限,则说明目标向下移动。

5. 目标跟踪与响应

若探测器用于实时跟踪目标,可以通过连续采集和计算目标的位置变化来持续判断其位置和方向,进行相应的操作。对于一些自动化系统,可以根据目标所在的象限来做出相应的决策,如改变机器人方向、触发某些操作等。

代码示例(基于传感器数据)

假设我们已经获取了目标的 x x x y y y 坐标,以下是一个简单的C语言代码示例来判断目标是否位于四象限中的某一象限:

#include <stdio.h>// 判断目标所在的象限
void detectQuadrant(float x, float y) {if (x > 0 && y > 0) {printf("目标在第一象限\n");} else if (x < 0 && y > 0) {printf("目标在第二象限\n");} else if (x < 0 && y < 0) {printf("目标在第三象限\n");} else if (x > 0 && y < 0) {printf("目标在第四象限\n");} else if (x == 0 && y != 0) {printf("目标在Y轴上\n");} else if (y == 0 && x != 0) {printf("目标在X轴上\n");} else {printf("目标在原点\n");}
}int main() {float x, y;// 输入目标坐标printf("请输入目标的X坐标:");scanf("%f", &x);printf("请输入目标的Y坐标:");scanf("%f", &y);// 判断目标所在的象限detectQuadrant(x, y);return 0;
}

Wiener 滤波

Wiener 滤波(维纳滤波)是一种基于统计学的滤波方法,广泛应用于信号处理和图像处理等领域,旨在通过最小化均方误差(MSE)来估计信号或图像中的噪声并进行去噪处理。Wiener 滤波器的核心思想是根据信号和噪声的统计特性,构建一个最佳的滤波器,从而达到降噪的目的。

维纳滤波的基本原理

Wiener 滤波的目标是通过某种方式估计原始信号 x ( n ) x(n) x(n)(或图像中的清晰图像)并消除其中的噪声。给定噪声信号 y ( n ) y(n) y(n),维纳滤波的目标是根据已知的信号与噪声的统计特性,构建一个最优的滤波器 H ( f ) H(f) H(f),使得输出信号 z ( n ) z(n) z(n) 尽可能接近原始信号 x ( n ) x(n) x(n),并且最小化输出信号与原始信号之间的均方误差。

1. 目标函数:最小化均方误差(MSE)

Wiener 滤波的核心是最小化均方误差(MSE),即:

J = E [ ( x ( n ) − z ( n ) ) 2 ] J = E[(x(n) - z(n))^2] J=E[(x(n)z(n))2]

其中, x ( n ) x(n) x(n) 是原始信号, z ( n ) z(n) z(n) 是滤波后的信号, E [ ⋅ ] E[\cdot] E[] 表示期望值操作。Wiener 滤波器的目标是选择一个滤波器 H ( f ) H(f) H(f),使得该误差最小化。

2. 频域表示

在频域中,Wiener 滤波器的理想形式为:

H ( f ) = S x ( f ) S x ( f ) + S n ( f ) H(f) = \frac{S_x(f)}{S_x(f) + S_n(f)} H(f)=Sx(f)+Sn(f)Sx(f)

其中, S x ( f ) S_x(f) Sx(f) 是原始信号的功率谱密度, S n ( f ) S_n(f) Sn(f) 是噪声的功率谱密度。该公式的含义是,Wiener 滤波器的增益在信号强时较大,在噪声较强时较小,从而能够有效抑制噪声。

图像去噪

在图像处理中,Wiener 滤波常用于去除图像中的高斯噪声。假设原始图像 f ( x , y ) f(x, y) f(x,y) 和噪声图像 g ( x , y ) g(x, y) g(x,y) 之间的关系如下:

g ( x , y ) = f ( x , y ) + n ( x , y ) g(x, y) = f(x, y) + n(x, y) g(x,y)=f(x,y)+n(x,y)

其中, n ( x , y ) n(x, y) n(x,y) 是添加到图像中的噪声。Wiener 滤波器通过以下公式对图像进行去噪:

f ^ ( x , y ) = ∑ u , v h ( u , v ) g ( x − u , y − v ) \hat{f}(x, y) = \sum_{u, v} h(u, v) g(x-u, y-v) f^(x,y)=u,vh(u,v)g(xu,yv)

其中, h ( u , v ) h(u, v) h(u,v) 是 Wiener 滤波器核函数, f ^ ( x , y ) \hat{f}(x, y) f^(x,y) 是滤波后的图像。

维纳滤波的优势与限制

优势:

  1. 最小化均方误差:Wiener 滤波通过统计学方法,能够找到最优的滤波器,从而使得去噪效果最好,能最大限度地保留信号。
  2. 自适应性:Wiener 滤波器能够根据信号和噪声的统计特性自动调整滤波参数,具有较强的自适应性。
  3. 广泛应用:适用于各种信号和图像去噪任务,特别是对高斯噪声有良好的效果。

限制:

  1. 需要先验知识:Wiener 滤波需要了解信号和噪声的功率谱密度。若噪声模型不准确,可能导致滤波效果不佳。
  2. 计算复杂度较高:计算信号和噪声的功率谱密度以及实现频域滤波可能需要较高的计算资源。
  3. 对非高斯噪声的效果不佳:Wiener 滤波主要适用于高斯噪声,对于其他类型的噪声(如椒盐噪声),效果可能不如预期。

Wiener 滤波的实现

以下是一个基于Python的Wiener滤波实现代码示例,用于图像去噪:

import numpy as np
import cv2
from scipy.signal import convolve2ddef wiener_filter(img, noise_var, signal_var):"""实现Wiener滤波器用于图像去噪:param img: 输入的噪声图像:param noise_var: 噪声的方差:param signal_var: 信号的方差:return: 去噪后的图像"""# 获取图像的大小rows, cols = img.shape  # 获取图像的行数和列数# 对输入图像进行二维快速傅里叶变换(FFT)fft_img = np.fft.fft2(img)  # 将图像转换到频域fft_img_conj = np.conj(fft_img)  # 计算图像的共轭复数(对于频域滤波,通常使用共轭)# 计算信号的功率谱密度(Power Spectral Density,PSD)signal_psd = np.abs(fft_img) ** 2 / (rows * cols)  # 图像的功率谱(幅度的平方),并归一化到单位面积# 计算噪声的功率谱密度,噪声功率谱假设是一个常数noise_psd = noise_var * np.ones_like(signal_psd)  # 噪声的功率谱密度,假设噪声方差为常数# 计算Wiener滤波器的频域传递函数H(f)H = signal_psd / (signal_psd + noise_psd)  # Wiener滤波器的增益函数,利用信号和噪声的功率谱计算# 应用Wiener滤波器(在频域上)wiener_filtered = np.fft.ifft2(fft_img_conj * H)  # 在频域内进行滤波,进行反傅里叶变换得到去噪后的图像# 返回滤波后的图像的绝对值(因为fft的结果可能是复数)return np.abs(wiener_filtered)# 读取含噪声的图像
noisy_image = cv2.imread('noisy_image.png', cv2.IMREAD_GRAYSCALE)  # 读取灰度图像# 假设信号和噪声的方差
noise_variance = 0.1  # 假设噪声的方差为0.1
signal_variance = 0.9  # 假设信号的方差为0.9# 使用Wiener滤波进行去噪
denoised_image = wiener_filter(noisy_image, noise_variance, signal_variance)  # 对噪声图像进行去噪# 显示原始图像和去噪后的图像
cv2.imshow('Original', noisy_image)  # 显示原始噪声图像
cv2.imshow('Denoised', denoised_image)  # 显示去噪后的图像
cv2.waitKey(0)  # 等待用户按键
cv2.destroyAllWindows()  # 关闭所有OpenCV窗口

代码说明:

  1. FFT和频域操作:在代码中,我们将图像转换到频域,通过傅里叶变换计算信号的功率谱和噪声的功率谱。
  2. Wiener滤波器的实现:Wiener滤波器在频域中通过信号和噪声的功率谱来计算频域滤波函数 H ( f ) H(f) H(f),然后对图像进行滤波。
  3. 去噪图像显示:处理后的图像通过imshow函数显示,便于直观比较。
    LM2596S DC-DC降压电源模块是一款非常常见的开关电源降压转换器(Buck Converter),广泛应用于各种电子设备的电源设计中。它可以将较高的输入电压转换为较低的输出电压,且具有高效、稳定的特性。以下是对LM2596S模块的一些详细介绍。

LM2596S DC-DC 降压电源

LM2596S是由Texas Instruments (德州仪器) 提供的一款集成开关调节器芯片。该芯片采用了降压转换方式,即高电压输入经过调节后输出较低电压的过程。LM2596S模块通常集成在一块小型电路板上,具有良好的散热设计和多种输出电压选择,适合嵌入到各种项目中。

LM2596S 的特点:

  1. 宽输入电压范围
    LM2596S的输入电压范围为 4V到40V。这使得它可以从多种不同的电源(如12V电池、电源适配器等)中获取能量。

  2. 输出电压可调
    LM2596S的输出电压范围为 1.25V到37V,通过电位器调节输出电压。也有一些模块提供固定输出电压版本(如5V、12V、15V等)。

  3. 高效率
    LM2596S作为开关电源,具有相对较高的转换效率(通常高于80%),比传统线性电压调节器具有更低的功耗和更少的热量产生。

  4. 输出电流
    LM2596S可以提供最大 2A 的输出电流,这对于大多数低功耗应用来说足够。

  5. 内置过热、过载和短路保护
    LM2596S具有过热保护、过电流保护和短路保护功能,在异常情况下可以自动关闭以保护电路。

  6. 简单的外部组件
    只需要少数几个外部元件,如电感、电容、二极管等,就可以实现高效的电压转换。

LM2596S模块的元器件

  • 输入电压 (Vin):供电输入端,通常为12V或更高的电压。
  • 电感 (L):用于滤波和能量存储,帮助降低输出电压的噪声。
  • 二极管 (D):通常为肖特基二极管,用于防止反向电流。
  • 电容 ©:用于平滑输出电压,减少电压波动。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ThreadLocal概述、解决SimpleDateFormat出现的异常、内存泄漏、弱引用、remove方法

①. ThreadLocal简介 ①. ThreadLocal是什么 ①. ThreadLocal本地线程变量,线程自带的变量副本(实现了每一个线程副本都有一个专属的本地变量,主要解决的就是让每一个线程绑定自己的值,自己用自己的,不跟别人争抢。通过使用get()和set()方法,获取默认值或将其值更改为当前线程…

蓝桥杯模拟算法:多项式输出

P1067 [NOIP2009 普及组] 多项式输出 - 洛谷 | 计算机科学教育新生态 这道题是一道模拟题&#xff0c;我们需要分情况讨论&#xff0c;我们需要做一下分类讨论 #include <iostream> #include <cstdlib> using namespace std;int main() {int n;cin >> n;for…

LLM - 大模型 ScallingLaws 的设计 100B 预训练方案(PLM) 教程(5)

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/145356022 免责声明&#xff1a;本文来源于个人知识与公开资料&#xff0c;仅用于学术交流&#xff0c;欢迎讨论&#xff0c;不支持转载。 Scalin…

深度解析:基于Vue 3的教育管理系统架构设计与优化实践

一、项目架构分析 1. 技术栈全景 项目采用 Vue 3 TypeScript Tailwind CSS 技术组合&#xff0c;体现了现代前端开发的三大趋势&#xff1a; 响应式编程&#xff1a;通过Vue 3的Composition API实现细粒度响应 类型安全&#xff1a;约60%的组件采用TypeScript编写 原子化…

计算机组成原理(2)王道学习笔记

数据的表示和运算 提问&#xff1a;1.数据如何在计算机中表示&#xff1f; 2.运算器如何实现数据的算术、逻辑运算&#xff1f; 十进制计数法 古印度人发明了阿拉伯数字&#xff1a;0&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;6&#…

(详细)Springboot 整合动态多数据源 这里有mysql(分为master 和 slave) 和oracle,根据不同路径适配不同数据源

文章目录 Springboot 整合多动态数据源 这里有mysql&#xff08;分为master 和 slave&#xff09; 和oracle1. 引入相关的依赖2. 创建相关配置文件3. 在相关目录下进行编码&#xff0c;不同路径会使用不同数据源 Springboot 整合多动态数据源 这里有mysql&#xff08;分为maste…

AI如何帮助解决生活中的琐碎难题?

引言&#xff1a;AI已经融入我们的日常生活 你有没有遇到过这样的情况——早上匆忙出门却忘了带钥匙&#xff0c;到了公司才想起昨天的会议资料没有打印&#xff0c;或者下班回家还在纠结晚饭吃什么&#xff1f;这些看似微不足道的小事&#xff0c;往往让人疲惫不堪。而如今&a…

一分钟搭建promehteus+grafana+alertmanager监控平台

为什么要自己搭建一个监控平台 平时进行后端开发&#xff0c;特别是微服务的后端可开发&#xff0c;一定少不了对接监控平台&#xff0c;但是平时进行一些小功能的测试又没有必要每次都手动安装那么多软件进行一个小功能的测试&#xff0c;这里我使用docker-compose搭建了一个…

深入MapReduce——计算模型设计

引入 通过引入篇&#xff0c;我们可以总结&#xff0c;MapReduce针对海量数据计算核心痛点的解法如下&#xff1a; 统一编程模型&#xff0c;降低用户使用门槛分而治之&#xff0c;利用了并行处理提高计算效率移动计算&#xff0c;减少硬件瓶颈的限制 优秀的设计&#xff0c…

前端【10】jQuery DOM 操作

目录 jquery捕获查取 获得内容 - text()、html() 以及 val() 获取属性 - attr() ​编辑 jQuery 修改/设置内容和属性 设置内容 - text()、html() 以及 val() 设置属性 - attr() jQuery添加元素 jQuery - 删除元素 前端【9】初识jQuery&#xff1a;让JavaScript变得更简…

进程控制的学习

目录 1.进程创建 1.1 fork函数 1.2 fork函数返回值 1.3 写时拷贝 1.4 fork 常规用法 1.5 fork 调用失败的原因 2. 进程终止 2.1 进程退出场景 2.2 进程常见退出方法 2.2.1 从main 返回 2.2.2 echo $&#xff1f; 查看进程退出码 2.2.2.1 我们如何得到退出码代表的含…

数据结构与算法分析:专题内容——人工智能中的寻路7之AlphaBeta(代码详解)

一、算法描述 在考虑到对手的可能走法之后&#xff0c;Minimax算法能够较为恰当地找出玩家的最优走法。但是&#xff0c;在生成博弈树时&#xff0c;这个信息却没有使用&#xff01;我们看看早先介绍的BoardEvaluation评分函数。回忆一下下图Minimax的探测&#xff1a; 这是从…

12、本地缓存分布式缓存(未完待续)

1、哪些数据适合放入缓存&#xff1f; 即时性、数据一致性要求不高的访问量大且更新频率不高的数据&#xff08;读多&#xff0c;写少&#xff09; 2、本地缓存 1、本地缓存&#xff0c;如果是单体项目&#xff0c;部署到一台服务器上&#xff0c;就不存在什么问题&#xff…

Linux——网络基础(1)

文章目录 目录 文章目录 前言 一、文件传输协议 应用层 传输层 网络层 数据链路层 数据接收与解封装 主机与网卡 数据传输过程示意 二、IP和MAC地址 定义与性质 地址格式 分配方式 作用范围 可见性与可获取性 生活例子 定义 用途 特点 联系 四、TCP和UDP协…

免费GPU算力,不花钱部署DeepSeek-R1

在人工智能和大模型技术飞速发展的今天&#xff0c;越来越多的开发者和研究者希望能够亲自体验和微调大模型&#xff0c;以便更好地理解和应用这些先进的技术。然而&#xff0c;高昂的GPU算力成本往往成为了阻碍大家探索的瓶颈。幸运的是&#xff0c;腾讯云Cloud Studio提供了免…

阿里前端开发规范

文章目录 1. 为什么前端写代码要规范&#xff1f;一、代码规范的必要性二、 规范带来的好处 2. 资源一、推荐 1. 为什么前端写代码要规范&#xff1f; 一、代码规范的必要性 可维护性 统一的代码风格便于理解和修改减少代码维护成本降低项目交接难度 团队协作 提高团队开发效…

Linux 小火车

1.添加epel软件源 2.安装sl 3. 安装完成后输入&#xff1a; sl

高效流式大语言模型(StreamingLLM)——基于“注意力汇聚点”的突破性研究

论文地址&#xff1a;https://arxiv.org/pdf/2309.17453 github地址&#xff1a;https://github.com/mit-han-lab/streaming-llm 1. 研究背景与挑战 随着大语言模型&#xff08;LLMs&#xff09;在对话系统、文档摘要、代码补全和问答等领域的广泛应用&#xff0c;如何高效且准…

STM32-时钟树

STM32-时钟树 时钟 时钟

日志收集Day007

1.配置ES集群TLS认证: (1)elk101节点生成证书文件 cd /usr/share/elasticsearch ./bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass "" --days 3650 (2)elk101节点为证书文件修改属主和属组 chown elasticsearch:elasticsearch con…