Main Content

phased.IsotropicHydrophone

Isotropic hydrophone element

Description

The phased.IsotropicHydrophone System object™ models an isotropic hydrophone for sonar applications. An isotropic hydrophone has the same response in all signal directions. The response is the output voltage of the hydrophone per unit sound pressure. The response of a hydrophone is also called its sensitivity. You can specify the response using the VoltageSensitivity property.

To compute the response of the isotropic hydrophone element for specified directions:

  1. Create the phased.IsotropicHydrophone object and set its properties.

  2. Call the object with arguments, as if it were a function.

To learn more about how System objects work, see What Are System Objects?

Creation

Description

hydrophone = phased.IsotropicHydrophone creates an isotropic hydrophone System object, hydrophone.

example

hydrophone = phased.IsotropicHydrophone(Name=Value) creates an Isotropic hydrophone object, hydrophone, with each specified property set to the specified value. You can specify additional name-value pair arguments in any order as (Name1=Value1,...,NameN=ValueN).

Example: hydrophone = phased.IsotropicHydrophone(FrequencyRange=[0 1000],BackBaffled=true) creates an isotropic hydrophone element with its frequency range specified between 0 and 1000 Hz.

example

Properties

expand all

Unless otherwise indicated, properties are nontunable, which means you cannot change their values after calling the object. Objects lock when you call them, and the release function unlocks them.

If a property is tunable, you can change its value at any time.

For more information on changing property values, see System Design in MATLAB Using System Objects.

Operating frequency range of hydrophone, specified as a real-valued 1-by-2 row vector of the form [LowerBound HigherBound]. This property defines the frequency range over which the hydrophone has a response. The hydrophone element has zero response outside this frequency range. Units are in Hz.

Example: [0 1000]

Data Types: double

Voltage sensitivity of hydrophone, specified as a scalar or real-valued 1-by-K row vector. When you specify the voltage sensitivity as a scalar, that value applies to the entire frequency range specified by FrequencyRange. When you specify the voltage sensitivity as a vector, the frequency range is divided into K-1 equal intervals. The sensitivity values are assigned to the interval end points. The step method interpolates the voltage sensitivity for any frequency inside the frequency range. Units are in dB//1V/μPa. See Hydrophone Sensitivity for more details.

Example: 10

Data Types: double

Baffle the back direction of hydrophone element, specified as false or true. When true, the hydrophone responses to all azimuth angles beyond ±90 degrees from broadside (zero degrees azimuth and elevation) are zero.

When the value of this property is false, the back direction of the microphone element is not baffled.

Usage

Description

resp = hydrophone(freq,ang) returns the voltage sensitivity for the hydrophone at the specified operating frequencies and in the specified directions of arriving signals.

Input Arguments

expand all

Voltage sensitivity frequencies of hydrophone, specified as a positive real scalar or a real-valued 1-by-L vector of positive values. Units are in Hz.

Data Types: double

Direction of arriving signals, specified as a real-valued 1-by-M row vector or 2-by-M matrix. When ang is a 2-by-M matrix, each column of the matrix specifies the direction in the form [azimuth;elevation]. The azimuth angle must lie between –180° and 180°, inclusive. The elevation angle must lie between –90° and 90°, inclusive.

When ang is a 1-by-M row vector, each element specifies the azimuth angle of the arriving signal. In this case, the corresponding elevation angle is assumed to be zero.

Data Types: double

Output Arguments

expand all

Voltage sensitivity of hydrophone, returned as a real-valued M-by-L matrix. M represents the number of angles specified in ang, and L represents the number of frequencies specified in freq. Units are in V/Pa.

Object Functions

To use an object function, specify the System object as the first input argument. For example, to release system resources of a System object named obj, use this syntax:

release(obj)

expand all

beamwidthCompute and display beamwidth of sensor element pattern
directivityDirectivity of antenna or transducer element
isPolarizationCapableAntenna element polarization capability
patternPlot antenna or transducer element directivity and patterns
patternAzimuthPlot antenna or transducer element directivity and pattern versus azimuth
patternElevationPlot antenna or transducer element directivity and pattern versus elevation
stepRun System object algorithm
releaseRelease resources and allow changes to System object property values and input characteristics
resetReset internal states of System object

Examples

collapse all

Compute the response of an isotropic hydrophone operating at 2 kHz. The hydrophone has default property values.

Obtain the voltage sensitivity at five different elevation angles: -30, -15, 0, 15 and 30. All azimuth angles are at 0. The sensitivities are computed at the signal frequency of 2 kHz.

hydrophone = phased.IsotropicHydrophone;
fc = 2e3;
resp = hydrophone(fc,[0 0 0 0 0;-30 -15 0 15 30]);

Examine the response and patterns of an isotropic hydrophone operating between 1 kHz and 10 kHz.

Set up the hydrophone parameters. Obtain the voltage sensitivity at five different elevation angles: -30, -15, 0, 15 and 30. All azimuth angles are at 0. The sensitivities are computed at the signal frequency of 2 kHz.

hydrophone = phased.IsotropicHydrophone('FrequencyRange', ...
    [1 10]*1e3);
fc = 2e3;
resp = hydrophone(fc,[0 0 0 0 0;-30 -15 0 15 30]);

Draw a 3-D plot of the voltage sensitivity.

pattern(hydrophone,fc,[-180:180],[-90:90], ...
    'CoordinateSystem','polar','Type','powerdb')

Figure contains an axes object. The hidden axes object with title 3D Response Pattern contains 13 objects of type surface, line, text, patch.

Examine the response and patterns of an isotropic hydrophone at three different frequencies. The hydrophone operates between 1 kHz and 10 kHz. Specify the voltage sensitivity as a vector.

Set up the hydrophone parameters and obtain the voltage sensitivity at 45° azimuth and 30° elevation. Compute the sensitivities at the signal frequencies of 2, 5, and 7 kHz.

hydrophone = phased.IsotropicHydrophone('FrequencyRange',[1 10]*1e3, ...
    'VoltageSensitivity',[-100 -90 -100]);
fc = [2e3 5e3 7e3];
resp = hydrophone(fc,[45;30])
resp = 1×3

   14.8051   29.2202   24.4152

Draw a 2-D plot of the voltage sensitivity as a function of azimuth.

pattern(hydrophone,fc,[-180:180],0,'CoordinateSystem','rectangular',...
    'Type','power')

Figure contains an axes object. The axes object with title Azimuth Cut (elevation angle = 0.0°), xlabel Azimuth Angle (degrees), ylabel Normalized Power contains 3 objects of type line. These objects represent 2 kHz, 5 kHz, 7 kHz.

Compute the directivity of an isotropic hydrophone in different directions. Assume the signal frequency is 3 kHz. First, set up the hydrophone parameters.

fc = 3e3;
hydrophone = phased.IsotropicHydrophone('FrequencyRange',[1,10]*1e3, ...
    'VoltageSensitivity',[-100,-90,-100]);
patternElevation(hydrophone,fc,45)

Figure contains an axes object. The hidden axes object contains 3 objects of type line, text. This object represents 3 kHz .

First, select the angles of interest to be constant elevation angle at zero degrees. The five azimuth angles are centered around boresight (zero degrees azimuth and zero degrees elevation).

ang = [-20,-10,0,10,20; 0,0,0,0,0];

Compute the directivity along the constant elevation cut.

d = directivity(hydrophone,fc,ang)
d = 5×1

     0
     0
     0
     0
     0

The directivity of an isotropic hydrophone is zero in every direction.

Examine the response and patterns of an isotropic hydrophone at three different frequencies. The hydrophone operates between 1 kHz and 10 kHz. Specify the voltage sensitivity as a vector.

Set up the hydrophone parameters and obtain the voltage sensitivity at 45° azimuth and 30° elevation. Compute the sensitivities at the signal frequencies of 2, 5, and 7 kHz.

hydrophone = phased.IsotropicHydrophone('FrequencyRange',[1 10]*1e3, ...
    'VoltageSensitivity',[-100 -90 -100]);
fc = [2e3 5e3 7e3];
resp = hydrophone(fc,[45;30])
resp = 1×3

   14.8051   29.2202   24.4152

Draw a 2-D plot of the voltage sensitivity as a function of azimuth.

pattern(hydrophone,fc,[-180:180],0,'CoordinateSystem','rectangular',...
    'Type','power')

Figure contains an axes object. The axes object with title Azimuth Cut (elevation angle = 0.0°), xlabel Azimuth Angle (degrees), ylabel Normalized Power contains 3 objects of type line. These objects represent 2 kHz, 5 kHz, 7 kHz.

Examine the azimuth pattern of an isotropic hydrophone at 30° elevation. The frequency range is between 1 kHz and 10 kHz. Specify the voltage sensitivity as a vector.

First, set up the hydrophone parameters.

fc = 3e3;
hydrophone = phased.IsotropicHydrophone('FrequencyRange',[1,10]*1e3, ...
    'VoltageSensitivity',[-100,-90,-100]);
patternAzimuth(hydrophone,fc,30)

Figure contains an axes object. The hidden axes object contains 3 objects of type line, text. This object represents 3 kHz .

Plot a smaller range of azimuth angles using the Azimuth parameter.

patternAzimuth(hydrophone,fc,30,'Azimuth',[-20:20])

Figure contains an axes object. The hidden axes object contains 3 objects of type line, text. This object represents 3 kHz .

Plot an elevation cut of directivity of an isotropic hydrophone at 45° azimuth. Assume the signal frequency is 3 kHz. First, set up the hydrophone parameters.

fc = 3e3;
hydrophone = phased.IsotropicHydrophone('FrequencyRange',[1,10]*1e3, ...
    'VoltageSensitivity',[-100,-90,-100]);
patternElevation(hydrophone,fc,45)

Figure contains an axes object. The hidden axes object contains 3 objects of type line, text. This object represents 3 kHz .

Plot a smaller range of elevation angles using the Elevation parameter.

patternElevation(hydrophone,fc,45,'Elevation',-20:20)

Figure contains an axes object. The hidden axes object contains 3 objects of type line, text. This object represents 3 kHz .

More About

expand all

Algorithms

The total sensitivity of a hydrophone is a combination of its frequency sensitivity and spatial sensitivity. phased.IsotropicHydrophone calculates both sensitivities using nearest neighbor interpolation, and then multiplies the sensitivities to form the total sensitivity.

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.

[3] Allen, J.B., and D. Berkely. “Image method for efficiently simulating small-room acoustics”, Journal of the Acoustical Society of America. Vol. 65, No. 4. April 1979, pp. 943–950.

[4] Van Trees, H. Optimum Array Processing. New York: Wiley-Interscience, 2002, pp. 274–304.

Extended Capabilities

Version History

Introduced in R2017a