You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

ARIS Sonar Data

The ARIS Explorer 3000 sonar is a non-rotating multibeam sonar, operating at a frequency of 3 Mhz with 128 beams. The sonar covers 28 degrees horizonantly and 14 degrees vertically.  For more information, see the manufacturer's website: http://www.soundmetrics.com.The ARIS solfware ARIScope can be requested through the Sound Metrics website http://www.soundmetrics.com (go to the support page) or Contact us.

Revision History

  1. April 4th, 2017: Initial release

Data Product Options

None at this time.

Formats

The ARIS sonar outputs data at such a high rate and density that individual sonar images are not useful. Instead, most users will be interested in the videos made from the ARIS. The videos use a frame rate equal to that of sonar, so the video duration should be the same duration as the duty cycle of the instrument. If the video is shorter that expected, it is likely that a few sonar image frames were dropped due to data transmission congestion (the sonar uses UDP transmission over ethernet, so there is no guarantee of packet delivery). Each frame has an accurate time stamp so rely on that instead of the video's time. Raw data is handled by the Oceans 2.0 device driver, archived then converted to manufacturere's format ARIS files. MAT files, which are generated from ARIS files, are available on-demand. MAT files are an intermediate product from which users can make plots or do analysis. MP4 video files, also generated from ARIS files, are archived and stored for fast retrieval, but will be generated on-the-fly if the post-processing and archiving is delayed.

ARIS

These files are Sound Metric's custum format files for the ARIS sonar, used by the ARIScope software. Here's an example:

MAT

MAT files (v7) can be opened using Mathworks Matlab 7.0 or later. The file contains three structures, Meta, Data and Config.

Meta: a structure array containing the following metadata fields:

  • deviceID: A unique identifier to represent the instrument within the Ocean Networks Canada data management and archiving system.
  • creationDate:Date and time (using ISO8601 format) that the data product was produced. This is a valuable indicator for comparing to other revisions of the same data product.
  • deviceName: A name given to the instrument.
  • deviceCode: A unique string for the instrument which is used to generate data product filenames.
  • deviceCategory: Device category to list under data search ('Echosounder').
  • deviceCategoryCode: Code representing the device category. Used for accessing webservices, as described here: API / webservice documentation (log in to see this link).
  • lat: Fixed value obtained at time of deployment. Will be NaN if mobile or if both site latitude and device offset are null. If mobile, sensor information will be available in mobilePositionSensor structure..
  • lon: Fixed value obtained at time of deployment. Will be NaN if mobile or if both site longitude and device offset are null. If mobile, sensor information will be available in mobilePositionSensor structure.
  • depth: Fixed value obtained at time of deployment. Will be NaN if mobile or if both site depth and device offset are null. If mobile, sensor information will be available in mobilePositionSensor structure.
  • deviceHeading: Fixed value obtained at time of deployment. Will be NaN if mobile or if both site heading and device offset are null. If mobile, sensor information will be available in mobilePositionSensor structure.
  • devicePitch: Fixed value obtained at time of deployment. Will be NaN if mobile or if both site pitch and device offset are null. If mobile, sensor information will be available in mobilePositionSensor structure.
  • deviceRoll: Fixed value obtained at time of deployment. Will be NaN if mobile or if both site roll and device offset are null. If mobile, sensor information will be available in mobilePositionSensor structure.
  • siteName: Name corresponding to its latitude, longitude, depth position.
  • locationName: The node of the Ocean Networks Canada observatory. Each location contains many sites.
  • stationCode: Code representing the station or site. Used for accessing webservices, as described here: API / webservice documentation (log in to see this link).
  • dataQualityComments: In some cases, there are particular quality-related issues that are mentioned here.
  • MobilePositionSensor: A structure with information about sensors that provide additional scalar data on positioning and attitude (latitude, longitidue, depth below sea surface, heading, pitch, yaw, etc).

    • name: A cell array of sensor names for mobile position sensors. If not a mobile device, this will be an empty cell string.
    • sensorID: An array of unique identifiers of sensors that provide position data for mobile devices - this data may be used in this data product.
    • deviceID: An array of unique identifiers of devices that provide position data for mobile devices - this data may be used in this data product.
    • dateFrom: An array of datenums denoting the range of applicability of each mobile position sensor - this data may be used in this data product.
    • dateTo: An array of datenums denoting the range of applicability of each mobile position sensor - this data may be used in this data product.
    • typeName: A cell array of sensor names for mobile position sensors. If not a mobile device, this will be an empty cell string. One of: Latitude, Longitude, Depth, COMPASS_SENSOR, Pitch, Roll.
    • offset: An array of offsets between the mobile position sensors' values and the position of the device (for instance, if cabled profiler has a depth sensor that is 1.2 m above the device, the offset will be -1.2m).
    • sensorTypeID: An array of unique identifiers for the sensor type.
    • correctedSensorID: An array of unique identifiers of sensors that provide corrected mobile positioning data. This is generally used for profiling deployments where the latency is corrected for: CTD casts primarily.
  • deploymentDateFrom: The date of the deployment on which the data was acquired.
  • deploymentDateTo: The date of the end of the deployment on which the data was acquired (will be NaN if still deployed).
  • samplingPeriod: Sample period / data rating of the device in seconds, this is the sample period that controls the polling or reporting rate of the device (some parsed scalar sensors may report faster, some devices report in bursts) (may be omitted for some data products).
  • samplingPeriodDateFrom: matlab datenum of the start of the corresponding sample period (may be omitted for some data products).
  • samplingPeriodDateTo: matlab datenum of the end of the corresponding sample period (may be omitted for some data products).
  • sampleSize: the number of readings per sample period, normally 1, except for instruments that report in bursts. Will be zero for intermittent devices (may be omitted for some data products).
  • SamplePeriodSensor: A structure array with an entry for each scalar sensor on the device (even though this metadata is for complex data products that don't use scalar sensors).

    • sp: sample period in seconds (array), unless sensorid is NaN then this is the device sample period
    • dateFrom: array of date from / start date (inclusive) for each sample period in MATLAB datenum format.
    • dateTo: array of date to / end date (exclusive) for each sample period in MATLAB datenum format.
    • sampleSize: the number of readings per sample period (array). Normally 1, except for instruments that report in bursts. Will be zero for intermittent devices.
    • deviceID: array of unique identifiers of devices (should all be the same).
    • sensorID: array of unique identifiers of sensors on this device.
    • isDeviceLevel: flag (logical) that indicates, when true or 1, if the corresponding sample period/size is from the device-level information (i.e. applies to all sensors and the device driver's poll rate).
    • sensorName: the name of the sensor for which the sample period/size applies (much more user friendly than a sensorID).
  • citation: a char array containing the DOI citation text as it appears on the Dataset Landing PageThe citation text is formatted as follows: <Author(s) in alphabetical order>. <Publication Year>. <Title, consisting of Location Name (from searchTreeNodeName or siteName in ONC database) Deployed <Deployment Date (sitedevicedatefrom in ONC database)>. <Repository>. <Persistent Identifier, which is either a DOI URL or the queryPID (search_dtlid in ONC database)>. Accessed Date <query creation date (search.datecreated in ONC database)>
  • Attribution: A structure array with information on any contributors, ordered by importance and date. If an organization has more than one role it will be collated. If there are gaps in the date ranges, they are filled in with the default Ocean Networks Canada citation. If the "Attribution Required?" field is set to "No" on the Network Console then the citation will not appear. Here are the fields:
    • acknowledgement: the acknowledgement text, usually formatted as "<organizationName> (<organizationRole>)", except for when there are no attributions and the default is used (as shown above).
    • startDate: datenum format
    • endDate: datenum format
    • organizationName
    • organizationRole: comma separated list of roles
    • roleComment: primarily for internal use, usually used to reference relevant parts of the data agreement (may not appear)

Data: a structure with the following fields:

  • frameIndex – frame number in file
  • frameTime -  PC time stamp when recorded; microseconds since epoch (Jan 1st 1970). Units in mircoseconds
  • sonarTimeStamp - on-sonar microseconds since epoch (Jan 1st 1970)
  • ts_Day -  not documented
  • ts_Hour - not documented
  • ts_Minute - not documented
  • ts_Second - not documented
  • ts_Hsecond - not documented
  • humidity - relative humidity
  • velocity - platform velocity from AUV integration
  • depth - platform depth from AUV integration
  • pitch - platform pitch from AUV integration
  • pitchRate - platform pitch rate from AUV integration
  • roll - platform roll from AUV integration
  • rollRate - platform roll rate from AUV integration
  • heading - platform heading from AUV integration
  • headingRate - platform heading rate from AUV integration
  • compassHeading - sonar compass heading output
  • compassPitch - sonar compass pitch output
  • compassRoll - sonar compass roll output
  • beamTilt - not documented
  • targetRange - not documented
  • targetBearing - not documented
  • targetPresent - not documented
  • flags – Bad Data points in the acustic data
  • WaterTemp - water temperature from housing temperature sensor
  • timerPeriod - not documented
  • sonarX - sonar X location for 3D processing
  • sonarY - sonar Y location for 3D processing
  • sonarZ - sonar Z location for 3D processing
  • sonarPan – X2 pan output
  • sonarTilt – X2 Tilt output
  • sonar Roll– X2 Roll output
  • panPNNL - not documented
  • tiltPNNL - not documented
  • rollPNNL - not documented
  • vehicleTime - special for Bluefin HAUV or other AUV integration
  • SonarPanOffset - sonar mount location pan offset for 3D processing; meters
  • SonartiltOffset - sonar mount location tilt offset for 3D processing; meters
  • SonarRollOffset - sonar mount location roll offset for 3D processing; meters
  • SonarXOffset - sonar mount location X offset for 3D processing; meters
  • SonarYOffset - sonar mount location Y offset for 3D processing; meters
  • SonarZOffset - sonar mount location Z offset for 3D processing; meters
  • tmatrix - 3D processing transformation 4x4 matrix
  • accellX - X-axis sonar acceleration
  • accellY - Yaxis sonar acceleration
  • accellZ- Zaxis sonar acceleration
  • arisErrorFlagsUint - error flag code bits
  • missedPackets - missed packet count for Ethernet statistics reporting
  • salinity - water salinity code:  0 = fresh, 15 = brackish, 35 = salt
  • pressure - depth sensor output, units in psi
  • batteryVoltage - battery input voltage before power steering, unts in mV
  • mainVoltage - main cable input voltage before power steering, units in mV
  • switchVoltage - input voltage after power steering; filtered voltage, units in mV
  • focusMotorMoving - for AutomaticRecording
  • voltageChanging - 00 = not changing, 01 = turning on, 10 = turning off
  • focusTimeoutFault - not documented
  • focusOverCurrentFault - not documented
  • focusNotFoundFault - not documented
  • focusStalledFault - not documented
  • fPGATimeoutFault - not documented
  • fPGABusyFault - not documented
  • fPGAStuckFault - not documented
  • cPUTempFault - not documented
  • pSUTempFault - not documented
  • waterTempFault - not documented
  • humidityFault - not documented
  • pressureFault - not documented
  • voltageReadFault - not documented
  • voltageWriteFault - not documented
  • focusCurrentPosition - focus shaft current position, in motor units 0..1000
  • targetPan - commanded pan position
  • targetTilt - commanded tilt position
  • targetRoll - commanded roll position
  • panMotorErrorCode - not documented
  • toltMotorErrorCode - not documented
  • rollMotorErrorCode - not documented
  • panAbsPosition - low-resolution magnetic encoder absolute pan position
  • tiltAbsPosition - low-resolution magnetic encoder absolute tilt position
  • rollAbsPosition - low-resolution magnetic encoder absolute roll position
  • panAccelX - accelerometer outputs from AR2 CPU board sensor, units of G
  • panAccelY - accelerometer outputs from AR2 CPU board sensor, units of G
  • panAccelZ - accelerometer outputs from AR2 CPU board sensor, units of G
  • tiltAccelX - accelerometer outputs from AR2 CPU board sensor, units of G
  • tiltAccelY - accelerometer outputs from AR2 CPU board sensor, units of G
  • tiltAccelZ - accelerometer outputs from AR2 CPU board sensor, units of G
  • rollAccelX - accelerometer outputs from AR2 CPU board sensor, units of G
  • rollAccelY - accelerometer outputs from AR2 CPU board sensor, units of G
  • rollAccelZ - accelerometer outputs from AR2 CPU board sensor, units of G
  • invalidSettings - cookie indices for command acknowlege in frame header
  • upTime - total time the sonar has been running over its lifetime, units in seconds
  • goTime -sonar time when frame cycle is initiated in hardware
  • panVelocity - AR2 tilt velocity, units in degrees/second
  • tiltVelocity - AR2 tilt velocity, units in degrees/second
  • rollVelocity - AR2 tilt velocity, units in degrees/second
  • acousticData – sound pressure aplitude of return

Config: a structure with the following fields:

  • version - ARIS file format version
  • status - not documented
  • sampleRate - calculated as 1e6/SamplePeriod
  • pingMode - ARIS ping mode, 1..12
  • frequencyHiLow - 1 = HF, 0 = LF 4..100 microseconds
  • pulseWidth - width of transmit pulse,
  • cyclePeriod - ping cycle time, 1802..65535 microseconds
  • samplePeriod - downrange sample rate, 4..100 microseconds
  • transmitEnable - 1 = transmit ON, 0 = transmit OFF
  • frameRate – frames per second
  • soundSpeed - sound velocity in water calculated from water temperature depth and salinity setting, units of m/s
  • samplesPerBeam - number of downrange samples in each beam
  • enable150V - 1 = 150V on (max power), 0 = 150V off (min power, 12V)
  • sampleStartDelay - delay from transmit until start of sampling (window start) in usec, [930..65535]
  • largeLens - 1 = telephoto lens (large lens, big lens, hi-res lens) present
  • theSystemType - 1 = ARIS 3000, 0 = ARIS 1800, 2 = ARIS 1200
  • sonarSerialNumber - sonar serial number as labeled on housing
  • arisAppVersion - version number of ArisApp sending frame data
  • appliedSettings - cookie indices for command acknowlege in frame header
  • constrainedSettings - cookie indices for command acknowlege in frame header
  • enableInterpacketDelay - if true delay is added between sending out image data packets
  • interpacketDelayPeriod - packet delay factor in us (does not include function overhead time)
  • arisAppVersionMajor - major version number
  • arisAppVersionMinor - minor version number
  • focus - focus units 0-1000
  • degC2 - power supply temperature, units in Celsius
  • degC1 - CPU temperature, units in Celsius
  • receiverGain - 0-24 dB
  • intensity -the upper intensity cut off
  • threshold – the lower intensity cut off
  • windowLength - window length in meters
  • windowStart – window start in meters
  • latitude - from auxiliary GPS sensor
  • longitude - from auxiliary GPS sensor
  • sonarPosition - special for PNNL
  • configFlags - not documented
  • highResolution - non-zero if HF, zero if LF
  • numRawBeams - ARIS 3000 = 128/64, ARIS 1800 = 96/48, ARIS 1200 = 48
  • samplesPerChannel - Number of range samples in each beam
  • reverse - non-zero = lens down (DIDSON) or lens up (ARIS), zero = opposite
  • sN - sonar serial number
  • strDate - date that file was recorded
  • strHeaderID - user input to identify file in 256 characters
  • userID1 - user-defined integer quantity
  • userID2 - user-defined integer quantity
  • userID3 - user-defined integer quantity
  • userID4 - user-defined integer quantity
  • startFrame - first frame number from source file (for DIDSON snippet files)
  • endFrame - last frame number from source file (for DIDSON snippet files)
  • timeLapse - non-zero indicates time lapse recording
  • recordInterval - number of frames/seconds between recorded frames
  • radioSeconds - frames or seconds interval
  • frameInterval - record every Nth frame
  • auxFlags - see DDF_04 file format document
  • sspd - sound velocity in water
  • flags3D - see DDF_04 file format document %%%fix this
  • softwareVersion - DIDSON software version that recorded the file
  • thumbnailFI - frame index of frame used for thumbnail image of file
  • reorderedSamples - 1 = frame data already ordered into [beam,sample] array, 0 = needs reordering
MP4

As described above, the MP4 format is a video of the sonar images, very similar to what a user would see in the ARIScope software. We aim to make these videos searchable in http://dmas.uvic.ca/SeaTube as well as being available via Data Search, webservices, etc.

  • No labels