Skip to content

创建一个含 N(0,1) 加性噪声的 100 Hz 正弦波信号。采样频率为 1 kHz。信号长度为 1000 个采样点。

python
import numpy as np
from scipy import signal as signal
import matplotlib.pyplot as plt
from matplotlib.pylab import mpl
rng = np.random.default_rng()
mpl.rcParams['font.sans-serif'] = ['SimHei']   #显示中文
mpl.rcParams['axes.unicode_minus']=False       #显示负号

import numpy as np
t = np.linspace(0,1,1000)
y = np.sin(2*np.pi*10*t)+np.random.rand(1000)
python
plt.plot(t,y)
[<matplotlib.lines.Line2D at 0x1fdfa0a0ee0>]

png

计算并绘制功率谱密度。

python
f, Pxx_den = signal.welch(y,1000)
plt.plot(f, Pxx_den)

plt.xlabel('frequency [Hz]')
plt.ylabel('PSD [V**2/Hz]')
plt.show()

png