声卡输出通道有模拟滤波器吗
发布网友
发布时间:2023-07-10 02:44
我来回答
共2个回答
热心网友
时间:2024-12-02 02:52
根据相关资料查询,声卡输出通道有模拟滤波器的。
热心网友
时间:2024-12-02 02:52
数据采集及模拟滤波器介绍
一、数据采集简介
数据采集是通过数据采集系统实现的。在建立任何一个数据系统之前,应该明确需要测量的物理量、所测量物理量的特性、传感器的选取以及数据采集硬件设备的选取等。MATLAB数据采集工具箱提供了数据采集系统硬件交互的简便方法。
1.1 数据采集系统
数据采集系统可以看作是一种软件
第 1 页
和硬件的集合,实现用户与物理世界的连接。一个典型的数据采集系统由下列几部分组成:
⑴数据采集硬件
主要功能将模拟信号转变为数字信号,并将数字信号转变为模拟信号。
⑵传感器与变送器
将输入某种形式能量转换为另一种形式能量输出的装置。
⑶信号调理器
第 2 页
传感器的输出信号通常与数据采集设备部兼容,为克服不兼容性,传感器输出信号必须进行调理。如:将输入信号进行放大或去除噪声频率成分。
⑷计算机
在数据采集系统中计算机提供处理器、系统时钟、数据传输总线以及存储数据所需的内存和磁盘空间。
⑸软件
⑹数据采集硬件
第 3 页
数据采集系统按其所属子系统进行分类,包括:
● 模拟量输入
● 模拟量输出
● 数字量输入/输出
● 定时/计数器
1.2 数据采集工具箱简介
数据采集工具箱集成了用于数据采集的M文件格式的函数及MEX文件格式的动态链接库。主要特征:
第 4 页
⑴提供了将实时测量数据从数据采集硬件采集到MATLAB中的框架
⑵支持模拟输入量输入(AI)、模拟量输出(AO)以及数字量I/O子系统,包括模拟量I/O实时转换。
⑶支持下列通用硬件设备
● 基于研华(Advantech)设备管理器的研华工控板
● 安捷伦科技EI432A/33A/34A VXI模件
● 采用DriverLINX驱动的Keithley模块
第 5 页
● 测量与处理模件
● 使用NI-DAQ软件的美国国家仪器公司(NI)的模件
● 计算机并行口LPT1-LPT3
● 声卡
⑷采用事件驱动模式进行数据采集。数据采集工具箱由3部分组成:M文件格式的函数、数据采集引擎以及硬件驱动。这些组成部分使得MATLAB与数据采集硬件之间的信息传递成为可能。
传递的信息主要有:
第 6 页
⑴属性值
通过配置属性值可以控制数据采集过程,即用户可以把属性看成是可以按用户需求配置的工具箱或硬件驱动的特性。
⑵数据
用户可以从与模拟量输入子系统相连的传感器中获取数据并将之存储在MATLAB中。也可以将数据从MATLAB输出到与模拟量输出子系统相连的变换器中。此外,用户还可以在MATLAB与数字I/O子系统之间传递数字量信息。
第 7 页
⑶事件
事件在满足某个条件时就会发生,并产生用户所设定的一个或多个响应。事件只有在用户对相关属性进行配置之后才能触发。用户可以利用事件来分析达到预定采集量的数据,或当某个错误发出时在MATLAB中显示出错信息。
1、 M属性
为完成任务用户必须在MATLAB环境下调用M函数。一般M函数可以让用户完成如下工作:
第 8 页
⑴创建设备对象,设备对象提供了硬件性能的控制方法,通过设备对象用户可以控制采集系统的行为。
⑵获取或输出数据
⑶配置属性参数
⑷评估采集状态和硬件资源
2、 数据采集引擎
数据采集引擎是MEX动态链接库(DLL)文件,其作用如下:
⑴存储设备对象以及相应的用于控制数据采集过程的属性值‘
第 9 页
⑵控制事件的同步
⑶控制已获取或待发送数据的存储
在MATLAB工作空间中,存储数据不会自动获取,用户必须使用获取数据函数从引擎中获取数据。
采集数据操作主要由下列两步骤完成:
⑴从硬件获取数据并存储于引擎中
⑵从引擎中提取数据并存储于MATLAB中,或输出到磁盘文件中。
第 10 页
3、 硬件驱动适配器
硬件驱动适配器是数据采集引擎与硬件驱动之间的接口,其主要作用是在硬件驱动适配器与硬件设备之间通过驱动来传递信息。
4、 访问硬件
如何使用数据采集工具箱?最有效的学习方法就是组建好硬件系统,进行数据的输入或输出。
二 数据采集过程
数据采集过程包括了数据采集或输出的所有步骤。
第 11 页
⑴创建设备的一个对象:
用户可以使用模拟输入、模拟输出或数字输入/输出创建函数来创建一个设备对象。
⑵添加通道或数据线
创建好设备对象后,必须向对象中添加通道或数据线。模拟量输入和模拟量输出对象中应添加通道,而数字量输入、输出对象中应添加数据线。通道和数据线是硬件设备的基本元素,用户通过它们可以获取或输出数据。
第 12 页
⑶配置属性:
设定设备对象的行为。用户首先应设置函数属性为相应的值,也可以通过选择相应的值为设定属性的值。
用户可以在任何时候对大多数属性进行设置,然而有些属性只有在设备对象没有运行的时候才能进行设置。也可以跳过本步骤而使用默认的属性值。
⑷获取或输出数据:
为获取或输出数据时,设备对象将
第 13 页
按照用户先前所配置的属性值或默认值所设定的行为运行。
当获取数据后,用户应使用获取数据函数从引擎中提取数据。在输出数据之前,应使用放置数据函数将数据在引擎中进行排队。
⑸清除:
当不再需要设备对象时,应使用删除函数将设备对象从内存中清除,并使用清除命令将对象从MATLAB工作空间中清除。
2.1 创建一个设备对象
第 14 页
设备对象是用于访问硬件设备的工具箱组件,提供了硬件功能的控制通路,通过它可以控制数据采集应用系统的行为。每个设备对象都对应一个特定的硬件子系统。
设备对象需要通过调用对象创建函数来创建,对象创建函数式采用MATLAB提供的面向对象编程功能来创建的。数据采集工具箱中几个对象创建函数的名称及功能分别介绍如下:
● analoginput:创建一个模拟量输入对象。
第 15 页
● analogoutput:创建一个模拟量输出对象。
● digitalio:创建一个数字量I/O对象。
在创建对象之前,应对相关的硬件驱动适配器进行注册。一般适配器注册是自动进行的:如果由于某种原因适配器没有自动注册,可以使用daqregister函数手段注册。
可以通过daqhwinfo函数的ObjectConstructorName属性来查看任何为一特定的硬件子系统创建
第 16 页
设备对象。例如,为查看如何为NI硬件板卡创建一个模拟量输入对象,应将板卡的适配器名称作为daqhwinfo函数的输入参数。
⑴创建一个设备对象数组
在MATLAB中,可以将单个的变量整合在一起形成数组,对于设备对象此法也是适用的。
假设分别为一声卡创建了模拟量输入对象ai,模拟量输出对象ao:
ai=analoginput(‘winsound’)
ao= analogoutput(‘winsound’)
第 17 页
可以根据MATLAB语法创建由ai和ao元素组成行向量x
x=[ai ao]
输出如下:
Index: Subsystem: Name:
1 Analog Input winsound0-AI
2 Analog Output winsound0-AO
也可以创建列向量y:
y=[ai:ao]
第 18 页
输出同x=[ai ao]一样的结果。
在应用程序中,可以将设备对象作为函数的参数。
仅通过调用一个set函数来同时配置ai和ao对象的相同属性的属性值。例如:
Set(x,’SampleRate’,44100)
⑵设备对象的存在位置
创建好的设备对象,在MATLAB工作空间和数据采集引擎中同时存在。
第 19 页
假设创建了一个声卡的模拟输入设备对象ai,并定义了ai的一个备份myai:
ai=analoginput(‘winsound’);
myai=ai;
设备对象备份和原始对象ai是一样的。也就是说,如果对ai的某个属性设定相应的值,那么myai对象的相应属性也被赋予相应的属性值。例如:
set(ai,’SampleRate’,16920)
get(myai,’SampleRate’)
第 20 页
ans=
16920
由上面的例子可见,ai和myai返回相同的属性值是因为它们在数据采集引擎中映射的是同一个设备对象,如图1所示:
当删除原始设备对象和备份时,
第 21 页
设备对象的引擎将被删除。这时对象在工作空间中的任何备份将不再可用,因为它们不再映射到任何硬件。这样的设备对象称做“无效对象”
2.2 添加通道或数据线
通道和设计线是硬件设备的基本元素,数据采集系统通过它们来获取或输出数据。
创建好设备对象后,必须给对象添加通道或数据线。模拟量输入、输出对象需要添加通道,数字I/O对象需要添加数据线。添加到设备对象
第 22 页
的通道形成工作组,相应的添加到对象的数据线形成数据组。
以下列出了添加通道或数据线有关函数:
addchannel:向一个模拟量输入、输出对象添加硬件通道。
addline:向一个数字量I/O对象添加硬件数据线。
addmuxchannel:使用AMUX-64T多路复用器时用于添加通道。
例1 使用addchannel函数向一声卡的模拟量输入对象添加两个通道。
第 23 页
ai=analoginput(‘winsound’)
addchannel(ai,1:2)
输出如下:
Index: ChannelName: HwChannel: InputRange: SensorRange: UnitsRange: Units:
1 'Left' 1 [-1 1] [-1 1] [-1 1] 'Volts'
2 'Right' 2 [-1 1] [-1 1] [-1 1] 'Volts'
可以将设备对象看作通道或数据线
第 24 页
的容器,该容器表示了一个特定对象的元素的共有功能。对象的共有功能适用于对象包含的所有通道或数据线。例如,模拟量输入对象的采样速率对所有的通道都适用。相应的包含于设备对象的通道或数据线反映了一个特定通道或数据线功能。例如,用户可以基于每个通道来配置输入范围。
图2给出了一个模拟量输入对象与它所包含的通道之间的关系。
图2同样适用于数字量I/O对象,只用将通道替换为数据线即可。
第 25 页
当向一个设备对象添加通道时,所产生的通道组由硬件通道ID号与MATLAB索引之间的映射组成。硬件通道ID号是硬件供应商定义的用于唯一标识一个通道的数值。对于NI公司的产品,其通道号均从“0”开始计算;对于安捷伦科技的硬件产
第 26 页
品和声卡,通道号均从“1”开始计算.但用户在访问通道时,使用的是MATLAB索引而不是硬件ID号。值得注意的是MATLAB索引都是从1开始计算的。可以使用daqwinfo函数来返回产品供应商提供的硬件ID号。
第 27 页
百度文库
搜索

百度文库10亿海量资料,查找管理一应俱全
打开APP