为什么按时间频率采样的函数不重复?
Why function sampled in time frequency is not repeating?
我正在阅读我的讲座,发现了这个数字:
sampled signal in frequency domain
所以,我得到采样后的连续函数,在频域中,应该重复原始连续函数的模式。但是在我的 Python 代码中,我只得到一个正方形,它应该是
更多的方块重复。我是信号新手(我不是工程师,这是一门附加课程)所以我对我的代码有点困惑。我错过了什么吗?对不起,如果它是愚蠢的或概念误解。
def g(t):
if t == 0:
return 1
return np.sin(1.5*np.pi*t) / (1.5*np.pi*t)
if __name__ == '__main__':
n = 40
fs = 100 # 0.01
t = np.arange(-n, n, 1.0/fs)
y = [g(i) for i in t]
plt.plot(t, y)
plt.xlim(-5, 5)
plt.show()
# Impulse train
n = 40
T = 1.0/2.5
tn = np.arange(-n, n, T)
# y2 = [1 for i in range(len(tn))]
nT = tn*T
y2 = [g(i) for i in nT]
# Sampled g
plt.stem(nT, y2, 'r', markerfmt='C3o', use_line_collection=True)
plt.xlim(-0.9, 0.9)
plt.show()
fft_s = fft(y2)
plt.plot(fftshift(fftfreq(len(fft_s ))),
fftshift(np.abs(fft_s )))
plt.show()
Fourier-Transformation
(您的图中有)和 FFT
(您正在计算)之间存在细微但重要的区别。 FFT
是傅里叶变换的离散(计算效率高)版本。但是,由于 FFT 是一种在样本上定义的方法,因此它从 -Fs/2 到 +Fs/2,其中 Fs 是采样率。我相信您已经将频率归一化,因此它从 -0.5 变为 0.5。但是,您所描述的效果只能在高于采样频率一半的频率下看到(因此就在 FFT 之外)。
您提供的图片显示的是采样对“真实”的影响,即连续光谱。通过定义和一些积分求解函数实际计算傅里叶变换,您可能会看到这种效果。
你在使用 FFT 时可以看到的是当采样频率选择不正确时会发生什么,即采样频率大于信号带宽的两倍(这被称为奈奎斯特定理)。在这种情况下,外部频谱“移动”得非常接近原始频谱,以至于它们重叠并导致所需信号不正确。在这种情况下,重建是不可能的。
我正在阅读我的讲座,发现了这个数字: sampled signal in frequency domain
所以,我得到采样后的连续函数,在频域中,应该重复原始连续函数的模式。但是在我的 Python 代码中,我只得到一个正方形,它应该是 更多的方块重复。我是信号新手(我不是工程师,这是一门附加课程)所以我对我的代码有点困惑。我错过了什么吗?对不起,如果它是愚蠢的或概念误解。
def g(t):
if t == 0:
return 1
return np.sin(1.5*np.pi*t) / (1.5*np.pi*t)
if __name__ == '__main__':
n = 40
fs = 100 # 0.01
t = np.arange(-n, n, 1.0/fs)
y = [g(i) for i in t]
plt.plot(t, y)
plt.xlim(-5, 5)
plt.show()
# Impulse train
n = 40
T = 1.0/2.5
tn = np.arange(-n, n, T)
# y2 = [1 for i in range(len(tn))]
nT = tn*T
y2 = [g(i) for i in nT]
# Sampled g
plt.stem(nT, y2, 'r', markerfmt='C3o', use_line_collection=True)
plt.xlim(-0.9, 0.9)
plt.show()
fft_s = fft(y2)
plt.plot(fftshift(fftfreq(len(fft_s ))),
fftshift(np.abs(fft_s )))
plt.show()
Fourier-Transformation
(您的图中有)和 FFT
(您正在计算)之间存在细微但重要的区别。 FFT
是傅里叶变换的离散(计算效率高)版本。但是,由于 FFT 是一种在样本上定义的方法,因此它从 -Fs/2 到 +Fs/2,其中 Fs 是采样率。我相信您已经将频率归一化,因此它从 -0.5 变为 0.5。但是,您所描述的效果只能在高于采样频率一半的频率下看到(因此就在 FFT 之外)。
您提供的图片显示的是采样对“真实”的影响,即连续光谱。通过定义和一些积分求解函数实际计算傅里叶变换,您可能会看到这种效果。
你在使用 FFT 时可以看到的是当采样频率选择不正确时会发生什么,即采样频率大于信号带宽的两倍(这被称为奈奎斯特定理)。在这种情况下,外部频谱“移动”得非常接近原始频谱,以至于它们重叠并导致所需信号不正确。在这种情况下,重建是不可能的。