Bio-Balance-Detector / bbd-p08-body-monitor

BBD Body Monitor is a single channel data acquisition system (DAS) to provide a bio-potential reading in the 0.25Hz - 125kHz frequency range. The main focus of the prototype is to use machine learning to detect different physical and mental states.
http://www.biobalancedetector.com
MIT License
5 stars 0 forks source link

Named signal definitions #1

Closed andrasfuchs closed 1 year ago

andrasfuchs commented 1 year ago

Named signal definition must be customizable enough set the amplitudes, frequencies and its type (sine or square).

Since the type would be fixed during a signal generation segment, I would define them in a way similar to this: sine(420 seconds, 10.3 Hz -> 10.9 Hz, 2.43 V -> 5.21 V) meaning that BBD will generate a signal that changes its frequency from 10.3 Hz to 10.9 Hz in 420 seconds, and also its peak-to-peak amplitude from 2.43 V to 5.21 V also in 420 seconds. These definitions could optionally have a name to refer them by.

Similarly valid definitions would look like these: sine(1.22 seconds, 0.02 Hz -> 10.9 Hz, 3.00 V) sine(34.38 seconds, 512.88 Hz, 3.00 V -> 0.55 V) square(60 seconds, 24.8 kHz, 3.49 V)

Digilent WaveForms has a similar functionality: image

andrasfuchs commented 1 year ago

The new Signal Generator configuration looks like this:

image

The Frequency is the native frequency of the signal generator on all channels.

The Resolution means that the timer that is responsible for the calculation of the current amplitudes and freqeuncies for each output is called at this period. When it's called all outputs get a new amplitude and frequency value based on the current time and the signal definition.

The Schedule is a series of instructions about the timing of the signals. Its current format is {Channel ID},{time to start}/{repeat period},{signal name}({signal length}).

The SignalDefinition is a list of definitions of signals. Each signal has a Name, Type, Frequency and Voltage. Both Frequency and Voltage can be a single value, a frequency sweep range (indicated by ->), or a frequency ping-pong range (indicated by <->).