当前位置:文档之家› 曹红光-虚拟信号发生器的研究与设计(毕业论文)

曹红光-虚拟信号发生器的研究与设计(毕业论文)

安徽建筑工业学院

毕业设计(论文)

课题:虚拟信号发生器的研究与设计

专业:自动化

班级:一班

学生姓名:曹红光

学号: 07210030110 指导教师:赵为松

摘要

本文仅就基于LabWindows/CVI虚拟信号发生器进行设计,虚拟信号发生器利用LabWindows/CVI提供的软件平台以及强大的函数库,通过简单的单片机MCU+DDS就可以产生频带宽,精度高,幅值、相位和频率连续可调的波形,借助PC机的网络传输功能可实现网络控制和信号处理。基于LabWindows/CVI的虚拟信号采集卡利用C8051F020微处理器内的A/D通道及I/O端口完成虚拟信号采集,放大处理和数据传输任务,对信号的处理和显示可由PC机来完成或由网络控制,减少硬件的开支,易于实现自动测控。最后,在对本文系统进行全面测试,结果表明本方案可行,具有较大的通用性。

通过虚拟信号发生器的设计,阐述利用labwindows/cvi进行虚拟仪器设计的方法、步骤和实现技术,并展望虚拟仪器的广阔应用前景。利用其软件开发平台,按步骤阐述了虚拟信号发生器的设计和实现过程,最终实现了信号发生器的设计,该信号发生器可以选择波形以及幅值和频率。更能可以由用户根据需要自行设计和扩展,人及界面友好。

关键词:信号发生器;虚拟仪器;labwindows/cvi

Abstract

The content of this paper is about virtual function signal generator which is based on LabWindows/CVI and digital signal processor. It includes designing the structure of virtual signal generator which is based on LabWindows/CVI and digital signal processor, which includes hardware and software structure, designing digital signal capture board which is based on C8051F020 and giving network measure and controlling based on TCP/IP and signal processor. Use LabWindows/CVI software platform and powerful function library, simple MCU+DDS while can generate signal wave with wide channel, high precision and continuous adjustive swing, phase and frequence, the transmission function of network, Virtual signal generator can achieve network control and signal process. Used A/D channel and I/O ports which insides C8051F020 microprocessor, Visual capture signal board based on LabWindows/CVI finishes analog signal capture, ampliation and data transmission . Signal process and display can be finished by personal computer or MCU. And by network control we can reduce hardware expenditure and simply achieve autocontrol. Finally, through all-sided test, the result showing the project is feasible and has been universal used.

By the designing of the virtual signal generator,the designing methods,steps and technology of virtual instruments which is based on the labwindows/cvi are acquired,and prospect its wide application,after introduce the concept of the virtual signal generator,which makes the best use of the soft development platform,giving out the design and the implement steps of the virtual signal generator,and the virtual signal generator is carried out finally which can be used to select the waveform 、amplitude and frequency ,and the virtual instrument can be defined or develeped and according to the requirements and its man –machine interface is friendly.

Keywords: signal generator ;Virtual Instrument ;labwindows/cvi

目录

第一章绪论.................................................. - 5 -

第二章 LABWINDOWS/CVI简介..................................... - 7 -

2.1LABWINDOWS/CVI概述 (7)

2.2LABWINDOWS/CVI的特点 (7)

2.3基于LABWINDOWS/CVI的虚拟仪器构成 (9)

2.3.1 仪器硬件平台......................................... - 9 -

2.3.2 虚拟仪器应用软件..................................... - 10 - 2.4虚拟仪器的内部功能 (10)

2.5LABWINDOWS/CVI的运行环境 (10)

2.6虚拟仪器技术及发展 (11)

2.6.1 虚拟仪器特点......................................... - 11 -

2.6.2 虚拟仪器技术应用..................................... - 12 -

2.6.3 虚拟仪器的发展....................................... - 12 - 第三章虚拟信号发生器的理论研究 .............................. - 13 -

3.1虚拟信号发生器的基本原理 (13)

3.2.信号发生器现状及发展 (16)

第四章虚拟信号发生器的设计................................. - 18 -

4.1虚拟信号发生器设计 (18)

4.1.1 虚拟信号发生器的工作原理............................. - 18 -

4.1.2信号的频谱分析....................................... - 19 -

4.1.3仪器硬件面板设计..................................... - 20 -

4.1.4软件设计(程序设计)................................. - 24 -

4.1.5运行程序完成项目文件................................. - 36 - 总结......................................................... - 41 -致谢........................................................ - 43 -参考文献..................................................... - 44 -附录一英文翻译资料......................................... - 45 -附录二程序................................................. - 53 -

(一)在虚拟信号发生器面板All Code 产生*.c文件中程序清单:- 53 - (二)信号发生器完整程序清单:.............................. - 55 -

附录三各函数的功能和插入方法 ............................... - 60 -

第一章绪论

随着计算机技术的高速发展和普及带动了各个行业的进步,有力地促进了多年来发展相对缓慢的仪器技术的飞跃,给仪器仪表领域带来了深刻的变化;新的测试理论、测试方法、测试领域以及仪器结构不断出现,而电子测量技术的功能和作用也发生了质的变化。 20世纪80年代中后期,国外提出了“虚拟仪器”,“虚拟系统”的概念,随着微电子技术、计算机技术的飞速发展及其在测量与仪器上的应用,测试领域的新理论、新方法以及仪器结构不断出现突破了传统仪器的概念,继而开创了仪器仪表的新时代-虚拟仪器。

所谓虚拟仪器(Virtual Instrument,简称VI),就是用户在计算机平台上,根据要求定义和设计仪器的测试功能,使得使用者在操作这台计算机时,就像是在操作一台自己设计的测试仪器。需要指出的是,虚拟仪器实质是是一种创新的仪器设计思想,但虚拟仪器离不开计算机控制,软件是虚拟仪器设计的核心。

虚拟仪器的组成包括硬件和软件两个基本要素。虚拟仪器中硬件的主要功能是获取真实世界中的被测信号,而软件的作用是控制现实数据采集、分析、处理、显示等功能,并将其集成为仪器操作与运行的命令环境。虚拟仪器的分类可以按照多种分类方法,即可按照应用领域,也可按照测量功能分类,但常按照虚拟仪器的接口总线方式分类。按照总线的接口方式分为:数据采集插卡式(DAQ)虚拟仪器、RS232/RS422虚拟仪器、并行接口虚拟仪器、USB虚拟仪器、GPIB虚拟仪器、VXI虚拟仪器、PXI虚拟仪器和最新的IEEE1394接口虚拟仪器。

基于LabWindows/CVI的虚拟函数信号发生器、数据采集和信号处理的研究还处于发展阶段,也是国内外研究的重要课题,国内外都正在展开积极的研究。把信号发生、数据采集和信号处理集成在一起,利用网络对其进行控制和处理,并且在软硬件的升级方面有很大的改善空间和灵活性,改变了人们对仪器的传统观念,适应了现代测试系统的网络化、智能化发展趋势。就像我们所说的“软件就是仪器”,他将成为一个具有广泛应用前景的新兴产业。

随着计算机技术和个人电脑技术的出现和发展,传统仪器开始向计算机化的方向发展,人们开始考虑使用电脑来处理传统仪器所测数据。20世纪80年代,随着计算机技术的进一步发展,个人电脑可以带有多个扩展槽,就出现了插在计算机里的数据采集卡。它可以金星一些简单的数据采集,数据的后处理由计算机

软件完成,这就是虚拟仪器技术的雏形。1986年,美国National Instrument 公司(以下简称NI公司)提出了“软件即仪器的口号”,推出了NI-LabVIEW 直观的流程图编程风格的开发和运行程序平台,同时提出了LabWindows/CVI基于C语言的程序化编程风格的开发和运行程序平台,开启了虚拟仪器的先河。虚拟仪器技术的提出与发展,标志着二十一世纪自动测试与电子测量仪器领域技术发展的一个重要方向。

虚拟仪器技术目前在国内外发展很快,以美国国家仪器公司(NI公司)为代表的一批厂商已经在市场上推出了基于虚拟仪器技术而设计的商品化仪器产品。

本文围绕基于LabWindows/CVI的虚拟信号发生器的研究与设计,主要完成以下工作:

1.基于LabWindows/CVI的信号发生器的硬件平面设计。

2.基于LabWindows/CVI的信号发生器的软件程序设计。

3. 虚拟信号发生器的仿真调试运行结果。

第二章 LabWindows/CVI简介

1986年,美国National Instrument公司(以下简称NI公司)提出了“软件即仪器的口号”,推出了NI-LabVIEW直观的流程图编程风格的开发和运行程序平台,同时提出了LabWindows/CVI基于C语言的程序化编程风格的开发和运行程序平台,开启了虚拟仪器的先河。labwindows/cvi软件,它以ANSI C为核心,功能强大,使用灵活的C语言平台与数据采集,分析和表达的测控专业的工具有机的结合起来。他的集成化开发平台,交互式编程方法,丰富的控件和库函数大大增强了C语言的功能,为熟悉C语言的开发人员建立检测系统,自动测量环境,数据采集系统,过程监控系统等提供了一个理想的软件开发环境。

2.1 LabWindows/CVI概述

LabWindows/CVI是面向仪器与测控过程的交互式C/C++开发平台,它是一个用C语言构建仪器系统的交互式软件开发环境,可以模块化方式对C语言进行编辑、编译、连接和调试。其有以下特点:

1.交互式程序开发。

2.集成开发平台。

3.功能强大的函数库。

4.简单直观的图形用户界面设计。

5.完善的兼容性。

6. 多种灵活的程序调试手段。

7.网络功能。

2.2 LabWindows/CVI的特点

LabWindows/CVI作为一个优秀的软件开发平台,和其他虚拟仪器开发工具相比,具有如下特点:

(1)交互式的程序开发

LabWindows/CVI将源代码编程、32位ANSIC编译、连接、调试及标准ANSIC 库等集成在一个交互式开发平台中,采用简单直观图形用户界面设计,利用函数

面板输入函数参数的参数,采用事件驱动方式和回调函数方式的编程技术,有效的提高了工程设计的效率和可靠性。

(2)功能强大的函数库

如接口函数、信号处理函数库、Windows SDK(Software Development Kit)、仪器驱动函数库等,利用这些函数库可以轻松实现复杂的数据采集和仪器控制系统的开发。同时,LabWindows/CVI附加了各种软件开发包,如数据库软件包、Internet软件包、小波分析软件包等,大大增强了LabWindows/CVI的性能。

灵活的程序调试手段

LabWindows/CVI提供了单步执行、断点执行、过程跟踪、参数检查、运行时内存检查等多种调试手段。

LabWindows/CVI以面向虚拟仪器的交互式开发环境,满足看用户对软件不断变化的要求,在产品的设计中,可以快速的创建、配置并显示测量。LabWindows/CVI可以自动生成代码、编译和连接,省去了手工编写,更有利于系统的开发。

1.开放式的框架结构

在LabWindows/CVI环境中,可以结合使用标准的ANSIC源文件、obj文件和动态链接库(DLL)。还可以将软件中的仪器驱动程序库与其他标准的C编译器结合使用,无需更改开发工具。同时,可以在不同的工作小组之间共享函数模块和虚拟仪器程序。

2.集成式的开发环境

LabWindows/CVI是集成式的开发环境,可用于创建基于DAQ、GPIB、PXI、VXI、串口和以太网的虚拟仪器系统。这一开发方式结合了交互式、简单易用的开发方式与ANSIC代码的强大编写功能和灵活性。LabWindows/CVI中的交互式开发工具和函数库可以轻松实现自动化测试系统、实验室研发、数据采集监视项目、验证测试和控制系统的设计。

2.3基于LabWindows/CVI的虚拟仪器构成

基于LabWindows/CVI虚拟仪器通常由通用仪器硬件平台和应用软件两大部分构成。

2.3.1 仪器硬件平台

虚拟仪器的硬件平台主要是解决信号的输入输出,由计算机和I/O接口设备两部分完成。计算机一般为一台PC或工作站,它是硬件平台的核心。I/O接口设备主要负责被测输入信号的采集、放大和A/D转换。根据采用不同的总线及其相应的I/O接口硬件设备,如PC总线的数据采集卡/板(DAQ)、GPIB总线仪器模块、VXI总线仪器模块和串口总线仪器等,虚拟仪器的构成只要分为5中类型,如图1-1所示

图2-1 虚拟仪器结构框图

上述各种虚拟仪器系统都是通过应用软件将仪器硬件与计算机相结合构成的,其中,串口测试系统是构成虚拟仪器的最简单、最基本的方式。

本文中的硬件由工控机及其接口,数据采集卡和放大及滤波电路构成,其原理框图如图2-2所示:

图2-2 原理框图

2.3.2 虚拟仪器应用软件

虚拟仪器软件由应用程序和I/O接口仪器驱动程序两大部分构成。

应用程序包含两个方面:

1.实现虚拟仪器面板的流程图软件程序。

2.定义测试功能的流程图软件程序。

I/O接口仪器驱动程序完成特定的外部硬件设备的扩展、驱动和通信。

2.4 虚拟仪器的内部功能

虚拟仪器的内被功能可以化分为:输入信号的测量、数据分析处理和结果显示三大部分。

输入信号的测量将模拟信号转变为数字信号并输入到计算机中。

数据分析处理充分利用了计算机的存储和运算功能,并通过软件实现对输入信号数据的分析处理。处理内容包括数字信号处理、数字滤波、统计处理、数值计算与分析等。

结果显示充分利用了计算机资源,其测量结果数据的表达与输出方式有多种方式。例如,虚拟仪器可以通过总线网络进行数据传输、通过文件将测试数据存于硬盘内存中、计算机屏幕显示或图形用户接口。

2.5 LabWindows/CVI的运行环境

在LabWindows/CVI软件平台设计完成的虚拟仪器软件由四个文件组成,如图1-2所示。

图2-3 用LabWindows/CVI设计的虚拟仪器软件组成1.*.prj文件:工程文件,由*.uir文件、*.c文件和*.h文件组成。

2.*.c文件:源程序文件,此文件为标准的C语言程序文件。文件由上部分组成,即头文件(*.h)、主程序文件(Main)和回调函数(CallBack),其结构和C语言的结构一致。

3.*.uir文件:用户界面文件,该文件为虚拟仪器的面板文件,类似VB或VC中的窗体文件。该文件中包含仪器面板中的各类控件,如按钮、开关等,每个控件都有自己的属性,如按钮的名称,面板的标题、长度、位置等。同时控件还有事件,当有鼠标单击控件或用键盘改变控件时,将调用相应的回调函数,完成相应的功能,如完成数据处理、存盘、显示、打印等功能。

4.*.h文件:头文件,与C中的*.h文件结构完全一致在LabWindows/CV 中,*.h文件是自动生成的,当设计完*.uir文件后,会自动生成*.h文件。

为设计完成上述4个文件,LabWindows/CVI开发环境提供了4个主要的界面窗口:工程文件编辑窗口(Project Window)、用户界面编辑窗口(User interface Editor Window)、源代码文件编辑窗口(Source Window)和函数面板编辑窗口(Function Panel Window)。

2.6 虚拟仪器技术及发展

2.6.1 虚拟仪器特点

虚拟仪器是计算机技术介入仪器领域所形成的一个新型的富有生命力的仪器种类。其和传统仪器相比,有以下几个特点:

(1)性价比高

规模经济效益使通用个人计算机具有很高的性价比,而且基于个人计算机的虚拟仪器和仪器系统可共享计算机硬件资源,从而大大增加了仪器的功能,降低了仪器的成本。

(2)开放性好

具有开放性的规模化设计,便于用户根据测试任务随心所欲的组建仪器或系统,仪器扩充、联网和升级十分方便。

(3)智能化程度高

虚拟仪器是基于计算机的仪器,其软件具有强大的分析、计算、逻辑判断等功能,可以在计算机上建立一个普通的智能仪器到智能专家系统。

(4)界面友好,使用方便。

2.6.2 虚拟仪器技术应用

虚拟仪器技术作为计算机与仪器结合的产物,应用前景十分广泛。总体而言,虚拟仪器是测量/测试领域的一个创新概念,改变了人们对仪器的传统观念,适应了现代测试系统的网络化、智能化发展趋势。虚拟仪器技术应用方式多种多样,主要有如下几个方面:

1.工业自动化

虚拟仪器设计所采用的图形化编程语言,十分适合工程师应用,有利于提高企业自主开发和管理项目的能力,降低工业自动化技术改造成本。另一方面,采用虚拟仪器技术,根据实际工艺和控制要求,将分布在企业不同位置的各个测量仪器和控制装置连接为一个网络系统,通过计算机实施控制和管理,可降低成本,提高工业自动化改造的经济效益。

2.仪器产业的改造

仪器制造业代表着一个国家科技和工业发展的水平。目前,像数字示波器、频谱分析仪和逻辑分析仪等要主要依赖进口。而采用虚拟仪器技术,将过去仪器中许多靠硬件实现的功能用软件实现,利用商品化的数据采集和PC技术,完全可以开发出各行各业急需的各种测量仪器。这是采用高新技术改造传统产业的一个大有作为的领域。

3.实验室应用

虚拟仪器是用户自定义仪器,供应商提供软件平台。这种变化给实验教学带来了新的教学理念。实验室平台将由硬件、界面友好的应用软件、虚拟原型模型一起组成的试验系统,这种思想对从根本上改变传统实验教学方法,降低实验室建设与管理成本,实现远程教学具有重要的参考价值。

2.6.3 虚拟仪器的发展

电子测量仪器发展至今,答题可以分成四代:模拟仪器、数字化仪器、智能化仪器和虚拟仪器。

第一代:模拟仪器。如指针式万用表、指针式电压表、指针式电流表等,他们的基本结构是电磁机械式的,借助指针来显示最终结果。

第二代:数字化仪器。数字式仪器目前相当普及,如数字式电压表、数字式频率计等。这类仪器将模拟信号的测量转化为数字信号测量,并以数字方式输出最终结果,适用于快速响应和较高准确度的测量。

第三代:智能仪器。智能仪器内置微处理器,既能进行自动测试,又具有一定的数据处理,可取代部分脑力劳动,习惯上称为智能仪器。它的功能全部都是以硬件(或固化的硬件)的形式存在,无论是开发还是应用,都缺乏灵活性。

第四代:虚拟仪器。虚拟仪器是现代计算机技术、通信技术和测量技术相结合的产物,是传统仪器观念的一次巨大变革,是仪器行业发展的一个重要方向。它的出现使得人类的测试技术进入了一个新的发展纪元。

随着计算机技术、仪器技术和网络通信技术的不断完善,虚拟仪器将向三个方面发展:

(1)外挂式虚拟仪器

(2) PXI型高精度集成虚拟仪器测试系统

(3)网络化虚拟仪器

第三章虚拟信号发生器的理论研究

3.1虚拟信号发生器的基本原理

信号发生器又称信号源或震荡器,在生产实践和科技领域中有广泛的应用。各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如三角波、矩形波(含方波)、正弦波的电路被称为函数信号发生器。函数信号发生器在电路实验和设备检测中具有十分广泛的用途。例如在通信、广播、电视系统中,都

需要射频(高频)发射,这里的射频波就是载波,把音频(低频)、视频信号或脉冲信号运载出去,就需要能够产生高频的振荡器。在工业、农业、生物医学等领域内,如高频感应加热、熔炼、淬火、超声诊断、核磁共振成像等,都需要功率或大或小、频率或高或低的振荡器。函数信号发生器的实现方法通常有以下几种:

1.用分立元件组成的函数发生器:通常是单函数发生器且频率不高,其工作不稳定,不易调试。

2.可以有晶体管、运放IC等通用器件制作,更多的则是用专门的函数信号发生器IC产生。早期的函数信号发生器IC,如L8038、XR2207/2209等,他们的功能较少,精度不搞,频率上限只有300KHz,无法产生更高的频率信号,调试方式也不够灵活,频率和占空比不能独立调节,二者相互影响。

3.利用单片集成芯片的函数发生器:能产生多种波形,达到较高的频率,且易于调试鉴于此,美国美信公司开发了新一代函数信号发生器ICMAX038,它克服了“2”中芯片的缺点,可以达到更高的技术指标,是上述芯片望尘莫及的。MAX038频率高、精度好,因此它被称为高频精密函数信号发生器IC。在锁相环、压控振荡器、频率合成器、脉宽调制器等电路的设计上,MAX038都是优选的器件。

4.利用专用直接数字合成DDS芯片的函数发生器:能产生任意波形并达到很高的频率。但成本较高。

生产所需参数的电测试信号仪器。按其信号波形分为四大类:①正弦信号发生器。主要用于测量电路和系统的频率特性、非线性失真、增益及敏度等。按其不同性能和用途还可细分为低频(20赫至10兆赫)信号发生器、高频(100兆赫至300兆赫)信号发生器、微波信号发生器、扫频和程控信号发生器、频率合成式信号发生器等。②函数(波形)信号发生器。能产生某些特定的周期性时间函数波形(正弦波、方波、三角波、锯齿波和脉冲波等)信号,频率范围可从几个微赫到几千兆赫。除供通信、仪表和自动控制系统测试用外,还广泛用于其他非电测量领域。③脉冲信号发生器。能产生宽度、幅度和重复频率可调的矩形脉冲的发生器,可用以测试线性心痛的瞬态响应,或用作模拟信号来测试雷达、多路通信和其他脉冲数字系统的性能。④随机信号发生器。通常又分为噪声信号发生器和伪随机信号发生器两类。噪声信号发生器主要用途为:在待测系统中引入

一个随机信号,以模拟实际工作条件中的噪声而测定系统性能;外加一个已知噪声信号与系统内部噪声比较以测定噪声系数;以随机信号代替正弦或脉冲信号,以测定系统动态特性等。当用噪声信号进行相关函数测量时,若测量时间不够长,会出现统计性误差,可用伪随机信号来解决。

在这里介绍1款经典使用的安捷伦ESG-D系列信号发生器E4421B 详细内容以作参考:

E4421B信号发生器主要技术指标:

频率:250KHz—3GHz

分辨率:0.01Hz

转换速度

调制接通:<45ms.典型值

调制断开:<35ms.典型值

精度:稳定度×fc时基

扫描方式

工作方式:步进:频率和功率以及任意列表

停留时间:1ms-60s

频率点数:2-401

内部基本准震荡器

时基参考输出:

频率:10MHz

幅度:>0.35Vrms,50Ω负载

外参考输入:

频率:1,2,5,10MHz±典型值10ppm

用OptIE5时为1ppm

幅度:>0.15Vrms

输入阻抗:50Ω

输出阻抗:50Ω

频带频带频率范围 N#

1 250KHz≤249.999MHz 1

2 249.999≤500MHz 0.5

3 500MHz≤1GHz 1

4 1≤2GHz 2

5 2≤4GHz 4

频谱纯度

单边带相位噪声(典型值,在20KHz频偏处)

在500MHz处:<-120dBc/Hz

在1000MHz处:<-116 dBc/Hz

在2000MHz处:<-110 dBc/Hz

在3000 MHz处:<-104 dBc/Hz

在4000 MHz处:<-104 dBc/Hz

脉冲

周期:16μs-30s

宽带:8μs-30s

分辨率:4μs

3.2.信号发生器现状及发展

信号发生器作为一种常见的应用电子仪器设备,传统的可以完全由硬件电路搭接而成,如采用555振荡电路发生正弦波、三角波和方波的电路便是可取的路径之一,不用依靠单片机。如工业过程控制,生物医药,地震模拟机械振动等领域常常用到低频信号源。而由硬件电路构成的低频信号其性能难以令人满意,而且由于低频信号源所需的RC很大:大电阻,大电容在制作上有困难,参数精度亦难以保证,体积大,漏电,耗损显著更是致命的弱点。一旦工作需求功能有增加,则电路复杂程度会大大增加。

当今是科学技术及仪器设备高度智能化飞速发展的信息社会,电子技术的进步,给人们带来了根本性的转变。现在带电子领域中,单片机的应用正在不断的

走向深入,这必将导致传统控制与检测技术的日益革新。单片机构成的仪器具有高可靠性、高性能价格比,在智能仪表系统和办公自动化等诸多领域得以极为广泛的应用,并走入家庭,从洗衣机、微波炉到音响汽车,处处可见其应用。因此,单片机技术开发和应用水平已逐步成为一个国家工业发展水平的标志之一。

一块单片机芯片就是一台计算机。由于单片机的这种特殊的结构形式,在某些应用领域中,它承担了大型计算机和通用微型计算机无法完成的一些工作。使其具有很多显著的优点和特点,因此在各个领域中都得到了很迅猛的发展。

单片机的应用使得信号发生器的性能价格比提高很多,控制功能强,集成度高、体积小、可靠性高,并且可以在很低的电压下工作,功耗降至μA级,一粒纽扣电池就可长期使用。

随着科技的不断进步和电子化产品的日益普及,电子产品的规模和体积有了巨大的变化。各种复杂电路不断出现,体积不断缩小,产品更新速度不断加快。这些新的变化使得电路的设计工作变得日益复杂和繁重。电子产品设计时使用常规的人工方法,要耗费大量的人力财力。计算机硬件和软件的发展,使得它应用到各个领域。电子设计自动化得到了快速发展,大大减轻了设计压力,缩短了设计开发时间,是电子开发人员必须掌握的技术。

本次设计中应用的LabWindows/CVI 软件是美国NI(National Instrument)公司开发的Measurement Studio软件组中的一员。它是32位的面向计算机测控领域的虚拟仪器软件开发平台,可以在多种操作系统下运行。LabWindows/CVI 是以ANSIC为核心的交互式虚拟仪器开发环境,它将功能强大的C语言与测控技术有机结合,具有灵活的交互式编方法和丰富的库函数,为开发人员建立检测系统、自动测试环境、数据采集系统、过程监控系统等提供了理想的软件开发环境,是实现虚拟仪器及网络化仪器的快速途径。通过信号发生器的计算机仿真设计研究,初步掌握软件应用及编程和信号发生器原理。

第四章虚拟信号发生器的设计

4.1 虚拟信号发生器设计

4.1.1 虚拟信号发生器的工作原理

通过在图形化用户接口界面上(硬件面板)上键入信号幅值、频率以及选择生成的波形和窗函数。通过软件编程实现信号波形生成及频谱分析。

其设计的方法的基本思路:

1、设计一个图形化用户接口。

2、产生程序代码。

3、用功能面板插入相应函数,完成程序编制。

4、封装代码。

4.1.2信号的频谱分析

所谓信号的频谱分析就是指计算信号的傅里叶变换。连续信号与系统的傅里叶分析不便于直接用计算机进行计算,使其应用受到限制,而本设计用到的快速傅里叶变换(简称FFT )是一种时域和频域都是离散化的变换,适合数值运算,成为分析离散和系统的有力工具。对于连续信号可以通过时域采样,应用FFT 进行近似谱分析。

快速傅里叶变换是离散傅里叶变换DFT 的一种快速算法,由于有限长序列在其频域也可以离散化有限长序列(DFT ),因此离散傅里叶变换(DFT )在数字信息处理中是非常有用的。但是由于DFT 的计算量太大,即使采用计算机也很难对问题进行实时处理,而FFT 出现以后使DFT 的运算大大简化,如: 设x (n )为N 点有限长序列,其DFT 为

kn N N W n x k X ∑-=1

0)()(;

一般来说x (n )和 kn N W 都是复数,X (k )也是复数,因此每次计算一个X (k )

值,需要N 次复数乘法和N-1次复数加法,而X (k )一共有N 个点(k 从0取到N-1),故完成一次DFT 运算总共需要N 2复数乘法及N (N-1)次复数加法。这样运算就复杂了,计算所需的时间也会多一些。而采用DIT-FFT 算法(即时间抽取法)首先对时间进行奇偶分解,然后对频率进行前后分解

下面为以N=8点为例的FFT 的蝶形运算流图:

图4-1 N=8的快速傅里叶变换蝶形运算流图

当N=8时,流程图应有3级蝶形,每一级都有4个蝶形运算构成。因此每一级运算都需要4次复数乘和8次复数加。所以一次FFT总共需要复数乘12次,复数加24次复数加,而DFT要总共需要复数乘64次,复数加56次。故使用FFT 能大大减少运算量,减小了运算时间,能实时完成信号处理。

故本文基于labwindows/cvi的频谱显示是通过对一个时域信号一次进行滤波、加窗函数和快速傅里叶变换FFT并在波形图上进行显示生成的。

4.1.3仪器硬件面板设计

启动Labwindows/CVI 在设计面板之前先在File菜单中新建

Include(*.h)、Source(*.c)再新建User Interface(*.uir)面板。面板建好后开始创建控件。

1、创建控件及修改空间属性。

用户界面共12个控件,其中有两个 Graph控件、两个 Numeric Dial控件、两个Ring Slide控件、四个Command Button 控件、两个Ring控件。

其整体硬件面板如下图所示:

相关主题
文本预览
相关文档 最新文档