This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

sonarEmission class

Emitted sonar signal structure

Description

The sonarEmission class creates a sonar emission object. This object contains all the properties that describe a signal radiated by a sonar source.

Construction

signal = sonarEmission creates a sonarEmission object with default properties. The object represents sonar signals from emitters, channels, and sensors.

signal = sonarEmission(Name,Value) sets object properties specified by one or more Name,Value pair arguments. Name can also be a property name and Value is the corresponding value. Name must appear inside single quotes (''). You can specify several name-value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

Properties

expand all

Platform identifier, specified as a positive integer. The emitter is mounted on the platform with this ID. Each platform identifier is unique within a scenario.

Example: 5

Data Types: double

Emitter identifier, specified as a positive integer. Each emitter index is unique.

Example: 2

Data Types: double

Location of the emitter in scenario coordinates, specified as a 1-by-3 real-valued vector. Units are in meters.

Example: [100 -500 1000]

Data Types: double

Velocity of the emitter in scenario coordinates, specified as a 1-by-3 real-valued vector. Units are in meters per second.

Example: [0 -50 100]

Data Types: double

Orientation of the emitter in scenario coordinates, specified as a quaternion or 3-by-3 real-valued orthogonal matrix.

Example: eye(3)

Data Types: double

Field of view of emitter, specified as a 2-by-1 vector of positive real values, [azfov; elfov]. The field of view defines the total angular extent of the signal emitted. Each component must lie in the interval (0, 180]. Units are in degrees.

Example: [14;7]

Data Types: double

Cumulative source level of an emitted signal, specified as a scalar. The cumulative source level of the emitted signal in decibels is relative to the intensity of a sound wave having an rms pressure of 1 micro-pascal. Units are in dB // 1 micro-pascal.

Example: 10

Data Types: double

Cumulative target strength of the source platform emitting the signal, specified as a scalar. Units are in dB.

Example: 10

Data Types: double

Center frequency of the signal, specified as a positive scalar. Units are in Hz.

Example: 10.5e3

Data Types: double

Half-power bandwidth of the sonar signal, specified as a positive scalar. Units are in Hz.

Example: 1e3

Data Types: double

Waveform type identifier, specified as a nonnegative integer.

Example: 5e3

Data Types: double

Processing gain associated with the signal waveform, specified as a scalar. Units are in dB.

Example: 10

Data Types: double

Total distance over which the signal has propagated, specified as a nonnegative scalar. For direct-path signals, the range is zero. Units are in meters.

Example: 1000

Data Types: double

Total range rate for the path over which the signal has propagated, specified as a scalar. For direct-path signals, the range rate is zero. Units are in meters per second.

Example: 10

Data Types: double

Examples

Create Sonar Emission Object

Create a sonarEmission object with specified properties.

signal = sonarEmission('PlatformID',6,'EmitterIndex',2, ...
    'OriginPosition',[100,3000,50],'TargetStrength',20, ...
    'CenterFrequency',20e3,'Bandwidth',500.0)
signal = 

  sonarEmission with properties:

              PlatformID: 6
            EmitterIndex: 2
          OriginPosition: [100 3000 50]
          OriginVelocity: [0 0 0]
             Orientation: [1x1 quaternion]
             FieldOfView: [180 180]
         CenterFrequency: 20000
               Bandwidth: 500
            WaveformType: 0
          ProcessingGain: 0
        PropagationRange: 0
    PropagationRangeRate: 0
             SourceLevel: 0
          TargetStrength: 20

Detect Sonar Emission with Passive Sensor

Create a sonar emission and then detect the emission using a sonarSensor object.

First, create a sonar emission.

orient = quaternion([180 0 0],'eulerd','zyx','frame');
sonarSig = sonarEmission('PlatformID',1,'EmitterIndex',1, ...
    'OriginPosition',[30 0 0],'Orientation',orient, ...
    'SourceLevel',140,'TargetStrength',100);

Then create a passive sonar sensor.

sensor = sonarSensor(1,'No scanning');

Detect the sonar emission.

time = 0;
[dets, numDets, config] = sensor(sonarSig,time)
dets =

  1×1 cell array

    {1×1 objectDetection}


numDets =

     1


config = 

  struct with fields:

              SensorIndex: 1
              IsValidTime: 1
               IsScanDone: 1
              FieldOfView: [1 5]
    MeasurementParameters: [1×1 struct]

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Introduced in R2018b