数据通信与计算机网络——数字传输

news2025/6/8 12:16:30

主要内容

数字到数字转换

·线路编码

·线路编码方案

·块编码

·扰动

模拟到数字转换

·脉冲码调制(PCM)

·Delta调制(DM)

传输模式

·并行传输

·串行传输

一、数字到数字转换

        将数字数据转换为数字信号涉及三种技术: 线路编码(line coding)块编码(block coding)、 扰动(scrambling)。线路编码总是需要的,块编码和扰动可按需提供。

        线路编码是将数字数据转换为数字信号的过程——数据在计算机中以位序列形式存放,在发送端,数字数据被编码成数字信号,在接收端解码数字信号重新生成原数字数据。

图4.1  线路编码与解码 

线路编码

数据元素和信号元素

数据元素(data element):表示一块信息的最小实体,即位(bit),是我们需要发送的,被承载的。

信号元素(signal element):是数字信号的最小单元,承载数据单元,是我们能发送的,是传输载体。

        定义r为每个信号元素承载的数据元素的数量,如果一个数据元素被一个信号元素承载,则r = 1,如果一个信号元素承载两个数据元素,则r = 2,如果两个信号元素承载一个数据元素,则r = 1/2,如果三个信号元素承载四个数据元素,则r = 4/3。

图4.2  信号元素和数据元素 

        信号元素与数据元素的关系就是如何用信号表示传输的数据,即如何表示0,1 。

数据速率与信号速率

数据速率:每秒钟发送的数据元素(位)的数量,单位是bps(bits per second),也叫比特率; 信号速率:每秒钟发送的信号元素的数量(准确说法:信号电平发生改变或被调制的速率),单位是波特率(baud),或者叫做脉冲速率(pulse rate)、调制速率(modulation rate)或波特率(baud rate)

        数据通信的一个目标:增加数据速率(增加了传输速度)而降低信号速率(降低了带宽要求)。

数据速率与信号速率的关系

注:N:数据速率,单位bps c:情形因子(case factor),会根据情形(不同数据模式),改变 S:是信号速率 r:比率。 

例4.1:

        一个信号携带数据,一个数据元素编码成一个信号元素(r=1)。如果比特率是100kbps,c在0和1之间,那么波特率的平均值是多少?

解: 假定c的平均值是1/2,那么波特率是:

 例4.2:

        通道的最大数据速率是Nmax = 2 × B × log2 L (由奈奎斯特公式定义),这与前面定义的Nmax公式一致吗?

解: 有L个电平信号,每个电平可以携带log2L个比特。如果每个电平与一个信号元素对应,假定一般情形(c=1/2),则

基线、基线偏移和直流分量

        基线(Baseline):解码数字信号时,接收方计算收到信号功率的运行平均值。输入信号的功率会与基线比较来确定数据元素的值。

        基线偏移(Baseline Wandering):指基线随时间定向的缓慢变化。0或者1的长字串通常(但不绝对)会引起基线偏移,使得接收方不能正确地进行解码,好的线路编码方案需要防止基线偏移。

        直流成分(DC Components):接近于零频率的成分称为直流成分(即常量),这会给不允许通过低频率的系统或者使用电子耦合的系统(如变压器)带来问题。

自同步

        为了正确解释发送方的信号,接收方的位间隔与发送方的位间隔必须严格对应与匹配(图4.3), 自同步数字信号在传输的数据中包含有定时信息, 通常使用信号中包含有提示接收方起始、中间和结束位置的脉冲的跳变(transition)完成自同步

图4.3  缺乏同步的结果(接收方间隔变短) 

例4.3:

        在数字传输中,接收方时钟比发送方时钟快0.1%, 如果数据速率是1kbps,则接收方每秒钟可以接收到多少额外的位?如果数据速率是 1Mbps呢?

解: 在1kbps时,接收方接收的速率是1001而不是1000bps。

在1Mbps时,接收方接收的速率是1,001,000 而不是 1,000,000 bps。

线路编码方案 

单极NRZ方案

·单极:所有电平都在时间轴的一边。

·单极NRZ:不归零,在位的中间信号不会回到0,不用于数据通信中。

图4.5  单极NRZ方案 

极性NRZ-L方案和极性NRZ-I方案

·极性:电平在时间轴的两边

·极性NRZ:信号振幅使用两个电平,有NRZ-L(NRZ电平编码,电平决定位值)和NRZ-I(NRZ反相编码,电平是否跳转决定位值)两种形式。 

图4.6  极性NRZ-L方案和极性NRZ-I方案 

NRZ-L(全0和全1)和NRZ-I(全0)都有基线偏移问题。
NRZ-L(全0和全1)和NRZ-I(全0)都有同步问题。
NRZ-L和NRZ-I都有N/2 Bd的平均信号速率
NRZ-L和NRZ-I都有DC问题(当频率接近于0时)

例4.4:

        系统使用NRZ-I传输10Mbps的数据,试问平均信号速率和最小带宽是多少?

解: 平均信号速率是S=N/2=5Mbaud,平均波特率的最小带宽是Bmin=S=5MHz。

极性RZ(归零)编码方案 

        NRZ在发送方和接收方时钟不同步时有问题,不知位何时结束,下一位何时开始,RZ编码在每个位中间信号变为0,解决同步问题,信号有三个值:正值,负值和零。 缺点:两个信号变化编码一个位,占用的带宽大,三个电平的生成和辨别更加困难,已不再使用。

图4.7  极性RZ(归零)编码方案

极性-双相(biphase)编码 

位中间跳变思想:曼彻斯特编码差分曼彻斯特编码

曼彻斯特编码:RZ的位中间跳变 + NRZ-L 位的持续时间被二等分,前半部分电平保持一个水平,后半部分变成另外一个水平 位中间的跳变提供了同步 0:由高到低,1:由低到高。

差分曼彻斯特编码:RZ + NRZ-I 中间总有跳变,值在位起始位置确定 1:起始没有跳变; 0:起始有跳变。

图4.8  极性双相:曼彻斯特编码和差分曼彻斯特编码

        在曼彻斯特编码和差分曼彻斯特编码中,位中间的跳变用于同步,值要么在位中间,要么在位起始位置。没有基线偏移,而且由于每个位是正负电平值,没有DC成分; 但最小带宽(信号速率)是NRZ的两倍。

双极性方案

        也称为多电平二进制(multilevel binary)编码, 一个数据元素的电平是0,另一个数据元素的电平在正值和负值间交替, 包括交替信号反转AMI(alternate mark inversion)和伪三元编码等。

        AMI:交替的1的翻转替换,0电平表示0,交替正负电平表示1。

        伪三元编码:是AMI的一个变形,1编码成0电平,0编码成正负交替电平。

信号速率与NRZ一样,但没有DC成分;有同步问题(扰动技术解决)。

图4.9  双极性方案:AMI和伪三元码

多电平方案

        通过把m个数据元素的模式编码成n个信号元素的模式,增加每波特的位数。若只有两种数据元素(0,1),表示m个数据元素组可以产生2^m个数据模式组合,不同信号元素可以用不同的电平表示,L个不同的电平可以产生L^n个信号模式组合。 

        若2^m= L^n,每个数据模式编成一个信号模式

        若2^m<L^n,数据模式只能占据一个信号模式的子集

        若2^m>L^n,无法数据编码

使用mBnL来表示

        m表示二进制模式的长度

        B表示二进制数据 n是信号模式的长度

        L是信号的电平数,若L=2,用B替换

                                        若L=3,则用T替换

                                        若L=4,则用Q替换

在mBnL 方案中, m个数据元素模式编码成n信号元素模式, 2^m ≤ L^n。

图4.10  多电平2B1Q:2位数据模式编码成一个4电平信号元素

图4.11  多电平:8B6T编码

        8位数据模式编码成6个信号元素模式,每个信号有3种电平。 

        平均信号速度理论值:

        最小带宽接近:

 

图4.12  多电平:4D-PAM5方案

        4维5级脉冲振幅调制(four dimensional five-level pulse amplitude) 4D: 数据同时通过4条线路发送 5个电平:-2、-1、0、1、2 0只用于发送差错检测 若编码是一维的,4个电平产生类似于8B4Q 信号速率可以降低到N/8 G比特LAN使用这个技术来通过4条铜线(能处理125MBd)发送1Gbps的数据。 

图4.13  多传输:MLT-3方案 

        MLT-3:三电平多线路传输(multiline transmission, three level) 是一种多于两个跳变规则的差分编码(相对于NRZ-I和差分曼彻斯特编码) 使用三个电平和三个跳变规则在电平间跳动 三个电平是:+V、0、-V(100Base-TX) 规则: 如果下一位是0,没有跳变(全0没有自同步) 如果下一位是1且当前电平不是0,下一个电平是0 如果下一位是1且当前电平是0,下一个电平是最后一个非零电平的相反值。

块编码(block coding)

        为了确保同步,我们需要一些冗余,并由此提供一些内在差错检测,块编码把m位的块变成n位的块,n>m,块编码通常称为mB/nB 编码技术,用n位组替换m位组(注意:块编码中的斜线,与多电平方案区分)。 块编码主要包含三个步骤:分组、置换和组合。

        

图4.14  块编码概念

        上文提到,NRZ-I有很好的信号速率,是双相编码的一半,但有同步问题(连续的0时,无反相)。 一种解决方法是在使用NRZ-I编码前改变位流,4B/5B可以实现此目的,100Base-FX:4B/5B+NRZ-I。

图4.15  使用块编码 4B/5B和线路编码NRZ-I的组合方案

表4.2  4B/5B映射码 

        4B/5B编码方案解决了NRZ-I的同步问题,但是它增加了NRZ-I的信号速率,冗余位比原来增加25%的波特,也没有解决NRZ-I的DC成分问题。

图4.16  4B/5B块编码进行置换的例子

例4.5:

        我们需要以1Mbps的数据速率发送数据,使用4B/5B和NRZ-I的组合,或曼彻斯特编码,最小的带宽是多少?

解: 首先4B/5B块编码增加比特率到1.25Mbps. 使用NRZ-I的最小带宽是N/2或625kHz。曼彻斯特编码需要的最小带宽1MHz。第一个选择需要更低的带宽,但有DC分量;第二个选择需要更高的带宽,但没有DC分量。

图4.17  8B/10B块编码

        8B/10B编码类似于4B/5B编码,8位数据组被置换成10位编码,提供了更高的差错控制能力 实际上是5B/6B编码和3B/4B编码的组合(简化映射表) 为了防止连续0或者1的长串,使用不均等性控制器 编码有210-28=768个冗余组,可用于不均等性校验和差错检测。

扰动(scrambling)或扰码

        双相编码适用于LAN中间站的专用链路,不适用于长距离通信(带宽需求高),块编码和NRZ编码的组合有DC分量,也不适合于长距离通信 双极性AMI有窄带宽且没有DC分量,但当连续0的长序列会失去同步。

        解决:修改部分AMI规则引入扰动(或扰码),不增加位数将长0替换。

图4.18  使用扰动的AMI 

B8ZS:8零替换的双极编码方案

        8个连续0电平会被替换成000VB0VB V表示违反(Violation),是个非零电平,与前一个非零脉冲极性相同的极性,违反AMI编码规则(为什么要违反?),B表示双极,表示与AMI相一致的非零电平,即与前一个非零脉冲极性相反的极性 两正两负,维持了DC平衡。

 图4.19  B8ZS:8零替换的双极编码方案

HDB3:高密度双极3零方案

        4个连续0电平被置换成000V或B00V 两个不同的置换的原因是为了维持每次置换后非零脉冲为偶数,如果最后一次置换后的非零脉冲数是奇数,置换为000V,使得非零脉冲总数为偶数 如果最后一次置换后的非零脉冲数是偶数,置换为B00V,使得非零脉冲总数为偶数。

HDB3替换规则:

连续的两个违规码之间是正负极交替的,不会产生直流成分。

二、模拟到数字的转换

        数字信号安全性、保密性好,抗干扰性好,随着大规模集成电路和超大规模集成电路体积与价格上的降低,今天的趋势是把模拟信号转换成数字信号。

         两种转换(数字化)方案——脉冲码调制PCM(pulse code modulation)、Delta调制(delta modulation)或增量调制。

        

图4.21  PCM编码器:采样(脉冲振幅调制PAM)、量化和编码

采样

      三种采样方法

        理想采样:对来自模拟信号的脉冲进行采样,不容易实现。

        自然采样:采样发生时高速开关开启很短的时间,由此样本序列保持了模拟信号的形状。

        方顶采样:通过适用电路产生方顶样本,最常用。

图4.22  PCM的三种不同采样方法 

        采样速率:根据Nyquist定理,为了再生原始模拟信号,采样速率必须至少是信号所含最高频率的2倍。

图4.23  低通和带通信号的Nyquist采样速率 

例4.6:

        对于Nyquist定理的一个直观实例,让我们以三种采样率对简单正弦波进行采样:fs=4f(2倍奈奎斯特速率),fs=2f(奈奎斯特速率),和 fs=f(一半奈奎斯特速率),图4.24给出了采样后和后续的信号恢复。

        可以看到,以奈奎斯特速率进行采样可以得到与原始正弦波较好近似的信号(图4.24a),图4.24b部分过采样得到相同的近似,但它是冗余的,没必要。低于奈奎斯特速率的采样(图4.24c)不能产生与原始正弦波相似的信号.。

图4.24  不同采样率下采样正弦波的恢复

例4.7:

        一个有趣的例子,如果我们对诸如时钟指针旋转的周期性事件进行采样,我们会看到什么?时钟的分针周期为60秒。根据奈奎斯特定理,我们需要每隔30秒(Ts=1/2T或fs=2f)对分针进行采样(拍照并发送)。在图4.25a中, 样本点依次为12, 6, 12, 6, 12和6。样本的接收方无法知道时钟是向前走还是向后走。在图4.25b部分,我们以两倍奈奎斯特(每隔15s)进行采样,样本点依次是12, 3, 6, 9和12,时钟在向前走。在图4.25c中,我们低于奈奎斯特速率的采样率(Ts=3/4T或fs=4/3f)进行采样,样本点依次是12, 9, 6, 3和12,虽然时钟在向前走,但接收方认为时钟在往后走。

图4.25  对时钟分针进行采样 

例4.8:

        与例子4.7相似的一个例子是电影中向前移动的汽车看起来车轮向后转,这可以用欠采样解释。电影以每秒24帧的速度拍摄,如果车轮以高于每秒12次的速度旋转,欠采样就会产生向后旋转的印象。

例4.9:

        电话公司假定语音的最高频率为4000Hz对语音进行采样,因此采样率是每秒8000个样本。

例4.10:

        一个复杂的低通信号带宽为200kHz,那么这个信号的最小采样率是多少?

解:

        低通信号的带宽在0和f之间,f是信号的最大频率。因此,我们以两倍这个最高频率(200kHz)对这个信号进行采样,因此采样速率是每秒400,000个样本。 

例4.11:

         一个复杂的带通信号带宽为200kHz,那么这个信号的最小采样率是什么 ?

解:

        因为我们不知道带宽从何开始到何结束,所以我们无法找到这个例子中的最小采样率,我们不知道这个信号中的最大频率。 

量化

        采样后的结果是一系列振幅值介于信号最大振幅和最小振幅间的脉冲,为了更好描述,我们需要进行量化。

        量化等级L:取决于模拟信号振幅范围以及需要准确恢复信号的程度(如果振幅变化很大而L值较低,就会增加量化误差)

        量化误差(Quantization errors):量化是一个近似过程 输出值与实际输入值之间的差值 量化误差改变了信号的信噪比,可以证明量化误差对信号SNRdB的影响取决于量化级别L或每个样本位数nb。

图4.26  采样信号的量化和编码 

例4.12:

        图4.26例子中的 SNRdB 是多少? 

解: 我们可以使用公式来解决这个量化值,有8个级别,每个样本有3位,所以 SNRdB = 6.02×3 + 1.76 = 19.82dB

        结论:增加级别数就会增加SNR。

例4.13:

        电话用户线路必须有高于40的SNRdB,那么每个样本的最小位数是多少?

解: 我们可以计算位数如下:

电话公司一般每个样本分配7 或 8 个位.。

        对于很多应用,模拟信号中瞬时振幅的贡献是不均匀的。

        均匀量化:△的高度是固定的。

        非均匀量化:也就是△的高度不是固定的,低振幅时△较大,而接近高振幅时△较小。

        编码:采样后的数据用多少位比特表示,每个样本可以转换成nb个位的码字

        比特率: 

例4.14:

        要数字化人的语音,假定每个样本有8个位,那么比特率是多少?

解: 人的语音通常包含0到4000Hz的频率,因此采样率和比特率可以计算如下:

原始信号恢复 

图4.27 PCM解码器的组成 

PCM带宽(给定低通模拟信号带宽Banalog)

 例4.15:

        有一个4kHz的低通信号,如果发送这个模拟信号,需要最小带宽是4kHz的通道。如果数字化这个信号并且每个样本发送8个位,需要最小带宽是8×4kHz=32kHz的通道。

Delta调制(DM)或增量调制 

        PCM技术十分复杂,开发其他技术来减少PCM的复杂性,最简单的一种是Delta调制

        PCM得到每个样本的信号振幅值,DM从前一个样本中得到变化(寻找当前样本与前一个样本的改变值)。

        在每个采样区间,调制器将模拟信号的值与梯形信号的最后一个值比较,如果模拟信号的振幅大,数字数据中的下一个位就是1,否则为0; 如果下一位是1,梯形信号生成器把梯形信号的最后一个点向上移delta,否则下移delta; 注意:比较时需要一个延迟单元 

图4.29  Delta调制器组成 

图4.30  Delta解调器组成 

三、传输模式 

        通过链路传输二进制数据可以采用并行模式或者串行模式:

                在并行模式中,每个时钟脉冲发送多位

                在串行模式中,每个时钟脉冲发送1位

并行传输只有一种方式,串行传输则分为三类:异步、同步和等时。

图4.31  数据传输模式 

并行传输 

图4.32  并行传输

        每次使用n条线路传送n位 并行传输的优点是速度 缺点是成本高,需要n条线路,通常只用于短距离通信。

图4.33  串行传输

        位是一个一个依次传输的 两个通信设备之间只需要一条通道 串行传输的优点是只要一条通信信道,成本只有并行的1/n 接口处需要并/串和串/并转换设备(设备内部是并行的)。

异步传输

        在传输中信号的时序并不重要,信息的接收和转换通过约定的模式进行(不管信息发送的节奏) 约定模式基于将位流组成字节的方式建立,作为一个单位沿着链路传输(一次一个字符) 没有同步时钟,增加起始位和停止位。

        在异步传输过程中,需要在每个字节开始时发送1个起始位(通常是0),结束时发送1个或者多个停止位(通常是1)。在每个字节之间会有一个时间间隔。

         另外注意,异步在这里是指在字节级上的异步,但是每位仍然要同步,它们的持续时间是相同的。

图4.34  异步传输 

        有额外开销(起始位、停止位、位流中插入间隙),比没有附加控制信息的传输运行要慢 既便宜又有效,对于低速通信很有吸引力,例如键盘到计算机的连接。

同步传输

        位流被组合成更长的“帧”,一帧包含多个字节; 引入帧内的各字节之间没有间隙; 在同步传输模式中,依次发送位流而不含起始位、停止位和间隙,接收方负责将位流进行分组。

         发送器和接收器之间时钟同步: 发送器和接收器间提供一条独立的时钟线路,短距离可以,长距离时同步脉冲会受到损伤,产生时序上的误差 将时钟信号嵌入到数据信号中,比如数字信号中的曼彻斯特编码或差分曼彻斯特编码,另一个级别的同步:接收器能够判断数据块的开始和结束 加上前同步码和后同步码(再加上控制信息和实际数据组成帧)。

图4.35  同步传输 

        同步传输的优点是速度快 同步传输通常多用于传输大块二进制数据。 

等时传输

        保证数据以固定速率到达,在实时音频和视频中,帧间的不等延迟是不可接受的,整个流必须同步。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

黄柏基因组-小檗碱生物合成的趋同进化-文献精读142

Convergent evolution of berberine biosynthesis 小檗碱生物合成的趋同进化 摘要 小檗碱是一种有效的抗菌和抗糖尿病生物碱&#xff0c;主要从不同植物谱系中提取&#xff0c;特别是从小檗属&#xff08;毛茛目&#xff0c;早期分支的真双子叶植物&#xff09;和黄柏属&…

前端杂货铺——TodoList

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1f4c3;个人状态&#xff1a; 研发工程师&#xff0c;现效力于中国工业软件事业 &#x1f680;人生格言&#xff1a; 积跬步…

Spring Boot SSE流式输出+AI消息持久化升级实践:从粗暴到优雅的跃迁

在 AI 应用落地过程中&#xff0c;我们常常需要将用户和 AI 的对话以“完整上下文”的形式持久化到数据库中。但当 AI 回复非常长&#xff0c;甚至接近上万字时&#xff0c;传统的单条消息保存机制就会出问题。 在本篇文章中&#xff0c;我将深入讲解一次实际项目中对 对话持久…

Model Context Protocol (MCP) 是一个前沿框架

微软发布了 Model Context Protocol (MCP) 课程&#xff1a;mcp-for-beginners。 Model Context Protocol (MCP) 是一个前沿框架&#xff0c;涵盖 C#、Java、JavaScript、TypeScript 和 Python 等主流编程语言&#xff0c;规范 AI 模型与客户端应用之间的交互。 MCP 课程结构 …

内容力重塑品牌增长:开源AI大模型驱动下的智能名片与S2B2C商城赋能抖音生态种草范式

摘要&#xff1a;内容力已成为抖音生态中品牌差异化竞争的核心能力&#xff0c;通过有价值、强共鸣的内容实现产品"种草"与转化闭环。本文基于"开源AI大模型AI智能名片S2B2C商城小程序源码"技术架构&#xff0c;提出"技术赋能内容"的新型种草范式…

手机号在网状态查询接口如何用PHP实现调用?

一、什么是手机号在网状态查询接口 通过精准探测手机号的状态&#xff0c;帮助平台减少此类问题的发生&#xff0c;提供更个性化的服务或进行地域性营销 二、应用场景 1. 金融风控 通过运营商在网态查询接口&#xff0c;金融机构可以核验贷款申请人的手机状态&#xff0c;拦…

【Java微服务组件】分布式协调P4-一文打通Redisson:从API实战到分布式锁核心源码剖析

欢迎来到啾啾的博客&#x1f431;。 记录学习点滴。分享工作思考和实用技巧&#xff0c;偶尔也分享一些杂谈&#x1f4ac;。 有很多很多不足的地方&#xff0c;欢迎评论交流&#xff0c;感谢您的阅读和评论&#x1f604;。 目录 引言Redisson基本信息Redisson网站 Redisson应用…

一个简单的德劳内三角剖分实现

德劳内&#xff08;Delaunay&#xff09;三角剖分是一种经典的将点集进行三角网格化预处理的手段&#xff0c;在NavMesh、随机地牢生成等场景下都有应用。 具体内容百度一大堆&#xff0c;就不介绍了。 比较知名的算法是Bowyer-Watson算法&#xff0c;也就是逐点插入法。 下雨闲…

C#子线程更新主线程UI及委托回调使用示例

1.声明线程方法 2.线程中传入对象 3.声明委托与使用 声明委托对象 委托作为参数传入方法 4.在线程中传入委托 5.调用传入的委托

使用VuePress2.X构建个人知识博客,并且用个人域名部署到GitHub Pages中

使用VuePress2.X构建个人知识博客&#xff0c;并且用个人域名部署到GitHub Pages中 什么是VuePress VuePress 是一个以 Markdown 为中心的静态网站生成器。你可以使用 Markdown 来书写内容&#xff08;如文档、博客等&#xff09;&#xff0c;然后 VuePress 会帮助你生成一个…

手写Promise.all

前言 之前在看远方os大佬直播的时候看到有让手写的Promise.all的问题&#xff0c;然后心血来潮自己准备手写一个 开始 首先&#xff0c;我们需要明确原本js提供的Promise.all的特性 Promise.all返回的是一个Promise如果传入的数据中有一个reject即整个all返回的就是reject&…

2025年6月|注意力机制|面向精度与推理速度提升的YOLOv8模型结构优化研究:融合ACmix的自研改进方案

版本&#xff1a; 8.3.143(Ultralytics YOLOv8框架) ACmix模块原理 在目标检测任务中&#xff0c;小目标&#xff08;如裂缝、瑕疵、零件边缘等&#xff09;由于其尺寸较小、纹理信息稀疏&#xff0c;通常更容易受到图像中复杂背景或噪声的干扰&#xff0c;从而导致漏检或误检…

利用qcustomplot绘制曲线图

本文详细介绍了qcustomplot绘制曲线图的流程&#xff0c;一段代码一段代码运行看效果。通过阅读本文&#xff0c;读者可以了解到每一项怎么用代码进行配置&#xff0c;进而实现自己想要的图表效果。&#xff08;本文只针对曲线图&#xff09; 1 最简单的图形&#xff08;入门&…

【基础算法】枚举(普通枚举、二进制枚举)

文章目录 一、普通枚举1. 铺地毯(1) 解题思路(2) 代码实现 2. 回文日期(1) 解题思路思路一&#xff1a;暴力枚举思路二&#xff1a;枚举年份思路三&#xff1a;枚举月日 (2) 代码实现 3. 扫雷(2) 解题思路(2) 代码实现 二、二进制枚举1. 子集(1) 解题思路(2) 代码实现 2. 费解的…

智能对联网页小程序的仓颉之旅

#传统楹联遇上AI智能体&#xff1a;我的Cangjie Magic开发纪实 引言&#xff1a;一场跨越千年的数字对话 "云对雨&#xff0c;雪对风&#xff0c;晚照对晴空"。昨天晚上星空璀璨&#xff0c;当我用仓颉语言写下第一个智能对联网页小程序的Agent DSL代码时&#xff0…

Python分形几何可视化—— 复数迭代、L系统与生物分形模拟

Python分形几何可视化—— 复数迭代、L系统与生物分形模拟 本节将深入探索分形几何的奇妙世界&#xff0c;实现Mandelbrot集生成器和L系统分形树工具&#xff0c;并通过肺部血管分形案例展示分形在医学领域的应用。我们将使用Python的NumPy进行高效计算&#xff0c;结合Matplo…

【超详细】英伟达Jetson Orin NX-YOLOv8配置与TensorRT测试

文章主要内容如下&#xff1a; 1、基础运行环境配置 2、Torch-GPU安装 3、ultralytics环境配置 4、Onnx及TensorRT导出详解 5、YOLOv8推理耗时分析 基础库版本&#xff1a;jetpack5.1.3, torch-gpu2.1.0, torchvision0.16.0, ultralytics8.3.146 设备的软件开发包基础信息 需…

Go语言学习-->项目中引用第三方库方式

Go语言学习–&#xff1e;项目中引用第三方库方式 1 执行 go mod tidy 分析引入的依赖有没有正常放在go.mod里面 找到依赖的包会自动下载到本地 并添加在go.mod里面 执行结果&#xff1a; 2 执行go get XXXX&#xff08;库的名字&#xff09;

每日Prompt:云朵猫

提示词 仰视&#xff0c;城镇的天空&#xff0c;一片形似猫咪的云朵&#xff0c;用黑色的简笔画&#xff0c;勾勒出猫咪的形状&#xff0c;可爱&#xff0c;俏皮&#xff0c;极简

AI浪潮下的IT行业:威胁、转变与共生之道

目录 前言1 AI在IT行业的具体应用场景1.1 软件开发中的AI助手1.2 运维与监控的智能化1.3 测试自动化与质量保障1.4 安全防护中的智能威胁识别 2 AI对IT从业者的实际影响2.1 工作内容的结构性变化2.2 技能结构的再平衡 3 IT从业者不可替代的能力与价值3.1 复杂系统的架构与抽象能…