Contributions:TDTADC
Synopsis
The TDTclient program is a data acquisition tool for the BCI2000 software suite that uses the Tucker-Davis Technology (TDT) RX5 – Pentusa system. The Pentusa system is capable of multi-channel (up to 64), high data transfer rates (more than 1 GB / s) allowing for high density EEG, ECoG, or even single-unit recordings. The system is highly configurable, allowing the user to use digital filtering and complex analysis on the hardware.
Location
http://www.bci2000.org/svn/trunk/src/contrib/SignalSource/TuckerDavis
Versioning
Author
J. Adam Wilson, jawilson@cae.wisc.edu University of Wisconsin – Madison Department of Biomedical Engineering Neural Interfaces Technology and Research Optimization (NITRO) Lab
Source Code Revisions
- Initial development: 808
- Tested under: 1157
- Known to compile under: 1528
- Broken since: --
Installation and Requirements
Currently, the TDTclient supports the following system configuration:
- TDT Pentusa/RX5
- GBIT card (no USB)
- ActiveX libraries installed (to install from source)
The obsolete Medusa system is not currently supported, but if there is enough of a demand, it can probably be implemented (contact jawilson@cae.wisc.edu for more details.) The same computer requirements apply as those for BCI2000.
Install TDT Drivers
The most current TDT drivers should be downloaded and installed from www.tdt.com. Make sure that the microcode on the hardware is updated to at least version 58 as well, or the program WILL NOT WORK!!
Install TDT ActiveX Library
Currently, the ActiveX library must be installed on the local machine in order to use the TDTclient. It can be obtained from www.tdt.com, and it requires a password to install.
Parameters
Circuit Name and Circuit Path
The Circuit Path is the directory path which contains the TDT *.rco file to be used. CircuitName is the actual *.rco file which will be used. The two default options are chAcquire64.rco and chAcquire16.rco. chAcquire64.rco should be used for 5 processor systems capable of 64 channel acquisition, while the chAcquire16.rco should be used for 2 processor systems capable of 16 channel acquisition.
HPFfreq
The corner frequency of the digital high-pass filter in the circuit. This can be set to 0 to not be used, but be aware that the Medusa pre-amp have an analog high-pass filter at 1.5 Hz built in.
LPFfreq
The corner frequency of the digital low-pass filter. This can be set to any value, but it is recommended that the highest value used is at half of the sampling frequency (i.e. 256 for a sample rate of 512).
notchBW
This is the bandwidth of the 60 Hz notch filter. If set at 10, the bandstop filter will have corner frequencies of 55 and 65 Hz.
nProcessorsBoard1
The number of processors on your RX5. This can be either 5 or 2. 5 is the default value. NOTE that if this is changed, the RCO file should be changed as well!!!
nProcessorsBoard2
The number of processors on the second RX5. This is set to 0 if there is only 1 system, and can be set to 0, 2, or 5. Currently, both systems will use the same RCO file, so if one system has 2 processors and the other 5, it can only use the 16 channel version of the RCO file.
SampleBlockSize
The number of sample points collected per channel at a time.
SampleRate
The sampling rate of the system. Use the TDTsampleRate program to calculate the value to enter here! The TDT has a fixed rate of 24414.0625 Hz, so the requested sample rate must be some integer fraction of this value. For example, a sample rate of 512 Hz is not possible, because it is impossible to find an integer that will divide 24414.0625 to get 512. The closest rate to 512 Hz that can be used is 519.448, because 24414.0625 / 519.448 = 47. This value (47) is used to set the period of the PulseTrain in figure 1.
SourceCh
The total number of channels collected. This should equal softwareChBoard1 + softwareChBoard2, the number of channels acquired on each system. Note that setting this to a smaller value will not reduce the amount of data transferred, because the entire amount of channels are always collected. This value tells the program how many channels to keep.
SoftwareChBoard1
The number of channels collected from the first RX5. This is ignored if only one system is used.
SoftwareChBoard2
The number of channels collected from the second RX5. This is ignored if only one system is used.
TDTgain
The amount of gain to add to the signal. Generally, between 10000 and 100000 is a good value to use, but test it to see what gives good signals.
States
None.
TDTSampleRate
As mentioned previously, the TDT can only use sampling rates that are integer divisors of the base sampling rate of 24414.0625 Hz. The TDTsampleRate program takes the desired sample rate and calculates the closest sample rate that will be compatible with the TDT. To start it, go to the EEGSource/TuckerDavis/TDTsampleRate folder, and start TDTsampleRate.exe. Enter the desired sample rate in the appropriate box, press Calculate, and copy and paste the calculated rate into the BCI2000 configuration screen.
Additional Information
Additional information about configuration and usage is available in the TDTclient for BCI2000 document which is provided with the source code.