Потому что это то, что вы (непреднамеренно) приказали сделать matplotlib.
>>> x
array([], dtype=float64)
x
- пустой массив, поэтому при его построении ничего не строится.Он пуст, потому что t
также является пустым массивом.Я не уверен, каковы ваши параметры, но arange
обычно следует использовать только с целочисленными значениями, а шаг (третий параметр) должен быть меньше значения остановки (второй параметр).Для генерации последовательности операций с плавающей точкой лучше использовать np.linspace
.
Исправляя это (и определяя генерацию сигнала с точки зрения частоты дискретизации, поскольку я не уверен, каковы ваши параметры), код для генерации сигнала сшум
import matplotlib.pyplot as plt
import numpy as np
## Parameters used
StopTime = 0.5 # End of signal
Fs = 1024 # Sampling rate
f = 30 # Frequency of simulated signal
## Generate sample times
t = np.linspace(0,StopTime, StopTime*Fs)
## Generate signal
x = np.sin(2*np.pi*t*f)
## Add noise to signal
noise = np.random.randn(len(x))
print('rms noise value:', sqrt(mean(randn(10000)**2)))
xn = x + noise
plt.plot(t, x)
plt.plot(t, xn)
plt.show()