Abstract
The design is a sound signal acquisition and analysis system, it implements speech signal acquisition and display, and it made the spectrum analysis of signals.
Design with computer as the core consists of a data acquisition system, the system can be divided into three sensors, sound card and computer module. Based on this, the overall scheme of the system has been accomplished. Finally, all functional module were implemented through hardware and software. First of all, the system acquire sound signal through the sensors. Then the acquired signal accomplished analog-to-digital conversion through the sound card (sampling, quantization and coding) . Finally, it is stored in the computer and the computer will carry out a series of processing.
The hardware part used the microphone for voice signal sensor, and it took sound card as A/D conversion module, the computer is used to store and process signal. Software used MTALAB and mainly used data acquisition toolbox of MATLAB.
Key Words: MATLAB Data acquisition box The microphone Sound card
II
目录
摘要 ............................................................... I Abstract .......................................................... II 引言 ............................................................... 1 1绪论 .............................................................. 2
1.1课题背景及意义 .............................................. 2 1.2数据采集系统的研究状况 ...................................... 3 1.3课题的研究目的和任务 ........................................ 4 2数据采集系统分析 .................................................. 5
2.1数据采集系统的构成 .......................................... 5 2.2基于MATLAB的数据采集系统原理 ............................... 6 3基于MATLAB和声卡的数据采集器的设计 ............................... 8
3.1方案选取 .................................................... 8 3.2传感器的选择 ............................................... 10 3.3声卡在A/D转换中的应用 ..................................... 11
3.3.1声卡在A/D转换中的原理 ............................... 11 3.3.2声卡的驱动软件 ....................................... 12 3.3.3声卡的参数设置 ....................................... 12
4软件设计 ......................................................... 14
4.1基于MATLAB和声卡的软件流程 ................................ 14 4.2基于MATLAB和声卡采集的示波器的实现 ........................ 18
4.2.1GUI的创建 ............................................ 18 4.2.2GUI的设计 ............................................ 18 4.2.3代码的实现 ........................................... 19
5程序的调试与分析 ................................................. 23 结论 .............................................................. 26 致谢 .............................................................. 27 参考文献 .......................................................... 28
III
引言
伴随着计算机的广泛应用和信息化时代的到来,计算机与外部物理世界连接需要通过数据采集来实现。随着计算机技术的迅猛发展和广泛普及,数据采集系统也迅速地得到了广泛的应用。在工业生产过程中,我们需要应用该系统对生产现场的各种参数实施采集,监视和记录,提高产品的质量,降低成本。在我们的科学研究中,使用数据采集系统可以帮助我们获取大量的动态信息,更是研究瞬间物理过程的强有力工具,也是我们获取科学奥秘的重要手段。
总之,在各个应用领域中,数据采集与处理越发的及时,工作效率就会越高,从而取得的经济效益和生活品质也就会越高。本篇就是针对语音信号的采集和处理设计的基于MATLAB的数据采集器,文中提出了系统构成、设计方案、设计过程。
1
1绪论
1.1课题背景及意义
计算机和信息技术自出现以来一直在飞速的发展。时至今日,我们的生活和工作已经离不开了计算机。信号以各种各样的表现形式出现在我们的日常生活中,信息的传递、存储和获取都要通过信号来实现。所以,实时的信号采集和分析处理对于计算机和信息技术有着非常重要的意义。
利用MATLAB的数据分析处理功能进行采集处理,则首先需要将语音信号转换成MATLAB的数据格式,因此,我们不能直接对硬件端口进行操作。随着计算机技术的势不可挡地发展与广泛应用,数字设备正在逐步的取代模拟设备,在生产过程中的控制和科学研究以及生活中的各个领域,计算机测控技术正发挥着无法取代的作用。我们外部世界当中的大部分信息是随着时空变化而变化的物理量形式出现的,比如温度、压力、位移等等。要将这些信息送入到计算机里进行处理,就势必要先将这些连续变化的物理量进行离散化,并进行量化和编码,从而最终变成数字量,这个过程就是通常我们所说的数据采集。计算机在监测和控制这个系统的过程中,获取原始数据的主要手段就是数据采集。
数据采集是计算机是获取信息的重要途径,也是计算机与外面世界进行沟通的桥梁。数据采集技术是计算机技术和信息科学的一个不可或缺的部分,它已经广泛应用于我们的国民经济和国防建设的各个领域,而且随着科学技术的发展,尤其是信息技术的发展与普及,数据采集技术它有着广阔的发展前景。
MATLAB是Math Works公司很早推出的一种科学计算仿真软件,已经被广泛地应用于各种计算机上。现在已经发展成为功能强大的科学软件,它能够进行数据采集、信号分析、数学运算和可视化解释等。利用MATLAB设计数据采集器有很多各方面的优点,会使得我们对数据的后面分析和处理将更加的方便。MATLAB语言简单,介于汇编语言和高级语言之间,入手会简单很多,使用起来会很方便,输入简单明了,用户也可以对其自行发展 ,它是全球绝大多数国家进行科学研究都要用到的重要工具。MATLAB由于其丰富的数值分析和处理功能、简单的接口编程和强大的仿真功能而受到广大的用户推崇,但若要对量比较大的数据进行实时的采集,MATALB会显得相形见绌。在我们传统工业检测中,采集到的数据需要存储起来,后经过处理和转换,才能使用MATLAB进行最后的分析并作相应的处理,毋庸置疑这是一个相当复杂的过程,这势必会影响到MATLAB在开发测控系统的范围和在实践中对实时数据的处理速度。我们若是能够在MATLAB环境下直接采集实时数据,无疑所有的难题都会迎刃而解。
2
MATLAB 7.0下的数据采集工具箱提供了直接对硬件端口进行实时数据采集的功能。只要利用该工具箱再加上合适的数据采集卡就可以进行实时数据采集和实时控制,由此就可以很容易地组建自动控制分析系统。利用计算机的声卡和MATLAB中的图形用户接口软件界面就可以构造一个简单的实时信号分析仪器。显而易见,在MATLAB开发环境下进行数据采集是确实可行的而且开发起来也会比较方便。
在进入21世纪以来,世界变的越来越国际化,一个国家的发展必定会落后与世界的发展,全球化的趋势没法阻挡,竞争日益激烈,所有的国家所有的企业都在追求实时的信息处理和高效的工作效率,以最少的成本获得最大效益,所以基于MATLAB的数据采集的开发和应用是非常有必要的。它的实时数据采集处理特性会提高我们的工作效率以及对生产的管理水平,最终提高企业的经济效益。
1.2数据采集系统的研究状况
目前,数据采集系统主要有以下4种设计方案:
⑴ 使用RS232串行通信将采集模块采集到的数据传输到PC机。
采集模块采集到的数据通过RS232串行通信传输到PC机,借助MATLAB中的仪器控制工具箱封装的串口对象,可以像操作文件一样控制串行端口与外设进行通信。先使用 serial函数创建串口对象,再设置波特率、数据位、停止位等属性,使PC机和数据采集模块间具有相同的通信模式。传输数据时, 用fopen 函数打开串口,再用fwrite函数和fread 函数以二进制或ASCII码格式对进行读写操作。数据通信过程中,通过读串口对象属性可以实时了解串口的工作状态。数据传输结束后用fclose函数关闭串口。用智能数据采集模块采集系统的输入激励信号和输出响应,将采集到的数据通过串行通信传输到MATLAB。
⑵ 用AT89C51单片机(MCS51系列)与美国TI(Texas Instruments)公司的A/D芯片TLC2543制作数据采集卡。
该采集系统移动性比较好,而且成本也不高,它利用AT89C51单片机(MCS51系列)与美国TI(Texas Instruments)公司的A/D芯片TLC2543制作了一块数据采集卡, 由单片机完成具体的数据采集任务,采集到的数据同时传送给计算机进行分析处理。数据采集卡的结构是设计成外置式的,模拟信号通过A/D转换转化成数字信号,然后串行传输给后台控制的计算机。TLC2543是拥有11个输入端的12位模数转换芯片,并且是串行控制的,内置有采样保持器,转换时间最长不能超过10Ls,还有S/H和多路选择开关,单5V供电,0~5V模拟输入,需要外接参考电压。选用2211184MHz作为单片机的振荡频率,这样可使AT89C51与PC通信的波特率能够非常精确地达到115200bps,确保计算机能够实时的接收到的高速采集的数据。模拟信号通过TLC2274
3