User Reference:SignalGeneratorADC

From BCI2000 Wiki
Jump to: navigation, search


The SignalGeneratorADC filter generates a test signal suited for BCI purposes. The test signal is a sine wave overlayed with white noise and a DC component. Test signal amplitude may be controlled using the system's pointing device, which is useful in testing SMR type BCI setups. The signal's DC component may reflect the value of a state variable, which is useful in testing ERP type BCI setups.


Parameters common to all source modules are described under User Reference:DataIOFilter.


Controls whether signal amplitude follows pointer (mouse, trackball, or similar) movement.


Index of a channel that receives a test signal controlled by the pointer's horizontal position.


Index of a channel that receives a test signal controlled by the pointer's vertical position. If the index is zero, then the test signal is given on all channels.


Index of a channel that receives a test signal controlled by mouse keys. For mouse key control, the pattern of pressed keys is translated into its corresponding 2-bit number. Signal amplitude is then proportional to this number.


Test signal frequency. When specified as a raw number, the frequency is given in terms of the sampling rate. Absolute frequencies may be given as decimal numbers or fractions when directly followed with Hz. Examples:

  • 0.25 (half the Nyquist frequency),
  • 10.5Hz,
  • 20/3Hz.


The test signal's maximum amplitude. Modulation will be linear in the range between zero and this maximum amplitude. A raw number refers to AD units; when immediately followed with a voltage unit (such as muV, mV, or kV), the number is interpreted according to the SourceChOffset and SourceChGain parameters.


White noise amplitude for all channels, given in raw or calibrated units. The noise itself is independent among channels.


An offset value common to all channels. May be positive or negative, and given in raw or calibrated units.


An arithmetic expression that evaluates to a multiplication factor applied to the DC offset as given by the DCOffset parameter. This allows to create a test signal that depends on the value of state variables. E.g., to create a simulated evoked response in the P300 Speller's copy spelling mode, enter StimulusType as the multiplier expression, and a nonzero value into the DCOffset parameter.


An initialization value for the system's random number generator. When a nonzero value is specified, the random number generator will always produce the same sequence, leading to identical pseudorandom noise, which is most useful for testng purposes.

If this is zero, the random number generator will be initialized from system time, leading to different noise each time.


Selects the output signal's numeric type. The following options are provided:

  • 0: 16-bit signed integer (int16),
  • 1: 32-bit IEEE floating point (float32),
  • 2: 32-bit signed integer (int32).


Any state may occur in the expression given in the OffsetMultiplier parameter.

See also

User Reference:DataIOFilter, Programming Reference:GenericADC Class