Changes

Jump to: navigation, search

EM.Terrano

9,472 bytes added, 14:18, 5 April 2019
/* Wave Propagation Modeling */
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>
<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.
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_\etatheta(\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&pi;/&lambda;<sub>0</sub> is the free-space wavenumber, &lambda;<sub>0</sub> is the free-space wavelength, &eta;<sub>0</sub> = 120&pi; &Omega; 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 &gamma; = 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 = &lambda;<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 &Omega;. These dipole radiators are connected via 50&Omega; transmission lines to a 50&Omega; 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>&theta;</sub> and E<sub>&phi;</sub> for all the combinations of (&theta;, &phi;) 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 ===
{{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 ==
* '''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:AnnArbor Scene6UrbanCanyon17.png|thumb|left|720px|EM.Terrano's ray data dialogshowing a selected ray.]]
</td>
</tr>
<table>
<tr>
<td> [[Image:AnnArbor Scene7UrbanCanyon18.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&deg; 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>
28,333
edits