seaSurface
Description
adds a srf = seaSurface(scene)SeaSurface object
srf to the radarScenario
object scene.
adds a sea surface object with the specified property srf = seaSurface(scene,Name=Value)Name set to the
specified Value. You can specify additional name-value pair arguments
in any order as
(Name1=Value1,...,NameN=ValueN).
Examples
Create a square sea surface area using the seaSurface object. Assume a moderate sea state with a wind speed of about 10 m/s, a fetch of 250 km and a length of 1.0 km. Add an Elfouhaily spectrum to the sea surface. Use the height function to determine the heights of 2 points on the map.
Create a radar scenario.
scene = radarScenario(IsEarthCentered = false);
rng('default')Add a sea surface to the scene with an Elfouhaily spectrum.
spec = seaSpectrum(Resolution = 20);
srf = seaSurface(scene,Boundary = [-500 500; -500 500], ...
WindSpeed = 10,Fetch = 250000,SpectralModel = spec);Find the height at two points.
P1 = [0;0]; P2 = [30;-70]; H = height(srf,[P1 P2])
H = 1×2
-0.9394 -0.2682
Display the sea surface properties in the surface manager.
mgr = scene.SurfaceManager
mgr =
SurfaceManager with properties:
EnableMultipath: 0
UseOcclusion: 1
Surfaces: [1×1 radar.scenario.SeaSurface]
mgr.Surfaces
ans =
SeaSurface with properties:
WindSpeed: 10
WindDirection: 0
Fetch: 250000
SpectralModel: [1×1 seaSpectrum]
RadarReflectivity: [1×1 surfaceReflectivitySea]
ReflectionCoefficient: [1×1 radar.scenario.SurfaceReflectionCoefficient]
ReflectivityMap: 1
ReferenceHeight: 0
Boundary: [2×2 double]
Create a square sea surface assuming a moderate sea state with a wind speed of about 12 knots (6.17 m/s), a fetch of 120 nmi (222.24 km), and a length of 1.024 km. Add an Elfouhaily spectrum to the sea surface. Use the occlusion object function to determine if the path from point 1 to point 2 is occluded.
Start by creating a radar scenario;
scene = radarScenario;
Add a sea surface with an Elfouhaily spectrum.
rng('default'); spec = seaSpectrum('Resolution',16);
Create the sea surface.
bnds = [0 1024; 0 1024]; srf = seaSurface(scene,'Boundary',bnds, ... 'WindSpeed',6.17,'Fetch',222.24e3, ... 'SpectralModel',spec);
Set two points for testing occlusion.
p1 = [1016; 368; -0.082]; p2 = [10; 100; 0.13];
Determine if the path from p1 to p2 is occluded
tf1 = occlusion(srf,p1,p2)
tf1 = logical
1
Create a 1024-by-1024 m square sea surface. Assume an NRL reflectivity model for a high sea state 6 with a wind speed of about 20 m/s and a fetch of 250 km. Set UseOcclusion in the SurfaceManager to false.
Create a radar scenario.
scene = radarScenario;
Model the reflectivity using the NRL model.
refl = surfaceReflectivitySea(Model = 'NRL',SeaState = 6, ... Polarization = 'V')
refl =
surfaceReflectivitySea with properties:
EnablePolarization: 0
Model: 'NRL'
SeaState: 6
Polarization: 'V'
Speckle: 'None'
rng(2033) spec = seaSpectrum(Resolution = 2); bnds = [0 1024; 0 1024]; srf = seaSurface(scene,Boundary = bnds, ... WindSpeed = 20,Fetch = 250e3, ... SpectralModel = spec); mgr = scene.SurfaceManager; mgr.UseOcclusion = false
mgr =
SurfaceManager with properties:
EnableMultipath: 0
UseOcclusion: 0
Surfaces: [1×1 radar.scenario.SeaSurface]
x = linspace(srf.Boundary(1,1),srf.Boundary(1,2),1000); y = linspace(srf.Boundary(2,1),srf.Boundary(2,2),1000); [X,Y] = meshgrid(x,y); X1 = X(:)'; Y1 = Y(:)'; hts = height(srf,[Y1;X1]); hts = reshape(hts,length(x),length(y)); surf(x,y,hts) axis equal shading interp ylabel('X (m)') xlabel('Y (m)') zlabel('Height (m)')

Input Arguments
Radar scenario, specified as a radarScenario
object.
Name-Value Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN, where Name is
the argument name and Value is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
Before R2021a, use commas to separate each name and value, and enclose
Name in quotes.
Example: srf = seaSurface(scene,'Boundary',[-500 500; -500
500],'WindSpeed',10,'Fetch',250000,'SpectralModel',spec);
Sea surface omnidirectional motion spectrum, specified as a seaSpectrum
object. This object models surface heights over time.
Dependencies
To enable this property, set the radarScenario property
IsEarthCentered to false.
Bounding rectangle of the surface, specified as a 2-by-2 matrix of real values. The bounding rectangle is defined by two two-dimensional points in either Cartesian or geodetic scenario coordinates. When the IsEarthCentered property of the radarScenario object is specified as:
false— Scenario coordinates are Cartesian. Specify the bounding rectangle [MinX,MaxX,MinYMaxY], as Cartesian coordinates in the reference frame of the scenario, whereMinX<MaxX, andMinY<MaxY.true— Scenario coordinates are geodetic. Specify the bounding rectangle as [StartLat,EndLat,StartLonEndLon] whereStartLatandEndLatare the minimum and maximum latitudes of the geodetic frames.StartLatandEndLatmust lie in the interval [–90,90] whereStartLat<EndLat.Specify
StartLonandEndLonas the minimum and maximum longitudes of the geodetic frame.StartLonandEndLonmust lie in the interval [–180,180]. IfEndLon<StartLon, the object wrapsEndLontoStartLon+360°. Units are in degrees.
Data Types: double
Radar reflectivity object of surface, specified as a surfaceReflectivitySea or surfaceReflectivityCustom for the normalized radar cross section (NRCS)
of the surface. Defaults to a surfaceReflectivitySea object using a Barton land model and flatland land
type.
This property contains a grid of reflectivity type values corresponding to vertices of the
surface height data. If any terrain or a spectral model is present,
ReflectivityMap must be a matrix of the same size as the domain
of that data. Otherwise it must be scalar. Each element is an index into the third
dimension of the Reflectivity property of the surfaceReflectivityCustom object.
Dependencies
To enable this property, set the RadarReflectivity property to a surfaceReflectivityCustom object.
Data Types: double
Surface reflection coefficient for use in multipath calculations, specified either as
a SurfaceReflectionCoefficient object that defines the reflectivity
model or as scalar with a value between -1 and 1. The default value is a SurfaceReflectionCoefficient object containing the earthSurfacePermittivity function model of the relative permittivity and
conductivity for sea water that has a smooth surface (no waves). Note, by default, the
reflectionCoefficient object function is called internally on the
SurfaceReflectionCoefficient object to calculate the cumulative reflection
coefficient value during multipath modeling if the EnableMultipath
property is set to true in SurfaceManager.
Complex Number Support: Yes
Reference height of surface height data, specified as a scalar. Surface heights are relative to the reference height. Units are in meters.
Data Types: double
Wind speed over sea surface, specified as a nonnegative scalar. Wind speed is defined at a height of 10 meters from the water surface. Wind speed is used as a parameter for the associated spectral model. Units are m/s.
Data Types: double
Wind direction over the sea surface, specified as a scalar in the range 0° to
180°. A standard right-handed Cartesian coordinate system is used. When the
IsEarthCentered property of radarScenario is
true, wind direction is a positive angle defined counterclockwise
from the positive x-axis. Otherwise, wind direction is defined as
clockwise from the North direction. This property is used to determine surface
reflectivity and is used as a parameter for the associated spectral model. Units are
in degrees.
Data Types: double
Fetch, specified as a positive scalar. Fetch is the distance over a sea surface in which the wind blows in a single direction without obstruction. The fetch is used as a parameter for the associated spectral model. Units are in meters.
Data Types: double
Output Arguments
Sea surface, returned as a SeaSurface object.
Version History
Introduced in R2022a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Website auswählen
Wählen Sie eine Website aus, um übersetzte Inhalte (sofern verfügbar) sowie lokale Veranstaltungen und Angebote anzuzeigen. Auf der Grundlage Ihres Standorts empfehlen wir Ihnen die folgende Auswahl: .
Sie können auch eine Website aus der folgenden Liste auswählen:
So erhalten Sie die bestmögliche Leistung auf der Website
Wählen Sie für die bestmögliche Website-Leistung die Website für China (auf Chinesisch oder Englisch). Andere landesspezifische Websites von MathWorks sind für Besuche von Ihrem Standort aus nicht optimiert.
Amerika
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)