IRIG标准颤振信号的在线监测方法研究

2016-10-31 09:16:21祁晓鹏朱洪翔吉陈力
计算机测量与控制 2016年4期
关键词:记录器板卡模拟量

祁晓鹏,朱洪翔,吉陈力

(中国飞行试验研究院,西安 710089)



IRIG标准颤振信号的在线监测方法研究

祁晓鹏,朱洪翔,吉陈力

(中国飞行试验研究院,西安710089)

颤振试飞是飞行试验中的一项重要课题;颤振参数的实时在线显示为颤振参数在线校准的最重要环节,基于此提出了一种基于IRIG标准的颤振信号的在线实时监测方法;首先对飞行数据的IRIG记录标准进行了研究,并介绍了其中颤振参数的记录格式;然后对BCB界面化设计和Matlab数据分析的混合编程进行了研究,利用混合编程和多线程的组合方式,完成了网络数据提取、数据包获取、通道数据获取与显示和FFT变换与显示;通过对标准信号的在线实时监测,验证了软件的正确性和可行性,满足颤振参数校准的需求,最终实现了对颤振信号的在线监测。

IRIG; BCB; Matlab;混合编程;在线监测

0 引言

颤振飞行试验是目前飞机试飞的重要科目,通过试飞验证,最终确定飞机的颤振特性和颤振余量[1]。目前的颤振数据分析多是事后处理,给前期的参数校准带来了诸多的不便。本文利用BCB的界面化和Matlab的数据分析进行混合编程,对颤振信号进行在线提取和分析,利用快速傅立叶变换(FFT)[2]对颤振信号进行分析,解算出相应的模态参数。经过对颤振信号进行在线的显示和监测,验证了本文的方法和所编写的软件的可行性。

1 IRIG记录标准

基于IRIG[3]标准的记录器以太网端口是一个多种用途的IEEE802.3u(即“以太网”和“100基时”)端口,具有很多不同的功能,包括:系统监视和配置、控制、状态、升级和进入某些确定的运行环境、数据传送等,这些端口都符合IRIG106网络标准。记录器能将一个控制网络端口中的TCP端口当作一个记录数据源,而不需备用的mR-X01多路传输适配器。端口5510至端口5519都可以用作于数据端口。这些数据端口同样可以用作于提取记录中的数据。

IRIG106数字记录标准的数据是由基本包元素构成的,其中包元素数据包括:包头、包体和包尾,还有一个可选的第二包头。包头:对包内的数据类型、长度、状态信息等进行详细的说明。其中包的同步标示为固定值0xEB25。包体:不同的数据类型在包体中有不同的数据结构,例如模拟量的包体包括了通道信息(通道号和通道总数)和通道对应的有效数据。包尾:用于包的数据校验。模拟量基本包元素的数据格式如表1所示。

表1 数据包信息

其中模拟量包体部分分为两块:通道信息和通道对应的有效数据。比如通道数为3,则通道信息为4001 0300 4003 0300 4006 0300,对应分别是第一通道、总通道数、第三通道、总通道数、第六通道、总通道数。包头信息包含了判断的所有信息,通过包头可以获取整个包的长度,也可以获取包的数据长度,然后通过Channel Specific Data来确定对应的通道号与通道数据,将不同通道的数据分别存储在不同文件中,以便于后续对数据进行回放。

2 软件编程

2.1混合编程

Matlab具有强大的数据处理功能,但Matlab程序的执行效率非常低,而且其平台上开发的程序不能脱离本身的运行环境;C++builder具有强大的用户界面开发功能,程序执行效率高,但程序编写相对繁琐,结合两者的优势可以快速开发出功能强大的应用系统。Matcom是Mathtool公司开发的第三方控件,它可以将m脚本文件和m函数转化为具有相同功能的.h和.cpp文件。相比Matlab自带的编译器,使用Matcom转化代码要简单许多。而且使用Matcom工具可以方便生成动态链接库文件(dll)、.h头文件和可执行文件.cpp,这样程序可以脱离Matlab环境,提高了代码的复用率和执行速度[4]。本文将利用Matlab中的快速傅立叶变换编写.m脚本文件,通过Matcom将.m脚本文件转换为.h和.cpp文件,最后完成傅立叶变换计算。

2.2程序内容

软件内程序包括网络数据获取、数据包获取、通道数据获取和FFT变换。

网络数据获取程序如下:

allcount=ClientSocket1->Socket->ReceiveLenght(); //网络包数据长度

tes=ClientSocket1->Socket->ReceiveBuf((Char*)recdatabuf,allcount); //读取网络数据,数据存入recdatabuf数组中

网络数据获取完毕后,需要提取出其中完整的数据包,才能正确的提取出通道数据。

数据包提取程序如下:

if(k1>=12)

{

packetdata[k1]=recdatabuf[i];

k1++;

if(packetdata[3]!=0&&packetdata[5]!=0&&packetdata[7]/256!=33)

{

yupan=true;//BOOL控制信息

}

if(k1==15)

{

packetlength=packetdata[2]/2;

//数据包长度

}

}

if(k1<12)

{

packetdata[k1]=recdatabuf[i];

k1++;

}

当提取出完整的数据包后需要对要显示的数据进行提取。

通道数据提取程序为:

if(packetdata[1]==channel1p&&J1->Checked)

{

for(intk2=12+channelnum[0]*2;k2

{

if((k2-12-channelnum[0]*2)%channelnum[0]==channel1show&&J1->Checked)

{

array1c[nNum]=packetdata[k2];

nNum++;

}

}

}

当通道数据达到一定数目的时候然后对数据进行FFT变换。

Mm psdcal1=mypsd(array1,1024,1024);

//对array1中数据进行FFT变换

以上程序从数据提取到最后的数据显示和FFT变换进行了详细的介绍,完成了整个软件的工作流程。

3 采集软件

基于C++builder与Matlab混合编程实现了对基于IRIG106标准的记录器进行在线监测的方法。软件的整体分为操作区和显示区:其中操作区的功能为设置通道信息和显示通道选择功能,分别为控制区、板卡通道信息区、数据回放、系统时间和采样率,其中控制区包括颤振信号的实时显示开始、停止、数据回放和关闭程序的按钮;板卡通道区包括通道ID设置、板卡通道、板卡通路、实时数据通路控件,其中ID为板卡对应的ID,例如:0x9014,板卡通道需要同相应板卡的设置相同,以便于正确选择相应的通道数据,板卡通路和实时数据通路用于选择实时显示相应通道数据;数据回放区包括数据回放起始时间、结束时间控件;系统时间显示设备的系统时间;采样率为板卡的采样频率,用于FFT变换。显示区分别显示选择通道实时数据和通道数据的FFT变换,可以实现多路数据的在线显示。

本文应用了C++builder的网络编程[5]和多线程功能完成对本软件的设计。本文中所实现的软件的工作流程如图1所示。

图1 工作流程图

首先完成Telnet命令输入,使记录器处于监控状态,然后打开模拟量监控软件,对相应的通道进行在线监测,同时对监测的通道进行快速傅立叶变换。

4 软件验证

为了验证软件的可行性,本文进行了大量的实验,利用信号发生器分别产生正弦波、方波、三角波等信号,然后用记录器对产生的信号进行记录,同时用模拟量监控软件对相应通道进行监测,图2为监测软件的不同信号波形图和对应的FFT图。

5 结束语

图2 信号波形图和FFT

本文利用C++builder和Matlab混合编程实现了对基于IRIG106标准记录器中模拟量的在线监测,验证了对标准记录器在线监测的可行性,为后续的其它类型信号的在线监测提供了依据。对标准记录器的信号进行在线监测,通过实时的观看可以提供很多便利条件,提高日常的工作效率。

[1] 管德.飞机气动弹性力学手册[M].北京:航空工业出版社,1994.

[2] 王济,胡晓.Matlab在振动信号处理中的应用[M].北京:中国水利水电出版社,2006.

[3] RCC Document 106-07.Telemetry Standard[S].September 2007(9).

[4] Mathews J H,Fink K D.数值方法[M].北京:电子工业出版社,2002.

[5] 袁辉.C++Builder网络编程核心技术[M].北京:机械工业出版社,2003.

On-line Monitoring for IRIG Standard Chatter Singal

Qi Xiaopeng,Zhu Xongxiang,Ji Chenli

(Chinese Flight Test Establishment,Xi′an710089,China)

The flutter test is an important topic in flight test. The real-time online display of the flutter parameters is the most important part of the on-line calibration of the flutter parameters.Based on this.an on-line real-time monitoring method based on IRIG standard is proposed.Firstly,the standard of IRIG recording of flight data is studied,and the recording format of the flutter parameters is introduced. Then the BCB interface design and Matlab data analysis of mixed programming are studied,using the combination of programming and multi thread combination,completed the network data extraction,data packet capture,channel data acquisition display and display FFT. The accuracy and feasibility of the software are verified by on-line real-time monitoring of the standard signal,and the requirement of the flutter parameters calibration is met.

IRIG; BCB; Matlab; mixed programming; on-line monitoring

1671-4598(2016)04-0042-03DOI:10.16526/j.cnki.11-4762/tp.2016.04.013

TP274

A

2015-10-27;

2015-11-23。

祁晓鹏(1987-),男,河北衡水人,硕士,工程师,主要从事飞行试验、测试系统方向的研究。

猜你喜欢
记录器板卡模拟量
基于PCI9054的多总线通信板卡的研制
测控技术(2018年3期)2018-11-25 09:45:46
基于FPGA的多通道模拟量采集/输出PCI板卡的研制
测控技术(2018年12期)2018-11-25 09:37:42
汽车事故数据记录器数据规范及应用进展综述
列车车厢视频记录器的应用
关于600MW火电机组模拟量控制系统设计和研究
电子制作(2016年21期)2016-05-17 03:53:12
一种基于光纤数据传输的多板卡软件程序烧写技术
基于弹载图像记录器的压缩系统设计
电子器件(2015年5期)2015-12-29 08:43:03
模拟量输入式合并单元测试仪的研制
一种通用模拟量及开关量信号采集板卡的设计