Propagated and reflected sonar signals
returns sonar signals, sonarsigout
= underwaterChannel(sonarsigin
,platforms
)sonarsigout
, as combinations of signals,
sonarsigin
, reflected from platforms,
platforms
.
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: SourceLevel TargetStrength PlatformID EmitterIndex OriginPosition OriginVelocity Orientation FieldOfView CenterFrequency Bandwidth WaveformType ProcessingGain PropagationRange PropagationRangeRate
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}
sonarsigin
— Input sonar signalssonarEmission
objectsInput sonar signals, specified as an array of sonarEmission
objects.
platforms
— Reflector platformPlatform
objects | array of Platform
structuresReflector platforms, specified as a cell array of Platform
objects,
Platform
, or
an array of Platform
structures:
Field | Description |
---|---|
PlatformID | Unique identifier for the platform, specified as a scalar positive integer. This is a required field which has no default value. |
ClassID | 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 | 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 | Velocity of platform in scenario coordinates, specified as a real-valued 1-by-3 vector.
Units are in meters per second. The default is |
Speed | 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
|
Acceleration | Acceleration of the platform in scenario coordinates specified as a
1-by-3 row vector in meters per second-squared. The default is |
Orientation | 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 |
AngularVelocity | 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 |
Signatures | Cell array of signatures defining the visibility of the platform to
emitters and sensors in the scenario. The default is the cell array { |
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.
sonarsigout
— Reflected sonar signalssonarEmission
objectsReflected sonar signals, specified as an array of sonarEmission
objects.
You have a modified version of this example. Do you want to open this example with your edits?