星载感应式磁力仪地面检测系统及数据预处理软件设计*

2018-10-08 07:24任海燕
计算机工程与科学 2018年9期
关键词:磁力仪感应式预处理

陈 昱,王 淼,任海燕,曾 立

(北京航空航天大学空间与环境学院,北京 102206)

1 引言

感应式磁力仪SCM(Search Coil Magnetometer)是某试验卫星的主要有效载荷之一,用于获取沿卫星轨道10 Hz至20 kHz频率范围的低频交流磁场波形和频谱信息。在载荷的研制生产过程中,通常需要配套的地面检测系统,用于模拟与卫星平台的控制总线和数据总线接口,为载荷调试、测试和定标提供支持。例如Demeter卫星地面应用系统[1]、欧空局Silex地面光学终端测试平台[2]等。数据预处理的目的是将仪器输出的二进制原始数据通过转换、校正和信号分析等过程,获得可供研究人员和用户直接使用的探测的物理量及导出量[3,4]。本文基于某试验卫星感应式磁力仪的外部接口特点设计了地面检测系统,并根据载荷的工作模式和探测数据特点,采用Visual C++调用Matlab的方法设计了数据预处理软件。地面检测系统和预处理软件用于模拟与卫星的控制总线和数据总线接口,具有向仪器发送指令、接收/存储科学数据、数据处理和可视化的功能[5]。

2 星载感应式磁力仪介绍

2.1 工作原理

感应式磁力仪系统由三轴(X轴、Y轴和Z轴)正交传感器、电子学机箱以及连接电缆组成。为了避免卫星平台低频电磁干扰,感应式磁力仪传感器安装在卫星平台铰链式伸杆的末端,距离卫星本体4.5 m。

仪器设计基于法拉第电磁感应原理,通过传感器三轴正交的磁天线测量空间中变化的磁场矢量三分量,得到的感应电压为:

e=-μappNS(dB/dt)

(1)

其中,e为感应电压,μapp为磁导率,N为磁天线绕线匝数,S为磁芯截面积,B为感应磁场。

感应电压通过连接电缆传输到电子学机箱进行信号放大处理。第一级为固定倍数的前置放大,之后信号通过模拟滤波得到低频(频带范围10 Hz~200 Hz)、中频(频带范围200 Hz~2.2 kHz)和高频(频带范围1.8 kHz~20 kHz)三路波形信号。第二级为自动增益控制AGC(Automatic Gain Control)放大,通过将一级放大后波形的幅度值与系统设定的上下限阈值进行比较,并将结果反馈给前置放大器进行放大倍数的自动调整,使输出的数据幅度保持在一定的测量范围。

三轴传感器探测的信号经过两级放大后得到九路波形信号,不同频段的信号被电子学机箱的AD(Analog-Digital)芯片以不同的采样率连续采集(低频采样率1.024 kHz,中频10.24 kHz,高频51.2 kHz),并保存为16位的二进制数据格式。当高频段采集4 096点时,即根据当前运行模式进行对应的数据处理,然后打包由卫星平台接口传输至地面接收站。某卫星选用RS422做为与载荷的数传接口,数传时钟信号为6 MHz,以达到高速数率传输功能;星务平台采用CAN(Controller Area Network)总线做为其与载荷的通信纽带,用于实现向仪器发送广播信号、控制指令以及遥测数据采集等功能。感应式磁力仪设备系统组成框图如图1所示。

2.2 工作模式和数据产品

星载感应式磁力仪具有三种工作模式:详查、巡查和定标。在不同模式下,仪器输出不同内容的数据产品。

当卫星经过境内上方空间时,载荷工作进入详查模式工作,此模式下将其采集的低频带、中频带和高频带原始科学数据连同系统参数(数据包序列、仪器电压及电流监测信号、当前工作模式代码、三分量增益放大倍数及8位累加和校验码等)发送至地面;当卫星处于境外地区时,载荷进入巡查模式,仅需发送低、中频和精简的高频频谱与相位数据至地面;定标模式则用于仪器自检,于开机或由地面主控进入,数据处理方式与巡查模式一致。仪器根据卫星平台指令在三种模式间切换。

巡查和定标模式下,为了降低数据率需要对数据量最大的高频段数据进行精简,系统设计每25包输出一次幅度平均谱和相位谱。幅度平均谱通过将每包的高频带原始波形数据进行4 096点快速傅里叶变换FFT(Fast Fourier Transformation),当计数到第25包时,对其幅度谱进行平均后,得到分辨率12.5 Hz、包含2 048点谱线的幅度平均谱数据产品:

D25th=(D1+D2+…+D25)/25

(2)

其中,D25th为每25包输出的幅度平均谱数据,D1至D25表示1至25包高频带数据FFT变换后的幅度谱数据。由于后续科学研究需要用到相位数据,而相位有不可平均性质,因此感应式磁力仪相位谱数据取第25包信号的相位谱做为相位数据产品。

3 地面检测系统及预处理软件设计

3.1 地面检测系统

在载荷的研制过程中,需要针对仪器特点,根据其数据端接口设计对应的地面检测设备,用于在没有卫星数传与星务分系统的情况下完成设备的调试和检测等过程。

感应式磁力仪系统地面检测设备选用Xilinx公司的FPGA为主控芯片,分别扩展USB、RS422以及CAN为外围接口,并配置SRAM做为数据缓存。CAN总线接口使用SAJ1000,RS422采用DS26F32作为接收芯片,实现模拟卫星平台与载荷接口匹配、总线转换、数据收发等功能。地面检测系统通过USB 2.0接口与上位机连接,进行数据通信,选用的是Cypress公司的CY7C系列控制芯片。

3.2 数据预处理软件

感应式磁力仪发送的数据包中含有不同类型的数据信息,且为16位二进制编码数据格式,因此数据预处理软件需要对数据包进行重建,以便从中提取各类参数信息。为了监测仪器运行状态,软件需要实时显示图像和部分参数信息。此外,在数据接收和可视化的过程中,还具有对仪器启动、停止及工作模式进行切换的能力,同时软件还集成了信息统计和频谱分析等多种功能。

(1)软件平台。

Matlab被称为矩阵实验室,是一款具有强大的数值计算、处理以及可视化功能的软件,其丰富的函数资源可以为地面检测软件系统的数据处理及显示提供极大的便利。Visual C++能够进行可视化编程,是一款应用广泛、性能强大的综合性软件开发工具,但是其编写图形界面的过程比较复杂繁琐,因此数据预处理软件设计采用Visual C++调用Matlab的方法,取长补短,融合两者优势。

在混合编程方法中,较常用的有:MCC编译器法、Matcom编译法和Matlab计算引擎调用法[6]。其中,Matcom编译法使用Mathtools公司推出的Matlab到C++平台编译软件(Matcom),将需要调用的.m文件转换生成对应的C++源代码,再将此代码嵌入对应的Visual C++程序中。该方法方便可行,生成的代码可读性好,因此本文设计选用Matcom编译法实现软件的搭建。嵌入程序的声明代码如下:

//在Visual C++中初始化Matlab环境

initM(MATCOM_VERSION);

//(插入.m文件转换后的C++代码)

//退出调用

exitM();

(2)数据预处理。

为了还原感应式磁力仪探测的真实感应电压值,地面系统软件需要对接收的载荷科学数据进行预处理。感应电压经过两级放大后由载荷AD芯片采集,AD输入信号的量程为±10 V,输出编码格式如表1所示[7]。

根据表1说明,AD输入端0 V电压对应的16进制代码为00H,正电压最大值7FH对应输入电压为+10 V,负电压为补码表示,即80H对应-10 V输入电压。因此,AD前端输入电压,即探头采集信号放大后电压值的计算方法如下:

Dtmp=WH*256+WL;//数据转换为10进制

/*根据编码格式判断数据正负值并根据AD芯片量程计算出对应的实际输入电压值*/

由实验结果可以看出,当任务规模较小时,三种算法在任务完成时间上的差距相对较小,改进算法收敛速度更快且更稳定.随着任务规模的提升,可以看到改进的粒子群算法表现出更为明显的优势.相比较而言,FIFO算法的迭代次数比其他算法更大,收敛速度较慢.算法初期,传统粒子群算法相比FIFO算法具有更好的收敛速度,但后期收敛速度明显变慢,且无法跳出局部极值过早的收敛.随着任务数的提升,改进的粒子群算法在总的任务完成时间上相比其他算法优势更为明显,可以看到通过惯性权重优化和调整算子的设置,能够更有效地实现较好的目标区域的搜索,降低了任务总时间,从而在优化资源以及合理调度资源方面具有良好的效果.

ifDtmp>(215-1)

VOUT=(Dtmp-216)/((215-1)×10)

ifDtmp≤(215-1)

VOUT=Dtmp/((215-1)×10)

其中,WH为16进制数据高8位,WL为16进制数据低8位,VOUT为计算所得输入端电压值,单位为伏特。

由于探头采集的感应电压还经过了固定增益和动态增益两级放大,因此AD输入端电压数据还需除以两级放大倍数才能得到原始的感应电压值,即:

Vsensor=VOUT/Afix/AGCn

(3)

其中,Afix为固定增益放大倍数,AGCn(n=1,2,3)为当前分量的动态增益放大倍数,Vsensor为传感器探测的感应电压,即数据预处理软件计算得到并显示的最终电压值。

为了观察信号的频域特征,数据预处理还对高频带科学数据进行了FFT处理。高频带信号采样率fs=51.2 kHz,一个数据包中采样点数N=4096,由此得到频率分辨率为fs/N=12.5 Hz,幅度为AOUT=abs(fft(Vsensor[1:4096],4096))/(4096*2)的频谱图形。

(3)多线程设计。

由于地面检测系统连续不间断地向上位机发送数据,软件必须在保证数据完整接收的同时实现数据整理及可视化等功能,因此设计了数据接收和图形实时显示两个并行运行的线程。

以高频段为例,感应式磁力仪设备的采样率为51.2 kHz,每4 096个数作为一个数据包输出,如果对接收的每包数据进行处理并显示,则需每80 ms刷新一次图形。然而,这种高频率的刷新占用了较多的CPU资源,经测试发现会严重影响数据接收线程的执行,导致数据丢失,而数据接收的完整性必不可少,因此根据计算机的处理能力,设计图形显示进程每间隔一定数据包显示一次。计算机的性能越好,则间隔的数据包越少,图形刷新频率越高,图形显示越流畅。

感应式磁力仪地面数据预处理软件运行流程如图2所示。

Figure 2 Flow chart of data preprocessing图2 数据预处理软件流程图

4 系统测试

上位机与地面检测系统连接后,加电启动时首先检测连接状态,并弹出对应连接结果的提示框。如连接成功,说明地面检测系统已经准备完毕,数据传输通道连接正常,则弹出数据预处理软件界面进行后续操作,软件主界面如图3所示。

Figure 3 Interface of data preprocessing software图3 数据预处理软件操作界面

软件界面中,路径区选择接收的数据文件保存地址,模式选择区用于控制切换载荷的工作模式,通道选择区可以选择需要在实时显示界面观测的分量,操作区和数据转换十进制区用于在非数据传输时,对已接收的数据包文件进行统计、绘图和进制转换,控制区则包含开启或暂停传输、显示切换和FFT处理显示等功能。

当传输启动时会弹出实时图形可视化界面,界面含有9幅子框图,分别显示数据预处理后X、Y、Z轴的低频、中频和高频带(L、M、H)数据图像,即传感器探测的感应电压Vsensor。图像X轴单位为毫秒(ms),Y轴单位为毫伏(mV)。通过切换至FFT谱分析显示,会弹出高频带数据经过FFT处理后的频谱图形。其中X轴单位为千赫兹(kHz),Y轴单位为毫伏(mV)。图形显示界面如图4所示。

Figure 4 Real-time graphy interface图4 实时图形可视化界面

5 结束语

本文针对星载感应式磁力仪设备的工作特点和数据产品格式,设计了地面检测系统及基于Visual C++调用Matlab编写的数据预处理软件。地面检测系统实现了连接感应式磁力仪载荷及上位机软件的功能,预处理软件具有在保持接收数据完整性的同时,并行实时显示传感器三分量多频带的数据图形的功能,且能够切换显示FFT处理后频谱图形,以便对载探测的信号质量进行直观判断。

软件设计通用方便,操作简单易用,经测试可用于Windows XP和Windows 7操作系统。目前已经过了卫星多个阶段的实际应用,满足了感应式磁力仪设备地面测试的需求,为后续拓展及载荷研制提供了测试条件。

猜你喜欢
磁力仪感应式预处理
我国自主研发的量子磁力仪载荷实现全球磁场测量
微小型CPT原子磁力仪*
求解奇异线性系统的右预处理MINRES 方法
高COD二噻烷生产废水预处理研究
自动增益控制在磁力仪中的应用
感应式水龙头设计思路探究
感应式报时闹钟
原子磁力仪的空间应用及发展趋势
感应式电动采枣器的设计与应用
一种感应式自动水龙头