簡體   English   中英

使用 python 插值測量的正弦波

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM