【问题标题】:LabVIEW Measured Frequency of Simulated Digital Signal Too HighLabVIEW测得的模拟数字信号频率过高
【发布时间】:2019-12-07 20:39:56
【问题描述】:
【问题讨论】:
标签:
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 来测量频率,但在我刚开始的时候由于某种原因它对我不起作用,更重要的是我想学习如何自己编程。