基于声卡和Matlab的虚拟信号发生器

最新更新时间:2011-11-09来源: 互联网关键字:声卡  Matlab  虚拟  信号发生器 手机看文章 扫描二维码
随时随地手机看文章

声卡作为多媒体计算机系统中最基本最常用的硬件之一,其技术已经发展成熟,他同时具有A/D和D/A转换功能,经济方便,目前已经被广泛应用于数据采集和虚拟仪器系统的设计。Matlab是一个数据分析和处理功能十分强大的工程实用软件,他的数据采集工具箱(data acquisition toolbox)为实现数据的输入和输出提供了十分方便的函数和命令,利用这些函数和命令可以很容易地实现对外部物理世界的信号输出和输入。根据声卡输出信号的原理,采用Matlab软件编程,可以方便地利用声卡输出所需要的三角波、正弦波、方波等多种信号,有效地实现信号发生器的基本功能。

      1基于Matlab和声卡的虚拟信号发生器的设计与实现

      1.1系统实现原理

      通常PC机配置的声卡提供了麦克风输入和扬声器输出2个接口,他集成了信号输入/输出需要 的模/数转换器(ADC)和数/模转换器(DAC),因此,利用Matlab软件产生的各种虚拟信号通过声卡的DAC单元就可以直接输出。普通计算机与Matlab软件相结合实现虚拟信号发生器的系统结构如图1所示。   

      图1中,只需要用音频线将软件系统产生的信号由线性输出(line out)接口引出,就可以通过声卡直接作为信号源输出,显然,在这种虚拟信号发生器系统中,只需要一台带有普通多媒体声卡并安装了Matlab软件的PC机就可以满足要求实现虚拟信号的输出,系统结构简单方便。

      1.2基于Matlab的信号发生器的实现方法
  
      Matlab的数据采集工具箱(DAT)提供了一系列的函数和命令来实现实时模拟信号的输出,通过调用这些函数和命令可以直接控制声卡输出虚拟信号,在Matlab中用声卡产生虚拟信号的过程如图2所示。
    

      Matlab的数据采集工具箱提供的控制声卡输出模拟信号的主要函数和命令如下:    

      (1) 初始化操作
  
      Matlab将声卡等设备都作为对象处理,其后的一切操作都不与硬件直接相关,而是通过对该 对象的操作来作用对象,所以,首先要为声卡建立一个设备对象。Matlab建立设备对象的函数如下:

      analogouput()为模拟输出设备对象建立函数,通过该函数将声卡映射为Matlab环境中的一个模拟输出设备对象句柄。winsound为声卡设备驱动程序。

      (2) 添加数据输出通道操作

      Matlab中用于添加数据输出通道操作的函数为addchannel,其函数格式如下:  

       其中:ao为声卡对象的句柄(下同),ch为声卡通道号,最大为2通道。

      (3) 输出数据操作

      Matlab中用于输出数据操作的函数为putdata,其函数格式如下:

      putudata(ao,data)

      其中:data为所需要输出的数据。

      (4) 启动并触发声卡设备操作

      当完成输出数据操作后,并没有真正输出数据,必须启动声卡,才能对外输出信号,启动并触发声卡设备操作的命令如下:

      start(ao)

      (5) 停止并删除声卡设备操作

      信号输出完成后,声卡设备仍然保留在计算机系统中,若不将声卡设备停止并删除,计算机系统中仍会保留该设备,在下次启动虚拟信号发生器系统时将会发出声卡设备仍然在使用的错误信息。从系统中停止和删除声卡设备操作的命令分别如下:

      2应用实例

      利用Matlab的数据采集工具箱和图形用户接口[3]可以方便地通过设计的界面控制输出信号的幅度、频率、宽度等参数,并可以用示波器直接观测,图3为虚拟信号发生器系统的主界面,可以用来产生正弦波信号、方波信号、矩形波信号、三角波信号和随机信号等常用信号。   

      这里以三角波虚拟信号发生器为例来说明利用Matlab和声卡输出三角波信号的具体软件实现 方法。三角波信号发生器的参数设置界面如图4所示,他除了可以用于参数设置外,还可以显示输出信号的模拟波形。   

      采用Matlab实现的具体程序如下:   

      3结语

      Matlab的数据采集工具箱和图形用户接口提供了十分简便的实现声卡输出功能的命令和函数 ,利用Matlab和声卡设计虚拟信号发生器十分方便,而在硬件上只需要一块声卡,无需添加 任何其他设备,价格十分便宜。虽然声卡的设计是以产生声音为目的,有效的音频范 围和输出电压的幅度在一定程度上限制了他的使用,但这已完全能满足产生基本信号源的 要求。在本设计的基础上,通过进一步的Matlab编程或硬件上的改进和扩展,可以实现一些 常规仪器设备不能产生的信号,这在实际应用中具有广泛的推广应用前景。

关键字:声卡  Matlab  虚拟  信号发生器 编辑:神话 引用地址:基于声卡和Matlab的虚拟信号发生器

上一篇:车载酒精监测系统技术解析
下一篇:DS1620引脚图及测温原理

推荐阅读最新更新时间:2023-10-12 20:32

基于51单片机的三角波信号发生器设计
一、任务要求: 设计内容 选择51单片机,晶振采用12MHz。 设计一个能产生50HZ至100HZ的三角波信号。通过0832/A芯片完成数模转换。 频率值由LED数码管键盘输入。 将频率由LED数码管显示(4位) 设计要求 按照任务书的要求完成系统分析及方案设计。 完成硬件原理图的设计,并设计相关元器件。 完成控制软件流程图的设计,编写相应的单片机控制程序。 撰写设计报告。 二、仿真过程展示 程序烧录仿真界面: K1第一次按下界面 按3次K1后界面 K2、K3可对波形频率进行调整;K4、K5可对占空比进行调整。 频率的值是可以通过这里改的
[单片机]
拟人机器人上肢多关节控制参数整定
0 引言 拟人机器人手部控制节点的任务是接收机器人“大脑”(即上位机)的指令,完成手部电机的速度及位置控制。拟人机器人手部电机采用DC电机,通常DC电机抗干扰能力有限。本文探索DC电机的PID闭环控制手段,为了得到较好的可能效果,需要寻找合适的控制参数:KP,KI,KD。文中首先对DC电机进行物理抽象,进而建立数学模型,并通过实验手段得到实际电机的系统参数。最后通过模拟手段,实现拟人机器人手部电机开环控制系统及速度闭环PID控制系统的仿真,并通过调节KP,KI,KD获得较好的抗干扰相应。通过仿真得到的控制参数可以反过来用于指导控制节点的设计。 1 DC电机建模 1.1 建立直流电机的物理模型 电机的物理模型如图1所
[嵌入式]
应用虚拟仪器对雷达信号系统模拟
   1 引言   传统的雷达发射机,采用专用的信号发生模块,无法任意的设置波形形式、参数,信号中心频率,信号功率等。在一定程度上限制了应用范围。尤其在雷达的预研和新技术的探索阶段,要对各种雷达信号进行实验或评估,如果为每种雷达信号设计专用的信号发生模块,将极大的耗费成本。如果使用虚拟仪器技术,集成高性能的商用测试仪器 ,通过编程设计系统的功能,可以有效模拟多种雷达信号,并以较大的灵活性对雷达信号的参数进行设置,克服通用性差的问题,满足多种多样的应用要求。    2 雷达信号发生系统   雷达信号产生原理方框图如图1所示,基带信号发生模块利用D/A变换,将数字存储波形转换为I/Q两路基带模拟信号输出。I/Q调制模
[测试测量]
应用<font color='red'>虚拟</font>仪器对雷达信号系统模拟
基于虚拟仪器的CANopen协议监控面板设计
  虚拟仪器是电子测量技术与计算机技术深层次结合的产物,通过软、硬件的结合来实现传统仪器的各种功能,大大突破了传统仪器在数据处理、显示、传送、存储等方面的限制,使用户可以方便地对仪器进行维护、扩展和升级。用户通过友好的图形界面来操作虚拟仪器的面板就如同操作真实仪器一样方便。CAN协议只定义了物理层和数据链路层,本身并不完整,有些复杂的应用问题需要一个更高层次的协议 应用层协议来实现。CANopen协议就是将CAN网络中通信数据的组建和传输进行标准化,并给用户很大的自由度,允许用户随时添加自己所需要的新功能。   本文将虚拟仪器技术应用于CANopen协议开发,有利于实现分布式工业现场的实时监控、数据采集,改善现场总线网络通信
[测试测量]
基于<font color='red'>虚拟</font>仪器的CANopen协议监控面板设计
基于虚拟仪器的离合器膜片弹簧参数测试系统的实验研究
1系统硬件设计   该测试系统的整体结构为门式结构,在工作台上加装液压系统实现自动控制(图1),测试系 统硬件主要有工作台、横梁和立柱组成其加载框架。加载框架支承在箱体总成上。加载缸固 定在工作台下的箱体中,其活塞杆穿过工作台。下压头固定在加载缸的活塞杆上,其动作范 围由行程开关调节。上油缸固定在调整螺杆上,调整螺杆由两个螺母固定在横梁上。上压头 通过油缸和力传感器与调整螺杆联结。调整螺杆可以根据不同型号弹簧所需要的空间上下调 整。固定在油缸下部的位移传感器A用于测量弹簧轴向受力时的整体变形。工作台上的三个 位移传感器B1~B3用于测量弹簧大端的变形量。力传感器用来测量加在膜片弹簧上的载 荷。这5路传感器信号经过信号调理电路后传
[测试测量]
基于<font color='red'>虚拟</font>仪器的离合器膜片弹簧参数测试系统的实验研究
风河与NFV软件携手发展运营商级虚拟业务CPE参考设计
全球领先的物联网软件提供商风河公司与四大NFV(网络功能虚拟化)软件合作伙伴紧密合作,推出了虚拟业务客户端设备(vBCPE)的参考设计。以Brocade、Check Point、 InfoVista 和Riverbed为合作伙伴,风河展示了一个运行在Wind River Titanium Server NFV 基础架构(NFVI)之上的完整多功能虚拟业务客户端设备。 随着服务提供商逐渐发现NFV的价值,业务CPE应用开始作为一种前期应用实例开始大量出现,由此极大节约了运营成本。CPE功能的虚拟化通常是作为独立的物理应用来实施的,可更高效地利用运算资源,增加服务部署灵活性,且无需上门升级与维护远端设备,这些特色
[网络通信]
3D互动虚拟试衣镜诞生 可用手势切换服装
当你想要购买新衣服时,通常都会到商场里去试试这件衣服自己穿在身上就究竟是否合身,但是有些顾客在商场里试了半天、挑来挑去最终觉得不合适就会放弃购买,这也让许多商家觉得非常苦恼。现在,一家来自日本大阪的Digital Fashhion公司就针对这种情况发明了一种非常独特的3D互动虚拟试衣镜。 互动虚拟试衣镜诞生 这款3D互动虚拟试衣镜名叫Active Lab,工作原理就是通过试衣镜上的相机传感器捕捉顾客的影像及动作,然后通过计算机的运算将衣服的3D画面与顾客的影响进行重叠,从而达到虚拟的试衣效果。这款3D互动虚拟试衣镜不仅能够显示顾客在尝试某件衣服时的效果,而且还可以让衣物随着顾客的动作进行摆动、掀起等实时同步,并
[家用电子]
永磁同步电机FOC控制的基本原理及Matlab/Simulink仿真分析
前言 做永磁同步电机控制绕不开FOC,本章节主要介绍FOC控制的基本原理、坐标变换以及永磁同步电机在同步旋转坐标系下的数学模型,并通过Matlab/Simulink进行永磁同步电机FOC控制算法的仿真分析。 一、FOC的基本原理 磁场定向控制(Field-Oriented Control,FOC)系统的基本思想是:通过坐标变换,在按转子磁场定向同步旋转坐标系中,得到等效的直流电动机模型,仿照直流电动机的控制方法控制电磁转矩与磁链,然后将转子磁链定向坐标系中的控制量反变换得到三相坐标系的对应量,以实施控制,具体流程如下图所示: FOC最重要的原则是:按转子磁场定向,即保持转子磁链旋转矢量始终与dq坐标系下的d轴重合,q轴正交
[嵌入式]
永磁同步电机FOC控制的基本原理及<font color='red'>Matlab</font>/Simulink仿真分析
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved