虚拟信号发生器聂伟(推荐5篇)
1 硬件设计基本原理
通过运用数字波形合成技术(Digital Wave Synthesis Technique),可以制造任意波形发生器,基本的操作步骤是:1)先对波形进行采样。2)将在各采样点采样到的数值存放在只读存储器中。3)传送采样的数据给数模转换器(DAC),转换成模拟信号后输出,流程图如图1所示。
在任意波形发生器的设计方案中,使用以上技术的话会有以下共同的特点:
1)用EPROM或其它非易失性存储器固化波形数据。
2)用查表电路或单片机读指令从存储器中读取波形数据。
3)通过单片机程控或触发按钮、电位器手动实现等方法来实现波形类型的选择和参数的设定。
设计任意波形发生器的方法一般有以下三种,如图2所示。
1)将波形数据存储在EPROM中或者其它种类的存储器中,只要能够保证数据的稳定性即可,通过查表电路不断的从EPROM中取数,然后通过DAC和低通滤波器(LPF)输出。这种方法的优点是能够产生较高频率的信号,缺点是不方便进行程控。
2)将波形数据存储在EPROM中,单片机8031不断的从存储器中取出数据,先经并行口送出,然后再经DAC和低通滤波器(LPF)输出。这种方法的优点是便于程控,缺点是不能产生较高频率的信号。
3)先将基本波形数据存储在EPROM中,当需要输出某种波形时,先根据基本波形或公式计算出相应的波形数据送入随机存储器RAM中,然后再由查表电路不停的反复从RAM中取出数据,通过DAC和低通滤波器(LPF)输出。这种方法既便于程控,又能产生较高频率的信号,但是缺点是:结构相对复杂,造价很高,设计难度大。
随着计算机技术的发展,将数字波形合成技术应用于设计以PC机软硬件系统为平台、带有虚拟仪器概念的任意波形发生器已很有必要,而且前景广阔。
2 电路实现
经过对常规波形产生电路的研究发现,常规波形产生电路有以下缺点:1)只能产生少数几种波形,而且产生的波形频率窄。2)不能实现程序指令控制。3)难于和其它仪器集成。再通过对比以上三种方法的优点、缺点,在设计本任意波形发生器模块的时候,采用了一种基于DDS(直接数字合成)技术的任意波形产生电路。
DDS技术是最近几年得到迅速发展的一种数字频率合成技术,利用这种技术实现任意波形的产生,其优点是程控方便,频率稳定度好,频谱纯度高,它的技术组成如图3所示。
DDS技术主要由四部分组成:1)数据寄存器,主要寄存来自微处理器的控制字;2)相位累加器,由这一部分决定输出信号频率的范围和精度;3)D/A转换器,主要用来产生所需的模拟信号;4)低通滤波,用来减少量化噪声、消除波形尖峰。
DDS专用芯片的型号有很多,在满足需要的前提下,本文的设计中,为了获得较好的性价比,采用了AD公司的AD9851芯片,同时采用了8031单片机作为波形产生控制电路,能在主机传送完输出所需波形的参数后,使主机回到系统状态,从而保持了主机的一切技术特性。
主机和8031单片机之间采用字串行通讯方式,其硬件结构框图如图4所示。
3 幅控电路
当任意波形发生器产生波形以后,仍旧需要一定的波形调理电路对它进行修正、控制,例如低通滤波、功率放大、对某些参数的定位检测及幅度控制等。其中最主要的是如何通过仪器的控制软面板实现对所产生波形的幅度进行线性程控。从传统角度来说,大多采用场效应晶体管实现,利用它的可变电阻特性,实现连续控制。这种方法的优点是比较经济,当采用多级控制时能够提高控制范围,但是也有它的缺点,比如很难实现程序指令控制、很难满足现代条件下的可靠性要求、不能实现线性程控等。所以本文选用了乘法型D/A转换器AD7520对产生的波形幅度进行控制,使用它接收仪器软面板的数字量,继而达到对所产生波形幅度的连续控制的目的。
本文的幅控电路部分采用AD7520,AD7520为10位二进制D/A转换器,其中包括10位开关和R-2R电阻网络,其特点是:功耗低(20mW),温度系数小,转换速度快(200000次/秒),输入电平与TTL匹配。其网络电路图如图5所示。其中,IREF表示流入T型网络总的电流,Ii表示流入第I个支路的电流。Di=1表示开关与IOUT1相通;Di=0表示开关与IOUT2相通(其中i=0,1,...10)。
利用虚地概念,则:
Ii=-IREFDi/210-(i-1)则可得:
所以有:
因而AD7520的输出模拟量Vout正比于其数字输入量和参考电压VREF的乘积。用DAC0800输出电压作为AD7520的参考电压,则只须改变输入的数字量,就可以控制幅度变化,从而达到程控目的。AD7520是10位D/A转换器,内部不带锁存器,而8031是8位字长,一次操作只能传送8位数据。因此,8031必须进行两次操作才能输送10位数据给AD7520,为了避免两次传输产生的毛刺干扰,必须采用双缓冲器方式,为了锁存10位数据,需要使用锁存器74LS373(8位)和触发器74LS74(2位),接线如图6所示。
从图6可以看出,8031单片机首先把两位数据输出到一号74LS74,然后把低8位数据送给74LS373,由于74LS373的片选信号也作为二号74LS74的时钟脉冲,所以一个完整的10位数据可以同时到达AD7520,作为它的输入数据,从而控制输出电压的幅度。
4 复位电路设计
系统上电时,要求8031能够复位,同时,主机也可使用软指令使8031复位。因而,复位电路设计的电路如图7所示。
图中,U1为74LS153多路转换器,当1G=0,S1=S0=0时,选通C0,此时,Y1=C0=0;当1G=0,S1=S0=1时,选通C3,此时Y1=C3=1,因此,系统上电时,SYSRESET变低,Y1由高变低,同样,改变控制寄存器相应的位,也可以使Y1由高变低,Y1信号作为U2单稳多谐振荡器的输入端,当CLR=B1=B2时,A1,A2的下调沿使Q输出一正脉冲,脉冲宽度大约为0.3RxCx。为了保证能够复位,选用Rx=10K,Cx=0.1u,因而脉冲宽度大概为0.3ms,满足8031复位条件。
5 结束语
在虚拟仪器技术的基础上,本文设计了一个任意波形发生器模块,给出了基于数字合成(DDS)技术的VXI系统平台上信号源发生器功能电路的一种设计方法,介绍DDS技术在波形产生功能电路中的应用。本模块的设计思想和方法对其它VXI总线模块的设计具有一定的参考意义。
参考文献
[1]赵敬梅,郝桂英,刘凤,等.虚拟仪器技术中信号源的研究[J].微计算机信息,2006(31).
USB设备接口固件的开发在整个虚拟信号发生器的设计过程中具有非常重要的作用,虽然设备接口硬件可以完成一部分的工作,但每一步都需要软件协同处理;另外软件还有一些必须处理的任务,例如对控制请求的处理。对开发者来说,接口硬件的工作是不可见的,可见的是接口固件在控制系统的每一步工作。
1 芯片的选择
选择微处理器主要从两方面考虑,一方面控制USB接口芯片,另一方面控制信号的产生。接口芯片采用仅处理USB通信的PDIUSBD12,其主要特点是价格便宜、通用性强,可作为组件嵌入到不同的仪器仪表系统中。由于系统采用USB总线供电,其提供的电源功率有限,所以整个系统设计都要考虑选用低功耗的芯片和器件。功能模块主要由D/A转换功能部件组成,由于虚拟仪器的便携特点,希望微处理器能具有两个10位D/A转换输出通道,这样就省去了D/A转换芯片及其外围电路的电源需要,也简化了硬件电路。基于以上的考虑,选择了台湾凌阳公司的SPCE061A。因其集成度高、功耗低,能够非常容易、快速地处理复杂的数字信号,而且性价比极高,非常适用于便携式的仪器、仪表。
2 接口固件设计
开发接口固件采用模块化和通用性的设计思想。使用单片机C语言和汇编语言完成接口固件的设计。汇编语言是可直接操作硬件的低级语言,C语言是通用的计算机程序设计语言,既有高级语言的特征又可以直接操作系统硬件,还可以进行结构化程序设计。接口固件设计采用分层结构。最底层是一些简单、原始的功能子程序,这些子程序直接和硬件通信或者完成一些最基本的功能,例如向USB接口写数据和读取数据。通过调用这些子程序形成高层、更复杂的应用程序。接口固件模块结构如图1所示。程序按分层结构编写,简洁易懂,易于测试,不但增加了程序的通用性,又增加了代码的可读性。
SPCE061A控制程序由三部分组成:
(1)初始化芯片:SPCE061A、PDIUSBD12。在与设备进行数据交换之前,主机要了解设备的工作,根据设备的要求进行系统配置。在初始化过程中,主机调用总线枚举进程,标识、管理设备状态的改变。当主机发现有设备连入系统,就会向集线器发送命令,使连入设备进入复位状态;此时设备把自己的地址暂时设成编号为0的特殊地址(为缺省状态),通过此缺省地址端点0接受主机发送的命令,交由接口固件解释并处理;再由主机统筹整个系统的状况,为设备分配一个正式地址。此后主机跟设备通信都将以这个正式地址为基础,通过一系列请求命令取得设备的用途和特性信息,为该设备选择配置方式。
(2)主程序部分:主要任务是检测标志位信号是否有改变,如果改变则执行相应的子程序,否则就会一直循环等待中断。主机应用程序使用标准Windows API函数从连接设备读取或写入数据。由于主机和设备已交换完列举信息,并且设备驱动程序已经分配和装载,因此数据通道已经建立好了。设备主要工作是对配置端点进行端点操作,对相应寄存器的状态位实时处理。
(3)中断服务程序:主要完成接收、发送数据,设置相应的标志位的工作。首先主机发令牌包给PDIUSBD12,在PDIUSBD12接收到令牌包后会给单片机发送中断请求;条件满足时,单片机进入中断服务程序。在此先读PDIUS-BD12的中断服务寄存器,判断USB令牌包是哪种类型,然后再执行相应的操作。因此,单片机固件主要就是中断服务程序的编写。
在USB单片机编程中要完成对各种令牌包的响应,比较难处理的是Setup包,主要是对端点0的编程。主机负责建立Setup包的每个域的值,如表1所示。由设备固件程序负责解释各个域的值,并根据其内容执行相应的操作。
USB设备的11种标准设备请求及用C语言编写的执行请求的函数如表2所示。标准请求码的范围从00H到0CH。除了SET_address和SYNCH_frame请求之外,多数请求都成对出现。描述如下:
(1)清除特性是用来清除一个指定的特性。
(2)取得配置是返回当前设备的配置值,若返回0值表明设备没有配置。
(3)取得描述符返回存在的描述符,包括设备、配置、接口、端点、类和字串描述符。
(4)取得接口主要用于支持多个接口配置的设备,主机请求当前的接口号。
(5)取得状态返回设备、接口或端点的特性状态,包括设备的供电形式、是否支持远程唤醒等。
(6)设置地址请求指定设备以后通信的地址,完成此请求后,所有通信全都使用这个新地址。
(7)设置配置请求告诉设备使用选择的配置,此配置必须是配置描述符中返回的设备所支持的。
(8)设置描述符请求主要用于更新或添加新的描述符,普通设备不支持这个请求。
(9)设置特性请求是用来使能一个设备、接口或端点。
(10)设置接口请求主要用于有多个接口配置的设备,主机可以为指定接口选择一个配置。
系统初始化部分包括系统时钟、I/O口、中断设置(开放外部中断)、PDIUSBD12芯片软件复位/初始化。其主流程核心部分是协议层的请求处理,关系到PC机枚举USB设备是否成功。因此在调试单片机程序的过程中,要特别注意Windows对USB设备的枚举顺序。若枚举成功,主机将会找到新的设备,提示安装驱动程序;否则就会找到未知设备,USB外设不可使用。接口固件主流程如图2所示。
中断服务子程序部分,采用混合编程,即在汇编程序中调用C函数,从而提高了代码的可读性。
例如:Void F_USB_Isr(void)
此函数为处理分析D12芯片的中断源,也就是设置相应的D12中断源标志位,用户需知道的四种中断源标志位如下:
(1)Ep1_Rec_DataFlag:此标志位为1,表示由PC主机向MCU发送数据,也就是pc数据已经发送到端点1的buffer,等待MCU的读取。
(2)Ep1_Send_DataFlag:此标志位为1,表示PC机请求MCU发送数据到D12端点1的Buffer。
(3)Ep2_Rec_DataFlag:此标志位为1,表示由PC主机向MCU发送数据,也就是pc数据已经发送到端点2的buffer,等待MCU的读取。
(4)Ep2_Send_DataFlag:此标志位为1,表示PC机请求MCU发送数据到D12端点2的Buffer。
3 结束语
本文用单片机C语言与汇编语言开发接口固件,使用分层的结构,在最底层是一些简单的、原始的功能子程序,由这些子程序直接和硬件通信,完成一些最基本的功能,以备高层的、更复杂的应用程序所调用。
摘要:计算机总线技术制约着虚拟仪器的发展。USB通用串行总线的出现促进了仪器仪表的数字化。选用PHILIPS公司的PDIUSBD12作为接口芯片,用单片机C语言与汇编语言开发接口固件,完成基于USB的虚拟信号发生器接口程序设计。
关键词:PDIUSBD12,USB,SPCE061A
参考文献
[1]陈逸.USB大全[M].北京:中国电力出版社,2001:62-72.
[2]王青.通用串行总线(USB)技术规范[J].电子测试,1999(6):32-35.
[3]仲源.USB总线的结构和测试[J].总线测试,2001(6):198-200.
[4]卢光明.基于VXI的虚拟仪器测试平台的研究[D].哈尔滨:哈尔滨工业大学硕士论文,2000:1-5.
关键词:信号类课程,虚拟实验,MATLAB,Web
1 引言
实验是电子信息类专业必不可少的课程, 是培养学生动手能力、创新能力和综合素质的关键环节。目前, 实验教学面临很多问题, 比如高校需要投入大量资金购买实验设备, 而且硬件仪器操作复杂易于损坏需要维护更新, 实验内容简单且可供选择的数量较少, 同时受到学校教学时数的限制, 致使实验教学的要求很难完全达到。为了解决在实验教学中遇到的问题和困难, 许多高校教师不断进行实验教学的改革, 建立软件仿真实验系统, 拓宽实验教学的内容, 培养学生的实践能力和创新能力[1,2,3,4]。
以信号与系统、数字信号处理为代表的信号类课程理论性强、概念抽象、公式推导繁琐, 以致学生对所学的概念、原理模糊不清, 感觉讲授的理论知识和实际应用相距甚远, 严重影响其学习效果和学习兴趣[5]。为了帮助学生更好地理解信号类课程的相关概念和基本分析方法, 克服实验内容的限制及实验设备的不足, 笔者设计了一个通过计算机和互联网就能让学生完成信号类课程实验的虚拟平台。该实验平台利用计算机模拟实验环境, 通过网络进行实验操作, 不仅可以辅助学生进行实验原理及相关知识的学习, 还有效解决了实验场地和实验仪器短缺的问题, 补充和完善了信号类课程的实验教学。
2 开发工具简介
MATLAB作为一套高性能的数值计算和可视化数学软件, 集计算、数据可视化和程序设计于一体。Matlab Web Server是MATLAB软件具有网络计算功能的重要工具包之一, 利用它可以建立远程仿真系统, 避免安装MATLAB软件, 能够随时随地的利用Internet方便快捷的进行远程仿真实验, 给实验教学带来极大的方便。Matlab Web Server的核心是可执行程序matweb.exe, 它负责解释客户机通过html页面发送的请求, 转换为运行MATLAB应用程序所需要的参数;接着启动MATLAB进程, 并将参数传递给应用程序进行计算;计算完毕, MATLAB程序还负责将计算结果以html页面的方式, 通过matweb.exe输出给客户端的浏览器并显示出来[6]。根据matweb.exe的工作过程, 只要设计好输入、输出页面和MATLAB的应用程序就可以进行仿真实验。
信号类课程的虚拟实验平台采用Dreamwerver CS5进行输入输出页面的设计。Dreamwerver CS5是Adobe公司推出的网页设计制作软件, 是一款集网页制作和网站管理于一身的所见即所得网页编辑器, 利用它可以方便地制作出跨越平台限制、跨越浏览器限制的充满动感的网页[7]。
3 虚拟实验平台的设计
3.1 虚拟实验平台的内容设计
信号类课程的虚拟实验平台是以信号与系统为基础, 同时涵盖了数字信号处理的相关内容。由于信号类课程的教学内容广泛, 实验平台采用模块化的设计思想, 围绕信号分析、系统分析和综合应用三个方面设计实验内容。每个方面设计若干个子系统, 每个子系统又有若干个实验构成, 层次清晰、简单明了。结合我院选用的信号类课程的教材, 信号分析设计了五个子系统, 分别是:连续信号的时域分析 (信号的平移、反褶、尺度变换以及两个信号的相加与相乘运算) 、连续信号的频域分析 (吉布斯现象、典型非周期信号的频谱图) 、离散信号的时域分析 (序列的平移、反褶、尺度变换以及两个序列的相加与相乘运算) 、离散信号的频域分析 (序列的傅里叶变换及离散傅里叶变换) 、信号的采样与恢复;系统分析也设计了五个子系统, 分别是:连续系统的时域分析、频域分析及s域分析, 离散系统的时域分析和z域分析;综合应用设计了五个子系统, 分别是:无限脉冲响应 (IIR) 滤波器、有限脉冲响应 (FIR) 数字滤波器、语音加密器、语音合成系统和双音多频 (DTMF) 拨号音编解码系统。
3.2 虚拟实验平台的界面设计
虚拟实验平台的界面采用多级嵌套的形式, 自上而下进行设计。先设计平台的主界面, 再设计子系统的界面, 最后设计具体的实验界面。当所有界面都设计完成, 还需要将它们有序地链接在一起以方便学生做实验时使用。由于实验平台是基于Web的虚拟实验平台, 所有的界面均是网页形式, 实验结果也以网页的形式进行显示。如图1所示是设计好的实验平台主界面。
在实验平台的主界面上以分块、列表的形式显示其构成。点击列表中的名称即可进入对应的实验系统。比如点击“离散信号的时域分析”, 就会弹出相应的页面, 如图2所示。在实验系统的页面上包含所要操作实验的名称、实验目的、实验原理和实验内容。
4 具体的实验演示
下面以离散信号的时域分析和双音多频 (DTMF) 拨号音编解码系统为例, 演示实验平台的使用方法。
4.1 离散信号的时域分析
离散信号是指在时间上依次出现的数值序列, 常用波形表示。离散信号的时域分析主要是关于离散信号的表示方法及基本运算, 包括信号的平移、反转、尺度变换等基本变换和两个信号的加减和乘法运算。为此, 我们设计了三个具体的实验, 分别是:序列的相加与相乘、序列的平移与反褶、序列的尺度变换。在图2所示的页面上点击相应实验的“单击进入”即可出现具体的实验页面, 如图3所示是“离散信号的尺度变换”实验页面。假设离散信号, 在页面上输入信号的频率ω及抽取或插入的数值a, 当a>1时f (n) 压缩, 当a<1时f (n) 扩展。若频率ω输入10, a输入3, 点击“运行”得到如图4所示的波形, 该波形验证了离散信号的尺度变换。
4.2 双音多频 (DTMF) 拨号音编解码系统
一个双音多频 (DTMF) 电话机可以对16个按键进行编码, 每个编码均是两个单频正弦信号之和, 这两个单频正弦信号分别来自两个频率组即低频组和高频组, 它们与每个按键的对应关系如表1所示[8]。在虚拟实验平台中设计的DTMF拨号音编解码系统只设计了12个按键, 舍去了表1中最右边A、B、C、D四个字母, 即高频组变为三个频率组成, 低频组不变。数字DTMF接收机通过接收的双音信号的频谱, 再现每个按键所对应的两个频率, 从而确认被发送的电话号码。
DTMF信号的编码采用查表的方式模拟产生两个不同频率的正弦波, 解码采用快速傅里叶变换 (FFT) 计算N点频率处的频谱值, 然后估算出所拨的电话号码。在进行实验操作时, 先在主界面上点击“DTMF拨号音编解码系统”弹出如图5所示的实验页面, 然后在该页面上输入四位电话号码, 接着点击“运行”即可在输出页面上显示电话号码及其频域波形, 如图6所示。
5 结论
利用仿真软件开发的信号类课程的虚拟实验平台是实验教学的有益补充, 它打破了学生学习受到的时间和空间的限制, 形成了开放式的教学环境, 充分发挥了校园网络的作用, 进一步将电子化、信息化的校园建设落实到实际教学中, 为进行网络化、个性化教育打下坚实的基础。
该实验平台内容全面, 可以直接用于实验教学, 学生通过互联网络在实验界面上输入不同的参数即可观察产生的相应图形, 将抽象的原理进行形象地解释, 增强了学生的学习兴趣。实验平台还可以辅助课堂教学, 教师将实验程序从系统中取出, 在讲授具体的概念或原理时对其进行实时仿真, 有助于教师的讲授和学生的理解, 从而提高了教学质量, 达到了改善教学效果的目的。
参考文献
[1]杨新盛.基于MATLAB的信号与系统仿真实验[J].广东白云学院学报, 2009, 16 (4) :52-56.
[2]黄琴, 熊大红.基于MATLAB的信号与系统虚拟实验系统设计[J].计算机与现代化, 2010, (12) :186-188.
[3]胡永生, 谭业武.基于MATLAB的“信号与系统”虚拟实验系统的研究[J].山西电子技术, 2012, (1) :92-94.
[4]陈真, 王延江.面向Web的信号与系统课程多媒体交互系统开发[J].中国现代教育装备, 2012, (21) :7-8.
[5]张学敏, 吕晓丽.信号类课程教学改革探索与实践[J].科技教育, 2014, (27) :181-183.
[6]何强, 何英.MATLAB扩展编程[M].北京:清华大学出版社, 2002.
[7]唯美科技工作室编著.完全实例自学Dreamweaver CS5+ASP+Access动态网页制作[M].北京:机械工业出版社, 2013.
计算机网络技术、总线技术与数据库技术的迅速发展,促进了新一代的测试仪器———网络化虚拟仪器(Virtual instrument,VI)的发展。
网络化VI克服了传统VI以PC机为核心、硬件资源不能共享的缺点,利用网络将VI系统各个模块灵活地连接起来,实现资源共享,远程诊断,有助于实现企业信息网和设备网的一体化。目前,它在生产、科研和教育等各个领域发挥着越来越重要的作用[1]。
网络化虚拟仪器所采用的两种主要的结构模型是客户机/服务器(C/S)模式和浏览器/服务器(B/S)模式[2]。它们各有所长,适用于不同要求的远程测试系统。目前,B/S模式正以其使用简便、易于维护、多平台支持、信息资源共享程度高等优点而逐步取代C/S模式。
Web虚拟仪器系统将虚拟仪器技术、Labview、Data Socket技术、Web技术相结合,以B/S模式实现网络数据、命令传输,用VI实现信号采集、分析、显示[3]。
NI(National Instruments)公司的Labview支持TCP/IP协议,它提供的TCP和UDP网络VI能够与远程应用程序建立通信;它支持Data Socket远程数据采集技术,可以轻松实现远程的数据采集及数据交换[4]。Labview的网络通信功能使得用户可以编写出具有强大网络通信能力的应用程序,把计算机上的VI的前面板嵌入到Web页面上,通过Web服务器处理相关的测试需求,实现远程VI。[5]从而做到一机多用、资源共享。
Web虚拟仪器技术已经广泛运用于分布式测控系统、分布式设备远程诊断系统、嵌入式系统等诸多领域。
1 Web虚拟仪器系统的构成
一个典型的Web虚拟仪器系统的构成如图1所示。它由数据采集部分、网络传输部分、服务器组件(包括数据库服务器,VI控制平台等)、Web客户端(浏览器)等构成。
1.1网络化VI的数据采集
VI的数据采集部分可由数据采集卡、GPIB、VXI接口、LAN接口、现场总线接口等部件构成,主要负责诊断设备数据的采集和控制信号的输入和输出。VI的数据采集部分本身没有控制面板,因而这时不能将它作为一个独立的仪器使用,计算机成为仪器系统的一个组件,采集部分的控制将由计算机上的模拟控制面板来实现。
1.1.1数据采集卡DAQ
作为VI最基本的模块,完成被测信号的采集,并由ADC转换成数字量,采用最新的ASIC设计、制造技术和即插即用驱动程序,可以很方便建立数据采集控制的应用系统。
1.1.2 GPIB接口卡
通过GPIB接口卡,可以很方便地将微机和仪器硬件相连接,以实现相互间的通信。在标准情况下,一块GPIB接口卡可以连接14台GPIB仪器,以构成一个比较复杂的VI系统。
1.1.3VXI接口
VXI接口能够在仪器硬件之间实现精确定时和同步,其结构紧凑,数据吞吐能力强,可以达到40Mbps,虚拟仪器软件体系(VISA)作为统一、规范的I/O接口通讯标准,成为VXI软件的基础,用户可以在设计时不必过多考虑I/O接口的细节,简化了编程的要求,加速了开发进程。
1.1.4LAN接口
LAN接口使仪器具有网络化能力,通过对现有的仪器进行网络化改造,并且开发与之相配套的网络应用程序,通过远程实时操纵和状态监控的方式获取现场设备运行状态信息并把信息采集下来送到设备故障诊断中心,以完成现场和诊断中心的信息传输。用户可以将可选硬件(如GPIB, VXI, RS232, DAQ, LAN接口)和可重复使用源码库结合起来,实现模块间的通讯、定时和触发。当用户的测试要求发生变化时,用户可以增减软硬件模块以满足自己的测试要求。
1.2Labview独特的网络数据传输技术
传统的TCP协议进行数据传输时,数据之间需要服务器端及客户端交互控制以保证数据传递的准确性,这对于服务器及客户机来说两者都变得很被动,这种被动的接收和发送数据将导致程序编写复杂,程序的可读性也将随之变差。而Data Socket技术给网络编程带来了新的曙光,它大大简化了编程思路,服务端客户在采用Data Socket技术之后是互不干扰的两台机器,服务器可以随时发送数据,而客户机可以随时接收数据,而且发送、接收的数据均由封装在底层TCP/IP协议来控制,从而确保数据的准确性和可靠性。
1.3Web数据库的建立和客户端、服务器程序的开发
Web数据库是远程故障诊断的重要组成部分,典型的Web数据库系统有一个作为用户的Web浏览器,一个用作信息存储的服务器和一个连接两者的Web服务器,用户使用Web浏览器访问Web页,通过Web页显示的表格与数据库进行交互操作。典型的交互操作包括读取页、列表框选择以及查询和输入数据域。从数据库获取的信息能以文本、图像、表或多媒体形式在Web页上显示。
本文所设计的监测系统是一个基于Labview和Web浏览器的分布式系统,将Web和VI结合起来,作为最终页面提供给用户的都是Web网页。仪器的前面板被移植到Web页面上,通过Web服务器处理相关的测试需求。
当用户的设备发生故障时,通过Internet访问远程故障诊断中心,并向远程故障诊断中心提交一些必须的数据信息,远程故障诊断中心对这些数据信息进行处理、分析,向用户提出解决方案,指导用户进行维修。
(1) 系统的开发环境
编程语言:VB6.0、Labview 7.0;
网站开发工具:Microsoft FrontPage 2000;
网络脚本语言:混合使用VBScript和JavaScript。
(2) 系统运行环境
操作系统:Windows 2000;
Web服务器:IIS(Internet Information Server)5.0;
数据库服务器:SQL Server 2000。
(3) 客户端
能运行Web浏览器IE即可。
2 基于VI的信号分析管理系统
先进、灵活、强大的数字信号分析功能是Labview的主要特点之一,在Labview的函数库中提供了丰富的信号处理相关程序,包括波形测量、信号调理、信号监测、波形发生、信号处理等分析库。针对信号领域的特殊问题,Labview还开发了若干工具包:信号处理套件、数字滤波器分析工具包、小波分析和滤波器组设计工具包、联合时频分析工具包[6,7]。利用这些内置的函数库和工具包完全可以满足工程应用的需要。
利用Labveiw强大的信号分析功能,可以实现快速傅立叶变换(FFT),它是传统信号处理的核心技术,还能实现包括:频谱分析、倒谱分析、细化谱分析、相关分析、时间序列分析及包络分析等。近年来出现的以短时傅立叶变换(STFT)、维纳分析(Wigner-Ville)、小波变换(WT)及小波包变换(WPT)为代表的时频分析,将信号同时变换到时域和频域中,在对非稳态信号的处理得到了较好的效果[8]。
2.1 数据采样模块
数据采样模块主要完成初始化数据采集卡、设置采样参数、采样方式并启动数据采集卡进行采样。因而这一模块可以进一步分为数据采集卡驱动程序的打开、数据采集卡的设置、数据采集卡的启动、数据采样控制、数据采集卡驱动程序的关闭等子模块。
数据采集卡(DAQ卡)由以下几个部分组成:
(1) 多路开关
将各路信号轮流切换到放大器的输入端,实现多参数多路信号的分时采集。放大器将前一级多路开关切换进入待采集信号放大(或衰减)至采样环节的量程范围内。通常实际系统中的放大器做成增益可调的放大器,设计者可输入信号不同的幅值选择不同的增益倍数。
(2) 采样/保持器
取出待测信号在某一瞬时的值(即实现信号的实际离散化),并在A/D转换过程中保持信号不变。如果被测信号变化很缓慢,也可以不用采样/保持器。
(3) A/D转换器
将输入的模拟量转换为数字量输出,并完成信号幅值的量化。随着电子技术的发展,目前通常将采样/保持器同A/D转换器集成在同一块芯片上。
以上几个部分都处在PC计算机的前向通道,是组成数据采集卡/板的主要环节,与其它有关电路如定时计数器、总线接口电路等作在一块印刷电路板上,即构成数据采集卡(DAQ卡),完成对信号的采集、放大及模数转换。
2.2 信号的采集与分析
采用声卡作为数据采集来进行对声音信号的采集,通过对声音信号的采集和分析,可展示开发一个VI的基本方法,同时也可看到用Labview进行信号分析处理的优势所在[9]。本机是微星主板集成声卡Avance AC97 Audio。
(1) 本地信号采集
客户机以交互式方式输入或选择信号的各种参数,然后向本地服务器程序发出采集信号的请求;本地服务器接受请求,然后驱动声卡采集数据信号;当信号采集工作结束后,服务器程序在所采集的信号发送给客户机后,继续等待下一个请求;客户接受到服务器发出的信号后,先对其进行量化,接着等候进一步处理。采集到的声音信号如图2所示。
(2) 远端信号采集
远端采集程序是向远端的主机发出请求信号,输入远端服务器的IP地址,经响应后就像在本地采集程序一样驱动采集卡进行工作,程序流程图如图3所示。
从实际的效果看,在远程计算机的浏览器中测试数据的变化是和实际测试的声音信号同步变化的。与以往编写网络监控程序相比,使用Data Socket协议编程可以大大简化编程的复杂性。Labview的Data Socket技术为远程测控提供了便利的实现方法。利用Data Socket还可以对资源的访问进行严格的控制,可以对用户按不同类别分组,并分别赋予不同的读、写等权限,使资源得到比较好的保护,降低对资源访问时产生冲突的几率。通过Internet采集声音信号及功率谱分析分别如图4、图5所示。
2.3 信号管理
2.3.1 Labview SQL Toolkit与DIAdem
NI公司为Labview平台下的数据库开发技术提供了一个专门的工具包Labview SQL Toolkit,利用此工具箱可以很方便的实现对数据库的访问。
本文使用数据库工具包连接数据库的方法,并结合NI公司的DIAdem(交互式数据分析和报告生成软件)开发数据管理功能模块。
NI的DIAdem软件完成专家级离线测量数据分析和报告生成。利用专为交互式数据处理而设计的DIAdem用户界面,可以容易地从收集到的原始数据中获取有用信息。DIAdem有如下几个功能:
(1) 多种数据管理功能:DIAdem为大量文件格式提供数据输入功能,如ASCII,Excel,二进制,Labview,及SQL/ODBC和ADO兼容数据库。
(2) 图形化和数学分析:可直接利用图形化显示数据快速生成交互式结果产生。对于数学分析,可使用DIAdem功能库中的基本公式和函数,FFT、数字滤波、曲线拟和、统计、高级代数等功用,得到正确结果。
(3) 强大的报告生成功能。
(4) 完全的自动化和客户定义任务功能:利用内装的微软Visual Basic脚本,DIAdem通过数据自动管理,分析和报告生成,减少了系统开发的时间和成本。
(5) DIAdem CLIP:通过视觉监视测试图像,查找特殊事件,并在测试过程中同步观测采集到的数据。
(6) DIAdem INSIGHT:将被测物体以3D模式输入,并将从原始物体上的传感器中收集来的信号分配到建立的3D模型中。被测物体的测量结果以颜色和位置变化显示出来。
2.3.2 数据库[10]的开发
数据库的开发包括以下几个内容:打开数据库、构造SQL语句、执行数据库操作、关闭数据库。程序的主要实现步骤如下:
(1) 连接数据库
创建一个ODBC连接,新建一个系统DSN数据源,从数据管理ODBC中选择系统DSN,点击增加按钮,选择“Microsoft Access Driver(*.mdb)”,再选择“DataWave.mdb”,来创建和MS Access的连接。
(2) 数据库的添加、删除和修改
使用数据库连接套件中的3个VI, DB Tools Open Connection, DB Tools Insert Data,和DB Tools Close Connection。
数据库添加的语句形式为:Insert into数据表名values(字段值);数据删除的SQL的语句形式为:Delete from数据表名where删除条件;数据修改的SQL形式为Update数据表名set字段名=字段设定值where修改条件。图6显示的是一个数据库的添加程序框图。
(3) 数据库的查询
查询操作是选择符合条件的数据显示。语句形式为:select*from数据表名where选择条件。如果程序查询的是满足一定条件的所有的记录集合,则可以结合Recordset的MoveFirst、MoveNext方法和EOF属性用While循环结构来遍历记录集中所有记录,并将每个字段的值用数组形式存储,然后以Graph显示。
3 远程信号传输
3.1 两程序面板控件的直接连接
Labview 7.0系统为其每一面板控件都设定了Data Socket连接对话框[7]。通过规定URL(统一资源定位器,俗称网址)和控件连接方式,就可以发布(Publish)和读取(Subscribe)数据。举例如下:
现在要把本地波形显示器的数据与网络中的其他计算机共享。在本地波形显示器的“Data Socket Connection”对话框中指定URL,并选择发布(Publish)的连接方式,异地波形显示器的“Data SocketConnection”对话框中填写相同的URL,并选择读取(Subscribe)的连接方式。Data Socket传输协议(dstp)的网址应遵守以下格式:dstp://servername.com/graphdata,其中servername.com是本地计算机的网址,它可以是计算机名、IP地址或计算机域名;graphdata是Data Socket连接的名称标识,用以区别不同的Data Socket连接。这样两异地控件就建立连接。运行两程序,当控件左上角的方框呈绿色时,表明数据发送或接收得到正确连接,本地控件的数据就可实时地传送到异地控件中;当方框呈红色时,表明数据与Data Socket Server连接失败。示例如下图7所示。
3.2 基于Data Socket协议的程序
用两控件直接连接的方式无需编程,简单易用。但其数据传输是不透明的,不能对数据进行处理。要在客户机(Client)处理服务器(Server)传入的数据,就必须编写基于Data Socket协议的程序。Labview 7.0中的Data Socket函数库包含有Read和Write等函数,Read函数用于从网上下载数据,而Write函数用于在网上发布数据,数据可以是单个或数组形式的字符串、逻辑(布尔)量和数值量等多种类型。下面给出应用实例:用实验室的实验台作为现场采集端,用一台服务器进行数据采集,在程序中,用Data Socket Write函数,向Server中写数据。在局域网的另一台主机进行数据接收。
4 结束语
本文使用VI技术,从通过局域网或因特网相连的远端获得动态信号,可以对信号进行FFT变换和功率谱分析,并具有对信号进行分析、存储和回放的功能。
开发对动态信号数据进行管理的数据库系统,可以用数据库管理波形数据,可以回放历史波形数据,以便对前后数据进行分析和比较。开发基于Labview的数据分析管理模块,使用Labview的SQL Tookit对数据库进行操作,利用DIAdem进行数据分析、报告。整合VI和数据库,统一实现数据的管理,扩展了系统的实用性。
本文还以采集一个声音信号进行了VI的演示,充分展示了利用Labview对信号进行从采样、分析、保存的示例。该VI可以由本地局域网中的用户来进行控制,也可发布在Internet上,通过Web浏览器来进行控制。故障诊断过程本身就是一个信号采集、处理、分析和决策的过程,因此论文所探讨的利用VI技术实现信号的采集、分析以及管理一体化的思想也具有实用价值。
提出了基于Data Socket技术的网络测量系统。Data Socket技术可以通过各种接口传送测量数据,使得通过网络共享数据变得非常简单。通过Data Socket Server可以很容易地进行数据的发布和订阅,实现网络的共享。Data Socket技术为网络测量系统的开发指明了一条捷径。
参考文献
[1]熊伟,朱有产,静永文.基于Web Services的网络化虚拟仪器技术[J].微计算机信息,2009,25(7):15-17.
[2]李光明,崔博丽,李颀.构建基于Labview的网络化虚拟仪器系统[J].化工自动化及仪表,2010,37(11):52-53.
[3]黄锼,何岭松,熊良才,等.基于Web的网络测控技术及应用[J].测控技术,2007,26(9):31-32.
[4]邹卫华,尹宁宁.基于Labview的远程数据采集的实现[J].哈尔滨理工大学学报,2008,13(6):44-46.
[5]马国胜,杨鹭怡.基于虚拟仪器的电子技术网络实验系统的设计与实现[C]//2010全国虚拟仪器大会暨MCMI2010’会议论文集.北京:仪器仪表学报杂志社,2010:125-127.
[6]刘刚,王立香,张连俊.Labview8.20中文版编程及应用[M].北京:电子工业出版社,2008.
[7]雷振山.Labview7Express实用技术教程[M].北京:中国铁道出版社,2005.
[8]张建华,卓力,张延华.数字信号处理[M].北京:科学出版社,2002.
[9]杜小军,李素有.声卡数据采集在模型验证试验中的应用[J].科学技术与工程,2007(4):125-126.
本文在研究的过程中,是在VC++为平台基础上完成的虚拟数字信号处理仪设计的,在分析数字信号时,应该充分的应用Matlab工具箱函数,其基本主要包括这样几个方面:
(1)确保Matlab同VC++可以有效的对接到一起。对现代化技术要充分的进行应用,将现阶段最新开发出的工具充分的应用到微型计算机上,确保Matlab和VC++能够有效的融合到一起。
(2)使数字信号的基本处理功能成为现实。通过VC++对Matlab函数进行调用,从而发挥出分析倒频域、分析频域、绘制幅频曲线、 设计数字滤波器的功能。
(3)除了要将数字信号的基本分析功能发挥出来之外,将分析处理功能还应该增加上去;主要包括:首先,在设计和应用滤波器的时候,将阶跃响应图、零极点图和脉冲响应图增设进去;其次,将快速傅立叶变化、希尔伯特变化和离散余弦变化等方法增设进去;再次, 在设计波形发生器时,不但要将典型型号的类型增设进去,还应该将自普分析和自相关分析增设进去,鉴定和检验分析采样得到的信号类型。
2相关技术分析
2.1选择合适的编程语言
可以选择VC+作为虚拟数字信号处理仪系统的编程语言,采集数据、交互界面是其主要目的。Marlab作为VC++的合作对象,其工具箱一般都非常的强大,能够快捷准确的绘制出数据图,然而它有相应的不足之处,程序执行率较低,主要是由于以解释的方式控制其计算机语言,因此,为了确保VC++可以有效的调控Matlab,所以需要分工明确,由Matlab处理较为复杂的数字信号,在进行采样、普通分析和界面分析时由VC++来完成。按照这种做法,不但可以正确快速的完成部分计算,还可以将系统的安全性与稳定性提升,确保彼此间能够互相补充。
2.2 Matlab和VC++联合处理信息
将二者结合起来处理信息时可以按照这样的步骤去做:在运行系统时,VC++将有关的数据信息和命令传递给matlab引擎,这样Matlab与VC++的联系由Matlab引擎来实现,进而有效的处理其中的数据信号。例如功率谱分析时,可以按照这样的方式去做:在采集采样点数据和采样频率时,可以应用VC++来完成,将Matlab利用eng Open函数打开,联接其matlab,对于所采集到的数据通过mx Creat Double来完成, 在对这一步进行命名时可以应用到mx Creat来完成。
2.3采样信息及分析领域
在采集与分析相应数据时,应该根据数字信号计算方法及数字信号处理理论绘制图形和计算分析,例如功率谱图形和流程等,在通过系统完成相应的功率谱研究时有着这样几个优点:首先,能够有效的观测功率谱的宏观分布情况;其次,将所需要的部分可以局部放大,将任意一个频率点处的功率谱值能够清晰的读出来;再次,有特殊的极值点记号,可以有效获取到。同时,对比一些硬件的功率谱图时能够发现,谱峰一般会出现在100赫兹点处。并且存在160d B的峰值;然而,系统VC会将双边的功率谱图绘制出来,这样会在99.80处控制谱峰位置,数值会控制在81.87d B,实际上,很难获得准确的数值,多少会存在一些偏差,然而,在许可的范围内,这种分析结果仍然是可以得到肯定和认可的。
2.4设计模块
主要从这样几个模块出发进行系统的功能划分:1典型信号及自相关分析和自谱分析及典型信号;2采集信息;3设计与应用滤波器;设计FIR数字滤波器与设计IIR数字滤波器;4分析信号时域。 这种分析主要包括负相关分析和自相关分析;5分析信号频域。分析随机信号功率谱和典型周期信号频道两个方面。6分析信号侧频域,这其中主要包括:复倒谱分析、复倒谱反变化和实倒谱分析三个方面。其中主要是根据VC++嵌套汇编语言确保信息采样模块完成相应处理的。在设计数字滤波器时,主要是通过Matlab函数完成的带通、带阻和低通滤波器操控的,并且,应该确保在Matlab的工作区域当中控制所涉及到的滤波器。在应用这些滤波器时,需要合理的选择型号类型。在通过传统信号的特征,将合适的滤波器从工作区中选择出来,之后通过滤波器滤波处理原信号。
3结语
综上,文章利用上文主要对虚拟数字信号处理仪的系统构成、 主要工作方向和所应用时所需要注意的关键技术进行了分析。在进行相关分析的过程中,同有关运算原理和数字信号处理理论有机的结合在了一起,这样才可以将科学、合理的虚拟数字信号处理仪制作出来。近年来,在科技推动下,将进一步完善虚拟数字信号处理仪系统,从而将系统的手段为有关信号的采集和分析提供出来。总的来讲,对于这方面的研究必将成为一个重要的方向。
摘要:随着信息技术与计算机网络技术的发展,虚拟数字处理仪的应用越来越频繁,在科研发展和工程技术等方面发挥着重要的作用。按照有关的计算方法及数字信号处理理论,在虚拟仪器软件工具的基础上,可以将界面更好、功能更加完备的设备仪器研发出来,更好的满足相应的需求。对此,文章通过下文对虚拟数字信号处理仪的相关技术内容进行了论述,从而为有关单位及工作人员在实际工作中提供一定的帮助作用。
关键词:虚拟数字,信号处理仪,相关技术
参考文献
[1]袁华松.虚拟数字信号处理仪的关键技术研究[J].魅力中国,2010(02):532-533.
[2]卢晓红,贾振元,麻硕士,裴喜春.虚拟数字信号处理仪的研究与开发[J].计算机仿真,2007(03):963-965.
[3]彭宇,姜红兰,杨智明,乔立岩,刘旺.基于DSP和FPGA的通用数字信号处理系统设计[J].国外电力测量技术,2013(01):761-763.