[[Image:Splash-prop.jpg|right|800px720px]]<strong><font color="#4e1985" size="4">A True 3D, Coherent, Polarimetric Ray Tracer That Simulates Very Large Urban Scenes In Just Few Minutes!</font></strong>
<table>
<tr>
<td>[[image:Cube-icon.png | link=Getting_Started_with_EM.Cube]] [[image:cad-ico.png | link=Building_Geometrical_Constructions_in_CubeCAD]] [[image:fdtd-ico.png | link=EM.Tempo]] [[image:postatic-ico.png | link=EM.IlluminaFerma]] [[image:staticplanar-ico.png | link=EM.FermaPicasso]] [[image:planarmetal-ico.png | link=EM.PicassoLibera]] [[image:metalpo-ico.png | link=EM.LiberaIllumina]] </td>
<tr>
</table>
[[Image:Tutorial_icon.png|40px30px]] '''[[EM.Cube#EM.Terrano_Tutorial_Lessons Terrano_Documentation | EM.Terrano Tutorial Gateway]]'''
[[Image:Back_icon.png|40px30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''
==Product Overview==
===EM.Terrano in a Nutshell ===
EM.Terrano is a physics-based, site-specific, wave propagation modeling tool that enables engineers to quickly determine how radio waves propagate in urban, natural or mixed environments. EM.Terrano's simulation engine is equipped with a fully polarimetric, coherent 3D ray tracing solver based on the Shooting-and-Bouncing-Rays (SBR) method, which utilizes geometrical optics (GO) in combination with uniform theory of diffraction (UTD) models of building edges. EM.Terrano lets you analyze and resolve all the rays transmitted from one ore more signal sources, which propagate in a real physical site channel made up of buildings, terrain and other obstructing structures. EM.Terrano finds all the rays received by a receiver at a particular location in the physical site and computes their vectorial field and power levels, time delays, angles of arrivaland departure, etc. Using EM.Terrano you can examine the connectivity of a communication link between any two points in a real specific propagation site.
Since its introduction in 2002, EM.Terrano has helped wireless engineers around the globe model the physical channel and the mechanisms by which radio signals propagate from transmitters to receiversin various environments. EM.Terranoâs advanced ray tracing simulator finds the dominant propagation paths at each specific physical site. It calculates the true signal characteristics at the actual locations using physical databases of the buildings and terrain at a given site, not those of a statistically average or representative environment. The earlier versions of EM.Terrano's SBR solver relied on certain assumptions and approximations such as the vertical plane launch (VPL) method or 2.5D analysis of urban canyons with prismatic buildings using two separate vertical and horizontal polarizations. In 2014, we introduced a new fully 3D polarimetric SBR solver that accurately traces all the three X, Y and Z components of the electric fields (both amplitude and phase) at every point inside the computational domain. Using a full 3D CAD modeler, you can now set up any number of buildings with arbitrary geometries, no longer limited to vertical prismatic shapes. Versatile interior wall arrangements allow indoor propagation modeling inside complex building configurations. The most significant recent improvement development is an entirely new a multicore parallelized SBR simulation engine that takes advantage of ultrafast k-d tree algorithms borrowed from the field of computer graphics and video gamingto achieve the ultimate speed and efficiency in geometrical optics ray tracing.
[[Image:Tutorial_iconInfo_icon.png|40px30px]] Click here to access learn more about the '''[[EM.Cube#EM.Terrano_Tutorial_Lessons Basic Principles of SBR Ray Tracing | EM.Terrano Tutorial GatewayBasic SBR Theory]]'''.
<table>
<tr>
<td>
[[Image:PROP250AManhattan1.png|thumb|left|720px420px|A large urban propagation scene featuring lower Manhattan.]]
</td>
</tr>
=== EM.Terrano as the Propagation Module of EM.Cube ===
EM.Terrano is the ray tracing '''Propagation Module''' of '''[[EM.Cube]]''', a comprehensive, integrated, modular electromagnetic modeling environment. EM.Teranno Terrano shares the visual interface, 3D parametric CAD modeler, data visualization tools, and many more utilities and features collectively known as [[Building_Geometrical_Constructions_in_CubeCAD | CubeCAD ]] with all of [[EM.Cube]]'s other computational modules.
With the seamless integration of EM.Terrano with [[EM.Cube]]'s other modules, you can now model complex antenna systems in [[EM.Tempo]], [[EM.Libera]], [[EM.Picasso]] or [[EM.Illumina]], and generate antenna radiation patterns that can be used to model directional transmitters and receivers at the two ends of your propagation channel. Conversely, you can analyze a propagation scene in EM.Terrano, collect all the rays received at a certain receiver location and import them as coherent plane wave sources to [[EM.Tempo]], [[EM.Libera]], [[EM.Picasso]] or [[EM.Illumina]].
[[Image:Info_icon.png|40px30px]] Click here to learn more about '''[[Getting_Started_with_EM.Cube | EM.Cube Modeling Environment]]'''.
[[Image:Info_icon=== Advantages & Limitations of EM.png|40px]] Click here Terrano's SBR Solver === EM.Terrano's SBR simulation engine utilizes an intelligent ray tracing algorithm that is based on the concept of k-dimensional trees. A k-d tree is a space-partitioning data structure for organizing points in a k-dimensional space. k-d trees are particularly useful for searches that involve multidimensional search keys such as range searches and nearest neighbor searches. In a typical large radio propagation scene, there might be a large number of rays emanating from the transmitter that may never hit any obstacles. For example, upward-looking rays in an urban propagation scene quickly exit the computational domain. Rays that hit obstacles on their path, on the other hand, generate new reflected and transmitted rays. The k-d tree algorithm traces all these rays systematically in a very fast and efficient manner. Another major advantage of k-d trees is the fast processing of multi-transmitters scenes.  EM.Terrano performs fully polarimetric and coherent SBR simulations with arbitrary transmitter antenna patterns. Its SBR simulation engine is a true asymptotic "field" solver. The amplitudes and phases of all the three vectorial field components are computed, analyzed and preserved throughout the entire ray tracing process from the source location to learn more about the basic functionality field observation points. You can visualize the magnitude and phase of all six electric and magnetic field components at any point in the computational domain. In most scenes, the buildings and the ground or terrain can be assumed to be made of homogeneous materials. These are represented by their electrical properties such as permittivity ε<sub>r</sub> and electric conductivity σ. More complex scenes may involve a multilayer ground or multilayer building walls. In such cases, one can no longer use the simple reflection or transmission coefficient formulas for homogeneous medium interfaces. EM.Terrano calculates the reflection and transmission coefficients of multilayer structures as functions of incident angle, frequency and polarization and uses them at the respective specular points.  It is very important to keep in mind that SBR is an asymptotic electromagnetic analysis technique that is based on Geometrical Optics (GO) and the Uniform Theory of Diffraction (UTD). It is not a "full-wave" technique, and it does not provide a direct numerical solution of Maxwell'''s equations. SBR makes a number of assumptions, chief among them, a very high operational frequency such that the length scales involved are much larger than the operating wavelength. Under this assumed regime, electromagnetic waves start to behave like optical rays. Virtually all the calculations in SBR are based on far field approximations. In order to maintain a high computational speed for urban propagation problems, EM.Terrano ignores double diffractions. Diffractions from edges give rise to a large number of new secondary rays. The power of diffracted rays drops much faster than reflected rays. In other words, an edge-diffracted ray does not diffract again from another edge in EM.Terrano. However, reflected and penetrated rays do get diffracted from edges just as rays emanated directly from the sources do. <table><tr><td> [[Building_Geometrical_Constructions_in_CubeCAD Image:Multipath_Rays.png| CubeCADthumb|left|500px|A multipath urban propagation scene showing all the rays collected by a receiver.]]'''.</td></tr></table>
== EM.Terrano Features at a Glance ==
<ul>
<li>
Buildings/blocks with arbitrary geometries and material properties including multilayer walls and user defined macromodels</li>
<li>
Buildings/blocks with impenetrable surfaces or penetrable surfacesusing thin wall approximation</li>
<li>
Terrain with arbitrary material properties including lossy multilayer ground, user defined macromodels or an empirical soil modelMultilayer walls for indoor propagation scenes</li>
<li>
Native terrain generator Penetrable volume blocks with terrain catalog arbitrary geometries and user defined equation-based surface profiles including random rough surface terrainmaterial properties</li>
<li>
Import of shape shapefiles and STEP, IGES and STL CAD model files for scene construction</li>
<li>
Import of digital elevation map (DEM) terrainTerrain surfaces with arbitrary geometries and material properties and random rough surface profiles</li>
<li>
Penetrable volume blocks with arbitrary material properties or based on fog, rain or Weissberger vegetation Import of digital elevation map (DEM) terrain models</li>
<li>
Easy construction Python-based random city wizard with randomized building locations, extents and orientations</li> <li> Python-based wizards for generation of indoor scenes using arbitrary penetrable surfaces parameterized multi-story office buildings and several terrain scene types</li> <li> Standard half-wave dipole transmitters and receivers oriented along the principal axes</li> <li> Short Hertzian dipole sources with thin wall definitionsarbitrary orientation</li> <li> Isotropic receivers or receiver grids for wireless coverage modeling</li>
<li>
Radiator sets with 3D directional antenna patterns (imported from other modules or external files)</li>
<li>
Interchangeable radiator-based definition of transmitters and receivers (networks of transceivers)</li>
<li>
Multiple transmitters and transmitter arrays with coherent ray superposition</li>
<li>
Multiple receivers and receiver grids for coverage modeling</li>
</ul>
GTD/UTD diffraction models for diffraction from building edges and terrain</li>
<li>
Triangular surface mesher mesh generator for discretization of arbitrary block geometries</li>
<li>
Super-fast geometrical/optical ray tracing using advanced k-d tree algorithms</li>
Intelligent ray tracing with user defined angular extents and resolution</li>
<li>
Ray reflection, edge diffraction and ray transmission through multilayer thin walls and material volumes</li>
<li>
Communication link analysis for superheterodyne transmitters and receivers</li>
<li>
User defined macromodels 17 digital modulation waveforms for reflection and transmission coefficients the calculation of blocks E<sub>b</sub>/N<sub>0</sub> and terrain Bit error rate (imported from other modules or external filesBER)</li>
<li>
Real-time superposition Incredibly fast frequency sweeps of synchronized transmittersthe entire propagation scene in a single SBR simulation run</li>
<li>
Incredibly fast frequency Parametric sweeps of the entire propagation sceneelements like building properties, or radiator heights and rotation angles</li>
<li>
Parametric sweeps Statistical analysis of the propagation scene elements like building properties, radiator heights and rotation angles, or superheterodyne transmitter and receiver parameters</li>
<li>
Statistical analsyis of the propagation scenePolarimetric channel characterization for MIMO analysis</li>
<li>
Remote simulation capability"Almost real-time" Polarimatrix solver using an existing ray database</li>
<li>
Both Windows and Linux versions of SBR simulation engine available"Almost real-time" transmitter sweep using the Polarimatrix solver</li> <li> "Almost real-time" rotational sweep for modeling beam steering using the Polarimatrix solver</li> <li> "Almost real-time" mobile sweep for modeling mobile communications between Tx-Rx pairs along a mobile path using the Polarimatrix solver</li>
</ul>
<ul>
<li>
Standard output parameters for received power, path loss, SNR, E<sub>b</sub>/N<sub>0</sub> and BER at each individual receiver</li>
<li>
Graphical visualization of propagating rays in the scene</li>
<li>
Received power coverage maps</li>
<li>
Link connectivity maps (based on minimum required SNR and BER)</li>
<li>
Color-coded intensity plots of polarimetric electric field distributions</li>
<li>
Link connectivity maps (based on minimum required SNR)</li> <li> Incoming ray data analysis at each receiverincluding delay, angles of arrival and departure</li>
<li>
Cartesian plots of path loss along defined paths</li>
<li>
Power delay profileof the selected receiver</li> <li> Polar stem charts of angles of arrival and departure of the selected receiver</li>
</ul>
Â
<table>
<tr>
<td>
[[Image:KDFig10.png|thumb|left|550px|A large urban propagation scene with a global lossy flat ground.]]
</td>
</tr>
<tr>
<td>
[[Image:KDFig11.png|thumb|left|550px|Computed received power coverage map of the above urban propagation scene.]]
</td>
</tr>
</table>
Â
== A Ray Tracing Simulation Primer ==
Â
=== Physics-Based Propagation Channel Modeling Using SBR Ray Tracing ===
Â
Every wireless communication system involves a transmitter that transmits some sort of signal (voice, video, data, etc.), a receiver that receives and detects the transmitted signal, and a channel in which the signal is transmitted into the air and travels from the location of the transmitter to the location of the receiver. The channel is the physical medium in which the electromagnetic waves propagate. The successful design of a communication system depends on an accurate link budget analysis that determines whether the receiver receives adequate signal power to detect it against the background noise. The simplest channel is the free space. In a free-space line-of-sight (LOS) communication system, the signal propagates directly from the transmitter to the receiver without encountering any obstacles (scatterers). Free-space line-of-sight channels are ideal scenarios that can typically be used to model aerial or space communication system applications.
Â
[[Image:Info_icon.png|40px]] Click here to learn more about the theory of a '''[[SBR Method#Free-Space Wave Propagation | Free-Space Propagation Channel]]'''.
Â
Real communication channels, however, are more complicated and involve a large number of wave scatterers. For example, in an urban environment, the obstructing buildings, vehicles and vegetation reflect, diffract or attenuate the propagating radio waves. As a result, the receiver receives a distorted signal that contains several components with different power levels and different time delays arriving from different angles. The different rays arriving at a receiver location create constructive and destructive interference patterns. This is known as the multipath effect. This together with the shadowing effects caused by building obstructions lead to channel fading. The use of statistical models for prediction of fading effects is widely popular among communication system designers. These models are either based on measurement data or derived from simplistic analytical frameworks. The statistical models often exhibit considerable errors especially in areas having mixed building sizes. In such cases, one needs to perform a physics-based, site-specific analysis of the propagation environment to accurately identify and establish all the possible signal paths from the transmitter to the receiver. This involves an electromagnetic analysis of the scene with all of its geometrical and physical details.
Â
<table>
<tr>
<td>
[[Image:multi1_tn.png|thumb|left|550px|A multipath propagation scene showing all the rays arriving at a particular receiver.]]
</td>
</tr>
</table>
Â
Link budget analysis for a multipath channel is a challenging task due to the large size of the computational domains involved. Typical propagation scenes usually involve length scales on the order of thousands of wavelengths. To calculate the path loss between the transmitter and receiver, one must solve Maxwell's equations in an extremely large space. Full-wave numerical techniques like the Finite Difference Time Domain (FDTD) method, which require a fine discretization of the computational domain, are therefore impractical for solving large-scale propagation problems. The practical solution is to use asymptotic techniques such as SBR, which utilize analytical techniques over large distances rather than a brute force discretization of the entire computational domain. Such asymptotic techniques, of course, have to compromise modeling accuracy for computational efficiency.
Â
EM.Terrano provides an asymptotic ray tracing simulation engine that is based on a technique known as Shooting-and-Bouncing-Rays (SBR). In this technique, propagating spherical waves are modeled as ray tubes or beams that emanate from a source, travel in space, bounce from obstacles and are collected by the receiver. As rays propagate away from their source (transmitter), they begin to spread (or diverge) over distance. In other words, the cross section or footprint of a ray tube expands as a function of the distance from the source. EM.Terrano uses an accurate equi-angular ray generation scheme to that produces almost identical ray tubes in all directions to satisfy energy and power conservation requirements.
Â
When a ray hits an obstructing surface, one or more of the following phenomena may happen:
Â
# Reflection from the locally flat surface
# Transmission through the locally flat surface
# Diffraction from an edge between two conjoined locally flat surfaces
Â
[[Image:Info_icon.png|40px]] Click here to learn more about the '''[[SBR Method#Basic Wave Interaction Mechanisms | Theory of SBR Method]]'''.
Â
=== Advantages & Limitations of EM.Terrano's SBR Solver ===
Â
EM.Terrano's SBR simulation engine utilizes an intelligent ray tracing algorithm that is based on the concept of k-dimensional trees. A k-d tree is a space-partitioning data structure for organizing points in a k-dimensional space. k-d trees are particularly useful for searches that involve multidimensional search keys such as range searches and nearest neighbor searches. In a typical large radio propagation scene, there might be a large number of rays emanating from the transmitter that may never hit any obstacles. For example, upward-looking rays in an urban propagation scene quickly exit the computational domain. Rays that hit obstacles on their path, on the other hand, generate new reflected and transmitted rays. The k-d tree algorithm traces all these rays systematically in a very fast and efficient manner. Another major advantage of k-d trees is the fast processing of multi-transmitters scenes.
Â
EM.Terrano performs fully polarimetric and coherent SBR simulations with arbitrary transmitter antenna patterns. Its SBR simulation engine is a true asymptotic "field" solver. The amplitudes and phases of all the three vectorial field components are computed, analyzed and preserved throughout the entire ray tracing process from the source location to the field observation points. You can visualize the magnitude and phase of all six electric and magnetic field components at any point in the computational domain. In most scenes, the buildings and the ground or terrain can be assumed to be made of homogeneous materials. These are represented by their electrical properties such as permittivity ε<sub>r</sub> and electric conductivity σ. More complex scenes may involve a multilayer ground or multilayer building walls. In such cases, one can no longer use the simple reflection or transmission coefficient formulas for homogeneous medium interfaces. EM.Terrano calculates the reflection and transmission coefficients of multilayer structures as functions of incident angle, frequency and polarization and uses them at the respective specular points.
Â
It is very important to keep in mind that SBR is an asymptotic electromagnetic analysis technique that is based on Geometrical Optics (GO) and the Uniform Theory of Diffraction (UTD). It is not a "full-wave" technique, and it does not provide a direct numerical solution of Maxwell's equations. SBR makes a number of assumptions, chief among them, a very high operational frequency such that the length scales involved are much larger than the operating wavelength. Under this assumed regime, electromagnetic waves start to behave like optical rays. Virtually all the calculations in SBR are based on far field approximations. In order to maintain a high computational speed for urban propagation problems, EM.Terrano ignores double diffractions. Diffractions from edges give rise to a large number of new secondary rays. The power of diffracted rays drops much faster than reflected rays. In other words, an edge-diffracted ray does not diffract again from another edge in EM.Terrano. However, reflected and penetrated rays do get diffracted from edges just as rays emanated directly from the sources do.
== Building a Propagation Scene in EM.Terrano ==
=== The Various Elements of a Propagation Scene ===
A typical propagation scene in EM.Terrano consists of several elements. At a minimum, you need a transmitter (Tx) at some location to launch rays into the scene and a receiver (Rx) at another location to receive and collect the incoming rays. A transmitter and a receiver together make the simplest propagation scene, representing a free-space line-of-sight (LOS) channel. In EM.TErranoTerrano, a transmitter represents a point source, while a receiver represents a point observable. Both a transmitter and a receiver are associated with point objects, which are one of the many types of geometric objects you can draw in the project workspace. Your scene might involve more than one transmitter and possibly a large grid of receivers.
A more complicated propagation scene usually contains several buildings, walls, or other kinds of scatterers and wave obstructing objects. You models model all of these elements by drawing geometric objects in the project workspace or by importing external CAD models. EM.Terrano does not organize the geometric objects of your project workspace by their material composition. Rather, it groups the geometric objects into blocks based on a common type of interaction with incident rays. EM.Terrano offer the following types of object blocks:
{| class="wikitable"
|-
! scope="col"| Icon
! scope="col"| Block /Group Type
! scope="col"| Ray Interaction Type
! scope="col"| Object Types Allowed
! scope="col"| Notes
|-
| style="width:30px;" | [[File:impenet_group_icon.png]]
| style="width:150px;" | '''[[Glossary of EM.Cube's Materials , Sources, Devices & Other Physical Object Types#Impenetrable Surface | Impenetrable Surface]]'''| style="width:250px200px;" | Ray reflection, ray diffraction
| style="width:250px;" | All solid & surface geometric objects, no curve objects
| style="width:300px;" | Basic building group for outdoor scenes
|-
| style="width:30px;" | [[File:penet_surf_group_icon.png]]
|| style="width:150px;" | '''[[Glossary of EM.Cube's Materials , Sources, Devices & Other Physical Object Types#Penetrable Surface | Penetrable Surface]]'''| style="width:250px200px;" | Ray reflection, ray diffraction, ray transmission through thin wallsin free space
| style="width:250px;" | All solid & surface geometric objects, no curve objects
| style="width:300px;" | Behaves similar to impenetrable surface and uses thin wall approximation for generating transmitted rays, used to model hollow buildings with ray penetration, entry and exit
|-
| style="width:30px;" | [[File:terrain_group_icon.png]]
|| style="width:150px;" | '''[[Glossary of EM.Cube's Materials , Sources, Devices & Other Physical Object Types#Terrain Surface | Terrain Surface]]'''| style="width:250px200px;" | Ray reflection, ray diffraction
| style="width:250px;" | All surface geometric objects, no solid or curve objects
| style="width:300px;" | Behaves exactly like impenetrable surface but can change the elevation of all the buildings and transmitters and receivers located above it
|-
| style="width:30px;" | [[File:penet_vol_group_icon.png]]
|| style="width:150px;" | '''[[Glossary of EM.Cube's Materials , Sources, Devices & Other Physical Object Types#Penetrable Volume | Penetrable Volume]]'''| style="width:250px200px;" | Ray reflection, ray diffraction, ray transmission in and ray attenuation inside homogeneous material media
| style="width:250px;" | All solid geometric objects, no surface or curve objects
| style="width:300px;" | Used to model wave propagation inside a volumetric material block, also used for creating individual solid walls and interior building partitions and panels in indoor scenes
|-
| style="width:30px;" | [[File:base_group_icon.png]]
|| style="width:150px;" | '''[[Glossary of EM.Cube's Materials , Sources, Devices & Other Physical Object Types#Base Location Set | Base Location Set]]'''| style="width:250px200px;" | Either ray generation or ray reception
| style="width:250px;" | Only point objects
| style="width:300px;" | Required for the definition of transmitters and receivers
|-
| style="width:30px;" | [[File:scatterer_group_icon.png]]
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Point Scatterer Set | Point Scatterer Set]]
| style="width:200px;" | Ray reception and ray scattering
| style="width:250px;" | Only point, box and sphere objects
| style="width:300px;" | Required for the definition of point scatterers as targets in a radar simulation
|-
| style="width:30px;" | [[File:Virt_group_icon.png]]
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Virtual_Object_Group | Virtual Object]]
| style="width:200px;" | No ray interaction
| style="width:250px;" | All types of objects
| style="width:300px;" | Used for representing non-physical items
|}
Click on each type to learn more about it in the [[Glossary of EM.Cube's Materials , Sources, Devices & Other Physical Object Types]].
Impenetrable surfaces, penetrable surfaces, terrain surfaces and penetrable volumes represent all the objects that obstruct the propagation of electromagnetic waves (rays) in the free space. What differentiates them is the types of physical phenomena that are used to model their interaction with the impinging rays. EM.Terrano discretizes geometric objects into a number of flat facets. The field intensity, phase and power of the reflected and transmitted rays depend on the material properties of the obstructing facet. The specular surface of a facet can be modeled locally as a simple homogeneous dielectric half-space or as a multilayer medium. In that respect, all the obstructing objects such as buildings, walls, terrain, etc. behave in a similar way:
* They terminate an impinging ray and replace it with one or more new rays.
An outdoor propagation scene typically involves several buildings modeled by impenetrable surfaces. Rays hit the facets of impenetrable buildings and bounce back, but they do not penetrate the object. It is assumed that the interior of such buildings are highly dissipative due to wave absorption or diffusion. An indoor propagation scene typically involves several walls, a ceiling and a floor arranged according to a certain building layout. Penetrable surfaces are used to model the exterior and interior walls of buildings. Rays reflect off these surfaces and diffract off their edges. They also penetrate the thin surface and continue their path in the free space on the other side of the wall. Terrain surfaces with irregular shapes or possibly random rough surfaces are used as an alternative to the flat global ground. You can also build mixed scenes involving both impenetrable and penetrable blocks or irregular terrain. In the context of a propagation scene, penetrable volumes are often used to model block of rain, fog or vegetation. Base location sets are used to geometrically represent point transmitters and point receivers in the project workspace.
Â
Sometimes it is helpful to draw graphical objects as visual clues in the project workspace. These non-physical objects must belong to a virtual object group. Virtual objects are not discretized by EM.Terrano's mesh generator, and they are not passed onto the input data files of the SBR simulation engine.
<table>
<tr>
<td>
[[Image:PROP MAN2.png|thumb|left|720px|An urban propagation scene generated by EM.Terrano's "Random City" wizardand "Basic Link" wizards. It consists of 25 cubic brick buildings, one transmitter and a large two-dimensional array of receivers. ]]
</td>
</tr>
=== Adjustment of Block Elevation on Underlying Terrain Surfaces ===
In [[EM.Terrano]], buildings and all other geometric objects are initially drawn on the XY plane. In other words, the Z-coordinates of the local coordinate system (LCS) of all blocks are set to zero until you change them. Since the global ground is located a z = 0, your buildings are seated on the ground. When your propagation scene has an irregular terrain, you would want to place your buildings on the surface of the terrain and not buried under it. This can be done automatically as part of the definition of the block group. Open the property dialog of a block group and check the box labeled '''Adjust Block to Terrain Elevation'''. All the objects belonging to that block are automatically elevated in the Z direction such that their bases sit on the surface of their underlying terrain. In effect, the LCS of each of these individual objects is translated along the global Z-axis by the amount of the Z-elevation of the terrain object at the location of the LCS.
{{Note| You have to make sure that the resolution of your terrain, its variation scale and building dimensions are all comparable. Otherwise, on a rapidly varying high-resolution terrain, you will have buildings whose bottoms touch the terrain only at a few points and parts of them hang in the air.}}
<tr>
<td>
[[Image:PROP MAN6.png|thumb|left|480px360px|A set of buildings on an undulating terrain without elevation adjustment.]]
</td>
</tr>
<tr>
<td>
[[Image:PROP MAN7.png|thumb|left|480px360px|The set of buildings on the undulating terrain after elevation adjustment.]]
</td>
</tr>
</table>
== EM.Terrano's Ray Domain & Global Ground Environment ==
=== Why Do You Need a Finite Computational Domain? ===
<tr>
<td>
[[Image:PROP4Global environ.png|thumb|left|480px720px|EM.Terrano's global ground settings Global Environment Settings dialog.]]
</td>
</tr>
</table>
== Defining Point Transmitters & Point Receivers for Your Propagation Scene ==
=== Defining a Transmitter Set The Nature of Transmitters & Receivers ===
Transmitters act as sources in a In EM.Terrano, transmitters and receivers are indeed point radiators used for transmitting and receiving signals at different locations of the propagation scene. A transmitter is From a geometric point radiator with a fully polarimetric radiation pattern defined over the entire 3D space in the standard spherical coordinate system. By defaultof view, EMboth transmitters and receivers are represented by point objects or point arrays.Terrano assumes that your transmitter is a vertically polarized half-wave resonant dipole antenna. This antenna has an almost omni-directional radiation pattern These are grouped as base locations in all azimuth directions. It also has radiation nulls along the axis "Physical Structure" section of the dipolenavigation tree. You can override the default As radiators, transmitters and receivers are defined by a radiator option and select any other kind of antenna type with a more complicated certain far-field radiation pattern. For this purpose, you have to import a radiation pattern data file to EM.Terrano. You can model any radiating structure using Consistent with [[EM.Cube]]'s other computational modules, [[EM.Tempo]]transmitters are categorizes as an excitation source, [[EMwhile receivers are categorized as a project observable.Picasso]]In other words, [[EM.Libera]] or [[EM.Illumina]], and a transmitter is used to generate a 3D radiation pattern data file for it. The far-field radiation patter data are stored electromagnetic waves that propagate in a specially formatted file with a "'''the physical scene.RAD'''" file extension. This file contains columns of spherical φ and θ angles as well as A receiver, on the real other hand, is used to compute the received fields and imaginary parts of the complexreceived signal power or signal-valued farto-zoned electric field components '''E<sub>θ</sub>''' and '''E<sub>φ</sub>'''noise ratio (SNR). The θ- For this reason, transmitters are defined and φ-components of listed under the far-zone electric field determine the polarization "Sources" sections of the transmitting radiatornavigation tree, while receivers are defined and listed under the "Observables" section.
{{Note|By default, EM.Terrano assume a vertical half-wave dipole provides three radiator types for your point transmitter set. The radiation pattern data file of this radiator is called "DPL_STD.RAD" and it is located in inside the "EMAG → Models" sub-folder under the Documents folder.}}sets:
A transmitter set always needs to be associated with an existing base location set in #Half-wave dipole oriented along one of the project workspace. Thereforethree principal axes#Two collocated, you cannot define a transmitter for your scene before drawing a point object under a base location set. orthogonally polarized, isotropic radiators #User defined (arbitrary) antenna with imported far-field radiation pattern
EM.Terrano also provides three radiator types for point receiver sets: #Half-wave dipole oriented along one of the three principal axes#Polarization-matched isotropic radiator#User defined (arbitrary) antenna with imported far-field radiation pattern The default transmitter and receiver radiator types are both vertical (Z-directed) half-wave dipoles.  There are three different ways to define a transmitter set or a receiver set: *By defining point objects or point arrays under physical base location sets in the navigation tree and then associating them with a transmitter or receiver set*Using Python commands emag_tx, emag_rx, emag_tx_array, emag_rx_array, emag_tx_line and emag_rx_line*Using the "Basic Link" wizard === Defining a Point Transmitter Set in the Formal Way === Transmitters act as sources in a propagation scene. A transmitter is a point radiator with a fully polarimetric radiation pattern defined over the entire 3D space in the standard spherical coordinate system. EM.Terrano gives you three options for the radiator associated with a point transmitter: * Half-wave dipole* Orthogonally polarized isotropic radiators* User defined antenna pattern  By default, EM.Terrano assumes that your transmitter is a vertically polarized (Z-directed) resonant half-wave dipole antenna. This antenna has an almost omni-directional radiation pattern in all azimuth directions. It also has radiation nulls along the axis of the dipole. You can change the direction of the dipole and orient it along the X or Y axes using the provided drop-down list. The second choice of two orthogonally polarized isotropic radiators is an abstract source that is used for polarimetric channel characterization as will be discussed later.  You can override the default radiator option and select any other kind of antenna with a more complicated radiation pattern. For this purpose, you have to import a radiation pattern data file to EM.Terrano. You can model any radiating structure using [[EM.Cube]]'s other computational modules, [[EM.Tempo]], [[EM.Picasso]], [[EM.Libera]] or [[EM.Illumina]], and generate a 3D radiation pattern data file for it. The far-field radiation patter data are stored in a specially formatted file with a "'''.RAD'''" file extension. This file contains columns of spherical φ and θ angles as well as the real and imaginary parts of the complex-valued far-zone electric field components '''E<sub>θ</sub>''' and '''E<sub>φ</sub>'''. The θ- and φ-components of the far-zone electric field determine the polarization of the transmitting radiator.  {{Note|By default, EM.Terrano assumes a vertical half-wave dipole radiator for your point transmitter set.}} A transmitter set always needs to be associated with an existing base location set with one or more point objects in the project workspace. Therefore, you cannot define a transmitter for your scene before drawing a point object under a base location set.  [[Image:Info_icon.png|40px]] Click here to learn how to define a '''[[Glossary of EMGlossary_of_EM.Cube's Excitation Sources%27s_Materials,_Sources,_Devices_%26_Other_Physical_Object_Types#Transmitter Set Point_Transmitter_Set | Point Transmitter Set]]'''.
<table>
<tr>
<td> [[Image:Terrano L1 Fig11.png|thumb|left|480px|The point transmitter set definition dialog.]] </td>
</tr>
</table>
Once you define a new transmitter set, its name is added in the '''Transmitters''' section of the navigation tree. The color of all the base points associated with the newly defined transmitter set changes, and an additional little ball with the transmitter color (red by default) appears at the location of each associated base point. You can open the property dialog of the transmitter set and modify a number of parameters including the '''Baseband Source Power''' in Watts and the broadcast signal '''Phase''' in degrees. The default transmitter power level is 1W OR or 30dBm. There is also a check box labeled '''Use Custom Input Power''', which is checked by default. In that case, the power and phase boxes are enabled and you can change the default 1W power and 0° phase values as you wish. [[EM.Cube]]'s ".RAD" radiation pattern files usually contain the value of "Total Radiated Power" in their file header. This quantity is calculated based on the particular excitation mechanism that was used to generate the pattern file in the original [[EM.Cube]] module. When the "Use Custom Input Power" check box is unchecked, EM.Terrano will use the total radiated power value of the radiation file for the SBR simulation.
{{Note|In order to modify any of the transmitter set's parameters, first you need to select the "User Defined Antenna" option, even if you want to keep the vertical half-wave dipole as your radiator.}}
<tr>
<td>
[[File:Terrano L1 Fig13NewTxProp.png|thumb|left|480px720px|The property dialog of a point transmitter set.]]
</td>
</tr>
</table>
Your transmitter in EM.Teranno is indeed more sophisticated than a simple radiator. It consists of a basic "Super-Heterodyne Transmitter Chain" that starts contains a voltage source with a baseband/IF signal series source resistance, and ultimately ends in connected via a segment of transmission line to a transmit antenna, which is used to launch the broadcast signal into the free space. The transmitter's property dialog allows you to define a the basic super-heterodyne transmitter chain. Click the {{key|Transmitter Chain}} button of the Transmitter Set dialog to open the transmitter chain dialog. As shown in the figure below, you can specify the characteristics of the baseband/IF amplifier, mixer and power amplifier (PA) including stage gains and impedance mismatch factors (IMF) as well as the characteristics of the transmission line segment that connects the PA to the antenna. Note that the transmit antenna characteristics are automatically filled using the contents of the imported radiation pattern data file. The transmitter Chain dialog also calculates and reports the "Total Transmitter Chain Gain" based on your input. When you close this dialog and return to the Transmitter Set dialog, you will see the calculated value of the Effective Isotropic Radiated Power (EIRP) of your transmitter in dBm.
{{Note| If you do not modify the default parameters of the transmitter chain, a 50-Ω conjugate match condition is assumed and the power delivered to the antenna will be -3dB lower than your specified baseband power.}}
<table>
<tr>
<td> [[File:Terrano L6 Fig13NewTxChain.png|thumb|left|720px|EM.Terrano's point transmitter chain dialog.]] </td>
</tr>
</table>
=== Defining a Point Receiver Set in the Formal Way ===
Receivers act as observables in a propagation scene. The objective of a SBR simulation is to calculate the far-zone electric fields and the total received power at the location of a receiver. You need to define at least one receiver in the scene before you can run a SBR simulation. Similar to a transmitter, a receiver is a point radiator, too. However, unlike the transmitter case, EM.Terrano assumes that your receiver, by default, is an isotropic gives you three options for the radiator. An isotropic radiator has associated with a perfect omni-directional radiation pattern in all azimuth and elevation directions. An isotropic radiator doesn't physically exist in the real world. But the assumption of a default, polarization-matched, isotropic receiver is a convenient choice to generate received power coverage maps of a propagation scene. You might also define a complicated radiation pattern for your point receiver set. In that case, you need to import a radiation pattern data file to EM.Terrano. Note that you can simply use the data file "DPL_STD.RAD" for that purpose, which is also used by EM.Terrano for the definition of the default vertical half-wave dipole transmitter. :
{{Note| EM.Terrano receivers, by default, are defined as polarization* Half-wave dipole* Polarization matched isotropic radiators.}}radiator* User defined antenna pattern
Similar to transmitter setsBy default, you define a EM.Terrano assumes that your receiver set by associating is a vertically polarized (Z-directed) resonant half-wave dipole antenna. You can change the direction of the dipole and orient it with an existing base location set in along the project workspace. A typical propagation scene contains one X or few transmitters but usually a large number of receiversY axes using the provided drop-down list. To generate An isotropic radiator has a wireless coverage mapperfect omni-directional radiation pattern in all azimuth and elevation directions. An isotropic radiator doesn't exist physically in the real world, you need to define an array of points but it can be used simply as your base location seta point in space to compute the electric field.
You may also define a complicated radiation pattern for your receiver set. In that case, you need to import a radiation pattern data file to EM.Terrano similar to the case of a transmitter set. Â {{Note|By default, EM.Terrano assumes a vertical half-wave dipole radiator for your point receiver set.}}Â Similar to transmitter sets, you define a receiver set by associating it with an existing base location set with one or more point objects in the project workspace. All the receivers belonging to the same receiver set have the same radiator type. A typical propagation scene contains one or few transmitters but usually a large number of receivers. To generate a wireless coverage map, you need to define an array of points as your base location set. Â [[Image:Info_icon.png|40px]] Click here to learn how to define a '''[[Glossary of EMGlossary_of_EM.Cube's Simulation Observables%27s_Simulation_Observables_%26_Graph_Types#Receiver Set Point_Receiver_Set | Point Receiver Set]]'''.
<table>
<tr>
<td> [[Image:Terrano L1 Fig12.png|thumb|left|480px|The point receiver set definition dialog.]] </td>
</tr>
</table>
Once you define a new receiver set, its name is added in to the '''Receivers''' section of the navigation tree. The color of all the base points associated with the newly defined receiver set changes, and an additional little ball with the receiver color (yellow by default) appears at the location of each associated base point. You can open the property dialog of the receiver set and modify a number of parameters.
<table>
<tr>
<td>
[[File:Terrano L1 Fig14NewRxProp.png|thumb|left|480px720px|The property dialog of a point receiver set.]]
</td>
</tr>
In the Receiver Set dialog, there is a drop-down list labeled '''Selected Element''', which contains a list of all the individual receivers belonging to the receiver set. At the end of an SBR simulation, the button labeled {{key|Show Ray Data}} becomes enabled. Clicking this button opens the Ray Data dialog, where you can see a list of all the received rays at the selected receiver and their computed characteristics.
If you choose the "user defined antenna" option for your receiver set, it will indeed consist consists of a basic "Super-Heterodyne Receiver Chain" that starts with contains a receive antenna, which is used connected via a segment of transmission line to capture the broadcast signal from the free space, and it ultimately ends low-noise amplifier (LNA) that is terminated in a baseband/IF signalmatched load. The receiverset's property dialog allows you to define a the basic super-heterodyne receiver chain. Click the {{key|Receiver Chain}} button of the Receiver Set dialog to open the receiver chain dialog. As shown in the figure below, you can specify the characteristics of the Low-Noise Amplifier (LNA), mixer such as its gain and baseband/IF amplifier including stage gains and impedance mismatch factors (IMF) noise figure in dB as well as the characteristics of the transmission line segment that connects the antenna to the LNA. Note that the receiving antenna characteristics are automatically filled from using contents of the radiation file. You have to enter values for antenna's '''Brightness Temperature''' as well as the temperature of the transmission line and the receiver's ambient temperature. The effective '''Receiver Bandwidth''' is assumed to be 100MHz, which you can change for the purpose of noise calculations. You also need to enter values for the '''Noise Figure''' of various active devices in the receiver chain. The Receive Chain dialog calculates and reports the "Noise Power" and "Total Receiver Chain Gain" based on your input. At the end of an SBR simulation, the receiver power and signal-noise ratio (SNR) of the selected receiver are calculated and they are reported in the receiver set dialog in dBm and dB, respectively. You can examine the properties of all the individual receivers and all the individual rays received by each receiver in your receiver set using the "Selected Element" drop-down list.
<table>
<tr>
<td> [[File:Terrano L6 Fig15NewRxChain.png|thumb|left|720px|EM.Terrano's point receiver chain dialog.]] </td>
</tr>
</table>
Â
=== Modulation Waveform and Detection ===
Â
EM.Terrano allows you to define a digital modulation scheme for your communication link. There are currently 17 waveforms to choose from in the receiver set property dialog:
Â
*OOK
*M-ary ASK
*Coherent BFSK
*Coherent QFSK
*Coherent M-ary FSK
*Non-Coherent BFSK
*Non-Coherent QFSK
*Non-Coherent M-ary FSK
*BPSK
*QPSK
*Offset QPSK
*M-ary PSK
*DBPSK
*pi/4 Gray-Coded DQPSK
*M-ary QAM
*MSK
*GMSK (BT = 0.3)
Â
In the above list, you need to specify the '''No. Levels (M)''' for the Mary modulation schemes, from which the '''No. Bits per Symbol''' is determined. You can also define a bandwidth for the signal, which has a default value of 100MHz. Once the SNR of the signal is found, given the specified modulation scheme, the E<sub>b</sub>/N<sub>0</sub> parameter is determined, from which the bit error rate (BER) is calculated.
Â
The Shannon â Hartley Equation estimates the channel capacity:
Â
<math> C = B \log_2 \left( 1 + \frac{S}{N} \right) </math>
Â
where B in the bandwidth in Hz, and C is the channel capacity (maximum data rate) expressed in bits/s.
Â
The spectral efficiency of the channel is defined as
Â
<math> \eta = \log_2 \left( 1 + \frac{S}{N} \right) </math>
Â
The quantity E<sub>b</sub>/N<sub>0</sub> is the ratio of energy per bit to noise power spectral density. It is a measure of SNR per bit and is calculated from the following equation:
Â
<math> \frac{E_b}{N_0} = \frac{ 2^\eta - 1}{\eta} </math>
Â
where η is the spectral efficiency.
Â
The relationship between the bit error rate and E<sub>b</sub>/N<sub>0</sub> depends on the modulation scheme and detection type (coherent vs. non-coherent). For example, for coherent QPSK modulation, one can write:
Â
<math> P_b = 0.5 \; \text{erfc} \left( \sqrt{ \frac{E_b}{N_0} } \right) </math>
where P<sub>b</sub> is the bit error rate and erfc(x) is the complementary error function:
Â
<math> \text{erfc}(x) = 1-\text{erf}(x) = \frac{2}{\sqrt{\pi}} \int_{x}^{\infty} e^{-t^2} dt </math>
Â
The '''Minimum Required SNR''' parameter is used to determine link connectivity between each transmitter and receiver pair. If you check the box labeled '''Generate Connectivity Map''' in the receiver set property dialog, a binary map of the propagation scene is generated by EM.Terrano, in which one color represents a closed link and another represent no connection depending on the selected color map type of the graph. EM.Terrano also calculates the '''Max Permissible BER''' corresponding to the specified minimum required SNR and displays it in the receiver set property dialog.
Â
=== A Note on EM.Terrano's Native Dipole Radiators ===
Â
When you define a new transmitter set or a new receiver set, EM.Terrano assigns a vertically polarized half-wave dipole radiator to the set by default. The radiation pattern of this native dipole radiators is calculated using well-know expressions that are derived based on certain assumptions and approximations. For example, the far-zone electric field of a vertically-polarized dipole antenna can be expressed as:
Â
<math> E_\theta(\theta,\phi) \approx j\eta_0 I_0 \frac{e^{-jk_0 r}}{2\pi r} \left[ \frac{\text{cos} \left( \frac{k_0 L}{2} \text{cos} \theta \right) - \text{cos} \left( \frac{k_0 L}{2} \right) }{\text{sin}\theta} \right] </math>
Â
<math> E_\phi(\theta,\phi) \approx 0 </math>
Â
where k<sub>0</sub> = 2π/λ<sub>0</sub> is the free-space wavenumber, λ<sub>0</sub> is the free-space wavelength, η<sub>0</sub> = 120π Ω is the free-space intrinsic impedance, I<sub>0</sub> is the current on the dipole, and L is the length of the dipole.
Â
The directivity of the dipole antenna is given be the expression:
Â
<math> D_0 \approx \frac{2}{F_1(k_0L) + F_2(k_0L) + F_3(k_0L)} \left[ \frac{\text{cos} \left( \frac{k_0 L}{2} \text{cos} \theta \right) - \text{cos} \left( \frac{k_0 L}{2} \right) }{\text{sin}\theta} \right]^2 </math>
Â
with
Â
<math> F_1(x) = \gamma + \text{ln}(x) - C_i(x) </math>
Â
<math> F_2(x) = \frac{1}{2} \text{sin}(x) \left[ S_i(2x) - 2S_i(x) \right] </math>
Â
<math> F_3(x) = \frac{1}{2} \text{cos}(x) \left[ \gamma + \text{ln}(x/2) + C_i(2x) - 2C_i(x) \right] </math>
Â
Â
where γ = 0.5772 is the Euler-Mascheroni constant, and C<sub>i</sub>(x) and S<sub>i</sub>(x) are the cosine and sine integrals, respectively:
Â
Â
<math> C_i(x) = - \int_{x}^{\infty} \frac{ \text{cos} \tau}{\tau} d\tau </math>
Â
<math> S_i(x) = \int_{0}^{x} \frac{ \text{sin} \tau}{\tau} d\tau </math>
Â
Â
In the case of a half-wave dipole, L = λ<sub>0</sub>/2, and D<sub>0</sub> = 1.643. Moreover, the input impedance of the dipole antenna is Z<sub>A</sub> = 73 + j42.5 Ω. These dipole radiators are connected via 50Ω transmission lines to a 50Ω source or load. Therefore, there is always a certain level of impedance mismatch that violates the conjugate match condition for maximum power.
Â
<table>
<tr>
<td> [[File:Dipole radiators.png|thumb|720px|EM.Terrano's native half-wave dipole transmitter and receiver.]] </td>
</tr>
</table>
Â
On the other hand, we you specify a user-defined antenna pattern for the transmitter or receiver sets, you import a 3D radiation pattern file that contains all the values of E<sub>θ</sub> and E<sub>φ</sub> for all the combinations of (θ, φ) angles. Besides the three native dipole radiators, [[EM.Cube]] also provides 3D radiation pattern files for three X-, Y- and Z-polarized half-wave resonant dipole antennas. These pattern data were generated using a full-wave solver like [[EM.Libera]]'s wire MOM solver. The names of the radiation pattern files are:
Â
* DPL_STD_X.RAD
* DPL_STD_Y.RAD
* DPL_STD_Z.RAD
Â
and they are located in the folder "\Documents\EMAG\Models" on your computer. Note that these are full-wave simulation data and do not involve any approximate assumptions. To use these files as an alternative to the native dipole radiators, you need to select the '''User Defined Antenna Pattern''' radio button as the the radiator type in the transmitter or receiver set property dialog.
=== A Note on the Rotation of Antenna Radiation Patterns ===
<table>
<tr>
<td> [[File:PROP22B.png|thumb|200px300px|The local coordinate system of a linear dipole antenna.]] </td><td> [[File:PROP22C.png|thumb|370px600px|Rotating the dipole antenna by +90° about the local Y-axis.]] </td>
</tr>
</table>
<table>
<tr>
<td> [[File:PROP22D.png|thumb|600px720px|Rotating the dipole antenna by +90° about the local X-axis and then by -45° by the local Y-axis.]] </td>
</tr>
</table>
</table>
== Using Discretizing the Propagation Scene in EM.Terrano as an Asymptotic Field Solver ==
Like every other electromagnetic solver, EM.Terrano's SBR ray tracer requires an excitation source and one or more observables for the generation of simulation data. EM.Terrano offers several types of sources and observables for a SBR simulation. You already learned about the transmitter set as a source and the receiver set as an observable. === Why Do You can mix and match different source types and observable types depending on Need to Discretize the requirements of your modeling problem. Scene? ===
The available source types EM.Terrano's SBR solver uses a method known as Geometrical Optics (GO) in conjunction with the Uniform Theory of Diffraction (UTD) to trace the rays from their originating point at the source to the individual receiver locations. Rays may hit obstructing objects on their way and get reflected, diffracted or transmitted. EM.Terrano are:'s SBR solver can only handle diffraction off linear edges and reflection from and transmission through planar interfaces. When an incident ray hits the surface of the obstructing object, a local planar surface assumption is made at the specular point. The assumptions of linear edges and planar facets obviously work in the case of a scene with cubic buildings and a flat global ground.
{| class="wikitable"In many practical scenarios, however, your buildings may have curved surfaces, or the terrain may be irregular. EM.Terrano allows you to draw any type of surface or solid geometric objects such as cylinders, cones, etc. under impenetrable and penetrable surface groups or penetrable volumes. EM.Terrano's mesh generator creates a triangular surface mesh of all the objects in your propagation scene, which is called a facet mesh. Even the walls of cubic buildings are meshed using triangular cells. This enables EM.Terrano to properly discretize composite buildings made of conjoined cubic objects. |-! scope="col"| Source TypeUnlike [[EM.Cube]]'s other computational modules, the density or resolution of EM.Terrano's surface mesh does not depend on the operating frequency and is not expressed in terms of the wavelength. The sole purpose of EM.Terrano's facet mesh is to discretize curved and irregular scatterers into flat facets and linear edges. Therefore, geometrical fidelity is the only criterion for the quality of a facet mesh. It is important to note that discretizing smooth objects using a triangular surface mesh typically creates a large number of small edges among the facets that are simply mesh artifacts and should not be considered as diffracting edges. For example, each rectangular face of a cubic building is subdivided into four triangles along the two diagonals. The four internal edges lying inside the face are obviously not diffracting edges. A lot of subtleties like these must be taken into account by the SBR solver to run accurate and computationally efficient simulations. ! scope="col"| Applications! scope="col"| Restrictions== Generating the Facet Mesh ===|You can view and examine the discretized version of your scene's objects as they are sent to the SBR simulation engine. You can adjust the mesh resolution and increase the geometric fidelity of discretization by creating more and finer triangular facets. On the other hand, you may want to reduce the mesh complexity and send to the SBR engine only a few coarse facets to model your buildings. The resolution of EM.Terrano's facet mesh generator is controlled by the '''Cell Edge Length''' parameter, which is expressed in project length units. The default mesh cell size of 100 units might be too large for non-flat objects. You may have to set a smaller cell edge length in EM.Terrano's Mesh Settings dialog, along with a lower curvature angle tolerance value to capture the curvature of your curved structures adequately. <table><tr><td> [[Image:prop_manual-29.png| style="widththumb|left|480px|EM.Terrano's mesh settings dialog.]] </td></tr></table> [[Image:150px;" Info_icon.png| 30px]] Click here to learn more about '''[[Glossary of EMPreparing_Physical_Structures_for_Electromagnetic_Simulation#Working_with_EM.Cube.27s_Mesh_Generators | Working with Mesh Generator]]'s Excitation Sources''. [[Image:Info_icon.png|30px]] Click here to learn more about the properties of '''[[Glossary_of_EM.Cube%27s_Simulation-Related_Operations#Transmitter Set Facet_Mesh | Transmitter SetEM.Terrano's Facet Mesh Generator]]'''. <table><tr><td> [[Image:UrbanCanyon2.png| style="widththumb|left|640px|The facet mesh of the buildings in the urban propagation scene generated by EM.Terrano's Random City wizard with a cell edge length of 100m.]] </td></tr><tr><td> [[Image:250px;" UrbanCanyon3.png| Modeling realsitic antennas & thumb|left|640px|The facet mesh of the buildings in the urban propagation scene generated by EM.Terrano's Random City wizard with a cell edge length of 10m.]] </td></tr></table> == Running Ray Tracing Simulations in EM.Terrano == EM.Terrano provides a number of different simulation or solver types: * 3D Field Solver* SBR Channel Analyzer* Log-Haul Channel Analyzer* Communication Link Solver* Radar Link Solver The first three simulation types are described below. For a description of EM.Terrano's Radar Simulator, follow this link budget calculations.  | style="width== Running a Single-Frequency SBR Analysis === Its main solver is the '''3D SBR Ray Tracer'''. Once you have set up your propagation scene in EM.Terrano and have defined sources/transmitters and observables/receivers for your scene, you are ready to run a SBR ray tracing simulation. You set the simulation mode in EM.Terrano's simulation run dialog. A single-frequency SBR analysis is a single-run simulation and the simplest type of ray tracing simulation in EM.Terrano. It involves the following steps:250px * Set the units of your project and the frequency of operation. Note that the default project unit is '''millimeter'''. Wireless propagation problems usually require meter, mile or kilometer as the project unit.* Create the blocks and draw the buildings at the desired locations.* Keep the default ray domain and accept the default global ground or change its material properties.* Define an excitation source and observables for your project.* If you intend to use transmitters and receivers in your scene, first define the required base sets and then define the transmitter and receiver sets based on them.* Run the SBR simulation engine.* Visualize the coverage map and plot other data. You can access EM.Terrano's Simulation Run dialog by clicking the '''Run''' [[File:run_icon.png]] button of the '''Simulate Toolbar''' or by selecting '''Simulate →" Run...''' or using the keyboard shortcut {{key| Requires to be associated with Ctrl+R}}. When you click the {{key|Run}} button, a base location point setnew window opens up that reports the different stages of the SBR simulation and indicates the progress of each stage. After the SBR simulation is successfully completed, a message pops up and prompts the completion of the process. <table><tr><td> [[Image:Terrano L1 Fig16.png|-thumb|left|480px|EM.Terrano's simulation run dialog.]] </td></tr></table> <table><tr><td> [[Image:PROP MAN10.png| stylethumb|left|550px|EM.Terrano's output message window.]] </td></tr></table> === Changing the SBR Engine Settings === There are a number of SBR simulation settings that can be accessed and changed from the Ray Tracing Engine Settings Dialog. To open this dialog, click the button labeled {{key|Settings}} on the right side of the '''Select Simulation or Solver Type''' drop-down list in the Run Dialog. EM.Terrano's SBR simulation engine allows you to separate the physical effects that are calculated during a ray tracing process. You can selectively enable or disable '''Reflection/Transmission''' and '''Edge Diffraction''' in the "width:150px;Ray-Block Interactions" | section of this dialog. By default, ray reflection and transmission and edge diffraction effects are enabled. Separating these effects sometimes help you better analyze your propagation scene and understand the impact of various blocks in the scene. EM.Terrano allows a finite number of ray bounces for each original ray emanating from a transmitter. This is very important in situations that may involve resonance effects where rays get trapped among multiple surfaces and may bounce back and forth indefinitely. This is set using the box labeled "'''Max No. Ray Bounces'''", which has a default value of 10. Note that the maximum number of ray bounces directly affects the computation time as well as the size of output simulation data files. This can become critical for indoor propagation scenes, where most of the rays undergo a large number of reflections. Two other parameters control the diffraction computations: '''Max Wedge Angle''' in degrees and '''Min Edge Length''' in project units. The maximum wedge angle is the angle between two conjoined facets that is considered to make them almost flat or coplanar with no diffraction effect. The default value of the maximum wedge angle is 170°. The minimum edge length is size of the common edge between two conjoined facets that is considered as a mesh artifact and not a real diffracting edge. The default value of the minimum edge length is one project units.  <table><tr><td> [[Glossary of Image:PROP MAN11.png|thumb|left|720px|EM.CubeTerrano's Excitation Sources#Hertzian Short Dipole Source | Hertzian Short DipoleSBR simulation engine settings dialog.]]</td></tr></table> As rays travel in the scene and bounce from surfaces, they lose their power, and their amplitudes gradually diminish. From a practical point of view, only rays that have power levels above the receiver sensitivity can be effectively received. Therefore, all the rays whose power levels fall below a specified power threshold are discarded. The '''Ray Power Threshold''' is specified in dBm and has a default value of -150dBm. Keep in mind that the value of this threshold directly affects the accuracy of the simulation results as well as the size of the output data file.| style=You can also set the '''Ray Angular Resolution''' of the transmitter rays in degrees. By default, every transmitter emanates equi-angular ray tubes at a resolution of 1 degree. Lower angular resolutions larger than 1° speed up the SBR simulation significantly, but they may compromise the accuracy. Higher angular resolutions less than 1° increase the accuracy of the simulating results, but they also increase the computation time. The SBR Engine Settings dialog also displays the '''Recommended Ray Angular Resolution''' in degrees in a grayed-out box. This number is calculated based on the overall extents of your computational domain as well as the SBR mesh resolution. To see this value, you have to generate the SBR mesh first. Keeping the angular resolution of your project above this threshold value makes sure that the small mesh facets at very large distances from the source would not miss any impinging ray tubes during the simulation. EM.Terrano gives a few more options for the ray tracing solution of your propagation problem. For instance, it allows you to exclude the direct line-of-sight (LOS) rays from the final solution. There is a check box for this purpose labeled "widthExclude direct (LOS) rays from the solution", which is unchecked by default. EM.Terrano also allows you to superpose the received rays incoherently. In that case, the powers of individual ray are simply added to compute that total received power. This option in the check box labeled "Superpose rays incoherently" is disabled by default, too.  At the end of a ray tracing simulation, the electric field of each individual ray is computed and reported. By default, the actual received ray fields are reported, which are independent of the radiation pattern of the receive antennas. EM.Terrano provides a check box labeled "Normalize ray's E-field based on receiver pattern", which is unchecked by default. If this box is checked, the field of each ray is normalized so as to reflect that effect of the receiver antenna's radiation pattern. The received power of each ray is calculated from the following equation:250px <math> P_{ray} = \frac{ | \mathbf{E_{norm}} |^2 }{2\eta_0} \frac{\lambda_0^2}{4\pi} </math> It can be seen that if the ray's E-field is not normalized, the computed ray power will correspond to that of a polarization matched isotropic receiver. === Polarimetric Channel Analysis === In a 3D SBR simulation, a transmitter shoots a large number of rays in all directions. The electric fields of these rays are polarimetric and their strength and polarization are determined by the designated radiation pattern of the transmit antenna. The rays travel in the propagation scene and bounce from the ground and buildings or other scatterers or get diffracted at the building edges until they reach the location of the receivers. Each individual ray has its own vectorial electric field and power. The electric fields of the received rays are then superposed coherently and polarimetrically to compute the total field at the receiver locations. The designated radiation pattern of the receivers is then used to compute the total received power by each individual receiver. From a theoretical point of view, the radiation patterns of the transmit and receive antennas are independent of the propagation channel characteristics. For the given locations of the point transmitters and receivers, one can assume ideal isotropic radiators at these points and compute the polarimetric transfer function matrix of the propagation channel. This matrix relates the received electric field at each receiver location to the transmitted electric field at each transmitter location. In general, the vectorial electric field of each individual ray is expressed in the local standard spherical coordinate system at the transmitter and receiver locations. In other words, the polarimetric channel matrix expresses the '''E<sub>θ</sub>''' and '''E<sub>φ</sub>''' field components associated with each ray at the receiver location to its '''E<sub>θ</sub>''' and '''E<sub>φ</sub>''' field components at the transmitter location. Each ray has a delay and θ and φ angles of departure at the transmitter location and θ and φ angles of departure at the receiver location. To perform a polarimatric channel characterization of your propagation scene, open EM.Terrano's Run Simulation dialog and select '''Channel Analyzer''' from the drop-down list labeled '''Select Simulation or Solver Type'''. At the end of the simulation, a large ray database is generated with two data files called " | Almost omnisbr_channel_matrix.DAT" and "sbr_ray_path.DAT". The former file contains the delay, angles of arrival and departure and complex-directional physical radiatorvalued elements of the channel matrix for all the individual rays that leave each transmitter and arrive at each receiver. The latter file contains the geometric aspects of each ray such as hit point coordinates. | style=== The "width:250px;Near Real-Time" | NonePolarimatrix Solver === After EM.Terrano's channel analyzer generates a ray database that characterizes your propagation channel polarimetrically for all the combinations of transmitter and receiver locations, standa ray tracing solution of the propagation problem can readily be found in almost real time by incorporating the effects of the radiation patterns of transmit and receive antennas. This is done using the '''Polarimatrix Solver''', which is the third option of the drop-alone sourcedown list labeled '''Select Simulation or Solver Type''' in EM.Terrano's Run Simulation dialog. The results of the Polarimatrix and 3D SBR solvers must be identical from a theoretical point of view. However, there might be small discrepancies between the two solutions due to roundoff errors. Using the Polarimatrix solver can lead to a significant reduction of the total simulation time in sweep simulations that involve a large number of transmitters and receivers. Certain simulation modes of EM.Terrano are intended for the Polarimatrix solver only as will be described in the next section.  {{Note|In order to use the Polarimatrix solver, you must first generate a ray database of your propagation scene using EM.Terrano's Channel Analyzer.}}
Click on each type to learn more about it in the [[Glossary of === EM.CubeTerrano's Excitation Sources]]. Simulation Modes ===
The available observables types in EM.Terrano areprovides a number of different simulation modes that involve single or multiple simulation runs:
{| class="wikitable"
|-
! scope="col"| Source TypeSimulation Mode! scope="col"| ApplicationsUsage! scope="col"| Which Solver?! scope="col"| Frequency
! scope="col"| Restrictions
|-
| style="width:150px120px;" | '''[[Glossary of EM.Cube's Simulation Observables#Receiver Set Running a Single-Frequency SBR Analysis | Receiver SetSingle-Frequency Analysis]]'''| style="width:250px180px;" | Generating received power coverage maps & link budget calculationsSimulates the propagation scene "As Is"| style="width:250px150px;" | Requires to be associated with a base location point setSBR, Channel Analyzer, Polarimatrix, Radar Simulator| style="width:120px;" | Runs at the center frequency fc| style="width:300px;" | None
|-
| style="width:150px120px;" | '''[[Glossary of EMParametric_Modeling_%26_Simulation_Modes_in_EM.Cube's Simulation Observables#Near-Field Sensor Running_Frequency_Sweep_Simulations_in_EM.Cube | Near-Field SensorFrequency Sweep]]'''| style="width:250px180px;" | Generating electric and magnetic field distribution mapsVaries the operating frequency of the ray tracer | style="width:250px150px;" | NoneSBR, stand-alone observaleChannel Analyzer, Polarimatrix, Radar Simulator| style="width:120px;" | Runs at a specified set of frequency samples| style="width:300px;" | None
|-
| style="width:150px120px;" | '''[[Glossary of EMParametric_Modeling_%26_Simulation_Modes_in_EM.Cube's Simulation Observables#Far-Field Radiation Pattern Running_Parametric_Sweep_Simulations_in_EM.Cube | Far-Field Radiation PatternParametric Sweep]]'''| style="width:250px180px;" | Computing Varies the effective radiation pattern value(s) of a radiator in one or more project variables| style="width:150px;" | SBR| style="width:120px;" | Runs at the presence of a large scattering scene center frequency fc| style="width:250px300px;" | NoneRequires definition of sweep variables, stand-alone observaleworks only with SBR solver as the physical scene may change during the sweep
|-
| style="width:120px;" | [[#Transmitter_Sweep | Transmitter Sweep]]| style="width:180px;" | Activates two or more transmitters sequentially with only one transmitter broadcasting at each simulation run | style="width:150px;" | '''Polarimatrix| style="width:120px;" | Runs at the center frequency fc| style="width:300px;" | Requires at least two transmitters in the scene, works only with Polarimatrix solver and requires an existing ray database|-| style="width:120px;" | [[Glossary of EM.Cube's Simulation Observables#Huygens Surface Rotational_Sweep | Huygens SurfaceRotational Sweep]]'''| style="width:250px180px;" | Collecting tangential field data on a box Rotates the radiation pattern of the transmit antenna(s) sequentially to be used later as a Huygens source in other model beam steering | style="width:150px;" | Polarimatrix| style="width:120px;" | Runs at the center frequency fc| style="width:300px;" | Works only with Polarimatrix solver and requires an existing ray database|-| style="width:120px;" | [[EM.Cube#Mobile_Sweep | Mobile Sweep]] modules| style="width:250px180px;" | NoneConsiders one pair of active transmitter and receiver at each simulation run to model a mobile communication link| style="width:150px;" | Polarimatrix| style="width:120px;" | Runs at the center frequency fc| style="width:300px;" | Requires the same number of transmitters and receivers, stand-alone observaleworks only with Polarimatrix solver and requires an existing ray database
|}
Click on each type item in the above list to learn more about it each simulation mode.  You set the simulation mode in EM.Terrano's simulation run dialog using the [[Glossary drop-down list labeled '''Simulation Mode'''. A single-frequency analysis is a single-run simulation. All the other simulation modes in the above list are considered multi-run simulations. In multi-run simulation modes, certain parameters are varied and a collection of simulation data files are generated. At the end of a sweep simulation, you can plot the output parameter results on 2D graphs or you can animate the 3D simulation data from the navigation tree.  {{Note| EM.CubeTerrano's Simulation Observables]]frequency sweep simulations are very fast because the geometrical optics (ray tracing) part of the simulation is frequency-independent. }} === Transmitter Sweep === When you define a far-field observable in [[your propagation scene contains two or more transmitters, whether they all belong to the same transmitter set with the same radiation pattern or to different transmitter sets, EM.Terrano]]assumes all to be coherent with respect to one another. In other words, synchronous transmitters are always assumed. The rays originating from all these transmitters are superposed coherently and vectorially at each receiver. In a collection transmitter sweep, on the other hand, EM.Terrano assumes only one transmitter broadcasting at a time. The result of the sweep simulation is a number of invisiblereceived power coverage maps, isotropic each corresponding to a transmitter in the scene. {{Note| EM.Terrano's transmitter sweep works only with the Polarimatrix Solver and requires an existing ray database previously generated using the Channel Analyzer.}} === Rotational Sweep === You can rotate the 3D radiation patterns of both the transmitters and receivers are placed on from the surface property dialog of the parent transmitter set or receiver set. This is done in advance before a large sphere SBR simulation starts. You can define one or more of the rotation angles of a transmitter set or a receiver set as sweep variables and perform a parametric sweep simulation. In that encircles your propagation case, the entire scene and all of its geometric objects. These receivers buildings are placed uniformly on the spherical surface discretized at each simulation run and a spacing that complete physical SBR ray tracing simulation is determined by your specified angular resolutionscarried out. In most casesHowever, we know that the polarimetric characteristics of the propagation channel are independent of the transmitter or receiver antenna patterns or their rotation angles. A rotational sweep allows you need to define angular resolutions rotate the radiation pattern of at least 1° the transmitter(s) about one of the three principal axes sequentially. This is equivalent to the steering of the beam of the transmit antenna either mechanically or smallerelectronically. The result of the sweep simulation is a number of received power coverage maps, each corresponding to one of the angular samples. To run a rotational sweep, you must specify the rotation angle. {{Note that this | EM.Terrano's rotational sweep works only with the Polarimatrix Solver and requires an existing ray database previously generated using the Channel Analyzer.}} === Mobile Sweep === In a mobile sweep, each transmitter is paired with a receiver according to their indices in their parent sets. At each simulation run, only one (Tx, Rx) pair is considered to be active in the scene. As a result, the generated coverage map takes a different than meaning implying the sequential movement of the transmitter rays' angular resolutionand receiver pair along their corresponding paths. You may have In other words, the set of point transmitters and the set of point receivers indeed represent the locations of a large single transmitter and a single receiver at different instants of time. It is obvious that the total number of transmitters and total number of transmitted rays but not enough receivers in the scene must be equal. Otherwise, EM.Terrano will prompt an error message. [[EM.Cube]] provides a '''Mobile Path Wizard''' that facilitates the creation of a transmitter set or a receiver set along a specified path. This path can be an existing nodal curve (polyline or NURBS curve) or an existing line objects. You can also import a sptial Cartesian data file containing the coordinates of the base location points. For more information, refer to compute [[Glossary_of_EM.Cube%27s_Wizards#Mobile_Path_Wizard | Mobile Path Wizard]]. {{Note| EM.Terrano's mobile sweep works only with the effective radiation pattern Polarimatrix Solver and requires an existing ray database previously generated using the Channel Analyzer.}} === Investigating Propagation Effects Selectively One at a Time === In a typical SBR ray tracing simulation, EM.Terrano includes all azimuth the propagation effects such as direct (LOS) rays, ray reflection and elevation angles. Also keep in mind that with 1° Theta transmission, and Phi angle incrementsedge diffractions. At the end of a SBR simulation, you will have a total can visualize the received power coverage map of 181 × 361 = 65your propagation scene,341 spherically placed receivers which appears under the receiver set item in your the navigation tree. The figure below shows the received power coverage map of the random city scenewith a vertically polarized half-wave dipole transmitter located 10m above the ground and a large grid of vertically polarized half-wave dipole receivers placed 1.5m above the ground. The legend box shows the limits of the color map between -23dBm as the maximum and -150dB (the default receiver sensitivity value) as the minimum.
{{Note| Computing radiation patterns using [[EM.Terrano]]'s SBR solver typically takes much longer computation times than using [[EM.Cube]]'s other computational modules.}}
<table>
<tr>
<td> [[Image:PROP18PUrbanCanyon10.png|thumb|450pxleft|Computed 3D radiation pattern 640px|The received power coverage map of two vertical short dipole radiators placed 1m apart in the free space at 1GHzrandom city scene with a dipole transmitter.]] </td>
</tr>
</table>
== Working with EMSometime it is helpful to change the scale of the color map to better understand the dynamic range of the coverage map.TerannoIf you double-click on the legend or right-click on the coverage map's Simulation Data ==name in the navigation tree and select '''Properties''', the Plot Settings dialog opens up. Select the '''User-Defined''' item and set the lower and upper bounds of color map as you wish.
=== <table><tr><td> [[Image:UrbanCanyon15.png|thumb|left|480px|The SBR Solver's Output Simulation Data ===plot settings dialog of the coverage map.]] </td></tr></table><table><tr><td> [[Image:UrbanCanyon16.png|thumb|left|640px|The received power coverage map of the random city scene with a user-defined color map scale between -80dBm and -20dBm.]] </td></tr></table>
To better understand the various propagation effects, EM.Terrano allows you to enable or disable these effects selectively. This is done from the Ray Tracing Simulation Engine Settings dialog using the provided check boxes. Â <table><tr><td> [[Image:UrbanCanyon14.png|thumb|left|640px|EM.Terrano's simulation run dialog showing the check boxes for controlling various propagation effects.]] </td></tr></table>Â <table><tr><td> [[Image:UrbanCanyon11.png|thumb|left|640px|The received power coverage map of the random city scene with direct LOS rays only.]] </td></tr><tr><td> [[Image:UrbanCanyon12.png|thumb|left|640px|The received power coverage map of the random city scene with reflected rays only.]] </td></tr><tr><td> [[Image:UrbanCanyon13.png|thumb|left|640px|The received power coverage map of the random city scene with diffracted rays only.]] </td></tr></table>Â == Working with EM.Terrano's Simulation Data ==Â === The Ray Tracing Solvers' Output Simulation Data ===Â Both the SBR solver and the Polarimatrix solver perform the same type of simulation but in two different ways. The SBR solver discretizes the scene including all the buildings and terrain, shoots a large number of rays from the transmitters and collects the rays at the receivers. The Polarimatrix solver does the same thing using an existing polarimetric ray database that has been previously generated using EM.Terrano's Channel Analyzer. It incorporates the effects of the radiation patterns of the transmit and receive antennas in conjunction with the polarimetric channel characteristics. At the end of an SBR a ray tracing simulation, all the polarimetric rays emanating from the transmitter(s) or other sources that are received by the individual receivers are computed, collected, sorted and savedinto ASCII data files. From the ray data, the total electric field at the location of receivers as well as the total received power are computed. The individual ray data include the field components of each ray, the ray's elevation and azimuth angles of departure and arrival (departure from the transmitter location and arrival at the receiver location), and time delay of the received ray with respect to the transmitter. If you specify the temperaturetemperatures, noise figure levels and transmission line losses in the definition of the receiver sets, the noise power level and signal-to-noise ratios ratio (SNR) at each receiver are also calculated, and so are the E<sub>b</sub>/N<sub>0</sub> and bit error rate (BER) for the selected digital modulation scheme.
=== Visualizing Field & Received Power Coverage Maps ===
* '''Receiver Properties''': This includes the radiation characteristics of the receiving antenna, the transmission characteristics of the transmission line connecting the receiving antenna to the receiver circuit and the receiver chain parameters.
The In a simple link scenario, the received power P<sub>r</sub> in dBm is found from the following equation:
<math> P_r [dBm] = P_t [dBm] + G_{TC} + G_{TA} - PL + G_{RA} + G_{RC} </math>
<tr>
<td>
[[Image:Terrano L6 Fig4AnnArbor Scene1.png|thumb|left|640px|The downtown Ann Arbor propagation scene.]]</td></tr><tr><td>[[Image:AnnArbor Scene2.png|thumb|left|640px|The electric field distribution map of the Ann Arbor scene with vertical dipole transmitter and receivers.]]
</td>
</tr>
<tr>
<td>
[[Image:Terrano L6 Fig16AAnnArbor Scene3.png|thumb|left|640px|The electric field distribution received power coverage map of the Ann Arbor scene with super-heterodyne vertical dipole transmitter and receivers.]]
</td>
</tr>
<tr>
<td>
[[Image:Terrano L6 Fig16AnnArbor Scene4.png|thumb|left|640px|The received power coverage connectivity map of the Ann Arbor scene with super-heterodyne transmitter and receiversSNR<sub>min</sub> = 3dB with the basic color map option.]]
</td>
</tr>
<tr>
<td>
[[Image:Terrano L6 Fig17AnnArbor Scene5.png|thumb|left| 640px |The connectivity map of the Ann Arbor scene with SNR<sub>min</sub> = 25dB 20dB with Rainbow the basic color map option.]]
</td>
</tr>
<tr>
<td>
[[Image:PROP12BUrbanCanyon17.png|thumb|left|480px720px|EM.Terrano's ray data dialogshowing a selected ray.]]
</td>
</tr>
<table>
<tr>
<td> [[Image:Terrano L6 Fig16BUrbanCanyon18.png|thumb|left|640px|Visualization of received rays at the location of a selected receiver in the downtown Ann Arbor random city scene.]] </td>
</tr>
</table>
=== The Standard Output Data Files File ===
At the end of an SBR simulation, EM.Terrano writes a number of ASCII data files to your project folder. The main output data file is called "sbr_results.RTOUT". This file contains all the information about individual receivers and the [[parameters]] of each ray that is received by each individual receiver.
At the end of an SBR simulation, the results are written into a main output data file with the reserved name of SBR_Results.RTOUT. This file has the following format:
=== Plotting Other Simulation Results ===
Besides "sbr_results.out", [[EM.Terrano ]] writes a number of other ASCII data files to your project folder. You can view or plot these data in [[EM.Cube]]'s Data Manager. You can open data manager by clicking the '''Data Manager''' [[File:data_manager_icon.png]] button of the '''Simulate Toolbar''' or by selecting '''Menu > Simulate > Data Manager''' from the menu bar or by right-clicking on the '''Data Manager''' item of the navigation tree and selecting '''Open Data Manager...''' from the contextual menu or by using the keyboard shortcut {{key|Ctrl+D}}.
The available data files in the "2D Data Files" tab of Data Manger include:
* '''Angles of Arrival''': These are the Theta and Phi angles of the individual rays received by the selected receiver and saved to the files "SBR_receiver_set_name_ThetaARRIVAL.ANG" and "SBR_receiver_set_name_PhiARRIVAL.ANG". You can plot them in the Data Manager in polar stem charts.
When you run a frequency or parametric sweep in [[EM.Terrano]], a tremendous amount of data may be generated. [[EM.Terrano ]] only stores the '''Received Power''', '''Path Loss''' and '''SNR''' of the selected receiver
in ASCII data files called "PREC_i.DAT", "PL_i.DAT" and "SNR_i.DAT", where is the index of the receiver set in your scene. These quantities are tabulated vs. the sweep variable's samples. You can plot these files in EM.Grid.
[[Image:Info_icon.png|40px]] Click here to learn more about working with data filed and plotting graphs in [[EM.Cube]]'s '''[[Data Visualization, Plotting & Processing in EM.CubeDefining_Project_Observables_%26_Visualizing_Output_Data#Organizing & Accessing Simulation Output Data Files in Data Manager The_Data_Manager | Data Manager]]'''.
<table>
<tr>
<td> [[Image:PROP20ETerrano pathloss.png|thumb|350px360px|Cartesian graph of path loss.]] </td><td> [[Image:PROP20FTerrano delay.png|thumb|350px360px|Bar graph of power delay profile.]] </td>
</tr>
<tr>
<td> [[Image:PROP20GTerrano ARR phi.png|thumb|350px360px|Polar stem graph of Phi angle of arrival.]] </td><td> [[Image:PROP20HTerrano ARR theta.png|thumb|350px360px|Polar stem graph of Theta angle of arrival.]] </td></tr><tr><td> [[Image:Terrano DEP phi.png|thumb|360px|Polar stem graph of Phi angle of departure.]] </td><td> [[Image:Terrano DEP theta.png|thumb|360px|Polar stem graph of Theta angle of departure.]] </td>
</tr>
</table>
== Discretizing = Visualizing 3D Radiation Patterns of Transmit and Receive Antennas in the Propagation Scene in EM.Terrano ===
=== Why Do You Need When you designate a "User Defined Antenna Pattern" as the radiator type of a transmitter set or a receiver set, EM.Terrano copies the imported radiation pattern data file from its original folder to Discretize the Scene? ===current project folder. The name of the ".RAD" file is listed under the '''3D Data Files''' tab of the data manager. Sometimes it might be desired to visualize these radiation patterns in your propagation scene at the actual location of the transmitter or receiver. To do so, you have to define a new '''Radiation Pattern''' observable in the navigation tree. The label of the new observable must be identical to the name of the ".RAD" data file. In addition, the Theta and Phi angle increments of the new radiation pattern observable (expressed in degrees) must be identical to the Theta and Phi angular resolutions of the imported pattern file. If all these conditions are met, then go to the '''Simulate Menu''' and select the item '''Update All 3D Visualization'''. The contents of the 3D radiation patterns are added to the navigation tree. Click on one of the radiation pattern items in the navigation tree and it will be displayed in the scene.
EM.Terrano's SBR solver uses a method known as Geometrical Optics (GO) in conjunction with the Uniform Theory of Diffraction (UTD) to trace the rays from their originating point at the source to the individual receiver locations. Rays may hit obstructing objects on their way and get reflected, diffracted or transmitted. EM.Terrano's SBR solver can only handle diffraction off linear edges and reflection from and transmission through planar interfaces. When an incident ray hits the surface of the obstructing object, a local planar surface assumption is made at the specular point<table><tr><td>[[Image:UrbanCanyon6. png|thumb|left|640px|The assumptions received power coverage map of linear edges and planar facets are valid in in the case of a random city scene with cubic buildings and a flat global groundhighly directional dipole array transmitter. ]]</td></tr></table>
In many practical scenariosBy Default, however, your buildings may have curved surfaces, or the terrain may be irregular. [[EM.Terrano allows you to draw any type Cube]] always visualizes the 3D radiation patterns at the origin of surface or solid geometric objects such as cylinders, conescoordinates, etci. under impenetrable and penetrable surface groups or penetrable volumese. EMat (0, 0, 0).Terrano's mesh generator creates a triangular surface mesh This is because that radiation pattern data are computed in the standard spherical coordinate system centered at (0, 0, 0). The theta and phi components of all the objects far-zone electric fields are defined with respect to the X, Y and Z axes of this system. When visualizing the 3D radiation pattern data in your a propagation scene, which it is called a facet mesh. Even more intuitive to display the walls pattern at the location of cubic buildings are meshed using triangular cellsthe transmitter or receiver. This enables EMThe Radiation Pattern dialog allows you to translate the pattern visualization to any arbitrary point in the project workspace.Terrano It also allows you to properly discretize composite buildings made of conjoined cubic objectsscale up or scale down the pattern visualization with respect to the background scene.
Unlike [[EM.Cube]]'s other computational modulesIn the example shown above, the density or resolution of EM.Terrano's surface mesh does not depend on the operating frequency and imported pattern data file is not expressed in terms of the wavelengthcalled "Dipole_Array1. The sole purpose of EM.Terrano's facet mesh is to discretize curved and irregular scatterers into flat facets and linear edgesRAD". Therefore, geometrical fidelity is the only criterion for label of the quality of a facet mesh. It radiation pattern observable is important chosen to note that discretizing smooth objects using a triangular surface mesh typically creates a large number of small edges among the facets that are simply mesh artifacts and should not be considered as diffracting edges. For example, each rectangular face of a cubic building is subdivided into four triangles along the two diagonals"Dipole_Array1". The four internal edges lying inside the face theta and phi angle increments are obviously not diffracting edgesboth 1° in this case. A lot of subtleties like these must be taken into account The radiation pattern has been elevated by the SBR solver 10m to run accurate and computationally efficient simulations. Â === Generating be positioned at the SBR Mesh ===Â You can view and examine the discretized version location of your scene objects as they are sent to the SBR simulation engine. You can adjust the mesh resolution transmitter and increase the geometric fidelity of discretization by creating more and finer triangular facets. On the other hand, you may want to reduce the mesh complexity and send to the SBR engine only a few coarse facets to model your buildings. The resolution scaling factor of EM0.Terrano's facet mesh generator is controlled by the '''Mesh Cell Size''' parameter, which is expressed in project length units. The default mesh cell size of 100 units might be too large for non-flat objects. You may have to set a smaller mesh cell size in EM.Terrano's Mesh Settings dialog, along with a lower curvature angle tolerance value to capture the curvature of your curved structures adequately3 has been used.
<table>
<tr>
<td> [[Image:prop_manual-29UrbanCanyon8.png|thumb|left|480px640px|EM.Terrano's mesh settings Setting the pattern parameters in the radiation pattern dialog.]]</td></tr></table><table><tr><td>[[Image:UrbanCanyon7.png|thumb|left|720px|Visualization of the 3D radiation pattern of the directional transmitter in the random city scene.]]
</td>
</tr>
</table>
[[Image:Info_icon.png|40px]] Click There is an important catch to remember here . When you define a radiation pattern observable for your project, EM.Terrano will attempt to learn more about compute the overall effective radiation pattern of the entire physical structure. However, in this case, you defined the radiation pattern observable merely for visualization purposes. To stop EM.Terrano from computing the actual radiation pattern of your entire scene, there is a check box in EM.Terrano's Ray Tracer Simulation Engine Settings dialog that is labeled '''[[Glossary Do not compute new radiation patterns'''. This box is checked by default, which means the actual radiation pattern of your entire scene will not be computed automatically. But you need to remember to uncheck this box if you ever need to compute a new radiation pattern using EM.CubeTerrano's Mesh Generators#Facet Mesh | Facet Mesh Generator]]'''SBR solver as an asymptotic EM solver (see next section).
<table>
<tr>
<td> [[Image:PROP MAN9UrbanCanyon9.png|thumb|left|640px|The facet mesh of the buildings in the urban propagation scene generated by EM.Terrano's Random City wizardRun Simulation dialog.]] </td>
</tr>
</table>
== Running SBR Simulations in Using EM.Terrano as an Asymptotic Field Solver ==
=== Like every other electromagnetic solver, EM.Terrano's SBR Simulation Types ===ray tracer requires an excitation source and one or more observables for the generation of simulation data. EM.Terrano offers several types of sources and observables for a SBR simulation. You already learned about the transmitter set as a source and the receiver set as an observable. You can mix and match different source types and observable types depending on the requirements of your modeling problem.
Once you have set up your propagation scene The available source types in EM.Terrano and have defined sources/transmitters and observables/receivers for your scene, you are ready to run a SBR ray tracing simulation. EM.Terrano offers thee simulation modes:
{| class="wikitable"
|-
! scope="col"| Simulation ModeIcon! scope="col"| UsageSource Type! scope="col"| Number of Engine Runs! scope="col"| Frequency Applications
! scope="col"| Restrictions
|-
| style="width:120px30px;" | [[#Running a Single-Frequency SBR Analysis | Single-Frequency AnalysisFile:transmitter_icon.png]]| style="width:250px150px;" | Simulates the propagation scene "As Is"[[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Point Transmitter Set | style="width:100px;" | Single runPoint Transmitter Set]]| style="width:150px250px;" | Runs at the center frequency fcModeling realsitic antennas & link budget calculations| style="width:100px250px;" | NoneRequires to be associated with a base location point set
|-
| style="width:120px30px;" | [[Parametric Modeling & Sweep Simulations in EMFile:hertz_src_icon.Cube#Running Frequency Sweep Simulations in EM.Cube | Frequency Sweeppng]]| style="width:250px150px;" | Varies the operating frequency [[Glossary of the ray tracer EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Hertzian Short Dipole Source | style="width:100px;" | Multiple runs Hertzian Short Dipole]]| style="width:150px250px;" | Runs at a specified set of frequency samplesAlmost omni-directional physical radiator| style="width:100px250px;" | None, stand-alone source
|-
| style="width:120px30px;" | [[Parametric Modeling & Sweep Simulations in EM.Cube#Running Parametric Sweep Simulations in EMFile:huyg_src_icon.Cube | Parametric Sweeppng]]| style="width:250px150px;" | Varies the value(s) [[Glossary of one or more project variablesEM.Cube's Materials, Sources, Devices & Other Physical Object Types#Huygens Source | style="width:100px;" | Multiple runsHuygens Source]]| style="width:150px250px;" | Runs at the center frequency fcUsed for modeling equivalent sources imported from other [[EM.Cube]] modules | style="width:100px250px;" | None, stand-alone source imported from a Huygens surface data file
|}
You set Click on each type to learn more about it in the simulation mode in [[Glossary of EM.TerranoCube's simulation run dialog. A single-frequency analysis is a single-run simulation. The two other simulation modes in the above list are considered multi-run simulations. If you run a simulation without having defined any observablesMaterials, no data will be generated at the end of the simulation. In multi-run simulation modesSources, certain parameters are varied and a collection of simulation data files are generated. At the end of a sweep simulation, you can graph the simulation results in EM.Grid or you can animate the 3D simulation data from the navigation treeDevices & Other Physical Object Types]].
{{Note| The available observables types in [[EM.Terrano's frequency sweep simulations ]] are very fast because the geometrical optics (ray tracing) part of the simulation is frequency-independent.}}:
{| class="wikitable"|-! scope="col"| Icon! scope= Running "col"| Source Type! scope="col"| Applications! scope="col"| Restrictions|-| style="width:30px;" | [[File:receiver_icon.png]]| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Point Receiver Set | Point Receiver Set]]| style="width:250px;" | Generating received power coverage maps & link budget calculations| style="width:250px;" | Requires to be associated with a Singlebase location point set|-Frequency SBR Analysis | style="width:30px;" | [[File:Distr Rx icon.png]]| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Distributed Receiver Set | Distributed Receiver Set]]| style="width:250px;" | Computing received power at a receiver characterized by Huygens surface data| style="width:250px;" | None, stand-alone source imported from a Huygens surface data file|-| style="width:30px;" | [[File:fieldsensor_icon.png]]| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Near-Field Sensor Observable | Near-Field Sensor]]| style="width:250px;" | Generating electric and magnetic field distribution maps| style="width:250px;" | None, stand-alone observable|-| style="width:30px;" | [[File:farfield_icon.png]]| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Far-Field Radiation Pattern Observable | Far-Field Radiation Pattern]]| style="width:250px;" | Computing the effective radiation pattern of a radiator in the presence of a large scattering scene | style="width:250px;" | None, stand-alone observable|-| style="width:30px;" | [[File:huyg_surf_icon.png]]| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Huygens Surface Observable | Huygens Surface]]| style="width:250px;" | Collecting tangential field data on a box to be used later as a Huygens source in other [[EM.Cube]] modules| style="width:250px;" | None, stand-alone observable|}
A single-frequency SBR analysis is the simplest Click on each type to learn more about it in the [[Glossary of ray tracing simulation and involves the following steps:EM.Cube's Simulation Observables & Graph Types]]. * Set When you define a far-field observable in EM.Terrano, a collection of invisible, isotropic receivers are placed on the units surface of a large sphere that encircles your project propagation scene and the frequency all of operationits geometric objects. Note These receivers are placed uniformly on the spherical surface at a spacing that the default project unit is '''millimeter'''determined by your specified angular resolutions. Wireless propagation problems usually require meterIn most cases, mile or kilometer as the project unit.* Create the blocks and draw the buildings at the desired locations.* Keep the default ray domain and accept the default global ground or change its material properties.* Define an excitation source and observables for your project.* If you intend need to use transmitters and receivers in your scene, first define the required base sets and then define the transmitter and receiver sets based on them.* Run the SBR simulation engine.* Visualize the coverage map and plot other data. You can access EM.Terrano's Simulation Run dialog by clicking the '''Run''' [[File:run_icon.png]] button angular resolutions of the '''Simulate Toolbar''' or by selecting '''Simulate at least 1>deg; Run..or smaller.Note that this is different than the transmitter rays''' or using the keyboard shortcut {{key|Ctrl+R}}angular resolution. When you click the {{key|Run}} button, You may have a new window opens up that reports the different stages large number of transmitted rays but not enough receivers to compute the SBR simulation effective radiation pattern at all azimuth and indicates the progress of each stageelevation angles. After the SBR simulation is successfully completedAlso keep in mind that with 1° Theta and Phi angle increments, you will have a message pops up and prompts the completion total of the process181 × 361 = 65,341 spherically placed receivers in your scene.
{{Note| Computing radiation patterns using EM.Terrano's SBR solver typically takes much longer computation times than using [[EM.Cube]]'s other computational modules.}}
<table>
<tr>
<td> [[Image:Terrano L1 Fig16SBR pattern.png|thumb|left540px|480px|EM.Terrano's simulation run dialogComputed 3D radiation pattern of two vertical short dipole radiators placed 1m apart in the free space at 1GHz.]] </td>
</tr>
</table>
<table><tr><td> [[Image:PROP MAN10.png|thumb|left|550px|EM.Terrano's output message window.]] </td></tr></table> === Changing the SBR Engine Settings === There are a number of SBR simulation settings that can be accessed and changed from the SBR Settings Dialog. To open this dialog, click the button labeled {{key|Settings}} on the right side of the '''Select Engine''' drop-down list in the Run Dialog. EM.Terrano's SBR simulation engine allows you to separate the physical effects that are calculated during a ray tracing process. You can selectively enable or disable '''Reflection/Transmission''' and '''Edge Diffraction''' in the "Ray-Block Interactions" section of this dialog. By default, the reflection, transmission and edge diffraction effects are enabled and the terrain diffraction effects are disabled. Separating these effects sometimes help you better analyze your propagation scene and understand the impact of various blocks in the scene. EM.Terrano allows a finite number of ray bounces for each original ray emanating from a transmitter. This is very important in situations that may involve resonance effects where rays get trapped among multiple surfaces and may bounce back and forth indefinitely. This is set using the box labeled "'''Max No. Ray Bounces'''", which has a default value of 10. Note that the maximum number of ray bounces directly affects the computation time as well as the size of output simulation data files. This can become critical for indoor propagation scenes, where most of the rays undergo a large number of reflections. Two other parameters control the diffraction computations: '''Max Wedge Angle''' in degrees and '''Min Edge Length''' in project units. The maximum wedge angle is the angle between two conjoined facets that is considered to make them almost flat or coplanar with no diffraction effect. The default value of the maximum wedge angle is 170°. The minimum edge length is size of the common edge between two conjoined facets that is considered as a mesh artifact and not a real diffracting edge. The default value of the minimum edge length is 5 project units.  <table><tr><td> [[Image:PROP MAN11.png|thumb|left|480px|EM.Terrano's SBR simulation engine settings dialog.]] </td></tr></table> As rays travel in the scene and bounce from surfaces, they lose their power, and their amplitudes gradually diminish. From a practical point of view, only rays that have power levels above the receiver sensitivity threshold can be effectively received. Therefore, all the rays whose power levels fall below a specified power threshold are discarded. The '''Ray Power Threshold''' is specified in dBm and has a default value of -100dBm. Keep in mind that the value of this threshold directly affects the accuracy of the simulation results as well as the size of the output data file. You can also set the '''Angular Resolution''' of the transmitter rays in degrees. By default, every transmitter emanates equi-angular ray tubes at a resolution of 1 degree. Lower angular resolutions larger than 1° speed up the SBR simulation significantly, but they may compromise the accuracy. Higher angular resolutions less than 1° increase the accuracy of the simulating results, but they also increase the computation time. The SBR Engine Settings dialog also shows the required '''Minimum Angular Resolution''' in degrees in a greyed-out box. This number is calculated based on the overall extents of your computational domain as well as the SBR mesh resolution. To see this value, you have to generate the SBR mesh first. Keeping the angular resolution of your project above this threshold value makes sure that the small mesh facets at very large distances from the source would not miss any impinging ray tubes during the simulation. === Statistical Analysis of Propagation Scene ===
EM.Terrano's coverage maps display the received power at the location of all the receivers. The receivers together from a set/ensemble, which might be uniformly spaced or distributed across the propagation scene or may consist of randomly scattered radiators. Every coverage map shows the '''Mean''' and '''Standard Deviation''' of the received power for all the receivers involved. These information are displayed at the bottom of the coverage map's legend box and are expressed in dB.
When you run either a frequency sweep or a parametric sweep simulation in EM.Terrano, you have the option to generate two additional coverage maps: one for the mean of all the individual sample coverage maps and another for their standard deviation. To do so, in the '''Run Dialog''', check the box labeled '''"Create Mean and Standard Deviation Coverage Mapsreceived power coverage maps"'''. Note that the mean and standard deviation values displayed on the individual coverage maps correspond to the spatial statistics of the receivers in the scene, while the mean and standard deviation coverage maps show the statistics with respect to the frequency or other sweep variable sets at each point in the site. Also, note that both of the mean and standard deviation coverage maps have their own spatial mean and standard deviation values expressed in dB at the bottom of their legend box.
<table>
<tr>
<td>
[[Image:Terrano L4 Fig21UrbanCanyon4.png|thumb|left|640px|The mean coverage map at the end of a frequency sweep.]]
</td>
</tr>
<tr>
<td>
[[Image:Terrano L4 Fig22UrbanCanyon5.png|thumb|left|640px|The standard deviation coverage map at the end of a frequency sweep.]]
</td>
</tr>
</table>
<pbr /> Â </phr>Â [[Image:Top_icon.png|48px30px]] '''[[EM.Terrano#Product_Overview | Back to the Top of the Page]]'''
[[Image:Tutorial_icon.png|40px30px]] '''[[EM.Cube#EM.Terrano_Tutorial_Lessons Terrano_Documentation | EM.Terrano Tutorial Gateway]]'''
[[Image:Back_icon.png|40px30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''