100 likes | 261 Views
MCRDS Data Format. May 3, 2006. File Type Header. Data file type 32 byte string (“Data-MCRDS”) terminated with null character ‘’. Characters after termination undefined. 2 bytes unsigned short representing year 1 byte unsigned character representing subyear version 5 bytes reserved.
E N D
MCRDS Data Format May 3, 2006
File Type Header • Data file type • 32 byte string (“Data-MCRDS”) terminated with null character ‘\0’. Characters after termination undefined. • 2 bytes unsigned short representing year • 1 byte unsigned character representing subyear version • 5 bytes reserved
Data Header Block struct HeaderBlock { int dataType; double sampFreq; % 120 MHz int prfCount; % PRF = 1/(prfCount*1e-7) int numAve; % # of hardware integrations (i.e. coherent averages) int rxAtten[8][2][4]; int rxBlank[8][1][4]; char calModeEn; % always false char numWaveforms; char pad[2]; % reserved int calNumOfPnts; % not used during data collection double calStartFreq; % not used during data collection double calStopFreq; % not used during data collection double calDelay; % not used during data collection double calDuration; % not used during data collection };
Fields of interest: Rx mode • rxAtten and rxBlank • Each of the eight receivers are loaded with 4 different modes. The modes for each receiver are independent of one another. • E.g. mode 1 for receiver 2 can be different than mode 1 for receiver 3. • A mode is defined by the settings of the two digital step attenuators and the blank delay line selection. • The receiver has a single blanking switch, but two different control lines that can be selected. • During any given pulse period, all receivers must be in the same mode number. • I.e. the radar does not allow receiver 2 to be in mode 1 while receiver 3 is in mode 2.
Fields of interest: Waveforms • The radar system transmits a set of waveforms defined by the radar operator. • The radar loads this sequence of waveforms into the system. For example: • 3 us linear FM chirp, radar mode 0 • Receiver gain settings are set to allow capture of the surface echo and both transmit amplifiers are enabled. • 10 us linear FM chirp, radar mode 1 • Receiver gain settings set to maximize dynamic range while keeping the lowest noise figure possible and satisfying our A2D dithering req. Transmit antenna one enabled. • 10 us linear FM chirp, radar mode 2 • Receiver gain settings set to maximize dynamic range while keeping the lowest noise figure possible and satisfying our A2D dithering req. Transmit antenna five enabled. • When the radar is enabled, each of the waveforms and radar modes is run in sequence. • E.g. With three waveforms the effective PRF of an individual waveform becomes PRF/3
Waveform Headers (part of data header block) • struct WaveformHeaderBlock • { • double startFreq; % 20 MHz (USB mixing with 120 MHz LO to 140 MHz) • double stopFreq; % 40 MHz (USB mixing with 120 MHz LO to 160 MHz) • double pulseDuration; % arbitrary (but most likely 1 us, 3 us or 10 us) • double calFreq; % 0 (disabled during data collection) • double calDelay; % unused • double calDuration; % unused • char bandSelect; % 0 for 150 MHz band, 1 for 450 MHz band • char zeroPiMod; % 0 for no modulation, 1 for zero-pi modulation • char txMult; % unused • char rxMode; % 0, 1, 2, or 3 • char txAmpEn[2]; % [0] control tx amp 0, [1] controls tx amp 1 • char pad[2]; • int mod0Count; % transmitter blanking control line • int mod1Count; % transmit amplifier blanking control line • int numSam[4]; % number of samples for each DAQ to capture (4 daqs, each with 2 channels) • int sampleDelayCount[4]; % delay for DAQ begins capturing • char recordEn[8]; % per channel record enable • int recordDelay[8]; % per channel recording window start sample • int recordNumSam[8]; % per channel recording number of samples • int blankDelay0Count; % receiver blank control line 0 • int blankDelay1Count; % receiver blank control line 1 • }; • COUNTS ARE DEFINED AS 10 MHz clock cycles (0.1 us) and are relative to the AWG trigger. The transmit waveform is delayed by 1 us. Therefore “zero-time” has a count of 10.
AWG Block • For predistortion and non-ideal linear FM chirps • We are not using this data block for May 06.
Data Block • 4 byte integer for data type (data type is 2 for data blocks) • 8 bytes for computer time stamp • 4 bytes for seconds since epoch (Jan 1, 1970) • 4 bytes for microseconds • 8 bytes for radar time (free-running 10 MHz counter on the radar board) • Used to precisely synchronize to the 1 pps provided by the Wallop’s Flight Facility group. • 4 bytes for DAQ errors • 1 byte per DAQ • Byte is zero when there is no error • Most common error is a FIFO error which causes a reset of the FIFOs and a few dropped records • Binary data follows (2 byte unsigned samples) • 12 bit DAQ, 64 integrations = 18 bits • 2 bits dropped = 16 bit sample
Overview File Type Data Header Data Block 0 Datatype (=2) Waveform 0 Sample 0 Computer Time Data Block 1 Waveform 1 Sample 1 Radar Time Data Block 2 Waveform 2 Sample 2 DAQ Error Bytes DAQ 0 DAQ 1 DAQ 2