繁体   English   中英

我有一个等间隔 25 毫秒的样本数组。 我想确定基频的频谱

[英]I have an array of samples at equal intervals of 25 ms. I want to determine the frequency spectrum for the fundamental

假设 N=1000 个电压样本,采样率为 1 ms。 我需要使用 python/numpy 精确找到基波的幅度和角度,它在 45 到 55 Hz 之间以及可能存在的任何边带。 我需要锁相环来做到这一点,还是可以不用?

您的测量频率从根本上来说太低了,应该是您预期事件频率的两倍以上!

测量:0.025s
事件范围:0.0182-0.0222s

更多信息: https : //en.wikipedia.org/wiki/Nyquist%E2%80%93Shannon_sampling_theorem

锁相环是估计基波频率等的合理方法。 假设您预先收集了 N 个样本,另一种进行分析的方法是:

  1. 应用一个窗口,比如np.hanning(N) ,通过将它与样本逐点相乘。
  2. 使用np.fft.rfft计算频谱。 对于Ts秒的采样间隔,结果数组的第 n 个元素是频率n * N * Ts的 DFT 系数,单位为 Hz(或值 N=1000,Ts=0.001,简单的n Hz)。
  3. 找到峰值幅度在 45 到 55 之间的区间。峰值的位置给出了基波的频率。 您可以在几个相邻的区间内插入多项式 ( np.polyfit ) 并找到其峰值以获得更精确的估计。 峰值的幅度和复相位给出了基波的幅度和相位(角度)。
  4. 绘制频谱幅度以寻找边带。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM