深入浅出通信原理
深入浅出通信原理
文章目录
- 深入浅出通信原理
- 前言
- 一、概述
- 二、信号和频谱
- 2.1 信号
- 2.2 信号的分解与合成
- 2.3 傅里叶变换的特性
- 2.4 离散傅里叶变化
- 三 信道
- 3.1 衰减和损耗
- 3.2 多普勒效应
- 四 信源编码
- 4.1 采样
- 4.2 量化
- 4.3 编码
- 五 基带信号的发送和接受
- 5.1 脉冲成形
- 5.2 眼图
- 六 频带信号的发送和接受
- 6.1 模拟调制
- 6.1 .1 幅度调制
- 6.1 .2 双边带调制
- 6.1 .3 单边带调制
- 6.1 .4 IQ调制(正交调制)
- 6.2 数字调制
- 6.2 .1 PSK/BPSK/QPSK调制
- 6.2 .2 QAM调制
- 6.3 变频技术
- 6.4 采样技术
- 7 天线技术
- 7.1 多天线技术
- 7.1.1 分集技术SIMO
- 7.1.2 MIMO
- 8 复用和多址技术
- 8.1 OFDM
- 8.1.1 OFDM调制
- 8.1.2 OFDM解调
- 总结
前言
由于个人能力的原因:请带着疑问的方式去阅读本文,准确答案参考书中为标准
阅读《深入浅出通信原理----陈爱军》笔记,无图,可以对照的书去看,有页码标志。非通信人,定性的去理解, 有很多理解不对的地方 ,望提出宝贵意见,不断交流。
重点结论知识点都在灰色框里,其他知识都是这些的衍生。
一、概述
例子:话筒和听筒之间的信号处理过程;声音—>电流—>声音;即用电流的变化表示声音的变化。
除了这种模拟的电流信号,使用数字信号0或者1来代替表示某个值。
有线信号:电平的高低。(线路会衰减,因此可以加放大器或者中级器)
无线信号
简单的通信系统:信息—信源—电信号—信宿
一般由:
- 信源
- 发信机
- 信道 :无线和有线。对于有线就是电平。无线就是载波符号
后面都是围绕这一个开始展宽详细说明
无线信号发送
- 信源编码:模数转换,使用AD转换器(采样和量化过程)—>压缩编码
- 信道编码和交织:有了数字信号,为了防止信号的干扰,因此加入了冗余信号。防止出现连续错误,则用交织。即信道编码(加冗余)—>交织(防止连续错误)—>去交织—>信道译码
- 脉冲成形:在信道中传输,不能传0101的数字(天空上也不可能一串串数字在天上飘),而是用一个波形来表示0101,如矩形脉冲,或者sinc
- 调制:脉冲成形的信号,是不适合直接在天上传播的,要直接传也行,但是频率太低,传不远,因此需要将信号调制到高频载波信号上。这个也是信号信息的体现,可以将高频信号去掉之后,就是脉冲成形的波形,然后这个波形表示的数字,就解出来了。一步一步剥开。
二、信号和频谱
这是最基础的,理解了这个才能往下学。
另外,再看书的时候注意横坐标是f还是t,这个要弄清楚
2.1 信号
首先记住一个基本概念,这个概念贯穿整个信号与频谱的学习:任何信号都可以分解为一些列不同频率的基本信号之和。这个基本信号可以是正弦信号(正 余统称正弦)、也可以是复指数信号。
正余弦或者复指数信号(计数的时候很方便,一般计算的时候都变换为复指数信号来计算)的特点:积分特性;正交特性。
tip:
先分清楚什么是复数:cos + jsin 。复数是一个点,要区别复指数信号(但后来欧拉统一了)。为了理解,复数用复平面的向量来表示(记住,它实质就是一个点)。那么复数和复指数的关系:复数和复指数相乘,就是将这个点在复平面上进行旋转。
在认识复指数:欧拉公式可知,复指数可以转换为复数(复指数其实也是一个点),如果说给一个变化的时间,那么这个点连续变化,就是复指数信号,注意,这里多了一个信号
小结:也就是一个复数,本质就是两路信号,两路信号的结合,就是复信号,可以没有虚数,这个只是为了方便表示。
信号的相和相位:
相:是一个状态,或者说是一个趋势,如递增,或者递减这个状态
相位:代表此时的某个值。
0相位和初相:要结合f<0 或者f>0来确定。这里看书吧
小结:前面的重要的是理解什么是复数,复指数,复信号的本质就ok了。本质就是两路信号的在复平面上的叠加成一个点,然后不断地随时间变化或者说是w变化,形成了一条线。
2.2 信号的分解与合成
P76:
傅里叶级数
tip:周期信号就是傅里叶级数,非周期的就是傅里叶变换
之前说到任何信号都可以分解为一些列不同频率的基本信号之和。这个基本信号可以是正弦信号(正 余统称正弦)、也可以是复指数信号。,对于矩形波也如此(低频确定整体形状,高频确定细节)。
之前说到基本信号又两种:正弦 和 复指数,都可以合成矩形波。
周期信号的傅里叶级数展开:一个直流分量+一系列复指数信号分量之和(其中复指数信号的参数包括Ck和频率w)
重要:Ck*e^jkwt,Ck(傅里叶系数)一般是复数(或者理解实数是复数的特殊形式,即j的幅度为0),kwj就是不同的频率,之前说到一个复数乘一个复指数,就是旋转,那么这样不断地旋转,再加上不同的kw值(不同频率的信号),就是合成一个矩形波。
小结:一个复数的旋转,e^jwt只有kw变化,那么只需要求得不同kw下的Ck,就知道复数中的IQ值了(I+QJ 表示一个复数)**有了I和Q值,是不是就可以代表某个二进制的信号,这就是信号的传递了
P80:
为了方便表示周期信号(这里用傅里叶系数已经通过数学的方式表示了,但是不直观)因此有了频谱.
理解频谱图:Ck代表的是iq两路信号,合在一起成为了一个复平面上的点(或者说是向量),这个复平面上的点的参数有两个,一个是幅度(这个向量的模),一个是相位(向量已经旋转的角度)。那么e^jwt的作用,暂时理解为用来旋转用的。那么相位谱就是向量已经旋转的角度,幅度谱就是这个向量的模,横轴就是频率。三维谱就是相位+向量的指向。
P94:
傅里叶变化:求非周期信号的频谱或求由频谱求信号
傅里叶正变化:求非周期信号的连续谱。步骤就是非周期型号的周期延拓得到周期信号,然后用傅里叶级数的方式求得傅里叶系数Ck,在Ck/f0,再将T区域无穷,就得到傅里叶正变换。即先转换为周期,求得Ck之后再转非周期
傅里叶逆变换:由连续谱求非周期信号。步骤就是先采样…求Ck…再用Ck进行傅里叶级数展开,得到周期信号,再将T区域无穷大。
小结:如何求非周期信号的频谱,有如何从频谱返回得到原始的非周期信号。 正逆变换的核心点在于使用傅里叶级数。使用傅里叶级数的核心点,在于求Ck
P98:
**注意理解这一页:**矩形信号和傅里叶是sinc,sinc的傅里叶是矩形信号。其实这里是对称的特性(偶函数的傅里叶变化:就是原始信号先傅里叶,再傅里叶,即两次傅里叶,就又变成原始信号了。
P99:
理解:
单位冲击信号的变化(先记住一个点:周期信号的频谱离散,非周期的连续。另外一个点就是:)
sinc的频谱是非周期矩形(连续),当sinc不断缩小,变成冲击信号,那么本该是矩形的,矩形的上变宽是不是就变成一条直线了,因此冲激信号的频谱是一条线。
2.3 傅里叶变换的特性
上面讲了傅里叶变化的基础理论。下面说特性
下面的都是重要特性:
信号的延迟:时域的延迟就是频域的旋转。
信号的乘积就是频域的卷积,频域的乘积就是时域的卷积。
p125
信号的乘积:调制和采样:就是信号相乘,在频域就是卷积
信号的卷积:过系统就是信号的卷积,不管是离散系统还是连续系统
2.4 离散傅里叶变化
前面讲的是连续的信号,该节是离散的
离散的不适合在计算机中处理,因此要推离散的公式。
正变化:使用N的采样点,经过变换后输出N个频域的点。时域离散,频域也离散(连续非周期信号频谱连续,离散非周期信号频谱离散)
逆变换:频域的N点数据,输出的时域也是N点数据。
小结1:对于离散信号来说:正变换的本质就是连续的时域信号采样点N做周期延拓得到周期信号,这个周期信号做傅里叶变换(我理解为傅里叶级数,因为这是对周期信号求解),得到Ck。对于逆变换来说,本质就是有了Ck,然后通过傅里叶级数加权求和,得到连续的信号,在对这个连续的信号采样,得到离散的原始信号
小结2:非周期连续信号的正逆变换使用到了傅里叶级数(正变换从非周期变成周期然后求Ck再T无穷小。,或者逆变换是从频谱得到的Ck,加权求和成为傅里叶级数,再使得 T无穷大得到非周期信号)。这个离散的非周期信号,也理解为使用到傅里叶级数,区别在于是非周期连续信号,还是非周期离散信号,其本质的推导正逆变换都类似。非周期离散的也是先周期化,然后求Ck.。逆变换(频到时域),也是类似的,先由Ck得到傅里叶级数,再采样一个时钟周期的点。即:非周期离散信号和非周期连续信号的正逆变换都是借用了傅里叶级数l来实现的
P138
采样点数N和频谱坐标K的关系,K属于0~N-1。如果K不加限制,则频谱是以N为周期进行循环的,如-1HZ,那就在k=8的位置。
DFT得到的数值需要除采样点数,得到的值就是信号的傅里叶系数。
P141
对一个连续信号采样,得到离散信号,对这个离散信号进行傅里叶变化,得到的Ck,其值和连续信号的傅里叶变换是一致的。
三 信道
P153
对于无线传输,信道就是天空或者线路,空中有干扰,因此,信号传输的带宽有限制
信道容量:最大传输速率 :C =Blog2(1+S/N)
3.1 衰减和损耗
- 路径损耗:距离原因
- 大尺度衰落:遮挡
- 小尺度衰落:多径传播(也就是出现延迟,出现信号的叠加,可能是增强,也可能是衰减)
相干带宽:Bc=1/tao.
选择信衰落:如果信号的带宽远大于想干带宽,不同频率成分经过多径传输后到接收机的幅度增益差别很大。即:多频率传输需要满足想干带宽,否则一些频率会被弱化。
平坦衰落:避免失真,B<Bc;不同频率的幅度增益相差不大
3.2 多普勒效应
多普勒效应会造成发射频率和接受频率不一样。
如果多普勒效应+多径传输,接受信号的频率就被扩展。
相干时间:多径信道的想干时间 Tc=1/fd ; fd为多普雷平移
快衰落和慢衰落,符号的想干时间远大于想干时间,符号持续器件的信号幅度波动很大,为快衰落,反之T<Tc为慢衰落
小结:信道有信道容量。其中衰落都是幅度的波动(有增有减),导致这个的原因有多径,多普勒,因此引入了相干带宽和相干时间,分别确保信号带宽和符号的长度。
四 信源编码
模拟信号进来,开始AD转换(模数转换:采样 和量化),之后就是压缩编码。
首先看采样需要知道的理论:
4.1 采样
**采样的原理:**时域看就是采点,频域看就是周期延拓。一般来说采样为2f即可(但是如果点都在零点就有问题了)。
频率混叠:d对于基带信号(频谱上零频附近的信号)Fs<2f。会出现混叠。对于频带信号或成为带通信号(带宽在高频处),则使用带通采样(带通采样可以分为过采样和欠采样,基带信号只能是过采样),采样频率计算在p279
重建的原理:从时域看就是每一个点乘一个sinc函数,每一个点的位置不会存在其他信号的干扰,点中间的位置就是sinc函数的叠加,就奇妙的恢复出原始的连续的模拟信号
4.2 量化
参数:
- 量化级数
- 量化误差(量化噪声)
- 量化信噪比
对于量化来说分为各种量化方法:均匀、非均匀
4.3 编码
量化后的信号通过二进制表示、可以压缩
五 基带信号的发送和接受
5.1 脉冲成形
数字信号不可能直接在信道中发射,一般是需要转换成脉冲信号。如矩形脉冲信号,
P222
考虑矩形脉冲的频谱是怎么样的,就是一个sinc函数,且含有 很多小尾巴,频谱是无线的。
为了发一个适合的波形(即频谱上看,频率选择是有限的),那就发sinc函数(sinc的频谱是矩形,之前讲过傅里叶变换的偶函数对称性)
P224:我们这里考虑发基带信号(即不做调制)
从时域上看,发1010,那么先发0 sinc就是正的,1就是sinc是负的。发了一个sinc之后,隔一段时间再发一个sinc,这个一定从时域去理解。
接受的时候,我就会从时域上接受到这个sinc的时域波形,我会对这个波形进行采样,如此恢复出1010
如何实现这个sinc波形呢
P225
图上是单位冲击响应出入到一个LPF这个系统,就可以得到。一个冲激信号的频谱是一条直线(可以是正的,也可以是负的),一个低通滤波器的频谱是一个矩形,一个直线(可以是正的,也可以是负的)乘一个矩形,就是得到一个可以是正的或者是负的在时域上的sinc函数。
sinc函数的发送间隔取1/(2B) ,B是低通滤波器的带宽。码元速率就是R=2B
如何理解这个B,一般傅里叶变换之后会有负频率(这个是由使用复指数信号来做分析得来的),如果看图中零频附加的矩形脉冲,图中标注了B的位置,可以自己从矩形脉冲中间画竖线,右边的B就是带宽,左边的负频率其实没有用,只是计算的时候使用复指数方便计算才有的,另外,负频谱,比如1khz 和 -1khz,就看做一个频率就好了,发信号的时候也不会发一个-1khz的信号嘛。
当我们得到这个sinc函数,会发现,我们其实只需要xsinc函数的最高点,并不希望它有很多拖尾。因为两个sinc发送的间隔如果出现定时误差(即没有按照1/(2B)的速率来发送),那么串扰增大,因此我们使用升余弦滚降滤波器(就是减少尾巴的幅度,注意,对信号的处理都是对频率幅度的处理,增加减小的都是幅度)
5.2 眼图
眼镜越大越好,眼图的线越清晰越好:表示这码间串扰的强弱
小结:基带信号是数字的,要传递数字就需要将数字转换为一个波形(可以是模拟的也可以是离散的),这个波形可以是矩形的,也可以是sinc,一般是sinc,然后需要对sinc进行处理,让尾巴小一点。
六 频带信号的发送和接受
基带信号不适合信道的传输,因为长距离,天线等等各种原因。因此需要将这个脉冲成形的信号,调制到高频载波上
调制是什么:就是通过基带脉冲成形的数字或者模拟信号去改变高频的信号。这里需要明白,脉冲成形的信号可以是模拟的(就是连续的波形)也可以是数字的(离散的波形数据)
调制分为两种,模拟和数字
6.1 模拟调制
比如时域上只有一个sinc函数(脉冲成形的波形),这个sinc去乘cos,就可以另外一个波形,如果是连续的sinc,就得到连续的波形
6.1 .1 幅度调制
P235
图中的低频电信号,或者可以说为脉冲成形的一个波形(sinc函数组成的时域信号),将这个波形和高频载波相乘,得到另外一个时域的波形。这个就是调制。(脉冲成形的波形幅值必须大于0)
解调的方法看书上
6.1 .2 双边带调制
幅度调制携带了不用的信息,则引出了双边带调制
解调:相干解调
6.1 .3 单边带调制
P243:
双边带调制会占用更多的带宽:图中解释,本来脉冲成形的信号是基带信号(包括负频率和正频率),调制的时候看图中正频率和负频率是不是增加之前正和负频率的两倍,计算的时候是正的和负的频率都要有**,发送的时候只看正的。**
解调:相干解调
6.1 .4 IQ调制(正交调制)
之前是一路模拟信号(脉冲成形的信号)过来乘一个高频载波,现在是两路信号分别乘cos和sin,然后合在一起,发射出去。
IQ调制原理:因为是正交的,输入的两路信号,先从信号为一个点来看,也就是代表着是一个向量,这个向量乘上cos或者sin,也就是乘乘上了这个旋转。随着时间的变化,会发现两个分别的乘积在三维图上是不相干的,一直是垂直的,所以不相互影响。
解调:也是相干解调
小结:比如时域上只有一个sinc函数(脉冲成形的波形),这个sinc去乘cos,就可以另外一个波形,如果是连续的sinc,就得到连续的波形
6.2 数字调制
脉冲成形的信号可能是模拟的,也可能是数字的。那么是数字的调制怎么弄呢。
最终本质都是调解高频载波的幅度、相位。,模拟调制就是用脉冲成形的波形去改变(比如时域上只有一个sinc函数(脉冲成形的波形),这个sinc去乘cos,就可以另外一个波形,如果是连续的sinc,就得到连续的波形)
数字调制也是改变一段波形的方式
6.2 .1 PSK/BPSK/QPSK调制
PSK: 0 和 1 分别表示一段波形,相位不同
BPSK:00 11 10 01 分别表示4中波形
…
6.2 .2 QAM调制
逐渐的,一个波形可以表示的二进制越来越多
从复平面上看:16qam,横坐标表示4个bit的数,纵坐标也是4bit的数…以此类推
对于模拟调制,一个sinc代表一个bit,也就是一个脉冲成形的波形代表一个bit。
P255:
对于数字调制,现将0110转换为矩形脉冲(这里的脉冲成形就是矩形脉冲了,不是sinc函数),这个矩形脉冲在计算机里其实就是一段序列,载波信号也是一段序列,序列相乘等于对应的序号相乘
BPSK或者QPSK都可以使用IQ调制的方法,都是使用星座图去做映射。
需要注意的是,要传输的数据才是星座图上的点,而IQ坐标系上的坐标值是映射,I Q两个信号映射的点才是传输的码元(如16QAM的码元为4bit)。
这里要理解星座图,是通过IQ两路信号来调整信号的相位和幅度。
小结:调制就是将脉冲成形后的信号去改变载波信号的幅度和相位。模拟脉冲成型的信号直接和载波相乘的方式,数字的信号也可以脉冲成形(可以是矩形),也可以通过IQ调制的方式(即用星座图映射的方式来发信息,本质就是IQ信号来控制载波信号的幅度和相位)
6.3 变频技术
直接上变频:基带直接到频带(可以发送的信号)
一般使用间接上变频:即加一个中频链路。
基带到中频,和基带到射频的区别就是乘的载波是中频的载波。中频到射频就是再乘一个射频的载波
6.4 采样技术
基带采样:零频附近的信号。只能过采样
带通采样:或者称为频带采样。可以欠采样(太高频了,硬件达不到,所以用混叠的特点去做欠采样),也可以过采样。
7 天线技术
7.1 多天线技术
7.1.1 分集技术SIMO
一根天线的一个信号分成多路传输(这里的多路是指传播不同的发射方向,天线还是一根天线),接受用2根天线。两个天线收集到的信号选择信的合并(理解为弱的用强的代替)
这里的SIMO,MO是只多路路径发射传输,SI指本质只有一路信号(接受到的多路信号要做合并的)。
7.1.2 MIMO
…
8 复用和多址技术
TDM:时分复用。从时间轴来看,将信号分为时隙来传输。
FDM:即多个频率的载波(一个载波coswt,可以调制出一路信号,多路就可以传多路)
FDMA:动态的FDM,动态的是指动态的分配用户
OFDM/OFDMA:FDM频分复用,但是载波之间会有干扰,因此增加了保护带宽,造成频谱的浪费。如果载波之间是正交的,那么就不怕干扰 了。
P317
这里就是很多地方看到的经典的图,所有子载波之间是正交的,在调制的时候,各自使用各自的子载波进行调制,就可以清晰的解调出来(也就是之前单载波解调的方式)。
单个载波的发射就是之前将的,多个载波的一起发射怎么做呢?
8.1 OFDM
注意顺序:数字bit—>星座图映射---->IQ数据---->先调制到N路正交子载波(这例的w0是零频附近的频率)---->叠加起来得到OFDM基带调制信号,注意是基带—>IQ调制(就是乘上射频载波)
8.1.1 OFDM调制
利用IDFT实现OFDM调制
P318
OFDM调制:
这里简单理解数字调制和OFDM调制的区别就明白OFDM调制的原理:
P320:
原来的数字调制就是数字bit映射到星座图中得到IQ信号,然后将IQ信号分别乘cos和sin。现在的ofdm调制就是星座图映射的IQ还是那个IQ,但是这个IQ要取找对应自己的那个载波,wc+kw0。本质上就是N路iq调制
一个复数分别取实部和虚部做IQ调制(就是将IQ信号分别乘cos和sin) ,和直接用复数去调制复指数载波取实部。如果9-17
8.1.2 OFDM解调
核心就是求IQ这个复数,得到I和Q两路信号,再星座图得到数字bit
OFDM符号长度就是载波频率间隔的倒数 1/f
一个符号包含了一段数据,比如这里有N个子载波,那么就可以解出N个IQ复信号。因此需要使用DFT对OFDM符号解调
IDFT就是将N个频域的样点(IQ复信号)转换为时域的样点,然后再进行IQ调制得到s(t)。
P325
其中DA转换器,就是将IDFT得到的时域的信号进行采样得到连续的信号,送给模拟的进行IQ调制。后面就是模拟的调制了。
另外,这里说的采样率,是指这个OFDM符号内一共获得的样本数(IQ复信号的数量),而不是对一个时域信号采样的点数
P327
例子中用20M带宽的OFDM基带信号举例,注意这里是基带信号。
基带信号是零频附近,如果调制后,其实负频率也会被调制到频带上,即负频率也会占用带宽
这里只看OFDM基带信号,20M的子载波2048个(20_000_000/15_000 = 1333.33 )IDFT取2^N,即2048
因为是基带嘛,所以将这个20M分为负和正各10M,因此算最高频率为N/2f0=2048/215khz = 15.36MHZ
根据基带信号的采样,只能是过采样,即使用30.72MHZ来采样,因此20MHZ使用30.72.。实际上2048个子载波只有1200个子载波是有调制数据的,实际上占用的带宽只有15*1200/2=9MHZ
最后:对于脉冲成形和数字调制、OFDM调制 这里其实有点乱,还需要看书去理解顺序,后续再对本文章做梳理
总结
相关文章:
深入浅出通信原理
深入浅出通信原理 文章目录 深入浅出通信原理前言一、概述二、信号和频谱2.1 信号2.2 信号的分解与合成2.3 傅里叶变换的特性2.4 离散傅里叶变化 三 信道3.1 衰减和损耗3.2 多普勒效应 四 信源编码4.1 采样4.2 量化4.3 编码 五 基带信号的发送和接受5.1 脉冲成形5.2 眼图 六 频…...
Gitee Pipeline 从入门到实战【详细步骤】
文章目录 Gitee Pipeline 简介Gitee Pipeline 实战案例 1 - 前端部署输入源NPM 构建Docker 镜像构建Shell 命令执行案例 2 - 后端部署全局参数输入源Maven 构建Docker 镜像构建Shell 命令执行参考🚀 本文目标:快速了解 Gitee Pipeline,并实现前端及后端打包部署。 Gitee Pi…...
【贪心算法】贪心算法
贪心算法简介 1.什么是贪心算法2.贪心算法的特点3.学习贪心的方向 点赞👍👍收藏🌟🌟关注💖💖 你的支持是对我最大的鼓励,我们一起努力吧!😃😃 1.什么是贪心算法 与其说是…...
【网络原理】❤️Tcp 常用机制❤️ —— 延时应答,捎带应答, 面向字节流, 异常情况处理。保姆式详解 , 建议收藏 !!!
本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人…...
Scratch教学案例 —— 制作生日蛋糕
小虎鲸Scratch资源站-免费少儿编程Scratch作品源码,素材,教程分享网站! 简介 在这个教学案例中,我们将使用Scratch制作一个简单而有趣的生日蛋糕动画。通过这个项目,学生可以学习到如何使用Scratch中的基本编程块进行角色控制、造型切换、舞台背景设置以…...
【深度学习】搞懂卷积神经网络(一)
卷积神经网络是一种具有局部连接,权重共享等特性的深层前馈神经网络。一般是由卷积层,池化层,全连接层交叉堆叠而成,使用反向传播算法进行训练。卷积神经网络具有一定程度上的平移,缩放和旋转不变性,较前馈…...
VisionPro - 基础 - 00 模板匹配技术和在VP中的使用 - PMAlign - PatMax - (上)
前言 模板匹配是机器视觉领域,尤其是工业视觉领域内,自动化经常要使用的一个视觉算法应用模式。在VP里面,有几种简单的模版匹配的算子,这里大致介绍一下VP的PatMax。 在视觉应用领域,搜索匹配的特征是经常要用到的方…...
容器镜像同步工具image-migrator
1 概述 image-migrator是一个用于容器镜像同步的可执行二进制命令行工具(不依赖于docker命令),能够自动将基于Docker Registry v2镜像仓库(registry、云厂商容器镜像服务、docker hub、Quay、Harbor )中的镜像迁移到基…...
嵌入式系统中的u-boot、kernel、rootfs的区别与关系
嵌入式系统中的u-boot、kernel、rootfs的区别与关系 1. 总览 在嵌入式Linux系统中,软件架构通常分为四个层次,从低到高依次为: 引导加载程序 (Bootloader):固化在硬件Flash中的引导代码,用于硬件基本配置和内核引导…...
K8s1.28 部署Dashboard获取登录信息
Kubernetes Dashboard 是一个基于 Web 的用户界面,用户可以通过它管理和监控 Kubernetes 集群。它提供了对容器化应用程序的概览、集群资源的状态查看、以及对服务和容器的简单操作管理。 配置 Dashboard 访问的方式: Kubernetes 中的服务类型默认是 C…...
智能化大数据平台引领企业迈向精准决策时代
随着科技的飞速发展,大数据平台正逐步迈向更加智能化和自动化的未来趋势。未来的数据平台不仅仅是一个简单的存储和处理数据的工具,而是一个能够自主学习、优化和做出决策的智能系统。这一转变将极大地改变企业处理数据的方式,提高决策的速度…...
1.3 计算机网络的分类
欢迎大家订阅【计算机网络】学习专栏,开启你的计算机网络学习之旅! 文章目录 前言一、按分布范围分类二、按传输技术分类三、按拓扑结构分类四、按使用者分类五、按传输介质分类 前言 计算机网络根据不同的标准可以被分为多种类型,本章从分布…...
深入剖析protobuf.js之Field类:内部机制、使用实践与高级应用指南
引言 在protobuf.js库中,Field类扮演着极其重要的角色,它定义了消息(Message)中每个字段的元数据和行为。Field类不仅包含字段的类型、编号、规则等基本信息,还负责字段的序列化和反序列化逻辑。本文将对protobuf.js的…...
docker挂载宿主机文件run命令启动报错
背景 使用docker安装mysql8,docker run 命令提示报错 命令: docker run -d \ -p 3306:3306 \ -v ~/docker/mysql8/log/mysqld.log:/var/log/mysqld.log \ -e MYSQL_ROOT_PASSWORD=123456 \ --name mysql8 mysql:8.0.36 报错信息 docker: Error response from daemon: fai…...
Python实现 Socket.IO 的在线游戏场景
博客:Python 实现 Socket.IO 的在线游戏场景 目录 引言 什么是 Socket.IO?Socket.IO 的应用场景Socket.IO 在在线游戏中的优势本文案例概述 Socket.IO 的工作原理 Socket.IO 的事件驱动机制WebSocket 与 Socket.IO 的比较Socket.IO 的握手和连接机制 …...
A+B P1001 A+B Problem
P1001 AB Problem #include <bits/stdc.h> using namespace std; int main(){int a,b;std::cin>>a>>b;std::cout<<ab; }...
git编译安装报错
编译安装步骤 卸载旧的 yum -y remove gitcd /usr/local/src/wget https://www.kernel.org/pub/software/scm/git/git-2.15.1.tar.xztar -vxf git-2.15.1.tar.xzcd git-2.15.1make prefix/usr/local/git allmake prefix/usr/local/git installecho "export PATH$PATH:/usr…...
知识|智能网联汽车多域电子电气架构会如何发展?
摘要:随着汽车智能化和网联化技术的快速发展,传统的电子电气架构已经无法满足未来车路云网一体化发展的新需求。本文聚焦于未来智能网联汽车的多域电子电气架构,并从总体设计、硬件系统、通信系统和软件系统四个方面对现有技术进行了详细的综…...
【C++算法】位运算
位运算基础知识 1.基础运算符 << : 左移 >> : 右移 ~ : 取反 & : 按位与,有0就是0 I : 按位或,有1就是1 ^ : 按位异或,(1)相同为0,相异为1(2)无进位相加 2.…...
PMP--一模--解题--101-110
文章目录 11.风险管理--过程--识别风险→实施定性风险分析→实施定量风险分析→规划风险应对→实施风险应对→监督风险101、 [单选] 在项目即将进入收尾阶段时,项目经理发现了一项原来没有考虑到的新风险。该风险一旦发生,可能给最终的可交付成果带来重要…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent
安全大模型训练计划:基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标:为安全大模型创建高质量、去偏、符合伦理的训练数据集,涵盖安全相关任务(如有害内容检测、隐私保护、道德推理等)。 1.1 数据收集 描…...
