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

Compare with Current View Page History

« Previous Version 32 Next »

Kongsberg Mesotech Rotary Sonar Data Product - SCAN Mode

Data files for Kongsberg Mesotech Rotary Sonar instruments are described here. In the SCAN mode, the sonar repeatedly images a particular sector of the of its full 360 degree sweep range. The parameters are set with a central azimuth and a half-width. To see these settings, navigate to the device details from step 2 of data search, i.e. http://dmas.uvic.ca/DeviceListing?DeviceId=12007, and then go to the attributes tab. If the scan mode is not active, no scan data products will be generated. The full SWEEP data product is also available and is always active when the device is active. This is why users may find the sweep data product returning data, while the scan mode returns with a 'No data found' message. The availability of the scan mode data product may be less than that indicated by the data availability graph.

Revision History

  • 20120519: Initial SMB product released
  • 20121002: Scan Mode enable
  • 20140730: MAT-file and plotting products added

Formats

This data is available in LOG, SMB and MAT format (the LOG file is a internal ONC format). LOG files are created daily at midnight UTC from data acquired throughout the day. Shortly thereafter, the data products are processed from the LOG files and are made available to data search. Content descriptions are provided below.

Plots are available in PNG and PDF format.

SMB

This binary format is specific to the manufacturer. When using Kongsberg Mesotech data acquisition software, data is normally stored in this way. Although we use custom-built drivers to communicate with our instruments, we can use the raw data in the log file to produce the SMB file which can be interpreted by Kongsberg Mesotech MS1000 post-processing software.

This format is further described in the manufacturer's documentation: 900-00007904-2.1.pdf. The MATLAB library we use to produce MAT file and plots from SMB files is available upon request.

This data product has been tested mostly with MS 1000 version 4.51, while the new version, 5.2, also tests well. Historic data has been reprocessed and sweep SMB files should be fully available. If a data search returns with 'No data found' when the data availability shows that there is data, please contact us and we will be happy to investigate.

Viewing SMB Files

The MS1000 software (Kongsberg Mesotech, http://www.kongsberg-mesotech.com) is free to redistribute for playback of the data. Download the MS Windows version here: MS1000_V0520_unlocked.zip. Then unzip and run MS1000_V0520_Setup.exe. To view the data, run the MS1000 software and press the play button. Alternatively, double-click an SMB file to launch the software in playback mode. The fast-forward function is useful for viewing the data quickly.

Previous versions of the MS1000 software did not directly support the high sample high that our rotary sonars operate at. To make older versions work, right-click on the image and select 'Fit Image To Screen'.

In some cases, the software does not display the reverse direction of the scan very well. Wiggle your mouse and the display will update. (It appears to be a limitation of the software and graphical capability of one's computer, we're investigating.) The fast forward function of the software is very useful to view a large amount of data quickly.

 

MAT

MAT files (v7) can be opened using MathWorks MATLAB 7.0 or later. The file contains two structures: Meta and Data.

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: structure containing the Kongsberg rotary sonar data, tightly based on the tuple structure of SMB files. Only the important fields are listed below. For more information, refer to the SMB file specfication: 900-00007904-2.1.pdf. Please note that not all structures and fields available in the SMB files are converted and provided in the MAT file all of the time. If there is anything missing or something to be improved, please contact us, we'll be happy to make improvements.

These structures are from the sonar ping tuple:

  • overloadCounter: logical value that indicates signal saturation in the corresponding sonar ping (one for each sonar ping / profile).
  • sonarData: data matrix, with the rows representing each sonar ping, columns are range. Format is uint16 or uint8, as controlled by extraHdr.BitsPerSample - '8' meand 16 bit, '16' means 8 bit!
  • sonarTime: array of times for each ping in matlab datenum format (days since year 0)
  • sonarAngle: sonar pointing angle for each ping in degrees, copied from extraHdr.StartAngle for clarity
  • sampleRate: sampling rate in Hz.
  • samplingDelay: sampling delay or hold off (to blank transmit) in samples.
    The following structures are part of the sonar ping tuple, but are only provided when the SMB source file s relatively small. These structures are slow to process, consume memory, and duplicate data that's already captured in the preceding structures.
  • hdr: a structure representing the standard SMB tuple header (one for each sonar ping / profile):
    • DataType: type of data contained within this tuple, 12 is single ping data
    • DataTime: time at which data was collected; milliseconds since midnight UTC.
  • extraHdr: a structure representing a common header used to provide extra information for sonar and profile data tuples (one for each sonar ping / profile):
    • ScanDirection: 0 = clockwise, 1 = counterclockwise
    • StepSize: step size of head in 0.225 degree increments
    • StartAngle: start angle of scan in 0.225 degree increments. This is sonar pointing angle copied to Data.sonarAngle below.
    • BitsPerSample: Number of bits in each sample
    • SampleRate: sampling rate in Hz.
    • SamplingDelay: sampling delay or hold off (to blank transmit) in samples

Here is the settings tuple:

  • settings: a structure containing information on the sonar settings
    • hdr: header for the settings tuple
    • extraHdr: a copy of the first extraHdr structure
    • config: a structure of settings with many fields, the important ones are:
      • Range: range of data to display in meters
      • SampleCount: number of samples recorded in each ping - not accurate, use size(Data.sonarData, 2) to determine this
      • Gain: sonar gain
      • PulseLength: sonar transmit pulse duration in microseconds
      • SoundSpeedDefault: sound speed in meters per seconds
    • ftr: a structure representing the settings footer tuple

Here is the date tuple:

  • date: a structure with the following date/time fields, modified from the SMB time tuple:
    • dateFrom: start time of source SMB files in MATLAB datenum format: days since year 0.
    • dateTo: end time of source SMB files in MATLAB datenum format: days since year 0.
    • Version:
    • TimeUTC: start time of source SMB file in seconds since 1970.
    • hdr: header for the date tuple

Additional tuples for heading, location maybe added in the future.

PNG / PDF

The PNG / PDF plot data products mirror the display of the Kongsberg MS1000 software, but break each rotation into separate plots so that no data is overwritten or has to be averaged. The raw backscatter amplitude is plotted as contained in the MAT file: 16 bit data ranges from 0 to 65535, 8 bit ranges from 0 to 255. The backscatter data is not calibrated. For each source SMB file, there are two types of plots returned: a plot of the sonar pointing / heading angle as a function of time (called 'SonarAngle') and multiple backscatter polar plots (called 'Backscatter'). The SonarAngle plot has numbered annotations showing the start of each corresponding numbered Backscatter plot. In the examples below, the SonarAngle plot shows that five Backscatter plots will be created for this SMB source file. The PDF version of this data product will group this plots into a single PDF  file with multiple pages. Please note that these examples are of test tank data; real data looks much better.

 

 

The algorithms for detecting each rotation and for making the plots are somewhat complex. Contact us if you are interested in the source code for these plots, which would be useful for analyzing the data from the MAT files.

GIF 

The GIF is a combination of PNG plots seen above excluding the sonar pointing / heading angle as a function of time plot. The GIF plots are broken up daily so they run through every PNG in each day.

 

                                                                                                                                                              

 

 

Discussion

To comment on this product, click Add Comment below.

  • No labels