大家都知道,信号在空中传输是有损耗的,我们在项目中往往会关心这个损耗是多少,所以一般我们会选择用demo板拉距实测,但是拉距这种方式太费时费力,所以我们想除了拉距实测有没有其他什么方式可以大概计算一下呢? 答案是有的,这里就要讲到我们的一个牛B公式,弗里斯传输公式: Pr =-32.44-20 lg(d)-20lg(f) 其中d为传输的距离,f为载波频率。 这个公式怎么来的?我们现在来推导一下: 首先我们画一个示意图如下: 信号从左边发送到右边 发射功率为:Pt 发射端天线增益为:Gt 接收端天线增益为:Gr 发射和接收端距离为:R 载波波长为:λ
首先我们假设天线是理想的全向天线,往任意方向传输的信号强度都是一样的,打个比方,我们把发射端想象成太阳,接收端想象为地球,那么接收端收到的信号强度就类比为地球接收到的太阳的热量。 想象有一个半径等于太阳到地球距离的空心球包住太阳,那么太阳的总热量都会被这个球吸收,那么有: 球的面积: S=4πR^2 单位面积吸收的热量: P_0=Pt/S=Pt/4πR^2 单位面积吸收的热量就相当于是接收端的距离单位面积收到的信号强度。 然后我们开始考虑天线的增益,如果在接收的方向天线的增益为Gt,接收端对应方向天线增益为Gr,那么: 接收端这时候的单位面积信号强度为: P_1=P_0*Gt= PtGtGr/4πR^2 到这一步就很简单了,单位面积的信号强度有了,再乘以接收端的接收面积不就得到接收端的信号强度咯。这里有个专业的术语叫做天线接收孔径,描述天线从电磁波中接收天线信号的能力,其表达式如下: 接收端的有效接收孔径为:Ar= λ^2/4π 于是有: 接收端收到的信号强度Pr= PtGtGr (λ/4πR)^2 把波长λ = c/f(波长 = 光速/频率)代入e)得到Pr= PtGtGr (c/4πRf)^2 把单位改为dB,所以后Pr=Pt(dBm)+Gt(dBi)+Gr(dBi)+L(dB) 这个L就是空中的损耗,由f和g可知: L(dB)=10 lg(c/4πRf)^2 =10lg(c/4π)^2-20lgR-20lgf=-32.44-20 lg(d_km )-20lg(f_Mhz) 以上就是弗里斯传输公式的推导。 举个栗子:我们470MHz的LoRa模块假设传输了5Km,空中损耗为多少呢? L(dB) = -32.44-20 lg(5 )-20lg(470) =99.8dB,大约损耗了100dB,当然这只是理论上的损耗,在实际环境中还要考虑干扰,天线转换效率等等问题。
另外,还有一点,我们常说的功率增加6dB,距离增加一倍,这又是哪里来的呢?其实也在这个公式中,注意公式中与距离有关的20 lg(d_km ),大家可以自己算下,如果距离增加一倍,正好这里会多衰减6dB。
|