声卡和Matlab的虚拟信号发生器的工作原理
出处:21ic 发布于:2018-08-03 13:56:40
1基于Matlab和声卡的虚拟信号发生器的设计与实现
1.1系统实现原理
通常PC机配置的声卡提供了麦克风输入和扬声器输出2个接口,他集成了信号输入/输出需要的模/数转换器(ADC)和数/模转换器(DAC),因此,利用Matlab软件产生的各种虚拟信号通过声卡的DAC单元就可以直接输出。
只需要用音频线将软件系统产生的信号由线性输出(lineout)接口引出,就可以通过声卡直接作为信号源输出,显然,在这种虚拟信号发生器系统中,只需要一台带有普通多媒体声卡并安装了Matlab软件的PC机就可以满足要求实现虚拟信号的输出,系统结构简单方便。
1.2基于Matlab的信号发生器的实现方法
Matlab的数据采集工具箱(DAT)提供了一系列的函数和命令来实现实时模拟信号的输出,通过调用这些函数和命令可以直接控制声卡输出虚拟信号,在Matlab中用声卡产生虚拟信号的过程.
Matlab的数据采集工具箱提供的控制声卡输出模拟信号的主要函数和命令如下:
(1)初始化操作
Matlab将声卡等设备都作为对象处理,其后的一切操作都不与硬件直接相关,而是通过对该对象的操作来作用对象,所以,首先要为声卡建立一个设备对象。
ao=analogouput('winsound')
analogouput()为模拟输出设备对象建立函数,通过该函数将声卡映射为Matlab环境中的一个模拟输出设备对象句柄。winsound为声卡设备驱动程序。
(2)添加数据输出通道操作
Matlab中用于添加数据输出通道操作的函数为addchannel,其函数格式如下:
chan=addchanel(ao,ch)
其中:ao为声卡对象的句柄(下同),ch为声卡通道号,为2通道。
(3)输出数据操作
Matlab中用于输出数据操作的函数为putdata,其函数格式如下:
putudata(ao,data)
其中:data为所需要输出的数据。
(4)启动并触发声卡设备操作
当完成输出数据操作后,并没有真正输出数据,必须启动声卡,才能对外输出信号,启动并触发声卡设备操作的命令如下:
start(ao)
(5)停止并删除声卡设备操作
Matlab的数据采集工具箱和图形用户接口提供了十分简便的实现声卡输出功能的命令和函数,利用Matlab和声卡设计虚拟信号发生器十分方便,而在硬件上只需要一块声卡,无需添加任何其他设备,价格十分便宜。虽然声卡的设计是以产生声音为目的,有效的音频范围和输出电压的幅度在一定程度上限制了他的使用,但这已完满足产生基本信号源的要求。在本设计的基础上,通过进一步的Matlab编程或硬件上的改进和扩展,可以实现一些常规仪器设备不能产生的信号,这在实际应用中具有广泛的推广应用前景。
信号输出完成后,声卡设备仍然保留在计算机系统中,若不将声卡设备停止并删除,计算机系统中仍会保留该设备,在下次启动虚拟信号发生器系统时将会发出声卡设备仍然在使用的错误信息。
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- BiCMOS 运算放大器的知识2024/4/16 17:41:17
- 模数转换 – 性能标准2024/4/8 16:37:02
- 解析 PWM (DAC) 性能:第 4 部分 – 非均匀占空比组2024/3/28 17:23:37
- 了解运算放大器的输出信号摆幅2024/3/18 16:29:20
- 模拟和数字传感器和转换器2024/3/7 16:39:16
- 英特尔数据存储如何操作和实现
- 什么是微动开关_微动开关有什么用_微动开关使用方法
- VCC,VDD,VEE,VSS在电源原理图中有什么区别?
- 低压配电系统设计规范_低压配电系统设计注意事项
- xEV 主逆变器电源模块中第四代 SiC MOSFET 的短路测试
- 光耦详细应用教程
- 定义绝缘耐久性评估的电压脉冲测试要求
- 采用沟槽MOS结构,使存在权衡关系的VF和IR相比以往产品得到显著改善 ROHM推出实现业界超快trr的100V耐压SBD“YQ系列”
- NOVOSENSE - 纳芯微推出车规级温湿度传感器NSHT30-Q1,助力汽车智能化发展
- Keysight - EV 电池设计创新:扩大续航里程、延长电池寿命