首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用python插值实测正弦波

用python插值实测正弦波
EN

Stack Overflow用户
提问于 2021-03-05 14:15:36
回答 1查看 532关注 0票数 2

我用DSO测量了两个采样的正弦波。其采样率为160 GSa/s,my信号为60 GHz。我需要找到两个正弦波之间的相位差。两者的频率是一样的。然而,采样率不足以准确地确定相位。有没有办法对被测信号进行插值,得到更好的正弦波,然后计算相位差?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-05 14:43:43

您可以使用fit to sine functions,但是对于相位差(增量phi=2pi频率δt),检测和比较零点(可能是一个可能的常量偏移)就足够了,可以通过插值从序列的某个片段中找到这些值,例如

代码语言:javascript
复制
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)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66494110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档