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

B站小波变换视频笔记

视频地址:https://www.bilibili.com/video/BV1R4UWYpEw8/?spm_id_from=333.337.search-card.all.click&vd_source=442e916174c8da191a9d2a81c27503d8

现实世界中充满了信号,这些信号本质上是嘈杂和不规则的。但同时,它们又具有一定的结构,信号处理领域致力于分析这些信号。
在这里插入图片描述
例如 看看这个信号 这是记录的小鼠大脑的电活动 它显然有一个有趣的结构 如果你模糊你的视线 你可以看到这些三次振荡的波 它们的振幅首先增加然后下降 如果我们放大其中一个波形 你会发现画面更加有趣 因为波峰的振荡速度更快
在这里插入图片描述那么如何用数学来描述这些现象呢? 因为 如果你是一名科学家 你的工作是分析这些数据并描述它们 你不能只是看看然后说 这部分看起来有点模糊 因为这并不客观 这需要大量的努力 大多数时候,数据的结构隐藏在噪音后面 我们需要一个精确的数学操作 它能够通过噪音观察数据并量化信号中的结构 能够进行这种模糊视觉处理的东西 并能在信号中放大和缩小以提取模式 就像一个数学显微镜 在本视频中 我们将看到如何构建一种名为小波变换的工具,这正是这种工具 这是一种非常新的发明,它彻底改变了信号处理的领域 。

在我们开始之前 让我们介绍时间频率二象性(time-frequency duality)的基本概念 让我们想象一下,你想向你的朋友传达两个数字的列表 x1和x2
在这里插入图片描述
最直观的方式是直接发送这两个数字的值
在这里插入图片描述
或者 你可以构造两个全新的数字 y1和y2 它们被定义为x1和x2的和与差
在这里插入图片描述

注意,如果你知道y1和y2的值 你可以唯一重构这些数字本身 因此消息x1和x2以及y1和y2携带的实质上是相同的信息 因为知道一对信息会自动给你另一对 换句话说 它们是同一数据的两种替代表示
在这里插入图片描述
实际上 这是一个时间域与频域对偶性的简单例子
在这里插入图片描述

也就是说 如果我们将x1和x2视为信号的两个点 那么我们就可以重构出这个信号 然后我们可以将y1视为低频成分 注意它等于两倍的平均值 它是数据中不随时间变化的部分 同样地 y2是高频成分 因为它反映了我们从x1到x2快速变化的差异
在这里插入图片描述
如果我们尝试远离仅仅两个数字 并且将x视为具有大量点的信号 甚至具有无限分辨率的抽象的数学函数。
1
如何定义差异以获得另一种有意义的频率表示就不那么清晰了 在某种程度上,伟大的法国数学家约瑟夫·傅里叶在大脑中可能正在思考这个问题 约瑟夫·傅里叶 当他在思考 是否可能分解一个函数为一系列正弦和余弦的和
在这里插入图片描述

例如 看看这里的函数 你认为哪种组合的频率可变的正弦和余弦,当相加 会给我们这个图形 用肉眼判断,肯定不可能知道
在这里插入图片描述

但幸运的是,有一种叫做傅里叶变换的数学运算 这正是它所做的 而这基本上是约瑟夫·傅里叶的伟大洞察力 我们可以将任何函数分解为一系列纯波的叠加 具有不同的频率 那么频域将告诉我们每个频率对构成函数相对贡献 傅里叶逆变换使我们能够从频域回到原始函数
在这里插入图片描述

你可以看到这是同一个函数的两种替代表示 每个函数在频域都有一个替身 取决于你想要实现的目标 在时间域或频域工作可能更容易 因为我们总是可以切换在两者之间
在这里插入图片描述
在这里插入图片描述

傅里叶变换的主要限制虽然我们可以获取信号中频率的知识 ,但我们失去了所有时间信息 傅里叶变换本质上是将信号在时间上压缩以找到频率成分 傅里叶变换是一个仅与频率相关的函数 但我们不知道某些频率何时开始 以及它们何时结束
在这里插入图片描述

例如 想象一下一个交通信号灯发出的信号 开始时它会被读取一段时间 这与可见光谱中具有特定频率的电磁波相对应 然后它会在几秒钟内发出黄色光芒 这具有略高的频率 最后它会在一段时间内发出绿色光芒 这是有更高频率的波 对这一信号进行傅里叶变换将给我们三个峰值 只告诉我们哪些频率存在 我们可以确实看到信号是由三种颜色组成的,红色 黄色和绿色
在这里插入图片描述
现在假设交通灯坏了,颜色的顺序完全混乱 例如 黄灯亮两秒 然后绿灯亮八秒 然后黄灯再亮一秒 然后是红灯亮九秒 如果你看它的傅里叶变换 你会看到几乎相同的图像,有三个相同的峰值,对应于颜色的频率
在这里插入图片描述

现在假设我们的交通灯出现故障 并且三个颜色同时亮起并持续发光 这将是道路的灾难 然而傅里叶变换将继续显示相同的三个峰值 因为结果波是三种颜色的和 频率成分与以前一样,分别是红色、黄色和绿色
在这里插入图片描述
这是理论上 如果你从全镇收到成百上千个交通灯的信号 如果你的工作是检测故障 傅里叶变换可能不适合,因为它完全忽略了时间 因此你可能需要采取其他方法解决问题 。

值得说的是,傅里叶变换牺牲时间信息, 这并不是因为约瑟夫·傅里叶不够聪明,没有发明更好的工具 不要怪这个人 。这实际上是从根本上不可能同时拥有完美的时间和频率分辨率。 同时,总有两种信息之间的权衡 ,这是海森堡不确定性原理的体现, 时间和频率域是这种不确定性的两个极端 甚至在每个时间点上,你可以知道值函数的确切值 但是以完全忽视频率上正在展开的信息为代价 在频域的另一端,我们知道信号中存在的频率 但我们不知道它们的时间动态 但我们知道频域中存在的频率 但我们不知道它们的时间动态
在这里插入图片描述

但在两者之间有没有什么 一些神奇的工具 它将在两者之间找到一个折中 如果我们牺牲一点时间分辨率和一点频率分辨率 以便了解一些东西 找到最佳平衡的方法是什么 这就是小波发挥作用的地方 。

当我们做傅里叶变换时 我们将函数分解为正弦和余弦的和 这些被称为分析函数 因为它们构成了频率表示的基础 , 我们通过三角函数眼镜看我们的信号 所以可以说,我们把一切都视为正弦和的和
在这里插入图片描述

但是,关于正弦函数 它到处都差不多 无论你在哪里看 它以规则的周期性延伸到无限远 这使得它不适合我们之前看到的时间序列分析
在这里插入图片描述

但如果我们稍微修改一下呢 我们仍然需要上下波动 因为这是频率表示的基础 我们是否能以某种方式在时间上约束他 ? 这正是被称为小波变换的基本思想 。 它是一种数学工具 它使用称为小波的特殊函数来分析信号 小波的关键特性是它是一种持续时间短的波状振荡,时间上有局部性。
在这里插入图片描述

实际上,术语小波就来源于法语 它字面意思是小波 我认为这是一个数学概念非常可爱的名字 但什么是小波 从数学角度来看 小波不仅仅是一个函数 它是一个满足某些特定要求的一整个函数家族 我们将在下一刻讨论这些要求 这里有各种哦不同的小波函数, 每种小波都针对特定应用进行了优化。你甚至可以根据特定目的定制自己的小波。 当两个人谈论小波分析时 他们可能谈论的是不同的小波
在这里插入图片描述
一般来说 要成为一个合适的小波函数 ψ(t)必须满足两个主要约束 :

  • 1) 首先 它应该有零均值 。 这意味着 如果你对曲线下方的面积进行积分 函数大于零的地方用正号 函数小于零的地方用负号,并将它们相加 你应该得到零 这被称为可接受性条件 更正式地说,小波函数不应该有零频率成分 这个零频率成分本质上是函数的平均值
    在这里插入图片描述
    请注意,熟悉的正弦函数也通过了可接受性条件 因为正峰值的总面积等于负谷的总面积 所以一个正弦信号的平均值是零
    在这里插入图片描述

这就是第二个条件发挥作用的地方

  • 2)小波函数必须有有限的能量。 如果你在好奇一个函数的能量到底是什么 别担心 它没那么复杂。 本质上 这个条件是说如果你将函数平方并计算曲线下方的面积 从负无穷到正无穷 它应该是一个有限的数字
    在这里插入图片描述
    这就是使函数在时间上具有局部性的体现。 平方符号是这种到处都大于零的无限模式 因此正弦波的能量是无限的。
    在这里插入图片描述

    相反 我们的局域时间波函数ψ(t) 平方后覆盖一个有限的面积
    我应该提到 我一直在使用的演示小波是称为莫莱特(Morlet)小波 它在时间序列分析中被广泛使用。 它被定义为取一个特定频率的余弦波 并乘以一个高斯钟形曲线来衰减它 。
    在这里插入图片描述
    或者至少这是莫莱特小波的实数部分 因为小波本身是一个复函数 但我们稍后在视频中会讲到复数和虚数部分 现在你可以把这个衰减的余弦波看作是几乎莫莱特小波 。我们已经定义了我们的小波 但我们无法用它做任何事情。
    在这里插入图片描述
    让我们看看小波变换是什么 当我们计算傅里叶变换时 我们将我们的时间域表示y(t)y(t)y(t)(一个维度) 转换为一个频率域表示y^(f)\hat{y}(f)y^(f) (同样只有一个维度)。从根本上来说,只有一个旋钮可以调整, 那就是正弦波的频率fkf_kfk 在每个fkf_kfk的值上 计算出该频率的贡献 该值表示为y^(fk)\hat{y}(f_k)y^(fk)
    在这里插入图片描述
    在这里插入图片描述
    小波变换的关键区别在于我们的同一维函数现在将被表示 为一个二维表面 其中一个维度表示频率 就像傅里叶的情况一样 另一轴表示时间 因此,我们在新的二维函数在某点t,f的值 代表频率分量f在时间t的贡献
    在这里插入图片描述

但我们如何实现呢,嗯 这次我们需要两个旋钮 一个用于频率,一个用于时间 旋转它们 每个都会修改我们的初始小波函数ψ(t) 我们称之为母小波,来获得新的 母小波稍微修改的版本称为子小波 即通过旋转时间旋钮 我们将母小波沿时间轴前后移动 因此,当时间旋钮的值等于b时 子小波就是ψ(t-b) 在频率旋钮上旋转 使我们能够沿时间轴压缩或拉伸母小波 通常更方便以比例而不是频率来思考 但它们可以很容易地在彼此之间转换 如果比例等于a,那么ψ(t/a)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

例如 如果你将波长拉伸两倍 那么它的频率将减少一半,因为每秒的周期数现在减少了一半,并且 同样地 缩短波长会增加其频率 我们现在可以将母波长的两个修改结合起来 让我们定义缩放和平移的波长为这个Ψ(t−ba)\Psi(\frac{t-b}{a})Ψ(atb) 。 那么,我们在特定比例尺上的波长变换值a和时间b将等于该缩放和平移的小波对我们的信号的贡献 但我们所说的贡献是什么意思?
在这里插入图片描述
让我们来深入了解一下 基本上,你可以把这个贡献看作是契合度 这是一个衡量我们修改的小波如何与那个时间点附近的信号相匹配的指标
在这里插入图片描述

这里有两个例子 你可以直观地看到,当小波和信号具有相似的频率时 它们会比较吻合
在这里插入图片描述
当小波的频率 和信号的频率不同时 小波与信号的匹配效果就不会很好
在这里插入图片描述

数学上我们可以这样描述这一点 让我们首先找到我们的信号和小波在哪个地方匹配在sin 我们打算使用绿色来表示波长区域 它与信号的符号相同 要么它们都大于零,要么它们都小于零 并且红色表示信号和小波函数的符号相反 让我们现在将小波函数乘以信号 注意到,由于正弦差的原因,所有红色区域现在都将变成向下的峰 并且绿色区域将全部朝上 因为当你乘以两个正数或两个负数时 你得到的是一个大于零的值 这样 波的形状变得扭曲 绿色和红色区域的高度被信号的值缩放
在这里插入图片描述

在乘法之后作为最终步骤 我们找到带符号的乘积的总面积 这意味着绿色区域的面积将被视为正数 红色区域的面积将被视为负数 绿色减去红色的总面积 是小波对信号的贡献量的 因为绿色阴影区域反映了两个区域之间的局部相似性良好 而红色反映了小波与信号不匹配的地方 顺便说一下 请注意,我们此处做的是两个函数的乘法 并计算乘积的积分 而积分本质上是无限多个窄矩形的和 矩形的高度等于那个时刻乘积的结果 你是否认出了这一操作,即进行一系列的凉凉相乘。(内积)
在这里插入图片描述

然后汇总一切 现在我们暂时离开函数,考虑一对二维向量 每个向量本质上是包含两个数字x和y的列表,用于指定坐标 你可能记得在高中时,两个向量可以计算出所谓的点积 它是一个数,等于向量长度的乘积 以及它们之间的夹角的余弦 直观上 点积可以被视为向量相似性的度量
在这里插入图片描述

如果我们给我们的向量赋予个性 那么点积就反映了它们之间的关系 也就是它们有多接近 当它们指向大致相同的方向时 角度较小,余弦接近1 使得点积较大且为正 这意味着向量相似,因此当它们垂直时,向量相当接近 余弦为90度的结果是0,因此点积也为0 这意味着向量独立,没有任何共同之处 它们甚至感知不到彼此的存在
在这里插入图片描述

当它们指向大致相反的方向时 角度大于90度 余弦为负 因此点积也为负 这意味着向量在某种程度上是反相关的,
在这里插入图片描述
强调一下, 点积,又是一个单一的数字 可以从坐标中计算出来 计算这样一个数量的公式出人意料的简单 你只需要乘以两个向量的对应坐标 并将所有数字相加 对于二维向量的一对 你乘轴 乘y的,并将两个数字相加
在这里插入图片描述
在三维向量中 你需要将z坐标的乘积加到总和中 随着维度的增加 确实使得难以想象向量之间的角度 但是其直觉意义 作为相似度的程度将保持不变
在这里插入图片描述

一个数学函数,具有无限多个点 可以被视为在无限多个维度的无限向量
在这里插入图片描述

因此如果我们将求和替换为积分 这是求和的极限情况 我们可以定义两个函数之间的点积为它们的乘积的积分 这个定义本身可能显得陌生且令人畏惧 但是 当你意识到它本质上与向量的点积完全相同时 这使得公式不那么吓人,更加直观
在这里插入图片描述

所以我们之前计算的,正是信号与小波之间的点积 记住点积的几何直觉 这完美地解释了这个数量如何反映信号与小波之间的相似性 它们匹配得多好

1111
到目前为止 我们只计算了特定小波配置的贡献,参数a和b固定不变 换句话说 我们已经成功地找到了我们二维函数的一个值 让我们保持频率固定,逐渐调整时间参数b,以改变b的值 正如你所看到的,这种滑动方式使得小波在信号上滑动,每个b值都是如此
在这里插入图片描述
我们将重复描述的计算点积的程序 让我们看看这里发生了什么 我将信号设置为频率逐渐增加的正弦波 当信号的频率远低于小时 你可以看到,正负贡献大致相等 因此二者点积接近于零 但当我们向右滑动小波时 信号频率增加,并接近小波的固有频率 当这种情况发生时 函数开始有一种共振的感觉 当它们相位相同时,产生显著的总体正贡献 而当它们相位相反时,产生显著的总体负贡献 这就是为什么点积在那个时间点在零周围波动 当小波和信号的频率完全匹配时,这个振幅最高 但当我们移动小波更向右时 它与信号脱节,因为它们的频率再次不同 所以点积也接近于零 我们做的操作 这种滑动点积实际上有一个名字 它被称为卷积 它被广泛使用 。

在这里插入图片描述
你可能在图像处理中看到过它 例如 当你模糊图片时 现在我们可以重复卷积程序。
对其他参数a的值重复卷积 操作 以提取其他频率成分
在这里插入图片描述
这就是小波变换的核心。 通过改变缩放和平移参数,我们可以用不同尺度的小波扫描我们的信号 以查看那个时间点周围哪些频率最突出

在这里插入图片描述

我们已经看到,固定频率的卷积结果具有短暂振荡的形状 因为当频率匹配时,绿色和红色阴影区域之间有一种拉锯战。 在我们滑动小波的一开始 我已经告诉你,我们希望我们的二维函数反映出 特定频率在每个时间点的贡献 但现在这个函数并不直接显示这一点 因为如果某个时间点的卷积值等于零 它可能意味着在那个时间戳上信号中没有这样的频率 这正是我们所期望的
在这里插入图片描述
在这里插入图片描述
但也可能意味着当我们正好处于卷积值振荡的峰值和谷值之间时 这不意味着那个时间点的频率成分为零 它也可能意味着我们正好处于卷积值振荡的峰值和谷值之间 这不意味着那个时间点的频率成分为零 它也可能意味着我们正好处于卷积值振荡的峰值和谷值之间 这不意味着那个时间点的频率成分为零 恰恰相反 所以我们想要测量频率随时间对轨迹的贡献 当这个频率成分开始时 当它达到峰值 以及当它结束 直觉上,我们可以取结果振荡的包络
在这里插入图片描述
你看 我们得到这种波浪形振荡的唯一原因是因为我们使用了只有实部的莫雷莱特小波
在这里插入图片描述

作为卷积的结果 现在我们是时候放弃“几乎”这个词,看看实际的 莫雷莱特小波 现在是时候我们放弃“几乎”这个词,看看实际的 莫雷莱特小波。 为了做到这一点 让我们简要谈谈复数,虽然他们听起来很复杂,但实际上并不复杂 。

你可以把复数看作是实数直线的扩展 我们扩展数字,以便它们不仅限于一维直线 而是二维平面 这种扩展是通过引入一种特殊的数字,即虚数单位或i来实现的 i等于负一的平方根 复数由两部分组成 它们有一个实部和一个虚部 我们写为z等于a+bi 如果我们使用x轴来显示实部的值 在y轴上显示虚部的值 我们可以认为任何数字都是一个平面上的点 你可能会问 好的 为什么我们不使用向量或x和y两个数字的向量 对于这个目的 你可以这样做 但使用复数的伟大优势是它使得平面上某些操作更容易描述 。

在这里插入图片描述

对于我们的主题 我们将专注于旋转 。

注意,任何数字乘以i正好相当于在原点旋转平面90度, 1*i等于i , i2i^2i2等于-1,依此类推
在这里插入图片描述

如果你想要旋转任意角度 我们可以使用复指数表示法 即 当我们写eiθe^{iθ}eiθ时 这指的是单位圆上的某个点与x轴正方向逆时针角度为θ弧度。
在这里插入图片描述
乘以eiθe^{iθ}eiθ 意味着在平面上旋转角度θ 。 事实上 复指数是这样定义的 这就是著名的欧拉公式
在这里插入图片描述
你可能会看到使用复数表示法描述圆周运动的便利性 只需将点e的i次方乘以t 让t从零变化到2π 这将导致点在圆周上旋转 通过取这个复变量的实数部分 你会得到一个频率固定的余弦曲线,虚部则给出正弦曲线
在这里插入图片描述

这样 Morlet小波本质上是一个复指数 它在以某个恒定频率绕圈旋转 并且振幅由高斯钟形曲线调制 这就是它在三维空间中的样子 以及对应实部和虚部的两个平面投影。 你可以看到我们熟悉的母小波的衰减余弦曲线 ,其实是复Morlet小波的实部,而虚部看起来像衰减的正弦曲线 它与余弦曲线相比略有偏移。
在这里插入图片描述

关键思想是同时计算实部和虚部的卷积 。那么对于与固定尺度的小波的卷积函数 会将一个实数(平移参数b)映射到复平面上的一个点 在那里,实部是与复Morlet小波实数部分在那个时间点的卷积值, 虚部是与复Morlet小波的虚数部分的卷积值 。某一频率的功率 ,也就是它在每个时间点的贡献强度由结果点到原点的距离给出,也就是复数的模。 如你所见 将二维函数设置为信号与小波卷积的模这正是我们所需要的 它测量了特定频率成分随时间的功率

在这里插入图片描述

正如之前一样,变化参数 a,允许我们在不同尺度上分析信号 有点类似于复印机一行一行扫描纸张 得出的函数是复函数 其函数值的模表示特定频率在特定时刻的贡献。
在这里插入图片描述
我们可以用颜色来表示它 被称为波长尺度的小波普(wavelet scalogram) 例如 让我们看看小波变换对频率递增正弦曲线的结果 从零增加到三十赫兹,频率逐渐增加 绘制出结果波长表面,立即告诉我们预期的动态 随着时间推移,频率逐渐增加 振幅几乎保持不变。
在这里插入图片描述
还记得交通信号灯的例子吗 考虑频率成分的时间动态 可以立即检测到异常 ,这是傅里叶变换所缺乏的 。

在这里插入图片描述

让我们回到脑信号 返回到我们的脑信号 我们可以看到小波变换如何帮助我们发现其结构 有三种明显的低频节奏,频率逐渐降低 我们可以很容易地量化每个模式的持续时间和频率 此外,每个模式都与几个高频节奏相关 它们的频率遵循钟形分布 我们可以客观地量化各种参数 例如它们的频率值 持续时间 频率调制的上升和衰减 等等,可能性是无限的
在这里插入图片描述
还有一件事要做 我们谈到了时间与频率分辨率之间的固有权衡 你不能同时完美地同时了解两者 小波变换是否违反了不确定性原理 ?
在这里插入图片描述
如果你仔细看小波普 你会发现,即使是一个纯波的正弦信号 得到的图像看起来不像傅里叶变换那样无限窄 ,而是看起来有点模糊 那是因为我们为了同时了解时间和频率,在两边都损失了一些分辨率
在这里插入图片描述

我们可以将这个权衡表示为所谓的海森堡盒子 以著名物理学家的名字命名,他提出了时间频率平面上的不确定性原理 。 在 时间频率平面上画出方框, 边长与时间或频率的不确定性程度成正比。
在这里插入图片描述
例如 在原始时间序列的情况下 我们在时间域有无限的分辨率 但我们对频率一无所知 因此不确定性盒子将几乎垂直 非常窄且高。
在这里插入图片描述
傅里叶变换相反 具有完美的频率分辨率 但无法提供时间信息 并且不确定性盒子将看起来像水平条。
在这里插入图片描述
小波变换提供极端之间的最佳折衷 它被设计成这样,低频时 不确定性盒子真的很宽很短 然而高频时 海森堡盒子又高又窄 如果你仔细想想 这完全有道理 因为通常低频如1赫兹往往持续很长时间 所以高时间分辨率不重要 但是频率值 无论是1赫兹还是2赫兹,都可能产生巨大差异 。 高频往往非常短暂且在时间上局部化 因此我们需要高时间分辨率 而我们可以妥协于精确的频率值 无论是100赫兹还是105赫兹 这就是直觉上我们如何解决时间频率权衡的
在这里插入图片描述

让我们回顾一下本视频 我们看到了如何构建一种数学显微镜 小波变换
在这里插入图片描述

这是一种工具,允许我们在不同尺度上询问信号 并通过考虑频率和时间组件来揭示其结构 小波变换在许多领域,包括流体力学工程、神经科学、医学、天文学,已被证明是一种无价的时间序列分析工具 包括流体力学工程 神经科学 医学及天文学 希望下次你在某处看到这样的图片时,它将不那么神秘 如果你喜欢本视频 与朋友分享 如果你还没有订阅,请订阅频道 并点击喜欢按钮 请关注更多精彩内容 再见,感谢您的有趣知识

http://www.dtcms.com/a/323599.html

相关文章:

  • 原创邮件合并Python工具使用说明(附源码)
  • python---变量作用域
  • 零拷贝技术:提升传统I/O的性能
  • 【C++】string 的特性和使用
  • 欢迎走进《励曼旋耕》
  • LintCode第547题-两数组的交集
  • leetcode 49. 字母异位词分组 - java
  • [激光原理与应用-202]:光学器件 - 增益晶体 - Nd:YVO₄增益晶体的制造过程与使用过程
  • vite面试题及详细答案120题(61-90)
  • 简单聊聊PowerShell
  • Effective C++ 条款32:确定你的public继承塑模出 is-a 关系
  • 【读代码】深度解析 SmolAgents Open Deep Research
  • 杰理-AW-断言-log
  • 计算机网络基础(三)
  • [Shell编程] Shell 函数
  • PyQt5技术栈简述
  • .htaccess 文件上传漏洞绕过总结
  • Linux文件操作详解:一切皆文件
  • 编辑距离-二维动态规划
  • SkyWalking-3--Java Agent开发和集成示例
  • AI智能编程工具汇总
  • ComfyUI版本更新---解决ComfyUI的节点不兼容问题
  • MySQL 主备(Master-Slave)复制 的搭建
  • SOLIDWORKS 2025对工具栏等进行了重新布局和优化
  • GoEnhance AI-AI视频风格转换工具
  • gRPC 全面解析与实战 —— 从原理到同步/异步开发全攻略
  • Linux系统编程——进程地址空间
  • GM3568JHF:FPGA+ARM异构开发板环境搭建教程
  • 嵌入式学习day23-shell命令
  • Qdrant Filtering:must / should / must_not 全解析(含 Python 实操)