AnalogRecorder

Last-modified: 2017-05-15 (Mon) 06:20:56 (2540d)

FrontPage

3T Analog Recorder

Computer : MacPro(Late 2013)
OS : 10.10.3
CPU : 3.5GHz 6-Core Intel Xenon E5
Memory : 64GB 1866MHz DDR3 ECC
Graphics: AMD FirePro D700 6144MB

National Instruments USB DAQ device: USB-6218
NI-DAQmxbase14

32 ch RSE Setting(16bit)
Input range:±10 V

ch12345678
VolumeTrigCardioRespirResponse1Response2Response3Response4StimTrig1
ch9101112(*1)13(*1)14(*1)15(*1)16
StimTrig2StimTrig3StimTrig4RtEyePosXRtEyePosYLtEyePosXLtEyePosYAudioStimR
ch1718192021222324
AudioStimLResponse5Response6Response7Response8Biopic PPGBiopic ECGMRIAcousticSound
ch25(*1)26(*2)27(*1)28(*2)29303132
RtEyePupilRadiusRtEyeOpenRatioLtEyePupilRadiusLtEyeOpenRatioANYGradXGradYGradZ

(*1) in pixel (*2) Eye open ration(%) = (measured pupil lenth in Y)/(Y lenth of ellipse)*100

4T Analog Recorder

Computer: MacPro(Quad-Core Intel Xenon 2.8GHz)
OS:MacOSX(10.6.5)
Environment: LabView2009(Developer)

National Instruments PCI-X board: PCIe-6259
Input range:±10 V, ±5 V, ±2 V, ±1 V, ±0.5 V, ±0.2 V, ±0.1 V
32 ch NRSE Setting(16bit)
Channels: Acq,Cardio,Resp,4th,5th,...,32th

ch12345678
AcqTrigCardioRespirEyePosXEyePosYEyeSizeResponse1Response2
ch910111213141516
StimTrig1StimTrig2StimTrig3StimTrig4Response3Response4Response5Response6
ch1718192021222324
CNTRMotionLMotionRResponse7Response8StimTrig5StimTrig6StimTrig7
ch2526272829303132
StimTrig8ANYANYANYANYANYANYANY

100Hz recording
Acquisition trigger data has 1kHz resolution

Car3 format

base: little endian 4byte float data

{FileHeader}{[Acq1][Card1][Resp1][SigA1][SigB1][SigC1]...[Sig$1]}
{[Acq2][Card2][Resp2][SigA2][SigB2][SigC2]...[Sig$2]}
...
...
{[AcqN][CardN][RespN][SigAN][SigBN][SigCN]...[Sig$N]}

"File header part"

struct car_head
{
int16 carbyte;
int16 headersize;
char timestr[12];
char descrip[17];
float samplerate;
int32 termconf;
float min,max;
char carbyte2[3];
}

carbyte: [cbbbbbta xxxxxxxx xxxxxxxx xxxxxxxx]

c(1bit): 1 for checking car2/3 data
bbbbb(5bits): [The integer plus 1] indicates the number of channels(1~32)
t(1bit): No use now
a(1bit): acquisition trigger data bit packing(1) or not(0)

"Data part" Card1~N,Resp1~N,Sig(A~$)(1~N): 4byte float
Acq1~N:

Car2 format

base: big endian 2byte integer data

{[Acq1][Card1][Resp1][SigA1][SigB1][SigC1]...[Sig$1]}
{[Acq2][Card2][Resp2][SigA2][SigB2][SigC2]...[Sig$2]}
...
...
{[AcqN][CardN][RespN][SigAN][SigBN][SigCN]...[Sig$N]}

Card1~N,Resp1~N,Sig(A~$)(1~N): 2byte signed integer
Acq1~N: [cbbbbbtt tttttttt] 2byte bit sequence

c(1bit): 1 for checking car2 data
bbbbb(5bits): [The integer plus 1] indicates the number of channels(1~32)
tt tttttttt(10bits): Acquisition trigger statement at each timing every 1 msec(above threshold[2.5V] or not)
             The lowest bit corresponds to the earliest timing.

The following command should support car2 data
car_anlz(1.3),car2txt(1.1.1),txt2car2(1.0.1),ext_analyzer(1.0.4b),peak(1.15c)

Old 4T Analog Recorder

National Instruments PCI board:PCI-6023e
16 ch SE Setting(12bit)
Channels: Acq,Cardio,Resp,4th,5th,...,32th

ch12345678
AcqTrigCardioRespirEyePosXEyePosYStimTrig1StimTrig2Response1
ch910111213141516
Response2EyeSizeMotion1Motion2FreeFreeFreeFree

Car1 format

base: big endian base 2-byte data(12 bit data is stored in 16 bit box)
[Resp1][Card1][Resp2][Card2][Resp3][Card3]...[Resp_N][Card_N]

Resp_1~N [AAAA NNNN NNNN NNNN]

  (int)AAAA is the timing information of acquisition trigger onset(0[No onset],1~10)~
  (12bit data)[NNNN NNNN NNNN]~

Card_1~N [AAAA NNNN NNNN NNNN]

  (int)AAAA is empty("0000")~
  (12bit data)[NNNN NNNN NNNN]~

Data conversion :

Car1 vs Car2

Car1 and ExtCar
extension.car/.ext.car
data typebig endianbig endian
files2 separate files1 unified file
Number of channels3~16channels(car-3 ext-0~13)1~32channels
analog data resolution12bit16 bit
analog data sampling100Hz100Hz
acquisition trigger resolutioncode the trigger-on timing at 1kHz
(cannot have multiple trigger-on for 10msec interval)
1kHz(Real 1kHz digital)
analog data range-5~5V-10~10V

Accessories

SCB-68
BNC-2090A
SHC68-68-EPM Cable x2