图2展示了包含选择滤波器拓扑、定点设计工具以及用于定点和浮点设计仿真与分析的范例VI。这个VI提供了能够随着仿真运行对实现参数进行交互式修改的接口。首先,可以保持定点建模参数不变,使用默认的滤波器拓扑,使用正态分布的白噪声信号作为滤波器输入,测试滤波器在所有频率下的响应。图3给出了仿真结果。很明显,定点滤波器并没有给出与浮点仿真相同的结果,尽管设计的滤波器具有几乎相同的幅度、相位和零极点图。滤波器分析报告指出由于在乘法、加法、延迟中产生了上溢出和下溢出,因此得到的结果不够理想。利用在VI环境中给出的信息,用户可以对定点实现进行运行时修改,例如增加问题区域中的整数字长、尝试其他滤波器拓扑或是修改定点建模的其他属性。对于这个设计而言,提高乘法、加法和延迟的整数字长就可以得到希望的定点设计结果,如图4所示。
图2:程序框图展示了滤波器的设计,可以修改滤波器拓扑、整数字长、对正态分步的白噪声进行定点和浮点设计仿真以及仿真分析。
图3:前面板显示了定点滤波器设计和浮点滤波器设计的幅度、相位和零极点图特性以及仿真结果和第一个测试的分析。
图4:根据在滤波器分析报告中提供的信息,增加了加法、乘法和延迟的整数字长,现在定点设计和浮点设计的仿真结果能够匹配。
设计验证与发布
虚拟仪器通过与测试测量应用中所需的硬件自然整合在一起,改进了工程设计。在上述数字滤波器设计中, PCI数据采集设备能够获得实际信号,将它与仿真信号进行比较,就更加能确保滤波器设计的正确性。由于LabVIEW与NI以及众多第三方厂家的数据采集硬件紧密整合,这点在工程设计中又是一个重要的优点。
许多测试与测量应用需要具有能够在包括实时系统与嵌入式系统在内的多平台之间的可移植性。这点又是与工程设计相关的,其中VI需要可以被用于各种通用操作系统,包括Windows、Mac、Linux,以及支持LabVIEW的FPGA、DSP和任何32位微处理器等嵌入式系统。数字滤波器设计工具包是LabVIEW的一个附件,它提供了定点建模工具和LabVIEW FPGA以及ANSI-C代码生成。DSP工程师现在可以利用LabVIEW的强大功能进行完整的数字滤波器开发,从设计到验证直至嵌入式系统发布。
数字滤波器设计工具包为学术应用和工业应用都提供了发布方案。一种是将滤波器参数保存到文件中,这也是最简单的发布方式,它将所有实现细节保存到文件中,供以后使用。使用LabVIEW DSP模块,可以读取过去保存在文件中的滤波器参数,并在DSP上实时实现。LabVIEW DSP将图形化编程带入到多个硬件平台上,能够广泛地应用于学术中,其中包括了NI SPEEDY-33和Texas Instruments C6711、C6713、C6416 DSK,用于对DSP进行设计、快速原型开发和发布。它很好地支持了快速VI(Express VIs),可以加速开发速度,能够对板卡上的模拟及数字IO进行直接存取,并支持图形编程环境的调试。
另一种方案是FPGA发布,数字滤波器设计工具包能根据定点数字滤波器设计生成LabVIEW FPGA代码,并在LabVIEW FPGA模块中使用生成的代码,它利用Xilinx编译器直接同步位于NI可重配置I/O(RIO)硬件上的FPGA。具有RIO技术的设备有着多种外形规格,包括PCI、PXI以及CompactRIO可编程自动化控制器。LabVIEW FPGA提供了在数字滤波器应用中 对数字I/O线路和模拟I/O线路的直接访问。
ANSI-C代码生成是另一种发布数字滤波器设计的选择。LabVIEW嵌入式开发模块利用第三方嵌入式工具链和操作系统,能对LabVIEW生成的C代码进行编译、连接,并下载到任何32位微处理器目标中。使用LabVIEW嵌入式模块,您可以在前面板和程序框图中交互式地调试程序,访问板卡的外围I/O,使用任何用于嵌入式应用的1000个内置数字处理和信号处理VI。
图5:LabVIEW DSP、LabVIEW FPGA和LabVIEW嵌入式模块将图形化编程的强大功能引入到无限的硬件平台中。
虚拟仪器是用于测试和测量系统设计与实现的可行方法。虚拟仪器思想所采用的独特方法可以应用到工程设计应用和信号处理开发中,并且实现在理论设计、分析测试与发布实现中使用同一工具。
|