在exata中,天线作为物理层为无线模型的情况下的一个必须品。
天线是同时具备收发能力的,单工模式,也就是在单一时刻,天线如果是在收数的状态就不能发,如果在发数,就不能收。所以如果想做稳定的传输,比如激光的场景,就需要将接口配置为单收/单发,所以一个我们传统意义上的端口(成对的收发)就需要配置两个interface。
Exata 无线模块中,共支持五种天线模式:全向天线(Omni-directional)、图案模式(Patterned)、切换模式(Switched-beam)、可操控模式(Steerable)以及自定义模式。
1. 全向天线模式
全向天线模式很好理解,在所有的方向具有相同的天线增益,收发都是如此。
2.图案模式
图案模式也就是天线的收发增益依赖于指定的天线增益图文件,Exata支持四种文件格式。
2.1传统文件格式
传统文件格式比较简单,包含天线模型个数和具体配置,其中具体配置按行添加,第一列是天线模式索引,第二列是角度值,第三列是增益值。
在传统模式下,可以分别绑定方位模型文件和俯仰模型文件,其中方位模型文件是必须绑定的,俯仰模型可以不绑定(默认就是在所有俯仰角度,增益是一致的)。
举个简单的图案例子,如果想在东南西北四个方向增益最大,其它方向不接收和发送数据,就需要配置在0、90、180这三个角度配置较高的增益,相邻的角度(比如1、2、79、81、179、181、359等)可以根据实际需求配置值。
Tips:
1) 传统文件格式最多支持一度的分辨率(这个是代码里限制的)
2) 如果对应的度数不设置值则默认是最低的增益(-10000)
3)如果角度值重复会覆盖
4)未明确指定增益的角度,会默认填充上一个配置角度的值
5)在图案模式下,虽然配置多个模型也会加载,但是只会使用pattern index 为0的数据
2.2 ASCII 2D格式
2D模式的官方文档说法有些歧义,给的文件例子不太好,直接说实际情况。
2D文件首先可以在GUI界面配置文件所包含的图案个数,在2D文件中是不需要标识也不识别的,从代码上看会跳过读取的第一行。2D文件只有两列,一列是度数,一列是增益值。
那它是怎么支持多个图案的呢?是通过对0度的设置进行区分,也就是当出现0度的时候会认为接下来的数据是针对新的图案的。
那么2D和传统文件的区别在哪里?
1)2D文件在代码层面支持角度更细的力度划分(见传统格式Tips1):从GUI上看到ANTENNA-PATTERN-AZIMUTH-RESOLUTION以及ANTENNA-PATTERN-ELEVATION-RESOLUTION两个配置参数。官方文档给出了明确的解释和实列,对于方位角来说就是给360度做N等分,如果设置为1800,则当做接收信号增益计算时,可以细到每0.2度一比较。
2)2D文件中空缺的角度的填充是线性的(对比传统格式Tips4):比如你配置了0度增益是10,5度增益是20,那么在1-4度的增益分别是12、14、16、18。
Tips:
1)GUI层面修改ANTENNA-PATTERN-AZIMUTH-RESOLUTION会提示范围只能是1-360。需要修改gui->setting->protocol_models->phy_layer.prt,对应模式下对应文件格式的max值,如下图所示。注意不同模式下的不同文件格式的配置是独立的。
2.3 ASCII 3D格式
3D文件的处理实际和2D文件处理基本是一致的。2D模式是两个平面的文件是独立配置(俯仰角文件可选),而3D模式则是在一个文件中同时配置俯仰角、方位角和增益。
Tips:
1) 3D文件中是通过方位角和俯仰角都为0的一行数据来确定一个新的图案
2)3D文件中空缺的值也是线性填充的
2.4 NSMA格式
这个没用到,就没研究,后面有机会再填坑。
3.切换模式
切换模式是在图案模式上的升级版。在说传统格式天线文件的时候提过,在图案模式下,实际在计算增益时,只会匹配第一个增益图案(尽管文件中包含了多个图案)。那么切换模式就是在计算增益时,会看一圈在对应方向上每个图案下哪个增益最大,当前天线使用的图案索引就会切换过去。这个切换是自动的,每次处理接收信号时都会有这个过程。
其实我个人是没太想到这种切换模式在什么场景下使用。
4.可操控模式
可操控模式也时图案模式的升级版,可操控并不是只可以人工控制,而是可以天线可以根据接收信号,自动旋转天线,从而达到增益的最大化。可操控模式也是支持多图案的。
当文件只有一个图案时,很容易理解,就是根据接收信号的位置,找到图案增益最大的角度,旋转过去就可以了。
可操控模式更像是切换模式的升级版,因为它也支持了图案的切换。当文件中有多个图案时,就涉及到一个参数--RepeatAngle。天线首先会根据接收信号位置和repeatAngle计算出使用那个图案来进行最大增益角度的匹配。repeatAngle的可表征物理意义我没太搞清楚,可以和酒桌敲7的游戏类比一下。repeatAngle一定是需要配合不同图案本身的配置才有意义。欢迎大家讨论这个。
5.自定义模式
不做说明。
6.重要参数介绍
在介绍了各个模式之后,对一些比较重要(有坑)的配置参数也进行一下说明。
1. ANTENNA-GAIN 天线增益
天线增益这个参数只在全向天线模式才起作用,在其它模式下,天线增益的值是在方向图文件中设置的
2. ANTENNA-ORIENTATION-ELEVATION俯仰角
在非3D场景这个没啥用,在3D场景需要这个值。它的范围是0-180,默认值是0,这个就比较坑。
在官方文档参数介绍的地方并没有给出解释,而是在天线传统文件格式下有一个说明
也就是对于一个默认天线位置,俯仰角0度代表的并不是地面的水平方向,而是远离地心的方向。这就要求我们在配置3D天线图案文件时,需要注意。
3.SUN-WATER-REFRACTIVE-INDEX 光在水中的折射率
在光物理层(水下模块)中,有一个折射率,在试验中不小心设置成0了,会导致程序异常退出,跟代码跟了半天。这个一般不需要改它。后面会专门写模拟激光场景的文章。
详细模块介绍文档参见:https://download.csdn.net/download/shaxiaoziningyi/87996775
交流讨论:694575177@qq.com