[英]Interpolating measured sine wave using python
我從 DSO 獲得了 2 個采樣正弦波作為測量值。 DSO 的采樣率為 160 GSa/s,我的信號為 60 GHz。 我需要找到兩個正弦波之間的相位差。 兩者頻率相同。 但是,采樣率不足以准確確定相位。 有什么方法可以對測量的信號進行插值以獲得更好的正弦波,然后計算相位差?
您可能適合正弦函數,但對於相位差( delta phi=2pi 頻率 delta t ),檢測和比較過零(相應的可能恆定偏移)就足夠了,這可以從您的一段中找到插值系列
w=6.38 # some radian frequency
t = np.linspace(0, 0.5) # time interval containing ONE zero-crossing
delta_phi=0.1 # some phase difference
x = np.sin(w*t-delta_phi) # x(t)
f = interpolate.interp1d(x, t) # interpolate t(x), default is linear
delta_t = f(0) # zero-crossing time referred to t=0
delta_phi_detected= w*delta_t
您需要關聯信號的兩個相鄰零交叉點。
或者,如果兩個信號都具有(或被制成)零平均值,您可以通過將兩個信號乘以時間 T 上的數值積分來獲得平均值,該時間T收斂到(T/2)cos(delta_phi) 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.