基于声卡的数据采集及波形发生器设计

时间:2020-10-06 13:56:29 计算机网络毕业论文 我要投稿

基于声卡的数据采集及波形发生器设计

基于声卡的数据采集及波形发生器设计 摘 要:介绍了一种利用vc 实现基于声卡的双通道数据采集系统,实现了波形发生器与频率测量等基本功能,为低成本下构建数据采集系统与波形发生器提供了一种思路。

关键词:声卡 数据采集 频率测量

一、概述

数据采集是信号分析与处理的一个重要环节,在许多工业控制与生产状态监控中,都需要对各种物理量进行数据采集与分析。但是,专用数据采集卡的价格一般比较昂贵,而我们PC机的声卡就是一个很好的双通道数据采集卡。实际测量中,在满足测量要求的前提下,可以充分利用计算机自身资源,完成数据采集任务,从而节省成本。

本文利用vc编程实现了声卡的双通道数据采集,并且对信号进行频谱分析同时实时测量出信号的频率。还利用声卡的DA通道,实现了正弦波、方波、三角波输出的信号发生器。波形发生器产生的信号同时还可以作为内部测试用信号,检验数据采集的准确性。

二、声卡数据采集系统硬件组成

Line Out

图1 声卡数据采集的`硬件组成图

利用声卡进行数据采集的硬件组成如图1所示。通常,利用声卡的Line In端作为信号输入端口,两路被测的模拟信号经过左右声道,A/D转换进入计算机,通过vc编写的虚拟仪器界面显示出来。声卡一般都具有单、双声道输入,从而可实现单双通道的采集.双通道采集时,声卡采用并行采集,并具有采样保持功能,两个通道的数据不存在时间差,第一通道和第二通道数据存储在同一个数据缓冲区中,且等间隔存储,奇数序列是一个通道数据,偶数序列为另一个通道数据.读取数据时,将缓冲区中的数据全部读入到一个数组中,然后对该数组数据,采用隔一点取一点的方法,将数据分开并分别存到另外的两个数组中,即将两个通道的数据分开,从而实现了双通道的采集.单通道采集时,缓冲区中仅仅是一个通道的数据,直接保存到一个数组即可。同时,信号发生器产生的波形也可经过Line out端输出。

为了保护声卡,被测信号并不是直接进入声卡,而是先经过一个信号调理电路,对信号进行放大或限幅,滤波等处理,信号调理电路如图2所示。(a)图是直流电平叠加模块:C1代表信号的输入,D1代表叠加直流电平后信号的输出,电位器R8控制输入直流电平的大小;(b)图是信号叠加模块:A1、A2代表叠加信号的输入,B1代表叠加后信号的输出;(c)图是模拟滤波模块:LPIN代表滤波器的输出,LPOUT代表滤波器的输出,调节R6可以控制输出的、幅度大小。当然可以根据需要在调理电路中加入一些其它的模块。


图2 信号调理电路

三、声卡采集系统的软件编程

微软公司已经提供了一系列API函数用于对声卡的操作,为了将需要用到的函数封装成了一个类,编程时只需直接调用。使用的API函数有:

waveInGetDevCaps   实现声卡的性能测试

waveInOpen     打开波形输入设备

waveInPrepareHeader 为波形输入准备缓冲区

waveInAddBuffer     将数据缓存发送给波形输入设备驱动

waveInStart       启动向波形输入缓冲区存储数据

waveInUnprepareHeader  释放波形输入缓冲区

waveInStop       停止向波形输入缓冲区存储数据

waveInClose       关闭波形输入设备

设计的软件界面如图3所示。目前所实现的功能有:

下一页

【基于声卡的数据采集及波形发生器设计】相关文章:

1.基于XML的果园环境数据采集和数据表示

2.基于GPRSCDMA无线网络的远程数据采集系统设计

3.有关基于Matlab的计算机数据采集系统

4.局域网数据库环境下数据采集及处理

5.数据挖掘理论在数据采集中的运用

6.同步电机试验自动控制与数据采集系统的设计

7.从数据采集看到游戏的流失点

8.实现基于网页的数据库数据导入