RTSA执行自定义校准教程
ThinkRF R5500实时频谱分析仪允许终端用户在设备上加载自定义校准文件,以优化设备,减少设备之间的差异或增强对终端用户应用而言最重要的参数。校准文件用于对各种无线电设置和物理参数映射参考电平,如频率,温度和衰减器的插入损耗。
本应用指南提供一个循序渐进的校准流程,以供终端用户进行校准。
1 简介
ThinkRF R5500提供了内置功能,允许终端用户在RTSA设备上加载自定义校准文件。校准文件用于对各种无线电参数设置和物理参数映射参考电平,如频率,温度和衰减器的插入损耗。自定义校准文件允许终端用户对目标用户的应用进行设备的特定优化。它可用于减少设备之间差异的影响,并增强对终端用户应用而言最重要的参数。
本应用指南旨在协助终端用户在频率范围内执行校准过程。以下提供了逐步校准的流程。该流程假定用户熟悉R5500的操作,包括如何使用SCPI命令与设备通讯和控制(可根据需要,参阅R5500《用户指南》和《程序员指南》)。
2 设置需求
进行校准需以下各项:
- 一台R5500,及其电源适配器和带有RJ-45连接器的CAT-5以太网线缆。
- 一台能在目标频率范围内合成信号的RF信号发生器。
- 一条带有同轴SMA连接器的RF同轴电缆,一端连接到R5500输入,另一端具有合适的连接器,以连接到RF信号发生器。需确保电缆适用于校准的频率范围。
- 一款用于确定输入信号功率电平的应用软件,如R5500的API,PyRF库或其GUI, 均由ThinkRF提供。
以下项可选:
- 一条与上述类似的电缆用于将10 MHz参考时钟源连接到R5500。
- 一台RF功率计,可精确测量供给R5500的信号功率。
3 设置步骤
3.1 设置RF信号发生器
-
请将RF电缆连接到RF信号发生器。直到R5500开启并且衰减状态在3.2节中确定之前,才将信号源连接到R5500。
-
设置信号发生器。在直接将信号源连接到R5500的RF IN连接器之前,请使用功率计验证信号发生器的信号源。
警告: ThinkRF的接收器在RF IN端口允许的最大输入信号为 +10 dBm。接入超出规定的信号电平会导致接收机永久损坏。
3.2 设置R5500
- 请将R5500连接到其电源适配器,然后打开设备。确保设备上的状态LEDs灯指示设备运行正常。详情请参阅R5500《用户指南》。
- 请使用R5500《用户指南》中描述的步骤确定设备的IP地址单元。
- 使用以下SCPI命令关闭R5500的输入衰减器:
:INPUT:ATTENTUATOR 0 # 针对-408型号
only :INPUT:ATTENTUATOR:VARIABLE 0 # 针对-418和-427型号
- 请将SMA插头连接到R5500的RF IN端口。
3.3 可选
- 如果使用10 MHz外部参考源:
- 请确保外部10 MHz参考电平在 -10 dBm至0 dBm之间。
警告: 超过0 dBm的电平会对内部时钟电路造成永久性损坏。此外,必须先关闭10 MHz参考电平,然后再关闭R5500的电源。
- 请将合适的电缆从10MHz参考源连接到R5500上的10 MHz IN端口。
请切换R5500以使用外部参考时钟:
:SOURCE:REFERENCE:PLL EXT
4. 校准步骤
- 请通过发出以下SCPI命令或* RST命令,确保采样因子设置为1(无采样)并且频移设置为零:
:SENSE:DEC 1
:SENSE:FREQ:SHIFT 0
- 请将R5500设置为目标RFE(接收机前端)模式:
:INPut:MODE <mode>
有关可用模式,请参阅R5500《程序员指南》。
- 请将R5500调整到目标频率,如调整到2450MHz:
:SENSE:FREQ:CENTER 2450 MHz
- 请设置RF信号发生器以产生在目标RFE模式的带宽内可见的频率。请注意,在ZIF模式下,请避免接入与R5500中心频率相同的信号频率,以免产生DC偏置。
- 请记录在VRT环境数据包(R_old)中报告的参考电平。环境数据包与VRT数据包一起返回。更多相关详细信息,请参见《程序员指南》的“参考电平”部分。
- 请使用R5500 S240应用程序或用户指定的测量应用程序对在接入的输入信号的频率下得到的功率电平进行记录。
- 请使用以下公式计算新的参考电平:
式中:
P_new=新的参考电平,以dBm为单位
R_old= VRT环境数据包中的当前参考电平,以dBm为单位
P_observed=在R5500 GUI(或您的应用程序)上得到的功率电平,以dBm为单位
P_input=供给R5500输入连接器的RF功率电平,以dBm为单位
- 对所有的目标频率重复步骤2到7。有关如何对参考电平进行插值以在两个已校准点间的频率上创建新的参考电平的信息,请参见“插值计算”部分。
- 对任意其它目标RFE模式,请重复步骤1至8。
- 收集完所有数据后,请按照以下附录A:创建自定义校准文件中的说明创建自定义校准文件。附录B:XML校准文件示例中提供了一个自定义校准文件的示例。
- 有关如何使用Web管理控制台将自定义校准文件上传到R5500的说明,请参阅《用户指南》中的“自定义R5500的校准”部分。
4.1 插值计算
当R5500设置为尚未直接校准的频率时,所需的校准值可通过在两个相邻校准点之间进行插值来得出。该插值可使用以下公式计算得出:
式中:
R_new=插值的参考电平,以dBm为单位
R_above=在当前中心频率正上方的校准频率处的校准参考电平,以dBm为单位
R_below=在当前中心频率正下方的校准频率处的校准参考电平,以dBm为单位
F_current=当前R5500的中心频率,以Hz为单位
F_above=刚好高于当前中心频率的校准频率,以Hz为单位
F_below=刚好低于当前中心频率的校准频率,以Hz为单位
注意:如果加载了很多校准点:
- 自定义校准文件上传后,首次启动R5500会花费更长的时间。
- 由于嵌入式软件需要更长的查找时间,因此扫描速率可能会受到影响。最坏情况下的查找时间由big-O算法O(log(N))确定,其中N是要查找的点数。
5. 附加信息
- 在R5500正常运行期间,当衰减器设置为非零时,该衰减值会自动添加到VRT环境数据包报告的参考电平中
- 每个R5500单元都应单独进行校准,因为由于元件公差造成的信号路径中增益的单位间变化可能会很显著。
- 对R5500进行出厂重置时,校准值将重置为系统默认值,有效删除自定义校准文件。
- 为更好地理解R5500如何用自定义校准值覆盖出厂/系统参考值,以及在有多个可用源时如何选择校准源,请参阅R5500《用户指南》的“校准文件源选择”部分。
附录A:创建自定义校准文件
R5500的校准设置存储在XML文件中。XML文件名须具有.xml扩展名。您可根据以下(以下是XML标签的描述)描述的结构和格式创建自己的校准文件。用适当的值替换斜体文本。
<cal>
<created>YYYY/MM/DD HH:MM:SS</created>
<tpn>YY-XXXX</tpn>
<cl>X</cl>
<firmware>X.Y.Z</firmware>
<version>2</version>
<inputmode>
<rfe_mode>
<freqrange start="start_value" stop="stop_value">
<freq value="freq_value_1">ref_level_1</freq>
<freq value="freq_value_2">ref_level_2</freq>
... 更多频率步长等等 ...
</freqrange>
... 更多频率范围等等 …
<temprange start="start_value" stop="stop_value">
<temp value="temp_value_1">ref_level_1</temp>
<temp value="temp_value_2">ref_level_2</temp>
... 更多温度等等...
</temprange>
... 更多温度等等 ...
</rfe_mode>
... 更多RFE模式等等 ...
</inputmode>
<attenuator>
<att_value>
<freqrange start="start_value" stop="stop_value">
<freq value="freq_value_1">ref_level_1</freq>
<freq value="freq_value_2">ref_level_2</freq>
... 更多频率步长等等 ...
</freqrange>
... 更多频率范围等等 ...
</att_value>
... 更多att值等等
<temprange start="start_value" stop="stop_value">
<temp value="temp_value_1">ref_level_1</temp>
<temp value="temp_value_2">ref_level_2</temp>
... 更多温度步长等等 ...
</temprange>
... 更多温度范围等等 ...
</attenuator>
<psfm>
<psfm_mode>
<lna_stage>
<freqrange start="start_value" stop="stop_value">
<freq value="freq_value_1">ref_level_1</freq>
<freq value="freq_value_2">ref_level_2</freq>
... 更多频率步长等等 ...
</freqrange>
... 更多频率范围等等 ...
... 更多温度范围等等 ...
</lna_stage>
</psfm_mode>
... 更多PSFM模式等等 ...
</psfm>
</cal>
下表描述了校准设置XML文档中使用的XML标签。标签按级别分组,较高级别的标签是较低级别的标签的子元素(如是的子元素,而是的子元素)。
XML标签 | 描述 |
---|---|
根级标签: | |
<cal> |
校准信息,根元素 |
一级标签: | |
<created> |
使用YYYY/MM/DD HH:MM:SS格式创建文件的日期和时间(例如,2017/06/07 13:25:50) |
<tpn> |
RTSA设备的ThinkRF部件号(TPN),表示为XXXXXX。以下是与ThinkRF产品型号相对应的TPN的列表: |
产品型号 TPN | |
R5500-408 32-0045 | |
R5500-418 32-0047 | |
R5500-427 32-0046 | |
<cl> |
产品版本和固件之间的兼容性级别。对于R5500-408型号,请使用2;对于-418和-427型号,请使用1 |
<firmware> |
以RTSA管理控制台的“设备状态”页面上列出的格式(如1.4.3)安装RTSA设备上的固件版本 |
XML文件格式的版本,以整数表示。使用3 | |
<inputmode> |
输入模式的起点。本节包含每种受支持的RFE模式的子元素 |
<rfe_mode> |
要校准的RFE模式。将rfe_mode替换为适当的RFE标记名称,如,,。有关RFE模式的列表,请参阅R5500《程序员指南》。 |
仅与<inputmode>部分一起使用 | |
本节包含: | |
- 每个范围包含零个,一个或多个频率范围<freqrange>元素和一个或多个频率<freq>子元素; | |
- 每个范围为零,一个或多个温度范围<temprange>元素和一个或多个温度<temp>子元素。 | |
<attenuator> |
要校准的衰减路径。仅与R5500-408及其变体型号一起使用 |
使用时,此部分包含: | |
- 每个<att_val>至少包含一个衰减值<att_val>元素和一个或多个子元素 | |
- 每个范围至少有一个温度范围<temprange>元素和一个或多个温度<temp>子元素 | |
<att_val> |
衰减量请使用值10、20或30 dB(例如<10>) |
仅与<attenuator>部分一起使用 | |
使用时,此部分包含每个范围至少一个频率范围元素和一个或多个频率子元素 | |
<psfm> |
R5500的下变频器路径。仅与R5500-418,-427及其变体一起使用 |
<psfm_mode> |
要校准的PSFM模式,包括<sh>和<dc> |
仅与<psfm>部分一起使用 | |
<lna_stage> |
PSFM的LNA阶段,包括<lan_on>,<lna1_on>和<lna1_off> |
与每个<psfm_mode>部分一起使用,且仅在频率范围内进行校准 | |
此部分包含每个范围至少一个频率范围<freqrange>元素和一个或多个频率<freq>子元素 | |
二级标签: | |
<freqrange> |
要校准的频率范围。您须以Hz为单位为“开始”(下限)和“停止”(上限)指定值 |
仅与<inputmode>和<attenuator>部分一起使用 | |
<temprange> |
要校准的温度范围。您须以摄氏度为单位为“开始”(下限)和“停止”(上限)指定值 |
三级标签: | |
<freq> |
指定频率值(以Hz为单位)和参考电平(以dBm为单位,表示为浮点值)。两个指定频率间隔之间的任何频率的参考值将线性外推 |
仅与<freqrange>部分一起使用 | |
<temp> |
指定温度值(以摄氏度为单位)和参考水平(以dBm为单位,表示为浮点值)。两个指定温度间隔之间任何温度的参考值都将线性推算 |
仅与<temprange>部分一起使用 |
注意:您无需在校准文件中为所有RFE模式,衰减器或PSFM模式以及范围定值。自定义设置仅会覆盖自定义校准文件中指定的RFE模式的校准设置。其余设置将保持其原来的校准值。
附录B:XML校准文件示例
本节展示了两个示例校准文件,这些文件指定了R5500-408(TPN 32-0045)和R5500-427(TPN 32-0046)的校准参考电平值,其具有介于0至2 GHz之间的各种特定频率,多个特定温度,衰减和 PSFM模式(如果适用)。
您可为范围或三级标记元素指定不同的值;这些值不必与示例中展示的相同。此外,示例中使用的值是随机的,没有过多的意义。
B.1 R5500-408的示例
<cal>
<created>2017/09/09 12:34:56</created>
<tpn>32-0045</tpn> <cl>2</cl>
<firmware>1.4.3</firmware>
<version>3</version>
<inputmode>
<sh>
<temprange start="-40" stop="85">
<temp value='-10'>-1</temp> <temp value='0'>3</temp>
<temp value='15'>6</temp>
<temp value='33'>8</temp>
</temprange>
<freqrange start="0" stop="20e9"> <freq value='100e6'>5</freq>
<freq value='500e6'>7.1</freq>
<freq value='10e9'>18.2</freq>
<freq value='20e9'>8.2</freq>
</freqrange>
</sh>
<zif>
<freqrange start="0" stop="20e9"> <freq value='100e6'>6</freq>
<freq value='500e6'>8.1</freq>
<freq value='10e9'>14.5</freq>
<freq value='20e9'>9.5</freq>
</freqrange>
<temprange start="-40" stop="85">
<temp value='-40'>-4</temp> <temp value='0'>1</temp>
<temp value='35'>4</temp>
<temp value='85'>7</temp>
</temprange>
</zif>
<hdr>
<freqrange start="0" stop="20e9"> <freq value='100e6'>14</freq>
<freq value='500e6'>28.1</freq> <freq value='10e9'>23.1</freq>
<freq value='20e9'>29.5</freq>
</freqrange>
<temprange start="-30" stop="40">
<temp value='-11'>-2</temp> <temp value='0'>2</temp>
<temp value='13'>4</temp>
<temp value='32'>5</temp>
</temprange>
</hdr>
</inputmode>
<attenuator>
<temprange start="-40" stop="85">
<temp value="-40">-10</temp>
<temp value="25">0</temp>
<temp value="75">10</temp>
</temprange>
<10>
<freqrange start="0" stop="20e9">
<freq value='100e6'>19.4</freq>
<freq value='500e6'>20.1</freq>
<freq value='2e9'>20.3</freq>
</freqrange>
</10>
<20>
<freqrange start="0" stop="20e9">
<freq value='100e6'>18</freq>
<freq value='500e6'>19.5</freq>
<freq value='2e9'>20</freq>
</freqrange>
</20>
<30>
<freqrange start="0" stop="20e9">
<freq value='100e6'>17</freq>
<freq value='500e6'>19</freq>
<freq value='2e9'>20.5</freq>
</freqrange>
</30>
</attenuator>
</cal>
B.2 R5500-427的示例
<cal>
<created>2017/09/09 12:34:56</created>
<tpn>32-0046</tpn>
<cl>1</cl>
<firmware>1.4.3</firmware>
<version>3</version>
<inputmode>
<sh>
<temprange start="-40" stop="85">
<temp value='-10'>-1</temp>
<temp value='0'>3</temp>
<temp value='15'>6</temp>
<temp value='33'>8</temp>
</temprange>
<freqrange start="0" stop="20e9">
<freq value='100e6'>5</freq>
<freq value='500e6'>7.1</freq>
<freq value='10e9'>18.2</freq>
<freq value='20e9'>8.2</freq>
</freqrange>
</sh>
<zif>
<freqrange start="0" stop="20e9"> <freq value='100e6'>6</freq>
<freq value='500e6'>8.1</freq>
<freq value='10e9'>14.5</freq>
<freq value='20e9'>9.5</freq>
</freqrange>
<temprange start="-40" stop="85">
<temp value='-40'>-4</temp>
<temp value='0'>1</temp>
<temp value='35'>4</temp>
<temp value='85'>7</temp>
</temprange>
</zif>
<hdr>
<freqrange start="0" stop="20e9">
<freq value='100e6'>14</freq>
<freq value='500e6'>28.1</freq>
<freq value='10e9'>23.1</freq>
<freq value='20e9'>29.5</freq>
</freqrange>
<temprange start="-30" stop="40">
<temp value='-11'>-2</temp>
<temp value='0'>2</temp>
<temp value='13'>4</temp>
<temp value='32'>5</temp>
</temprange>
</hdr>
</inputmode>
<psfm>
<sh>
<lna_on>
<freqrange start="0" stop="20e9">
<freq value='100e6'>19.4</freq>
<freq value='500e6'>20.1</freq>
<freq value='2e9'>20.3</freq>
</freqrange>
</lna_on>
<lna_off>
<freqrange start="0" stop="20e9">
<freq value='100e6'>10.4</freq>
<freq value='500e6'>10.1</freq>
<freq value='2e9'>10</freq>
</freqrange>
</lna_off>
</sh>
<dc>
<lna1_on>
<freqrange start="0" stop="20e9">
<freq value='100e6'>19.4</freq>
<freq value='500e6'>20.1</freq>
<freq value='2e9'>20.3</freq>
</freqrange>
</lna1_on>
<lna_off>
<freqrange start="0" stop="20e9">
<freq value='100e6'>10.4</freq>
<freq value='500e6'>10.1</freq>
<freq value='2e9'>10</freq>
</freqrange>
</lna_off>
</dc>
</psfm>
</cal>
上一篇: 如何提升 RailS 应用的性能?
下一篇: 将R5500与HIF输出配合使用
推荐阅读