Ввод белого шума - PullRequest
       17

Ввод белого шума

0 голосов
/ 23 июня 2019

Я хотел бы добавить шум к детерминированному входу.

например,

# Input stimulus 
def stim(t): 
    if 0.0 < t < 1.0: 
        return 50.0 
    return 0.0    

эта функция возвращает импульс в течение первой миллисекунды - но я бы хотел добавить случайный шумовой сигнал

, когда я делаю это таким образом

среднее = 0 стандарт = 1

# Input stimulus 
def stim(t): 
    if 0.0 < t < 1.0: 
        return 50.0 + np.random.normal(mean,std)
    return 0.0  

тогда я действительно получаю процесс белого шума вдоль всей оси ??но я просто добавляю одно случайное число, а не процесс по всем т.

Цель состоит в том, чтобы оценить влияние входного белого шума на общее напряжение мембраны V (t), которое рассчитывается в системе ОДУ..

def compute_derivatives(y, t0): 
    dy = np.zeros((4,)) 

    Vm = y[0] 
    n = y[1] 
    m = y[2] 
    h = y[3] 


     # dVm/dt 
    GK = (gK / Cm) * np.power(n, 4.0) 
    GNa = (gNa / Cm) * np.power(m, 3.0) * h 
    GL = gL / Cm 

    dy[0] = (stim(t0) / Cm) - (GK * (Vm - VK)) - (GNa * (Vm - VNa)) - (GL * (Vm - Vl)) 

     # dn/dt 
    dy[1] = (alpha_n(Vm) * (1.0 - n)) - (beta_n(Vm) * n) 

    # dm/dt 
    y[2] = (alpha_m(Vm) * (1.0 - m)) - (beta_m(Vm) * m) 

     # dh/dt 
    dy[3] = (alpha_h(Vm) * (1.0 - h)) - (beta_h(Vm) * h) 

    return dy 

 # State (Vm, n, m, h) 
Y = np.array([0.0, n_inf(), m_inf(), h_inf()]) 


 # Solve ODE system 
 # Vy = (Vm[t0:tmax], n[t0:tmax], m[t0:tmax], h[t0:tmax]) 
Vy = odeint(compute_derivatives, Y, T) 

Как добавить шумовой сигнал и как оценить влияние?может быть с RMS-амплитудой вдоль t?

...