我有一个信号(Sout(t)),它是两个(几乎)相同信号(S)被已知延迟dt移动的和:
Sout(t) = S(t)+S(t-dt)如何重建原始S(t)?我用蟒蛇编程。
发布于 2022-09-19 15:04:00
你有一个有效的信号通过一个FIR滤波器。FIR-滤波器的响应为1,0,0,0,0,1形式,其中零的数目应该是(dt*f_sampling -1)。
根据这篇文章,您可以使用inverse-filtering-using-python标准函数对这些信号进行逆滤波。
发布于 2022-09-19 15:15:24
您可以实现许多方法,傅立叶变换可能是最好的方法,因为您知道延迟,我们可以将这个问题表述如下:
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)。
https://stackoverflow.com/questions/73775337
复制相似问题