【NI-DAQmx入门】外部采样时钟相关

news/2024/11/23 0:06:38/

1.时钟的作用

        时钟在几乎所有测量系统中都起着至关重要的作用。通过硬件定时测量,时钟控制采样或更新的发生时间。与依赖软件计时测量相比,您可以选择硬件定时测量来实现采样或更新之间更一致的时间间隔。以数模转换器特性分析为例。该应用由三个基本部分组成:数模转换器 (DAC) 的数字数据激励、时钟信号以及用于采集 DAC 生成的模拟波形的数字化仪。DAC 在时钟信号的每个上升沿输入一个新的 n 位字,以生成模拟波形中的一个点。如果 DAC 的时钟信号存在误差,则 DAC 生成的模拟信号会反映该误差。

2.时钟误差的组成部分

        时钟通常由晶体振荡器生成,并且没有振荡器完美地生成指定的频率。时钟误差由三个主要部分组成:精度、稳定性和抖动。时钟精度描述了实际频率与指定频率的匹配程度。时钟精度可能会受到振荡器晶体的质量以及振荡器的组装方式等因素的影响。时钟稳定性描述了振荡器频率抵抗波动的能力。影响稳定性的主要因素是温度变化,尽管随着时间的推移而老化、电源电压、冲击、振动以及时钟必须驱动的电容负载都会影响时钟稳定性。抖动是指时钟周期从一个边沿到下一个边沿的微小变化,测量设备上的每个附加硬件组件都会增加抖动。

        在每个图中,虚线表示指定的所需频率,实线表示振荡器生成的实际频率。左上图显示了一个不准确且不稳定的时钟;实际频率并不以所需频率为中心,而是随时间变化。右上图显示了一个准确但不稳定的时钟;实际频率以指定频率为中心,但仍随时间变化。相反,左下图显示了一个不准确但稳定的时钟;实际频率并不以所需频率为中心,但振荡器的输出频率不会随时间变化。完美的振荡器会产生如右下图中所示的频率,其中时钟对于所需频率是准确的,并且不随时间变化。

        实际上,如果放大每个图表,您会看到从一个样本到下一个样本的输出频率的微小变化。振荡器产生的实际频率中的这种明显噪声将代表时钟抖动。

3.时钟误差的影响

        假设 DAC 产生特定频率的正弦波。有了完美的更新时钟,频域结果将是基频的单个脉冲。如果更新时钟不准确,则 DAC 的实际频率输出就会偏离所需频率。如果更新时钟准确但包含抖动,则 DAC 的输出包含除所需基频之外的多个频率分量。为了说明稳定性的影响,您需要检查频域随时间的变化,并了解 DAC 的频率输出如何随时间变化。

 

4.那种情况会用到外部时钟?

        在一些应用中,用外部的时钟源替换DAQ设备的时基是必要的。这样做的原因可能是由于

  • 应用需要一个比内部时钟更加稳定的时基
    • 需要极其精确时基的应用将受益于基于铷或恒温晶体振荡器 (OCXO) 的频率源的使用。这些设备的精度可以优于±100 ppb。例如,精度为 ±100 ppb 的 OCXO 源可产生不确定度为 ±1 Hz 的 10 MHz 时钟。
  • 以输入信号的速率捕获数据
    • 如果要对非N分频采样率的信号进行采样,这时候需要用到采样时钟。通常用户需要配置一个TTL脉冲序列,由该序列充当外部采样时钟,该信号的每个买车呢用于同时采样所有通道的数据。
  • 为了在同样的电脑或者机箱中将设备和其他的设备同步。
    • 外部时钟提供了一种通过将公共时钟分配给多个设备来将高速数字化仪与测量系统中的其他设备同步的方法。此外,外部时钟可以在多个 PXI 机箱之间提供一致的时基。

        每个NI板卡都有一个实时系统集成(RTSI)连接器来将板卡的时基用外部时钟源替换。有一个特定的被保留的RTSI引脚“RTSI 时钟”来引入这个时钟。RTSI时钟是唯一的可以驱动内部时基的引脚。没有其他的RTSI引脚或者PFI引脚可以实现这个功能。可以通过LabVIEW中的 Route Signal VI或者使用NI-DAQ API时的Select_Signal功能来实现这个配置。

5.使用外部采样时钟时为什么要指定采样率?

        NI-DAQmx需要使用您输入的采样率来计算您数据采集操作过程中所需使用的缓存大小。如果您想要指定某一特定的缓存大小,使用DAQmx中的Configure Input Buffer VI或者DAQmx中的Configure Output Buffer VI来实现。

6.频率误差和频率精度的关系?

        频率精度(或称为定时精度)通常以采样率的百万分率(ppm)给出。此值取决于您使用的设备,可以在设备的规格手册中找到。除了频率精度(f a )之外,还可以使用下面的算式计算频率误差(f e ):
测量频率(f m )=信号频率(f s )±频率误差(f e )。

重新排列上述等式以计算频率误差:
频率误差(f e )=信号频率(f s )*频率精度(f a )。

        例:
        若使用频率精度为25 ppm的设备测量精确的100kHz正弦波,则频率误差为100,000Hz * 25 / 1,000,000 = 2.5Hz。因此,频率精度为100kHz±2.5Hz。

        若使用频率精度为50 ppm的设备生成1kHz的正弦波。则频率误差为1,000Hz * 50 / 1,000,000 = 50mHz。因此,频率精度为1kHz±50mHz。


 


http://www.ppmy.cn/news/1200871.html

相关文章

记录:Unity脚本的编写5.0

目录 前言创建动画Unity Animation、Animator常用类关于两者的区别Animator 编写脚本 大型连续剧之在untiy中(或者别的什么活动) 前言 之前在场景中添加了背景音乐,而在我们的日常的体验中,可以发现游戏或者场景中有很多有趣的动…

ACWing.第 128 场周赛 (B、C题解)

B、5286. 翻倍(思维推导) 一、题目要求 给定两个正整数,初始时两数均为 1。 你可以进行任意次(也可以不进行)翻倍操作,每次操作任选一个非负整数 k,令两数中的一个数乘以 k,另一个…

Linux 系统管理工具 supervisor 详解

目录 1. Linux 系统管理工具 supervisor 详解1.1. supervisor 进程管理服务组成1.2. 进程管理服务部署1.3. 进程管理服务配置信息1.4. 进程管理服务命令使用1.5. 进程管理服务启动应用1.6. 进程管理服务进程1.6.1. 进程管理应用实战-Nginx 1. Linux 系统管理工具 supervisor 详…

面试问题?

1.面向对象的特征? 2.开放闭合 3.java中的泛型可以用基本类型吗? 4.重载和重写的区别? 5.string、stringbuffer、stringbuilder? 6.单例模式的实现方式有哪几种? 7.volicate除了保证 8.sy是重量级锁还是轻量级锁&#xff…

self.register_buffer方法使用解析(pytorch)

self.register_buffer就是pytorch框架用来保存不更新参数的方法。 列子如下: self.register_buffer("position_emb", torch.randn((5, 3)))第一个参数position_emb传入一个字符串,表示这组参数的名字,第二个就是tensor形式的参数…

如何快速学会自动化测试?

前言 自动化测试是现代软件开发领域中越来越流行的一种测试方法。它使用软件工具和脚本来执行测试,以提高测试的效率和准确性,减少测试的成本和时间。下面是一些常见的自动化测试技术,以及它们的优缺点。 同时,在这我准备了一份…

德国爆发大规模勒索软件攻击,超70个城市市政服务瘫痪

根据11月3日消息称,德国西部本周发生大规模勒索软件攻击,多个城市和地区的地方政府服务陷入瘫痪。 上周一(10月30日)早上,德国地方市政服务提供商Sdwestfalen IT公司的服务器被未知的黑客团伙加密。为阻止恶意软件传播…

串口通信(3)-接收一组固定长度的数据

本文为博主 日月同辉,与我共生,csdn原创首发。希望看完后能对你有所帮助,不足之处请指正!一起交流学习,共同进步! > 发布人:日月同辉,与我共生_单片机-CSDN博客 > 欢迎你为独创博主日月同…