User Reference:SignalGeneratorADC

From BCI2000 Wiki
Jump to navigation Jump to search

Function

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

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

ModulateAmplitude

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

SineChannelX

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

SineChannelY

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.

SineChannelZ

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.

SineFrequency

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.

SineAmplitude

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.

NoiseAmplitude

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

DCOffset

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

OffsetMultiplier

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.

AmplitudeMultiplier

An arithmetic expression that evaluates to a multiplication factor applied to signal amplitude.

RandomSeed

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.

SignalType

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).

States

Any state may occur in the expressions given in the OffsetMultiplier and AmplitudeMultiplier parameter.

See also

User Reference:DataIOFilter, Programming Reference:GenericADC Class