基于Labview的声卡开发教程——陈映纯(共17页)

上传人:vc****3p 文档编号:48034633 上传时间:2021-12-30 格式:DOCX 页数:17 大小:1.16MB
收藏 版权申诉 举报 下载
基于Labview的声卡开发教程——陈映纯(共17页)_第1页
第1页 / 共17页
基于Labview的声卡开发教程——陈映纯(共17页)_第2页
第2页 / 共17页
基于Labview的声卡开发教程——陈映纯(共17页)_第3页
第3页 / 共17页
资源描述:

《基于Labview的声卡开发教程——陈映纯(共17页)》由会员分享,可在线阅读,更多相关《基于Labview的声卡开发教程——陈映纯(共17页)(17页珍藏版)》请在装配图网上搜索。

1、精选优质文档-倾情为你奉上基于LabVIEW的声卡数据采集系统的开发教程在虚拟仪器系统中,信号的输入环节一般采用数据采集卡实现。商用的数据采集卡具有完整的数据采集电路和计算机借口电路,但一般比较昂贵,计算机自带声卡是一个优秀的数据采集系统,它具有A/D和D/A转换功能,不仅价格低廉,而且兼容性好、性能稳定、通用性强,软件特别是驱动程序升级方便。如被测对象的频率在音频范围内,同时对采样频率要求不是太高,则可考虑利用声卡构建一个数据采集系统。1. 从数据采集的角度看声卡1.1声卡的作用从数据采集的角度来看,声卡是一种音频范围内的数据采集卡,是计算机与外部的模拟量环境联系的重要途径。声卡的主要功能包

2、括录制与播放、编辑和处理、MIDI接口三个部分。1.2声卡的硬件结构图1是一个声卡的硬件结构示意图。一般声卡有45个对外接口。图1 声卡的硬件结构示意图声卡一般有Line In 和Mic In 两个信号输入,其中Line In为双通道输入,Mic In仅作为单通道输入。后者可以接入较弱信号,幅值大约为0.020.2V。声音传感器(采用通用的麦克风)信号可通过这个插孔连接到声卡。若由Mic In 输入,由于有前置放大器,容易引入噪声且会导致信号过负荷,故推荐使用Line In ,其噪声干扰小且动态特性良好,可接入幅值约不超过1.5V的信号。另外,输出接口有2个,分别是Wave Out和SPK O

3、ut。Wave Out(或Line Out)给出的信号没有经过放大,需要外接功率放大器,例如可以接到有源音箱;SPK Out给出的信号是通过功率放大的信号,可以直接接到喇叭上。这些接口可以用来作为双通道信号发生器的输出。1.3声卡的工作原理声音的本质是一种波,表现为振幅、频率、相位等物理量的连续性变化。声卡作为语音信号与计算机的通用接口,其主要功能就是将所获取的模拟音频信号转换为数字信号,经过DSP音效芯片的处理,将该数字信号转换为模拟信号输出。输入时,麦克风或线路输入(Line In)获取的音频信号通过A/D转换器转换成数字信号,送到计算机进行播放、录音等各种处理;输出时,计算机通过总线将数

4、字化的声音信号以PCM(脉冲编码调制)方式送到D/A转换器,变成模拟的音频信号,进而通过功率放大器或线路输出(Line Out)送到音箱等设备转换为声波。1.4声卡的配置及硬件连接使用声卡采集数据之前,首先要检查Line In 和Mic In的设置。如图2,打开“音量控制”面板,在“选项”的下拉菜单中选择“属性”,得到如图3的对话框,在此对话框上选择“录音”,并配置列表中的选项即可。可以通过控制线路输入的音量来调节输入的信号的幅度。图2 音量控制面板图3 音量控制面板属性更改及录音控制面板声卡测量信号的引入应采用音频电缆或屏蔽电缆以降低噪声干扰。若输入信号电平高于声卡所规定的最大输入电平,则应

5、该在声卡输入插孔和被测信号之间配置一个衰减器,将被测信号衰减至不大于声卡最大允许输入电平。一般采用两种连接线:a.一条一头是3.5mm的插孔,另一头是鳄鱼夹的连接线;b.一条双头为3.5mm插孔的音频连接线。我们也可以使用坏的立体耳机做一个双通道的输入线,剪去耳机,保留线和插头即可。2. 声卡的主要技术参数2.1采样位数采样位数可以理解为声卡处理声音的。这个数值越大,解析度就越高,录制和回放的声音就越真实。我们首先要知道:电脑中的声音文件是用数字0和1来表示的。所以在电脑上录音的本质就是把模拟声音信号转换成数字信号。反之,在播放时则是把数字信号还原成模拟声音信号输出。声卡的位是指声卡在采集和播

6、放声音文件时所使用数字声音信号的二进制位数。声卡的位客观地反映了数字声音信号对输入声音信号描述的准确程度。8位代表2的8次方256,16位则代表2的16次方64。比较一下,一段相同的音乐信息,16位声卡能把它分为64个精度单位进行处理,而8位声卡只能处理256个精度单位,造成了较大的信号损失,最终的采样效果自然是无法相提并论的。位数越高,在定域内能表示的声波振幅的数目越多,记录的音质也就越高。2.2采样频率每秒钟采集声音样本的数量。采集频率越高,记录的声音波形就越准确,保真度就越高。但采样数据量相应变大,要求的存储空间也越多。目前,声卡的最高采样频率是44.1KHz,有些能达96KHz。一般将

7、采样频率设为4挡,分别是44.1KHz、22.05KHz、11.025KHz、8KHz。2.3缓冲区与一般数据采集卡不同,声卡面临的D/A和A/D任务通常是连续的。为了在一个简洁的结构下较好地完成某个任务,声卡缓冲区的设计有其独到之处。为了节省CPU资源,计算机的CPU采用了缓冲区的工作方式。在这种工作方式下,声卡的A/D、D/A都是对某一缓冲区进行操作。一般声卡使用的缓冲区长度的默认值是8192字节(老师,我们现在的声卡还是这个字节吗?),也可以设置成8192字节或其整数倍大小的缓冲区,这样可以较好地保证声卡与CPU的协调工作。声卡一般只对20Hz20KHz的音频信号有较好的响应,这个频率响

8、应范围已经满足了音频信号测量的要求。2.4基准电压(老师,这是新加的!)声卡不提供基准电压,因此无论是A/D还是D/A,在使用时,都需要用户参照基准电压进行标定。目前一般的声卡最高采样频率可达96KHz;采样位数可达13位甚至32位;声道数为2,即立体声双声道,可同时采集两路信号;每路输入信号的最高频率可达22.05KHz,输出16为的数字音频信号,而16位数字系统的信噪比可达96dB。3. LabVIEW中有关声卡的控件介绍 利用声卡作为声音信号的DAQ卡,可以方便快捷地穿件一个采集声音信号的VI。与声音信号相关的函数节点位于程序框图下【函数】选版下【编程】函数选版的【图形与声音】函数子选版

9、的【声音】函数选版的各子选版,如图4所示图 4 LabVIEW中声卡控件下面主要介绍【声音】/【输入】控件选板中相关控件的作用。配置声音输入 配置声音输入设备(声卡)参数,用于获取数据并且将数据传送至缓冲区。启动声音输入采集 开始从设备上采集数据,只有停止声音输入采集已经被调用时,才需要使用该VIs。声音输入清零 停止声音采集,清除缓冲区,返回到任务的默认状态,并且释放与任务有关的资源。配置声音输出 用于配置声音输出设备的参数,使用“写入声音输出”VI将声音写入设备。写入声音输出 将数据写入声音输出设备,如要连续写入,必须使用配置声音输出VI配置设备,必须手动选择所需多态实例。声音输出清零 将

10、任务返回到默认的未配置状态,并清空与任务相关的资源,任务变为无效。此外,还有众多的声音文件的打开和关闭等函数节点,在此不一一介绍,读者可参考LabVIEW帮助窗口进行了解。另外在程序框图下【Express】下【输入】下的【声音采集】及【输出】下的【播放波形】也是与声音信号相关的函数节点,如图5所示。图 5 LabVIEW中Express下的声卡控件4. 应用程序举例4.1声音的基本采集利用声卡采集声音信号,其程序的基本实现过程如图6所示。图6 声卡采集程序流程图4.1.1 VIs声音采集本案例通过采集由Line In 输入的声音信号,练习声音采集的过程。操作步骤1 执行【开始】/【程序】/Na

11、tional Instruments LabVIEW8.5】命令,进入LabVIEW8.5的七栋界面。2 在启动界面下,执行【文件】/【新建VI】菜单命令,创建一个新的VI,切换到前面板设计窗口下,移动光标到前面板设计区,打开【空间】/【新式】/【图形显示控件】控件选板,选择一个“波形图”控件,放置到前面板设计区,编辑其标签为“声音信号波形”并调整它的大小,如图7所示。图7 波形图标签编辑3 切换到程序框图设计窗口下,打开【函数】/【编程】/【图形与声音】/【声音】/【输入】函数选板,在程序框图设计区放置一个“配置声音输入”节点、一个“启动声音输入采集”节点、一个“读取声音输入”节点、一个“停

12、止声音输入采集”节点、一个“声音输入清零”节点,如图8所示。图8 声音输入控件4 移动光标到各节点上。可以在“即时帮助”窗口中看到各节点的端口及解释。如“配置声音输入”节点,如图9所示。图9 “配置声音输入”节点5 分别移动光标到“配置声音输入”节点的“设备ID”、“声音格式”、“采样模式”的输入端口上,单击鼠标右键,从弹出右键快捷菜单中,执行【创建】/【输入控件】菜单命令,通过端口创建相应的输入节点,如图10所示。图10 “配置声音输入”节点设置6 移动光标到“声音输入清零”节点的“错误输出”端口上,单击鼠标右键,从弹出的右键快捷菜单中执行【创建】/【显示控件】菜单命令,创建相应的显示节点,

13、如图11所示图11 “声音输入清零”节点设置7 打开【函数】/【编程】/【结构】函数选板,选择“While循环”节点,放置到程序框图设计区,在“While循环”的循环条件端口创建一个输入控件,移动光标到“While循环”的循环条件节点的输入端,单击鼠标右键,从弹出的右键快捷菜单中执行【创建】/【输入控件】菜单命令,创建相应的输入节点,并按图12所示,完成程序框图的设计。图12 程序框图的设计8 切换设计界面到前面板,可以看到与程序框图设计区节点相对应的控件对象,调整它们的大小和位置,美化界面。9 单击工具栏上程序运行按钮,并对着传声器输入语音或一段音乐,即可在波形图空间中查看声音信号的波形,其

14、中的一个运行界面如图13所示。图13 程序运行界面4.1.2 Express VIs声音信号采集本案例通过将采集到的声音信号显示在波形图中来学习“Expree输入”中“声音采集”函数的应用。在练习的过程中,注意比较与“编程”中“声音输入”函数的异同。操作步骤1 创建一个新的VI,切换到前面板设计窗口下,在前面板设计区放置一个“波形图”,编辑其标签为“声音信号波形”并调整它的大小。2 切换到程序框图设计窗口下,打开【Express】/【输入】函数选板,在程序框图设计区放置一个“声音采集”函数节点,并按图14所示设置各参数值。图14 配置声音采集设置面板3 移动光标到“声音采集”节点上,可以看到各

15、端口的解释,根据节点的输入端“采样率”、“设备”、“通道数量”、“分辨率”及“持续时间”端口,创建相应的输入控件,如图15所示图15 Express中声音采集控件及其设置4 在程序框图设计区放置一个“While循环”节点,并按图16完成程序框图的设计。图16 程序框图设计5 切换到前面板设计窗口下,调整各空间的大小和位置,并设置输入控件的输入参数,然后单击前面板工具栏上程序运行按钮,开始运行程序,并对着传声器输入语音或一段音乐,即可在波形图空间中查看声音信号的波形,其中的一个运行界面如图17所示。图17 程序运行界面4.2双踪示波器图18、19是一个用声卡实现的双踪示波器,它可以实现测试信号波

16、形、单频测量等。图18 用声卡实现的双踪示波器界面图19 双踪示波器程序框图设计以上程序框图通过不同的条件结构实现不同的控制。在程序设计中,利用【函数】/【Express】/【信号操作】函数面板中 “拆分信号”节点,如图20所示。 图 20 “拆分信号”节点由于由Line In 采集到的声音信号,其左右声道的声音信号是并接的,利用“拆分信号”节点,可以实现不同声道信号分离的目的,以达到对不同声道信号进行不同操作如增益、幅度改变等。由于直接由“读取声音输入”节点输入的声音实则是动态数据,要对采集到的信号进行增益等的控制,必须进行数据类型的转化,在本设计中,采用“从动态数据转换”节点实现目的,如图

17、21所示。图21 “从动态数据转换”节点4.3基本信号发生器图22是一个用声卡实现的基本信号发生器,它可以产生正弦波、矩形波等,并实现频率、幅值等的控制。图22 基本信号发生器界面图23为基本信号发生器的程序框图设计图23 基本信号发生器程序框图设计在本程序的设计中,首先应该注意到,采用程序框图设计窗口下【函数】/【编程】/【图形与声音】/【声音】/【输出】控件面板的相应节点控件,并跟“输入”控件相类似地进行设置。为实现在运行界面当中选择产生不同的波形,我们利用到前面板设计窗口下【空间】/【新式】/【下拉列表与枚举】空间选板中的“枚举”控件,如图24所示。图24 【枚举】控件 移动光标到前面板

18、设置的“枚举”控件上,单击鼠标右键,执行弹出的快捷菜单【属性】命令,打开【枚举属性】对话框,切换到“编辑项”选项卡,按图25所示对枚举项进行编辑。图25 【枚举属性】编辑项的编辑在程序框图设计区,将“枚举”节点作为【条件结构】的条件,两个节点连接后,可以看到条件结构的“条件选择标签”的条件选择变为“正弦波”、“方波”,且“正弦波”为默认条件,如图26所示。图26 “条件结构”的连接移动光标到条件结构的“选择器标签”上,单击鼠标右键,从弹出的右键快捷菜单中,执行【为每个值添加分支】菜单命令,命令执行后,从条件结构的“选择器标签”中可以看到,可选条件变为如图27所示。图27 条件结构的“选择器标签

19、”在程序设计窗口下,选择【函数】/【编程】/【波形】/【模拟波形】/【波形生成】控件面板中的“正弦波形”、“方波波形”等节点,放置在条件结构内,完成频率、幅度、相位等相应控件的创建,便可以实现产生不同波形的需要。4.4简易频谱分析仪 本案例通过对采集到的声音信号进行功率谱分析,练习声音信号的采集和分析过程。图28 简易频谱分析仪运行界面在程序的前面板可以定性观察和定量读取通道0和通道1的幅值和相位,同时可以实现将所采集到的频谱进行保存。图29 简易频谱分析仪程序框图设计本例只是简单介绍了声音信号采集和分析的过程,用户可以在此基础上设计一个功能强大的声音信号分析仪。【参考文献】1侯国屏,王坤.L

20、abVIEW7.1编程与虚拟仪器设计M.北京:清华大学出版社,2005.2 邓焱,王磊.LabVIEW7.1测试技术与仪器应用.北京:机械工业出版社,2004.3 杨乐平,李海涛.LabVIEW程序设计与应用(第2版).北京.电子工业出版社.2005.4 岂兴明,周建兴.LabVIEW8.2中文版入门与典型实例(修订版).北京.人民邮电出版社.2010.5 刘刚,王立香.LabVIEW8.20中文版编程及应用.北京.电子工业出版社.2008.6 马海瑞,周爱军.基于声卡的LabVIEW数据采集与分析系统设计.微计算机信息(测控自动化).2005.第21卷第9-1期.7 陈晓玲,师学明.基于La

21、bVIEW的声卡虚拟仪器性能测试与实验.实验室研究与探索,第29卷,第1期.2010.8 刘凤,刘志华.基于声卡的数据采集系统研究.计算机与现代化.2010.第7期.9 李宗莲,乜国荃.基本LabVIEW的虚拟示波器的设计与实现.研究与开发.2009.05.10 郭艳清,路向阳.基本LabVIEW的虚拟示波器设计.电子工程师.2008.第34卷第4期.11 吴先球,刘朝辉.LabVIEW环境下基于声卡的虚拟示波器软件设计.计算机应用与软件.2007.05.第24卷第3期.12 马海瑞,田树森.基于声卡的LabVIEW虚拟信号发生器设计.国外电子测量技术.13 陈东方,吴国红.一个基于声卡的LabVIEW虚拟示波器.传感器与仪器仪表.1008-0570(2008)09-1-0189-02.14 黄夫海,李岩.基于声卡的虚拟信号发生器和频谱分析仪.计算机与网络.专心-专注-专业

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!