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.


Propagated and reflected sonar signals


sonarsigout = underwaterChannel(sonarsigin,platforms)



sonarsigout = underwaterChannel(sonarsigin,platforms) returns sonar signals, sonarsigout, as combinations of signals, sonarsigin, reflected from platforms, platforms.


collapse all

Create a sonar emission and a platform and reflect the emission from the platform.

Create a sonar emission object.

sonarSig = sonarEmission('PlatformID',1,'EmitterIndex',1,'OriginPosition',[0 0 0]);

Create a platform structure.

platfm = struct('PlatformID',2,'Position',[10 0 0],'Signatures',tsSignature());

Reflect the emission from the platform.

sigs = underwaterChannel(sonarSig,platfm)
sigs = 

  2x1 sonarEmission array with properties:


Reflect a sonar emission from a platform defined within a trackingScenario.

Create a tracking scenario object.

scenario = trackingScenario;

Create an sonarEmitter.

emitter = sonarEmitter(1);

Mount the emitter on a platform within the scenario.

plat = platform(scenario,'Emitters',emitter);

Add another platform to reflect the emitted signal.

tgt = platform(scenario);
tgt.Trajectory.Position = [30 0 0];

Emit the signal using the emit object function of a platform .

txSigs = emit(plat, scenario.SimulationTime)
txSigs =

  1x1 cell array

    {1x1 sonarEmission}

Reflect the signal from the platforms in the scenario.

sigs = underwaterChannel(txSigs, scenario.Platforms)
sigs =

  1x1 cell array

    {1x1 sonarEmission}

Input Arguments

collapse all

Input sonar signals, specified as an array of sonarEmission objects.

Reflector platforms, specified as a cell array of Platform objects, Platform, or an array of Platform structures:


Unique identifier for the platform, specified as a scalar positive integer. This is a required field which has no default value.


User-defined integer used to classify the type of target, specified as a nonnegative integer. Zero is reserved for unclassified platform types and is the default value.


Position of target in scenario coordinates, specified as a real-valued 1-by-3 vector. This is a required field. There is no default value. Units are in meters.


Velocity of platform in scenario coordinates, specified as a real-valued 1-by-3 vector. Units are in meters per second. The default is [0 0 0].


Speed of the platform in the scenario frame specified as a real scalar. When speed is specified, the platform velocity is aligned with its orientation. Specify either the platform speed or velocity, but not both. Units are in meters per second The default is 0.


Acceleration of the platform in scenario coordinates specified as a 1-by-3 row vector in meters per second-squared. The default is [0 0 0].


Orientation of the platform with respect to the local scenario NED coordinate frame, specified as a scalar quaternion or a 3-by-3 rotation matrix. Orientation defines the frame rotation from the local NED coordinate system to the current platform body coordinate system. Units are dimensionless. The default is quaternion(1,0,0,0).


Angular velocity of platform in scenario coordinates, specified as a real-valued 1-by-3 vector. The magnitude of the vector defines the angular speed. The direction defines the axis of clockwise rotation. Units are in degrees per second. The default is [0 0 0].


Cell array of signatures defining the visibility of the platform to emitters and sensors in the scenario. The default is the cell array {rcsSignature,irSignature , tsSignature}

If you specify an array of platform structures, set a unique PlatformID for each platform and set the Position field for each platform. Any other fields not specified are assigned default values.

Output Arguments

collapse all

Reflected sonar signals, specified as an array of sonarEmission objects.

Extended Capabilities

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

Introduced in R2018b