我用DSO测量了两个采样的正弦波。其采样率为160 GSa/s,my信号为60 GHz。我需要找到两个正弦波之间的相位差。两者的频率是一样的。然而,采样率不足以准确地确定相位。有没有办法对被测信号进行插值,得到更好的正弦波,然后计算相位差?
发布于 2021-03-05 14:43:43
您可以使用fit to sine functions,但是对于相位差(增量phi=2pi频率δ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/2)cos(delta_phi)。
https://stackoverflow.com/questions/66494110
复制相似问题