Jump to content

User Reference:SignalGeneratorADC

From BCI2000 Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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.

NaNChannels

List of channels to set to a NaN value when space bar is pressed. Useful for testing filters. This parameter is only available on Windows.

SourceProperties

A matrix that defines any number of additional virtual brain signal sources by their amplitudes, frequencies, and time offset. May be empty for no additional sources.

Mixing matrix

A source-to-sensor projection matrix that defines how the signal is formed from the additional virtual brain signal sources. May be empty if no additional sources are defined.

Variate Timing

A nonzero value will introduce random variation into the block duration generated by the source module. The value of this parameter represents the probability for a millisecond sleep before the module returns from its Process() function.

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