Labview控制APx(Audio Precision)进行测试测量(六)

用 LabVIEW 驱动 VIs生成任意波形
在 APx500 应用程序中,默认波形类型为正弦。这是指 APx 内置的正弦发生器,根据信号路径设置,许多测量还允许其他内置波形,如方波,分裂正弦波或分裂相位,以及使用导入的。wav 文件的任意波形。要向项目添加任意波形,用户在波形列表框控件(图 43,左)中选择 Browse for file…选项,并从 PC 上的磁盘驱动器中选择波形文件。一旦波形被添加到 APx 项目中,它们就可以从列表框中进行选择(图 43,右)。要恢复到正弦生成器,用户只需在列表框中选择正弦。
在这里插入图片描述
在 LabVIE W 驱动程序 VIs 中,可以使用图 44 所示的控件访问该波形功能,这些控件是信号发生器设置集群的一部分。在 LabVIEW 驱动程序中,波形名称控件是一个数组,其中包含加载到APx 项目中的所有波形的名称,选定波形索引是与当前选定波形相对应的波形名称数组的索引。例如,图 44 的左侧显示了如果将 APx 波形设置为正弦(索引 0),控件将如何显示,而图 44 的右侧显示了如果将 APx 波形设置 th 为项目中包含的任意波形(在本例中名为 7kHz-L_8kHz-R.wav 的
文件),控件将如何显示。在 LabVIEW 中,它是选定波形索引,用于改变 APx 中的波形。
在这里插入图片描述
您可以使用 My APx ProgramVI 进行尝试:首先使用图 43 左侧所示的波形-浏览文件…选项将几个波形加载到 APx 项目中。将 APx 中的波形控制设置为任何一个加载的文件。然后运行 VI。LabVIEW 中的波形名称控件将被更新,以包含您刚刚加载的波形列表,并且选定波形索引将对应于所选波形的索引。若要更改 APx 中的波形,请将选定波形索引更改为不同的数字,然后单击更新 APx 值按钮。所选择的 APx 波形将相应地改变。要更改将 LabVIE W 中的选定波形索引更改为 0(零),然后单击更新 APx 值按钮。
请注意,在 APx API 中没有为项目添加波形的规定;它们只能从 APx500 应用程序的 UI 添加到项目中。
在这里插入图片描述
在 LabVIEW 驱动 VIs 中,这个.wav 文件列表在信号采集和分析设置集群控制中作为一个标记为
“输入文件列表”的字符串数组来处理(图 46)。当 LabVIEW 获得设置时,这个字符串数组将被加载字符串,这样数组的每个元素表示 APx 文件列表中一个文件的全名和路径。然后可以使用LabVIEW 字符串到路径函数将这些字符串转换为 LabVIEW 文件路径。要使用 LabVIEW 删除文件,可以在使用 set 函数将数组传递回 APx 之前从数组末尾删除字符串元素。
在这里插入图片描述
重 新 配置测量设置

上面的例子说明了改变电平和增益测量的 APx 信号发生器和信号采集和分析设置。APxLabVIEW .NET 驱动程序 VI 使用相同的模型来更改 APx 中所有测量值的设置,如果您查看 VI
树的配置部分(图 11),您将看到每个测量值都有其中之一
一个或三个配置 VIs。这些具有三个 VIs 的测量是电平和增益,它们既有发电机设置,也有信号采集和分析设置。在这种情况下,有一个 GetSet 发生器 VI,一个 GetSet 信号采集与分析 VI 和一个 GetSet 所有 VI。这允许 LabVIE W 用户获取或设置发生器设置,信号采集和分析设置,或两者兼有。
只有一个配置 VI 的测量是那些在 APx 中只有发电机设置(例如,频率响应)或信号采集和分析设(例如噪声)的测量,但不是两者都有(图 47)。这些 VIs 应完全按照上述方式使用。在更改任何参数之前,您应该从 APx 获取当前设置,然后进行 set 更新 APx。此外,设置的 VIs 在设置后总是进行 get 操作,以确保返回正确的 APx 状态。
在这里插入图片描述
关于橙色控件
您可能想知道为什么到目前为止在本文档中介绍的 LabVIEW Driver VI 集群控件都是橙色的。这并不是因为我们喜欢橙色。相反,驱动程序 VIs 中橙色的控件是一种特殊类型的 LabVIEW 自定义控件,称为 Type Def. (type Definition 的缩写)。在 LabVIE W 中,Type 自定义控件是一种“主”控件。

当在 VIs 集合中使用 Type Def.控件时,维护代码要容易得多,因为如果更改 Type Def,包含该控件的任何 VIs 也将自动更新。这是一个方便的特性。例如,在驱动程序集合中的许多 VIs 中使用了一个低通过滤器控件。假设它所使用的 VIs 的数量是 50。如果没有使用 Type Def.用于此控件,当将来向 APx 添加新型低通滤波器时,必须打开并修改包含此控件的所有 50 个 VIs单独。由于控件是 Type Def.,因此只需要更改一次,而 50 个依赖的 VIs 将自动更新。使用橙色只是为了清楚地表明自定义控件是 Type Def.。

更改驱动程序 VIs 中使用的控件的橙色很容易。首先,您需要断开该控件与其 Type Def.的连接。
为此,右键单击集群控件的边缘并选择“断开与 Type Def.的连接”。您将弹出对话框以确认此操作。注意,许多集群控件包含的子控件也是 Type Defs。因此,您可能需要断开几个控件与其Type Defs 的连接,以完全移除橙色。图 48 演示了 Level & Gain Config 集群中一个 Type Defs 的过程,以及每个橙色控件的颜色被更改后的最终结果。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/32653.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

28.Netty源码之缓存一致性协议

Mpsc Queue 基础知识 Mpsc 的全称是 Multi Producer Single Consumer,多生产者单消费者。Mpsc Queue 可以保证多个生产者同时访问队列是线程安全的,而且同一时刻只允许一个消费者从队列中读取数据。 Netty Reactor 线程中任务队列 taskQueue 必须满足多个…

SQL | 高级数据过滤

5-高级数据过滤 通过组合WHERE子句,建立功能更强的检索语句。 5.1-组合WHERE子句 前面写的都是单一条件下的WHERE子句,SQL语句允许给出多个WHERE子句来组合检索,这些WHERE子句通过AND子句或者OR子句进行连接。 操作符(operato…

春秋云镜 CVE-2022-0948

春秋云镜 CVE-2022-0948 WordPress plugin Order Listener for WooCommerce SQLI 靶标介绍 WordPress 插件 Order Listener for WooCommerce 3.2.2 之前版本存在 SQL注入漏洞。 启动场景 漏洞利用 EXP curl http://example.com/?rest_route/olistener/new --data {"…

指针的一些笔试题

一: 二: 三: 四: 五: 六 七 八,printf对指针的 --操作是会改变pcc的,要继承,而单纯的数子,是不会改变原有位置的

springboot使用aop排除某些方法,更新从另外一张表,从另外一张表批量插入

AOP 在Spring Boot中使用AOP时,如果想要排除某些方法不被切面所影响,可以通过使用切面表达式中的!within关键字来实现。以下是一个示例: Aspect Component public class MyAspect {Before("execution(* com.example.service.*.*(..)) …

Git远程仓库

Git远程仓库 推送拉取git fetchgit pull 克隆 推送 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。那要怎么实现这种分布呢?我们可以找一台电脑充当服务器,也就是扮演远程仓库的角色,一直都处于开机…

用php语言写一个chatgpt3.5模型的例子

当然可以!使用PHP语言调用OpenAI API与ChatGPT-3.5模型进行交互。首先,确保你已经安装了PHP 7.2或更新版本,并具备可用的OpenAI API密钥。 下面是一个基本的PHP示例,展示了如何使用OpenAI API与ChatGPT-3.5模型进行对话&#xff…

Android 广播阻塞、延迟问题分析方法

一、问题 最近遇到一个问题,发送广播(普通广播)给另一个应用,但是广播需要要等约1min后才收到。 二、分析原因 原因是系统有个广播接收器在接收到广播后处理了接近50s,所以阻塞了后面的广播处理。如果大家也出现了广…

低代码助力传统制造业数字化转型策略

随着制造强国战略逐步实施,制造行业数字化逐渐进入快车道。提高生产管理的敏捷性、加强产品的全生命周期质量管理是企业数字化转型的核心诉求,也是需要思考的核心价值。就当下传统制造业的核心问题来看,低代码是最佳解决方案,那为…

【Linux 网络】NAT技术——缓解IPv4地址不足

NAT技术 NAT 技术背景NAT IP转换过程NAPTNAT 技术的缺陷 NAT(Network Address Translation,网络地址转换)技术,是解决IP地址不足的主要手段,并且能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算…

Seata - 入门笔记

1、事务 访问并可能更新数据库中数据库中各种数据线的一个程序执行单元 原子性:事务是一个不可分割的工作单位,一个事务要么都做要么都不做 一致性:必须是使数据库从一个一致性到另一个一致性的状态,中间状态不能被观察到 隔离…

Vector - CAPL - 诊断模块函数(流控制帧续)

目录 CanTpGetFirstSequenceNumber & CanTpSetFirstSequenceNumber 代码示例 CanTpIsUseFlowControlSTmin & CanTpIsUseFlowControlSTmin & CanTpUseFlowControlSTmin CanTpIsUseFlowControlFrames & CanTpUseFlowControlFrames 代码示例 CanTpSetFlowC…

京东秋招攻略,备考在线测评和网申笔试

京东秋招简介 伴随着社会竞争越来越激烈,人们投递简历的岗位也变得越来越多元,而无论人们的选择面变成何样,那些知名度较高的企业,永远都备受关注,只要其一发布招聘公告,总有人第一时间踊跃报名。而作为这…

动力节点|Spring6框架学习教程,从基础到手撕源码一套打通

Spring框架已广泛应用于诸多Java应用程序的开发中,它提供了很多解决方案及最佳实践,简化了Java应用程序的开发过程并加速了开发。 Spring6.0版本是下一个十年的新开端,动力节点老杜精心打造全新升级版Spring6教程,手把手教学&…

swiper vue修改数据,swiper不更新的问题

swiper第一次初始化的时候正常,但是当我改变源数据时,要么就是不能把数据显示完,要么就是没有翻页。尝试过重新赋值swiper,但是依旧没有解决,后面找到下面的方案,测试能够解决我的问题。 解决方案&#xf…

网络安全进阶学习第十五课——Oracle SQL注入

文章目录 一、Oracle数据库介绍二、Oracle和MySQL的语法差异:三、Oracle的数据库结构四、Oracle的重点系统表五、Oracle权限分类1、系统权限2、实体权限3、管理角色 六、oracle常用信息查询方法七、联合查询注入1、order by 猜字段数量2、查数据库版本和用户名3、查…

【框架类】—Vue3的生命周期

一、生命周期的相关函数 onBeforeMount 页面渲染之前 和 onMounted渲染之后 示例 <template><div class"test"><div ref"el">组件初始化</div></div> </template> <script> //按需引入所需方法 import { ref,…

vue中v-bind和v-model的区别

v-bind和v-model是Vue.js中的两个常用指令&#xff0c;它们在功能和用途上有一些区别。 v-bind指令&#xff08;或简写为:&#xff09;用于动态绑定数据到HTML属性(不是双向的)。它允许您将Vue实例的数据绑定到HTML元素的属性上&#xff0c;并根据数据的变化动态更新属性的值。…

Android Camera预览画面变形问题

csdn 问题 安卓camera1在预览时&#xff0c;预览画面看起来被拉伸了&#xff0e; 如图&#xff0c;圆形的盖子&#xff0c;变成椭圆形了&#xff0e; 代码 默认流程&#xff0c;如下为大致的打开摄像头并进行预览显示的代码 private Camera mCamera null; private Surfa…

一文盘点 Zebec 生态的几个利好预期

Zebec Protocol 是目前商业进展最快的流支付体系&#xff0c;也是推动流支付向 Web2 世界发展的主要生态。目前&#xff0c;其已经与包括 Visa、Master 等支付巨头展开了合作&#xff0c;以推出银行卡的方式进一步向金融发达地区推出 Zebec Card 以拓展业务&#xff0c;前不久其…