声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1443|回复: 1

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

[复制链接]
发表于 2016-3-25 13:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
  摘要:介绍了一种利用vc++实现基于声卡的双通道数据采集系统,实现了波形发生器与频率测量等基本功能,为低成本下构建数据采集系统与波形发生器提供了一种思路。
  关键词:声卡数据采集频率测量
  一、概述
  数据采集是信号分析与处理的一个重要环节,在许多工业控制与生产状态监控中,都需要对各种物理量进行数据采集与分析。但是,专用数据采集卡的价格一般比较昂贵,而我们PC机的声卡就是一个很好的双通道数据采集卡。实际测量中,在满足测量要求的前提下,可以充分利用计算机自身资源,完成数据采集任务,从而节省成本。
  利用vc编程实现了声卡的双通道数据采集,并且对信号进行频谱分析同时实时测量出信号的频率。还利用声卡的DA通道,实现了正弦波、方波、三角波输出的信号发生器。波形发生器产生的信号同时还可以作为内部测试用信号,检验数据采集的准确性。
  二、声卡数据采集系统硬件组成
  LineOut
  图1声卡数据采集的硬件组成图
  利用声卡进行数据采集的硬件组成如图1所示。通常,利用声卡的LineIn端作为信号输入端口,两路被测的模拟信号经过左右声道,A/D转换进入计算机,通过vc编写的虚拟仪器界面显示出来。声卡一般都具有单、双声道输入,从而可实现单双通道的采集.双通道采集时,声卡采用并行采集,并具有采样保持功能,两个通道的数据不存在时间差,第一通道和第二通道数据存储在同一个数据缓冲区中,且等间隔存储,奇数序列是一个通道数据,偶数序列为另一个通道数据.读取数据时,将缓冲区中的数据全部读入到一个数组中,然后对该数组数据,采用隔一点取一点的方法,将数据分开并分别存到另外的两个数组中,即将两个通道的数据分开,从而实现了双通道的采集.单通道采集时,缓冲区中仅仅是一个通道的数据,直接保存到一个数组即可。同时,信号发生器产生的波形也可经过Lineout端输出。
  为了保护声卡,被测信号并不是直接进入声卡,而是先经过一个信号调理电路,对信号进行放大或限幅,滤波等处理,信号调理电路如图2所示。(a)图是直流电平叠加模块:C1代表信号的输入,D1代表叠加直流电平后信号的输出,电位器R8控制输入直流电平的大小;(b)图是信号叠加模块:A
  1、A2代表叠加信号的输入,B1代表叠加后信号的输出;(c)图是模拟滤波模块:LPIN代表滤波器的输出,LPOUT代表滤波器的输出,调节R6可以控制输出的、幅度大小。当然可以根据需要在调理电路中加入一些其它的模块。
  图2信号调理电路
  三、声卡采集系统的软件编程
  微软公司已经提供了一系列API函数用于对声卡的操作,为了将需要用到的函数封装成了一个类,编程时只需直接调用。使用的API函数有:
  waveInGetDevCaps实现声卡的性能测试
  waveInOpen打开波形输入设备
  waveInPrepareHeader为波形输入准备缓冲区
  waveInAddBuffer将数据缓存发送给波形输入设备驱动
  waveInStart启动向波形输入缓冲区存储数据
  waveInUnprepareHeader释放波形输入缓冲区
  waveInStop停止向波形输入缓冲区存储数据
  waveInClose关闭波形输入设备
  设计的软件界面如图3所示。目前所实现的功能有:
  图3软件界面设计
  1.两路波形发生器。可产生正弦波、方波和三角波,并且频率和幅值可调。
  2.频谱分析仪。可以对采集的信号进行频谱分析。频谱分析采用了快速傅立叶变换(FFT)算法,并且将其封装成独立的函数,方便调用。
  3.频率计。同时还可以实时地测量出采集到的信号的频率。在利用程序计算频率时,一般采用两种方法。一种是利用快速傅立叶变换,它的优点是不仅能对标准的周期波形进行测量,而且能够计算出各种复杂波形和信噪比非常低的信号的频率值,缺点是分辨率受到限制。另一种计算频率的方法是采用脉冲计数法。它的优点是测量低频信号时精度高,但它不适合波形复杂和信噪比低的信号频率测量。所以在测量过程中,程序先判断信号上述的性质,根据信号的性质,自动地采用相应的测量方法。
  四、小结
  采用声卡制作的信号采集系统,具有廉价、方便等优点,它可用于振动、噪声、位移、温度、压力等各种物理量的测试。但是一般的声卡支持的采样频率有11025、22050和44100,对高频信号的采集会出现失真。总之,运用廉价的声卡,辅以适当的软件编程,可以构成一个较高采样精度,中等采样频率且具有很大灵活性的数据采集系统。
  参考文献
  [1]种兰祥,阎丽,张首军.基于计算机声卡的多通道数据采集系统.西北大学学报,2002.
  [2]云升,姚晓,夏志忠.vc++声卡低层音频服务的编程技术.计算机应用,2002.
  [3]郑继明,李仪.声卡在数据采集中的应用[J].国外电子测量技术,2000(5).

  [4]MatthewMiller,BaoMi,Developmentofautomatedreal-timedataacquisitionsystemforroboticweldqualitymonitoring,Mechatronics,2002.12.


转自:http://www.xchen.com.cn/sjlw/dzsjlw/410932.html

回复
分享到:

使用道具 举报

发表于 2016-3-25 14:27 | 显示全部楼层
“5、22050和44100,对高频信号的采集会出现失真”-----说法不准确,失真与否与采样频率和被采样的信号频率之比没有直接关系。只要采样频率大于信号频率的两倍即可。失真是另一个参数。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-2 21:55 , Processed in 0.264564 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表