虚拟仪器课程设计实验报告.docx
- 文档编号:6528750
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:20
- 大小:1.40MB
虚拟仪器课程设计实验报告.docx
《虚拟仪器课程设计实验报告.docx》由会员分享,可在线阅读,更多相关《虚拟仪器课程设计实验报告.docx(20页珍藏版)》请在冰豆网上搜索。
虚拟仪器课程设计实验报告
北京邮电大学课程设计报告
课程设计
名称
虚拟仪器课程设计
学院
自动化学院
指导教师
课
程
设
计
内
容
1.掌握虚拟仪器的概念和系统组成,虚拟仪器系统的基本设计思想。
2.认识虚拟仪器的软件开发工具LabVIEW及图形化编程语言。
3.掌握虚拟仪器软件的设计方法,能够运用LabVIEW进行数据操作、结构控制、文件读写、信号处理、数学分析、波形分析等。
4.独立完成第一阶段的20个虚拟仪器设计;
5.小组成员共同完成第二阶段虚拟仪器设计;
6.完成虚拟仪器课程设计实验报告。
学生
课程设计
报告
(附页)
课
程
设
计
成
绩
评
定
遵照实践教学大纲并根据以下四方面综合评定成绩:
1、课程设计目的任务明确,选题符合教学要求,份量及难易程度
2、团队分工是否恰当与合理
3、综合运用所学知识,提高分析问题、解决问题及实践动手能力的效果
4、是否认真、独立完成属于自己的课程设计内容,课程设计报告是否思路清晰、文字通顺、书写规范
评语:
成绩:
指导教师签名:
年月日
一.课程设计内容及目的:
1.掌握虚拟仪器的概念和系统组成,虚拟仪器系统的基本设计思想;
2.认识虚拟仪器的软件开发工具LabVIEW及图形化编程语言;
3.掌握虚拟仪器软件的设计方法,能够运用LabVIEW进行数据操作、结构控制、文件读写、信号处理、数学分析、波形分析等;
4.独立完成第一阶段的20个虚拟仪器设计;
5.小组成员共同完成第二阶段虚拟仪器设计;
6.完成虚拟仪器课程设计实验报告。
二.小组成员及分工:
组长:
王迪(2009211407班,学号09211870),主要负责第二阶段任务的主要设计工作,包括功能设计,程序编写等。
组员:
蒲瑞(2009211406班,学号09211847),主要负责第二阶段虚拟仪器设计的界面设计和优化。
周莹(2009211406班,学号09211860),主要负责第二阶段虚拟仪器设计的市场调研。
三.第一阶段设计任务:
1.设计任务概述:
通过20个简单的小设计,来熟悉LabVIEW的基本操作,了解图形化的编程语言与之前传统编程语言的区别,适应这种全新的编程方式,为第二阶段的设计任务打下基础。
2.第一阶段设计成果:
经过四天时间学习和设计,圆满完成了第一阶段的设计任务,每一个小设计均独立完成,具有个人特色,大部分设计在题目要求的基础上增加了额外功能。
由于篇幅有限,20个设计不再一一赘述,在此详细展示3个第一阶段的虚拟仪器设计。
1)第七题:
用for循环产生一个长度为5的随机数
设计思路:
可通过用一个循环五次的for循环,在每一次循环体中产生需要的5位随机数的一位。
具体实现方法为:
在循环体中产生一个0到10的随机整数(通过随机数控件乘以10再取整得到),乘以一个每次循环自乘10的变量(利用反馈节点可实现自乘),再将得到的结果在每一次循环中进行自加(利用反馈节点实现自加),即可得到需要的五位随机数。
需要注意的是最高位随机数需要进行判断,使其值不为0或10,以保证随机数的长度。
前面板图:
程序框图:
2)第十九题:
计算函数sin(3*x)*cos(3*y)的值并显示出函数曲线
设计思路:
利用公式求值控件可以很方便的计算二元函数值并将变量以向量的形式输出,同时本例还利用到三维曲面控件,产生精美的三维曲线图形。
在题目的基本要求的基础上,还增加了任意二元函数求值及其曲线绘制的功能。
本题综合运用了LabVIEW中数组、簇等特有的概念。
前面板图:
(参数设定)
(函数图象)
程序框图:
2)第二十题:
求解-x^3+y^3+3*x^2+3*y^2-9*y在区间x∈[-5,5],y∈[-5,5]上的极值
设计思路:
与第十九题类似,利用LabVIEW的求极值控件可以方便的达到基本要求。
因此,在基本要求的基础上,添加了任意二元函数在任意区间内求极值点以及极值的功能。
前面板:
程序框图:
3.第一阶段设计心得:
通过第一阶段几个小设计的制作,熟悉了LabViEW的使用方法及其仿真原理,适应了图形化编程的模式,同时对于如数组操作,开关控制,文件读写等等基本功能的实现有了较好的掌握,为第二阶段设计任务打下了基础。
三.第二阶段设计任务:
1.设计选题:
经过资料查阅以及市场调研,通过小组讨论,最终决定第二阶段选题为第八题“虚拟频谱分析仪”。
2.市场调研:
1)频谱分析仪简介
频谱分析仪是研究电信号频谱结构的仪器,用于信号失真度、调制度、谱纯度、频率稳定度和交调失真等信号参数的测量,可用以测量放大器和滤波器等电路系统的某些参数,是一种多用途的电子测量仪器。
它又可称为频域示波器、跟踪示波器、分析示波器、谐波分析器、频率特性分析仪或傅里叶分析仪等。
现代频谱分析仪能以模拟方式或数字方式显示分析结果,能分析1Hz以下的甚低频到亚毫米波段的全部无线电频段的电信号。
仪器内部若采用数字电路和微处理器,具有存储和运算功能;配置标准接口,就容易构成自动测试系统。
2)传统频谱分析仪
传统的频谱分析仪的前端电路是一定带宽内可调谐的接收机,输入信号经变频器变频后由低通滤器输出,滤波输出作为垂直分量,频率作为水平分量,在示波器屏幕上绘出坐标图,就是输入信号的频谱图。
由于变频器可以达到很宽的频率,例如30Hz-30GHz,与外部混频器配合,可扩展到100GHz以上,频谱分析仪是频率覆盖最宽的测量仪器之一。
无论测量连续信号或调制信号,频谱分析仪都是很理想的测量工具。
但是,传统的频谱分析仪也有明显的缺点,它只能测量频率的幅度,缺少相位信息,因此属于标量仪器而不是矢量仪器。
HP的早期频谱仪
3)现代频谱分析仪
基于快速傅里叶变换(FFT)的现代频谱分析仪,通过傅里叶运算将被测信号分解成分立的频率分量,达到与传统频谱分析仪同样的结果,。
这种新型的频谱分析仪采用数字方法直接由模拟/数字转换器(ADC)对输入信号取样,再经FFT处理后获得频谱分布图。
在这种频谱分析仪中,为获得良好的仪器线性度和高分辨率,对信号进行数据采集时ADC的取样率最少等于输入信号最高频率的两倍,亦即频率上限是100MHz的实时频谱分析仪需要ADC有200MS/S的取样率。
目前半导体工艺水平可制成分辨率8位和取样率4GS/S的ADC或者分辨率12位和取样率800MS/S的ADC,亦即,原理上仪器可达到2GHz的带宽,为了扩展频率上限,可在ADC前端增加下变频器,本振采用数字调谐振荡器。
这种混合式的频谱分析仪可扩展到几GHz以下的频段使用。
FFT的性能用取样点数和取样率来表征,例如用100KS/S的取样率对输入信号取样1024点,则最高输入频率是50KHz和分辨率是50Hz。
如果取样点数为2048点,则分辨率提高到25Hz。
由此可知,最高输人频率取决于取样率,分辨率取决于取样点数。
FFT运算时间与取样,点数成对数关系,频谱分析仪需要高频率、高分辨率和高速运算时,要选用高速的FFT硬件,或者相应的数字信号处理器(DSP)芯片。
例如,10MHz输入频率的1024点的运算时间80μs,而10KHz的1024点的运算时间变为64ms,1KHz的1024点的运算时间增加至640ms。
当运算时间超过200ms时,屏幕的反应变慢,不适于眼睛的观察,补救办法是减少取样点数,使运算时间降低至200ms以下。
4)技术指标
频谱分析仪的主要技术指标有频率范围、分辨率、分析谱宽、分析时间、扫频速度、灵敏度、显示方式和假响应。
频率范围
频谱分析仪进行正常工作的频率区间。
现代频谱仪的频率范围能从低于1赫直至300吉赫。
分辨力
频谱分析仪在显示器上能够区分最邻近的两条谱线之间频率间隔的能力,是频谱分析仪最重要的技术指标。
分辨力与滤波器型式、波形因数、带宽、本振稳定度、剩余调频和边带噪声等因素有关,扫频式频谱分析仪的分辨力还与扫描速度有关。
分辨带宽越窄越好。
现代频谱仪在高频段分辨力为10~100赫。
分析谱宽
又称频率跨度。
频谱分析仪在一次测量分析中能显示的频率范围,可等于或小于仪器的频率范围,通常是可调的。
分析时间
完成一次频谱分析所需的时间,它与分析谱宽和分辨力有密切关系。
对于实时式频谱分析仪,分析时间不能小于其最窄分辨带宽的倒数。
扫频速度
分析谱宽与分析时间之比,也就是扫频的本振频率变化速率。
灵敏度
频谱分析仪显示微弱信号的能力,受频谱仪内部噪声的限制,通常要求灵敏度越高越好。
动态范围指在显示器上可同时观测的最强信号与最弱信号之比。
现代频谱分析仪的动态范围可达80分贝。
显示方式
频谱分析仪显示的幅度与输入信号幅度之间的关系。
通常有线性显示、平方律显示和对数显示三种方式。
假响应
显示器上出现不应有的谱线。
这对超外差系统是不可避免的,应设法抑止到最小,现代频谱分析仪可做到小于-90分贝毫瓦。
6)虚拟仪器特点
虚拟仪器的最大特点是将计算机资源与仪器硬件、DSP技术相结合,在系统内共享软件硬件资源,打破了以往由厂家定义仪器功能的模式,由用户自己定义仪器功能。
在虚拟仪器中,使用相同的硬件系统,通过不同的软件编程,就可以实现功能完全不同的测量仪器。
传统仪器与虚拟仪器系统的比较
传统仪器
虚拟仪器系统
系统标准
仪器厂商定义
用户自定义
系统关键
硬件
软件
系统更改
仪器功能、规模固定
系统功能、规模可通过软件修改、增减
系统连接
系统封闭,与其他设备连接受限
开放的系统,可方便地与外设、网络及其他应用连接
价格
昂贵
低,可重复使用
技术更新周期
5—10年
1—2年
开发、维护更新
高
低
由此可见,虚拟仪器尽可能采用通用的硬件,各种仪器的差异主要是软件,同时能充分发挥计算机的能力,由强大的数据处理功能,可以创造出功能更强的“个性仪器”。
利用虚拟仪器技术,用户可定义自己的专用仪器系统,且功能灵活,易于构建,所以应用面极为广泛。
尤其在科研开发、检测计量、测量测控等领域更是不可多得的好工具。
它功能强大,可实现示波器、逻辑分析仪、频谱仪、信号发生器等多种普通仪器全部功能,配以专用探头和软件还可检测特定系统的参数,如汽车发动机参数、汽油标号、炉窑温度、血液脉搏波、心电参数等多种数据。
在工业控制领域,大部分闭环控制系统要求精确的采样,及时的数据处理和快速的数据传输。
虚拟仪器系统恰恰符合上述特点,十分适合测控一体化的设计。
在制造业,虚拟仪器的卓越计算能力和巨大数据吞吐能力使其在温控系统、在线监测系统、电力仪表系统、流程控制系统等工控领域发挥更大的作用。
当今社会信息技术的迅猛发展,无所不在的计算机应用为虚拟仪器的推广提供了良好的基础。
虚拟仪器适合于一切需要计算机辅助进行数据存储、数据处理、数据传输的计量场合。
进一步讲,一切计量系统,只要技术上可行,都可用虚拟仪器代替。
虚拟仪器强大的功能和价格优势,使得它在仪器计量领域具有很强的生命力和十分广阔的前景。
5)基于LabVIEW的虚拟频谱分析仪
LabVIEW是一种图形化的编程语言,集成了满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能,还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。
利用LabVIEW可以方便地建立各种虚拟仪器。
传统的频谱分析仪只能测量频率的幅度,缺少相位信息,因此属于标量仪器,而且体积庞大。
利用LabVIEW强大的虚拟仪器开发功能,可实现基于快速傅里叶变换(FFT)的现代频谱分析仪功能,采用数字方法直接由模拟/转换器(ADC)数字对输入信号取样,再经FFT处理后获得频谱图,可以解决传统频谱分析仪价格昂贵,携带不便等缺点。
同时基于LabVIEW的虚拟仪器配置灵活,可根据实际需要修改相应功能模块,并且能通过程序控制实现后续数据处理,完全适应实际需求,大大提高了效率。
3.设计思路:
结合市场调研结果,通过小组讨论,并根据LabVIEW编程特点,设计以下四大功能模块:
1)信号发生模块:
便于产生信号以供调试,并且能够产生多种波形,参数可调,根据实际需要,还可加入波形叠加,噪声等因素以便于模拟实际情况,充分调试性能。
2)数字滤波模块:
考虑到实际信号中必然存在各类杂波干扰,因此在频谱分析仪中应当加入滤波模块,滤去噪声,分析有效信号。
滤波器类型,实现方式等参数应当可调,以适应各种实际需求。
3)频域分析模块:
作为频谱分析仪的核心,应当能够实现信号的频域分析,同时各类参数应当可调以适应各种实际需求。
4)文件IO模块:
应当充分发挥虚拟仪器优势,实现信号的文件保存以及读取,便于进一步的分析。
此外,虚拟仪器因为没有了实际物料的制约,应当有非常友好的操作面板,可以简化实际仪器一些繁琐的操作,比传统仪器更加“人性化”和“智能化”。
4.程序流程图:
NY
YN
5.程序框图及说明:
限于篇幅,这里对程序框图进行分块说明。
1)信号发生模块:
如上图所示,信号发生模块的核心为LabVIEW中的“仿真信号“功能控件。
利用条件结构选框进行信号类型的选择,信号参数由输入控件给出;在最后的信号输出时,可根据信号选择单选框进行条件判定选择需要输出A路信号或B路信号或AB叠加信号。
可选的A,B信号类型包括:
正弦波、方波、三角波以及白噪声信号。
最终产生的输出信号接入滤波器模块。
2)虚拟数字滤波器模块
如上图所示,利用LabVIEW的数字滤波模块作为滤波器的核心,所有滤波器参数由输入界面给出,可通过单选框选择使用IIR或FIR滤波器实现滤波。
输入信号由前级的信号发生模块给出,输出信号可由一个滤波器开关控制,可以根据需要选择向后级输出滤波信号或原信号。
后级为频谱分析模块以及时域分析模块。
3)频谱分析模块:
如下图所示,频谱分析模块核心为LabVIEW的FFT变换控件,分别使用了FFT变换(幅值-相位)以及FFT变换(实部-虚部)两个空间,可分别对信号的频谱进行两种表示形式的分析。
所有参数均有用户给出,方便可调。
前级输入信号由滤波器模块给出,频谱分析输出信号接入显示模块呈现给用户。
4)时域分析模块:
如上图所示,时域分析利用LabVIEW自带的相关分析空间对前级滤波器模块输入信号进行时域分析,包括幅值与电平测量和信号的时间与瞬态特性两方面的测量。
总共提供了14个时域技术指标,可以满足不同的实际需要。
5)文件I/O系统:
如上图所示,包括读取文件和保存文件两个功能。
功能由按键启动,保存文件可以将当前波形保存到指定路径中;读取文件可以从指定路径中读取波形,并将该波形作为输入信号代替信号发生模块送入滤波器模块,供后续分析,以此实现了文件中波形的还原。
同时将保存文件与读取文件设为逻辑互斥的状态,防止了文件冲突。
6)波形显示系统:
如上图所示,波形通过四个LabVIEW波形图控件进行显示,分别显示输入信号、数字滤波信号以及两个信号源可选波形图。
下图为可选波形图的信号源控制模块:
通过下拉列表可以选择输入至波形图的信号源,可选则的信号源有FFT变换的实部、虚部、幅值、相位,满足不同的分析需求,自由组合显示模式,大大的方便了用户。
下图为波形图坐标轴控制模块,实现了通过滑块对波形图的坐标轴进行伸缩。
并且增加了条件判断,使得对于波形图不同的信号源可以产生不同的坐标轴量程。
7)错误处理模块:
以下各截图展示了程序中的错误处理模块,可以防止误操作造成虚拟仪器死机、崩溃等意外情况,大大增强了稳定性。
下图所示的条件判断组合实现了信号发生模块参数发生误输入时自动更改至有效值的功能。
8)程序框图整体缩略:
6、程序前面板:
7.心得体会:
经过三天的努力,最终圆满完成了第二阶段的设计任务。
通过这次虚拟频谱分析仪的设计,我充分理解了LabVIEW图形化编程语言的编程方法,同时也对信号与系统有了更进一步的理解。
在最后一天的编程工作进行时,曾经出现了LabVIEW程序崩溃,自动恢复失效的意外情况,由于个人疏忽导致了一天的工作量付之东流。
吸取了这个教训之后,在今后的类似设计任务中,将会加倍注意设计作品的及时保存问题。
与此同时,关于LabVIEW的编程,也收获了以下经验:
充分利用条件结构以及选项卡、下拉列表、单选框等控件,可以完美地实现各种逻辑构思以及对程序的完全控制;利用选项卡可以大大的节省前面板控件,在有限的位置中呈现更多的内容;利用while循环可以方便的实现程序的连续运行和开关控制;利用多重for循环和LabVIEW的索引功能可以方便的产生多重数组;利用LabVIEW的自带控件可以实现非常丰富的功能,并且可以快速的生成输入模块;充分使用属性节点可以调节一个控件中不能直接修改的属性,自由度非常高;使用不同类别下的控件可以有不同的视觉体验……
通过这次课程设计,再一次锻炼了自身的编程能力,也为今后的学习和工作夯实了基础。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 虚拟仪器 课程设计 实验 报告