




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕业论文-基于labview虚拟示波器 摘 要现代科技发展日新月异计算机尤其如此计算机强大的处理能力使得它成为一种很好的工具其应用范围也越来越广泛因此目前研制一种结构简单操作方便费用低的数字示波器是非常必要的声卡 ad 转换性能优越技术成熟配合labview强大的数据采集与处理功能可以构建性价比相当高的数据采集系统本文运用普通的计算机声卡代替商用数据采集卡设计了一种双通道数字存储示波器它具有16位的量化精度最高采样频率为4kh该系统能够正确采集声卡设计频率范围内的信号对w以上的信号能够通过设计的电路衰减到合适的范围对微伏级别的信号能放大直到示波器上看到清晰的信号虚拟数字存储示波器是虚拟仪器技术
2、的一种具体应用它将软件和虚拟仪器硬件紧密结合在一起在公用计算机上虚拟地实现了示波器的各种功能并进行了扩充虚拟数字存储示波器系统由信号采集信号处理和结果显示三大部分构成但是除了信号采集部分是由硬件实现之外其它两部分都是由软件实现我们所设计的虚拟数字存储示波器总体上包括数据采集波形运算波形存储回放以及滤波等模块组成它除了通用功能外又具有普通示波器所没有的许多优点如波形可以存储为数据文件以便进行永久保存随时调用数据进行波形实时显示成本低廉功能可根据应用的需要不断加强因而用声卡构建低成本的数据采集系统是切实可行的关键词声卡虚拟示波器 labviewabstractmodern science and
3、technology development changes with each new day computer especially so powerful computer processing capacity has made it an excellent tool and its application has become increasingly widespread therefore the current development of a low-cost digital oscilloscope which has a simple structure and ope
4、ration is very necessarysound card ad transformation performance is superior and the technology is mature it may construct the quite high cost performance data acquisition system this article designs a kind of dual-channel virtual digital-storage oscillograph it has 16 quantification precisions the
5、highest sampling frequency is 44khz this system can correctly gather the signal in the sound card design frequency range the signal above 50 volt can be attenuated to the appropriate scope by the design circuit the micro volt level signal can be enlarged until the clear signal on oscillographvirtual
6、 digital-storage oscillator graph is the real application of virtual instrument technology it integrates hardware with software together tightly and realizes all function of common oscillograph even extends it virtual digital-storage oscillograph system comprises signal acquisition signal processing
7、 and output display except signal acquisition is competed by hardware the others are realized by software virtual digital-storage oscillograph we designed consists of data acquisition waveform computer parameter measure and waveform storage and filter modules it has some merits which common oscillog
8、raph doesnt have such as saving waveform as permanence data using data at any moment real-time display and cost low and extending functions based on requirement of application thus constructing the low cost data acquisition system with the sound card is practical and feasiblekey wordsound card virtu
9、al oscillograph labview目录第1章 绪 论111虚拟仪器概述1com器的概念与特点112虚拟示波器的研究背景和意义2com波器的研究背景2com波器的研究意义213 labview概述3第2章 硬件系统功能设计421系统功能要422 硬件实现4com配置5com连接623 labview中有关声卡的函数介绍7com入函数7com出函数12com数16com数20第3章 声卡采集软件设计2231 软件设计22com 数据的采集25com 信号的分析31com 文件的重播3232系统调试37第4章 总结47参考文献48致 谢50附 录511外文资料译文512外文资料原文55第
10、1章 绪 论11虚拟仪器概述com器的概念与特点所谓的虚拟仪器就是利用高性能的模块化硬件结合高效灵活的软件来完成各种测试测量和自动化的应用灵活高效的软件能帮助用户创建完全自定义的用户界面模块化的硬件能方便地提供全方位的系统集成标准的软硬件平台能满足对同步和定时应用的需求与传统仪器相比虚拟仪器具有高效易用功能强大性价比高可操作性好等优点具体表现为1 智能化程度高处理能力强虚拟仪器的处理能力和智能化程度主要取决于仪器的软件水平用户完全可以根据实际应用需求将先进的信号处理算法人工智能技术和专家系统应用于仪器设计与集成从而将智能仪器水平提高到一个新的层次2 复用性强系统费用低采用虚拟仪器技术可以用相同
11、的基本硬件构建多种不同功能的测量系统这样形成的测量系统更灵活更高效更开放更便宜3 可操作性强灵活易用虚拟仪器面板可由用户定义针对不同的应用可以设计不同的操作界面计算机强大的多媒体处理能力使仪器操作变得更加直观简便易于理解此外测量完成后可以显示和打印所需的报表或曲线可以把测量数据存入数据库系统或通过网络进行数据共享12虚拟示波器的研究背景和意义com波器的研究背景传统台式示波器是由仪器厂家设计并定义好功能的一个封闭结构它有特定的输入输出接口和仪器操作面板具有波形显示参数测量等功能当要实现更多的测量功能时就要配置更多的仪器这给用户的使用带来诸多不便并且传统示波器的测量精度比较低无法满足高精度的测量
12、要求而且传统示波器缺乏相应的计算机接口配合数据采集及数据处理比较困难此外传统示波器体积相对庞大制造成本比较高这就增加了测量系统的开发成本随着计算机技术和测量技术的发展虚拟仪器技术得到飞快发展虚拟示波器系统也就应运而生虚拟示波器系统由用户定义仪器功能桌面整洁操作条理不但使测量人员从繁复的仪器堆中解放出来而且具有测量精度高测量速度快系统组建时间短可扩展性强技术更新快和仪器智能化等优点此外虚拟示波器系统开发成本低结合网络技术可以实现远程数据自动测量自动记录自动数据处理com波器的研究意义示波器信号发生器频谱分析仪是科研机关企业研发实验室大专院所的必备测量设备而虚拟示波器系统集成了示波器信号发生器和频
13、谱分析模块具有很大的应用价值主要为1 可以加强实验室技术基础建设同时虚拟示波器系统是计算机技术和测量技术的完美结合不仅提高实验仪器的技术含量还符合实验室仪器仪表现代化的教学要求2 缩短测量系统的开发时间虚拟示波器系统提供良好的性能扩展能力用户可以通过自定义模块快速开发出一整套测量系统提高系统的开发效率3 远程数据测量有的测量环境十分恶劣用传统仪器测量数据可能会使测量人员的人身安全受到威胁用虚拟示波器系统可以进行远程数据测量使测量人员远离危险环境4 仪器智能化虚拟示波器系统是计算机技术与测量技术的完美结合利用它可以实现24小时无人值守的参数测量数据分析数据存盘等功能为数据的实时测量提供保障13
14、labview概述labview是美国ni公司具有革命性的图形化虚拟仪器开发环境是业界领先的测试测量和控制系统的开发工具它内置信号采集测量分析与数据显示功能集开发调试运行于一体不仅提供了几乎所有经典的信号处理函数和大量现代的高级信号分析工具而且labview虚拟仪器程序 virtual instrument简称vi 可以非常容易的与各种数据采集硬件以太网系统无缝集成与各种主流的现场总线通信以及与大多数通用数据库链接 软件就是仪器反映了其虚拟仪器技术的本质特征声卡一般有line in和mic in两个信号输入插孔声音传感器 本文采用通用的麦克风 信号可通过这两个插孔连接到声卡若由mic in输入
15、由于有前置放大器容易引入噪声且会导致信号过负荷故推荐使用line in其噪声干扰小且动态特性良好声卡测量信号的引入应采用音频电缆或屏蔽电缆以降低噪声干扰若输入信号电平高于声卡所规定的最大输入电平则应在声卡输入插孔和被测信号之间配置一个衰减器将被测信号衰减至不大于声卡最大允许输入电平此外将声卡的line out端口接到耳机上还可以实时的监听声音信号labview对声音采集的设置默认于其所处的操作系统本文使用的是最普通的声卡对于高级的声卡采集信号时要注意关闭如混响之类的一些特效避免影响测量结果的真实性图2-1声卡的配置一般声卡主要用于输出声音输入部分可能没有处于正常的工作状态建议说先使用耳机和mi
16、c麦克风检查声卡的功能特别是输入功能录音功能是否正常如果不正常需要检查声卡的设置一般来说这里的设置有两层的含义首先是要配置所需的功能其次要保证已经配置的功能不处关闭静音状态下面介绍对line in和 mic in 的检查和设置如图2-1所示在选项菜单下选属性得到下半部分的对话框在此对话框上选择录音并配置列表中的选项即可注意图中的相关功能不在静音状态com连接硬件连接采用两种方法1一条一端是35mm插孔另外一端是鳄鱼夹的连接线2是一条双端均为35mm插孔的音频连接线为了测试声卡的频响特性可以使用测试线将声卡的输入与输出端连接起来形成一个闭合的环路连接时要注意区分mic in口与spk out口不
17、要把它们当作line in与line out接入如果测试输入信号则使用测试线把信号源连接到声卡输入端line in口如果测试输入信号就把该测试线连接到声卡输出端line out口可以使用坏的立体声耳机做一个双通道的输入线剪去耳机保留线和插头即可23 labview中有关声卡的函数介绍com入函数1si config声音输入设置1 功能该函数的主要功能是设置声卡中与数据采集有关的一些硬件参数如采样率数据格式缓冲区长度等声卡的采样率由内部时钟控制只有34种固定频率可选一般将采样率设置为44100hz 数据格式设置为16位字长缓冲区长度可取默认值为声音输入功能设置一个声音驱动当设置好了后你可以使用s
18、i start vi 和 si read vi从设备中获取声音2 端子介绍a device 端子是指在windows 200xntxp存取一个声音操作的一个输入安装设备驱动程序在通常情况下大部分用户会选0作为默认值这个值在mac os中可以被忽略这个值的取值范围是0到n-1其中n是指计算机的输入设备的个数值你可以利用统计功能接点库函数来查询出在计算机上的输入输出设备的数量和每一个设备的容量说明当录音时设置声音的立体声品质和每个采样频率和位数可以利用很多的计算机记忆b sound format 声音格式设置是专指如何设置声道数设置声音频率和设置声音位数是8位还是16位c buffer size缓
19、冲区大小是labview从设备中转换数据的内在的缓冲区的大小d error in端子是指表述一种错误条件即在这个vi或它的功能运行之前就发生的情况这个默认值是没有错误的如果一个错误在这个vi或它的功能运行之前就发生的话这个vi或它的功能就会将error in 的输入值传送到 error out端而且这个vi和它的功能通常只是在它运行之前就无错误的条件下才运行如果一个错误是在这个vi正在运行过程中发生时那么它将会正常地运行并且在error out端设置它自己的带有错误的情形我们可以利用简单错误处理器或常用错误处理器虚拟模块来显示这些误差代码总之error in 和error out可以核对错误并
20、且可以指定执行命令即通过从一个error out 代码到下一个error in代码间连线来完成e task id out 是指返回一个在指定的device端与构造相联合的辨认号码它可以应用到其他的声音输出的vi操作中f error out 它包括的是错误的信息即如果在error in端指示的是在这个vi或其功能运行前就有错误发生那么这时error out 也包含同样的错误信息否则它将表述的是这个vi和其功能产生的错误状况右击面板上的error out指示按钮并且选择explain error解释错误就可以从快捷菜单中得到更多的有关这个错误的信息2si start输入声音的开始1 功能该函数用于
21、通知声卡开始采集外部数据采集到的数据会被暂存在缓冲区中这一过程无需程序干预由声卡硬件使用dma直接完成保证了采集过程的连续性命令声音驱动开始堆积采集进来的数据如果驱动已经运行了命令这个vi不要起作用2 端子介绍a task id in 是指从你想操作或输入的已设置的设备中的声音操作你可以用so config vi声音设置vi来产生task id in b error in端子是指表述一种错误条件即在这个vi或它的功能运行之前就发生的情况这个默认值是没有错误的如果一个错误在这个vi或它的功能运行之前就发生的话这个vi或它的功能就会将error in 的输入值传送到 error out端而且这个v
22、i和它的功能通常只是在它运行之前就无错误的条件下才运行如果一个错误是在这个vi正在运行过程中发生时那么它将会正常地运行并且在error out端设置它自己的带有错误的情形我们可以利用简单错误处理器或常用错误处理器虚拟模块来显示这些误差代码总之error in 和error out可以核对错误并且可以指定执行命令即通过从一个error out 代码到下一个error in代码间连线来完成c task id out是指操作声音最初传到task id in 的参数的运行d error out 它包括的是错误的信息即如果在error in端指示的是在这个vi或其功能运行前就有错误发生那么这时error
23、 out 也包含同样的错误信息否则它将表述的是这个vi和其功能产生的错误状况右击面板上的error out指示按钮并且选择explain error解释错误就可以从快捷菜单中得到更多的有关这个错误的信息 3 si read输入声音的读入1 功能该函数用于等待采样数据缓冲区满的消息当产生这一消息时它将数据缓冲区的内容读取到用户程序的数组中产生一个采样数据集和若计算机速度不够快使得缓冲区的内容被覆盖则会产生一个错误信息这时应调节缓冲区的大小在采样时间与数据读取之间找到一个理想的平衡点从声音输入驱动中读取数据当数据到达驱动的缓冲区时数据缓冲后将获得数据否则等待数据的到来假如因为一些原因未缓冲的数据被
24、写入将没有数据获得替代一个溢出的错误被报告2 端子介绍a task id in 是指从你想操作或输入的已设置的设备中的声音操作你可以用so config vi声音设置vi来产生task id in b error in端子是指表述一种错误条件即在这个vi或它的功能运行之前就发生的情况这个默认值是没有错误的如果一个错误在这个vi或它的功能运行之前就发生的话这个vi或它的功能就会将error in 的输入值传送到 error out端而且这个vi和它的功能通常只是在它运行之前就无错误的条件下才运行如果一个错误是在这个vi正在运行过程中发生时那么它将会正常地运行并且在error out端设置它自己的
25、带有错误的情形我们可以利用简单错误处理器或常用错误处理器虚拟模块来显示这些误差代码总之error in 和error out可以核对错误并且可以指定执行命令即通过从一个error out 代码到下一个error in代码间连线来完成c mono 16-bit单声道16位是指如果声音格式设定的是16位单声道数据就写入任意的16位单声道声音数据给计算机内部的磁盘缓冲区否则这个输入就是无效的d mono 8-bit单声道8位是指如果声音格式设定的是8位单声道数据就写入任意的8位单声道声音数据给计算机内部的磁盘缓冲区否则这个输入就是无效的e task id in是指根据你想要操作或输入的声音应用设备你
26、可以利用so config vi声音配置vi来设定task id inf eerror out 它包括的是错误的信息即如果在error in端指示的是在这个vi或其功能运行前就有错误发生那么这时error out 也包含同样的错误信息否则它将表述的是这个vi和其功能产生的错误状况右击面板上的error out指示按钮并且选择explain error解释错误就可以从快捷菜单中得到更多的有关这个错误的信息g stereo 8-bit立体声8位是指如果sound format声音格式设置的是立体声8位数据的话它将给计算机内部磁盘缓冲区写入一个8位的立体声声音否则这个输入设备就被忽略h stereo
27、 16-bit立体声16位是指如果sound format声音格式设置的是立体声16位数据的话它将给计算机内部磁盘缓冲区写入一个16位的立体声声音否则这个输入设备就被忽略 4 si stop输入声音的停止1 功能该函数用于通知声卡停止采集外部数据已采集而未被读出的数据就会留在缓冲区中可以使用si read 函数一次读完命令声音输入驱动停止堆积采集进来的数据采集到的数据存储在系统的缓冲器中并且数据能用si read vi收集到如果驱动不再运行命令这个vi不要作用2 端子介绍a task id in 是指从你想操作或输入的已设置的设备中的声音操作你可以用so config vi声音设置vi来产生t
28、ask id in b error in端子是指表述一种错误条件即在这个vi或它的功能运行之前就发生的情况这个默认值是没有错误的如果一个错误在这个vi或它的功能运行之前就发生的话这个vi或它的功能就会将error in 的输入值传送到 error out端而且这个vi和它的功能通常只是在它运行之前就无错误的条件下才运行如果一个错误是在这个vi正在运行过程中发生时那么它将会正常地运行并且在error out端设置它自己的带有错误的情形我们可以利用简单错误处理器或常用错误处理器虚拟模块来显示这些误差代码总之error in 和error out可以核对错误并且可以指定执行命令即通过从一个error
29、 out 代码到下一个error in代码间连线来完成c task id out是指操作声音最初传到task id in 的参数的运行d error out 它包括的是错误的信息即如果在error in端指示的是在这个vi或其功能运行前就有错误发生那么这时error out 也包含同样的错误信息否则它将表述的是这个vi和其功能产生的错误状况右击面板上的error out指示按钮并且选择explain error解释错误就可以从快捷菜单中得到更多的有关这个错误的信息由上面的介绍可以看出使用labview构建基于声卡的虚拟仪器思路是相当清晰的实际的数据采集流程如图这个流程与一般的数据采集卡无多大的
30、差别 5 si clear输入声音的清除1 功能该函数用于完成最终的清理工作例如关闭声卡采样通道释放请求的一系列系统资源包括dma 缓冲区内存 声卡等关闭声音输入驱动联合task id in和释放驱动使用的计算机系统得所有资源2 端子介绍a task id in 是指从你想操作或输入的已设置的设备中的声音操作你可以用so config vi声音设置vi来产生task id in b error in端子是指表述一种错误条件即在这个vi或它的功能运行之前就发生的情况这个默认值是没有错误的如果一个错误在这个vi或它的功能运行之前就发生的话这个vi或它的功能就会将error in 的输入值传送到 e
31、rror out端而且这个vi和它的功能通常只是在它运行之前就无错误的条件下才运行如果一个错误是在这个vi正在运行过程中发生时那么它将会正常地运行并且在error out端设置它自己的带有错误的情形我们可以利用简单错误处理器或常用错误处理器虚拟模块来显示这些误差代码总之error in 和error out可以核对错误并且可以指定执行命令即通过从一个error out 代码到下一个error in代码间连线来完成c error out 它包括的是错误的信息即如果在error in端指示的是在这个vi或其功能运行前就有错误发生那么这时error out 也包含同样的错误信息否则它将表述的是这个v
32、i和其功能产生的错误状况右击面板上的error out指示按钮并且选择explain error解释错误就可以从快捷菜单中得到更多的有关这个错误的信息com出函数 1 so config声音输出设置 1 功能设置一个声音输出设备并且开创一个声音id输出任务在你利用这个vi来配置这个声音设备后这个设备就将存在于暂停模式中你也可以利用so write 声音输出写入和so start 声音输出开始vi虚拟模块来完成这个数据的应用程序2 端子介绍a device 端子是指在windows 2000ntxp存取一个声音操作的一个输入安装设备驱动程序在通常情况下大部分用户会选0作为默认值这个值在mac o
33、s中可以被忽略这个值的取值范围是0到n-1其中n是指计算机的输入设备的个数值你可以利用统计功能接点库函数来查询出在计算机上的输入输出设备的数量和每一个设备的容量说明当录音时设置声音的立体声品质和每个采样频率和位数可以利用很多的计算机记忆b sound format 声音格式设置是专指如何设置声道数设置声音频率和设置声音位数是8位还是16位c error in端子是指表述一种错误条件即在这个vi或它的功能运行之前就发生的情况这个默认值是没有错误的如果一个错误在这个vi或它的功能运行之前就发生的话这个vi或它的功能就会将error in 的输入值传送到 error out端而且这个vi和它的功能通
34、常只是在它运行之前就无错误的条件下才运行如果一个错误是在这个vi正在运行过程中发生时那么它将会正常地运行并且在error out端设置它自己的带有错误的情形我们可以利用简单错误处理器或常用错误处理器虚拟模块来显示这些误差代码总之error in 和error out可以核对错误并且可以指定执行命令即通过从一个error out 代码到下一个error in代码间连线来完成d task id out 是指返回一个在指定的device端与构造相联合的辨认号码它可以应用到其他的声音输出的vi操作中e error out 它包括的是错误的信息即如果在error in端指示的是在这个vi或其功能运行前就
35、有错误发生那么这时error out 也包含同样的错误信息否则它将表述的是这个vi和其功能产生的错误状况右击面板上的error out指示按钮并且选择explain error解释错误就可以从快捷菜单中得到更多的有关这个错误的信息 2 so write输出声音的写入1 功能需要联合task id in向声音输出设备写入数据如果这个设备已经开始运行则数据会立刻转移到缓冲器中如果设备正处于暂停状态则数据不会开始转移直到so start声音输出开始键开始运行为止2 端子介绍mono 16-bit单声道16位是指如果声音格式设定的是16位单声道数据就写入任意的16位单声道声音数据给计算机内部的磁盘缓冲
36、区否则这个输入就是无效的mono 8-bit单声道8位是指如果声音格式设定的是8位单声道数据就写入任意的8位单声道声音数据给计算机内部的磁盘缓冲区否则这个输入就是无效的task id in是指根据你想要操作或输入的声音应用设备你可以利用so config vi声音配置vi来设定task id ind error in端子是指表述一种错误条件即在这个vi或它的功能运行之前就发生的情况这个默认值是没有错误的如果一个错误在这个vi或它的功能运行之前就发生的话这个vi或它的功能就会将error in 的输入值传送到 error out端而且这个vi和它的功能通常只是在它运行之前就无错误的条件下才运行如
37、果一个错误是在这个vi正在运行过程中发生时那么它将会正常地运行并且在error out端设置它自己的带有错误的情形我们可以利用简单错误处理器或常用错误处理器虚拟模块来显示这些误差代码总之error in 和error out可以核对错误并且可以指定执行命令即通过从一个error out 代码到下一个error in代码间连线来完成f stereo 16-bit立体声16位是指如果sound format声音格式设置的是立体声16位数据的话它将给计算机内部磁盘缓冲区写入一个16位的立体声声音否则这个输入设备就被忽略g task id out是指操作声音最初传到task id in 的参数的运行h
38、 error out 它包括的是错误的信息即如果在error in端指示的是在这个vi或其功能运行前就有错误发生那么这时error out 也包含同样的错误信息否则它将表述的是这个vi和其功能产生的错误状况右击面板上的error out指示按钮并且选择explain error解释错误就可以从快捷菜单中得到更多的有关这个错误的信息 3 so pause输出声音的暂停1 功能要暂停一个声音输出设备需要联合task id in端子的设置如果这个设备正处于暂停模式中我们则叫这个vi不工作当你用这个vi时将没有数据丢失并且这个正确的位置将会被保存这时我们要用so start vi输出声音开始模块来再次
39、启动输出mac os这个vi则可能不可以立刻停止声音的录入2 端子介绍a task id in 是指从你想操作或输入的已设置的设备中的声音操作你可以用so config vi声音设置vi来产生task id in b error in端子是指表述一种错误条件即在这个vi或它的功能运行之前就发生的情况这个默认值是没有错误的如果一个错误在这个vi或它的功能运行之前就发生的话这个vi或它的功能就会将error in 的输入值传送到 error out端而且这个vi和它的功能通常只是在它运行之前就无错误的条件下才运行如果一个错误是在这个vi正在运行过程中发生时那么它将会正常地运行并且在error ou
40、t端设置它自己的带有错误的情形我们可以利用简单错误处理器或常用错误处理器虚拟模块来显示这些误差代码总之error in 和error out可以核对错误并且可以指定执行命令即通过从一个error out 代码到下一个error in代码间连线来完成c task id out是指操作声音最初传到task id in 的参数的运行d error out 它包括的是错误的信息即如果在error in端指示的是在这个vi或其功能运行前就有错误发生那么这时error out 也包含同样的错误信息否则它将表述的是这个vi和其功能产生的错误状况右击面板上的error out指示按钮并且选择explain e
41、rror解释错误就可以从快捷菜单中得到更多的有关这个错误的信息 4 so clear输出声音的清除1 功能关闭输出声音设备与task id in端子相关联并且任何设备运用的资源要释放都必须送到计算机系统中去2 端子介绍a task id in 是指从你想操作或输入的已设置的设备中的声音操作你可以用so config vi声音设置vi来产生task id in b error in端子是指表述一种错误条件即在这个vi或它的功能运行之前就发生的情况这个默认值是没有错误的如果一个错误在这个vi或它的功能运行之前就发生的话这个vi或它的功能就会将error in 的输入值传送到 error out端而
42、且这个vi和它的功能通常只是在它运行之前就无错误的条件下才运行如果一个错误是在这个vi正在运行过程中发生时那么它将会正常地运行并且在error out端设置它自己的带有错误的情形我们可以利用简单错误处理器或常用错误处理器虚拟模块来显示这些误差代码总之error in 和error out可以核对错误并且可以指定执行命令即通过从一个error out 代码到下一个error in代码间连线来完成由上面的介绍可以看出使用labview构建基于声卡的虚拟仪器思路是相当清晰的实际的数据采集流程如图通过使用so vi 完成对数据的播放com数 1 butterworth filter巴特沃思滤波器模块1
43、功能通过利用butterworth coefficients vi来生成数字滤波功能2端子介绍a filter type滤波类型是通过滤波的通频带来划分的0低通1高通2带通3带阻b sampling freq fs是指采样频率并且必须比0大它的默认值是10如果它比0小或者等于0则这个vi将会设置滤波x为空值或者返回一个错误信息c high cutoff freq fh就是指高切割频率当滤波类型为0或1时这个vi忽略了这个参数当滤波类型为2或3时high cutoff freq fh必须比低切割频率low cutoff freq fl并且测试nyquist criteriond low cuto
44、ff freq fl是指低切割频率而且必须测试nyquist criterion它的默认值是0125如果low cutoff freq fl比0小或者等于0或者比sampling freq fs值的一半大的话这个vi虚拟模块将会设置滤波x为空值或者返回一个错误信息当滤波类型是2或3时low cutoff freq fl必须比high cutoff freq fh小e order序列设定滤波序列并且必须比0大它的默认值是2如果序列是比0小或者等于0时这个vi将会设置滤波x为空值或者繁华一个错误信息f initcont控制内状态的初始化这个默认值是错的当initcont是错时这个内状态已初始化为0
45、当initcont是真时则内部滤波状态将会初始化为终滤波状态从原始的命令到这个vi要求过滤一个大的数字信号序列已经分离成小的模块将会设置第一个模块控制为假并且把所有保持模块的连续滤波设置为真g error是返回错误或从这个vi中的提出的警告信息你可以将这个错误发送到error cluster from error code vi来转换这个错误代码或者是将警告转换为错误串2 scaled time domain window多极时域窗口1功能将时域信号应用于选择的窗口选择0uniformu不变窗1hanning汉宁窗2hamming海明窗3blackman-harris布莱克曼哈里斯窗4exac
46、t blackman准确的布莱克曼窗5blackman布莱克曼窗6flat top 水平顶窗7four term blackman-harris四组布莱克曼哈里斯窗8seven term blackman-harris七组布莱克曼哈里斯窗9low sidelobe低斜窗2端子介绍a waveform波形就是时域信号b window窗口就是指被运用的时域窗口c windowed waveform加窗波形是时域信号与多极窗口的乘积d window constants窗口常数包括所有被选择窗口的窗口常数它的默认值被设置为统一窗口的值3auto power spectrum自动功率谱分析模块1功能计算
47、单极性多极性时域信号的功率谱分析2端子介绍a signal信号通常是指在伏特范围内的输入的时域信号b dt是指时域信号的样本周期通常是一秒为单位dt也可以代表fs时域信号的采样频率c power spectrum 功率谱是指与伏特为单位相一致的单极性功率谱如果输入信号是以伏特为单位的话相反如果输入信号不是以伏特为单位的话则结果将是输入信号单位将是赫兹d df是指功率谱中的频率间隔以赫兹为单位如果dt是以秒为单位的功率谱分析具体信息这个vi虚拟模块是利用下面的公式来计算分析功率谱的其中n是这个信号序列中采点的数量而表示的是复杂的变化这个vi然后将回把这个功率谱转换为一个单极性的功率谱 4powe
48、r frequency estimate频率峰值分析1功能计算一个时域信号频谱中估计的频率峰值2端子介绍a power spectrum是指时域信号的功率谱power spectrum是auto power spectrumvi功率谱分析模块的输出b peak frequency是指你想测试的频率和功率的峰值的频率通常是以赫兹为单位它的默认值是-1如果你没有输入这个参数的话这个vi将会自动地在功率谱中寻找最大的峰值并且测试它的频率和功率c window constants包含窗口也就是被用作计算功率谱的窗口常数它的默认值的目的是设置相同窗口的窗口常数window constants通常是sca
49、led time domain window vi多极时域窗口vi的输出d df是指输入原始信号频谱中的行周期频率间隔它的默认值是10当你需要用谱线密度信息输出公式时你将需要这个输入e span是指包括在频率和功率测试中峰值频谱线的数量它的默认值是7这意味着在三频率线中的功率在峰值频率线和频率线出现之前并且三频率线在所有测试中所包含的峰值它是适合大多数窗口的f est frequency peak是指在输入的功率频谱中被估计的频率 est frequency peak是用公式j i span2 i span2来计算的而其中i 峰值指数power spectrum j 二进制的j值的功率而df
50、频率宽度g est power peak是指输入功率频谱中的峰值的被测功率est power peak是用这个公式来计算的其中j i span2 i span2其中i 峰值指数power spectrum j 二进制的j值的功率而 enbw 相同噪音窗口的宽度频率峰值分析具体信息用功率和频率频谱分析vi可以获得很好的频率测试对于需要测量的频率那是存在于频谱中处于频率线中的这个功率和频率频谱分析vi是为了窗口功能服务的com数 1simple error handler简单错误处理器1 功能它主要是指示是否有错误发生如果一个错误发生这个vi将会获得这个错误的一个描述并且会随意地显示一个对话框这个
51、vi叫做通用错误处理器并且它包括作为通用错误处理器的相同的基础功能除了少许选项2 端子介绍a error code 是指数字的错误代码如果error in显示有一个错误那么这个vi将会忽略这个错误代码如果不是的话这个vi将会去测试它一个非零值就意味着有错误你可以设定一个错误常数警报给这个输入端子b error source 是一个潜在的串代码你可以用它来描述这个错误代码的来源c type of dialog 对话框类型它是指如果可能的话用来描述用来显示的对话框的类型不管它的值是多少这个vi将会输出这个错误的信息并且通知描述这个错误d error in 描述的是在这个功能实行之前错误情况就发生了
52、e error 意味着是否有错误发生如果这个vi发现了错误那么它将会在这个错误串中设定相关参数code out就是显示通过error in 和error code所取得的错误代码source out描述的就是这个错误的源而这个串source out是一个比在error in中的source 串还有具体的叙述语句eerror out 它包括的是错误的信息即如果在error in端指示的是在这个vi或其功能运行前就有错误发生那么这时error out 也包含同样的错误信息否则它将表述的是这个vi和其功能产生的错误状况右击面板上的error out指示按钮并且选择explain error解释错误就
53、可以从快捷菜单中得到更多的有关这个错误的信息f message 信息描述的是那些已经发生的错误代码这个错误的源以及这个错误的描述如果这个vi不能够返回这个错误的描述你可以采取其他的办法来找到这个错误代码的表述如果存在许多相同的错误代码那么这个vi将会分开地显示所有的这些表述第3章 声卡采集软件设计31 软件设计软件设计由两部分组成前面板和流程图在前面板输入用输入控件 control 来实现程序运行的结果由输出控件 indicator 来完成流程图是完成程序功能的图形化源代码通过它对信号数据的输入和输出进行指定完成对信号采集及分析处理功能的控制图3-1录音程序模块用户界面下图3-2为用户使用界面
54、点击录音程序模块键和回放wav文件模块键完成对不同功能的选择在程序框图在中使用一个case结构用该控制键作为case结构的控制端子图3-2 回放wav文件程序模块用户界面录音程序模块的界面分为参数设置信号实时分析保存声音及波形分析显示几个部分参数设置设置录入声音的格式例如声音的品质等信号实时分析可以进行窗函数的选择及功率和频率峰值的显示保存声音完成数据采集时的开始暂停停止及存盘功能波形显示将各种分析过后的波形显示出来如滤波加窗功率谱分析回放wav文件程序模块分为信号实时分析参数完成对加窗函数的选择以及功率和频率峰值的显示播放的wav文件的信息显示文件的基本属性如声音的品质采样频率位数文件的大小
55、等wav文件播放控制完成播放的开始暂停停止功能com 数据的采集图3-3为数据采集的工作过程流程图首先使用si config vi完成对声卡及数据采集的设置该函数的主要功能是设置声卡中与数据采集有关的一些硬件参数如采样率数据格式缓冲区长度等声卡的采样率由内部时钟控制只有34种固定频率可选一般将采样率设置为44100hz数据格式设置为16位字长缓冲区长度可取默认值使用si start vi 该函数用于通知声卡开始采集外部数据采集到的数据会被暂存在缓冲区中这一过程无需程序干预由声卡硬件使用dma直接完成保证了采集过程的连续性使用si read vi 该函数用于等待采样数据缓冲区满的消息当产生这一消
56、息时它将数据缓冲区的内容读取到用户程序的数组中产生一个采样数据集合若计算机速度不够快使得缓冲区的内容被覆盖则会产生一个错误信息这时应调节缓冲区的大小在采样时间与数据读取之间找到一个理想的平衡点si stop vi该函数通知声卡停止采集外部数据已采集而未被读出的数据就会留在缓冲区中可以使用si read 函数一次读完命令声音输入驱动停止堆积采集进来的数据采集到的数据存储在系统的缓冲器中并且数据能用si read vi收集到使用si clear vi该函数完成最终的清理工作例如关闭声卡采样通道释放请求的一系列系统资源包括dma 缓冲区内存 声卡等关闭声音输入驱动联合task id in和释放驱动使
57、用的计算机系统得所有资源3-4数据的采集保存模块1 声音格式的设置和缓冲区域的设置功能的实现使用si config vi 开始配置声卡和数据采集使用sound format 函数连接si config vi的sound format设置录入声音的格式前面板所对应的控制选项如图可以设置声音的质量为mono 单声道或者stereo立体声rate 频率 可以选择的频率为8000 11025 22050 44100采样位数与之对应框图程序的sound format函数如下图使用一个常数选择节点连接si config vi的buffer size 设置缓冲区的大小一般的声卡的缓冲区的大小为8k即8192
58、byt对应如用户界面的参数设置选项2 开始记录功能的实现通过这个vi 完成声音转换通过声卡转换成数字数据的过程在si config vi后使用一个si star vi进行数据的堆积在两个vi中之间使用一个while循环完成开始记录的功能的设定具体工作过程式在这个while循环中通过前面板的录音按钮与之在程序框图中对应的布尔控制函数的真值控制record节点完成循环条件输入当录音按下时record的值为true 图3-5 条件为true 当为false时即pause未被按下由pause 键作为端子输入的case结构内为空数据直接流过该结构图3-6 条件为false 4停止功能的实现在数据从前一个case结构流出流向si read vi之前使用一个由sto
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东“百万英才汇南粤”大亚湾开发区招聘公办学校教师358人模拟试卷及完整答案详解1套
- 2025国家统计局兴仁调查队招聘村级劳动保障协管员模拟试卷及答案详解(网校专用)
- 2025内蒙古锡林郭勒盟锡盟文体局招募公共服务文化人才志愿者1名考前自测高频考点模拟试题及答案详解(必刷)
- 2025广东广州航海学院广州交通大学(筹)招聘高层次人才(学科领军人才)15人模拟试卷及答案详解(必刷)
- 2025内蒙古民航机场集团有限公司招聘模拟试卷及完整答案详解1套
- 2025江苏常州经济开发区招聘村人员12人考前自测高频考点模拟试题附答案详解(典型题)
- 2025年文化创意园区项目发展计划
- 2025湖南岳阳市屈原管理区凤凰乡人民政府公益性岗位招聘模拟试卷有完整答案详解
- 2025年杭州拱墅区长庆潮鸣街道社区卫生服务中心招聘编外聘用人员1人考前自测高频考点模拟试题及1套参考答案详解
- 2025辽宁省检验检测认证中心招聘5人考前自测高频考点模拟试题附答案详解(突破训练)
- 湘潭钢铁集团有限公司2026届校园操作类招聘备考考试题库附答案解析
- 合肥市社会化工会工作者招聘考试真题2024
- 恐龙妈妈藏蛋课件
- 演讲与朗诵教学课件
- 《中国急性肾损伤临床实践指南(2023版)-》解读
- 弗洛伊德课件
- 《CSCO乳腺癌诊疗指南2025》更新要点解读
- 2025年教师师德师风考试题(附答案)
- 贵妃生态农业有限公司企业策划书
- 学堂在线 战场侦察监视技术与装备 章节测试答案
- 智慧产业园区AI大模型数字化平台建设方案
评论
0/150
提交评论