Assignment: The Nonlinear Burst Generator#

Learning Goals#

Learning Goals — Assignment: Nonlinear Burst Generator

After completing this assignment, you should be able to:

  • Explain the functional roles of the Burst Generator, Neural Integrator, Direct Path, Feedback Loop, OPNs, and Oculomotor Plant, and describe their interactions in producing a saccade.

  • Describe the nonlinear properties of the burst generator (saturation, angular constant) and how these shape saccade kinematics.

  • Explain inverse reconstruction, including the role of high-gain feedback in recovering the motoneuron command from eye-movement data.

  • Interpret main-sequence relationships and how model parameters determine peak velocity and duration as a function of amplitude.

  • Explain how OPN timing and feedback gain influence saccade onset, peak velocity, overshoot, and accuracy.

  • Understand the functional interpretation of SC bursts, distinguishing effects of burst height, duration, and spike count.

  • Relate CNS parameter manipulations to pharmacological effects, such as slowed, more variable saccades under Valium while plant mechanics remain unchanged.

  • Identify which components control amplitude, which shape kinematics, and which maintain accuracy.

  • Explain why accuracy may be preserved even when kinematics slow significantly.

  • Relate the model outputs to empirical human saccade data, including increased variability or pharmacological perturbations.

  • Evaluate whether a set of CNS changes can explain observed behavioral outcomes, using control-theoretic reasoning.

Data#

Downloads#

Download the Matlab files:

This contains the saccade model, which contains the burst generator of the saccadic system as discussed in The Saccadic System - The Burst Generator.

Research Data Management#

To keep your work organised and reproducible, set up a simple folder structure before you begin:

  1. Create a main folder named NBP_burst.

  2. Inside this folder, create three subfolders:

    • data – for storing exported simulation data files

    • analysis – for your MATLAB scripts and the Simulink model

    • figures – for saving plots and exported images

Place the Simulink model and all MATLAB code in the analysis folder. Then create a new MATLAB script named data_analysis.m in this folder. You will use this script to run your simulations, analyse the output, and generate figures. Whenever your script produces data files or images, save them into the corresponding data or figures folder. This structure helps ensure your work is easy to navigate, reproducible, and ready for future assignments. For additional guidance, see Research Data Management.

Computer exercises with the nonlinear Burst generator model#

These exercises introduce you to the behaviour of the burst generator, including feedback and nonlinearity. We will inspect a simple model of the so-called ‘Final Common Pathway’ of the oculomotor system including the burst generator (Fig. 74) is also available under Simulink as file saccade.slx (Fig. 51 and Fig. 52). This simulation model, allows you to interactively set parameters of:

  • The saccadic burst from the EBNs/IBNs (this is simply modeled as a pulse, having a height, \(P\), and duration \(D\).)

  • The neural integrator: setting its gain to zero mimics total loss of the integrator, whereas a gain of one means normal operation.

  • The direct path: feeds the pulse directly to the oculomotor neurons. When its gain is set to zero, you actually simulate the effect of a Step input to the OMNs.

  • The Plant, with its two time constants, \(T_1\) and \(T_2\)

../_images/saccademodel.png

Fig. 74 | Saccadic System Model including the Burst Generator#

This model includes the nonlinear burst generator (EBNs/IBNs).

Exercise 8 — Pulse–Step Reconstruction#

In this exercise we investigate how the inverse plant reconstructs the motoneuron pulse–step command from the eye-position signal.

Task#

  1. Run the default Pulse–Step model pulsestep.slx.

%% Pulse–Step Generator – MATLAB/Simulink Helper Script
% This script loads the Simulink model 'pulsestep.slx', sets parameters,
% runs simulations, and extracts the logged signals EyePos, EyeVel, Command.

clear; close all; clc;

modelName = "pulsestep";

%% 1. Load and open the model
load_system(modelName);
open_system(modelName);


%% 2. Set default parameter values
psg_set_default_params(modelName);

%% PRESS RUN
  1. Plot both:

    • the original pulse–step command (the signal driving the plant),

    • the reconstructed pulse–step command (output of the Inverse Plant Model).

  2. Answer the following:

    • How similar are they?

    • Where do small differences appear?

    • Explain why reconstruction works (e.g. Fig. 75). To answer this open the Inverse Plant Model block by right-clicking on it → Mask → Look Under Mask. Inside, you will find two key components: a. A copy of the oculomotor plant, with the same time constants \(T_1\) and \(T_2\). b. A high-gain negative-feedback loop (with gain \(K = 2000\)).

    • i.e. why does feedback enable reconstruction?

    • Does this require full knowledge of plant parameters?

    • Why are the reconstructed and original commands not identical?

Explain why small differences exist.

../_images/omnreconstruction.png

Fig. 75 By virtue of the plant’s linearity, it is possible to reconstruct an estimate of its net neural pulse-step control signal from the measured eye movement, \(E(t)\).#

Exercise 9 - amplitude#

Now we continue with the Saccade model saccade.slx with its default parameter set (these are already set, see Table 1).

clear; close all; clc;

modelName = "saccade";

%% 1. Load and open the model
load_system(modelName);
open_system(modelName);


%% 2. Set default parameter values
saccade_set_default_params(modelName);

%% PRESS RUN

Then change the saccade amplitude by changing the value of the Synaptic Gain block to 1.0 (the Synaptic Gain the connection strength of a particular SC site to the saccade generator).

  • How is saccade amplitude related to the Synaptic Gain?

  • How would you obtain saccade amplitudes of 1, 5, 10, 20, and 30 deg?

Table 1 Parameters of the Simulink saccade model#

Stage

Symbol

Meaning

Range

Default

Unit

SC

FR

firing rate, burst height

[0 – 1000]

800

Hz

D

burst duration

[0 – 0.20]

50

ms

Synaptic Gain

R

SC–BS connection strength

[0.1 – 1.5]

0.5

Burst Generator

Bmax

pulse height max

[0 – 1000]

700

deg/s

A0

angular constant

[1 – 100]

7

deg/s

OPNs

Bias

fixation OPN firing rate

[50 – 500]

80

Hz

Delay

trigger moment from SC

[0 – 50]

15

ms

SC Gain

attenuates SC burst

[0 – 1]

0.2

Feedback Path

Gain (K)

feedback gain

[0 – 5]

1.0

Neural Integrator

G

integrator gain

[0 – 1.0]

1.0

Direct Path

Gain (K)

forward gain

[0 – 0.5]

0.15

Oculomotor Plant

T1

long time constant

[0.05 – 0.30]

0.15

s

T2

short time constant

[0 – 0.03]

0.020

s


Exercise 10 — Main Sequence#

In this exercise, you will examine how the main sequence (the relationship between saccade amplitude, peak velocity, and duration) is affected by the Burst Generator. First, ensure that the parameters of the Pulse–Step part of the model (Neural Integrator, Direct Path, Oculomotor Plant), the Burst Generator, and the Superior Colliculus (SC) are all set to their default values (see Table Table 1 for saccade.slx).

You will generate saccades of different amplitudes (1, 5, 10, 20, and 30 deg), and for each saccade you will measure:

  • Amplitude (final eye position minus initial position)

  • Peak velocity (maximum of the eye-velocity trace)

  • Duration (time interval during which eye velocity exceeds ~10% of its peak)

You can obtain these measures either:

  • manually from the Scope using cursors/rulers (do this at least once), or

  • automatically in MATLAB (see example code).

Then:

  1. Normal main sequence
    Obtain the main sequence for normal saccades (default Burst Generator: Bmax = 700 deg/s, A0 = 7 deg).
    Generate saccades with amplitudes of approximately 1, 5, 10, 20, and 30 deg.

  2. Effect of Burst saturation (Bmax)
    Change the Burst Generator saturation level Bmax to 1400 deg/s and then to 1350 deg/s, and determine the main sequence again.

  3. Effect of angular constant (A0)
    Change the Burst Generator angular constant A0 to 2 deg and then to 28 deg, and determine the main sequence again.

  4. Question
    How do changes in Burst Generator parameters (Bmax and A0) affect:

    • the shape and slope of the main sequence,

    • the relationship between amplitude and duration,

    • and the saturation behaviour at large amplitudes?

Make plots of:

  • peak velocity vs. amplitude, and

  • duration vs. amplitude

for all parameter settings in a single figure (use different colours/markers and a clear legend).

Exercise 11 — Influence of the Feedback Gain#

In this exercise you will investigate how the feedback gain in the brainstem loop affects the dynamics of a saccade.

  1. Start from the default parameter set of the saccade.slx model
    (see Table Table 1 and use saccade_set_default_params).

  2. First generate a reference saccade of ~20° amplitude using the default settings
    (including the default Feedback Path gain K = 1.0).
    Note the eye-position and eye-velocity traces.

  3. Next, vary the Feedback Path gain to:

    • K = 0.5

    • K = 1.0 (default)

    • K = 2.0

    For each value of K, simulate the model with the same Synaptic Gain as in the reference condition and plot:

    • eye position as a function of time

    • eye velocity as a function of time

  4. Compare the traces across feedback gains:

    • How do rise time, peak velocity, and overshoot change?

    • Does the eye reach the same final position?

    • Does a higher feedback gain make the system faster, more accurate, or less stable?

Explain the resulting effects in terms of feedback control:
how increasing or decreasing the loop gain changes the correction of motor error and the stability of the eye-movement system.


Exercise 12 — Influence of OPN Timing#

In this exercise you will investigate how the timing of the OmniPause Neurons (OPNs) affects:

  • the LLBN burst (shape, onset, and duration), and

  • the kinematics of the resulting 20° saccades.

  1. Start from the default parameter set of saccade.slx
    (use saccade_set_default_params, see Table Table 1).

  2. First, with the default OPN delay (e.g. Delay = 15 ms), adjust the Synaptic Gain so that the model generates a saccade of about 20°.

  3. Now keep this Synaptic Gain fixed, and only change the OPN delay (the SC-trigger delay in the OPN block) to:

    • 10 ms

    • 15 ms (default)

    • 25 ms

    For each delay:

    • simulate the model,

    • plot eye position and eye velocity as a function of time,

    • plot the LLBN burst as a function of time.

  4. Describe how changing the OPN delay affects:

    • the onset time, peak, and duration of the LLBN burst,

    • the peak velocity, duration, and accuracy (final position) of the saccades.

  5. Explain your observations.
    (Hint: look under the LLBN mask and identify how and when the feedback term is added. How does the OPN timing change the moment at which feedback “kicks in” and starts shaping the burst?)


Exercise 13 — Superior Colliculus burst#

In this exercise you will investigate how changing the SC burst shape affects the saccade, and what this tells you about what the burst represents.

  1. Start from the default parameter set of saccade.slx
    (use saccade_set_default_params, see Table Table 1).

  2. With the default SC parameters (e.g. FR = 800 Hz, D = 50 ms) and default Feedback/OPN settings, adjust the Synaptic Gain so that the model generates a saccade of about 20°.
    Keep this Synaptic Gain fixed for the rest of the exercise.

  3. Now only change the parameters of the SC burst (everything else at default). Consider both:

    • burst height: FR (firing rate, in Hz)

    • burst duration: D (in ms)

Part A — Constant number of spikes#

First, ensure that the total number of spikes in the SC burst remains (approximately) constant.
In this simplified model, we can treat the spike count as proportional to:

[ N_{\text{spikes}} \propto \text{FR} \times D. ]

So choose combinations of (FR, D) such that the product FR × D is constant (e.g. 800×50, 400×100, 1600×25).

  • For each (FR, D) with fixed FR × D, simulate the model and plot:

    • eye position vs time

    • eye velocity vs time

Describe the effects on the saccades:

  • Does the saccade amplitude change?

  • How do peak velocity and duration change?

  • What does this suggest about whether the SC burst encodes where to look, how fast to move, or both?

Part B — Changing the total number of spikes#

Now drop the constraint on total spike count. Change either:

  • the burst intensity (FR) at fixed duration, or

  • the burst duration (D) at fixed FR,

so that FR × D is no longer constant.

  • How do saccade amplitude, peak velocity, and duration change now?

  • Relate your observations to what the SC burst represents:

    • What does the number of spikes encode?

    • What is the role of burst height vs burst duration?


Exercise 14 — Effect of Valium on Saccades#

Fig. Effect of an intravenous injection of Diazepam (Valium) on human saccades toward flashed targets: although the Valium saccades (right) are still quite accurate, their kinematics are much more variable and slower than normal responses (left). Note also the differences in the reconstructed Pulse-Step signals (bottom). (After: Van Opstal et al., Vision Res., 1985) shows the effect of an intravenous injection of 7 mg Diazepam (Valium) on human saccades. After Valium:

  • Saccades are still reasonably accurate (endpoints near the target),

  • but their kinematics are slower (lower peak velocities, longer durations),

  • and they are more variable from trial to trial.

  • The reconstructed Pulse–Step command is also altered.

../_images/diazepam.png

Fig. 76 Effect of an intravenous injection of Diazepam (Valium) on human saccades toward flashed targets: although the Valium saccades (right) are still quite accurate, their kinematics are much more variable and slower than normal responses (left). Note also the differences in the reconstructed Pulse-Step signals (bottom). (After: Van Opstal et al., Vision Res., 1985)#

In this exercise, you will try to explain these average experimental findings using the saccade.slx model, under the assumption that:

Valium affects only the CNS (SC, burst generator, feedback, OPNs, etc.),
and does not change the mechanical properties of the oculomotor plant.

That is, keep the Oculomotor Plant parameters (T1, T2) fixed.

Tasks#

  1. Start from the default parameter set of saccade.slx
    (use saccade_set_default_params, see Table Table 1).

  2. First create a control condition:

    • Adjust the Synaptic Gain so that the model produces a 20° saccade with:

      • a typical, “normal” peak velocity,

      • a typical duration.

    • Save these traces (eye position, eye velocity, and (reconstructed) pulse–step command) as the Control condition.

  3. Next, create a “Valium” condition, in which only CNS parameters are changed. For example, you can:

    • reduce the Burst Generator saturation level Bmax,

    • increase the angular constant Ao (making the burst less sharply accelerating),

    • and/or slightly reduce the feedback gain in the brainstem loop.

    Keep the Oculomotor Plant (T1, T2) unchanged.

    Adjust the Synaptic Gain such that the Valium saccades are still ≈20°, but:

    • have lower peak velocities,

    • have longer durations, and

    • show more trial-to-trial variability (e.g. by adding noise to SC or Synaptic Gain).

  4. Compare:

    • eye position and velocity traces (Control vs Valium),

    • reconstructed Pulse–Step signals (Control vs Valium).

  5. Explain your findings:

    • Which CNS parameters did you change to mimic the effects of Valium?

    • Why do these changes slow the saccades but keep their endpoints approximately accurate?

    • How do these changes relate to the interpretation that benzodiazepines enhance inhibition and reduce central excitability (without affecting the plant)?