工程设计可以从虚拟仪器中获得什么?即便您对虚拟仪器并不熟悉,了解仪器如何影响工程设计也十分自然的。例如示波器等传统仪器在测试和测量应用中的不同阶段及电子系统的设计、验证和测试阶段都被广泛地应用。但是,凭借快速开发工具、交互式设计功能以及与实际信号的自然关联特性,虚拟仪器可以将工程设计带入到一个新的时代。例如数字信号处理(DSP)以及它与仪器之间的关系。数字信号处理器(DSP),是一种针对数字信号进行实时数学
工程设计可以从虚拟仪器中获得什么?即便您对虚拟仪器并不熟悉,了解仪器如何影响工程设计也十分自然的。例如示波器等传统仪器在测试和测量应用中的不同阶段及电子系统的设计、验证和测试阶段都被广泛地应用。但是,凭借快速开发工具、交互式设计功能以及与实际信号的自然关联特性,虚拟仪器可以将工程设计带入到一个新的时代。
例如数字信号处理(DSP)以及它与仪器之间的关系。数字信号处理器 (DSP),是一种针对数字信号进行实时数学运算的微处理器。要使用DSP处理模拟信号,首先要用抗锯齿滤波器和模拟数字转换器(ADC)对模拟信号进行数字化,并将它送入到传入DSP的数据流中。之后,DSP会以某种方式修改数据流,并通过数字模拟转换器(DAC)以及抗假象滤波器将信号转回模拟信号。通常而言,类似示波器等传统独立仪器会使用定制的固定嵌入式DSP系统。除此之外,示波器其实还可以通过虚拟仪器技术在个人电脑(PC)上实现。利用PC的强大性能,使用PCI数据采集设备对实际输入信号进行数字化,然后使用PC对信号进行处理。这种虚拟仪器的方式可以使用户依靠自行开发的软件程序和在PC或者实时操作系统上完成自定义的仪器功能。
虚拟仪器提供的强大设计工具使得具有不同技能层次和不同教育背景的人都可以快速设计并开发自定义测试和测量系统。相反,过去的工程设计要求开发人员使用不相关的开发工具,还需要在领域设计和实现都具备一定的工程专业知识。本文描述了如何将虚拟仪器设计工具应用到信号处理工程设计中,从而消除在设计和最终系统实现之间的障碍。我们将通过研究数字信号处理的设计与发布,并作为工程实例,来进一步讨论这个问题。
数字信号处理与虚拟仪器
首先,我们来讨论一下虚拟仪器的概念,它的出现是为了解决传统独立仪器的局限性。过去,测试和测量工具通常由例如示波器和波形发生器等独立仪器组成,它们为有限的测量应用提供了有限的功能集合。这种传统仪器具有三个基本局限性:1)硬件对信号采集提供有限的精度与速度;2)仪器中内建的厂商定义的有限的测量与分析函数;3)用户操作界面的局限性。如果这些局限性中有任何一点无法满足项目规范的要求,那么就需要一个新的独立仪器,这样会大大增加最终系统成本。
自1976年以来,NI通过将传统的独立仪器分成两个基本部分为仪器带入了一种新的观念,这两个部分是:对信号进行数字化所需的硬件和分析显示结果所需的软件。允许最终用户使用用户定义的软件为其应用建立最终仪器,这样仪器的局限性就被解决了,虚拟仪器的概念就是这样诞生的。将软件作为仪器,仪器就可以扩展到测试、控制和设计中。
相对于传统的独立仪器而言,虚拟仪器的优点与数字信号处理相对于模拟信号处理而言的优点是相似的。例如,模拟滤波器通常使用运算放大器、电容和电阻等模拟电子元件实现,相对于使用浮点或定点机器实现的数字滤波器而言灵活性十分有限。尽管模拟滤波器比较便宜、易于建立,模拟滤波器的标定和维护十分困难。要对设计进行修改也十分难以实现。例如,如果后来发现需要一个更高阶的滤波器,就必须改动硬件实现新的设计。由于数字滤波器是用软件建立的,并没有这个问题,从而在单一硬件上提供了可以实现多种应用的灵活平台。
除了虚拟仪器和数字信号处理都发挥了基于软件平台的优点,虚拟仪器通过利用图形化编程开发环境NI LabVIEW使得易用性的优点得到进一步的发展,它能够让更多人参与到软件开发和仪器设计中去。LabVIEW不仅提供了完全与传统的基于文本的编程语言所不同的图形化编程方式,使得编程过程变得更加直观与方便,同时还通过自带的Mathscript兼容了文本的编程语言,使得用户可以兼容已有的算法,或者根据实际应用来选择合适的编程方式。这样大大节省了需要熟悉编程环境和语法所需要的大量的时间。
这也是缺乏足够的设计工具对数字信号处理所产生的影响?对于DSP工程师而言,使用传统工具实现基于软件的解决方案十分痛苦。典型的开发过程从算法设计开始,它需要使用多种数学建模环境,这要求对基于文本的命令和语法有着足够的熟悉程度。在完成算法之后,嵌入式系统的实现带来了新的困难。嵌入式系统设计需要对实时处理概念、板载内存可用性以及在软件开发中所需的基于文本的编程语言和语法有深入的知识。
在传统的基于文本的设计工具中,调试又是相当困难的。如果嵌入式系统没有能够按照期望的方式进行工作,如何才能找出数学设计的错误如何对应到具体的嵌入式系统代码呢?例如量化、下溢出和上溢出等关于定点设计的问题很难进行跟踪,因为他们常常在实时执行的前几个循环中出现。例如断点、单步执行、监视可用寄存器和变量等常用的简单调试工具是不够的,因为他们需要用户舍弃实时执行,这样也就无法使得问题重现。
在最近20年中,来自成千上万家公司的工程师、科学家和技术员通过使用LabVIEW加速并简化了开发过程,LabVIEW相比传统设计工具而言更加强大,更加易于使用。LabVIEW具有通用编程语言所有的广度和深度,其易用性提高了用户效率,缩短了开发应用程序所需的时间。
简化DSP设计的参数选择
以数字滤波器设计为例,它是用NI LabVIEW和数字滤波器设计工具包进行开发与实现的。在这个应用和其他应用中,虚拟仪器方法的一个优点是提供了交互性——可以直接看到制定修改设计参数的结果。
数字滤波器设计首先要为滤波器类型(低通、带通、带阻和高通)定义滤波器规范,确定是有限脉冲响应(FIR)或是无限脉冲响应(IIR),确定采样速率以及浮点机器上所需的滤波器响应。图1给出了用于设计典型滤波器的交互式界面,例如巴特沃斯、切比雪夫、反切比雪夫、椭圆、凯塞窗、多尔夫—切比雪夫窗以及等波纹FIR设计方法。图1所示的设计是8 kHz采样速率、1 kHz带通、2 kHz带阻、60 dB带阻衰减的低通数字滤波器。在设计这些参数的时候,可以立刻看到当前设计的幅度响应和零极点图,以及产生滤波器的阶数。在图1中,选择了反切比雪夫滤波器因为它具有较好的过度带特性和相对较低的滤波器阶数。