《Matlab环境下GPIB接口功能的编程与应用.pdf》由会员分享,可在线阅读,更多相关《Matlab环境下GPIB接口功能的编程与应用.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、电子测量与仪器学报2 0 0 6 年增刊M a t l a b 环境下G P I B 接口功能的编程与应用俞阳石立华赵斌陈竞(解放军理工人学工程兵:亡程学院全军电磁脉冲防护研究测试中心,南京2 1 0 0 0 7)摘要:本文介绍了基于M a t l a b 6 5 环境下的仪器控制与功能扩展方法,通过N I 公司的G P I B-U S B H S 接口卡,对T e k t r o n i xT D S5 4 0 数字示波器进行控制、数据采集和处理,充分发挥M a t l a b 强大的数据处理功能和G P I B 总线高速的数据传输功能,实现了准实时的信号处理和最示。整个系统采用M a t
2、l a bG U I 形式编写,可对多通道数据进行采集和处理,除实现了常用的F F T、数字滤波和小波分析等功能,还可方便地根据需要通过M a t l a b 编程进行功能扩展。同时介绍了该系统在电磁脉冲测量中的应用。关键字:M a t l a bG P I B 数据采集信号处理P r o g r a ma n dA p p l i c a t i o nf o r t h eF u n c t i o no fG P I BI n t e r f a c eO UM a t l a bY uY a n gS h iL i h u aZ h a oB i nC h e n gJ i n g(E
3、 n g i n e e r i n gI n s t i t u t e,P L AU n i v e r s i t yo f S c i e n c ea n dT e c h n o l o g y,N a n j i n g2 1 0 0 0 7)A b s t r a c t:T h i sp a p e ri n t r o d u c e st h em e t h o do fi n s t r u m e n tc o n t r o la n df u n c t i o ne n h a n c e m e n ti nM a t l a b6 5 B ym e a n
4、 so fN IG P I B U S B-H Si n t e r f a c ec a r d,T e k t r o n i xT D S5 4 0d i g i t i z i n go s c i l l o s c o p ei sc o n t r o l l e d,d a t aa c q u i s i t i o na n dp r o c e s s i n ga r ci m p l e m e n t e d W i t ht h ep o w e r f u ld a t aa c q u i s i t i o nf u n c t i o no fM a t
5、l a ba n dh i 曲s p e e dd a t at r a n s m i s s i o nf u n c t i o no fG P I Bb u s,s i g n a lp r o c e s s i n ga n dd i s p l a ya r er e a l i z e da l m o s ti nr e a l t i m e T h ew h o l es y s t e mi sp r o g r a m m e db yt h ef u n c t i o n so fM a t l a bG U I B e s i d e sm u l t i c
6、h a n n e ld a t aa c q u i s i t i o na n dp r o c e s s i n gs u c h F F LD i g i t a lF i l t e r i n ga n dw a v e l e ta n a l y s i s,a l m o s ta l lo t h e ra d v a n c e df u n c t i o n so f M a t l a bc a nb eu t i l i z e d T h ea p p l i c a t i o no f t h i ss y s t e mi nt h ef i e l
7、do f e l e c t r o m a g n e t i cp l u s et e s ti sa l s oi n t r o d u c e d K e y w o r d s:M a t l a b,G P I B,D a t aA c q u i s i t i o n,S i g n a lP r o c e s i n g 具有G P I B 接口的数字化仪器在测试与计量领域获得了广泛应用。在电磁兼容测试中,一般采用高采样频率数字示波器实现对瞬态脉冲的采集,这类数据往往又需要进行频谱分析、去噪、做传递函数等运算,这时往往采用仪器的G P I B 接口完成仪器的控制和数据传
8、输。鉴于M a t l a b 软件是M a t h w o r k s 公司开发的一套高性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理和图形显示于一体【l】,只要几个语句就能实现诸如F F T、各种方法的滤波、系统辨识、小波变换等功能,因此本文讨论如何在M a r l a b 环境中实现对仪器的控制以及信号处理。关键问题是如何把数据从仪器传到计算机,从而实现对仪器的控制。N I 公司的G P I B U S B H S 接口卡采用新总线技术设计,易于与计算机的U S B接口相连,传输速率高(可达8 M B s),且操作简单、方便使用,为用户提供了一个连接U S B 与G P I
9、 B之间的桥梁。同时,M a t l a b6 5 支持面向对象技术,6 7 l可对G P I B 总线进行编程与控制。所以,使用M a t l a b6 5 平台,通过G P I B 总线可实现对数字示波器的控制,达到数据采集、传输、处理和显示的自动化。1M a tla b6 5 对G PIB-U S B-H S 接口卡的编程为了使数据的采集、传输、处理和显示集成在一个统一的系统中,需要通过M a t l a b6 5 对G P I B总线进行编程控制。M a t l a b6 5 的面向对象技术,已用一个对象把G P I B 接口封装起来。只要创建G P I B 对象,对G P I B 对
10、象操作就是对G P I B 操作,非常方便。使用g p i b 函数就可以创建G P I B 对象。G P I B 对象有很多属性(如表l 所示),通过定义G P l B 对象的属性,就能定义G P I B 的通信模式,从G P I B 对象属性也能了解G P I B 的状态。要通过G P I B传输数据,还必须先用f o p e n 打开G P I B 接口。数据传输结束后要用f c l o s e 函数关闭G P I B 接口。电子测量与仪器学报2 0 0 6 年增刊表1G P I B 接口对象属性N a m e 定义G P I B 对象名称基本属性S t a t u s 定义G P I
11、B 对象与仪器的连接状态T y p e定义G P I B 对象类型O u t p u t B u f f e r S i z e 定义输出缓冲区大小写属性T i m e o u t定义完成一个读写操作的等待时问V a l u e s S e n t定义写入仪器值的数量读属性I n p u t B u f f e r S i z e 定义输入缓冲区大小T r a n s f e r S t a t u s定义是否允许异步读写操,作B y t e s A v a i l a b l e F c n 定义b y t e-a v a i l a b l e 事件的回调函数回调属性E r r o r F
12、 e n定义出错事件的回调函数O u t p u t E m p t y F c n 定义输出缓冲区为空状态时的回调函数存储属性R e c o r d D e t a i l定义存储信息的数量R e c o r d M o d e定义是否将数据或事件存储到一个或多个文件中下面是一个简单的使用G P I B 接口例子:后的语句是注释g=g p i b(n i,0,1);创建G P I B 接口对象,并以g 标识它f o p e n(曲;打开G P I B 接口g e t(g,S t a t u s);查询状态f p r i n t f(g,I D N?);向G P I B 接口输出字符串噜I D
13、 N?i d n=f s c a n f(g);查询设备名称及参数f c l o s e(g);关闭G P I B 接口d e l e t e(g);删除G P I B 接口对象2T D S5 4 0 数字示波器的编程T D S5 4 0 是T e k t r o n i x 公司9 0 年代初生产的一款数字示波器,带宽5 0 0 M H z,采样频率1 G H z,可同时对四通道数据进行采集和分析,并提供与计算机连接的各种接口,但不提供谱分析。计算机与T D S5 4 0 数字示波器的通信方式是主从式,计算机处于主动地位,而T D S5 4 0 数字示波器处于被动地位。计算机向示波器发命令,
14、示波器作相应的响应:计算机查询示波器,示波器会向计算机返回查询结果。通过计算机发命令,可以设置示波器的状态以及示波器采集到的数据。命令和查询都是计算机发给示波器的指令。T D S5 4 0 数字示波器有比较完整的指令系统。这些指令有一定的格式,以A S C I I 码6 7 2字符串的方式传送到示波器,示波器接收到指令后就做相应的动作【2】。T D S5 4 0 数字示波器命令指令格式【3 J:【】T D S5 4 0 数字示波器查询指令格式:?【】指令头由助记符构成,可以有多项助记符,各项之间用“:”分隔。命令指令与查询指令格式的区别是,后者在指令头后面有一个“?”,表示查询。有很多命令指令
15、,在其指令头后加上“?”就变成查询指令。指令中的各种符号的含义见表2。表2 指令中的各种符号的含义【3】【】定义可选项;可以忽略前面的元素;可以重复,元素下面是一句T D S5 4 0 数字示波器的命令指令:S A V e:W A V E f o 册C H1 R E F 3这句指令的执行结果是:示波器把通道1 记录的波形存到示波器内存R E F 3 中:3 采用M a t Ia b6 5G UI 编写的数据采集、分析、处理系统实例-下文给出了采用M a t l a b6 5G U I 形式编程的系统在电磁脉冲测量中的具体应用。图1 所示为一种较典型的电磁脉冲测量数据采集系统,计算机通过G P
16、I B 接口对T D S5 4 0 数字示波器数据进行采集,同时控制示波器的操作。图l电磁脉冲测量数据采集系统该系统主要对电磁脉冲信号本身以及试验设备对其的响应情况进行采集,同时可根据实际需要对信号进行相应处理,进而了解受试设备的性能,得到相应的技术指标和参数,最后分析和评价该设备对电磁脉冲的防护能力。本来T e k t r o n i x 公司有一电子测量与仪器学报2 0 0 6 年增刊套专门用于示波器数据采集和分析的软件d=c(1 9:e n d);读出其中的数字部分-T e k V i s a,但足在实际使用中发现计算机通过该软t i m e=s t r 2 d o u b l e(d)
17、;将字符量转换成数据量件控制G P I B 接口实现与示波器的通信并不是非常t-(t i m e 1 0 0)(2 0:1 0 0 0)2 1 E 9;定义横轴数组时问稳定,有时会出现通信中断的现象。通过M a t l a ba x e s(h a n d l e s C H Ia x e s);指定G U I 图形界面适合的坐标轴对G P I B 接口进行编程很好地解决了这个问题,同p l o t(t,y);得到C H I 波形时对波形数据可进一步进行处理。整个系统充分发允l o s 曲;关闭G P I B 接挥了M a t l a b 强大的数据处理功能和G P I B 总线高速1 7 1
18、的数据传输功能,实现了准实时的信号处理和显d e l e t e(g);删除G P I B 接E l 对象,释放内存窆u j示,对采集到的信号实现了F F T、谱分析、滤波及3 2 谱分析功能小波去噪等功能。在数字信号处理t l I,为了得到信号功率以及系3 1 数据采集功能统衰减在频域上的分布情况,经常需要将时域信号图2 所示为系统波形采集界面。C H I 通道为转换到频域进行分析。下面的程序实现了对信号的电磁脉冲信号源波形,C H 2 通道为电磁脉冲信号经频域分析。同时还可以通过时域测量进一步求得系过T L F-9 1 5 型滤波器后的波形。统的传递函数以及受试设备的插入损耗。f s=S
19、e 4;N _ 5 1 2;确定栗样频率及采样点个数y=y(2 0:5 3 1);从前面的纵轴幅度数组取出5 1 2 个点y=2 0+l o g l 0(a b s(f f t(y);进行F F T 求出纵轴幅度F=(1:N 2)+f s N;频率归一化,确定横轴数组p l o t(f,y(1:N 2);求出频谱程序运行结果见图3。图2 波形采集界面程序如下:g=g p i b(n i,0,1);创建G P I B 对象s e t(g,l n p u t B u f f e r S i z e,2 5 0 0);设定输入缓冲区大小f o p c n(g);打开G P I B 对象f p r i
20、 n t f(g,D a t a:S o u r c eC H I);设定C H l 为数据采集通道f p r i n t f(g,D a t a:E n c d gS R P b i n a r y);设定数据格式为二进制图3信号频谱分析界面f p r i n t f(g,D a t a:W i d t hl);设定每字节数据长度为13 3 滤波功能f p r i n t f(g,D a t a:S t a r tI);设置数据起始点为1在数字信号处理中,经常需要从含有噪声的数f p r i n 俑(g,C u r v e?);据记录巾估计出信号的某些特征或信号本身,这时d a t a=f
21、r e a d(g,1 0 0 0);读C H I 通道1 0 0 0 个点的数据就需要对输入信号进行滤波处理,它是去除信号中f p r i m f(g,C H l:S C A L E?):查询示波器C H l 通道纵轴标度噪声的基本手段【4】,也是信号处理的一种基本方法。a=f s c a n f(g);将查询到的数据(字符量)赋到变量a 中滤波从功能上可分为四种,即低通(L P)、高通(H P)、b=a(1 2:e n d);读出其中的数字部分带通(B P)、带阻(B S)。下面的程序采用M a t l a b6 5y 1 2 s t r 2 d o u b l e(b);将字符量转化为数
22、字量中的巴特沃思滤波器对图3 中的信号频谱进行了低y-(d a t a(2 0:1 0 0 0)-d a t a(3 0)y l 4;读出纵轴数组-幅度通滤波处理,使用者只需在界面上输入几个参数即f p r i n t f(g,t l O R i z o n t a l:S C A L E?);查询示波器横轴标度可实现所期望的滤波功能。主要语句如下:c=f s c a n f(g);将查询到的数据(字符量)赋到变量cf p=s t r 2 d o u b l e(g e t(h a n d l e s e d i t 2,S t r i n g);读出输入参数值巾w p=f p+2 p i F
23、 s;6 7 3电子测量与仪器学报2 0 0 6 年增刊w s=f s+2+p i F s;频率归一化 n,w n =b u t t o r d(w p p i,w s p i,r p,r S);【b z,a z l=b u t t e r(n,w p p i);求出传递函数【h,w -f r e q z(b z,a z,51 2,F s);计算频率响应Y:y(1 N,2)+a b s(h(1:N 2);将滤波器与实际信号叠加p l o t(f,Y);求出滤波结果程序运行结果见图4。图4 低通滤波设计界面3 4 去噪功能小波变换是一种信号的时间尺度(时间频率)分析方法,它具有多分辨率分析的特点
24、,而且在时频两域都具有表征信号局部特征的能力【l】。下面介绍运用小波分析进行一维信号去噪处理的例子,如图5 所示,采用默认阈值去噪的方法对含有噪声的平稳信号进行消噪处理前后的波形对比。图5 小波去噪界面程序主要语句如下【1 1:I s=l e n g t h(y);计算采样序列长度【c,1 =w a v e d e c(y,3,d b l);采用d b l 小波并对信号三层分解c a 3=a p p c o e f(c。l,d b l,3);提取小波分解的低频系数c d 3=d e t c o e f(c,l,3);提取第三层的高频系数c d 2=d e t c o e f(c,I,2);提取
25、第二层的高频系数6 7 4c d l-d e t c o e f(c,l,1);提取第一层的高频系数 t h r,s o r h,k e e p a p p =d d e n c m p(d e n,W V,y);获取信号默认闺值y y=w d e n c m p(曲l,C,l,d b l ,3,t h r,s o r h,k e e p a p p);实现去噪过程4 结语通过工程计算软件M a t l a b6 5 解决了T e k V i s a使用过程中的不稳定闯题,可充分利用M a t l a b 强大的数据处理功能通过编程满足实际测量需要,同时通过G P I B U S B-H S
26、接口卡高速的数据传输功能,对信号实现了准实时的显示和处理,提高了数据分析和处理能力。在实际测量使用过程中,系统稳定可靠,信号采集和处理速度快。参考文献【1】胡昌华等编著基于M A T L A B6 x 的系统分析与设计一小波分析两安:电子科技大学出版社,2 0 0 1,9,l,2 9 5 2 9 6【2】李炎新,高成,陈彬,万海军用M a t l a b 实现高速数据采集自动化测控技术,2 0 0 2,it(2 1),9 1 0【3】T e k t r o n i xT D S5 2 0&5 4 0d i g i t i z i n go s c i l l o s c o p e su s
27、e rm a n u a l 1 9 9 2【4 1 胡广书数字信号处理一理论、算法与实现北京:清华大学出版社,2 0 0 3,8,2 5 9-2 9 2 Matlab环境下GPIB接口功能的编程与应用Matlab环境下GPIB接口功能的编程与应用作者:俞阳,石立华,赵斌,陈竞作者单位:解放军理工大学工程兵工程学院全军电磁脉冲防护研究测试中心,南京,210007 相似文献(1条)相似文献(1条)1.学位论文 高亢 基于MATLAB平台的微波器件散射参量自动化测量设备的研究与实现 2009 微波测量是微波技术的一个重要分支。它的发展和微波技术的各个应用领域的发展有着密切的、不可分割的关系,且成为
28、微波技术迅速发展的先导。随着大规模集成电路技术,计算机技术,信号处理技术,软件技术的飞跃发展,许多原来由硬件才能完成的功能,今天都能依靠软件来完成,随着测试仪器“软件化”的趋势,“软件就是仪器”,“网络就是仪器”新概念的提出,必然改变传统的测试与测量仪器的设计方法,成为微波测量新的发展趋势。在现代科学技术的众多领域中,自动测量技术起着越来越重要的作用。自动测量是指在没有人直接参与的情况下,利用外加的设备或装置(控制装置或控制器),对所要了解的机器,设备或生产装置(统称被测对象)的某个工作状态或参数(即被控制量)自动地按照预定的规律进行测量。本文研究和实现了一种新的基于MATLAB平台微波散射参
29、数自动化测量的方法,研究的目的是建立一个介于PC机和具体测量仪器之间的软件实时系统,中间的连接器由通用接口总线(GPIB)总线实现。MATLAB工具提供一个友好的图形用户界面(GUI),用于虚拟仪器的建立。虚拟仪器能从具体测量仪器中读出和写入数据。这些数据集合在MATLAB工具里进行分析处理,最终结果通过显示器输出。GPIB总线与PC机的连接通信采用MATLAB软件中的InstrumentControlToolbox完成,该工具箱支持基于GPIB总线的通信,支持异步通信和同步通信,支持基于事件驱动的通信。在GPIB总线与PC机连接的具体实现中,选用NI公司的GPIBUSBHS控制器。在系统实现的基础上,本文还研究并建立了各种网络校正的方法,以消除微波在器件,连接件,传输线之中所产生的误差,在校正网络建立之后,把带有误差的参考平面移到待测微波参量的平面上,得到最接近于真实值的参数。在研究校正网络以得到最小误差的同时,对各种校正网络的利弊,各方面应用的不同效果进行了分析,以求在不同方面的应用中达到最小的误差效果。最后试验结果表明,这个微波散射参量的自动化测量系统提高了微波参数测量的效率,减轻了测试工作人员的负担,并通过校正网络的建立减小了误差,具有很好的实用价值及应用前景。本文链接:http:/
限制150内