文档详情

基于声卡的虚拟信号发生器设计与实现.pdf

发布:2017-05-09约6.98千字共2页下载文档
文本预览下载声明
72 基于声卡的虚拟信号发生器设计与实现 基于声卡的虚拟信号发生器设计与实现* DesignandImplementationofVirtualSignalGeneratorBasedonSoundCard 徐继宁 程志强 北(方工业大学机电工程学院,北京 100041) 摘 要 介绍了一种以普通声卡为硬件设备的虚拟信号发生器的设计方法。设计采用了虚拟仪器技术,利用NI公司的Lab- VIEW软件的模块化编程以及多线程技术,实现了多种常见周期信号及任意指定信号的双通道输出。 LabVIEW 关键词:信号发生器,声卡,虚拟仪器, Abstract ThispaperpresentsthedesignofavirtualsignalgeneratorthatutilizesanormalPCsoundcardashardwaredevice. ThegeneratorwasdevelopedbasedonvirtualinstrumentsoftwareLabVIEW ofNICompany.Themodularizedprogramming andmultithreadingtechnicalisperformedduringthedesignedprocess. Keywords:signalgenerator,soundcard,virtualinstrument,LabVIEW 声卡目前已经是多媒体计算机的一个标准配置,利用计算 低层函数编写,由于Windows低层函数直接与声卡驱动程序打 机声卡进行采样和输出,就不需要购买专门的数据采集卡,为开 交道,因而封装层次低,速度快,而且可以访问、采集缓冲区中任 发低成本高性能的信号发生器,创造了有利条件。 意位置的数据,具有很大的灵活性,能够满足实时不间断采集的 1 声卡的技术指标 需要。本文主要用到的几个VI在SoundOutput子面板中,用 1)分辨率。目前,市场上的一般声卡按照其采样位数分可以 到的主要有 SO Config、SO Start、SO SetNum Buffers、SO 分为8位和16位,采样位数 分(辨率)可理解为声卡处理声音的 Write、SOClear。 解析度,数值越大解析度就越高,录制和回放的声音就越真实, SOConfig用于设置声卡数据格式;SOStart通知声卡输 它客观反映了数字声音信号对输入声音信号描述的准确程度。 出数据;SOSetNum Buffers设置声卡缓冲区大小,一要节省 从数据采集的角度来看,声卡是音频范围内的数据采集卡。声卡 CPU资源,二要保证输出信号的连续性;SOWrite将缓冲区内 位数的概念与数据采集卡中的位数完全一致,但一般的数据采 的数据通过声卡输出;SOClear完成最终清理工作,释放请求 集卡大多只有12位,而声卡主流产品都是12位的。因此在这个 的一系列系统资源如DMA,缓冲区内存,声卡端口等。 指标上,声卡毫不逊色于常用的数据采集卡。 利用LabVIEW构建基于声卡的虚拟信号发生器流程如图 2)采样频率。目前声卡的最高采样频率大都是44.1KHz,少 1,这个流程与一般的数据采集卡并无多大差别。 数达48KHz。对于民用声卡,一般将采样频率分为4档,分别是 44.1KHz、22.05KHz、11.025KHz和8KHz,这个频率也是DAC 输出信号的采样频率。对于20KHz范围内的音频信号,如果最 高采样率48KHz,虽然理论上没有问题,但效果已经不是很好。 因而使用声卡的局限性在,它不允许用户在最高采样率下随意 图1 声卡模拟输出工作流程示意图 设定采样频率。 3 信号发生器的实现 3)声卡的频率
显示全部
相似文档