无线传感器网络:物理层设计

news2024/11/18 23:34:12

文章目录

  • Physical Layer Technologies
    • Radio Frequencies
      • Narrow-Band Communication
      • Spread Spectrum
        • DSSS
        • FHSS
      • Ultra Wide Band (UWB)
    • Optical Communication
    • Acoustic Communication
    • Magnetic Induction Communication
  • RF Wireless Communication
    • Wireless Channel Effects
      • Attenuation
      • Reflection and Refraction
      • Diffraction and Scattering
      • Multi-path Effects
      • Channel Error Rate
      • Unit Disc Graph vs. Statistical Channel Models
  • References


物理层(physical layer)负责将比特流转换为最适合在(无线)信道上进行通信的信号。更具体的说,物理层负责:

  • 频率选择(frequency selection)
  • 载波频率生成(carrier frequency generation)
  • 信号检测(signal detection)
  • 调制(modulation)
  • 数据加密(data encryption)

WSNs 的大多数独特优势都是无线通信提供的,例如,部署的简易性,无基础设施网络(infrastructure-free networking)以及广播通信。但无线通信的通信范围有限,且易受到干扰,容易出错。

就能量损耗以及部署的复杂度来说,长途的无线通信是非常昂贵的。因此在设计 WSN 的物理层时,想办法减少能量损耗是非常重要的,当然也有一些其它考虑因素:

  • 衰减(decay),散射(scattering),阴影效应(shadowing)
  • 反射(reflection),衍射(diffraction)
  • 多径衰落(multi-path fading)

一般来说,在一定距离内传输信号所需的最小输出功率数量级为 d n d^n dn,其中 2<n<4。对于自由空间,指数 n 更接近于2,而对于近地天线和近地信道,数值更接近于 4,这也是传感器网络通信中的典型情况。如果节点密度足够高的话,传感器网络中的多跳通信能很有效地克服阴影效应以及路径损耗。


Physical Layer Technologies

WSN 中使用的无线媒介是最重要的设计因素之一,因为不同媒介的独特属性对物理层的能力有不同的限制。在《无线传感器网络概述》中我们也简要提到过,无线链路的传输介质有:

  • 射频(Radio Frequencies)
  • 光波
  • 声波
  • 卫星

通常我们都使用 RF 通信,其它介质也有特定的应用场景。

Radio Frequencies

传感器节点的大多数现有硬件都是基于 RF 电路设计。RF 通信是通过在 RF 波段(3 Hz ~ 300 GHz)上传输的电磁(EM)波进行的。在 WSN 中用于 RF 通信的主要技术类型可以划分为
三种,即

  • 窄带(narrow-band)
  • 扩频(spread-spectrum)
  • 超宽带(ultra-wide-band,UWB)

窄带技术旨在通过在窄带中使用多级(M-ary)调制技术来优化带宽效率。而扩频和超宽带使用更高的带宽,并将信息“扩”到这个更高的带宽上。

Narrow-Band Communication

早期为 WSN 开发的平台采用了窄带通信技术。例如,Mica2 平台使用 CC1000 收发器,它工作在 433、868 和 915 MHz 频段,带宽高达175 kHz,数据率为 76 kbps。它的低功耗传感器装置使用一个单通道射频收发器,工作频率为 916 MHz,数据速率为 10 kbps。

Spread Spectrum

近些年来,扩频技术被用于射频通信,以提高数据速率和抗干扰能力。传输信号所占有的频带宽度远大于所传信息必需的最小带宽。换句话说,我们将一个有限带宽的信号打散(spread)到较其原始带宽更宽的频段上。因此,在某一特定频段的信号被视为噪声,这提高了对其他信号干扰的抵御能力。

代表性的扩频方式有两种:

  • 直接序列扩频(direct sequence spread spectrum,DSSS
  • 跳频(frequency hopping spread spectrum,FHSS

DSSS

DSSS 采用伪噪声(Pseudo-Noise,PN)序列作为扩频序列(chips)。在发送端,直接用高码率的 chips 去扩展信号的频谱(每个比特用很多 chips 来调制)。在接收端,用相同的 PN 码序列将信号解扩,把展宽的信号还原到原始状态。

下图是一个 DSSS 收发器的示意图:

在这里插入图片描述

这里给出一个计算实例:

在这里插入图片描述

FHSS

FHSS 依赖于跳频机制,经由载波快速在不同频率中切换,其宽带频谱被划分为不同的频率通道。几个用户可以共享同一个较高的带宽资源,且干扰很小。FHSS 主要被用在蓝牙标准当中,它提供了对各种噪音和多径失真的免疫力。

我们假设载波每 T c T_c Tc 秒切换一次频率,码元的持续时间则为 T s T_s Ts 秒。

  • T c ≥ T s T_c \ge T_s TcTs,slow FHSS
  • T c < T s T_c < T_s Tc<Ts,fast FHSS

我们用 MFSK (M=4, k=2)来模拟 slow FHSS 和 fast FHSS 的情况。其中

PN 序列为:00 11 01 10 00
二进制数据为:01 11 00 11 11 01 10 00 00 01

M=4 意味着有 4 种不同的码元,即 00 01 10 11.

Slow FHSS

在这里插入图片描述

不同的载波频率会对应不同的频率通道,上图中我们有 4 (4 个载波频率)个通道,每个通道又进一步被分为 4 (4 种码元)个频率通道。

Fast FHSS

在这里插入图片描述

在 Fast FHSS 中,每个 MFSK symbol 会出现在两个频率通道中,而上面的 Slow FHSS 则是一个频率通道包含两个 MFSK symbol。


Ultra Wide Band (UWB)

超宽带(Ultra Wide Band,UWB)技术不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,因此其所占的频谱范围很宽。

UWB 技术具有系统复杂度低,发射信号功率谱密度低对信道衰落不敏感,截获能力低,定位精度高等优点,尤其适用于室内等密集多径场所的高速无线接入。


下面我们比较一下这三种 RF 技术:

Narrow-Band早期使用,现在已经满足不了 WSN 了;
Spread Spectrum低功率通信,对多径效应具有鲁棒性;
对其他窄带信号具有鲁棒性;
对于给定的通信成功率要求,扩频技术与窄带技术相比,可以提供较低的发射功率水平;
与UWB相比,如果二进制调制的带宽占用相等,DSSS 可以提供更好的包误码率;
只有用更高阶的调制方式时,UWB 的优势才会体现出来
UWB使用脉冲位置调制,比 DSSS 成本低得多;
低功率通信,对多径效应具有鲁棒性,且鲁棒性优于 DSSS;
通过使用更宽的频谱,进一步增强了扩频的优势;
在基带传输,不需要 IF 传输,显著减少了收发器电路的复杂度;
只能在小范围内传输(< 10 m);
因为不使用载波,MAC 将不能使用非常成熟的载波检测(carrier sensing)技术

除了 RF 技术,还有光通信、声通信、磁感应通信等多种通信技术。


Optical Communication

光学(红外)通信发生在可见光谱的低端,波长为 750 至 1000 纳米的波段。主要用于便携式设备的短程通信,如手机、笔记本电脑等,它不会受到电磁干扰。

一个由发光二极管(LED)或激光二极管(LD)组成的发射器被用来发射红外光,该光可被光电二极管捕获。发射器根据信息内容对红外线的强度进行调制。在接收端,光电二极管中的电流用来对传输信息进行解码。

红外通信有两种实现方式。一种是点到点通信(point-to-point communication),发射器和接收器必须在视距(line of sight)之内。发射器通常使用窄的光束,可以实现超过 10 m 的通信。另一种则为漫射通信(diffuse communication),并不需要 LoS,通信是根据周围物体的光线反射来进行的。为了提高漫射通信的成功率,一般来说,在发射器上使用宽的光束,在接收器上使用宽的视场。

在这里插入图片描述


Acoustic Communication

RF 和红外通信在水中都不太行,这就需要声通信了。声波可以在水中传播非常长的距离。水下声通信需要高效的麦克风和接收器来建立水中的无线链路。

通信的成功受到路径损失、噪音、多路径、多普勒频移和传播延迟的影响,所有这些都取决于水的特性,如温度、深度和成分等。

此外,由于水下拓扑结构的三维性,根据声射线相对于海底的方向,声音链路也被分为垂直和水平两种。

对于整个传感器网络来说,水下的部署、运转也是非常有挑战的任务:

  • 尺寸、成本:由于更复杂的水下收发器和在极端的水下环境中需要的硬件保护,水下传感器是非常昂贵的设备;
  • 部署:由于所涉及的费用和与部署本身的难度,水下部署通常不会有很高的密度;
  • 功率:水下声波通信所需的功率比地面无线电通信要高,因为距离更远,且需要在接收机上进行更复杂的信号处理来弥补信道的缺陷。因此,需要消耗更多的能量,也就需要更高的电池容量;
  • 存储:陆地传感器节点的存储容量非常有限,但水下传感器可能需要能够做一些数据缓存,因为水下通道的通信可能是间歇性的。

Magnetic Induction Communication

在地下环境中,通信受到土壤、岩石和隧道等地下障碍物的严重影响。使用电磁波的传统信号传播技术在土壤介质中会遇到三个主要问题:

  • 由于被地下的土壤、岩石和水吸收,电磁波会有大幅度的衰减;
  • 路径损失(path loss)在很大程度上取决于许多土壤特性,如含水量、土壤构成(沙子、淤泥或粘土)和密度,并且可以随着时间和空间而发生巨大变化;
  • 必须要使用兆赫兹或更低范围内的工作频率,但如果想要在这样的工作频率有效地传输或者接收信号,天线的尺寸会非常大,土壤中难以部署。

磁感应(MI)是另一种地下无线通信的信号传播技术,它解决了电磁波技术中动态信道条件和大尺寸天线的挑战。这里就不做具体介绍了。


RF Wireless Communication

介绍了这么多无线通信技术,我们还是得主要关注 WSN 通常使用的 RF 无线通信。RF 无线通信模块示意图如下:

在这里插入图片描述

  • 信源编码(Source coding):发生在应用层,针对信源输出符号序列的统计特性来寻找某种方法,把信源输出符号序列变换为最短的码字序列,来消除冗余度。因此信源编码也被叫做数据压缩(data compression)。
  • 信道编码(Channel coding):由于无线信道存在干扰和衰落,在信号传输过程中将出现差错,故对源编码必须采用纠、检错编码,以增强数据在信道中传输时抵御各种干扰的能力,提高系统的可靠性。因此信道编码也叫作差错控制编码(error control coding)。信道编码会根据信道的统计特征来增加冗余信息
  • 调制(modulation):信源编码和信道编码通常都发生在 digital domain,而无线通信则发生在 analog domain,传输器天线产生的波形将会被辐射出去。调制会将比特流转换为适宜无线传输的形式。

RF 无线通信的成功取决于上图中所示的每个模块所使用的技术以及下面这些因素:

  • 无线信道的影响
  • 运行参数,如频率、天线特性和环境噪音等
  • 能量效率

与传统的移动/无线通信的根本区别在于,WSN 的有限能量资源和低成本限制使得它们不能采用高复杂度的信道编码、调制方式或天线技术。


Wireless Channel Effects

在这里插入图片描述

Attenuation

信号在空气中传播时,其强度会衰减,衰减程度与传播距离成比例,这会造成路径损失(path loss)。当信号衰减到某个阈值之后,接收器就检测不到了,这个阈值叫作接收器灵敏度(receiver sensitivity)。我们也将此时信号传播的距离定义为节点的最大传输距离。

路径损失的计算表达式:

P t P r ( d ) = P L ( d ) = P L ( d 0 ) ( d 0 d ) − η \frac{P_t}{P_r(d)}=PL(d)=PL(d_0) \left ( \frac{d_0}{d} \right)^{-\eta} Pr(d)Pt=PL(d)=PL(d0)(dd0)η

P t , P r P_t, P_r Pt,Pr分别为发送功率和接收功率, η \eta η 是一个衰减常数。写成 dB 的形式:

P L ( d ) [ d B ] = P L ( d 0 ) [ d B ] + 10 η log ⁡ 10 d d 0 PL(d){\rm [dB]} = PL(d_0){\rm [dB]} + 10\eta \log_{10} \frac{d}{d_0} PL(d)[dB]=PL(d0)[dB]+10ηlog10d0d

因此接收功率可以这样计算(dB):

P r ( d ) = P t − P L ( d 0 ) − 10 η log ⁡ 10 d d 0 P_r(d)=P_t-PL(d_0)- 10\eta \log_{10} \frac{d}{d_0} Pr(d)=PtPL(d0)10ηlog10d0d

从上面这些公式也可以看出来,随着通信距离的增加,所需的发射功率也要提高。因此我们才说长途无线通信代价很高。这也是 WSN 中采用多跳通信的一个重要原因 (减小节点之间的距离,从而减少发射端的能耗)。

Reflection and Refraction

在这里插入图片描述

Diffraction and Scattering

衍射(Diffraction):信号波也可以通过尖锐的边缘传播,如山或建筑物的尖端。它使尖锐的边缘作为一个源,在那里产生新的波,信号强度被分配到新产生的波上。

在这里插入图片描述

散射(Scattering):信号波一般不会遇到完全光滑的表面。相反,当信号波入射到一个粗糙的表面时,它会向不同方向散射 。

在这里插入图片描述

Multi-path Effects

我们在 Attenuation 中讨论了信号随距离的衰减模型。下面我们讨论反射和散射的影响。由于通信距离相对较短,衍射在低功率、短距离通信中不是一个主要因素。

物体表面的反射和散射通常会导致接收器收到多份信号。这主要与发射器信号的全向传播(omnidirectional propagation)有关。除了发射器和接收器之间的 LoS 路径外,一组信号波也可能从周围的表面反射或散射并到达接收器。虽然这些信号比 LoS 路径上的信号有所衰减,但也在一定程度上有助于通信成功。

考虑多径效应,我们需要在之前给出的路径损失公式(dB 形式)上再添加一个对数正态(log-normal)随机变量 X σ X_{\sigma} Xσ ~ N ( 0 , σ ) \mathcal{N}(0, \sigma) N(0,σ)
P L ( d ) [ d B ] = P L ( d 0 ) [ d B ] + 10 η log ⁡ 10 d d 0 + X σ PL(d){\rm [dB]} = PL(d_0){\rm [dB]} + 10\eta \log_{10} \frac{d}{d_0}+\color{red}{X_{\sigma}} PL(d)[dB]=PL(d0)[dB]+10ηlog10d0d+Xσ

多径效应给无线通信引入了很大的随机性。通信的成功不再仅仅取决于发射器和接收器之间的距离,还取决多径效应引入的方差, σ 2 \sigma ^2 σ2

Channel Error Rate

目前为止的信道模型只考虑了来自单个发射器的信号传播的影响。然而,无线通信的成功不仅取决于来自单个发射器的接收信号强度,而且还取决于收发器的噪声和其他用户的干扰影响。为了能够从传输的比特(误码率,BER)和传输的数据包(误包率,PER)方面准确刻画信道错误率,应考虑多用户无线环境。这引入了噪声和干扰的影响:

  • 噪声:接收器的电子元件以及外部环境导致了不可忽视的噪声,影响了信号接收的准确性。噪声通常取决于特定的接收器结构、环境以及温度。
  • 干扰:由于其广播性质,无线信道是一个多用户环境。因此,多个设备可能同时传输信号,这就产生了同信道干扰(co-channel interference)。此外,其他设备在接近传感器节点工作频率的频段上传输信号,可能会对正在进行的通信造成干扰,并产生邻信道干扰(adjacent-channel interference)。

我们可以用接收信号强度相对噪声以及干扰的比值来衡量一个无线信道的性能:信号与干扰加噪声比(Signal to Interference and Noise Ratio)。

S N I R [ d B ] = 10 log ⁡ 10 ( P r N o + ∑ i = 1 k I i ) {\rm SNIR [dB]}= 10\log_{10}\left(\frac{P_r}{N_o+\sum_{i=1}^k I_i}\right) SNIR[dB]=10log10(No+i=1kIiPr)

P r Pr Pr 为接收信号强度, N 0 N_0 N0 为噪声功率, I i I_i Ii 是节点 i i i 的干扰, k k k 为造成干扰的节点个数。

SNIR 越高,意味着信道的性能越好。在 WSN 中,多个节点的通信尝试是通过MAC层控制的。一般来说,这些MAC协议会尽量避免同时通信,以便将来自不同节点的干扰降到最低。


Unit Disc Graph vs. Statistical Channel Models

介绍了这么多影响无线通信的影响因素,我们下面介绍两种无线信道模型:Unit Disc Graph 和 Statistical Channel Model 。

Unit Disc Graph

表示一个节点的范围是以该节点为中心的半径为 1 的圆盘。我们把这个半径定义为节点的通信范围, r c o m m r_{comm} rcomm

在这里插入图片描述

节点可以与单位圆盘范围内的节点进行完美(无差错)通信,而与圆盘外的节点是断开连接的。误码率 BER 可简单的表示为:
{ 0 i f   d ≤ r c o m m 1 i f   d > r c o m m \left\{ \begin{aligned} 0 \quad {\rm if} \ d\le r_{comm} \\ 1 \quad {\rm if} \ d > r_{comm} \end{aligned} \right. {0if drcomm1if d>rcomm

Statistical Channel Models:
Statistical Channel Models 可以对无线信道的随机性进行很好的建模。可分为三个主要区域:

在这里插入图片描述

相比 Unit Disc Graph,Statistical Channel Models 增加了 transitional region 这一概念,在这一区域,通信的成功有很大的不确定性,可能在一段时间中通信质量非常高。


References

Wireless Sensor Networks, Ian F. Akyildiz, Mehmet Can Vuran. Chapter 4.

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

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

相关文章

项目工作中,管理者如何合理安排任务优先级?

面对各种工作的时候&#xff0c;你是否总是会手忙脚乱&#xff1f; 在项目工作中&#xff0c;管理者每天面对各种工作&#xff1a;需求、沟通还有其他五花八门任务。 管理者应该如何合理安排自己任务的优先级呢&#xff1f; 在安排任务优先级的时候&#xff0c;我最常用方法…

后台部署运维零碎总结

一、场景 为了实现项目部署简化&#xff0c;尽量都由脚本来完成&#xff0c;需要将许多手动处理过程进行脚本化处理。 二、环境 1、VMware 虚拟机 Download VMware Workstation Pro 2、获取CentOs 镜像 3、使用镜像在虚拟机中安装 4、配置网卡信息&#xff0c;重启网络 三…

【算法基础复习1】差分

目录 一、差分简介 一维差分结论 Acwing.797 差分 P4552 [Poetize6] IncDec Sequence - 差分思维玄学题 一、差分简介 规定a数组下标从1开始 a[0]0b数组下标从1开始定义一个数组b&#xff0c;使 对于a数组 其差分数组b为 a是b的前缀和数组 比如 a[2]…

Python实战 | 如何抓取tx短片弹幕并作词云图分析

前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! 本次目的&#xff1a;采集tx短片弹幕,并且做词云图可视化分析 这个不少漫迷应该都看过吧~ 哪里都好&#xff0c;就是更新太慢了一点&#xff0c;剧情磨蹭了一点&#xff0c;哎 那今天我们就来采集一下它的弹幕吧&#xff…

我把提高开发效率的VSCode插件分享出来了

前言 最近在家办公&#xff0c;写代码发现没有那么流畅&#xff0c;一看是某些插件没有安装&#xff0c;搞得写代码的效率降低&#xff0c;所以这里有些比较实用的插件推荐给大家 开发实用插件 Settings Sync 利用 Settings Sync &#x1f48e;将 VS Code 的设置保存在gith…

MCE | HPV 疫苗要不要打?

HPV 感染很大概率会患宫颈癌&#xff1f;HPV 感染 ≠ 患宫颈癌超过 90&#xff05; 的 HPV 感染者无症状&#xff0c;并无需干预能在 2 年内清除感染。虽然大部分 HPV 感染会自行消退&#xff0c;但所有感染女性都面临 HPV 感染转为慢性&#xff0c;以及癌前病变发展为浸润性宫…

ViewPager2+TabLayout

效果图&#xff1a; MainActivity public class MainActivity extends AppCompatActivity {private TabLayout tabLayout;private ViewPager2 viewPager2;private int activeColor Color.parseColor("#ff678f");private int normalColor Color.parseColor("#…

C++入门教程||C++中的输入输出||C++ 注释

1. cout输出流的使用&#xff1a; cout输出流需要搭配<<输出操作符来使用&#xff0c;如输出语句&#xff1a; 1 cout<<"Hello"; 即会在屏幕上显示字符串Hello。 本质上&#xff0c;是将字符串"Hello"插入到cout对象里&#xff0c;并以cout…

一些RCE的汇总

RCE自增RCE参考[CTFshow-RCE极限大挑战官方wp]RCE-1[过滤.(]RCE-2p[自增-Array]RCE-3[自增-NAN-<105字符]RCE-4[自增-NAN-<84字符]RCE-5[自增-gettext扩展]72位字符68位字符无参数RCE参考[RCE篇之无参数rce]介绍例题一些能用上的函数前两天刚好ctfshow有个RCE极限大挑战&…

网络基础知识总结+网络设备介绍(运维必备网络知识)

什么是网络 网络是由多台计算机&#xff08;或手机等&#xff09;通过网络设备&#xff08;交换机以及路由器&#xff09;及网线&#xff08;或无线&#xff09;连接起来&#xff0c;按照一定的规范规则则彼此进行通信的系统总称。 为什么要有网络 网络出现的最核心需求就是…

[足式机器人]Part3机构运动微分几何学分析与综合Ch01-3 平面运动微分几何学——【读书笔记】

本文仅供学习使用 本文参考&#xff1a; 《机构运动微分几何学分析与综合》-王德伦、汪伟 《微分几何》吴大任 Ch01-3 平面运动微分几何学1.2.2 瞬心线-21.2.3 点轨迹的Euler-Savary公式1.2.2 瞬心线-2 &#xff08;3&#xff09;平面连杆机构&#xff08;二自由度开链串联机构…

【LeetCode-中等】238. 除自身以外数组的乘积(详解)

题目 给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请不要使用除法&#xff0c;且在 O(n) 时…

vue 动态组件 render/jsx

需求 根据用户需求设定的动态呈现表单内容 刚开始 打算使用v-html使用,但是v-html 无法渲染组件&#xff0c;只能显示原生的dom,操作起来实在是不方便。查阅了之后&#xff0c;发现可以用render或者jsx实现【为了能作为Vue模板解析】。于是乎开启了我render之旅~ 使用 <tem…

基于JAVA的图书借阅管理平台【数据库设计、源码、开题报告】

数据库脚本下载地址&#xff1a; https://download.csdn.net/download/itrjxxs_com/86427643 高校图书馆提倡“以人为本”的管理理念&#xff0c;从读者的角度出发&#xff0c;最大程度满足读者群体的文献资源需要。高校图书馆的管理理念和服务模式之间有着紧密的联系&#xff…

一键开启云原生网络安全新视界

本文作者&#xff1a;陈桐乐 李卓嘉 随着云原生的兴起&#xff0c;微服务、容器、kubernetes容器编排正在快速改变着企业软件架构的形态&#xff0c;单体架构、分布式架构、微服务架构&#xff0c;软件架构在持续演进的过程中&#xff0c;变得越来越复杂&#xff0c;管理和维护…

Qt QLabel文本框的使用

文章目录QLabel文本框的使用QLabel文本框的信号和槽实例演示QLabel文本框的用法已剪辑自: http://c.biancheng.net/view/vip_9653.html QLabel 是 Qt 帮我们写好的一个控件类&#xff0c;间接继承自 QWidget 类&#xff0c;它的继承关系如下&#xff1a; QLabel -> QFrame…

消防宣传科普|消防安全知识网上答题挑战赛活动方案

活动背景 为普及消防法律法规和消防安全知识&#xff0c;营造消防宣传月浓厚氛围。集团公司防火办通过“防火安全知识专项学习与竞答”小程序&#xff0c;开展“消防知识网上答题挑战赛”&#xff0c;提升全员消防安全意识&#xff0c;提高抗御火灾、自防自救和组织疏散能力。…

配置FTP站点操作步骤—图解

前提条件(已安装FTP服务器可忽略)&#xff1a; 点击WinR后在运行窗口中输入control&#xff0c;将打开控制面板&#xff0c;选择【程序】—【启动或关闭Windows功能】—点击【Internet Information Services】勾选【FTP服务器】—点击【确定】按钮按照即可。 1.点击WinR后在运…

数字集成电路设计(六、Verilog HDL高级程序设计举例)

文章目录1. 数字电路系统设计的层次化描述方式1.1 Bottom-Up 设计方法1.2 Top-Down 设计方法2. 典型电路设计2.1 加法器树乘法器2.1.1 改进为两级流水线4位加法器树乘法器2.2 Wallace 树乘法器2.3 复数乘法器2.4 FIR滤波器的设计2.5 存储器的设计2.6 FIFO的设计1. 数字电路系统…

Mac下,protoc-gen-go-grpc: program not found or is not executable问题的解决

一 问题来源 在公司的项目中,需要把对应的proto文件生成对应的pb文件,当执行protoc相关命令时,出现报错:protoc-gen-go-grpc: program not found or is not executable Please specify a program using absolute path or make sure the program is available in your PATH …