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.


  • Point Object
  • Array Object
  • Base Location Set
  • Transmitter Set
  • Receiver Set
  • Received Power Coverage Map
  • Path Loss

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

Download2x.png Download projects related to this tutorial lesson

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 Environment item under Computational Domain in the navigation tree and select Global Environment Settings... from the contextual menu. In 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).

The Global Environment item under Computational Domain in the navigation tree.
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 Point Radiators item under the “Physical Structure” section of the navigation tree and select Insert New Point Set… from the contextual menu. This opens up the Point Radiator Set Dialog. You can change the name of the point set or its color from this dialog. Accept the default settings (blue color) and the transmitter as vertically (Z-directed) polarized half-wave dipole antenna, and then 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 point radiator group in EM.Terrano's navigation tree.
The Point Radiators 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 point radiator set called "BasePointSet_2", and choose an orange color for it but keep the radiator type as vertically (Z-directed) polarized half-wave dipole. 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.

Changing the color of the point radiator in the Point Radiators Set 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 point 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.

The free-space propagation scene with the transmitter and receiver sets.

Right-click on the TransmitterSet_1 and the ReceiverSet_1 items in the navigation tree and select Properties... from the contextual menu and examine the properties of the transmitter set.

The transmitter set's property dialog.
The receiver set's property dialog.

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 Point 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 maximum and minimum power values of -29.0dBm and -37.9dBm 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 -34.13dBm and 2.816dBm, respectively. When the communication link between the transmitter and the receiver is closed the green LED indicates Link ON, otherwise, the red LED appears showing Link OFF.

EM.Terrano's simulation output window.
The received power coverage map of the receiver set.

Examining the Individual Receivers

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, Theta and Phi angles of arrival and departure in degrees and the amplitude and phase of the Theta and Phi field components of individual rays in dBV/m and degrees, respectively, and the ray's total power 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 -10.28dBV/m. You can change the active receiver index using the drop-down list labeled Select Element and examine the simulation data for all the receivers in your scene.

Selecting receiver No. 1 in the receiver set dialog.
Selecting receiver No. 10 in the receiver set dialog.
Viewing the properties of the rays of receiver No. 1 in the ray data dialog.

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.88\text{dBm} [/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.516\text{dBm}[/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.46\text{dBm}[/math]

Plotting the Channel Path Loss

A list of all the 2D and 3D output data files generated at the end of a simulation can be viewed in EM.Terrano’s Data Manager. To open this dialog, click the Data Manager Fdtd datamanagerb.png button of Simulate Toolbar, or use the keyboard shortcut Ctrl+D, or select the menu item Simulate → Data Manager. Select the file "SBR_ReceiverSet_1_PATHLOSS.DAT" from the list by clicking on its name and highlighting its row in the table. Click the Plot button of the dialog. A PyPlot graph window pops up that shows the variation of the path loss as a function of receiver index. If you move the mouse around the graph, you can read the values of the graph on the Status Bar of the graph window.

The data manager dialog.
Plot of the path loss vs. receiver index.

The PyPlot window has a number of controls that let you change the settings of your graph using your mouse. For example, using the Pan/Zoom button Py zoom icon.png, you can pan the graph with the left mouse button and zoom it in or out with the right mouse button. A combination of the two operations usually gives you an ideal scaling of your graph.

A scaled version of the path loss graph.

Top icon.png Back to the Top of the Page

Back icon.png Back to EM.Terrano Tutorial Gateway