[英]I/p frequency is 8000 Hz then why why does the output of following code shows peak at 2000 Hz?
The i/p frequency is 8000 Hz. i/p 频率为 8000 Hz。 Why does the o/p of the following code shows, a peak in spectrogram at 2000 Hz?
为什么以下代码的 o/p 显示频谱图中 2000 Hz 处的峰值? I am new to the spectrogram, can anyone please explain?
我是频谱图的新手,谁能解释一下?
from scipy import signal
import matplotlib.pyplot as plt
import numpy as np
time = np.linspace(start = 0, stop = 10, num = 100000)
t1 = time[0,]
t2 = time[1,]
del_t = t2-t1
fs = 1e4 #np.ceil(1/del_t)
ip_f = 8000
x = np.sin(2*np.pi*ip_f*time)
# plt.plot(time,x)
op_f, op_t, op_Sxx = signal.spectrogram(x, fs)
plt.pcolormesh(op_t, op_f, op_Sxx, shading='gouraud')
plt.ylabel('Frequency [Hz]')
plt.xlabel('Time [sec]')
plt.show()
If your sample rate is only 10 kHz then 8 kHz is above the Nyquist Frequency (5 kHz).如果您的采样率仅为 10 kHz,则 8 kHz 高于奈奎斯特频率(5 kHz)。 It will alias to 2 kHz, as you have seen.
如您所见,它将别名为 2 kHz。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.