Documentation

phased.BackscatterSonarTarget System object

Sonar target backscatter

Description

Thephased.BackscatterSonarTargetSystem object™ models thebackscatteringof a signal from an underwater or surface target. Backscattering is a special case of sonar target scattering when the incident and reflected angles are the same. This type of scattering applies to monostatic sonar configurations. The sonar target strength (TS) determines the backscattering response of a target to an incoming signal. This object lets you specify an angle-dependent sonar target strength model that covers a range of incident angles.

该对象允许您specify the target strength as an array of values at discrete azimuth and elevation points. The object interpolates values for incident angles between array points.

You can employ one of four Swerling models to generate random fluctuations in the target strength. Choose the fluctuation model using theModelproperty. Then, use theSeedSourceandSeedproperties to control the fluctuations.

To model a backscattered reflected sonar signal:

  1. Define and set up your sonar target. You can setphased.BackscatterSonarTargetSystem object properties at construction time or leave them to their default values. SeeConstruction. Some properties that you set at construction time can be changed later. These properties aretunable.

  2. 计算反映signal, call thestepmethod ofphased.BackscatterSonarTarget. The output of the method depends on the properties of thephased.BackscatterSonarTargetSystem object. You can change tunable properties at any time.

Note

Instead of using thestepmethod to perform the operation defined by the System object, you can call the object with arguments, as if it were a function. For example,y = step(obj,x)andy = obj(x)perform equivalent operations.

Construction

target= phased.BackscatterSonarTargetcreates a backscatter sonar target System object,target.

target= phased.BackscatterSonarTarget(Name,Value)creates a backscatter sonar target System object,target, with each specified propertyNameset to the specifiedValue. You can specify additional name and value pair arguments in any order as (Name1,Value1,...,NameN,ValueN).

公关operties

expand all

Target strength azimuth angles, specified as a real-valued 1-by-Prow vector orP-by-1 column vector. These angles define the azimuth coordinates of each column of the matrix specified by theTSPatternproperty.Pmust be greater than two. Angle units are in degrees.

Example:[-45:0.1:45]

Data Types:double

Target strength elevation angles, specified as a real-valued 1-by-Qrow vector orQ-by-1 column vector. These angles define the elevation coordinates of each row of the matrix specified by theTSPatternproperty.Qmust be greater than two. Angle units are in degrees.

Example:[-30:0.1:30]

Data Types:double

Sonar target strength (TS) pattern, specified as a real-valuedQ-by-Pmatrix orQ-by-P-by-Marray.Qis the length of the vector in theElevationAnglesproperty.Pis the length of the vector in theAzimuthAnglesproperty.Mis the number of target patterns. The number of patterns corresponds to the number of signals passed into thestepmethod. You can, however, use a single pattern to model multiple signals reflecting from a single target. Pattern units are dB.

You can also specify the pattern as a function only of azimuth for a single elevation. In this case, specify the pattern as either a 1-by-Pvector or anM-by-Pmatrix. Each row is a separate pattern.

Example:[1,2;3,4]

Data Types:double

Target fluctuation model, specified as'Nonfluctuating','Swerling1','Swerling2','Swerling3', or'Swerling4'. If you set this property to a value other than'Nonfluctuating', use theupdateinput argument when calling thestepmethod.

Example:'Swerling3'

Data Types:char

Seed source of random number generator for TS fluctuation model, specified as'Auto'or'Property'. When you set this property to'Auto', the System object generates random numbers using the default MATLAB®random number generator. When you set this property to'Property', you specify the random number generator seed using theSeedproperty. This property applies when you set theModelproperty to'Swerling1','Swerling2','Swerling3', or'Swerling4'. When you use this object with Parallel Computing Toolbox™ software, you set this property to'Auto'.

Example:'Property'

Data Types:char

Random number generator seed, specified as a nonnegative integer less than 232.

Example:32301

Dependencies

To enable this property, set theSeedSourceproperty to'Property'.

Data Types:double

Methods

reset Reset states ofSystem object
step Backscatter incoming sonar signal
Common to All System Objects
release

Allow System object property value changes

Examples

expand all

Calculate the reflected sonar signal from a nonfluctuating point target with a peak target strength (TS) of 10.0 db. For illustrative purposes, use a simplified expression for the TS pattern of a target. Real TS patterns are more complicated. The TS pattern covers a range of angles from 10° to 30° in azimuth and from 5° to 15° in elevation. The TS peaks at 20° azimuth and 10° elevation. Assume that the sonar operating frequency is 10 kHz and that the signal is a sinusoid at 9500 kHz.

Create and plot the TS pattern.

azmax = 20.0; elmax = 10.0; azpatangs = [10.0:0.1:35.0]; elpatangs = [5.0:0.1:15.0]; tspattern = 10.0*cosd(4*(elpatangs - elmax))'*cosd(4*(azpatangs - azmax)); tspatterndb = 10*log10(tspattern); imagesc(azpatangs,elpatangs,tspatterndb) colorbar axisimageaxistighttitle('TS') xlabel('Azimuth (deg)') ylabel('Elevation (deg)')

Generate and plot 50 samples of the sonar signal.

freq = 9.5e3; fs = 100*freq; nsamp = 500; t = [0:(nsamp-1)]'/fs; sig = sin(2*pi*freq*t); plot(t*1e6,sig) xlabel('Time (\mu seconds)') ylabel('Signal Amplitude') grid

Create thephased.BackscatterSonarTargetSystem object™.

target = phased.BackscatterSonarTarget('Model','Nonfluctuating',...'AzimuthAngles',azpatangs,'ElevationAngles',elpatangs,...'TSPattern',tspattern);

For a sequence of different azimuth incident angles (at constant elevation angle), plot the maximum scattered signal amplitude.

az0 = 13.0; el = 10.0; naz = 20; az = az0 + [0:1:20]; naz = length(az); ss = zeros(1,naz);fork = 1:naz y = target(sig,[az(k);el]); ss(k) = max(abs(y));endplot(az,ss,'o') xlabel('Azimuth (deg)') ylabel('Backscattered Signal Amplitude') grid

Calculate the reflected sonar signal from a Swerling2 fluctuating point target with a peak target strength (TS) of 10.0 db. For illustrative purposes, use a simplified expression for the TS pattern of a target. Real TS patterns are more complicated. The TS pattern covers a range of angles from 10°to 30° in azimuth and from 5° ro 15° in elevation. The TS peaks at 20° azimuth and 10° elevation. Assume that the sonar operating frequency is 10 kHz and that the signal is a sinusoid at 9500 kHz.

Create and plot the TS pattern.

azmax = 20.0; elmax = 10.0; azpatangs = [10.0:0.1:35.0]; elpatangs = [5.0:0.1:15.0]; tspattern = 10.0*cosd(4*(elpatangs - elmax))'*cosd(4*(azpatangs - azmax)); tspatterndb = 10*log10(tspattern); imagesc(azpatangs,elpatangs,tspatterndb) colorbar axisimageaxistighttitle('TS') xlabel('Azimuth (deg)') ylabel('Elevation (deg)')

Generate the sonar signal.

freq = 9.5e3; fs = 10*freq; nsamp = 50; t = [0:(nsamp-1)]'/fs; sig = sin(2*pi*freq*t);

Create thephased.BackscatterSonarTargetSystem object™.

target = phased.BackscatterSonarTarget('Model','Nonfluctuating',...'AzimuthAngles',azpatangs,'ElevationAngles',elpatangs,...'TSPattern',tspattern,'Model','Swerling2');

Compute and plot the fluctuating signal amplitude for 20 time steps.

az = 20.0; el = 10.0; nsteps = 20; ss = zeros(1,nsteps);fork = 1:nsteps y = target(sig,[az;el],true); ss(k) = max(abs(y));endplot([0:(nsteps-1)]*1000/fs,ss,'o') xlabel('Time (msec)') ylabel('Backscattered Signal Amplitude') grid

More About

expand all

References

[1] Urick, R.J. Principles of Underwater Sound, 3rd Edition. New York: Peninsula Publishing, 1996.

[2] Sherman, C.S. and J.Butler Transducers and Arrays for Underwater Sound. New York: Springer, 2007.

Extended Capabilities

Introduced in R2017a

Was this topic helpful?