Penetrable volume blocks with arbitrary geometries and material properties</li>
<li>
Import of shapefiles and STEP, IGES abnd and STL CAD model files for scene construction</li>
<li>
Terrain surfaces with arbitrary geometries and material properties and random rough surface profiles</li>
Python-based random city wizard with randomized building locations, extents and orientations</li>
<li>
Python-based wizards for generation of parameterized multi-story office bulidings buildings and several terrain scene types</li>
<li>
Standard half-wave dipole transmitters and receivers orinted oriented along the principal axes</li>
<li>
Short Hertzian dipole sources with arbitrary orientation</li>
Parametric sweeps of scene elements like building properties, or radiator heights and rotation angles</li>
<li>
Statistical analsyis analysis of the propagation scene</li>
<li>
Polarimetric channel characterization for MIMO analysis</li>
| 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, cube 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>
EM.Terrano provides three radiator types for point transmitter sets:
#Half-wave dipole oriented along one of the the three principal axes
#Two collocated, 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 the three principal axes
#Polarization-matched isotropic radiator
#User defined (arbitrary) antenna with imported far-field radiation pattern
</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>
<tr>
<td> [[Image:PROP MAN9UrbanCanyon2.png|thumb|left|640px|The facet mesh of the buildings in the urban propagation scene generated by EM.Terrano's Random City wizardwith a cell edge length of 100m.]] </td></tr><tr><td> [[Image:UrbanCanyon3.png|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.
=== Running a Single-Frequency SBR Analysis ===
EM.Terrano provides a number of different solvers and simulation modes. 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:
* 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.
</tr>
</table>
Â
=== 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 Solver or Simulation Type'''. At the end of the simulation, a large ray database is generated with two data files called "sbr_channel_matrix.DAT" and "sbr_ray_path.DAT". The former file contains the delay, angles of arrival and departure and complex-valued 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.
=== Changing the SBR Engine Settings ===
There are a number of SBR simulation settings that can be accessed and changed from the SBR Ray Tracing Engine Settings Dialog. To open this dialog, click the button labeled {{key|Settings}} on the right side of the '''Select EngineSimulation 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 "Ray-Block Interactions" section of this dialog. By default, the ray reflection, and 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 one project units.
<table>
</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 -100dBm150dBm. 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 '''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 shows displays the required '''Minimum Recommended Ray Angular Resolution''' in degrees in a greyedgrayed-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.
=== Simulation Types and Modes ===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 "Exclude 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:  <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 different solvers rays in all directions. The electric fields of these rays are polarimetric and simulation modestheir strength and polarization are determined by the designated radiation pattern of the transmit antenna. Its main solver 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 '''3D SBR Ray TracerE<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. Once you have set up 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 in , open EM.Terrano 's Run Simulation dialog and have defined sources/transmitters 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 "sbr_channel_matrix.DAT" and observables/receivers "sbr_ray_path.DAT". The former file contains the delay, angles of arrival and departure and complex-valued 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. === The "Near Real-Time" Polarimatrix Solver === After EM.Terrano's channel analyzer generates a ray database that characterizes your scenepropagation channel polarimetrically for all the combinations of transmitter and receiver locations, you are ready to run a SBR ray tracing simulationsolution 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-down list labeled '''Select Simulation or Solver Type''' in EM.Terrano offers thee '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 SBR Polarimatrix solveronly 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.}} === EM.Terrano's Simulation Modes === EM.Terrano provides a number of different simulation modes that involve single or multiple simulation runs:
{| class="wikitable"
! scope="col"| Simulation Mode
! scope="col"| Usage
! scope="col"| Number of Engine RunsWhich Solver?
! scope="col"| Frequency
! scope="col"| Restrictions
|-
| style="width:120px;" | [[#Running a Single-Frequency SBR Analysis | Single-Frequency Analysis]]
| style="width:250px180px;" | Simulates the propagation scene "As Is"| style="width:100px150px;" | Single runSBR, Channel Analyzer, Polarimatrix, Radar Simulator| style="width:150px120px;" | Runs at the center frequency fc| style="width:100px300px;" | None
|-
| style="width:120px;" | [[Parametric_Modeling_%26_Simulation_Modes_in_EM.Cube#Running_Frequency_Sweep_Simulations_in_EM.Cube | Frequency Sweep]]
| style="width:250px180px;" | Varies the operating frequency of the ray tracer | style="width:100px150px;" | Single ray tracing runSBR, multiple frequency computations Channel Analyzer, Polarimatrix, Radar Simulator| style="width:150px120px;" | Runs at a specified set of frequency samples| style="width:100px300px;" | None
|-
| style="width:120px;" | [[Parametric_Modeling_%26_Simulation_Modes_in_EM.Cube#Running_Parametric_Sweep_Simulations_in_EM.Cube | Parametric Sweep]]
| style="width:250px180px;" | Varies the value(s) of one or more project variables| style="width:100px150px;" | Multiple runsSBR| style="width:120px;" | Runs at the center frequency fc| style="width:300px;" | Requires definition of sweep variables, works 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:100px300px;" | NoneRequires at least two transmitters in the scene, works only with Polarimatrix solver and requires an existing ray database|-| style="width:120px;" | [[#Rotational_Sweep | Rotational Sweep]]| style="width:180px;" | Rotates the radiation pattern of the transmit antenna(s) sequentially to 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;" | [[#Mobile_Sweep | Mobile Sweep]]| style="width:180px;" | Considers 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, works only with Polarimatrix solver and requires an existing ray database
|}
Click on each item in the above list to learn more about each simulation mode. Â You set the simulation mode in EM.Terrano's simulation run dialogusing the drop-down list labeled '''Simulation Mode'''. A single-frequency analysis is a single-run simulation. The two All the other simulation modes in the above list are considered multi-run simulations. If you run a simulation without having defined any observables, no data will be generated at the end of the simulation. 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.Terrano's frequency sweep simulations are very fast because the geometrical optics (ray tracing) part of the simulation is frequency-independent.}}
Â
=== Transmitter Sweep ===
Â
When 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 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 received power coverage maps, 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 from the property dialog of the parent transmitter set or receiver set. This is done in advance before a 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 case, the entire scene and all of its buildings are discretized at each simulation run and a complete physical SBR ray tracing simulation is carried out. However, 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 to rotate the radiation pattern of 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 electronically. 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| 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 meaning implying the sequential movement of the transmitter and receiver pair along their corresponding paths. In other words, the set of point transmitters and the set of point receivers indeed represent the locations of a single transmitter and a single receiver at different instants of time. It is obvious that the total number of transmitters and total number of 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 [[Glossary_of_EM.Cube%27s_Wizards#Mobile_Path_Wizard | Mobile Path Wizard]].
Â
{{Note| EM.Terrano's mobile sweep works only with the 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 the propagation effects such as direct (LOS) rays, ray reflection and transmission, and edge diffractions. At the end of a SBR simulation, you can visualize the received power coverage map of your propagation scene, which appears under the receiver set item in the navigation tree. The figure below shows the received power coverage map of the random city scene with 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.
Â
<table>
<tr>
<td>
[[Image:UrbanCanyon10.png|thumb|left|640px|The received power coverage map of the random city scene with a dipole transmitter.]]
</td>
</tr>
</table>
Â
Sometime it is helpful to change the scale of the color map to better understand the dynamic range of the coverage map. If you double-click on the legend or right-click on the coverage map's 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 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 SBR SolverRay Tracing Solvers's 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:Terrano L6 Fig16AAnnArbor Scene2.png|thumb|left|640px|The electric field distribution map of the Ann Arbor scene with super-heterodyne vertical dipole transmitter and receivers.]]
</td>
</tr>
<tr>
<td>
[[Image:Terrano L6 Fig16AnnArbor Scene3.png|thumb|left|640px|The received power coverage map of the Ann Arbor scene with super-heterodyne vertical dipole transmitter and receivers.]]
</td>
</tr>
<tr>
<td>
[[Image:Terrano L6 Fig17AnnArbor Scene4.png|thumb|left| 640px |The connectivity map of the Ann Arbor scene with SNR<sub>min</sub> = 25dB 3dB with Rainbow the basic color map option.]]</td></tr><tr><td>[[Image:AnnArbor Scene5.png|thumb|left| 640px |The connectivity map of the Ann Arbor scene with SNR<sub>min</sub> = 20dB with the basic color map option.]]
</td>
</tr>
<tr>
<td>
[[Image:Ray dialogUrbanCanyon17.png|thumb|left|720px|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:
<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>
Â
=== Visualizing 3D Radiation Patterns of Transmit and Receive Antennas in the Scene ===
Â
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 the 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.
Â
<table>
<tr>
<td>
[[Image:UrbanCanyon6.png|thumb|left|640px|The received power coverage map of the random city scene with a highly directional dipole array transmitter.]]
</td>
</tr>
</table>
Â
By Default, [[EM.Cube]] always visualizes the 3D radiation patterns at the origin of coordinates, i.e. at (0, 0, 0). 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 the 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 a propagation scene, it is more intuitive to display the pattern at the location of the transmitter or receiver. The Radiation Pattern dialog allows you to translate the pattern visualization to any arbitrary point in the project workspace. It also allows you to scale up or scale down the pattern visualization with respect to the background scene.
Â
In the example shown above, the imported pattern data file is called "Dipole_Array1.RAD". Therefore, the label of the radiation pattern observable is chosen to be "Dipole_Array1". The theta and phi angle increments are both 1° in this case. The radiation pattern has been elevated by 10m to be positioned at the location of the transmitter and a scaling factor of 0.3 has been used.
Â
<table>
<tr>
<td>
[[Image:UrbanCanyon8.png|thumb|left|640px|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>
Â
There is an important catch to remember here. When you define a radiation pattern observable for your project, EM.Terrano will attempt to 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 '''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.Terrano's SBR solver as an asymptotic EM solver (see next section).
Â
<table>
<tr>
<td>
[[Image:UrbanCanyon9.png|thumb|left|640px|EM.Terrano's Run Simulation dialog.]]
</td>
</tr>
</table>
== 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>