EM.Terrano Tutorial Lesson 1: Analyzing A Basic Line-Of-Sight Propagation Scene

From Emagtech Wiki
Jump to: navigation, search
Tutorial Project: Analyzing A Basic Line-Of-Sight Propagation Scene
Terrano L1 Fig title.png

Objective: In this project, the basic concepts of EM.Terrano are demonstrated, and a simple line-of-sight link will be analyzed in the free space and in the presence of an infinite half-space ground.


  • Point Object
  • Array Object
  • Base Location Set
  • Global Ground
  • Transmitter Set
  • Receiver Set
  • Received Power Coverage Map
  • Ray Visualization

Minimum Version Required: All versions

'Download2x.png Download Link: EMTerrano_Lesson1

What You Will Learn

In this tutorial you will define transmitter and receiver sets based on point objects and arrays of base points. You will learn how to run an SBR ray tracing analysis of your propagation scene and examine the individual rays received by each receiver. You will learn how to enable and disable the global ground.

Attention icon.png We strongly recommend that you read through the first few tutorials and study them carefully before setting up your own projects.

Back icon.png Back to EM.Terrano Manual

Back icon.png Back to EM.Terrano Tutorial Gateway

Getting Started

Open the EM.Cube application by double-clicking on its icon on your desktop. By default, EM.Cube opens a blank project with the name “UntitledProj0” in its CubeCAD Module. You can start drawing objects and build up your physical structure right away. Or you can initiate a new project by selecting the New Fdtd newb.png button of the System Toolbar or using the keyboard shortcut Ctrl+N. This opens up the New Project Dialog, where you can enter a title for your new project and set its path on your hard drive. From the same dialog, you can also set the project’s Length Units, Frequency Units, Center Frequency and Bandwidth.

The project workspace.
The New Project dialog.

For this tutorial lesson, set the following parameters in the new project dialog:

Starting Parameters
Name EMTerrano_Lesson1
Length Units Meters
Frequency Units GHz
Center Frequency 1GHz
Bandwidth 1GHz

Click the Create button of the dialog to accept the settings. A new project folder with your given name is immediately created at your specified path.

To navigate to EM.Terrano, simply select its icon from the Module Toolbar on the left side of the screen. Selecting the module icon changes the contents of the navigation tree to reflect the types of objects supported by the current module.

Planning the Propagation Scene

A basic propagation scene in EM.Terrano involves at least one transmitter and one or more receivers. A transmitter is considered a source, and a receiver is considered an observable. Neither of them is a physical object. In order to define either a transmitter or a receiver in EM.Terrano, first you need to a create a point object in your project workspace. The point object serves as the base location for the transmitter or receiver.

The geometrical objects you draw in the project workspace are grouped together in the navigation tree based on their common properties. The point objects your draw in the project workspace to represent base locations only have a color property and no other physical properties. This means that all the points belonging to the same base location group have the same color. Transmitters or receivers are associated with the existing base point sets already defined in the navigation tree. If a base point set is associated with a transmitter set, then it shouldn't be associated with a receiver set and vice versa.

Attention icon.png When you start a new project in EM.Terrano or any other EM.Cube module, "millimeter" is set as the default project units. In most propagation modeling problems, you will use "meter" or larger units. Make sure to set the proper length units for your project.

You can run an SBR ray tracing simulation with only a transmitter and a receiver in the project workspace. You don't need scatterers like buildings or terrain in your scene, although you can always add such items to the project workspace at any time.

Disabling the Global Ground

EM.Terrano has a default global ground which consists of a dielectric half-space medium at Z < 0. The default material composition of the medium is a typical rock with εr = 5 and σ = 0.005S/m. You can enable or disable the global ground or changes its material properties from EM.Terrano's global ground settings dialog. To access this dialog, right-click on the Global Ground item under Computational Domain in the navigation tree and select Global Ground Settings... from the contextual menu. For the first part of this tutorial lesson, you are going to have a free-space link. Therefore, remove the check mark from the check box labeled Include Half-Space Ground (z<0).

EM.Terrano's global ground settings dialog.

Drawing the Point Sets

You need to create two sets of point objects to represent base locations for your transmitter and receivers. But first you have to define a base point group in the navigation tree. Right-click on the Base Locations item under the “Physical Structure” section of the navigation tree and select Insert New Point Set… from the contextual menu. This opens up the Base Point Set Dialog. You can change the name of the point set or its color from this dialog. Accept the default settings (blue color) and click the OK button to close the dialog. You will notice that the name "BasePointSet_1" in the navigation tree is now displayed in bold letters. This means that this group is the active group in the project workspace. Any object you draw will belong to this group. Also, note that when a base point group is active in the navigation tree, all the buttons of the Object Toolbar are grayed out except for the Point Tool.

Defining a base location group in EM.Terrano's navigation tree.
The Base Point Set dialog.

Click the Point Point tool tn.png button of the Object Toolbar or select the menu item Object → Special → Point.

Selecting the Point Tool from EM.Terrano's Object Toolbar.

With the Point tool activated, click the origin (0,0,0) of the project workspace to place a point. The property dialog of the point object opens up at the lower right corner of the screen. From here you can fine-tune the coordinates of your point object, if necessary. Increase the height of the point to 2m. Click OK to accept the settings. A blue point appears in the project workspace, which has the default blue color of your point set.

The Point object's Property Dialog.

Now, define a second base location set called "BasePointSet_2", and choose an orange color for it. With the new point set group active, draw a point at the location (25m, 0, 2m) just like you did earlier. Next, you will build an array of points using the second orange point object you just created. Click on the point to select it. Its color turns yellow (i.e. the default selection color). Click the Array Array tool tn.png button of the Tools Toolbar or right-click on the object and select Array from the contextual menu, or simply use the keyboard shortcut A. The Array Dialog opens up. Enter 10, 1 and 1 for the Element Count along the X, Y and Z directions, respectively. Enter 5m, 0 and 0 for Spacing along the three axes, respectively. Click OK to accept the settings and close the Array dialog.

Selecting the Array Tool from EM.Terrano's Tools Toolbar.
The Array dialog.

You will see that your original orange point is replaced by a linear array of 10 points uniformly spaced at 5m along the X-axis. You will also notice a rectangular box with a green outline that encloses your point set. This is EM.Terrano’s domain box that defines the computational domain for ray tracing.

The geometry of the two point sets in the project workspace.

Defining the Transmitter and Receiver Sets

Now you can define transmitter and a receiver sets and associated them with the base points sets you created earlier. Right-click on the Transmitters item under the Sources section of the navigation tree and select Insert New Transmitter Set... from the contextual menu. In the new transmitter set dialog, set "BasePointSet_1" from the drop-down dialog labeled Base Point Set. Then, Right-click on the Receivers item under the Observables section of the navigation tree and select Insert New Receiver Set... from the contextual menu. In the new receiver set dialog, set "BasePointSet_2" from the drop-down dialog labeled Base Point Set.

The transmitter definition dialog.
The receiver definition dialog.

You will see that a red ball appears around the blue point representing the transmitter and yellow balls appear around the orange points representing the receivers. Right-click on the TransmitterSet_1 item in the navigation tree and select Properties... from the contextual menu. Examine the properties of the transmitter set. In the Radiator section under "Transmitter Properties" of the transmitter dialog, note that the default radiator type of the transmitter is Vertical Half-Wave Dipole. Similarly, right-click on the ReceiverSet_1 item in the navigation tree and select Properties... from the contextual menu. Examine the properties of the receiver set. In the Radiator section of the receiver dialog, note that the default radiator type of the receiver is Isotropic. This means that the default receivers are omni-directional radiators which are perfectly polarization-matched to the incoming rays.

The transmitter set's property dialog.
The receiver set's property dialog.
The free-space propagation scene with the transmitter and receiver sets.

Running an SBR Ray Tracing Analysis

At this time, you are ready to run your first SBR simulation. Click the Run Fdtd runb.png button of the Simulate Toolbar to open up the Simulation Run Dialog. Or alternatively, use the keyboard shortcut Ctrl+R, or the menu item Simulate → Run… The simplest simulation mode in EM.Terrano is “Single-Frequency Analysis” (Analysis). In this mode, your physical structure is taken “As Is” and its mesh (none in this case) is passed to the SBR simulation engine along with the necessary information regarding the sources and observables. Keep in mind that an SBR “Analysis” is a single-frequency simulation carried out at the specified center frequency of your project. To run the simulation, click the Run button of the Simulation Run Dialog.

EM.Terrano's Run Simulation Dialog.

A separate window pops up displaying messages from the simulation engine. Once the simulation has been completed, close the message window and return to the project workspace. The navigation tree is now populated with simulation results under the Receivers node. Go to the “Receivers” section of the navigation tree and click on the Rcvd Power item under the “ReceiverSet_1” node. This will display the received power coverage map of your receivers in the form of small colored square confetti slightly above the receivers. The color scale on the right shows the minimum and maximum power values of -31.3dBm and -40.2dBm corresponding to the closest and farthest receivers with respect to the transmitter. The legend box also shows the mean and standard deviation of the received powers, which are -36.41dBm and 2.816dBm, respectively.

The received power coverage map of the receiver set.

Verifying Your Simulation Results

Since your propagation channel is the free space, you can use Friis' transmission formula to validate your simulation results. The Friis transmission formula relates the transmitted and received powers in a line-of-sight (LOS) propagation scenario:

[math] \frac{P_r}{P_t} = G_t G_r \left( \frac{\lambda_0}{4\pi r} \right) ^2 [/math]

where r is the distance between the transmitter and receiver and GT and GR are the gains of the transmitting and receiving antennas, respectively. According to the property dialog of the transmitter, the effective isotropically radiated power (EIRP) is:

[math] EIRP = P_t G_t = 29.88dBm [/math]

The first receiver is located at a distance of 25m from the transmitter. The received power by this receiver is calculated to be:

[math] P_{r,dB} = EIRP_{dB} + G_{r,dB} + 20log_{10}\left( \frac{\lambda_0}{4\pi r} \right) = 29.88 + 0 + 20log_{10}\left( \frac{0.3}{(4\pi)(25)} \right) = -30.516dBm[/math]

The last receiver is located at a distance of 25m + 9×5m = 70m from the transmitter. The received power by this receiver is calculated to be:

[math] P_{r,dB} = EIRP_{dB} + G_{r,dB} + 20log_{10}\left( \frac{\lambda_0}{4\pi r} \right) = 29.88 + 0 + 20log_{10}\left( \frac{0.3}{(4\pi)(70)} \right) = -39.46dBm[/math]

Running an SBR Analysis in the Presence of the Global Ground

Next, open EM.Terrano's global ground settings dialog and check the box labeled Include Half-Space Ground. A translucent green plane appears at Z = 0 representing the underlying ground medium. Run another quick SBR “Analysis” of your scene with the global ground. At the end of the simulation, visualize the received power coverage map. You will find out the received power coverage map in this case is completely different than the previous case without the global ground. In particular, you will notice that due to the ground reflection, the closest receiver doesn't necessarily receiver the largest power.

The received power coverage map of the receivers in the presence of the global ground.

In EM.Terrano, you can visualize all the rays received by each receiver along their entire path starting from the source location. To do that, right click on the Receivers item in the navigation tree and select Show Received Rays from the contextual menu. You will see the two rays received by the first receiver: the first is a direct ray from the transmitter to the receiver, and the second is a ray that is reflected off the ground. EM.Terrano allows you to analyze the individual rays.

Visualizing the rays received by the receiver.

Open the property dialog of your receiver set and select the first receiver of the array called "ReceiverSet_1_1". Then, click the Show Ray Data button to open up the Ray Data Dialog. You will see a table that lists all the rays received by the selected receiver along with the properties of those rays including their delay in nsec, phi and theta angles of arrival in degrees and individual ray’s field value in dBV/m and power value in dBm. You will also see two boxes that report the Total Received Power in dBm and the Total Received Field in dBV/m. The computed total received field is reported as -15.46dBV/m.

Selecting an individual receiver in the receiver set dialog.
Viewing the properties of individual rays in the ray data dialog.

Analyzing Individual Rays

The ray diagram below shows the direct and ground-reflected rays emanating from the transmitter and reaching the selected receiver. It identifies all the necessary distances and angles to calculate the receiver rays.

The ray diagram of the line-of-sight link in the presence of the global ground.

The direct ray is identical to the solution of the previous section in the absence of the global ground. You can verify this from the power of the direct ray in the ray data dialog, which is -31.262dBm. Let's also calculate the propagation delay from the transmitter to the receiver for the direct ray:

[math] \Delta t_d = \frac{r_0}{c_0} = \frac{25}{3e8} = 8.333\times10^{-8} sec = 83.33ns [/math]

The ground-reflected ray first traverses a distance of r1 from the transmitter to the specular point. Then, it undergoes reflection off the ground, and the reflected ray traverses a distance of r2 from the specular point to the receiver. The total optical path length is r1 + r2. To find the specular point and the lengths r1 and r2, note the geometric relation:

[math] \frac{h}{D_s} = \frac{h}{r_0 - D_s} [/math]

With r0 = 25m and h = 2m, you find that Ds = 12.5m. The ray path lengths are calculated as r1 = r2 = √(12.52 + 22) = 12.659m. The propagation delay of the reflected ray is therefore found to be:

[math] \Delta t_r = \frac{r_1+r_2}{c_0} = \frac{(2)(12.659)}{3e8} = 8.4393\times10^{-8} sec = 84.39ns [/math]

The reflected ray received by the receiver can be thought of as if it was launched from the image of the transmitter in the ground (with respect to Z = 0). The reflection coefficient at the specular point depends on the wave polarization (vertical in this case with the electric field parallel to the plane of incidence) and is given by:

[math] R_v = \frac{\eta_1 \cos\theta_t - \eta_0 \cos\theta_i }{ \eta_1 \cos\theta_t + \eta_0 \cos\theta_i }, \quad\quad \eta_1 = \eta_0 \sqrt{\frac{\mu_{r1}}{\epsilon_{r1}}} [/math]

The angles θi and θt are the incident and transmitted ray angles as shown in the figure, and the latter angle is calculated from Snell’s law:

[math] k_0 \sin\theta_i = k_1 \sin\theta_t \quad\quad k_1 = k_0 \sqrt{\mu_{r1} \epsilon_{r1}} [/math]

For this scene, you have η1 = η0/√5 = 0.4472η0, k1 = k0√5 = 2.236k0.

The two angles and the reflection coefficient are found as:

[math] \theta_i = \arctan \left( \frac{D_s}{2m} \right) = 80.91^o [/math]

[math] \theta_t = \arcsin \left( \frac{k_0}{k_1} \sin\theta_i \right) = 26.21^o [/math]

[math] R_v = \frac{0.4472\cos(26.21^o) - \cos(80.91^o)}{ 0.4472\cos(26.21^o) + \cos(80.91^o) } = 0.435[/math]

The power of the reflected ray is then calculated as:

[math] P_{ref,dB} = EIRP_{dB} + G_{r,dB} + 20log_{10}\left( \frac{\lambda_0}{4\pi r} \right) + 20log_{10} |R_v | = 29.88 + 0 + 20log_{10}\left( \frac{0.3}{(4\pi)(2)(12.659)} \right) + 20log_{10} (0.435) = -37.856dBm[/math]

The analytical results agree well with the ray tracing simulation results.

Attention icon.png The ray fields are complex-valued. The total ray field at the receiver location is computed as the coherent sum of the complex-valued fields of all the individual received rays.


Top icon.png Back to the Top of the Page

Back icon.png Back to EM.Terrano Tutorial Gateway