掌桥专利:专业的专利平台
掌桥专利
首页

一种基于可编程功能的射频信号幅值的自动化检测方法

文献发布时间:2023-06-19 11:32:36


一种基于可编程功能的射频信号幅值的自动化检测方法

技术领域

本发明涉及射频信号的检测,更具体是一种基于可编程功能的射频信号幅值的自动化检测方法。

背景技术

射频信号光纤传输技术(Radio over Fiber,RoF)作为一种蓬勃发展的技术,将射频信号调制到光信号上,充分利用光纤频带宽、损耗小、重量轻的特点,由光纤链路实现大容量数据高速远程传输。

在信号传输方面,利用射频信号光纤传输技术可以克服将地面站控制中心必须和天线建设安装在同一地点的缺陷。天线场地安装在偏僻处(信号质量好);数据处理设备、解调器、变频器可以安装在距离天线场地几十公里以外的城市内(生活方便)的数据中心,工作人员可直接去数据中心工作,免去了往返天线阵地和办公室之间所造成的麻烦和浪费。

利用射频信号光纤传输技术可以很好地解决电磁干扰以及多数据连接问题。一根很细很轻的包含10芯20芯或更多芯单模光纤的光缆完成设备和天线场地的连接很容易,并且省去了昂贵的密封波导、同轴电缆或铜缆。同时解决了多电缆间的RFI/EMI问题。

在移动通信中,射频光纤传输系统最主要的灵活应用就是宽带室内覆盖,如地铁、大型商场、火车站、机场、展览中心等。

随着军事技术的不断发展,射频信号光纤传输技术广泛也应用于卫星通信、雷达侦测、电子对抗等场合。

目前,在射频模块的生产调试过程中,射频信号幅值的检测程序需要逐一定制,不利于批量生产的问题。

射频信号是一种具有一定频率和功率(即幅值)的电信号,射频模块是用来处理或传输射频信号的,模块里除了硬件还有软件,软件运行的载体是射频模块内的MCU芯片,软件的功能之一是计算出射频信号的幅值。

如下图1所示,射频信号首先送入射频模块内的放大器,将放大器输出的检波信号进行AD采样,即将模拟量转化为数字量,方便计算机处理。采样的结果就是一个整数,10位精度的情况下,范围为0~1023,它反映了信号幅值的大小,MCU程序利用它进行一系列计算,计算出的信号幅值,通过计算机可以查询得到,即在计算机上输入命令,命令通过串口通信发送给MCU,MCU将结果回报。

为了计算信号幅值,在现有技术中,首先进行信号测量,因为AD采样值与信号幅值之间的关系没有固定的规律,但一般情况下,信号幅值越大,AD采样值也越大,变化率(即斜率:Δ幅值/ΔAD采样值)与硬件电路密切相关。

在MCU程序中设计一套与计算机通信的测量命令,即通过计算机发送命令给MCU,MCU将当前射频信号的AD采样值上报。射频信号源(简称信号源)给定不同幅值的信号(这个信号由于是从信号源发出的,从信号源显示屏上直接可读出幅值大小),放大器输出的检波也不同,经过AD转换,MCU获得的AD采样值也不同。逐一给定射频模块能够处理的整个范围的信号幅值,就会获得一份信号幅值与AD采样值的对应关系表,如下表1所示,信号源输出的信号幅值最大是0dBm,最小为-50dBm,信号依次递减2dB,共测出了26个信号的AD采样值,表中同时计算出了相邻AD采样值两两之差,以观察变化是否线性,可以看出信号幅值在-30dBm~0dBm时,AD采样值的变化与幅值的变化呈一致的线性关系,幅值每降低1dB,AD采样值近似减小12.2。当幅值小于-30dBm之后,就没有明显的线性变化了,只能人为划分近似的线性区间。

表1某L频段模拟接收插板信号测量

通过上述线性区间的划分及各区间近似的斜率值,在MCU程序中可以这样来计算信号幅值,首先,以信号-30dBm时AD采样值为643为参考点,当某未知信号的AD采样值为655(≈643+12.2),则信号幅值约为-29dBm,依次类推,给定动态范围内任意的AD采样值都可以近似计算出信号幅值。

很明显,上述的方法至少存在3个缺陷,一是,当信号小于-30dBm时,由于线性关系不明显,计算结果与实际的误差将会变大;二是,MCU程序不能通用,不利于批量生产和软件归档。比如,另有一块射频模块,由于元器件的差异,测出的信号幅值与AD采样值的对应关系表发生了变化,则需要重新评估线性区间并计算斜率,进而修改程序,最坏的情况是每个模块的程序都不一样;三是,结果修改不方便,比如,模块调试完成后,当需要对检测结果进行修改时,则需重新修改程序,显然将费时费力。

发明内容

本发明是为了解决当前在射频模块的生产调试过程中射频信号的检测程序需要逐一定制,不利于批量生产的问题,而提供一种基于可编程功能的射频信号幅值的自动化检测方法。

实现本发明目的的技术方案是:

一种基于可编程功能的射频信号幅值的自动化检测方法,包括如下步骤:

1)信号测量:将测量命令嵌入待测射频模块内部的MCU程序中,通过射频信号源向射频模块输入模块能够处理的全范围内的不同幅值的射频信号,射频信号先后经过放大器和AD转换后,其AD采样值由MCU通过串口传输至PC端,获得一份信号幅值和AD采样值的对应关系表;

2)数据固化:在射频模块内部的MCU程序中嵌入用于与计算机通信的读写命令,在计算机输入写命令时,将数据写入MCU内部的非易失性存储器中;输入读命令时,将MCU内部的非易失性存储器中的数据上报给计算机,将步骤1)获得的AD采样值转化为16进制后,通过在计算机输入命令,将信号幅值和AD采样值的对应关系表写入MCU内部的非易失性存储器中,完成数据固化;

3)自动计算:MCU程序启动后,周期性读取输入射频模块的任意信号的AD采样值的同时,将内部非易失性存储器中存储的信号幅值和AD采样值的对应关系表读取出来,使用折半查找法找出输入信号的AD采样值在关系表中所对应的信号幅值。

步骤3)中,所述的使用折半查找法找出输入信号的AD采样值在关系表中所对应的信号幅值,具体步骤如下:

3-1)设置两个变量left和right,用于记录查找的索引范围;其中left最开始记录第一个AD采样值的索引,right最开始记录最后一个AD采样值的索引,每次查找都以中间索引即mid=(left+right)÷2的AD采样值与查找值进行比较;

3-2)若查找值≥中间值,说明查找值位于中间值左边,则将right设置为mid-1,下一次需要查找的序列位于索引[left,mid-1]的区间;

3-3)若查找值<中间值,说明查找值位于中间值右边,则将left置为mid+1,

下一次需要查找的序列位于索引[mid+1,right]的区间;

3-4)重复步骤3-2)和步骤3-3),直到left>right结束;结束后,left和right的值指出了查找值所在的范围,据此计算出信号幅值;

3-5)若left为0,则表明查找值大于或等于索引0对应的AD采样值,表明信号幅值大于等于0dBm,信号处于饱和状态;

3-6)若left为最后一个索引值加1,则表明查找值小于最后一个索引值对应的AD采样值,表明信号幅值小于最后一个AD采样值所代表的幅值,表明处于无信号状态;否则,查找值介于索引为right的AD采样值和索引为left的AD采样值之间,也即信号幅值介于索引为right的幅值和索引为left的幅值之间,此时,left比right大1,此时该区间信号幅值的变化很小,可认为该区间内幅值与AD采样值成线性关系,而进行线性计算。

本发明提供的一种基于可编程功能的射频信号幅值的自动化检测方法,该方法具有如下优点:

1)利用了MCU内部的非易失性可编程存储器的读写功能来存储测量数据,无需外置存储芯片,提高访问效率的同时节省了器件的成本;

2)实现了程序和数据的分离,实现了程序的统一,便于归档;

3)测量数据可反复写入,多次修改,校正方便;

4)采用折半查找法代码执行更加高效,计算结果精度高;

5)测量数据可交由调试人员去测定和固化,研发人员可专注于软硬件设计,板卡便于批量化生产。

附图说明

图1为射频信号幅值测量原理图;

图2为数据固化原理图;

图3为数据固化命令示意图;

图4为读取非易失性存储器命令示意图。

具体实施方式

下面结合附图和实施例对本发明内容做进一步阐述,但不是对本发明的限定。

实施例:

一种基于可编程功能的射频信号幅值的自动化检测方法,包括如下步骤:

1)信号测量:如图1所示,将测量命令嵌入待测射频模块内部的MCU程序中,通过射频信号源向射频模块输入模块能够处理的全范围内的不同幅值的射频信号,射频信号先后经过放大器和AD转换后,其AD采样值由MCU通过串口传输至PC端,获得一份信号幅值和AD采样值的对应关系表;

2)数据固化:如图2所示,在射频模块内部的MCU程序中嵌入用于与计算机通信的读写命令。在计算机输入写命令时,将数据写入MCU内部的非易失性存储器中;输入读命令时,将MCU内部的非易失性存储器中的数据上报给计算机;将步骤1)获得的AD采样值转化为16进制后,通过在计算机输入命令,将信号幅值和AD采样值的对应关系表写入MCU内部的非易失性存储器中,完成数据固化;

具体是:对于测量数据(即信号幅值与AD采样值的对应关系表)进行整理,提取关键信息。由于信号幅值以2dB的规律递减,因此,起始点的信号幅值是关键信息,其次还有幅值个数(即AD采样值个数),以及每个幅值对应的AD采样值;然后,将这些关键信息,以设计好的命令格式发送给MCU。

以上述背景技术中的表1中的测量数据举例说明,由于计算机处理16进制的数据最为方便,将10进制AD采样值转化为16进制数,见表2:

表2 AD采样值由10进制转化为16进制表

表2一共有26个AD采样值,即26个测量点,每个AD采样值都是一个整数,都可以用一个16位无符号数表示。起始点的信号幅值为0dBm,考虑到它有可能为负数和/或带有1位小数,计算机存储整数最方便,故将起始点的幅值扩大10倍以方便存储,从而可用一个16位有符号数来表示,后面计算时再除以10还原。AD采样值个数是第二个关键信息,接下来为26个AD采样值,核心的数据进一步整理为:

表3整理后的关键信息

将这些数据两两组合,通过在计算机输入命令写入MCU内部非易失性存储器中,如图3所示,命令flash w 0 0 0x0000001a表示将起始点信号幅值和AD采样值个数组合成32位数0x0000001a后写入页面0的偏移0处,依次将数据全部写入,完成固化。

通过命令flash r 0可读出页面0的数据,以此检查写入是否正确,如图4所示。

3)自动计算:MCU程序启动后,周期性读取输入射频模块的任意信号的AD采样值的同时,将内部非易失性存储器中存储的信号幅值和AD采样值的对应关系表读取出来,使用折半查找法找出输入信号的AD采样值在关系表中所对应的信号幅值。

以表3中的数据举例说明,见表4。

表4AD采样值及对应的信号幅值

折半查找法是一种时间复杂度为O(logn)的查找法,一般要求查找序列要有序,下面以表4的降序为例,由于计算机中计数一般从0开始,则26个AD采样值的索引依次为0~25。

所述的使用折半查找法找出输入信号的AD采样值在关系表中所对应的信号幅值,具体步骤如下:

3-1)设置两个变量left和right,用于记录查找的索引范围。其中left最开始记录第一个AD采样值的索引,即0;right最开始记录最后一个AD采样值的索引,即25;每次查找都以中间索引即mid=(left+right)÷2的AD采样值与查找值进行比较;

3-2)若查找值≥中间值,说明查找值位于中间值左边,则将right设置为mid-1,下一次需要查找的范围位于索引[left,mid-1]的区间;

3-3)若查找值<中间值,说明查找值位于中间值右边,则将left置为mid+1,下一次需要查找的范围位于索引[mid+1,right]的区间;

3-4)重复步骤3-2)和步骤3-3),直到left>right结束;结束后,left和right的值指出了查找值所在的范围,据此计算出信号幅值;

3-5)若left为0,则表明查找值大于或等于索引0对应的AD采样值,表明信号幅值大于等于0dBm,信号处于饱和状态;

3-6)若left为最后一个索引值加1,本例为26,则表明查找值小于索引25对应的AD采样值,表明信号幅值小于最后一个AD采样值所代表的幅值,本例为-50dBm,表明处于无信号状态;否则,查找值介于索引为right的AD采样值和索引为left的AD采样值之间,也即信号幅值介于索引为right的幅值和索引为left的幅值之间,此时,left比right大1,此时该区间信号幅值的变化很小,可认为该区间内幅值与AD采样值成线性关系,而进行线性计算,由于区间段很小,误差也将很小。

以表4举例说明,假设待查找的AD采样值为1000。

第一次查找时,left=0,right=25,mid=(0+25)÷2=12,索引12的AD采样值为715,由于1000>715,则查找值在中间值的左边;

进行第二次查找,right=12-1=11,left仍为0,mid=(0+11)÷2=5,索引5的AD采样值为887,由于1000>715,则查找值在中间值的左边;

进行第三次查找,right=5-1=4,left仍为0,mid=(0+4)÷2=2,索引2的AD采样值为961,由于1000>961,则查找值在中间值的左边;

进行第四次查找,right=2-1=1,left仍为0,mid=(0+1)÷2=0,索引0的AD采样值为1010,由于1000<1010,则查找值在中间值的右边;

进行第五次查找,left=0+1=1,right仍为1,mid=(1+1)÷2=1,索引1的AD采样值为986,由于1000>986,则查找值在中间值的左边;

进行第六次查找,left仍为1,right=1-1=0,此时left>right,查找结束,正如预想的一样,查找值1000介于索引right的AD采样值和索引left的AD采样值之间,在此区间内可以认为幅值与AD采样值成线性关系,则信号幅值=-2+2÷(1010-986)×(1000-986)≈-0.8,显然,该算法精度和效率都能等到保证。

综合上述,经过上面三个步骤,实现了射频信号幅值的自动化检测。

相关技术
  • 一种基于可编程功能的射频信号幅值的自动化检测方法
  • 一种基于红外热成像的高频交流电流幅值检测方法
技术分类

06120112962190