| hdr |
length
in bytes |
start at byte |
Description |
| pdevMainHdr |
32*4=128 |
0 |
general info |
| sp1Hdr |
56*2=112 |
128 |
fpga spectral line
register setup |
| aoHdr |
240 |
ao hdr holding
pointing,time,freq info |
|
| freespace |
696 |
328 |
unused space at end of
1024 byte header block |
| name |
value |
description |
| magic_num |
0xfeffbeef |
magic number identifying
filetype |
| magic_sp |
0x2e83fb01 |
magic number for fpga sp
section that follows main header.
|
| adcf |
17203200 |
measured adc clock
frequency (it will be in error by a few %). |
| byteswapCode |
2 |
The spectrometer uses a
power pc (bigendian) while the fileservers are intel little endian. The
byteswap code is used by the spectrometer to put the power pc data in
the little endian format:
|
| blkSize |
block, record length on
ouput. spectral output:
|
|
| nblksdumped |
Number of requested blocks
to dump. This is not the actual number written since the datataking
could stop prematurely |
|
| beam |
0 - 6 |
The alfa beam or single
pixel band. The |
| subband |
0,1 |
Which of the pdevbox
subands this data comes from.
|
| lo1mix |
0 |
lo1 mixer value used to
mix from sky to first IF.. Unfotunately it doesn't always fit in a 32
bit integer. The value is normally set to 0. |
| lo2mix0 |
175000000 |
(hz) 2nd LO used to
complex mix IF1 to baseband (s0 lower IF1 BAND) |
| lo2mix1 |
325000000 |
(hz) 2nd LO used to
complex mix IF1 to baseband (s1 Upper IF1 band)
|
| adcclk |
172032000 |
(hz) requested adc clock
frequency. This should be exact. |
| time |
1300879274 |
(secs) Start time (unix
time seconds from 1970) for start of this scan. Will be time at the 1
second tick start. |
| resv1 |
1 |
|
| pdevAoMagic |
0x12345678 |
if 0x12345678 in this
location, then pdevAo header follows the sp1 header. |
| if1 |
250000000 |
(hz) center of IF1
frequency. |
| fill(16) longs |
| name |
description |
| fmtWid |
0 8 bit,1-16 bit,
2-32bit data |
| fmtType |
|
| len |
fftlen used |
| dumpstrt |
1st channel dumped
count from 0 |
| dumpstop |
last channel dumped count
from 0 |
| FCNT |
number of ffts to
accumulate
|
| DCNT |
number ffts to drop
between accumulated spectra
|
| arsel |
dig sel
0=adc0,1=adc1,2=adc2,3=adc3,4-test,5=0 |
| aisel |
|
| brsel |
|
| bisel |
|
| arneg |
1-> negate voltage |
| aineg |
|
| brneg |
|
| bineg |
|
| pfbby |
bypass low pass filter of
polyphase filter bank |
| pshift |
bit telling whether or not
to downshift before each butterfly stage (1--> downshfit)
|
| vshift |
bits to upshift after fft, power (before accumulation) |
| Dshift_S0 |
bits to downshift data
prior to integration. |
| Dshift_S1 |
|
| Dshift_S2 |
|
| Dshift_S3 |
|
| Ashift_S0 |
upshift accumulated data
before packing. 0..7 bits. |
| Ashift_S1 |
|
| Ashift_S2 |
|
| Ashift_S3 |
|
| Ashift_SI |
|
| fftDropSt |
fft to drop at the start. |
| tsPhase |
test signal info (if
xxsel=3) |
| tsFreqH |
|
| tsFreqL |
|
| tsCwA |
|
| tsCwB |
|
| tsNoiseA |
|
| tsNoiseB |
|
| dLo |
digital mixing lo |
| dLoPhase |
for pos a,b phase
difference |
| hrMode |
hires mode
|
| hrDec |
hires decimation
|
| hrShift |
hires upshift:
|
| hrOffset |
dlpf offset |
| hrLpf |
Not 0 --> time domain
sampling (and hr_mode=1)
|
| hrDwell |
|
| hrInc |
|
| blanksel |
gpio pin for extern blank
0xffff=none |
| blankper |
0-use extBlnkTime.>0#
ticks to blank afte |
| ovfadc_thr |
adcOvf before blank.
0xffff=off |
| ovfadc_dwell |
ticks to blank after
ovfadc occurs |
| calsel |
gpio pin for cal input.
0xf--> no cal |
| calphase |
0 to FCNT-1 when cal
transitions in dump |
| calctl |
B0=1 cal on, B1=1 -->
winking cal |
| calon |
dumps for cal on |
| caloff |
dumps for cal off |
| name |
type |
description |
| hdrVer |
char*4 |
'1.00' no null
termination. 000 --> not valid header |
| bandIncrFreq |
uint*4 |
|
| cfrHz |
double*8 |
freq center (Hz) of band
(topocentric) |
| bandWdHz |
double*8 | bandwidth in hz
(1/samplefreq) |
| object |
char*16 |
source name from observing
file . no null termination |
| frontEnd |
char*8 |
frontend name
(receiver name) no null termination
|
| raJDeg |
double*8 | ra J2000 start of
scan in deg |
| decJDeg |
double*8 | dec J2000 start of scan in deg |
| azDeg |
double*8 | azimuth (deg) near start
of scan |
| zaDeg |
double*8 | zenith angle (deg) near start of scan |
| imjd |
int*4 |
integral mjd day (utc)
at start of scan |
| isec |
int*4 |
integral seconds midnite
form imjd at start of scan. Since hardware tick start, the start second is always integral. |
| byte 0,1 |
byte 2,3 |
byte 4 |
byte 4 |
byte 5 |
byte 5 |
byte 6 |
byte 6 |
byte 7 |
byte 7 |
| 16 bits |
16 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
| seqnum |
fftaccum |
calon |
adcovr |
pfbovr |
vshft |
accs2s3 |
accs0s1 |
ashfts2s3 |
ashfts0s1 |
| name |
type |
description |
| seqnum |
ushort |
counts spectra modulo 65536 |
| fftaccum |
ushort |
number off fft's actually
accumulated this integration. Can be less then requested if blanking is
in on. |
| calon |
4bits |
cal on =1, caloff =0 |
the
overflow,saturation counts (that follow) are coded as the log base 2 of
the number of errors:
|
||
| adcovr |
4bits | adc blanking overflow
count |
| pfbovr | 4bits | polyphase filter bank
overflow count |
| vshft | 4bits | saturation count on vshift
upshift |
| accs2s3 | 4bits | saturation count
accumulating stokes u,v |
| accs0s1 | 4bits | saturation count
accumulating polA,polB |
| ashfts2s3 | 4bits | saturation count
upshifting stokes U,V for packing (after accumulation) |
| ashfts0s1 | 4bits | saturation count
upshifting pola,b for packing (after accumulation) |
| bits/pol |
B0 |
B1 |
B2 |
B3 |
B4 |
B5 |
B6 |
B7 |
B8 |
B9 |
B10 |
B11 |
B12 |
B13 |
B14 |
B15 |
| 16 A |
Ia0 |
Qa0 |
Ia1 |
Qa1 |
||||||||||||
| 16 AB |
Ia0 |
Qa0 |
Ib0 |
Qb0 |
Ia1 |
Qa1 |
Ib1 |
Qb1 |
||||||||
| 8 A |
Ia0 |
Qa0 |
Ia1 |
Qa1 |
||||||||||||
| 8AB |
Ia0 |
Qa0 |
Ib0 |
Qb0 |
Ia1 |
Qa1 |
Ib1 |
Qb1 |
||||||||
| 4A |
Ia0,Qa0 |
Ia1,Qa1 |
||||||||||||||
| 4Ab |
Ia0,Qa0 |
Ib0,Qb0 |
Ia1,Qa1 |
Ib1,Qb1 |
||||||||||||