虚拟仪器研究生试题(1112-1).doc

上传人:M****1 文档编号:545127185 上传时间:2023-02-23 格式:DOC 页数:10 大小:332.51KB
返回 下载 相关 举报
虚拟仪器研究生试题(1112-1).doc_第1页
第1页 / 共10页
虚拟仪器研究生试题(1112-1).doc_第2页
第2页 / 共10页
虚拟仪器研究生试题(1112-1).doc_第3页
第3页 / 共10页
虚拟仪器研究生试题(1112-1).doc_第4页
第4页 / 共10页
虚拟仪器研究生试题(1112-1).doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《虚拟仪器研究生试题(1112-1).doc》由会员分享,可在线阅读,更多相关《虚拟仪器研究生试题(1112-1).doc(10页珍藏版)》请在金锄头文库上搜索。

1、光电学院 学 院形 式开 卷闭 卷10-11级研究生密编 号:考试日期: 月 日 印刷份数: 份 上 海 理 工 大 学研 究 生 试 题2011 /2012 学年第 1 学期课程名称: 虚拟与智能仪器技术 教 师 签 章: 年 月 日教研室主任审查意见: 签 章: 年 月 日1.试题原稿请于考试前2周送研究生部。2.编号栏由研究生部填写。共 页第 页上海理工大学研究生课程试题*注:考题全部写在框内,不要超出边界。内容一律用黑色墨水书写或计算机打印,以便复印。2011 /2012 学年第 1 学期 考试课程 虚拟与智能仪器技术 学 号 112260264 姓 名 凌 国 得 分 一命题一:基于

2、声卡的音频信号获取与分析系统1功能a)在LABVIEW环境中对声卡信号进行采集并进行测试分析。系统有以下三个测试功能。(1)音频信号的采集并实时显示(2)音频信号的实时存储(3)音频信号的频域分析并显示b)以上三个测试项在测试过程中连续进行,并且功能可选。c)系统具有独立的音频信号回放功能。2主要内容及要求(1)界面设计 A)主界面 主要包括以下模块: a)实时信号观察窗口b)时域观察窗口c)频域观察窗口B)声卡参数设置界面包括采样频率、采样精度(A/D位数)、声道选择(mono/stereo)。C)音频回放界面 可以设置启停和音量控制。(2)程序设计 根据多线程及模块化的结构设计Main V

3、I和Sub VI。二命题二:基于声卡的虚拟声控亮灯系统1功能a)在LABVIEW环境中对声卡信号进行采集并进行分析。系统有以下三个测试功能。(1)收集声音样本,设置不同的声音参数亮灯的方案。(2)设计系统中灯的个数及布局,可参考音乐喷泉的效果。(3)可选择输入声音文件,或者实时输入声音信号,根据设置的亮灯方案,声音信号实时控制亮灯。b)以上三个测试项在测试过程中要运行流畅。2主要内容及要求(1)界面设计 A)主界面 主要包括以下模块: a)输入信号选择模块b)美观的亮灯布局c)正常的界面控件B)声控参数设置界面(2)程序设计 根据多线程及模块化的结构设计Main VI和Sub VI。三成绩评定

4、 1.以上两个命题任选一题完成。 2.测试面试部分评分依据 1)合理的程序功能设计(30%)2)美观的程序界面设计 (20%)3)流畅的程序功能运行(30%)4)规范的设计说明书书写(20%)实验室只提供LABVIEW7.1版本软件进行调试。如使用高版本,面试的时候请自带电脑。面试的时候请同时带好纸质设计说明书。 3.考试材料提交1)提交纸质设计说明书一份(封面为该试卷)内容包括:(1)系统功能、系统整体设计的思想或设计方案、系统结构(硬件和软件)、设计方法、设计技巧、软件流程图等。(2)程序中为哪些控件创建了局部变量和属性节点?如何对它们进行操作?在程序中的作用是什么?(3)说明移位寄存器的

5、作用和工作原理。(4)程序中的顺序结构、选择结构、循环结构的作用是什么?2)程序代码打包上交(将设计说明书电子稿和源代码,放于一文件夹,文件夹命名为:学号+姓名,打包发至邮箱) 课程设计说明书基于声卡的音频信号获取与分析系统班 级: 测试计量技术及仪器 姓 名: 凌 国 学 号: 112260264 指导教师: 金晅宏 2011年11月一、 系统介绍1.系统功能a)在LABVIEW环境中对声卡信号进行采集并进行测试分析。系统有以下三个测试功能。(1)音频信号的采集并实时显示(2)音频信号的实时存储(3)音频信号的频域分析并显示b)以上三个测试项在测试过程中连续进行,并且功能可选。 c)系统具有

6、独立的音频信号回放功能。2.设计方案本次声卡的音频信息获取与分析的设计主要基于Labview7.1的软件应用平台。将整个程序分割成三大模块,即初试化操作、录音存储、录音文件回放。根据要求实现的测试功能,考虑每个模块所用的控件和function,还有注意对每个控件属性的设置,以完成基本功能。设计功能实现后,要在前面板对布局进行适当地调整,尽量做到美好和友好的界面。3.系统结构 a)硬件 本次声音采集系统设计使用的硬件主要由带声卡和声卡驱动的PC机以及带耳麦的耳机。声卡一般有line in和mic in两个信号输入插孔。由于mic in输入声音时,容易引入噪声和信号过负荷,一般使用line in输

7、入,其噪声干扰小且动态特性良好。Labview对声音采集的设置默认于其所处的操作系统,我们所使用的PC机一般为普通的声卡,对于高级的声卡采集信号时,要注意关闭如混响之类的一些特效,避免影响测量结果的真实性。 b)软件本次软件设计部分全部由Labview来完成和实现声音采集的功能。我们知道,Labview程序的前面板是一个交互式的用户界面,相当于真实物理测试仪器的仪器面板。本次程序的界面主要有三个部分组成,A)主界面主要包括时域观察窗口和频域观察窗口;B)声卡参数设置界面主要包括采样频率、采样精度(AD位数)、声道选择(monostereo);C)音频回放界面可以设置启停和音量控制。界面效果图如

8、下图显示。图1 界面图4.设计方法各个模块之间的互转用state machine实现。State machine主要有while循环、case语句和移位寄存器组成,当然一般还要配上自定义型枚举常量。利用状态机可以比较自由和系统地进行程序运行状态间的转换。本设计没有过多的运用子vi程序的调用,程序在回放的过程中调用了一个convert的子程序。主要是为了将录制的wav文件分割成很多段,每段的采样点可以由用户自定,但建议分割完成后的每段的采样点数不能太少。分割文件主要意图是为了想标记文件播放结束的时刻点,因为用户在播放操作中如果没有进行停播操作,那么文件播放结束后状态机的状态难以进行及时的转换,必

9、须等待用户去进行停播操作。既然找到了文件播放结束的时刻点,那么程序可以自行去调整按键的状态,以进行状态机运行状态的切换。在启动程序前可以设置相应的声卡参数也可以在启动程序后设置。为了满足不同数据的存储格式和性能要求,Labview提供了多种文件类型:文本文件、表单文件、二进制文件、数据记录文件、XML文件、配置文件、波形文件、基于文本的测量文件、数据存储文件等。在本次程序设计中,我们将声音输入格式设置为.wav声音数据保存文件,文件保存的默认名定为sound.wav,文件保存路径由用户自行指定,文件是否保存也有用户指定。声音数据保存文件设置好以后,就可以对声卡里面的声音进行相应的采集了。通过耳

10、麦,我们可以录制声音,也可以用播放器录制歌曲,在声音采集过程中,可以对声音数据进行实时显示和频域分析。由刚采集到的声音数据所在的指定路径,也可以对声音进行回放操作。如果用户忘记加载文件路径,系统会提示用户进行录音文件的加载。调节音量的控件可以帮助用户在播放声音文件时调节声音的大小,可以分别调节左声道和右声道的音量。系统设计过程中避免了一些误操作,比如播放文件时错误顺序操作会提示加载文件;执行各个模块功能时对一些不相关的模块中的控件按钮disable,使用户无法去点击。5.软件流程图部分程序框图如下图2 录音状态程序框图图3 回放状态程序框图软件流程图如下程序开始结束回放模块录音模块系统初始化设

11、置PC机声卡通道输入图4 主程序流程图声卡参数设置,打开声音保存路径对音频信号进行写输入程序结束识别声音输入设备,设置声音采样模式声音信号采集结束关闭声音保存文件,清除缓冲器里面的声音数据,系统返回默认设置值判断任务输入是否有错误以及停录按键来控制While Loop的启停利用While Loop添加移位寄存器以及对音频数据写操作来对声音信号进行采样 显示时域信号和由函数傅里叶变换得到音频的频域信号图5 录音模块流程图指定声音文件数据输入到设备程序初始化设置判断文件路径是否为空加载录音文件NY提示加载文件对路径里的声音文件进行读操作由while loop对输入的声音文件进行读取控制音量将读取的

12、声音数据输入到指定设备(耳机)本模块程序结束声音播放结束,关闭声音文件,清除缓冲器里面的声音数据,系统返回默认设置值对输入声音设置启停图6 回放模块流程图二附属说明1. 在本次的程序设计中,创建了一些布尔量的局部变量和属性节点,局部变量的设定是为了多次判断同一个布尔量值引发的不同操作和对布尔量值的改写,属性节点的作用大部分是为了避免产生误操作。比如说控件stop的局部变量每次运行系统时都会被赋值为false,是为了弹起stop控件,消除上次运行带来的影响,还有在初始化中判断了stop局部变量的值来是否结束运行;在初始化中属性节点的创建对控件进行enable,以及在不同模块中为了防止误操作而创建

13、是为了disable相应的控件,对tab控件的属性节点的创建是为了方便page select的自由切换。2. 移位寄存器是Labview中在循环结构中经常用到一种数据处理方式,即把第i次循环执行的结果作为第i1次循环的输入。移位寄存器中的数据直到关闭VI时才从内存中消除。如果没有初始化移位寄存器,就会导致在关闭VI之前前后两次运行VI的结果截然不同。因此必须初始化移位寄存器。本次程序设计中采用移位寄存器的目的是将声音数据连续不断的存储到声音保存路径和声音保存文件中去,以及对错误输出进行相应的处理。3. while loop、case结构主要构成machine state,sequence结构的应用更多的是为了时序的控制。各个模块程序中while loop来连续不断的采集声音数据以及播放声音数据,case语句来选择系统的各项功能实现。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号