为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

Matlab中基于声卡的虚拟动态数据分析仪

2017-11-27 9页 doc 42KB 21阅读

用户头像

is_882336

暂无简介

举报
Matlab中基于声卡的虚拟动态数据分析仪Matlab中基于声卡的虚拟动态数据分析仪 Vol . 19 No . 1 第 19 卷 第 1 期长 沙 交 通 学 院 学 报 J OU RNAL O F CHAN GSHA COMMU N ICA T ION S U N IV ERSI T Y Mar . 2003 2003 年 3 月 () 文章编号 :1000 - 9779 200301 - 0015 - 04 Ma tla b 中基于声卡的虚拟动态数据分析仪 傅俊庆 , 赵爱琼 () 长沙交通学院 汽车与机电工程系 , 湖南 长沙 410076 摘 要 : 声...
Matlab中基于声卡的虚拟动态数据分析仪
Matlab中基于声卡的虚拟动态数据分析仪 Vol . 19 No . 1 第 19 卷 第 1 期长 沙 交 通 学 院 学 报 J OU RNAL O F CHAN GSHA COMMU N ICA T ION S U N IV ERSI T Y Mar . 2003 2003 年 3 月 () 文章编号 :1000 - 9779 200301 - 0015 - 04 Ma tla b 中基于声卡的虚拟动态数据分析仪 傅俊庆 , 赵爱琼 () 长沙交通学院 汽车与机电系 , 湖南 长沙 410076 摘 要 : 声卡是个人电脑中不可缺少的一部分 ,同时也是一个很好的 A/ D 、D/ A 卡 。Matlab 是一个数据分析和处理功能非常强大的工程实用软件 。将二者相结合构造了一个虚拟动态 数据分析仪 ,可实现双通道实时波形显示 、信号谱分析和传递函数分析等功能 。 关键词 : 声卡 ; 数据采集 ; 虚拟仪器 ; Matlab Ξ 中图分类号 : TP274文献标识码 : A 声卡同时具有 A/ D 和 D/ A 转换功能 ,将该卡作为数据采集的 A/ D 转换装置无疑是一个经济而又方便的选择 。文献1 利用 so und blaster 声卡在 window s 环境下成功地开发了一个数据采集系统 ,但该 系统的功能由于受编程语言的限制 ,其数据分析与处理的功能非常有限 。例如 ,为了对所采集的数据进 行功率谱分析 ,则需要用户以 VB 或 C 语言来编写功率谱分析的子程序 ,这显然增加了开发以声卡为数 据采集硬件的数据采集系统的难度 ,并且也极不利于分析功能的进一步扩展 。文献2 利用声卡作为 + + A/ D 转换工具 ,经过衰减和取样电路得到的模拟信号送至声卡的线路输入端 Line in ,通过 Bo rland C 编程 ,设计了一个微机模拟信号数据采集系统 ,该系统已用于机电类商品的安全检测 。文献1 和2 均 证实利用声卡作为 A/ D 卡是可行的 ,并且价格便宜 。因此 ,利用 Matlab 中丰富的数据分析和处理功 能 ,开发一个利用声卡作为 A/ D 转换装置的数据采集和动态信号分析处理系统是非常实用而方便的 。 Matlab 是一个数据分析和处理功能十分强大的工程实用软件 ,它的信号处理与分析工具箱为动态 数据分析提供了十分丰富的函数 ,利用这些函数可以快捷而又方便地完成动态数据分析 。而它的数据 () 采集工具箱 DAQ Toolbo x为在 Matlab 中实现数据采集提供十分方便的数据采集函数 。在 Matlab 环 境中 ,利用这些函数可以快捷地构造出数据采集系统 ,实现对外部物理世界和生产过程信号的实时信号 采集 。由该系统采集的物理信号可以作为变量直接存入 Matlab 的工作空间 ,也可以作为数据文件直接 写入数据文件 。对存入 Matlab 工作空间的物理信号变量 ,利用 Matlab 中信号处理与分析工具箱的信 号分析处理函数 , 而无需对大量的常用信号处理算法进行编程 , 即可方便快捷地完成对信号的动态 分析 。 在 Matlab 环境下 ,为了方便对采集信号的常规动态分析 ,利用 Matlab 中的图形用户接口工具箱 , 可以轻松地构造一个类似 Window s 的图形操作界面 。通过该图形窗口即可实现一个虚拟的双通道动 态数据分析仪 。 1 Matla b 中的声卡数据采集的实现 在 Matlab 中实现声卡数据采集的硬件配置如图 1 所示 ,传感器信号通过声卡的 Line in 或 Micro 插口连接到声卡 ,若被测输入信号电平高于声卡所规定的最大输入电平 ,则在声卡输入插口和被测信号之 间应配置一个信号衰减器 ,将被测信号衰减至声卡最大允许输入电平 。 在 Matlab 中实现声卡数据采集的基本软件环境为 : ) ( ) 1MA TL AB Versio n 6 . 1 R12 . 1及其图形用户接口工具 ; Ξ 收稿日期 :2002 - 09 - 06 () 作者简介 :傅俊庆 1954 —,男 ,长沙交通学院副教授. ) 2 数 据 采 集 工 具 箱 Data Acquisitio n ( ) Toolbo x Versio n 2 . 1 R12 . 1; ) 3信 号 处 理 工 具 箱 Signal Processing ( ) Toolbo x Versio n 5 . 1 R12 . 1。 Matlab 中的实时数据采集功能通过数 据采集工具箱来完成 ,采集数据的分析处理 通过信号处理工具箱和 Matlab 中的相应函 数来完成 ,图形用户接口工具用来实现数据 图 1 Matlab 中声卡数据采集系统硬件框图采集操作的图形界面 。 3 利用数据采集工具箱实现声卡数据采集的方法如下 。 ) 1为声卡建立一个设备对象 ,语句为 : ( )A I = analoginp ut ‘winso und’ A I ———Matlab 中的变量 ,它是一个模拟输入设备对象句柄 ,所有的数据采集过程都是通过对该句 柄的操作来实现 ; ( ) Analoginp ut ———模拟输入设备对象建立函数 , 通过该函数将 A/ D 转换卡硬件映射为 Matlab wo r kspace 中的一个模拟输入设备对象句柄 ; Winso und ———声卡设备驱动程序 ,Matlab 软件内含该驱动程序 。 ) 2查看声卡设备对象的参数并按照实际需要设定参数 ,查看声卡设备对象参数的语句为 :()get A I ) 3通过该语句可以查看的参数多达 43 个 ,限于本文篇幅 ,这里不能一一列举 ,仅对几个重要参数 进行解释和说明 ,参见 1 。 ) 4启动并触发声卡设备 。当声卡数据采集参数设置完成后 ,即可启动该设备进行数据采集 ,其语 句格式为 : ()start A I 由于声卡具备三种触发方式 ,当触发方式设置为 Immediate 时 , start 命令将立即触发声卡 ,对输入 () 信号进行采集 ;当触发方式设置为 manual 时 ,则必须用 Trigger A I命令人工触发声卡来启动对输入信 号的采集 ;当触发方式设置为 sof t ware 时 , 声卡设备将自动监测输入信号的电平 ,输入信号电平达到 TriggerCo nditio nValue 条件值时将会自动触发 ,完成对输入信号的采集 。 ) 5利用声卡设备事件的调用函数 ,从 Matlab data Engin 中提取或查看数据 。当声卡被触发后 ,声 卡设备会自动将采集到的数据存入 Matlab data Engin 中 ,为了从 data Engin 中提取数据 ,Daq toolbo x 提 供了专用命令 ,其命令格式为 : ()get data A I ,N N 为要提取的数据点数 , 该命令将从 data Engin 中提取 N 点数据 , 并从 data Engin 删除这 N 点 数据 。 另外 ,Daq toolbo x 提供了一个数据查看命令 ,其命令格式为 : ()Peekdata A I ,N N 为要查看的数据点数 ,该命令将从 data Engin 中提取 N 点数据 ,但这 N 点数据仍然保留在 data Engin 中 。 ) 6停止并删除声卡设备 。当数据采集完成后 ,声卡设备仍然保留在系统中 ,为了清除该设备 ,应使 用如下命令 : () Stop A I ()Delete A I Stop 命令将停止声卡设备运行 , delete 命令将从系统中删除声卡设备 。若在退出数据采集任务之 第 1 期傅俊庆 ,赵爱琼 : Matlab 中基于声卡的虚拟动态数据分析仪17 表 1数据采集重要参数设置表 参数名参数说明 声卡通道 ,最大为 2 通道 ;Channel = 0 x1 aichannel () 语句格式 :addchannle A I , ch; ch 为通道号 () 采样率 ;语句格式 : set A I ,‘SampleRate’, SRSampleRate = 8000 ()SR 为采样率 1,44 100 点/ s 每次触发采样点数 ; () 语句格式 : set A I ,‘SamplesPer Trigger ’, SPSamplesPer Trigger = 8000 SP 为每次触发采样点数 () 触发通道 ;语句格式 : set A I ,‘TriggerChannel’, CTriggerChannel = 1 x0 aichannel C 为触发通道 触发通道触发电平 ; () 语句格式 : set A I ,‘TriggerCo nditio nValue’, TL TriggerCo nditio nValue = 0 TL 为触发通道触发电平值 ()触发延时 ;语句格式 : set A I ,‘TriggerDelay’, ds () ds 为触发延时值 延时单位通过另一参数设置TriggerDelay = 0 触发延时单位 ; () 语句格式 : set A I ,‘TriggerDelayU nit s’, TuTriggerDelayU nit s = Seco nds ( )Tu 为触发延时单位 s ,ms 触发调用函数 ; () Trigger Fcn = 语句格式 : set A I ,‘Trigger Fcn ’, Functio nName ()Functio nName 为触发调用函数名 自编 Matlab 函数 触发方式 ; () Trigger Type = Immediate 语句格式 : set A I ,‘Trigger Type ’, t ype ( ) t ype 为触发方式 Immediate , manual , sof t ware 采集任务时系统将会发出声卡设备在使用中的错误信息 。因此 ,在退出数据采集任务之前 ,必须执行上 述两个命令来删除声卡设备 。 ) 7从 Matlab Wo r kspace 中清除设备变量 。当完成第六步操作后 ,声卡设备仅从系统中被删除 ,但 它仍然存 Matlab Wo r kspace 中 ,为了彻底清除该设备 ,还需要从 Matlab Wo r kspace 中清除它 ,其命令格 式为 : clear A I 该命令最后彻底地将声卡设备 A I 从 Matlab Wo r kspace 清除掉 。 2 数据采集的图形用户接口 综上所述 ,利用 Daq toolbo x 可以在 Matlab 环境下用程序方式实现声卡的数据采集 ,但程序方式不 4 便于采集参数的设置和采集及分析结果的图形显示 。Matlab 的图形用户接口为建立数据采集窗口 提供了极为方便的图形窗口建立命令 ,在图形用户接口环境下 ,可以直接利用其图形控件构造其用户窗 口界面 。按照图形用户接口的规则 ,对声卡可以快速而简便地构造出图 2 所示基于声卡的虚拟动态分 析仪窗口界面 。 在图 2 所示声卡的虚拟动态分析仪中 ,可以实现如下功能 : ?单 、双通道时间历程显示 ; ?单 、双通 () ( ) 道功率谱平均和显示 对数或线性; ?传递函数的幅频与相频显示 对数或线性; ?互功率谱的幅频 () 与相频显示 对数或线性; ?相干函数计算与显示 ; ?倒频谱分析与显示 ; ?短时谱图分析与显示 ; ? 采集数据的存盘与重载 。 图 2 基于声卡的虚拟动态分析仪窗口界面 3 结语 在 Matlab 环境下 ,利用 Daq toolbo x 和图形用户接口建立基于声卡的虚拟仪器是可行的 ,该虚拟仪器的硬件价格便宜 ,由于笔记本电脑都配置声卡 ,这样在笔记本电脑中无需添加任何硬件 。按照本文所 提供的方法即可构造出一个双通道实用虚拟仪器 ,其分析功能可以按实际需要进一步扩充 。 由于 Matlab 中含有许多的信号分析和统计分析函数 ,对从声卡采集到的数据可以作更多的分析处理 ,以适应各种信号分析的实际需要 。声卡不仅提供 A/ D 转换的功能 ,同时还具备 D/ A 输出功能 ,因 此 ,利用声卡还可以形成闭环控制回路 ,实现对过程的实时控制 。关于利用声卡进行闭环控制的实例将 另文讨论 。 参考文献 : () 1 阎 丽 ,祝 轩 ,王小宁. 基于 Sound Blaster 声卡的数据采集系统J . 测试技术学报 ,2001 ,15 2. () 钟冠平 ,徐玉霖. 用于电器商品安全检验的 Windows 数据采集系统J . 微型机与应用 ,2000 6. 2 Mat hwor ks. Data Acquisitio n Toolbo x U ser’s Guide Versio n 2 CP . November 2000 . 3 Mat hwor ks. Creating Grap hical U ser InterfacesCP . J une 2001 . 4 A Dyna mic Virtual Data Anal yser Ba sed on Soun d Card in Matla b FU J u n2qi n g , Z HA O A i2qion g ()Auto mobile and Mechat ro nic Eng. Dep t . , Changsha Co mm. U niv. , Changsha 410076 , China Abstract : A so und card is a basic part of perso nal co mp uter , w hich has bot h f unctio ns of analog to digital ( ) () A/ Dand digital to analog D/ A . Matlab is very powerf ul engineering analysis sof t ware , it s DAQ toolbo x and Grap hical U ser Interf aces suppo rt t he real time data acquisitio n . The aut ho rs explain how to build a virt ual dynamic analyser by means of t he toolbo xes and so und card. The analyser can display t he real time histo ry , power spect rum , t ransfer f unctio n , co here f unctio n , cro ss power spect rum and etc. Key words : so und card ; data acquisitio n ; virt ual inst rument ; Matlab
/
本文档为【Matlab中基于声卡的虚拟动态数据分析仪】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索