首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从两个随时间移动的信号之和中提取信号

从两个随时间移动的信号之和中提取信号
EN

Stack Overflow用户
提问于 2022-09-19 14:50:18
回答 2查看 41关注 0票数 0

我有一个信号(Sout(t)),它是两个(几乎)相同信号(S)被已知延迟dt移动的和:

代码语言:javascript
复制
Sout(t) = S(t)+S(t-dt)

如何重建原始S(t)?我用蟒蛇编程。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-09-19 15:04:00

你有一个有效的信号通过一个FIR滤波器。FIR-滤波器的响应为1,0,0,0,0,1形式,其中零的数目应该是(dt*f_sampling -1)。

根据这篇文章,您可以使用inverse-filtering-using-python标准函数对这些信号进行逆滤波。

票数 0
EN

Stack Overflow用户

发布于 2022-09-19 15:15:24

您可以实现许多方法,傅立叶变换可能是最好的方法,因为您知道延迟,我们可以将这个问题表述如下:

代码语言:javascript
复制
I- Apply the fourier transfrom :

F(Sout(t)) = F(S(t)) + F(S(t-dt))

 Note : 
 1. F(Sout(t)) -> Sfout(f)
 2. F(S(t)) -> Sf(f)

II- Extract Sf(f) :

Sfout(f) = Sf(f) + Sf(f) * exp(-j2*pi*f*dt)
Sfout(f) = Sf(f) * (1 + exp(-j2*pi*f*dt))
Sf(f) = Sfout(f) / (1 + exp(-j2*pi*f*dt))

III- Apply inverse fourier transfrom to get S(t) :

S(t) = InvF(Sfout(f) / (1 + exp(-j2*pi*f*dt)))

在python中,您可以使用Sfout = np.fft.fft(Sout)调用快速傅立叶转换,逆序运行这一个S = np.fft.ifft(Sfout)

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

https://stackoverflow.com/questions/73775337

复制
相关文章

相似问题

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