【问题标题】:LabVIEW Measured Frequency of Simulated Digital Signal Too HighLabVIEW测得的模拟数字信号频率过高
【发布时间】:2019-12-07 20:39:56
【问题描述】:

我正在尝试根据SOLVED: measure frequency of digital random signal 测量模拟数字信号的频率。我不需要平均窗口,因为我的信号将是一致的而不是随机的。

代码:

这是我的代码,与解决方案中的代码相同,但减去了平均窗口:

问题:

我的模拟信号是 0-5 VDC 方波,频率为 100 Hz,采样率为 1000 Hz。 为什么输出我的频率是 125 Hz?(注意:无论我输入什么频率值,我测量的值都高于真实值)

【问题讨论】:

    标签: signal-processing frequency labview digital


    【解决方案1】:

    这对我来说是一个愚蠢的逻辑错误。在加入Periods 队列之前,我忘了最后一次将dt 添加到Period

    Periods 保存每个记录的信号半周期的时间长度(因此在输出到图表之前最后除以二)。在本例中,信号频率为 100 Hz(周期 0.01 秒),因此每半个周期为 0.005 秒长。通过在排队之前不添加最后一个采样周期,我是说每半个周期是 0.004 秒。这就是频率为 125 Hz 的原因(0.5 个周期 / 0.004 秒 = 125 Hz)。

    因此,由于无论是否发生过零,我们都应该将dt 添加到Period,因此我们通过将添加从select 语句的False 情况移到select 语句之前来修复代码,并简单地传递队列并通过False 案例求和(见下文)。

    如果为真:

    如果为假:

    注意: 可以使用 Express >> Signal Analysis >> Timing and Transitions VI 来测量频率,但在我刚开始的时候由于某种原因它对我不起作用,更重要的是我想学习如何自己编程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-03
      • 1970-01-01
      • 2013-02-13
      • 2021-08-28
      • 2015-06-10
      • 2017-07-23
      • 1970-01-01
      相关资源
      最近更新 更多