擅长:python、mysql、java
<p>很好,帮了大忙!
对于任何想做同样事情的人,下面是一个python文件:</p>
<pre class="lang-py prettyprint-override"><code>
import numpy as np
from matplotlib.pyplot import plot, legend
def shift(n, N):
s = np.zeros(N)
s[n] = 1.0
return np.fft.fft(s)
t = np.linspace(0, 2*np.pi,1000)
v0 = np.sin(t)
S = shift(1000//4, 1000) # shift by pi/4
VS = np.fft.fft(v0)*S
vs = np.fft.ifft(VS)
plot(t, v0 , label='original' )
plot(t,vs.real,label='shifted in frequency domain')
legend()
</code></pre>
<p><a href="https://i.stack.imgur.com/jlYOp.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/jlYOp.png" alt="enter image description here"/></a></p>