Skip to content

Commit f8f0511

Browse files
committed
rewrite UserDocs
1 parent d33e09c commit f8f0511

File tree

1 file changed

+19
-64
lines changed

1 file changed

+19
-64
lines changed

models/ou_noise_generator.h

Lines changed: 19 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -44,75 +44,46 @@ namespace nest
4444
Short description
4545
+++++++++++++++++
4646
47-
Generate a!!!!!!!j Gaussian white noise current
47+
Generates a temporally correlated noise current based on an Ornstein-Uhlenbeck process.
4848
4949
Description
5050
+++++++++++
5151
52-
The `ou_noise_generator` can be used to inject a Gaussian "white" noise current into a node.
53-
54-
The current is not truly white, but a piecewise constant current with a Gaussian distributed
55-
amplitude with mean :math:`\mu` and standard deviation :math:`\sigma`. The current changes at
56-
a user-defined interval :math:`\delta` and is given by
52+
The `ou_noise_generator` can be used to inject a temporally correlated noise current into a node.
53+
The current I(t) follows an Ornstein-Uhlenbeck (OU) process, which is described by the following stochastic differential equation:
5754
5855
.. math::
5956
60-
I(t) = \mu + N_j \sigma \quad \text{for} \quad t_0 + j \delta < t \leq t_0 + (j+1) \delta \;,
61-
62-
where :math:`N_j` are Gaussian random numbers with unit standard deviation and :math:`t_0` is
63-
the device onset time.
64-
65-
Additionally a sinusodially modulated term can be added to the standard
66-
deviation of the noise:
67-
68-
.. math::
69-
70-
I(t) = \mu + N_j \sqrt{\sigma^2 + \sigma_{\text{mod}}^2 \sin(\omega t + \phi)}
71-
\quad \text{for} \quad t_0 + j \delta < t \leq t_0 + (j+1) \delta \;.
72-
73-
The effect of the noise current on a neuron depends on the switching interval :math:`\delta`.
74-
For a leaky integrate-and-fire neuron with time constant :math:`\tau_m` and capacitance
75-
:math:`C_m`, the variance of the membrane potential is given by
76-
77-
.. math::
57+
dI = \frac{1}{\tau}(\mu - I)dt + \sigma_{stat} \sqrt{\frac{2}{\tau}} dW
7858
79-
\Sigma^2 = \frac{\delta \tau_m \sigma^2}{2 C_m^2}
59+
where:
60+
- :math:`\mu` is the long-term mean of the process (`mean` parameter).
61+
- :math:`\tau` is the time constant of the correlation (`tau` parameter).
62+
- :math:`\sigma_{stat}` is the stationary standard deviation of the process (`std` parameter).
63+
- :math:`dW` is a Wiener process (Gaussian white noise).
8064
81-
for :math:`\delta \ll \tau_m`. For details, see the `noise generator notebook
82-
<../model_details/ou_noise_generator.ipynb>`_.
65+
The generator integrates this process at a user-defined interval `dt` and delivers the resulting current to its targets. A larger time constant :math:`\tau` results in a more slowly varying noise signal.
8366
84-
All targets of a noise generator receive different currents, but the currents for all
85-
targets change at the same points in time. The interval :math:`\delta` between
86-
changes must be a multiple of the time step.
67+
All targets of a noise generator receive different, independent noise currents, but the currents for all targets are updated at the same points in time. The interval `dt` between updates must be a multiple of the simulation time step.
8768
8869
.. admonition:: Recording the generated current
8970
90-
You can use a :doc:`multimeter <multimeter>` to record the average current sent to all targets for each time step
91-
if simulating on a single thread; multiple MPI processes with one thread each also work. In this case,
92-
the recording interval of the multimeter should be equal to the simulation resolution to avoid confusing effects
93-
due to offset or drift between the recording times of the multimeter and the switching times of the
94-
noise generator. In multi-threaded mode, recording of noise currents is prohibited for technical reasons.
71+
You can use a :doc:`multimeter <multimeter>` to record the average current sent to all targets for each time step if simulating on a single thread; multiple MPI processes with one thread each also work. In this case, the recording interval of the multimeter should be equal to the `dt` of the generator to avoid aliasing effects. In multi-threaded mode, recording of noise currents is prohibited for technical reasons.
9572
9673
9774
.. include:: ../models/stimulation_device.rst
9875
9976
mean
100-
The mean value :math:`\mu` of the noise current (pA)
77+
The mean value :math:`\mu` to which the process reverts (pA).
10178
10279
std
103-
The standard deviation :math:`\sigma` of the noise current (pA)
80+
The stationary standard deviation :math:`\sigma_{stat}` of the process (pA).
10481
105-
dt
106-
The interval :math:`\delta` between changes in current (ms; default: 10 * resolution)
107-
108-
std_mod
109-
The modulation :math:`\sigma_{\text{mod}}` of the standard deviation of the noise current (pA)
110-
111-
frequency
112-
The frequency of the sine modulation (Hz)
82+
tau
83+
The correlation time constant :math:`\tau` of the process (ms).
11384
114-
phase
115-
The phase of sine modulation (0–360 deg)
85+
dt
86+
The interval :math:`\delta` between updates of the noise current (ms).
11687
11788
11889
Setting parameters from a stimulation backend
@@ -125,24 +96,8 @@ The indexing is as follows:
12596
12697
0. mean
12798
1. std
128-
2. std_mod
129-
3. frequency
130-
4. phase
131-
132-
Sends
133-
+++++
134-
135-
CurrentEvent
136-
137-
See also
138-
++++++++
139-
140-
step_current_generator
141-
142-
Examples using this model
143-
+++++++++++++++++++++++++
99+
2. tau
144100
145-
.. listexamples:: ou_noise_generator
146101
147102
EndUserDocs */
148103

0 commit comments

Comments
 (0)