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

Compare with Current View Page History

« Previous Version 35 Next »

ASL Acoustic Profiler Time Series

Data products for ASL Science Environmental's AZFPs and Acoustic Water Column Profilers (AWCPs) are described here. These data products are the same for VENUS, NEPTUNE and all other networks. Ancillary data (e.g., temperature, pitch, roll) are also available independently.

Revision History

  1. 20110302: Beta MAT product released
  2. 20141028: Major revision: support AZFP and AWCPs, integrate options, process requests from all networks, improve performance, standardize MAT files add plots

Data Product Options

Unable to render {include} The included page could not be found.

Formats

This data is available in MAT, PNG and PDF formats. Content descriptions and example files are provided below. All data products will break/end for driver restarts (this should account for configuration changes, site changes, etc). For non-averaged data products, a new file is started at the start of each day . All MAT files will also break when they get too big to open on a computer with 1 GB of free memory. When an ensemble period option is selected, data products can extend over multiple days; for MAT files, the file will break when it gets too big or there's a driver restart, for plots, all the data will be shown on one plot, except when there is a driver restart.

Data files: MAT

MAT files (v7) can be opened using MathWorks MATLAB 7.0 or later. The file contains four structures: Meta, Data, Config, and Units. The structures are the same for AWCP or AZFP ASL echosounders, and are also the same on all networks (VENUS or NEPTUNE, etc). Screenshots below capture what the mat file will look like in MATLAB's workspace.

Meta: structure containing the following metadata fields.

  • deviceID: A unique identifier to represent the instrument within the NEPTUNE Canada observatory.
  • 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.
  • siteName: Name corresponding to its latitude, longitude, depth position.
  • deviceName: A name given to the instrument.
  • deviceCode: A unique string for the instrument which is used to generate data product file-names.
  • locationName: Name of the ONC node. Each node location contains many sites.
  • lat: Obtained at time of deployment.
  • lon: Obtained at time of deployment.
  • depth: Obtained at time of deployment.
  • deviceHeading: Obtained at time of deployment.
  • devicePitch: Obtained at time of deployment.
  • deviceRoll: Obtained at time of deployment.
  • deploymentDateFrom: Start date (numeric) of the deployment at the above site.
  • deploymentDateTo: End date (numeric) of the deployment at the above site.
  • dataQualityComments: field for comments. This is will store information if the device is mobile.
  • mobilePostionSensorIDs: Vector of sensorIDs of the mobile position sensors (the type of sensor will be mentioned in the dataQualityComments).
  • mobilePositionDeviceIDs: Vector of deviceIDs of the mobile position sensors.
  • mobilePositionDateFrom: Start date (numeric) of when the corresponding mobile position sensor applied to this site and device.
  • mobilePositionDateTo: End date (numeric) of when the corresponding mobile position sensor applied to this site and device.

Data: structure containing the AWCP data, having the following fields.

  • time: vector, timestamp in datenum format (obtained from time the reading reached the shore station, or if the ping averaging option was selected, these time stamps will be resampled).
  • temperature: vector, temperature time-series (will be filled with NaNs if not available). Calibration formula:
    vin = tempRawCounts * 2.5 / 65535; 
    R = (ka + kb * vin) / (kc - vin); 
    temperature = (1/(A + B * log(R) + C * (log(R)^3))) - 272.15;
  • pressure: vector, pressure time-series (will be filled with NaNs if not available)
  • tiltX: vector, tilt X-direction time-series (will be filled with NaNs if not available). Calibration formula: 
    X_a * txc + X_b * txc + X_c * txc + X_d, where txc is the raw tilt counts in the x direction
  • tiltY: vector, tilt Y-direction time-series (will be filled with NaNs if not available).  Calibration formula: 
    Y_a * txc + Y_b * txc + Y_c * txc + Y_d, where txc is the raw tilt counts in the x direction
  • voltage: vector, battery voltage time-series (will be filled with NaNs if not available)
  • timeInstrumentClock: vector, instrument clock time-series
  • ProfileNum: vector, profile number
  • error: vector, error code
  • nPingsAquired: vector, number of pings acquired for profile
  • pingFirst: vector, index of first ping acquired in profile
  • pingLast: vector, index of last ping acquired in profile
  • profileStatus: vector, profile status code
  • overrun: vector, (we think) this indicates if the data hit the limit of the A/D converter.
  • invalidProfileData: vector, custom added field by our code that indicates if the raw data was truncated before the expected number of range bins was returned - we NaN the entire ping on a per channel basis if this happens.
  • channel: structure (one for each channel, so access is by Data.channel(3) for example), with the following fields:
    • rangeToBinCentre
    • profileData: 2D matrix (time, rangeToBinCentre) of the acoustic data. The acoustic data can be raw counts from the echosounder's Analogue to Digital converter (A/D), or if calibrated, it will be volume backscatter data in units of dB re 1 uPa. See the Unit structure or the isCalibrated flag (below) in order to tell the two apart. Here is the calibration formula applied to convert raw profile data to calibrated profile data:
      N = (log10(profileData) - 2.5) * 8 * 65535 * DS;
      profileData = EL - 2.5 / DS + N / (26214 * DS) - TVR - 20*log10(VTX0) + 20*log10(rangeToBinCentre) + 2 * AcousticAttenuation * R - 10.*log10((1/2) * SpeedOfSound * pulseLength * 1.4 * pi * (1 - cos(BP)));
    • isCalibrated: boolean indicates if the data is calibrated and is volume backscatter data in units of dB re 1 uPa (to be added in next revision).

Config: structure containing AWCP configuration details. For details about the configuration parameters, refer to the manufacturer documentation.

  • nChannels: number of channels (in case instrument is capable of having multiple frequencies)
  • serialNum: serial number of device
  • profileInterval: number of seconds per profile
  • digitizationRate: rate at which received signal is digitized, per channel
  • lockoutSamples: number of samples to ignore
  • nBins: number of bins in profile, per channel
  • nSamplesPerBin: number of samples used to calculate amplitude in each bin, per channel
  • nSamples: number of samples in profile, per channel
  • pingPeriod: number of seconds between pings
  • averagedPings: number of pings to average for profile, per channel
  • phase: phase used to acquire profile
  • gain: gain setting, per channel
  • pulseLength: pulse length, per channel
  • boardNumber: board number, per channel
  • frequency: frequency of echosounder, per channel
  • Cal: structure containing calibration data stored in device attributes. These values originate from configuration text (.cfg) files that ship with the instruments, or are values representing the median conditions at the devices' location. See the instrument documentation pages for more details, we can also provide the formulas by which these values are applied. The Cal structure includes:
    • tilt sensor calibration co-efficients (fields starting with X or Y)
    • pressure sensor calibration co-efficients (fields starting with k, plus A, B, C)
    • speedOfSpeed: sound speed used for calculation of range (single value determined from median conditions in water column for device's deployment location, in units of m/s)
    • backscatter calibration parameters, fields: TVR, VTX0, EL, DS, BP, AcousticAttenuation (attenuation is a single value determined from median conditions in water column for device's deployment location, in units of dB/m)
  • lockoutDistance: blanking distance (based on number of lockout samples), per channel
  • rangeMaximum: maximum range from which samples are digitized, per channel
  • ensemblePeriod: final ensemble period

 

Units: structure containing unit of measure for fields in structures above. For instance, units.frequency='kHz'. Note that channel specfic data units: profileData, rangeToBinCentre are stored in Units.channel(1).

Example: ASLAZFP55036_20140911T222500.000Z_20140911T235500.000Z.mat

Plots: PNG and PDF

There are two formats of plots available: PNG or PDF. A PDF plot file can contain multiple plots as separate pages, and the graphics are vector images, which are better for printing or viewing at high resolution.  The PNG format is a single plot in a raster image which is good for quick viewing and sharing. The data and appearance of the two plot formats are the same.

Plots: Daily vs Multi-day plots

There are two variations of plots, depending on the ensemble period option selected. Daily plots are generated with the default, no averaging, option. Daily plots will show a maximum of one day of data. For all plots, the data has to be resampled so that each pixel in the PNG is an ensemple period, otherwise the image could alias the data; so in spite of selecting the no-averaging option, some resampling may happen. Nominal linear image anti-aliasing routines aren't appropriate here as we have logarithmic data. The minimum ensemble period for a one day plot is ~30 seconds. If you select less than one day, you can zoom in and get higher temporal resolution. Here is an example of a daily plot, with good data:

If an ensemble period is selected by the user, the plots will be multi-day plots and only one plot will be generated oer search (excluding driver restarts). Ping-averaging will be applied as selected. If the selected ensemble period is not high enough to prevent aliasing and distortion, the ensemble period will be increased. Below is an example of multi-day plot where the user selected 10 minutes as the ensemble period. The data in this example spans 17 days. The minimum ensemble period to avoid aliasing is just over 8 minutes, so the ensemble is kept at 10 minutes. This example has some simulated and test tank data, as well as lots of data gaps, which are represented by white space.

Plots: Single vs. Multiple Channels

If the echosounder has multiple channels, as in the examples above, each channel will be plotted as a subplot, with independent axis and limits. (Axis limits are set from fixed intervals, e.g. every 20 dB, to facilitate inter-plot comparison.) In addition, if the device has precisely 3 channels, an additional RGB composite plot will be shown. For this subplot, each channel's data scaled from 0 to 1, each channel is then represented by a primary colour, and the colours are combined to form an image. In this way, users can see composite details: various targets will appear as different colours, depending on their relative target strength as a function of frequency. This is useful for differentiating the targets between fish, zooplankton, bubbles, whales, etc.

Here is an example of single channel plot, from a mobile echosounder on the vertical profile system where the y axis is not depth, but is instead echosounder range. We can't use depth as it is varying throughout the data. Future improvements maybe to register the pings with the varying depth, so that the y axis can be depth. This is also an example of non-calibrated data. Without calibration, the data is still plotted in a dB scale, but instead of an absolute measure in units of dB re 1 uPa, the plot uses a dB scale relative to the full scale of the device, where 0 dB represents the maximum value, normally 65535 raw counts for 16 bit data, and -120 dB is normal lowest value.

Discussion

To comment on this product, click Add Comment below.

  • No labels