APP下载

基于LabVIEW的SISO系统传递函数估计虚拟仪器设计

2017-07-31耿彦章吕海峰冀晓菲

中国测试 2017年6期
关键词:输入输出阶数虚拟仪器

耿彦章,吕海峰,安 君,冀晓菲

(中北大学机械与动力工程学院,山西 太原 030051)

基于LabVIEW的SISO系统传递函数估计虚拟仪器设计

耿彦章,吕海峰,安 君,冀晓菲

(中北大学机械与动力工程学院,山西 太原 030051)

针对在实际工程研究领域中经常要对SISO系统进行系统辨识的问题,开发一套基于LabVIEW的SISO系统传递函数阶数与参数估计虚拟仪器。该虚拟仪器使用基本定义法与联合输入输出法两种传递函数参数估计方法进行相互比对,从而得到SISO系统的S域传递函数数学表达式的参数。通过对一个典型RLC二阶电路系统对该虚拟仪器进行理论分析与实验验证。由高频状态下的误差分析证明两种算法的结合部分在高频区间会增大误差。最终证明,这套系统传递函数阶数与参数估计虚拟仪器所辨识得到的系统模型参数在低频状态下具有较高的准确性。

传递函数;系统辨识;联合输入输出法;信号分析;RLC二阶电路

0 引 言

从狭义上讲,单输入单输出系统(single input single output system,SISO)是自动控制领域中的一种系统模型,这种系统只具有一个信号参数输入端口与一个信号参数输出端口。从广义上讲,这种SISO系统则存在于工程技术、社会生活中的各个领域。在工程上,对某个未知系统的数学模型分析与系统辨识是非常有价值的。一个未知的SISO电气、机械或声学[1]系统的工程分析主要体现在系统传递函数(transfer function)的辨识与参数识别[2]。在确定系统的阶数、估计系统的传递函数并进行系统的参数识别方面,国内外已有了很多先进方法与理论。李敏花等[3]通过采用LM算法极小化代价函数,应用在系统辨识领域,提出了一种估计出系统未知参数的方法。袁东等[4]进行了二阶系统线性自抗扰控制器频带特性与参数配置研究。Atcitty Stanley发明了一种自动计算系统传递函数的计算方法。秦来安等[5]将常用的系统辨识方法进行分析对比,得出了不同的方法适用于不同情况不同要求的工况分析。近些年随着虚拟仪器技术的不断发展,传递函数与虚拟仪器结合的工程应用实例不断增加。柳明洙等[6]通过设计具有分析传递函数功能的虚拟仪器实现了对电压闪变的监测。郭栋梁等[7]基于LabVIEW与参数分析设计实现一种通用电路板自动故障诊断系统。尽管系统辨识与传递函数参数估计的理论方法不断增加,但是迄今为止还鲜有具有对SISO系统进行系统辨识功能的虚拟仪器设备出现。

本文提出一种基于LabVIEW的SISO系统传函与阶数估计虚拟仪器,该方案可以对常见SISO信号系统进行传递函数的S域参数识别,并对未知系统进行辨识与传递函数阶数判断。基于LabVIEW的传递函数辨识系统具有操作简便,分析迅速,计算准确的优点。

1 传递函数的参数估计原理

1.1 定义法

对于一个广义系统来说,通常会有若干个输入节点与若干个输出节点。如图1所示,一般的SISO系统应该只具有一个输入节点与一个输出节点,同时这个系统可以是电气系统,机械系统或声学系统等。

传递函数的数学定义是:线性定常系统在零初始条件下,系统输入量与系统输出量的拉氏变换之比。将输入点与输出点之间的整体部分视为一个完整的系统,通过对系统传递函数H(s)的估计,可以得出这个系统的动态特性以及稳定性等系统的独有特性的数学描述。系统的输入信号X(t)与输出信号Y(t),则经过拉氏变换后相除就得到了这个系统的传递函数:

图1 SISO系统示意图

一种常见的求传递函数的方法是,对输入输出信号X(t)与Y(t)来讲,传递函数是对这两种信号所在的线性时不变系统的描述。因此对X(t)与Y(t)求互功率谱 SYX(jω),对 X(t)求自功率谱 SXX(jω),则系统的传递函数为

当测得系统的输入信号X(t)与输出信号Y(t)为简谐信号时[5],有:

这种传递函数的估计的方法测量要求简单,计算步骤较少。所求得的传递函数H(s)是一个具体的复数值。这个值可以反映输入信号与输出信号在时域中的幅值比例与相位延迟关系,但是不能具体得到这个传递函数的S域数学表达式。

1.2 联合输入输出法

LabVIEW的仿真与控制工具包中所包含的传递函数参数估计程序采用联合输入输出法(joint input-output method)进行系统的传递函数参数原理。这种方法是综合直接辨别法(direct identification)与间接辨别法(indirect identification)两种系统辨识估算模型对系统进行传递函数估计与参数识别[8-10]。

该方法是对于某闭环线性时不变SISO控制系统,有:

其中 yt与xt分别代表输出与输入信号,G(q,θ)代表在线性时不变控制器K(q,θ)与外部参考信号rt影响下的传递函数并且在后移算子q-1中为有理式,且

式中:θ——多项式中的实数向量参数;

νt——期望为0的平稳白噪声;

ma、mb——正整数。

设rt为弱平稳过程信号,它的谱密度为φr(ω)。进一步用 G(q,θ),K(q,θ)来表示 xt与 yt的关系:

其中 K 为实数,P(q,θ)、L(q,θ)都是后移算子 q-1中的多项式,这就要求上式中的分子P(q,θ)形成开环节点A(q,θ)的子集,即对于某些多项式,有:

假设其系统辨识得到的估计传递函数具有以下4个特征:

1)该传递函数不存在零点对消,且并非是不可确定的;

2)φr(ω)=μ 为一常数;

3)线性时不变控制器 K(q,θ),应满足:

并且 P(q,θ)满足式(9)。

4)闭环函数零点应满足:

基于上述理论,只需知道信号xt与yt就可以按如下的方法估计传递函数:

其中

是 yt与的均方误差的一阶矩。根据式(4)给出的系统模型,有:

即为传递函数参数估计式。

联合输入输出法可以在已知系统传递函数为确定的阶数时,有效辨别系统的传递函数Z域与S域参数。但这种方法所估计出的传递函数参数是与对应系统的阶数相关的,如果被测系统的传递函数阶数不能在参数识别之前被确定,则联合输入输出法的系统参数辨识结果可能与系统的真实参数存在一定的误差。本文综合上述两种传递函数辨识理论,使用LabVIEW软件环境,编写出一种阶数递增的传递函数S域参数识别程序。该程序可同时使用两种不同方法对SISO系统进行系统辨识,结合两种方法的优点,将得到的结果相互比对,以达到逐阶辨识的目的。

2 测量系统设计

该程序的软件结构图如图2所示。使用LabVIEW图形化编程平台,对整个系统进行模块化编程。整个系统分为信号发生部分、信号采集部分、信号处理部分。其中信号发生部分的主要功能是产生自定义频率、幅值、偏移量的简谐信号,配置相应的硬件实现程序。信号采集部分的主要功能是对被测系统的输入信号与输出信号进行时域采集,并设置所需要的采样方式、采样率与待读取采样数。信号处理部分的主要功能是对采集到的时域信号进行分流、示波、频谱分析,同时编写相应的算法实现传递函数的阶数与参数估计。

图2 软件结构图

图3 软件流程图

该程序的程序流程如图3所示。程序的设计思路:首先使用LabVIEW的仿真信号发生功能进行简谐信号的产生,并且通过播放波形函数由计算机声卡产生原始的电压简谐激励信号。该信号经过功率放大器放大后,对被测系统进行激励。当被测系统为机械振动系统时,需要接入激振器将电信号转换为机械振动信号进行激励[11]。使用数据采集卡对系统的输入与输出时域信号进行采集,得到的信号分别通过联合输入输出法与功率谱密度法进行运算,比较后得出联合输入输出法所求的S域传递函数是否接近真实值,如果不接近,则传递函数模型阶数递增,并重复至可接受的值为止。

该程序的核心算法为对时域信号进行自谱与互谱分析,并且调用LabVIEW的模态识别参数估计函数:SI Estimate Function Modal。程序后面板如图4所示,采集到的输出信号与输入信号的时域信号在程序内同时进行两种不同的运算处理。其中一种是计算输入与输出信号互功率谱,将得到的复数结果与输入信号的自功率谱进行除法运算,得到传递函数的复函数值C1。第2种运算是时域信号与当前假设阶数同时输入到SI Estimate Function Modal函数中,函数经过联合输入输出法计算后,得到系统的传递函数S域表达式:

图4 传递函数参数估计核心程序

图5 测试用RLC电路

将式(3)代入到式(13)中,可求得传递函数的复函数值C2。对于传递函数的特性,通常更关心结果的模值与辐角值,因此对C1与C2进行模与辐角运算。得到的结果(即 abs(C1)与 abs(C2),angle(C1)与angle(C2))分别进行相除比较。由于一般工程上系统辨识的准确度要求控制在95%以上,如果其中某个较小的值与较大的值比值小于0.97,就判定本次估计不准确。这时测量系统将会把预估阶数提高一阶,并且再次进行计算比较。当较小的值与较大的值得比值大于或等于0.97时,则认为两种不同算法得到的结果相似度超过97%,从而本次估计结果可靠。当前的预估阶数就是系统阶数,得到的参数就是当前系统的传递函数S域参数。

3 实验验证

为测试该SISO系统传函与阶数估计虚拟仪器的真实性与可靠性,采用实验验证的方法对此系统进行检验。如图5所示,设计一个由已知元件组成的RLC二阶电路的待测系统,其特性如下:由一个L=100 nH的共模电感,一个R=330 Ω的电阻,一个C=100nF的电容组成。

图6 实验结果

根据已知参数,可以列出这个二阶电路的微分方程,求得该电路的传递函数表达式为

实验使用NI-DAQ9234数据采集卡对该二阶电路的输入输出信号进行采样。由于声卡中的信号输出电压小于1V,使用SINOCERA-YE5871A型功率放大器进行信号放大。最终软件测试结果图分别如图6所示。

根据软件测试结果,得到的S域传递函数的最佳阶数为2阶,分子参数为8.859 76×10-1,分母参数为 9.39×10-7,2.87881×10-2。 代入数学表达式为

将式(3)代入后,即求得该系统传递函数。最终将传递函数从幅频结果与相频结果两个方面进行分析,与式(5)的理论计算值对比结果如图7所示。

从图中可以较为清晰的看出,该SISO系统传函与阶数估计虚拟仪器进行传递函阶数与数参数估计的参数结果在低频部分与理论分析结果符合良好。在高频部分,幅频结果的实验结果与理论推导吻合得较好,但是相频结果则出现了偏差,偏差值随着频率的增大继续增加。

图7 理论与实验结果对比

对上述误差进行分析:根据联合输入输出法原理,进行系统的传递函数估计时,应尽量取频率分布区间广泛的信号进行分析,例如高斯白噪声。由式(7)可知,在一次系统辨识中使用xt所具有的有效值在频域上分布越广,则代入方程式后计算出的结果越接近真实值。而使用基本定义法进行系统的传递函数估计时,则应尽量选取频率成分单纯的信号进行分析,例如单一频率的正弦信号。但是使用单一频率会导致在远离该频率的传递函数部分出现估算误差。这种算法上的差异造成了该系统在对SISO系统传递函数进行参数估计时产生的误差,同时这种误差会随着代入表达式中的频率值增大而继续增大。而低频区间的频率值代入式(4)、式(7)后,由于频带范围短,频率值更小,从而计算误差减小,传参估计结果更加精确。

4 结束语

根据联合输入输出法与功率谱密度法原理设计的SISO系统传递函数阶数与参数估计虚拟仪器,可以准确辨识出未知系统在低频输入条件下的传递函数阶数与S域数学表达式参数。由于两种核心算法具有不同的侧重点,会造成在系统高频输入条件下的传递函数辨识结果产生一定的误差,因此可以从协调两种算法为切入点来进一步优化该虚拟仪器的测量精确度。

[1]LU Z.The phase shift method for studying nonlinear acoustics in a soil[J].Acta Acustica United with Acustica,2007,93(4):542-554.

[2]LEVY E C.Complex-curve fitting[J].Ire Transactions on Automatic Control,1959,4(1):37-43.

[3]李敏花,柏猛,吕英俊.LM算法在二阶过阻尼系统参数估计中的应用[J].自动化仪表,2015(7):90-93.

[4]袁东,马晓军,曾庆含.二阶系统线性自抗扰控制器频带特性与参数配置研究[J].控制理论与应用,2013,30(12):1630-1640.

[5]秦来安,侯再红,吴毅.光电跟踪架传递函数辨识方法及应用[J].红外与激光工程,2012,41(10):2810-2816.

[6] 柳明洙,刘永强,刘博,等.一种利用虚拟仪器建立的电压闪变监测方法[J].中国测试,2009,35(3):118-120.

[7]郭栋梁,刘新妹,殷俊龄.通用电路板自动故障诊断系统的设计与实现[J].中国测试,2016,42(7):112-116.

[8]SANO A, SUN L, OHMORI H.Direct closed-loop ident ification approach to unstable systems[C]//International Conterence on Control Applications.IEEE,1999(1):749-754.

[9]NINNESS B,HJALMARSSON H.On the frequency domain accuracy of closed-loop estimates[C]//Conference on Decision&Control.IEEE,2003,6(7):5997-6002.

[10]NINNESS B, HJALMARSSON H.Analysis of the varia bility ofjointinput-outputestimation methods[J].Automatica,2005,41(7):1123-1132.

[11]任艳波,于海涛,赵伟,等.基于LabVIEW的谐振式微悬臂梁传感器智能激励与检测系统[J].仪表技术与传感器,2015(12):11-14.

(编辑:刘杨)

Design of virtual instrument for identification of transfer function of SISO system based on LabVIEW

GENG Yanzhang, LÜ Haifeng, AN Jun, JI Xiaofei
(School of Mechanical and Power Engineering,North University of China,Taiyuan 030051,China)

In order to solve the problem of identification of SISO system,a virtual instrument system based on LabVIEW was developed.By using two different methods named basic definition method to identify and joint input-outputmethod to estimate transfer function, this virtual instrument can get the order of the system and the parameters of the transfer function in sdomain.Based on a typical RLC second order circuit system theoretical analysis and experimental verification,this virtual instrument was shown to have high accuracy in identification of SISO systems in the low frequency range.The error analysis of the high-frequency state proves that the combination of the two algorithms will increase the error in the high-frequency range.

transfer function; system identification; joint input-output method; signal analysis;RLC second order circuit

A

1674-5124(2017)06-0103-05

10.11857/j.issn.1674-5124.2017.06.022

2016-11-20;

2016-12-08

国家自然科学基金(51305409);山西省青年科技研究基金(2013021020-2)

耿彦章(1990-),男,内蒙古锡林浩特市人,硕士研究生,专业方向为声学测试。

猜你喜欢

输入输出阶数虚拟仪器
确定有限级数解的阶数上界的一种n阶展开方法
15相感应电机槽配合研究
Camtasia Studio高清视频输入输出原理及方法
铁路信号系统安全输入输出平台
复变函数中孤立奇点的判别
PCB 刻制机功能开发及在虚拟仪器实验室建设中的应用
输入输出理论在大学英语听说课堂中的教学探索
输入输出视角下高职英语教学研究
虚拟仪器及其在电工电子实验中的应用
一种基于虚拟仪器的电控柴油机实验台的设计