Page 222 of 254
Part No. 96000001
f32 H0_PingPeriod; // [seconds] time between most recent two pings
f32 H0_SoundSpeed; // [meters per second]
f32 H0_Frequency; // [hertz] sonar center frequency
f32 H0_TxPower; // [dB re 1 uPa at 1 meter]
f32 H0_TxPulseWidth; // [seconds]
f32 H0_TxBeamwidthVert; // [radians]
f32 H0_TxBeamwidthHoriz; // [radians]
f32 H0_TxSteeringVert; // [radians]
f32 H0_TxSteeringHoriz; // [radians]
u16 H0_2026ProjTemp; // [hundredths of a degree Kelvin] 2026 projector temperature (divide value by 100, subtract 273.15 to get °C)
s16 H0_VTX+Offset; // [hundredths of a dB] transmit voltage offset at time of ping (divide value by 100 to get dB)
f32 H0_RxBandwidth; // [hertz]
f32 H0_RxSampleRate; // [hertz] sample rate of data acquisition and signal processing
f32 H0_RxRange; // [meters]
f32 H0_RxGain; // [multiply by two for relative dB]
f32 H0_RxSpreading; // [dB (times log range in meters)]
f32 H0_RxAbsorption; // [dB per kilometer]
f32 H0_RxMountTilt; // [radians]
u32 H0_RxMiscInfo; // reserved for future use
u16 H0_reserved; // reserved for future use
u16 H0_Beams; // number of beams beams
// section A1: float beam angles, arbitrarily-spaced (only one per ping)
u16 A1_SectionName; // 'A1'
u16 A1_SectionSize; // [bytes] size of this entire section
f32 A1_MoreInfo_0; // roll [radians]
f32 A1_MoreInfo_1 //Z-offset, proj [metres]
f32 A1_MoreInfo_2; //Y-offset, proj [metres]
f32 A1_MoreInfo_3; //X-offset, proj [metres]
f32 A1_MoreInfo_4; //0 (reserved for future use)
f32 A1_MoreInfo_5; //0 (reserved for future use) f32 A1_BeamAngle[H0_Beams]; // [radians] angle of beam relative to array centerline, ordered from port to starboard, first angle < last angle
// section M0: 8-bit magnitude data (many per ping, you assemble them into complete ping data)
u16 M0_SectionName; // 'M0'
u16 M0_SectionSize; // [bytes] size of this entire section
u32 M0_PingNumber; // pings since power-up or reboot
f32 M0_ScalingFactor; // reserved for future use
u32 M0_TotalSamples; // range samples (before compression) in entire ping, sample rate is H0_RxSampleRate
u32 M0_TotalBins; // range bins (after compression) in entire ping (M0_TotalBins <= M0_TotalSamples)
u32 M0_FirstBin; // first bin of this section
u16 M0_Bins; // number of bins in this section
u16 M0_TotalBeams; // beams (always a multiple of 4) (typically columns in your memory buffer)
u16 M0_FirstBeam; // first beam of this section (always a multiple of 4)
u16 M0_Beams; // number of beams in this section (always a multiple of 4)
u32 M0_reserved; // reserved for future use
struct
{ u8 magnitude; // values 0 to 255 map non-linearly (due to TVG scaling and possible gain compression) to signal amplitude
} M0_Data[M0_Beams][M0_Bins]; // magnitude data (typical example: 256 beams each containing 21 one-byte structs, 5376 bytes)
// *** END PACKET: ACOUSTIC IMAGE (AI) DATA FORMAT 0 ***