http://www.emagtech.com/wiki/api.php?action=feedcontributions&user=Kazem+Sabet&feedformat=atomEmagtech Wiki - User contributions [en]2020-11-29T04:36:31ZUser contributionsMediaWiki 1.23.2http://www.emagtech.com/wiki/index.php/What%27s_New_in_EM.Cube_R20.1%3FWhat's New in EM.Cube R20.1?2020-03-30T19:30:37Z<p>Kazem Sabet: </p>
<hr />
<div>[[Image:Splash-generic2.jpg|right|720px]]<br />
<strong><font color="#07417e" size="4">MODULAR 3D ELECTROMAGNETIC SIMULATION SUITE <br /></font></strong><br />
<strong><font color="#707983" size="4">&nbsp; &nbsp; &nbsp; THAT GROWS WITH YOUR MODELING NEEDS</font></strong><br />
<table><br />
<tr><br />
<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:prop-ico.png | link=EM.Terrano]] [[image:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]] </td><br />
<tr><br />
</table><br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''<br />
<br />
=== EM.Cube R20.1 Release At A Glance ===<br />
<br />
The new [[EM.Cube]] R20.1 release is the most powerful electromagnetic simulation suite EMAG Technologies Inc. has ever produced in its history of more than two decades. The new release offers a combination of state-of-the-art simulation capabilities that reflect the latest advances in computational electromagnetics (CEM) as well as productivity features requested by our valued users.<br />
<br />
=== New EM.Tempo (FDTD) Features ===<br />
<br />
*New source arrays of lumped, waveguide, microstrip, CPW and coaxial types with phased array and AESA capability including classic weight distribution types (One-Parameter Taylor-Kaiser, Taylor N-bar, Bayliss N-bar, etc.) and user-defined complex weights<br />
*New plots of material parameters vs. frequency for dispersive and gyrotropic material types <br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable <br />
*Improved radiation pattern and RCS observables with partial elevation and azimuth angle definitions<br />
*Improved array factor definition for the radiation pattern observable with user defined amplitude and phase distribution including classic weight distribution types (One-Parameter Taylor-Kaiser, Taylor N-bar, Bayliss N-bar, etc.) and user-defined complex weights<br />
*Improved antenna wizards with fast ports acceleration<br />
<br />
=== New EM.Terrano (Ray Tracing) Features ===<br />
<br />
*Improved ray angular resolution for SBR simulation of large propagation scenes<br />
*New 2D long-haul channel analyzer incorporating spherical earth, knife edge diffraction, rough surface diffusion and atmospheric effects<br />
*New 2D terrain profiler with smoothing filters<br />
*Streamlined handling of multi-transmitter scenarios<br />
*New phased array and AESA capability in multi-transmitter and multi-receiver scenarios including classic weight distribution types (One-Parameter Taylor-Kaiser, Taylor N-bar, Bayliss N-bar, etc.) and user-defined complex weights<br />
*New analog modulation schemes and improved digital waveform capability<br />
*New link margin analysis for both analog and digital modulation schemes<br />
*Definition of connectivity maps based on link margin<br />
*New plane wave source for 3D Field Solver <br />
*New far-field observables for 3D Field Solver including radiation pattern, bistatic and monostatic RCS and polarimetric scattering matrix sweep based on equivalent Huygens surface integration<br />
*Improved radar link solver with a new radar-target positional sweep mode<br />
*Improved scatterer sets with options of spherical targets and imported polarimetric scattering matrix files<br />
*New parameterized PEC and dielectric spherical targets with analytical Mie solutions<br />
*Improved ray visualization of transmitter sweep results<br />
*Improved rotational sweep with simultaneous rotation of transmit and receive antennas <br />
*Improved mobile sweep with varying Eulerian rotation angles of both transmitter and receiver nodes <br />
*New communication link calculator tool<br />
*New radar link calculator tool<br />
*Import of DTED0, DTED1 and DTED2 terrain models<br />
*New Terrain Manager utility with quick view and statistical report capability for importing, cropping, rescaling and repositioning terrain models <br />
*New longitude-latitude (LL) coordinates in the Status Bar and new Python functions for setting and getting the origin’s LL coordinates<br />
*Improved standard atmosphere model<br />
*New non-standard atmosphere models including piecewise linear modified refractivity profiles with one or two break points as well as more general user-defined non-standard M-profiles in the form of piecewise cubic polynomial functions of height<br />
*Analysis of atmospheric propagation through surface and elevated ducts<br />
*New ground database generator for defining the material properties of the earth’s surface using elevation-based or land use map-based classification schemes<br />
*Improved random city, office building, and basic link wizards<br />
*Improved mobile path wizard with new options for monostatic radar and target nodes and template for user-defined cartesian-file-based paths<br />
*New sea surface wizard with different sea states and Douglas and Beaufort scales <br />
*New basic radar wizard<br />
*New Python function for DEM and DTED import <br />
*New Python function for calculating the maximum and RMS height of the terrain <br />
*New Python function for setting the RMS height of rough Earth surface<br />
<br />
=== New EM.Picasso (Planar MoM) and EM.Libera (Surface MOM & Wire MOM) Features ===<br />
<br />
*New source arrays of strip gap, wire gap, probe gap and scattering port types with phased array and AESA capability including classic weight distribution types (One-Parameter Taylor-Kaiser, Taylor N-bar, Bayliss N-bar, etc.) and user-defined complex weights<br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable <br />
*Improved radiation pattern and RCS observables with partial elevation and azimuth angle definitions<br />
*Improved array factor definition for the radiation pattern observable with user defined amplitude and phase distribution including classic weight distribution types (One-Parameter Taylor-Kaiser, Taylor N-bar, Bayliss N-bar, etc.) and user-defined complex weights<br />
<br />
=== New EM.Illumina (Physical Optics) Features ===<br />
<br />
*New improved formulation of lossy dielectric and dielectric-coated PEC objects based on the method of equivalent current approximation (MECA)<br />
*New focused Gaussian beam source with higher-order Hermite-Gauss modal profile<br />
*New point transmitter source with user defined radiation pattern<br />
*Multi-transmitter source arrays with phased array and AESA capability including classic weight distribution types (One-Parameter Taylor-Kaiser, Taylor N-bar, Bayliss N-bar, etc.) and user-defined complex weights<br />
*Huygens source arrays with user defined amplitude and phase distribution including classic weight distribution types (One-Parameter Taylor-Kaiser, Taylor N-bar, Bayliss N-bar, etc.) and user-defined complex weights<br />
*New option for PO input file to read mesh data from an external MATLAB-generated file <br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable <br />
*Improved radiation pattern and RCS observables with partial elevation and azimuth angle definitions<br />
<br />
=== New CubeCAD Features ===<br />
<br />
*Improved polymesh objects with mesh statistics, better control over primitives and more display options<br />
*New mesh generation scheme in CubeCAD based on the tessellated model of objects for rendering<br />
*Improved STL import of large structures and scenes <br />
*More control over STL export including mesh type and resolution<br />
*Improved parametric surface generator with option to generate a polymesh surface<br />
*Improved parametric curve generator with option to generate a polyline <br />
*New Hilbert space-filling curve option in parametric curve generator<br />
*Improved nodal curves (polyline and NURBS curve) and nodal surfaces (polystrip and NURBS surface) with option for saving and loading the node data <br />
*New Python commands for generating polylines and polystrips from a data file or a text string <br />
*New Python command for extracting part of a nodal curve<br />
*Improved roughen tool with new option to freeze a random rough surface into a tessellated surface object<br />
*Improved random group tool with new option to freeze a random cloud in to a fixed group object<br />
*New parameterization of generic objects resulting from geometric transformations<br />
<br />
=== New General Features ===<br />
<br />
*New array pattern synthesis tool including Schelkunoff, Sectoral beam, Woodward-Lawson synthesis methods, and particle swarm optimization (PSO)<br />
*New u-v plots of radiation pattern and RCS<br />
*New elevation-azimuth plots of radiation pattern and RCS<br />
*New contour plots of radiation pattern and RCS<br />
*Improved and streamlined interface between [[EM.Cube]] and [[NeoScan]] field measurement data<br />
*[[RF.Spice A/D]] device manager now integrated within [[EM.Cube]] under Tools Menu<br />
*A large number of transmission line calculator and designer tools as part of [[RF.Spice A/D]] device manager <br />
*New capability of generating reusable Touchstone-style S-parameter-based circuit models for use in [[RF.Spice A/D]] from full-wave simulation data<br />
*Capability of designing custom circuit symbols and pin diagrams using [[RF.Spice A/D]] device manager’s symbol editor <br />
*Improved Python interpreter and command line output<br />
*New convenient Python scripting utility in addition to the command line<br />
*New Python command for running Python scripts from the command line<br />
*New Python functions for generating 2D cuts of radiation pattern and RCS<br />
*New amplitude-only graphs of S-parameters<br />
*Improved polar plot capability with user defined dB scale<br />
*Plotting of two and three simultaneous data sets <br />
*Logarithmic scale for the X and Y axes of 2D cartesian graphs<br />
*More control over the default scale settings (linear vs. dB) of 2D and 3D graphs<br />
*New capability of saving and loading individual graph settings and customization of 2D and 3D graphs based on previous templates<br />
*More file operations such as renaming and copying files within Data Manager<br />
*New basic data generator for examining user-defined mathematical and Python functions<br />
*New basic and image-based data generator for importing data from a graph image<br />
<br />
<br /><br />
<br />
<hr><br />
<br />
[[Image:Top_icon.png|30px]] '''[[#EM.Cube R18.1 Release At A Glance | Back to the Top of the Page]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/What%27s_New_in_EM.Cube_R20.1%3FWhat's New in EM.Cube R20.1?2020-03-30T19:23:25Z<p>Kazem Sabet: </p>
<hr />
<div>[[Image:Splash-generic2.jpg|right|720px]]<br />
<strong><font color="#07417e" size="4">MODULAR 3D ELECTROMAGNETIC SIMULATION SUITE <br /></font></strong><br />
<strong><font color="#707983" size="4">&nbsp; &nbsp; &nbsp; THAT GROWS WITH YOUR MODELING NEEDS</font></strong><br />
<table><br />
<tr><br />
<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:prop-ico.png | link=EM.Terrano]] [[image:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]] </td><br />
<tr><br />
</table><br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''<br />
<br />
=== EM.Cube R20.1 Release At A Glance ===<br />
<br />
The new [[EM.Cube]] R20.1 release is the most powerful electromagnetic simulation suite EMAG Technologies Inc. has ever produced in its history of more than two decades. The new release offers a combination of state-of-the-art simulation capabilities that reflect the latest advances in computational electromagnetics (CEM) as well as productivity features requested by our valued users.<br />
<br />
=== New EM.Tempo (FDTD) Features ===<br />
<br />
*New source arrays of lumped, waveguide, microstrip, CPW and coaxial types with phased array and AESA capability including classic weight distribution types (One-Parameter Taylor-Kaiser, Taylor N-bar, Bayliss N-bar, etc.) and user-defined complex weights<br />
*New plots of material parameters vs. frequency for dispersive and gyrotropic material types <br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable <br />
*Improved radiation pattern and RCS observables with partial elevation and azimuth angle definitions<br />
*Improved array factor definition for the radiation pattern observable with user defined amplitude and phase distribution including classic weight distribution types (One-Parameter Taylor-Kaiser, Taylor N-bar, Bayliss N-bar, etc.) and user-defined complex weights<br />
*Improved antenna wizards with fast ports acceleration<br />
<br />
=== New EM.Terrano (Ray Tracing) Features ===<br />
<br />
*Improved ray angular resolution for SBR simulation of large propagation scenes<br />
*New 2D long-haul channel analyzer incorporating spherical earth, knife edge diffraction, rough surface diffusion and atmospheric effects<br />
*New 2D terrain profiler with smoothing filters<br />
*Streamlined handling of multi-transmitter scenarios<br />
*New phased array and AESA capability in multi-transmitter and multi-receiver scenarios including classic weight distribution types (One-Parameter Taylor-Kaiser, Taylor N-bar, Bayliss N-bar, etc.) and user-defined complex weights<br />
*New analog modulation schemes and improved digital waveform capability<br />
*New link margin analysis for both analog and digital modulation schemes<br />
*Definition of connectivity maps based on link margin<br />
*New plane wave source for 3D Field Solver <br />
*New far-field observables for 3D Field Solver including radiation pattern, bistatic and monostatic RCS and polarimetric scattering matrix sweep based on equivalent Huygens surface integration<br />
*Improved radar link solver with a new radar-target positional sweep mode<br />
*Improved scatterer sets with options of spherical targets and imported polarimetric scattering matrix files<br />
*New parameterized PEC and dielectric spherical targets with analytical Mie solutions<br />
*Improved ray visualization of transmitter sweep results<br />
*Improved rotational sweep with simultaneous rotation of transmit and receive antennas <br />
*Improved mobile sweep with varying Eulerian rotation angles of both transmitter and receiver nodes <br />
*New communication link calculator tool<br />
*New radar link calculator tool<br />
*Import of DTED0, DTED1 and DTED2 terrain models<br />
*New Terrain Manager utility with quick view and statistical report capability for importing, cropping, rescaling and repositioning terrain models <br />
*New longitude-latitude (LL) coordinates in the Status Bar and new Python functions for setting and getting the origin’s LL coordinates<br />
*Improved standard atmosphere model<br />
*New non-standard atmosphere models including piecewise linear modified refractivity profiles with one or two break points as well as more general user-defined non-standard M-profiles in the form of piecewise cubic polynomial functions of height<br />
*Analysis of atmospheric propagation through surface and elevated ducts<br />
*New ground database generator for defining the material properties of the earth’s surface using elevation-based or land use map-based classification schemes<br />
*Improved random city, office building, and basic link wizards<br />
*Improved mobile path wizard with new options for monostatic radar and target nodes and template for user-defined cartesian-file-based paths<br />
*New sea surface wizard with different sea states and Douglas and Beaufort scales <br />
*New basic radar wizard<br />
*New Python function for DEM and DTED import <br />
*New Python function for calculating the maximum and RMS height of the terrain <br />
*New Python function for setting the RMS height of rough Earth surface<br />
<br />
=== New EM.Illumina (Physical Optics) Features ===<br />
<br />
*New improved formulation of lossy dielectric surfaces and dielectric-coated PEC objects based on the method of equivalent current approximation (MECA)<br />
*New Gaussian beam sources<br />
*Huygens source arrays with amplitude and phase distribution<br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable<br />
<br />
=== New EM.Picasso (Planar MOM) and EM.Libera (Surface MoM & Wire MOM) Features ===<br />
<br />
*New source arrays of strip gap, wire gap, probe gap and scattering port types with phased array and AESA capability including classic weight distribution types (One-Parameter Taylor-Kaiser, Taylor N-bar, Bayliss N-bar, etc.) and user-defined complex weights<br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable <br />
*Improved radiation pattern and RCS observables with partial elevation and azimuth angle definitions<br />
*Improved array factor definition for the radiation pattern observable with user defined amplitude and phase distribution including classic weight distribution types (One-Parameter Taylor-Kaiser, Taylor N-bar, Bayliss N-bar, etc.) and user-defined complex weights<br />
<br />
=== New Miscellaneous CubeCAD Features ===<br />
<br />
*Expanded material list with mechanical and thermal properties<br />
*New list of available standard output parameters based on the project's observables<br />
*Improved and enhanced custom (user-defined) output parameters that can be updated instantly at post-processing<br />
*New functionality added to "Consolidate" tool for converting special transform objects to generic solid, surface or curve objects <br />
*Improved "Random Group (Cloud)" tool for more efficient Monte Carlo simulations<br />
*New capability added to "Roughen" tool for converting random roughened surfaces or objects to Polymesh objects for the purpose of freezing or export <br />
*New expanded graph controls for Matlab-style 2D and 3D plot types<br />
*New option to enable/disable 3D visualization of far-field data during sweep simulations<br />
*New option for arbitrary translation and scaling of 3D radiation and RCS patterns in the scene<br />
*Enhanced array factor with phase progression for the radiation pattern observable associated with a single radiating element<br />
<br />
=== New Python Capabilities ===<br />
<br />
*New startup Python script<br />
*New Python commands for project and file management<br />
*New Python commands for getting and setting individual properties of geometric objects <br />
*New Python commands for accessing individual objects from the navigation tree<br />
*New Python commands for identifying and accessing material groups and their object members in the navigation tree <br />
*New Python commands for getting the coordinates of nodes of a nodal curve<br />
*New Python command for aligning one of the six faces of the bounding box of an object at a certain coordinate<br />
*New Python commands for retrieving the value of a standard or custom output parameter<br />
*New Python command for setting the boundary conditions of [[EM.Ferma]]<br />
*New Python command for setting up a thermal simulation in [[EM.Ferma]]<br />
*New Python commands for defining all the 18 types of field integrals in [[EM.Ferma]]<br />
*New Python command for creating generic spatial Cartesian data in CubeCAD, [[EM.Tempo]] and [[EM.Ferma]]<br />
*New Python functions for translating, rotating, scaling, aligning and mirroring all the objects in the project workspace<br />
*New Python function for rotating a radiation pattern<br />
*New Python function for computing the radiation pattern of a generalized 3D array<br />
*New Python function for generating the radiation pattern of a Huygens surface data file<br />
*New Python functions for summing, differencing and scaling of .RAD, .RCS, .SEN, .CAR, .HUY and .COV data files<br />
*New Python functions for averaging a set of radiation pattern, RCS or received power coverage data files<br />
*New Python function for extracting a portion of a field sensor or a Cartesian data file<br />
*New Python function for generating a Touchstone file from S-parameter data files<br />
*Improved surrogate model generation based on the high-dimensional model representation (HDMR) technique and association with Python functions of the same name<br />
*Improved Python script for sweeping a Python function or a surrogate model with cubic spline interpolation <br />
*Improved Python script for genetic algorithm (GA) optimization of a Python function or a surrogate model <br />
*Improved Python script for Monte Carlo simulation of a Python function or a surrogate model and generation of probability density functions (PDF) based on Gaussian kernel density estimation (KDE)<br />
<br />
=== Integration with NeoScan Field Measurement System ===<br />
<br />
*Automated export of [[NeoScan]] field measurement data to [[EM.Cube]]<br />
*Automated near-to-far-field transformation of the near-field data for computation of 3D radiation patterns <br />
*Automated computation of antenna gain and radiation efficiency<br />
*Automated generation of equivalent Huygens sources from measured near-field data <br />
*Matlab-style visualization of measured output signal power in dBm corresponding to individual-component and total field maps <br />
<br />
<br /><br />
<br />
<hr><br />
<br />
[[Image:Top_icon.png|30px]] '''[[#EM.Cube R18.1 Release At A Glance | Back to the Top of the Page]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/What%27s_New_in_EM.Cube_R20.1%3FWhat's New in EM.Cube R20.1?2020-03-30T19:21:27Z<p>Kazem Sabet: </p>
<hr />
<div>[[Image:Splash-generic2.jpg|right|720px]]<br />
<strong><font color="#07417e" size="4">MODULAR 3D ELECTROMAGNETIC SIMULATION SUITE <br /></font></strong><br />
<strong><font color="#707983" size="4">&nbsp; &nbsp; &nbsp; THAT GROWS WITH YOUR MODELING NEEDS</font></strong><br />
<table><br />
<tr><br />
<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:prop-ico.png | link=EM.Terrano]] [[image:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]] </td><br />
<tr><br />
</table><br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''<br />
<br />
=== EM.Cube R20.1 Release At A Glance ===<br />
<br />
The new [[EM.Cube]] R20.1 release is the most powerful electromagnetic simulation suite EMAG Technologies Inc. has ever produced in its history of more than two decades. The new release offers a combination of state-of-the-art simulation capabilities that reflect the latest advances in computational electromagnetics (CEM) as well as productivity features requested by our valued users.<br />
<br />
=== New EM.Tempo (FDTD) Features ===<br />
<br />
*New source arrays of lumped, waveguide, microstrip, CPW and coaxial types with phased array and AESA capability including classic weight distribution types (One-Parameter Taylor-Kaiser, Taylor N-bar, Bayliss N-bar, etc.) and user-defined complex weights<br />
*New plots of material parameters vs. frequency for dispersive and gyrotropic material types <br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable <br />
*Improved radiation pattern and RCS observables with partial elevation and azimuth angle definitions<br />
*Improved array factor definition for the radiation pattern observable with user defined amplitude and phase distribution including classic weight distribution types (One-Parameter Taylor-Kaiser, Taylor N-bar, Bayliss N-bar, etc.) and user-defined complex weights<br />
*Improved antenna wizards with fast ports acceleration<br />
<br />
=== New EM.Terrano (Ray Tracing) Features ===<br />
<br />
*Improved ray angular resolution for SBR simulation of large propagation scenes<br />
*New 2D long-haul channel analyzer incorporating spherical earth, knife edge diffraction, rough surface diffusion and atmospheric effects<br />
*New 2D terrain profiler with smoothing filters<br />
*Streamlined handling of multi-transmitter scenarios<br />
*New phased array and AESA capability in multi-transmitter and multi-receiver scenarios including classic weight distribution types (One-Parameter Taylor-Kaiser, Taylor N-bar, Bayliss N-bar, etc.) and user-defined complex weights<br />
*New analog modulation schemes and improved digital waveform capability<br />
*New link margin analysis for both analog and digital modulation schemes<br />
*Definition of connectivity maps based on link margin<br />
*New plane wave source for 3D Field Solver <br />
*New far-field observables for 3D Field Solver including radiation pattern, bistatic and monostatic RCS and polarimetric scattering matrix sweep based on equivalent Huygens surface integration<br />
*Improved radar link solver with a new radar-target positional sweep mode<br />
*Improved scatterer sets with options of spherical targets and imported polarimetric scattering matrix files<br />
*New parameterized PEC and dielectric spherical targets with analytical Mie solutions<br />
*Improved ray visualization of transmitter sweep results<br />
*Improved rotational sweep with simultaneous rotation of transmit and receive antennas <br />
*Improved mobile sweep with varying Eulerian rotation angles of both transmitter and receiver nodes <br />
*New communication link calculator tool<br />
*New radar link calculator tool<br />
*Import of DTED0, DTED1 and DTED2 terrain models<br />
*New Terrain Manager utility with quick view and statistical report capability for importing, cropping, rescaling and repositioning terrain models <br />
*New longitude-latitude (LL) coordinates in the Status Bar and new Python functions for setting and getting the origin’s LL coordinates<br />
*Improved standard atmosphere model<br />
*New non-standard atmosphere models including piecewise linear modified refractivity profiles with one or two break points as well as more general user-defined non-standard M-profiles in the form of piecewise cubic polynomial functions of height<br />
*Analysis of atmospheric propagation through surface and elevated ducts<br />
*New ground database generator for defining the material properties of the earth’s surface using elevation-based or land use map-based classification schemes<br />
*Improved random city, office building, and basic link wizards<br />
*Improved mobile path wizard with new options for monostatic radar and target nodes and template for user-defined cartesian-file-based paths<br />
*New sea surface wizard with different sea states and Douglas and Beaufort scales <br />
*New basic radar wizard<br />
*New Python function for DEM and DTED import <br />
*New Python function for calculating the maximum and RMS height of the terrain <br />
*New Python function for setting the RMS height of rough Earth surface<br />
<br />
=== New EM.Ferma (Static) Features ===<br />
<br />
=== New EM.Picasso (Planar MoM) Features ===<br />
<br />
*Improved planar mesh generation for structures with vertical vias of irregular shape and arrays of via objects <br />
*New capability of handling edge vias and short thin vertical walls (fins) <br />
<br />
=== New EM.Illumina (Physical Optics) Features ===<br />
<br />
*New improved formulation of lossy dielectric and dielectric-coated PEC objects based on the method of equivalent current approximation (MECA)<br />
*New focused Gaussian beam source with higher-order Hermite-Gauss modal profile<br />
*New point transmitter source with user defined radiation pattern<br />
*Multi-transmitter source arrays with phased array and AESA capability including classic weight distribution types (One-Parameter Taylor-Kaiser, Taylor N-bar, Bayliss N-bar, etc.) and user-defined complex weights<br />
*Huygens source arrays with user defined amplitude and phase distribution including classic weight distribution types (One-Parameter Taylor-Kaiser, Taylor N-bar, Bayliss N-bar, etc.) and user-defined complex weights<br />
*New option for PO input file to read mesh data from an external MATLAB-generated file <br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable <br />
*Improved radiation pattern and RCS observables with partial elevation and azimuth angle definitions<br />
<br />
=== New Miscellaneous CubeCAD Features ===<br />
<br />
*Expanded material list with mechanical and thermal properties<br />
*New list of available standard output parameters based on the project's observables<br />
*Improved and enhanced custom (user-defined) output parameters that can be updated instantly at post-processing<br />
*New functionality added to "Consolidate" tool for converting special transform objects to generic solid, surface or curve objects <br />
*Improved "Random Group (Cloud)" tool for more efficient Monte Carlo simulations<br />
*New capability added to "Roughen" tool for converting random roughened surfaces or objects to Polymesh objects for the purpose of freezing or export <br />
*New expanded graph controls for Matlab-style 2D and 3D plot types<br />
*New option to enable/disable 3D visualization of far-field data during sweep simulations<br />
*New option for arbitrary translation and scaling of 3D radiation and RCS patterns in the scene<br />
*Enhanced array factor with phase progression for the radiation pattern observable associated with a single radiating element<br />
<br />
=== New Python Capabilities ===<br />
<br />
*New startup Python script<br />
*New Python commands for project and file management<br />
*New Python commands for getting and setting individual properties of geometric objects <br />
*New Python commands for accessing individual objects from the navigation tree<br />
*New Python commands for identifying and accessing material groups and their object members in the navigation tree <br />
*New Python commands for getting the coordinates of nodes of a nodal curve<br />
*New Python command for aligning one of the six faces of the bounding box of an object at a certain coordinate<br />
*New Python commands for retrieving the value of a standard or custom output parameter<br />
*New Python command for setting the boundary conditions of [[EM.Ferma]]<br />
*New Python command for setting up a thermal simulation in [[EM.Ferma]]<br />
*New Python commands for defining all the 18 types of field integrals in [[EM.Ferma]]<br />
*New Python command for creating generic spatial Cartesian data in CubeCAD, [[EM.Tempo]] and [[EM.Ferma]]<br />
*New Python functions for translating, rotating, scaling, aligning and mirroring all the objects in the project workspace<br />
*New Python function for rotating a radiation pattern<br />
*New Python function for computing the radiation pattern of a generalized 3D array<br />
*New Python function for generating the radiation pattern of a Huygens surface data file<br />
*New Python functions for summing, differencing and scaling of .RAD, .RCS, .SEN, .CAR, .HUY and .COV data files<br />
*New Python functions for averaging a set of radiation pattern, RCS or received power coverage data files<br />
*New Python function for extracting a portion of a field sensor or a Cartesian data file<br />
*New Python function for generating a Touchstone file from S-parameter data files<br />
*Improved surrogate model generation based on the high-dimensional model representation (HDMR) technique and association with Python functions of the same name<br />
*Improved Python script for sweeping a Python function or a surrogate model with cubic spline interpolation <br />
*Improved Python script for genetic algorithm (GA) optimization of a Python function or a surrogate model <br />
*Improved Python script for Monte Carlo simulation of a Python function or a surrogate model and generation of probability density functions (PDF) based on Gaussian kernel density estimation (KDE)<br />
<br />
=== Integration with NeoScan Field Measurement System ===<br />
<br />
*Automated export of [[NeoScan]] field measurement data to [[EM.Cube]]<br />
*Automated near-to-far-field transformation of the near-field data for computation of 3D radiation patterns <br />
*Automated computation of antenna gain and radiation efficiency<br />
*Automated generation of equivalent Huygens sources from measured near-field data <br />
*Matlab-style visualization of measured output signal power in dBm corresponding to individual-component and total field maps <br />
<br />
<br /><br />
<br />
<hr><br />
<br />
[[Image:Top_icon.png|30px]] '''[[#EM.Cube R18.1 Release At A Glance | Back to the Top of the Page]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/What%27s_New_in_EM.Cube_R20.1%3FWhat's New in EM.Cube R20.1?2020-03-30T19:19:31Z<p>Kazem Sabet: </p>
<hr />
<div>[[Image:Splash-generic2.jpg|right|720px]]<br />
<strong><font color="#07417e" size="4">MODULAR 3D ELECTROMAGNETIC SIMULATION SUITE <br /></font></strong><br />
<strong><font color="#707983" size="4">&nbsp; &nbsp; &nbsp; THAT GROWS WITH YOUR MODELING NEEDS</font></strong><br />
<table><br />
<tr><br />
<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:prop-ico.png | link=EM.Terrano]] [[image:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]] </td><br />
<tr><br />
</table><br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''<br />
<br />
=== EM.Cube R20.1 Release At A Glance ===<br />
<br />
The new [[EM.Cube]] R20.1 release is the most powerful electromagnetic simulation suite EMAG Technologies Inc. has ever produced in its history of more than two decades. The new release offers a combination of state-of-the-art simulation capabilities that reflect the latest advances in computational electromagnetics (CEM) as well as productivity features requested by our valued users.<br />
<br />
=== New EM.Tempo (FDTD) Features ===<br />
<br />
*New source arrays of lumped, waveguide, microstrip, CPW and coaxial types with phased array and AESA capability including classic weight distribution types (One-Parameter Taylor-Kaiser, Taylor N-bar, Bayliss N-bar, etc.) and user-defined complex weights<br />
*New plots of material parameters vs. frequency for dispersive and gyrotropic material types <br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable <br />
*Improved radiation pattern and RCS observables with partial elevation and azimuth angle definitions<br />
*Improved array factor definition for the radiation pattern observable with user defined amplitude and phase distribution including classic weight distribution types (One-Parameter Taylor-Kaiser, Taylor N-bar, Bayliss N-bar, etc.) and user-defined complex weights<br />
*Improved antenna wizards with fast ports acceleration<br />
<br />
=== New EM.Terrano (Ray Tracing) Features ===<br />
<br />
*Improved ray angular resolution for SBR simulation of large propagation scenes<br />
*New 2D long-haul channel analyzer incorporating spherical earth, knife edge diffraction, rough surface diffusion and atmospheric effects<br />
*New 2D terrain profiler with smoothing filters<br />
*Streamlined handling of multi-transmitter scenarios<br />
*New phased array and AESA capability in multi-transmitter and multi-receiver scenarios including classic weight distribution types (One-Parameter Taylor-Kaiser, Taylor N-bar, Bayliss N-bar, etc.) and user-defined complex weights<br />
*New analog modulation schemes and improved digital waveform capability<br />
*New link margin analysis for both analog and digital modulation schemes<br />
*Definition of connectivity maps based on link margin<br />
*New plane wave source for 3D Field Solver <br />
*New far-field observables for 3D Field Solver including radiation pattern, bistatic and monostatic RCS and polarimetric scattering matrix sweep based on equivalent Huygens surface integration<br />
*Improved radar link solver with a new radar-target positional sweep mode<br />
*Improved scatterer sets with options of spherical targets and imported polarimetric scattering matrix files<br />
*New parameterized PEC and dielectric spherical targets with analytical Mie solutions<br />
*Improved ray visualization of transmitter sweep results<br />
*Improved rotational sweep with simultaneous rotation of transmit and receive antennas <br />
*Improved mobile sweep with varying Eulerian rotation angles of both transmitter and receiver nodes <br />
*New communication link calculator tool<br />
*New radar link calculator tool<br />
*Import of DTED0, DTED1 and DTED2 terrain models<br />
*New Terrain Manager utility with quick view and statistical report capability for importing, cropping, rescaling and repositioning terrain models <br />
*New longitude-latitude (LL) coordinates in the Status Bar and new Python functions for setting and getting the origin’s LL coordinates<br />
*Improved standard atmosphere model<br />
*New non-standard atmosphere models including piecewise linear modified refractivity profiles with one or two break points as well as more general user-defined non-standard M-profiles in the form of piecewise cubic polynomial functions of height<br />
*Analysis of atmospheric propagation through surface and elevated ducts<br />
*New ground database generator for defining the material properties of the earth’s surface using elevation-based or land use map-based classification schemes<br />
*Improved random city, office building, and basic link wizards<br />
*Improved mobile path wizard with new options for monostatic radar and target nodes and template for user-defined cartesian-file-based paths<br />
*New sea surface wizard with different sea states and Douglas and Beaufort scales <br />
*New basic radar wizard<br />
*New Python function for DEM and DTED import <br />
*New Python function for calculating the maximum and RMS height of the terrain <br />
*New Python function for setting the RMS height of rough Earth surface<br />
<br />
=== New EM.Picasso (Planar MoM) Features ===<br />
<br />
*Improved planar mesh generation for structures with vertical vias of irregular shape and arrays of via objects <br />
*New capability of handling edge vias and short thin vertical walls (fins) <br />
<br />
=== New EM.Illumina (Physical Optics) Features ===<br />
<br />
*New improved formulation of lossy dielectric surfaces and dielectric-coated PEC objects based on the method of equivalent current approximation (MECA)<br />
*New Gaussian beam sources<br />
*Huygens source arrays with amplitude and phase distribution<br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable<br />
<br />
=== New Miscellaneous CubeCAD Features ===<br />
<br />
*Expanded material list with mechanical and thermal properties<br />
*New list of available standard output parameters based on the project's observables<br />
*Improved and enhanced custom (user-defined) output parameters that can be updated instantly at post-processing<br />
*New functionality added to "Consolidate" tool for converting special transform objects to generic solid, surface or curve objects <br />
*Improved "Random Group (Cloud)" tool for more efficient Monte Carlo simulations<br />
*New capability added to "Roughen" tool for converting random roughened surfaces or objects to Polymesh objects for the purpose of freezing or export <br />
*New expanded graph controls for Matlab-style 2D and 3D plot types<br />
*New option to enable/disable 3D visualization of far-field data during sweep simulations<br />
*New option for arbitrary translation and scaling of 3D radiation and RCS patterns in the scene<br />
*Enhanced array factor with phase progression for the radiation pattern observable associated with a single radiating element<br />
<br />
=== New Python Capabilities ===<br />
<br />
*New startup Python script<br />
*New Python commands for project and file management<br />
*New Python commands for getting and setting individual properties of geometric objects <br />
*New Python commands for accessing individual objects from the navigation tree<br />
*New Python commands for identifying and accessing material groups and their object members in the navigation tree <br />
*New Python commands for getting the coordinates of nodes of a nodal curve<br />
*New Python command for aligning one of the six faces of the bounding box of an object at a certain coordinate<br />
*New Python commands for retrieving the value of a standard or custom output parameter<br />
*New Python command for setting the boundary conditions of [[EM.Ferma]]<br />
*New Python command for setting up a thermal simulation in [[EM.Ferma]]<br />
*New Python commands for defining all the 18 types of field integrals in [[EM.Ferma]]<br />
*New Python command for creating generic spatial Cartesian data in CubeCAD, [[EM.Tempo]] and [[EM.Ferma]]<br />
*New Python functions for translating, rotating, scaling, aligning and mirroring all the objects in the project workspace<br />
*New Python function for rotating a radiation pattern<br />
*New Python function for computing the radiation pattern of a generalized 3D array<br />
*New Python function for generating the radiation pattern of a Huygens surface data file<br />
*New Python functions for summing, differencing and scaling of .RAD, .RCS, .SEN, .CAR, .HUY and .COV data files<br />
*New Python functions for averaging a set of radiation pattern, RCS or received power coverage data files<br />
*New Python function for extracting a portion of a field sensor or a Cartesian data file<br />
*New Python function for generating a Touchstone file from S-parameter data files<br />
*Improved surrogate model generation based on the high-dimensional model representation (HDMR) technique and association with Python functions of the same name<br />
*Improved Python script for sweeping a Python function or a surrogate model with cubic spline interpolation <br />
*Improved Python script for genetic algorithm (GA) optimization of a Python function or a surrogate model <br />
*Improved Python script for Monte Carlo simulation of a Python function or a surrogate model and generation of probability density functions (PDF) based on Gaussian kernel density estimation (KDE)<br />
<br />
=== Integration with NeoScan Field Measurement System ===<br />
<br />
*Automated export of [[NeoScan]] field measurement data to [[EM.Cube]]<br />
*Automated near-to-far-field transformation of the near-field data for computation of 3D radiation patterns <br />
*Automated computation of antenna gain and radiation efficiency<br />
*Automated generation of equivalent Huygens sources from measured near-field data <br />
*Matlab-style visualization of measured output signal power in dBm corresponding to individual-component and total field maps <br />
<br />
<br /><br />
<br />
<hr><br />
<br />
[[Image:Top_icon.png|30px]] '''[[#EM.Cube R18.1 Release At A Glance | Back to the Top of the Page]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/What%27s_New_in_EM.Cube_R20.1%3FWhat's New in EM.Cube R20.1?2020-03-30T19:18:49Z<p>Kazem Sabet: /* New EM.Terrano (Ray Tracing) Features */</p>
<hr />
<div>[[Image:Splash-generic2.jpg|right|720px]]<br />
<strong><font color="#07417e" size="4">MODULAR 3D ELECTROMAGNETIC SIMULATION SUITE <br /></font></strong><br />
<strong><font color="#707983" size="4">&nbsp; &nbsp; &nbsp; THAT GROWS WITH YOUR MODELING NEEDS</font></strong><br />
<table><br />
<tr><br />
<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:prop-ico.png | link=EM.Terrano]] [[image:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]] </td><br />
<tr><br />
</table><br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''<br />
<br />
=== EM.Cube R20.1 Release At A Glance ===<br />
<br />
The new [[EM.Cube]] R20.1 release is the most powerful electromagnetic simulation suite EMAG Technologies Inc. has ever produced in its history of more than two decades. The new release offers a combination of state-of-the-art simulation capabilities that reflect the latest advances in computational electromagnetics (CEM) as well as productivity features requested by our valued users.<br />
<br />
=== New EM.Tempo (FDTD) Features ===<br />
<br />
*New source arrays of lumped, waveguide, microstrip, CPW and coaxial types with phased array and AESA capability including classic weight distribution types (One-Parameter Taylor-Kaiser, Taylor N-bar, Bayliss N-bar, etc.) and user-defined complex weights<br />
*New plots of material parameters vs. frequency for dispersive and gyrotropic material types <br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable <br />
*Improved radiation pattern and RCS observables with partial elevation and azimuth angle definitions<br />
*Improved array factor definition for the radiation pattern observable with user defined amplitude and phase distribution including classic weight distribution types (One-Parameter Taylor-Kaiser, Taylor N-bar, Bayliss N-bar, etc.) and user-defined complex weights<br />
*Improved antenna wizards with fast ports acceleration<br />
<br />
=== New EM.Terrano (Ray Tracing) Features ===<br />
<br />
*Improved ray angular resolution for SBR simulation of large propagation scenes<br />
*New 2D long-haul channel analyzer incorporating spherical earth, knife edge diffraction, rough surface diffusion and atmospheric effects<br />
*New 2D terrain profiler with smoothing filters<br />
*Streamlined handling of multi-transmitter scenarios<br />
*New phased array and AESA capability in multi-transmitter and multi-receiver scenarios including classic weight distribution types (One-Parameter Taylor-Kaiser, Taylor N-bar, Bayliss N-bar, etc.) and user-defined complex weights<br />
*New analog modulation schemes and improved digital waveform capability<br />
*New link margin analysis for both analog and digital modulation schemes<br />
*Definition of connectivity maps based on link margin<br />
*New plane wave source for 3D Field Solver <br />
*New far-field observables for 3D Field Solver including radiation pattern, bistatic and monostatic RCS and polarimetric scattering matrix sweep based on equivalent Huygens surface integration<br />
*Improved radar link solver with a new radar-target positional sweep mode<br />
*Improved scatterer sets with options of spherical targets and imported polarimetric scattering matrix files<br />
*New parameterized PEC and dielectric spherical targets with analytical Mie solutions<br />
*Improved ray visualization of transmitter sweep results<br />
*Improved rotational sweep with simultaneous rotation of transmit and receive antennas <br />
*Improved mobile sweep with varying Eulerian rotation angles of both transmitter and receiver nodes <br />
*New communication link calculator tool<br />
*New radar link calculator tool<br />
*Import of DTED0, DTED1 and DTED2 terrain models<br />
*New Terrain Manager utility with quick view and statistical report capability for importing, cropping, rescaling and repositioning terrain models <br />
*New longitude-latitude (LL) coordinates in the Status Bar and new Python functions for setting and getting the origin’s LL coordinates<br />
*Improved standard atmosphere model<br />
*New non-standard atmosphere models including piecewise linear modified refractivity profiles with one or two break points as well as more general user-defined non-standard M-profiles in the form of piecewise cubic polynomial functions of height<br />
*Analysis of atmospheric propagation through surface and elevated ducts<br />
*New ground database generator for defining the material properties of the earth’s surface using elevation-based or land use map-based classification schemes<br />
*Improved random city, office building, and basic link wizards<br />
*Improved mobile path wizard with new options for monostatic radar and target nodes and template for user-defined cartesian-file-based paths<br />
*New sea surface wizard with different sea states and Douglas and Beaufort scales <br />
*New basic radar wizard<br />
*New Python function for DEM and DTED import <br />
*New Python function for calculating the maximum and RMS height of the terrain <br />
*New Python function for setting the RMS height of rough Earth surface<br />
<br />
=== New EM.Ferma (Static) Features ===<br />
<br />
=== New EM.Picasso (Planar MoM) Features ===<br />
<br />
*Improved planar mesh generation for structures with vertical vias of irregular shape and arrays of via objects <br />
*New capability of handling edge vias and short thin vertical walls (fins) <br />
<br />
=== New EM.Illumina (Physical Optics) Features ===<br />
<br />
*New improved formulation of lossy dielectric surfaces and dielectric-coated PEC objects based on the method of equivalent current approximation (MECA)<br />
*New Gaussian beam sources<br />
*Huygens source arrays with amplitude and phase distribution<br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable<br />
<br />
=== New Miscellaneous CubeCAD Features ===<br />
<br />
*Expanded material list with mechanical and thermal properties<br />
*New list of available standard output parameters based on the project's observables<br />
*Improved and enhanced custom (user-defined) output parameters that can be updated instantly at post-processing<br />
*New functionality added to "Consolidate" tool for converting special transform objects to generic solid, surface or curve objects <br />
*Improved "Random Group (Cloud)" tool for more efficient Monte Carlo simulations<br />
*New capability added to "Roughen" tool for converting random roughened surfaces or objects to Polymesh objects for the purpose of freezing or export <br />
*New expanded graph controls for Matlab-style 2D and 3D plot types<br />
*New option to enable/disable 3D visualization of far-field data during sweep simulations<br />
*New option for arbitrary translation and scaling of 3D radiation and RCS patterns in the scene<br />
*Enhanced array factor with phase progression for the radiation pattern observable associated with a single radiating element<br />
<br />
=== New Python Capabilities ===<br />
<br />
*New startup Python script<br />
*New Python commands for project and file management<br />
*New Python commands for getting and setting individual properties of geometric objects <br />
*New Python commands for accessing individual objects from the navigation tree<br />
*New Python commands for identifying and accessing material groups and their object members in the navigation tree <br />
*New Python commands for getting the coordinates of nodes of a nodal curve<br />
*New Python command for aligning one of the six faces of the bounding box of an object at a certain coordinate<br />
*New Python commands for retrieving the value of a standard or custom output parameter<br />
*New Python command for setting the boundary conditions of [[EM.Ferma]]<br />
*New Python command for setting up a thermal simulation in [[EM.Ferma]]<br />
*New Python commands for defining all the 18 types of field integrals in [[EM.Ferma]]<br />
*New Python command for creating generic spatial Cartesian data in CubeCAD, [[EM.Tempo]] and [[EM.Ferma]]<br />
*New Python functions for translating, rotating, scaling, aligning and mirroring all the objects in the project workspace<br />
*New Python function for rotating a radiation pattern<br />
*New Python function for computing the radiation pattern of a generalized 3D array<br />
*New Python function for generating the radiation pattern of a Huygens surface data file<br />
*New Python functions for summing, differencing and scaling of .RAD, .RCS, .SEN, .CAR, .HUY and .COV data files<br />
*New Python functions for averaging a set of radiation pattern, RCS or received power coverage data files<br />
*New Python function for extracting a portion of a field sensor or a Cartesian data file<br />
*New Python function for generating a Touchstone file from S-parameter data files<br />
*Improved surrogate model generation based on the high-dimensional model representation (HDMR) technique and association with Python functions of the same name<br />
*Improved Python script for sweeping a Python function or a surrogate model with cubic spline interpolation <br />
*Improved Python script for genetic algorithm (GA) optimization of a Python function or a surrogate model <br />
*Improved Python script for Monte Carlo simulation of a Python function or a surrogate model and generation of probability density functions (PDF) based on Gaussian kernel density estimation (KDE)<br />
<br />
=== Integration with NeoScan Field Measurement System ===<br />
<br />
*Automated export of [[NeoScan]] field measurement data to [[EM.Cube]]<br />
*Automated near-to-far-field transformation of the near-field data for computation of 3D radiation patterns <br />
*Automated computation of antenna gain and radiation efficiency<br />
*Automated generation of equivalent Huygens sources from measured near-field data <br />
*Matlab-style visualization of measured output signal power in dBm corresponding to individual-component and total field maps <br />
<br />
<br /><br />
<br />
<hr><br />
<br />
[[Image:Top_icon.png|30px]] '''[[#EM.Cube R18.1 Release At A Glance | Back to the Top of the Page]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/What%27s_New_in_EM.Cube_R20.1%3FWhat's New in EM.Cube R20.1?2020-03-30T19:14:30Z<p>Kazem Sabet: </p>
<hr />
<div>[[Image:Splash-generic2.jpg|right|720px]]<br />
<strong><font color="#07417e" size="4">MODULAR 3D ELECTROMAGNETIC SIMULATION SUITE <br /></font></strong><br />
<strong><font color="#707983" size="4">&nbsp; &nbsp; &nbsp; THAT GROWS WITH YOUR MODELING NEEDS</font></strong><br />
<table><br />
<tr><br />
<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:prop-ico.png | link=EM.Terrano]] [[image:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]] </td><br />
<tr><br />
</table><br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''<br />
<br />
=== EM.Cube R20.1 Release At A Glance ===<br />
<br />
The new [[EM.Cube]] R20.1 release is the most powerful electromagnetic simulation suite EMAG Technologies Inc. has ever produced in its history of more than two decades. The new release offers a combination of state-of-the-art simulation capabilities that reflect the latest advances in computational electromagnetics (CEM) as well as productivity features requested by our valued users.<br />
<br />
=== New EM.Tempo (FDTD) Features ===<br />
<br />
*New source arrays of lumped, waveguide, microstrip, CPW and coaxial types with phased array and AESA capability including classic weight distribution types (One-Parameter Taylor-Kaiser, Taylor N-bar, Bayliss N-bar, etc.) and user-defined complex weights<br />
*New plots of material parameters vs. frequency for dispersive and gyrotropic material types <br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable <br />
*Improved radiation pattern and RCS observables with partial elevation and azimuth angle definitions<br />
*Improved array factor definition for the radiation pattern observable with user defined amplitude and phase distribution including classic weight distribution types (One-Parameter Taylor-Kaiser, Taylor N-bar, Bayliss N-bar, etc.) and user-defined complex weights<br />
*Improved antenna wizards with fast ports acceleration<br />
<br />
=== New EM.Terrano (Ray Tracing) Features ===<br />
<br />
*New plane wave source in the 3D SBR field solver<br />
*New far-field observables including radiation pattern and bistatic and monostatic RCS in the 3D SBR field solver based on equivalent Huygens surface integration<br />
*Improved ray angular resolution for SBR simulation of large propagation scenes in [[EM.Terrano]]<br />
*New 2D long-haul channel analyzer incorporating spherical earth, knife edge diffraction, rough surface diffusion and atmospheric effects<br />
*New 2D terrain profiler with terrain smoothing filters<br />
*New phased array capability at both transmitter and receiver nodes<br />
*Improved digital waveform capability including maximum bit error rate specification<br />
*Improved rotational sweep with simultaneous rotation of transmit and receive antennas using the polarimatrix solver<br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable<br />
*Improved random city, office building and basic link wizards<br />
<br />
=== New EM.Ferma (Static) Features ===<br />
<br />
=== New EM.Picasso (Planar MoM) Features ===<br />
<br />
*Improved planar mesh generation for structures with vertical vias of irregular shape and arrays of via objects <br />
*New capability of handling edge vias and short thin vertical walls (fins) <br />
<br />
=== New EM.Illumina (Physical Optics) Features ===<br />
<br />
*New improved formulation of lossy dielectric surfaces and dielectric-coated PEC objects based on the method of equivalent current approximation (MECA)<br />
*New Gaussian beam sources<br />
*Huygens source arrays with amplitude and phase distribution<br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable<br />
<br />
=== New Miscellaneous CubeCAD Features ===<br />
<br />
*Expanded material list with mechanical and thermal properties<br />
*New list of available standard output parameters based on the project's observables<br />
*Improved and enhanced custom (user-defined) output parameters that can be updated instantly at post-processing<br />
*New functionality added to "Consolidate" tool for converting special transform objects to generic solid, surface or curve objects <br />
*Improved "Random Group (Cloud)" tool for more efficient Monte Carlo simulations<br />
*New capability added to "Roughen" tool for converting random roughened surfaces or objects to Polymesh objects for the purpose of freezing or export <br />
*New expanded graph controls for Matlab-style 2D and 3D plot types<br />
*New option to enable/disable 3D visualization of far-field data during sweep simulations<br />
*New option for arbitrary translation and scaling of 3D radiation and RCS patterns in the scene<br />
*Enhanced array factor with phase progression for the radiation pattern observable associated with a single radiating element<br />
<br />
=== New Python Capabilities ===<br />
<br />
*New startup Python script<br />
*New Python commands for project and file management<br />
*New Python commands for getting and setting individual properties of geometric objects <br />
*New Python commands for accessing individual objects from the navigation tree<br />
*New Python commands for identifying and accessing material groups and their object members in the navigation tree <br />
*New Python commands for getting the coordinates of nodes of a nodal curve<br />
*New Python command for aligning one of the six faces of the bounding box of an object at a certain coordinate<br />
*New Python commands for retrieving the value of a standard or custom output parameter<br />
*New Python command for setting the boundary conditions of [[EM.Ferma]]<br />
*New Python command for setting up a thermal simulation in [[EM.Ferma]]<br />
*New Python commands for defining all the 18 types of field integrals in [[EM.Ferma]]<br />
*New Python command for creating generic spatial Cartesian data in CubeCAD, [[EM.Tempo]] and [[EM.Ferma]]<br />
*New Python functions for translating, rotating, scaling, aligning and mirroring all the objects in the project workspace<br />
*New Python function for rotating a radiation pattern<br />
*New Python function for computing the radiation pattern of a generalized 3D array<br />
*New Python function for generating the radiation pattern of a Huygens surface data file<br />
*New Python functions for summing, differencing and scaling of .RAD, .RCS, .SEN, .CAR, .HUY and .COV data files<br />
*New Python functions for averaging a set of radiation pattern, RCS or received power coverage data files<br />
*New Python function for extracting a portion of a field sensor or a Cartesian data file<br />
*New Python function for generating a Touchstone file from S-parameter data files<br />
*Improved surrogate model generation based on the high-dimensional model representation (HDMR) technique and association with Python functions of the same name<br />
*Improved Python script for sweeping a Python function or a surrogate model with cubic spline interpolation <br />
*Improved Python script for genetic algorithm (GA) optimization of a Python function or a surrogate model <br />
*Improved Python script for Monte Carlo simulation of a Python function or a surrogate model and generation of probability density functions (PDF) based on Gaussian kernel density estimation (KDE)<br />
<br />
=== Integration with NeoScan Field Measurement System ===<br />
<br />
*Automated export of [[NeoScan]] field measurement data to [[EM.Cube]]<br />
*Automated near-to-far-field transformation of the near-field data for computation of 3D radiation patterns <br />
*Automated computation of antenna gain and radiation efficiency<br />
*Automated generation of equivalent Huygens sources from measured near-field data <br />
*Matlab-style visualization of measured output signal power in dBm corresponding to individual-component and total field maps <br />
<br />
<br /><br />
<br />
<hr><br />
<br />
[[Image:Top_icon.png|30px]] '''[[#EM.Cube R18.1 Release At A Glance | Back to the Top of the Page]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/What%27s_New_in_EM.Cube_R20.1%3FWhat's New in EM.Cube R20.1?2020-03-30T19:12:09Z<p>Kazem Sabet: /* EM.Cube R19.1 Release At A Glance */</p>
<hr />
<div>[[Image:Splash-generic2.jpg|right|720px]]<br />
<strong><font color="#07417e" size="4">MODULAR 3D ELECTROMAGNETIC SIMULATION SUITE <br /></font></strong><br />
<strong><font color="#707983" size="4">&nbsp; &nbsp; &nbsp; THAT GROWS WITH YOUR MODELING NEEDS</font></strong><br />
<table><br />
<tr><br />
<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:prop-ico.png | link=EM.Terrano]] [[image:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]] </td><br />
<tr><br />
</table><br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''<br />
<br />
=== EM.Cube R20.1 Release At A Glance ===<br />
<br />
The new [[EM.Cube]] R20.1 release is the most powerful electromagnetic simulation suite EMAG Technologies Inc. has ever produced in its history of more than two decades. The new release offers a combination of state-of-the-art simulation capabilities that reflect the latest advances in computational electromagnetics (CEM) as well as productivity features requested by our valued users.<br />
<br />
=== New EM.Tempo (FDTD) Features ===<br />
<br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable <br />
*Improved antenna wizards with fast ports acceleration<br />
<br />
=== New EM.Terrano (Ray Tracing) Features ===<br />
<br />
*New plane wave source in the 3D SBR field solver<br />
*New far-field observables including radiation pattern and bistatic and monostatic RCS in the 3D SBR field solver based on equivalent Huygens surface integration<br />
*Improved ray angular resolution for SBR simulation of large propagation scenes in [[EM.Terrano]]<br />
*New 2D long-haul channel analyzer incorporating spherical earth, knife edge diffraction, rough surface diffusion and atmospheric effects<br />
*New 2D terrain profiler with terrain smoothing filters<br />
*New phased array capability at both transmitter and receiver nodes<br />
*Improved digital waveform capability including maximum bit error rate specification<br />
*Improved rotational sweep with simultaneous rotation of transmit and receive antennas using the polarimatrix solver<br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable<br />
*Improved random city, office building and basic link wizards<br />
<br />
=== New EM.Ferma (Static) Features ===<br />
<br />
=== New EM.Picasso (Planar MoM) Features ===<br />
<br />
*Improved planar mesh generation for structures with vertical vias of irregular shape and arrays of via objects <br />
*New capability of handling edge vias and short thin vertical walls (fins) <br />
<br />
=== New EM.Illumina (Physical Optics) Features ===<br />
<br />
*New improved formulation of lossy dielectric surfaces and dielectric-coated PEC objects based on the method of equivalent current approximation (MECA)<br />
*New Gaussian beam sources<br />
*Huygens source arrays with amplitude and phase distribution<br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable<br />
<br />
=== New Miscellaneous CubeCAD Features ===<br />
<br />
*Expanded material list with mechanical and thermal properties<br />
*New list of available standard output parameters based on the project's observables<br />
*Improved and enhanced custom (user-defined) output parameters that can be updated instantly at post-processing<br />
*New functionality added to "Consolidate" tool for converting special transform objects to generic solid, surface or curve objects <br />
*Improved "Random Group (Cloud)" tool for more efficient Monte Carlo simulations<br />
*New capability added to "Roughen" tool for converting random roughened surfaces or objects to Polymesh objects for the purpose of freezing or export <br />
*New expanded graph controls for Matlab-style 2D and 3D plot types<br />
*New option to enable/disable 3D visualization of far-field data during sweep simulations<br />
*New option for arbitrary translation and scaling of 3D radiation and RCS patterns in the scene<br />
*Enhanced array factor with phase progression for the radiation pattern observable associated with a single radiating element<br />
<br />
=== New Python Capabilities ===<br />
<br />
*New startup Python script<br />
*New Python commands for project and file management<br />
*New Python commands for getting and setting individual properties of geometric objects <br />
*New Python commands for accessing individual objects from the navigation tree<br />
*New Python commands for identifying and accessing material groups and their object members in the navigation tree <br />
*New Python commands for getting the coordinates of nodes of a nodal curve<br />
*New Python command for aligning one of the six faces of the bounding box of an object at a certain coordinate<br />
*New Python commands for retrieving the value of a standard or custom output parameter<br />
*New Python command for setting the boundary conditions of [[EM.Ferma]]<br />
*New Python command for setting up a thermal simulation in [[EM.Ferma]]<br />
*New Python commands for defining all the 18 types of field integrals in [[EM.Ferma]]<br />
*New Python command for creating generic spatial Cartesian data in CubeCAD, [[EM.Tempo]] and [[EM.Ferma]]<br />
*New Python functions for translating, rotating, scaling, aligning and mirroring all the objects in the project workspace<br />
*New Python function for rotating a radiation pattern<br />
*New Python function for computing the radiation pattern of a generalized 3D array<br />
*New Python function for generating the radiation pattern of a Huygens surface data file<br />
*New Python functions for summing, differencing and scaling of .RAD, .RCS, .SEN, .CAR, .HUY and .COV data files<br />
*New Python functions for averaging a set of radiation pattern, RCS or received power coverage data files<br />
*New Python function for extracting a portion of a field sensor or a Cartesian data file<br />
*New Python function for generating a Touchstone file from S-parameter data files<br />
*Improved surrogate model generation based on the high-dimensional model representation (HDMR) technique and association with Python functions of the same name<br />
*Improved Python script for sweeping a Python function or a surrogate model with cubic spline interpolation <br />
*Improved Python script for genetic algorithm (GA) optimization of a Python function or a surrogate model <br />
*Improved Python script for Monte Carlo simulation of a Python function or a surrogate model and generation of probability density functions (PDF) based on Gaussian kernel density estimation (KDE)<br />
<br />
=== Integration with NeoScan Field Measurement System ===<br />
<br />
*Automated export of [[NeoScan]] field measurement data to [[EM.Cube]]<br />
*Automated near-to-far-field transformation of the near-field data for computation of 3D radiation patterns <br />
*Automated computation of antenna gain and radiation efficiency<br />
*Automated generation of equivalent Huygens sources from measured near-field data <br />
*Matlab-style visualization of measured output signal power in dBm corresponding to individual-component and total field maps <br />
<br />
<br /><br />
<br />
<hr><br />
<br />
[[Image:Top_icon.png|30px]] '''[[#EM.Cube R18.1 Release At A Glance | Back to the Top of the Page]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/What%27s_New_in_EM.Cube_R20.1%3FWhat's New in EM.Cube R20.1?2020-03-30T18:05:54Z<p>Kazem Sabet: Created page with "720px <strong><font color="#07417e" size="4">MODULAR 3D ELECTROMAGNETIC SIMULATION SUITE <br /></font></strong> <strong><font color="#70798..."</p>
<hr />
<div>[[Image:Splash-generic2.jpg|right|720px]]<br />
<strong><font color="#07417e" size="4">MODULAR 3D ELECTROMAGNETIC SIMULATION SUITE <br /></font></strong><br />
<strong><font color="#707983" size="4">&nbsp; &nbsp; &nbsp; THAT GROWS WITH YOUR MODELING NEEDS</font></strong><br />
<table><br />
<tr><br />
<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:prop-ico.png | link=EM.Terrano]] [[image:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]] </td><br />
<tr><br />
</table><br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''<br />
<br />
=== EM.Cube R19.1 Release At A Glance ===<br />
<br />
The new [[EM.Cube]] R19.1 release is the most powerful electromagnetic simulation suite EMAG Technologies Inc. has ever produced in its history of more than two decades. The new release offers a combination of state-of-the-art simulation capabilities that reflect the latest advances in computational electromagnetics (CEM) as well as productivity features requested by our valued users.<br />
<br />
=== New EM.Tempo (FDTD) Features ===<br />
<br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable <br />
*Improved antenna wizards with fast ports acceleration<br />
<br />
=== New EM.Terrano (Ray Tracing) Features ===<br />
<br />
*New plane wave source in the 3D SBR field solver<br />
*New far-field observables including radiation pattern and bistatic and monostatic RCS in the 3D SBR field solver based on equivalent Huygens surface integration<br />
*Improved ray angular resolution for SBR simulation of large propagation scenes in [[EM.Terrano]]<br />
*New 2D long-haul channel analyzer incorporating spherical earth, knife edge diffraction, rough surface diffusion and atmospheric effects<br />
*New 2D terrain profiler with terrain smoothing filters<br />
*New phased array capability at both transmitter and receiver nodes<br />
*Improved digital waveform capability including maximum bit error rate specification<br />
*Improved rotational sweep with simultaneous rotation of transmit and receive antennas using the polarimatrix solver<br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable<br />
*Improved random city, office building and basic link wizards<br />
<br />
=== New EM.Ferma (Static) Features ===<br />
<br />
=== New EM.Picasso (Planar MoM) Features ===<br />
<br />
*Improved planar mesh generation for structures with vertical vias of irregular shape and arrays of via objects <br />
*New capability of handling edge vias and short thin vertical walls (fins) <br />
<br />
=== New EM.Illumina (Physical Optics) Features ===<br />
<br />
*New improved formulation of lossy dielectric surfaces and dielectric-coated PEC objects based on the method of equivalent current approximation (MECA)<br />
*New Gaussian beam sources<br />
*Huygens source arrays with amplitude and phase distribution<br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable<br />
<br />
=== New Miscellaneous CubeCAD Features ===<br />
<br />
*Expanded material list with mechanical and thermal properties<br />
*New list of available standard output parameters based on the project's observables<br />
*Improved and enhanced custom (user-defined) output parameters that can be updated instantly at post-processing<br />
*New functionality added to "Consolidate" tool for converting special transform objects to generic solid, surface or curve objects <br />
*Improved "Random Group (Cloud)" tool for more efficient Monte Carlo simulations<br />
*New capability added to "Roughen" tool for converting random roughened surfaces or objects to Polymesh objects for the purpose of freezing or export <br />
*New expanded graph controls for Matlab-style 2D and 3D plot types<br />
*New option to enable/disable 3D visualization of far-field data during sweep simulations<br />
*New option for arbitrary translation and scaling of 3D radiation and RCS patterns in the scene<br />
*Enhanced array factor with phase progression for the radiation pattern observable associated with a single radiating element<br />
<br />
=== New Python Capabilities ===<br />
<br />
*New startup Python script<br />
*New Python commands for project and file management<br />
*New Python commands for getting and setting individual properties of geometric objects <br />
*New Python commands for accessing individual objects from the navigation tree<br />
*New Python commands for identifying and accessing material groups and their object members in the navigation tree <br />
*New Python commands for getting the coordinates of nodes of a nodal curve<br />
*New Python command for aligning one of the six faces of the bounding box of an object at a certain coordinate<br />
*New Python commands for retrieving the value of a standard or custom output parameter<br />
*New Python command for setting the boundary conditions of [[EM.Ferma]]<br />
*New Python command for setting up a thermal simulation in [[EM.Ferma]]<br />
*New Python commands for defining all the 18 types of field integrals in [[EM.Ferma]]<br />
*New Python command for creating generic spatial Cartesian data in CubeCAD, [[EM.Tempo]] and [[EM.Ferma]]<br />
*New Python functions for translating, rotating, scaling, aligning and mirroring all the objects in the project workspace<br />
*New Python function for rotating a radiation pattern<br />
*New Python function for computing the radiation pattern of a generalized 3D array<br />
*New Python function for generating the radiation pattern of a Huygens surface data file<br />
*New Python functions for summing, differencing and scaling of .RAD, .RCS, .SEN, .CAR, .HUY and .COV data files<br />
*New Python functions for averaging a set of radiation pattern, RCS or received power coverage data files<br />
*New Python function for extracting a portion of a field sensor or a Cartesian data file<br />
*New Python function for generating a Touchstone file from S-parameter data files<br />
*Improved surrogate model generation based on the high-dimensional model representation (HDMR) technique and association with Python functions of the same name<br />
*Improved Python script for sweeping a Python function or a surrogate model with cubic spline interpolation <br />
*Improved Python script for genetic algorithm (GA) optimization of a Python function or a surrogate model <br />
*Improved Python script for Monte Carlo simulation of a Python function or a surrogate model and generation of probability density functions (PDF) based on Gaussian kernel density estimation (KDE)<br />
<br />
=== Integration with NeoScan Field Measurement System ===<br />
<br />
*Automated export of [[NeoScan]] field measurement data to [[EM.Cube]]<br />
*Automated near-to-far-field transformation of the near-field data for computation of 3D radiation patterns <br />
*Automated computation of antenna gain and radiation efficiency<br />
*Automated generation of equivalent Huygens sources from measured near-field data <br />
*Matlab-style visualization of measured output signal power in dBm corresponding to individual-component and total field maps <br />
<br />
<br /><br />
<br />
<hr><br />
<br />
[[Image:Top_icon.png|30px]] '''[[#EM.Cube R18.1 Release At A Glance | Back to the Top of the Page]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/New_TutorialsNew Tutorials2020-03-30T16:18:54Z<p>Kazem Sabet: </p>
<hr />
<div>== EM.Cube Tutorials ==<br />
<br />
Each tutorial lesson listed below walks you through the basic features of one of [[EM.Cube]]'s computational modules:<br />
<br />
----------------------------------------------------------------------------------------<br />
<br />
These are the new pages added or modified for [[EM.Cube]] Release R17:<br />
<br />
<br />
[[New PO Theory]]<br />
<br />
<br />
[[What's New in EM.Cube R19.1]]<br />
<br />
<br />
[[OLD What's New in EM.Cube R18.1?]]<br />
<br />
<br />
[[What's New in EM.Cube R20.1?]]<br />
<br />
<br />
<br />
<br />
<br />
[[EM.Terrano Tutorial Lesson 4: Analyzing Indoor Propagation Inside a Building Model with Penetrable Walls]]<br />
<br />
[[EM.Terrano Tutorial Lesson 9: A SBR Channel Analysis of An Urban Scene]]<br />
<br />
[[EM.Terrano Tutorial Lesson 10: Modeling A Mobile Communications Link]]<br />
<br />
<br />
----------------------------------------------------------------------------------------<br />
<br />
<br />
These are the old [[EM.Cube]] documentation pages:<br />
<br />
<br />
[[The Old EM.Cube Wiki Start Page]]<br />
<br />
[[THE OLD Getting Started with EM.Cube]]<br />
<br />
[[THE OLD What's New in EM.Cube 2016?]]<br />
<br />
[[THE OLD Defining Simulation Observables & Visualizing Output Data]]<br />
<br />
<br />
<br />
<br />
---------------------------------<br />
<br />
<br />
[[V&V Article 6: Using EM.Cube And NeoScan System Together For Antenna Design]]<br />
<br />
<br />
[[Installing EM.Cube]]<br />
<br />
[[EM.Cube FAQ]]<br />
<br />
<br />
----------------------------------------------------------------------------------------<br />
<br />
<br />
These are all old stuff:<br />
<br />
<br />
[[NeoScan_Complete]]<br />
<br />
[[NeoScan Manuals]]<br />
<br />
[[NeoScan Manual Part A: Getting Started]]<br />
<br />
<br />
<br />
<table><br />
<tr><br />
<td><br />
{|class="wikitable"<br />
|-<br />
! [[EM.Cube]] <br />
|-<br />
|[[File:emcubePAGE.png |225px | link=EM.Cube]] <br />
|-<br />
|}<br />
</td><br />
<td> &nbsp; </td><br />
<td><br />
{|class="wikitable"<br />
|-<br />
! [[RF.Spice A/D | RF.Spice A/D]] <br />
|-<br />
| [[File:RfspicePAGE New.png |277px | link=RF.Spice A/D | RF.Spice A/D]] <br />
|-<br />
|}<br />
</td><br />
<td> &nbsp; </td><br />
<td><br />
{|class="wikitable"<br />
|-<br />
! [[RF.Spice A/D | B2.Spice A/D]] <br />
|-<br />
| [[File:B2spicePAGE.png |226px | link=RF.Spice A/D | B2.Spice A/D]] <br />
|-<br />
|}<br />
</td><br />
<td> &nbsp; </td><br />
<td><br />
{|class="wikitable"<br />
|-<br />
! [[NeoScan | NeoScan]] <br />
|-<br />
| [[File:NeoScan_Product.png |245px | link=NeoScan | NeoScan ]] <br />
|-<br />
|}<br />
</td><br />
</tr><br />
</table><br />
<br />
<br />
<br />
----<br />
<br />
<br />
[[Old Gateway]]<br />
<br />
[[Old EM.Cube Page]]<br />
<br />
[[Old Digital Glossary]]<br />
<br />
<br />
<br />
----<br />
<br />
<br />
<br />
[[Image:Back_icon.png|40px]] '''[[Main_Page | Back to Emagtech Wiki Gateway]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/New_TutorialsNew Tutorials2020-03-30T16:15:56Z<p>Kazem Sabet: </p>
<hr />
<div>== EM.Cube Tutorials ==<br />
<br />
Each tutorial lesson listed below walks you through the basic features of one of [[EM.Cube]]'s computational modules:<br />
<br />
----------------------------------------------------------------------------------------<br />
<br />
These are the new pages added or modified for [[EM.Cube]] Release R17:<br />
<br />
<br />
[[New PO Theory]]<br />
<br />
<br />
[[What's New in EM.Cube R19.1]]<br />
<br />
<br />
[[EM.Terrano Tutorial Lesson 4: Analyzing Indoor Propagation Inside a Building Model with Penetrable Walls]]<br />
<br />
[[EM.Terrano Tutorial Lesson 9: A SBR Channel Analysis of An Urban Scene]]<br />
<br />
[[EM.Terrano Tutorial Lesson 10: Modeling A Mobile Communications Link]]<br />
<br />
<br />
----------------------------------------------------------------------------------------<br />
<br />
<br />
These are the old [[EM.Cube]] documentation pages:<br />
<br />
<br />
[[The Old EM.Cube Wiki Start Page]]<br />
<br />
[[THE OLD Getting Started with EM.Cube]]<br />
<br />
[[THE OLD What's New in EM.Cube 2016?]]<br />
<br />
[[THE OLD Defining Simulation Observables & Visualizing Output Data]]<br />
<br />
<br />
<br />
<br />
---------------------------------<br />
<br />
<br />
[[V&V Article 6: Using EM.Cube And NeoScan System Together For Antenna Design]]<br />
<br />
<br />
[[Installing EM.Cube]]<br />
<br />
[[EM.Cube FAQ]]<br />
<br />
<br />
----------------------------------------------------------------------------------------<br />
<br />
<br />
These are all old stuff:<br />
<br />
<br />
[[NeoScan_Complete]]<br />
<br />
[[NeoScan Manuals]]<br />
<br />
[[NeoScan Manual Part A: Getting Started]]<br />
<br />
<br />
<br />
<br />
[[OLD What's New in EM.Cube R18.1?]]<br />
<br />
<br />
<br />
<table><br />
<tr><br />
<td><br />
{|class="wikitable"<br />
|-<br />
! [[EM.Cube]] <br />
|-<br />
|[[File:emcubePAGE.png |225px | link=EM.Cube]] <br />
|-<br />
|}<br />
</td><br />
<td> &nbsp; </td><br />
<td><br />
{|class="wikitable"<br />
|-<br />
! [[RF.Spice A/D | RF.Spice A/D]] <br />
|-<br />
| [[File:RfspicePAGE New.png |277px | link=RF.Spice A/D | RF.Spice A/D]] <br />
|-<br />
|}<br />
</td><br />
<td> &nbsp; </td><br />
<td><br />
{|class="wikitable"<br />
|-<br />
! [[RF.Spice A/D | B2.Spice A/D]] <br />
|-<br />
| [[File:B2spicePAGE.png |226px | link=RF.Spice A/D | B2.Spice A/D]] <br />
|-<br />
|}<br />
</td><br />
<td> &nbsp; </td><br />
<td><br />
{|class="wikitable"<br />
|-<br />
! [[NeoScan | NeoScan]] <br />
|-<br />
| [[File:NeoScan_Product.png |245px | link=NeoScan | NeoScan ]] <br />
|-<br />
|}<br />
</td><br />
</tr><br />
</table><br />
<br />
<br />
<br />
----<br />
<br />
<br />
[[Old Gateway]]<br />
<br />
[[Old EM.Cube Page]]<br />
<br />
[[Old Digital Glossary]]<br />
<br />
<br />
<br />
----<br />
<br />
<br />
<br />
[[Image:Back_icon.png|40px]] '''[[Main_Page | Back to Emagtech Wiki Gateway]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/OLD_What%27s_New_in_EM.Cube_R18.1%3FOLD What's New in EM.Cube R18.1?2020-03-30T16:13:53Z<p>Kazem Sabet: Created page with "720px <strong><font color="#07417e" size="4">MODULAR 3D ELECTROMAGNETIC SIMULATION SUITE <br /></font></strong> <strong><font color="#70798..."</p>
<hr />
<div>[[Image:Splash-generic2.jpg|right|720px]]<br />
<strong><font color="#07417e" size="4">MODULAR 3D ELECTROMAGNETIC SIMULATION SUITE <br /></font></strong><br />
<strong><font color="#707983" size="4">&nbsp; &nbsp; &nbsp; THAT GROWS WITH YOUR MODELING NEEDS</font></strong><br />
<table><br />
<tr><br />
<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:prop-ico.png | link=EM.Terrano]] [[image:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]] </td><br />
<tr><br />
</table><br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''<br />
<br />
=== EM.Cube R18.1 Release At A Glance ===<br />
<br />
The new [[EM.Cube]] R18.1 release is the most powerful electromagnetic simulation suite EMAG Technologies Inc. has ever produced in its history of more than two decades. The new release offers a combination of state-of-the-art simulation capabilities that reflect the latest advances in computational electromagnetics (CEM) as well as productivity features requested by our valued users.<br />
<br />
=== New EM.Tempo (FDTD) Features ===<br />
<br />
*New gyrotropic materials including biased ferrites and magnetoplasmas<br />
*Conversion of Drude conductors to equivalent isotropic plasmas <br />
*New inhomogeneous dielectric material properties defined as mathematical or Python expressions/functions of 3D spatial coordinates (x,y,z)<br />
*New streamlined way of defining voxel-based dielectric materials using a Python function for retrieving data from a 3D Cartesian (voxel) database<br />
*New arbitrarily oriented Hertzian short dipole sources compatible with [[EM.Cube]]'s other computational modules <br />
*Import of wire current solutions from [[EM.Libera]] as a set of Hertzian short dipole sources<br />
*New wire (filamentary) current sources parallel to one of the principal axes with a uniform, triangular or sinusoidal profile <br />
*Generalized lumped voltage sources on any PEC line object with an arbitrary orientation <br />
*Improved and streamlined multi-plane-wave source excitation including import of 3D polarimetric ray solutions from [[EM.Terrano]]<br />
*Conversion of zero-amplitude sources and ports to resistive termination loads (e.g. for modeling receiver antennas)<br />
*Improved "Fast Ports" capability for accelerated computation of S-parameters of resonant structures based on Prony's method of exponential interpolation/extrapolation<br />
*Extension of "Fast Ports" capability to multiport structures <br />
*Extension of "Fast Ports" to distributed sources and microstrip, CPW, coaxial and waveguide ports<br />
*New collocated series RL and parallel RC lumped devices on PEC lines parallel to one of the principal axes<br />
*New active one-port and two-port Netlist-based lumped circuits on PEC lines parallel to one of the principal axes<br />
*Streamlined Netlist generation for multiple lumped and distributed active one-port and two-port devices <br />
*Allowing subcircuits with local node indexing in Netlist definitions<br />
*New method of using nonlinear dependent B-type sources in Netlist definitions <br />
*Extension of Netlist definitions to all XSPICE parts and subcircuit-model-based devices including system-level behavioral models (virtual blocks)<br />
*Full compatibility with Netlist files generated by [[RF.Spice A/D]] and one-click loading of imported Netlist files <br />
*Allowing Python functions/expressions in the Netlist definition of lumped and distributed active devices<br />
*New distributed Huygens sources<br />
*New fast frequency and angular sweeps of periodic structures with oblique incidence using an existing dispersion sweep database <br />
*New streamlined single-run wideband multi-frequency observables with data management options (field sensors, radiation patterns, RCS and Huygens surfaces) <br />
*New "Polarimetric Scattering Matrix" sweep simulation as a special type of the RCS observable <br />
*Computation of total port voltages, total port currents and total port powers in both time and frequency domains for multiport structures <br />
*New standard output parameters for port voltages, port currents and port powers at the center frequency of the project<br />
*Computation of electric, magnetic and total energy densities, dissipated power density (Ohmic loss), specific absorption rate (SAR) density and complex Poynting vector on field sensor planes<br />
*New volumetric field sensor observables<br />
*Computation of the total electric and magnetic energy, total dissipated power (Ohmic loss) and total SAR for volumetric field sensors<br />
*3D visualization of surface and volumetric spatial Cartesian data overlaid on the scene<br />
*New option for sampling the field components of temporal field probes at the boundary of the Yee cell or at its center<br />
<br />
=== New EM.Terrano (Ray Tracing) Features ===<br />
<br />
*New digital modulation schemes with 17 waveform types and computation of Eb/N0 and bit error rate (BER)<br />
*New standard output parameters for SNR, Eb/N0 and BER of the selected receiver with instant update upon changing receiver index<br />
*Fast broadband frequency sweep of the propagation scene with uniformly spaced or discrete frequency samples in a single SBR simulation run<br />
*New option for using multi-frequency radiation patterns in frequency sweeps<br />
*New option for visualizing 3D radiation patterns overlaid on the propagation scene<br />
*Complete polarimetric (theta-phi) characterization of the propagation channel for MIMO analysis <br />
*New "almost real-time" Polarimatrix solver using an existing 3D ray database as an alternative to physical ray tracing <br />
*Real-time transmitter sweep for modeling mobile transmitters using the new Polarimatrix solver <br />
*Real-time rotational sweep for modeling beam scanning using the new Polarimatrix solver <br />
*Real-time mobile (point-to-point) sweep simulation of transmitter-receiver pairs using the new Polarimatrix solver <br />
*New Mobile Path wizard based on existing nodal curves or imported 3D spatial Cartesian data files<br />
*New Point Scatterer sets with imported polarimetric scattering matrix data files<br />
*New Radar Simulator generating a ray tracing solution of bistatic and monostatic radar system configurations <br />
*Improved "Random City" wizard with a larger number of building parameters <br />
*Improved "Basic Link" wizard with parameterized transmitter and receiver heights<br />
*New distributed transmitters and receivers using Huygens sources<br />
<br />
=== New EM.Ferma (Static) Features ===<br />
<br />
*New thermal simulation engine (heat conduction and convection) for computation of steady-state temperature distribution and heat flux density<br />
*New inhomogeneous dielectric/magnetic/insulator material properties defined as standard mathematical or Python expressions/functions of 3D spatial coordinates <br />
*New volume heat source defined as a standard mathematical or Python expression/function of 3D spatial coordinates<br />
*Import of SAR or dissipated power density data from [[EM.Tempo]] as a spatially distributed volume heat source<br />
*Computation of electric and magnetic energy densities, dissipated power density (Ohmic loss), and thermal energy density on field sensor planes<br />
*New mutual inductance field integral<br />
*New (alternative) capacitance and inductance field integrals defined based on energy<br />
*New (alternative) resistance field integrals defined based on Ohmic power loss<br />
*New thermal flux and thermal energy field integrals<br />
*New standard output parameters for all the 18 field integral types<br />
*New volumetric field sensor observables<br />
*3D visualization of surface and volumetric spatial Cartesian data overlaid on the scene<br />
<br />
=== New EM.Picasso (Planar MoM) Features ===<br />
<br />
*Improved planar mesh generation for structures with vertical vias of irregular shape and arrays of via objects <br />
*New capability of handling edge vias and short thin vertical walls (fins) <br />
<br />
=== New EM.Illumina (Physical Optics) Features ===<br />
<br />
*Improved, more accurate formulation of impedance surfaces in GO-PO and IPO solvers <br />
*Four impedance surface types: dielectric-coated PEC, imperfect conductor, high refractive index medium interface and fixed-impedance surface<br />
<br />
=== New Miscellaneous CubeCAD Features ===<br />
<br />
*Expanded material list with mechanical and thermal properties<br />
*New list of available standard output parameters based on the project's observables<br />
*Improved and enhanced custom (user-defined) output parameters that can be updated instantly at post-processing<br />
*New functionality added to "Consolidate" tool for converting special transform objects to generic solid, surface or curve objects <br />
*Improved "Random Group (Cloud)" tool for more efficient Monte Carlo simulations<br />
*New capability added to "Roughen" tool for converting random roughened surfaces or objects to Polymesh objects for the purpose of freezing or export <br />
*New expanded graph controls for Matlab-style 2D and 3D plot types<br />
*New option to enable/disable 3D visualization of far-field data during sweep simulations<br />
*New option for arbitrary translation and scaling of 3D radiation and RCS patterns in the scene<br />
*Enhanced array factor with phase progression for the radiation pattern observable associated with a single radiating element<br />
<br />
=== New Python Capabilities ===<br />
<br />
*New startup Python script<br />
*New Python commands for project and file management<br />
*New Python commands for getting and setting individual properties of geometric objects <br />
*New Python commands for accessing individual objects from the navigation tree<br />
*New Python commands for identifying and accessing material groups and their object members in the navigation tree <br />
*New Python commands for getting the coordinates of nodes of a nodal curve<br />
*New Python command for aligning one of the six faces of the bounding box of an object at a certain coordinate<br />
*New Python commands for retrieving the value of a standard or custom output parameter<br />
*New Python command for setting the boundary conditions of [[EM.Ferma]]<br />
*New Python command for setting up a thermal simulation in [[EM.Ferma]]<br />
*New Python commands for defining all the 18 types of field integrals in [[EM.Ferma]]<br />
*New Python command for creating generic spatial Cartesian data in CubeCAD, [[EM.Tempo]] and [[EM.Ferma]]<br />
*New Python functions for translating, rotating, scaling, aligning and mirroring all the objects in the project workspace<br />
*New Python function for rotating a radiation pattern<br />
*New Python function for computing the radiation pattern of a generalized 3D array<br />
*New Python function for generating the radiation pattern of a Huygens surface data file<br />
*New Python functions for summing, differencing and scaling of .RAD, .RCS, .SEN, .CAR, .HUY and .COV data files<br />
*New Python functions for averaging a set of radiation pattern, RCS or received power coverage data files<br />
*New Python function for extracting a portion of a field sensor or a Cartesian data file<br />
*New Python function for generating a Touchstone file from S-parameter data files<br />
*Improved surrogate model generation based on the high-dimensional model representation (HDMR) technique and association with Python functions of the same name<br />
*Improved Python script for sweeping a Python function or a surrogate model with cubic spline interpolation <br />
*Improved Python script for genetic algorithm (GA) optimization of a Python function or a surrogate model <br />
*Improved Python script for Monte Carlo simulation of a Python function or a surrogate model and generation of probability density functions (PDF) based on Gaussian kernel density estimation (KDE)<br />
<br />
=== Integration with NeoScan Field Measurement System ===<br />
<br />
*Automated export of [[NeoScan]] field measurement data to [[EM.Cube]]<br />
*Automated near-to-far-field transformation of the near-field data for computation of 3D radiation patterns <br />
*Automated computation of antenna gain and radiation efficiency<br />
*Automated generation of equivalent Huygens sources from measured near-field data <br />
*Matlab-style visualization of measured output signal power in dBm corresponding to individual-component and total field maps <br />
<br />
<br /><br />
<br />
<hr><br />
<br />
[[Image:Top_icon.png|30px]] '''[[#EM.Cube R18.1 Release At A Glance | Back to the Top of the Page]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/New_TutorialsNew Tutorials2020-03-30T16:13:25Z<p>Kazem Sabet: </p>
<hr />
<div>== EM.Cube Tutorials ==<br />
<br />
Each tutorial lesson listed below walks you through the basic features of one of [[EM.Cube]]'s computational modules:<br />
<br />
----------------------------------------------------------------------------------------<br />
<br />
These are the new pages added or modified for [[EM.Cube]] Release R17:<br />
<br />
<br />
[[New PO Theory]]<br />
<br />
<br />
[[What's New in EM.Cube R19.1]]<br />
<br />
<br />
[[EM.Terrano Tutorial Lesson 4: Analyzing Indoor Propagation Inside a Building Model with Penetrable Walls]]<br />
<br />
[[EM.Terrano Tutorial Lesson 9: A SBR Channel Analysis of An Urban Scene]]<br />
<br />
[[EM.Terrano Tutorial Lesson 10: Modeling A Mobile Communications Link]]<br />
<br />
<br />
----------------------------------------------------------------------------------------<br />
<br />
<br />
These are the old [[EM.Cube]] documentation pages:<br />
<br />
<br />
[[The Old EM.Cube Wiki Start Page]]<br />
<br />
[[THE OLD Getting Started with EM.Cube]]<br />
<br />
[[THE OLD What's New in EM.Cube 2016?]]<br />
<br />
[[THE OLD Defining Simulation Observables & Visualizing Output Data]]<br />
<br />
<br />
<br />
<br />
---------------------------------<br />
<br />
<br />
[[V&V Article 6: Using EM.Cube And NeoScan System Together For Antenna Design]]<br />
<br />
<br />
[[Installing EM.Cube]]<br />
<br />
[[EM.Cube FAQ]]<br />
<br />
<br />
----------------------------------------------------------------------------------------<br />
<br />
<br />
These are all old stuff:<br />
<br />
<br />
[[NeoScan_Complete]]<br />
<br />
[[NeoScan Manuals]]<br />
<br />
[[NeoScan Manual Part A: Getting Started]]<br />
<br />
<br />
[[OLD What's New in EM.Cube R18.1?]]<br />
<br />
<br />
<br />
<table><br />
<tr><br />
<td><br />
{|class="wikitable"<br />
|-<br />
! [[EM.Cube]] <br />
|-<br />
|[[File:emcubePAGE.png |225px | link=EM.Cube]] <br />
|-<br />
|}<br />
</td><br />
<td> &nbsp; </td><br />
<td><br />
{|class="wikitable"<br />
|-<br />
! [[RF.Spice A/D | RF.Spice A/D]] <br />
|-<br />
| [[File:RfspicePAGE New.png |277px | link=RF.Spice A/D | RF.Spice A/D]] <br />
|-<br />
|}<br />
</td><br />
<td> &nbsp; </td><br />
<td><br />
{|class="wikitable"<br />
|-<br />
! [[RF.Spice A/D | B2.Spice A/D]] <br />
|-<br />
| [[File:B2spicePAGE.png |226px | link=RF.Spice A/D | B2.Spice A/D]] <br />
|-<br />
|}<br />
</td><br />
<td> &nbsp; </td><br />
<td><br />
{|class="wikitable"<br />
|-<br />
! [[NeoScan | NeoScan]] <br />
|-<br />
| [[File:NeoScan_Product.png |245px | link=NeoScan | NeoScan ]] <br />
|-<br />
|}<br />
</td><br />
</tr><br />
</table><br />
<br />
<br />
<br />
----<br />
<br />
<br />
[[Old Gateway]]<br />
<br />
[[Old EM.Cube Page]]<br />
<br />
[[Old Digital Glossary]]<br />
<br />
<br />
<br />
----<br />
<br />
<br />
<br />
[[Image:Back_icon.png|40px]] '''[[Main_Page | Back to Emagtech Wiki Gateway]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/New_TutorialsNew Tutorials2019-10-04T18:36:49Z<p>Kazem Sabet: </p>
<hr />
<div>== EM.Cube Tutorials ==<br />
<br />
Each tutorial lesson listed below walks you through the basic features of one of [[EM.Cube]]'s computational modules:<br />
<br />
----------------------------------------------------------------------------------------<br />
<br />
These are the new pages added or modified for [[EM.Cube]] Release R17:<br />
<br />
<br />
[[New PO Theory]]<br />
<br />
<br />
[[What's New in EM.Cube R19.1]]<br />
<br />
<br />
[[EM.Terrano Tutorial Lesson 4: Analyzing Indoor Propagation Inside a Building Model with Penetrable Walls]]<br />
<br />
[[EM.Terrano Tutorial Lesson 9: A SBR Channel Analysis of An Urban Scene]]<br />
<br />
[[EM.Terrano Tutorial Lesson 10: Modeling A Mobile Communications Link]]<br />
<br />
<br />
----------------------------------------------------------------------------------------<br />
<br />
<br />
These are the old [[EM.Cube]] documentation pages:<br />
<br />
<br />
[[The Old EM.Cube Wiki Start Page]]<br />
<br />
[[THE OLD Getting Started with EM.Cube]]<br />
<br />
[[THE OLD What's New in EM.Cube 2016?]]<br />
<br />
[[THE OLD Defining Simulation Observables & Visualizing Output Data]]<br />
<br />
<br />
<br />
<br />
---------------------------------<br />
<br />
<br />
[[V&V Article 6: Using EM.Cube And NeoScan System Together For Antenna Design]]<br />
<br />
<br />
[[Installing EM.Cube]]<br />
<br />
[[EM.Cube FAQ]]<br />
<br />
<br />
----------------------------------------------------------------------------------------<br />
<br />
<br />
These are all old stuff:<br />
<br />
<br />
[[NeoScan_Complete]]<br />
<br />
[[NeoScan Manuals]]<br />
<br />
[[NeoScan Manual Part A: Getting Started]]<br />
<br />
<br />
<br />
<br />
<table><br />
<tr><br />
<td><br />
{|class="wikitable"<br />
|-<br />
! [[EM.Cube]] <br />
|-<br />
|[[File:emcubePAGE.png |225px | link=EM.Cube]] <br />
|-<br />
|}<br />
</td><br />
<td> &nbsp; </td><br />
<td><br />
{|class="wikitable"<br />
|-<br />
! [[RF.Spice A/D | RF.Spice A/D]] <br />
|-<br />
| [[File:RfspicePAGE New.png |277px | link=RF.Spice A/D | RF.Spice A/D]] <br />
|-<br />
|}<br />
</td><br />
<td> &nbsp; </td><br />
<td><br />
{|class="wikitable"<br />
|-<br />
! [[RF.Spice A/D | B2.Spice A/D]] <br />
|-<br />
| [[File:B2spicePAGE.png |226px | link=RF.Spice A/D | B2.Spice A/D]] <br />
|-<br />
|}<br />
</td><br />
<td> &nbsp; </td><br />
<td><br />
{|class="wikitable"<br />
|-<br />
! [[NeoScan | NeoScan]] <br />
|-<br />
| [[File:NeoScan_Product.png |245px | link=NeoScan | NeoScan ]] <br />
|-<br />
|}<br />
</td><br />
</tr><br />
</table><br />
<br />
<br />
<br />
----<br />
<br />
<br />
[[Old Gateway]]<br />
<br />
[[Old EM.Cube Page]]<br />
<br />
[[Old Digital Glossary]]<br />
<br />
<br />
<br />
----<br />
<br />
<br />
<br />
[[Image:Back_icon.png|40px]] '''[[Main_Page | Back to Emagtech Wiki Gateway]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/File:EM_wave.pngFile:EM wave.png2019-07-10T23:16:46Z<p>Kazem Sabet: Kazem Sabet uploaded a new version of &quot;File:EM wave.png&quot;</p>
<hr />
<div></div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/File:EM_wave.pngFile:EM wave.png2019-07-10T23:14:57Z<p>Kazem Sabet: Kazem Sabet uploaded a new version of &quot;File:EM wave.png&quot;</p>
<hr />
<div></div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/What%27s_New_in_EM.Cube_R19.1What's New in EM.Cube R19.12019-05-19T19:20:42Z<p>Kazem Sabet: /* New EM.Ferma (Static) Features */</p>
<hr />
<div>[[Image:Splash-generic2.jpg|right|720px]]<br />
<strong><font color="#07417e" size="4">MODULAR 3D ELECTROMAGNETIC SIMULATION SUITE <br /></font></strong><br />
<strong><font color="#707983" size="4">&nbsp; &nbsp; &nbsp; THAT GROWS WITH YOUR MODELING NEEDS</font></strong><br />
<table><br />
<tr><br />
<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:prop-ico.png | link=EM.Terrano]] [[image:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]] </td><br />
<tr><br />
</table><br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''<br />
<br />
=== EM.Cube R19.1 Release At A Glance ===<br />
<br />
The new [[EM.Cube]] R19.1 release is the most powerful electromagnetic simulation suite EMAG Technologies Inc. has ever produced in its history of more than two decades. The new release offers a combination of state-of-the-art simulation capabilities that reflect the latest advances in computational electromagnetics (CEM) as well as productivity features requested by our valued users.<br />
<br />
=== New EM.Tempo (FDTD) Features ===<br />
<br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable <br />
*Improved antenna wizards with fast ports acceleration<br />
<br />
=== New EM.Terrano (Ray Tracing) Features ===<br />
<br />
*New plane wave source in the 3D SBR field solver<br />
*New far-field observables including radiation pattern and bistatic and monostatic RCS in the 3D SBR field solver based on equivalent Huygens surface integration<br />
*Improved ray angular resolution for SBR simulation of large propagation scenes in [[EM.Terrano]]<br />
*New 2D long-haul channel analyzer incorporating spherical earth, knife edge diffraction, rough surface diffusion and atmospheric effects<br />
*New 2D terrain profiler with terrain smoothing filters<br />
*New phased array capability at both transmitter and receiver nodes<br />
*Improved digital waveform capability including maximum bit error rate specification<br />
*Improved rotational sweep with simultaneous rotation of transmit and receive antennas using the polarimatrix solver<br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable<br />
*Improved random city, office building and basic link wizards<br />
<br />
=== New EM.Ferma (Static) Features ===<br />
<br />
=== New EM.Picasso (Planar MoM) Features ===<br />
<br />
*Improved planar mesh generation for structures with vertical vias of irregular shape and arrays of via objects <br />
*New capability of handling edge vias and short thin vertical walls (fins) <br />
<br />
=== New EM.Illumina (Physical Optics) Features ===<br />
<br />
*New improved formulation of lossy dielectric surfaces and dielectric-coated PEC objects based on the method of equivalent current approximation (MECA)<br />
*New Gaussian beam sources<br />
*Huygens source arrays with amplitude and phase distribution<br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable<br />
<br />
=== New Miscellaneous CubeCAD Features ===<br />
<br />
*Expanded material list with mechanical and thermal properties<br />
*New list of available standard output parameters based on the project's observables<br />
*Improved and enhanced custom (user-defined) output parameters that can be updated instantly at post-processing<br />
*New functionality added to "Consolidate" tool for converting special transform objects to generic solid, surface or curve objects <br />
*Improved "Random Group (Cloud)" tool for more efficient Monte Carlo simulations<br />
*New capability added to "Roughen" tool for converting random roughened surfaces or objects to Polymesh objects for the purpose of freezing or export <br />
*New expanded graph controls for Matlab-style 2D and 3D plot types<br />
*New option to enable/disable 3D visualization of far-field data during sweep simulations<br />
*New option for arbitrary translation and scaling of 3D radiation and RCS patterns in the scene<br />
*Enhanced array factor with phase progression for the radiation pattern observable associated with a single radiating element<br />
<br />
=== New Python Capabilities ===<br />
<br />
*New startup Python script<br />
*New Python commands for project and file management<br />
*New Python commands for getting and setting individual properties of geometric objects <br />
*New Python commands for accessing individual objects from the navigation tree<br />
*New Python commands for identifying and accessing material groups and their object members in the navigation tree <br />
*New Python commands for getting the coordinates of nodes of a nodal curve<br />
*New Python command for aligning one of the six faces of the bounding box of an object at a certain coordinate<br />
*New Python commands for retrieving the value of a standard or custom output parameter<br />
*New Python command for setting the boundary conditions of [[EM.Ferma]]<br />
*New Python command for setting up a thermal simulation in [[EM.Ferma]]<br />
*New Python commands for defining all the 18 types of field integrals in [[EM.Ferma]]<br />
*New Python command for creating generic spatial Cartesian data in CubeCAD, [[EM.Tempo]] and [[EM.Ferma]]<br />
*New Python functions for translating, rotating, scaling, aligning and mirroring all the objects in the project workspace<br />
*New Python function for rotating a radiation pattern<br />
*New Python function for computing the radiation pattern of a generalized 3D array<br />
*New Python function for generating the radiation pattern of a Huygens surface data file<br />
*New Python functions for summing, differencing and scaling of .RAD, .RCS, .SEN, .CAR, .HUY and .COV data files<br />
*New Python functions for averaging a set of radiation pattern, RCS or received power coverage data files<br />
*New Python function for extracting a portion of a field sensor or a Cartesian data file<br />
*New Python function for generating a Touchstone file from S-parameter data files<br />
*Improved surrogate model generation based on the high-dimensional model representation (HDMR) technique and association with Python functions of the same name<br />
*Improved Python script for sweeping a Python function or a surrogate model with cubic spline interpolation <br />
*Improved Python script for genetic algorithm (GA) optimization of a Python function or a surrogate model <br />
*Improved Python script for Monte Carlo simulation of a Python function or a surrogate model and generation of probability density functions (PDF) based on Gaussian kernel density estimation (KDE)<br />
<br />
=== Integration with NeoScan Field Measurement System ===<br />
<br />
*Automated export of [[NeoScan]] field measurement data to [[EM.Cube]]<br />
*Automated near-to-far-field transformation of the near-field data for computation of 3D radiation patterns <br />
*Automated computation of antenna gain and radiation efficiency<br />
*Automated generation of equivalent Huygens sources from measured near-field data <br />
*Matlab-style visualization of measured output signal power in dBm corresponding to individual-component and total field maps <br />
<br />
<br /><br />
<br />
<hr><br />
<br />
[[Image:Top_icon.png|30px]] '''[[#EM.Cube R18.1 Release At A Glance | Back to the Top of the Page]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/What%27s_New_in_EM.Cube_R19.1What's New in EM.Cube R19.12019-05-19T19:13:26Z<p>Kazem Sabet: /* New EM.Terrano (Ray Tracing) Features */</p>
<hr />
<div>[[Image:Splash-generic2.jpg|right|720px]]<br />
<strong><font color="#07417e" size="4">MODULAR 3D ELECTROMAGNETIC SIMULATION SUITE <br /></font></strong><br />
<strong><font color="#707983" size="4">&nbsp; &nbsp; &nbsp; THAT GROWS WITH YOUR MODELING NEEDS</font></strong><br />
<table><br />
<tr><br />
<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:prop-ico.png | link=EM.Terrano]] [[image:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]] </td><br />
<tr><br />
</table><br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''<br />
<br />
=== EM.Cube R19.1 Release At A Glance ===<br />
<br />
The new [[EM.Cube]] R19.1 release is the most powerful electromagnetic simulation suite EMAG Technologies Inc. has ever produced in its history of more than two decades. The new release offers a combination of state-of-the-art simulation capabilities that reflect the latest advances in computational electromagnetics (CEM) as well as productivity features requested by our valued users.<br />
<br />
=== New EM.Tempo (FDTD) Features ===<br />
<br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable <br />
*Improved antenna wizards with fast ports acceleration<br />
<br />
=== New EM.Terrano (Ray Tracing) Features ===<br />
<br />
*New plane wave source in the 3D SBR field solver<br />
*New far-field observables including radiation pattern and bistatic and monostatic RCS in the 3D SBR field solver based on equivalent Huygens surface integration<br />
*Improved ray angular resolution for SBR simulation of large propagation scenes in [[EM.Terrano]]<br />
*New 2D long-haul channel analyzer incorporating spherical earth, knife edge diffraction, rough surface diffusion and atmospheric effects<br />
*New 2D terrain profiler with terrain smoothing filters<br />
*New phased array capability at both transmitter and receiver nodes<br />
*Improved digital waveform capability including maximum bit error rate specification<br />
*Improved rotational sweep with simultaneous rotation of transmit and receive antennas using the polarimatrix solver<br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable<br />
*Improved random city, office building and basic link wizards<br />
<br />
=== New EM.Ferma (Static) Features ===<br />
<br />
*New thermal simulation engine (heat conduction and convection) for computation of steady-state temperature distribution and heat flux density<br />
*New inhomogeneous dielectric/magnetic/insulator material properties defined as standard mathematical or Python expressions/functions of 3D spatial coordinates <br />
*New volume heat source defined as a standard mathematical or Python expression/function of 3D spatial coordinates<br />
*Import of SAR or dissipated power density data from [[EM.Tempo]] as a spatially distributed volume heat source<br />
*Computation of electric and magnetic energy densities, dissipated power density (Ohmic loss), and thermal energy density on field sensor planes<br />
*New mutual inductance field integral<br />
*New (alternative) capacitance and inductance field integrals defined based on energy<br />
*New (alternative) resistance field integrals defined based on Ohmic power loss<br />
*New thermal flux and thermal energy field integrals<br />
*New standard output parameters for all the 18 field integral types<br />
*New volumetric field sensor observables<br />
*3D visualization of surface and volumetric spatial Cartesian data overlaid on the scene<br />
<br />
=== New EM.Picasso (Planar MoM) Features ===<br />
<br />
*Improved planar mesh generation for structures with vertical vias of irregular shape and arrays of via objects <br />
*New capability of handling edge vias and short thin vertical walls (fins) <br />
<br />
=== New EM.Illumina (Physical Optics) Features ===<br />
<br />
*New improved formulation of lossy dielectric surfaces and dielectric-coated PEC objects based on the method of equivalent current approximation (MECA)<br />
*New Gaussian beam sources<br />
*Huygens source arrays with amplitude and phase distribution<br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable<br />
<br />
=== New Miscellaneous CubeCAD Features ===<br />
<br />
*Expanded material list with mechanical and thermal properties<br />
*New list of available standard output parameters based on the project's observables<br />
*Improved and enhanced custom (user-defined) output parameters that can be updated instantly at post-processing<br />
*New functionality added to "Consolidate" tool for converting special transform objects to generic solid, surface or curve objects <br />
*Improved "Random Group (Cloud)" tool for more efficient Monte Carlo simulations<br />
*New capability added to "Roughen" tool for converting random roughened surfaces or objects to Polymesh objects for the purpose of freezing or export <br />
*New expanded graph controls for Matlab-style 2D and 3D plot types<br />
*New option to enable/disable 3D visualization of far-field data during sweep simulations<br />
*New option for arbitrary translation and scaling of 3D radiation and RCS patterns in the scene<br />
*Enhanced array factor with phase progression for the radiation pattern observable associated with a single radiating element<br />
<br />
=== New Python Capabilities ===<br />
<br />
*New startup Python script<br />
*New Python commands for project and file management<br />
*New Python commands for getting and setting individual properties of geometric objects <br />
*New Python commands for accessing individual objects from the navigation tree<br />
*New Python commands for identifying and accessing material groups and their object members in the navigation tree <br />
*New Python commands for getting the coordinates of nodes of a nodal curve<br />
*New Python command for aligning one of the six faces of the bounding box of an object at a certain coordinate<br />
*New Python commands for retrieving the value of a standard or custom output parameter<br />
*New Python command for setting the boundary conditions of [[EM.Ferma]]<br />
*New Python command for setting up a thermal simulation in [[EM.Ferma]]<br />
*New Python commands for defining all the 18 types of field integrals in [[EM.Ferma]]<br />
*New Python command for creating generic spatial Cartesian data in CubeCAD, [[EM.Tempo]] and [[EM.Ferma]]<br />
*New Python functions for translating, rotating, scaling, aligning and mirroring all the objects in the project workspace<br />
*New Python function for rotating a radiation pattern<br />
*New Python function for computing the radiation pattern of a generalized 3D array<br />
*New Python function for generating the radiation pattern of a Huygens surface data file<br />
*New Python functions for summing, differencing and scaling of .RAD, .RCS, .SEN, .CAR, .HUY and .COV data files<br />
*New Python functions for averaging a set of radiation pattern, RCS or received power coverage data files<br />
*New Python function for extracting a portion of a field sensor or a Cartesian data file<br />
*New Python function for generating a Touchstone file from S-parameter data files<br />
*Improved surrogate model generation based on the high-dimensional model representation (HDMR) technique and association with Python functions of the same name<br />
*Improved Python script for sweeping a Python function or a surrogate model with cubic spline interpolation <br />
*Improved Python script for genetic algorithm (GA) optimization of a Python function or a surrogate model <br />
*Improved Python script for Monte Carlo simulation of a Python function or a surrogate model and generation of probability density functions (PDF) based on Gaussian kernel density estimation (KDE)<br />
<br />
=== Integration with NeoScan Field Measurement System ===<br />
<br />
*Automated export of [[NeoScan]] field measurement data to [[EM.Cube]]<br />
*Automated near-to-far-field transformation of the near-field data for computation of 3D radiation patterns <br />
*Automated computation of antenna gain and radiation efficiency<br />
*Automated generation of equivalent Huygens sources from measured near-field data <br />
*Matlab-style visualization of measured output signal power in dBm corresponding to individual-component and total field maps <br />
<br />
<br /><br />
<br />
<hr><br />
<br />
[[Image:Top_icon.png|30px]] '''[[#EM.Cube R18.1 Release At A Glance | Back to the Top of the Page]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/What%27s_New_in_EM.Cube_R19.1What's New in EM.Cube R19.12019-05-19T19:04:15Z<p>Kazem Sabet: /* New EM.Tempo (FDTD) Features */</p>
<hr />
<div>[[Image:Splash-generic2.jpg|right|720px]]<br />
<strong><font color="#07417e" size="4">MODULAR 3D ELECTROMAGNETIC SIMULATION SUITE <br /></font></strong><br />
<strong><font color="#707983" size="4">&nbsp; &nbsp; &nbsp; THAT GROWS WITH YOUR MODELING NEEDS</font></strong><br />
<table><br />
<tr><br />
<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:prop-ico.png | link=EM.Terrano]] [[image:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]] </td><br />
<tr><br />
</table><br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''<br />
<br />
=== EM.Cube R19.1 Release At A Glance ===<br />
<br />
The new [[EM.Cube]] R19.1 release is the most powerful electromagnetic simulation suite EMAG Technologies Inc. has ever produced in its history of more than two decades. The new release offers a combination of state-of-the-art simulation capabilities that reflect the latest advances in computational electromagnetics (CEM) as well as productivity features requested by our valued users.<br />
<br />
=== New EM.Tempo (FDTD) Features ===<br />
<br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable <br />
*Improved antenna wizards with fast ports acceleration<br />
<br />
=== New EM.Terrano (Ray Tracing) Features ===<br />
<br />
*New plane wave source in the 3D SBR field solver<br />
*New far-field observables including radiation pattern and bistatic and monostatic RCS in the 3D SBR field solver based on equivalent Huygens surface integration<br />
*Improved ray angular resolution for SBR simulation of large propagation scenes in [[EM.Terrano]]<br />
*New 2D long-haul channel analyzer incorporating spherical earth, knife edge diffraction, rough surface diffusion and atmospheric effects<br />
*New 2D terrain profiler with terrain smoothing filters<br />
*New phased array capability at both transmitter and receiver nodes<br />
*Improved digital waveform capability including maximum bit error rate specification<br />
*Improved rotational sweep with simultaneous rotation of transmit and receive antennas using the polarimatrix solver<br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable<br />
<br />
=== New EM.Ferma (Static) Features ===<br />
<br />
*New thermal simulation engine (heat conduction and convection) for computation of steady-state temperature distribution and heat flux density<br />
*New inhomogeneous dielectric/magnetic/insulator material properties defined as standard mathematical or Python expressions/functions of 3D spatial coordinates <br />
*New volume heat source defined as a standard mathematical or Python expression/function of 3D spatial coordinates<br />
*Import of SAR or dissipated power density data from [[EM.Tempo]] as a spatially distributed volume heat source<br />
*Computation of electric and magnetic energy densities, dissipated power density (Ohmic loss), and thermal energy density on field sensor planes<br />
*New mutual inductance field integral<br />
*New (alternative) capacitance and inductance field integrals defined based on energy<br />
*New (alternative) resistance field integrals defined based on Ohmic power loss<br />
*New thermal flux and thermal energy field integrals<br />
*New standard output parameters for all the 18 field integral types<br />
*New volumetric field sensor observables<br />
*3D visualization of surface and volumetric spatial Cartesian data overlaid on the scene<br />
<br />
=== New EM.Picasso (Planar MoM) Features ===<br />
<br />
*Improved planar mesh generation for structures with vertical vias of irregular shape and arrays of via objects <br />
*New capability of handling edge vias and short thin vertical walls (fins) <br />
<br />
=== New EM.Illumina (Physical Optics) Features ===<br />
<br />
*New improved formulation of lossy dielectric surfaces and dielectric-coated PEC objects based on the method of equivalent current approximation (MECA)<br />
*New Gaussian beam sources<br />
*Huygens source arrays with amplitude and phase distribution<br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable<br />
<br />
=== New Miscellaneous CubeCAD Features ===<br />
<br />
*Expanded material list with mechanical and thermal properties<br />
*New list of available standard output parameters based on the project's observables<br />
*Improved and enhanced custom (user-defined) output parameters that can be updated instantly at post-processing<br />
*New functionality added to "Consolidate" tool for converting special transform objects to generic solid, surface or curve objects <br />
*Improved "Random Group (Cloud)" tool for more efficient Monte Carlo simulations<br />
*New capability added to "Roughen" tool for converting random roughened surfaces or objects to Polymesh objects for the purpose of freezing or export <br />
*New expanded graph controls for Matlab-style 2D and 3D plot types<br />
*New option to enable/disable 3D visualization of far-field data during sweep simulations<br />
*New option for arbitrary translation and scaling of 3D radiation and RCS patterns in the scene<br />
*Enhanced array factor with phase progression for the radiation pattern observable associated with a single radiating element<br />
<br />
=== New Python Capabilities ===<br />
<br />
*New startup Python script<br />
*New Python commands for project and file management<br />
*New Python commands for getting and setting individual properties of geometric objects <br />
*New Python commands for accessing individual objects from the navigation tree<br />
*New Python commands for identifying and accessing material groups and their object members in the navigation tree <br />
*New Python commands for getting the coordinates of nodes of a nodal curve<br />
*New Python command for aligning one of the six faces of the bounding box of an object at a certain coordinate<br />
*New Python commands for retrieving the value of a standard or custom output parameter<br />
*New Python command for setting the boundary conditions of [[EM.Ferma]]<br />
*New Python command for setting up a thermal simulation in [[EM.Ferma]]<br />
*New Python commands for defining all the 18 types of field integrals in [[EM.Ferma]]<br />
*New Python command for creating generic spatial Cartesian data in CubeCAD, [[EM.Tempo]] and [[EM.Ferma]]<br />
*New Python functions for translating, rotating, scaling, aligning and mirroring all the objects in the project workspace<br />
*New Python function for rotating a radiation pattern<br />
*New Python function for computing the radiation pattern of a generalized 3D array<br />
*New Python function for generating the radiation pattern of a Huygens surface data file<br />
*New Python functions for summing, differencing and scaling of .RAD, .RCS, .SEN, .CAR, .HUY and .COV data files<br />
*New Python functions for averaging a set of radiation pattern, RCS or received power coverage data files<br />
*New Python function for extracting a portion of a field sensor or a Cartesian data file<br />
*New Python function for generating a Touchstone file from S-parameter data files<br />
*Improved surrogate model generation based on the high-dimensional model representation (HDMR) technique and association with Python functions of the same name<br />
*Improved Python script for sweeping a Python function or a surrogate model with cubic spline interpolation <br />
*Improved Python script for genetic algorithm (GA) optimization of a Python function or a surrogate model <br />
*Improved Python script for Monte Carlo simulation of a Python function or a surrogate model and generation of probability density functions (PDF) based on Gaussian kernel density estimation (KDE)<br />
<br />
=== Integration with NeoScan Field Measurement System ===<br />
<br />
*Automated export of [[NeoScan]] field measurement data to [[EM.Cube]]<br />
*Automated near-to-far-field transformation of the near-field data for computation of 3D radiation patterns <br />
*Automated computation of antenna gain and radiation efficiency<br />
*Automated generation of equivalent Huygens sources from measured near-field data <br />
*Matlab-style visualization of measured output signal power in dBm corresponding to individual-component and total field maps <br />
<br />
<br /><br />
<br />
<hr><br />
<br />
[[Image:Top_icon.png|30px]] '''[[#EM.Cube R18.1 Release At A Glance | Back to the Top of the Page]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/What%27s_New_in_EM.Cube_R19.1What's New in EM.Cube R19.12019-05-19T19:00:08Z<p>Kazem Sabet: /* New EM.Illumina (Physical Optics) Features */</p>
<hr />
<div>[[Image:Splash-generic2.jpg|right|720px]]<br />
<strong><font color="#07417e" size="4">MODULAR 3D ELECTROMAGNETIC SIMULATION SUITE <br /></font></strong><br />
<strong><font color="#707983" size="4">&nbsp; &nbsp; &nbsp; THAT GROWS WITH YOUR MODELING NEEDS</font></strong><br />
<table><br />
<tr><br />
<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:prop-ico.png | link=EM.Terrano]] [[image:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]] </td><br />
<tr><br />
</table><br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''<br />
<br />
=== EM.Cube R19.1 Release At A Glance ===<br />
<br />
The new [[EM.Cube]] R19.1 release is the most powerful electromagnetic simulation suite EMAG Technologies Inc. has ever produced in its history of more than two decades. The new release offers a combination of state-of-the-art simulation capabilities that reflect the latest advances in computational electromagnetics (CEM) as well as productivity features requested by our valued users.<br />
<br />
=== New EM.Tempo (FDTD) Features ===<br />
<br />
*New gyrotropic materials including biased ferrites and magnetoplasmas<br />
*Conversion of Drude conductors to equivalent isotropic plasmas <br />
*New inhomogeneous dielectric material properties defined as mathematical or Python expressions/functions of 3D spatial coordinates (x,y,z)<br />
*New streamlined way of defining voxel-based dielectric materials using a Python function for retrieving data from a 3D Cartesian (voxel) database<br />
*New arbitrarily oriented Hertzian short dipole sources compatible with [[EM.Cube]]'s other computational modules <br />
*Import of wire current solutions from [[EM.Libera]] as a set of Hertzian short dipole sources<br />
*New wire (filamentary) current sources parallel to one of the principal axes with a uniform, triangular or sinusoidal profile <br />
*Generalized lumped voltage sources on any PEC line object with an arbitrary orientation <br />
*Improved and streamlined multi-plane-wave source excitation including import of 3D polarimetric ray solutions from [[EM.Terrano]]<br />
*Conversion of zero-amplitude sources and ports to resistive termination loads (e.g. for modeling receiver antennas)<br />
*Improved "Fast Ports" capability for accelerated computation of S-parameters of resonant structures based on Prony's method of exponential interpolation/extrapolation<br />
*Extension of "Fast Ports" capability to multiport structures <br />
*Extension of "Fast Ports" to distributed sources and microstrip, CPW, coaxial and waveguide ports<br />
*New collocated series RL and parallel RC lumped devices on PEC lines parallel to one of the principal axes<br />
*New active one-port and two-port Netlist-based lumped circuits on PEC lines parallel to one of the principal axes<br />
*Streamlined Netlist generation for multiple lumped and distributed active one-port and two-port devices <br />
*Allowing subcircuits with local node indexing in Netlist definitions<br />
*New method of using nonlinear dependent B-type sources in Netlist definitions <br />
*Extension of Netlist definitions to all XSPICE parts and subcircuit-model-based devices including system-level behavioral models (virtual blocks)<br />
*Full compatibility with Netlist files generated by [[RF.Spice A/D]] and one-click loading of imported Netlist files <br />
*Allowing Python functions/expressions in the Netlist definition of lumped and distributed active devices<br />
*New distributed Huygens sources<br />
*New fast frequency and angular sweeps of periodic structures with oblique incidence using an existing dispersion sweep database <br />
*New streamlined single-run wideband multi-frequency observables with data management options (field sensors, radiation patterns, RCS and Huygens surfaces) <br />
*New "Polarimetric Scattering Matrix" sweep simulation as a special type of the RCS observable <br />
*Computation of total port voltages, total port currents and total port powers in both time and frequency domains for multiport structures <br />
*New standard output parameters for port voltages, port currents and port powers at the center frequency of the project<br />
*Computation of electric, magnetic and total energy densities, dissipated power density (Ohmic loss), specific absorption rate (SAR) density and complex Poynting vector on field sensor planes<br />
*New volumetric field sensor observables<br />
*Computation of the total electric and magnetic energy, total dissipated power (Ohmic loss) and total SAR for volumetric field sensors<br />
*3D visualization of surface and volumetric spatial Cartesian data overlaid on the scene<br />
*New option for sampling the field components of temporal field probes at the boundary of the Yee cell or at its center<br />
<br />
=== New EM.Terrano (Ray Tracing) Features ===<br />
<br />
*New plane wave source in the 3D SBR field solver<br />
*New far-field observables including radiation pattern and bistatic and monostatic RCS in the 3D SBR field solver based on equivalent Huygens surface integration<br />
*Improved ray angular resolution for SBR simulation of large propagation scenes in [[EM.Terrano]]<br />
*New 2D long-haul channel analyzer incorporating spherical earth, knife edge diffraction, rough surface diffusion and atmospheric effects<br />
*New 2D terrain profiler with terrain smoothing filters<br />
*New phased array capability at both transmitter and receiver nodes<br />
*Improved digital waveform capability including maximum bit error rate specification<br />
*Improved rotational sweep with simultaneous rotation of transmit and receive antennas using the polarimatrix solver<br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable<br />
<br />
=== New EM.Ferma (Static) Features ===<br />
<br />
*New thermal simulation engine (heat conduction and convection) for computation of steady-state temperature distribution and heat flux density<br />
*New inhomogeneous dielectric/magnetic/insulator material properties defined as standard mathematical or Python expressions/functions of 3D spatial coordinates <br />
*New volume heat source defined as a standard mathematical or Python expression/function of 3D spatial coordinates<br />
*Import of SAR or dissipated power density data from [[EM.Tempo]] as a spatially distributed volume heat source<br />
*Computation of electric and magnetic energy densities, dissipated power density (Ohmic loss), and thermal energy density on field sensor planes<br />
*New mutual inductance field integral<br />
*New (alternative) capacitance and inductance field integrals defined based on energy<br />
*New (alternative) resistance field integrals defined based on Ohmic power loss<br />
*New thermal flux and thermal energy field integrals<br />
*New standard output parameters for all the 18 field integral types<br />
*New volumetric field sensor observables<br />
*3D visualization of surface and volumetric spatial Cartesian data overlaid on the scene<br />
<br />
=== New EM.Picasso (Planar MoM) Features ===<br />
<br />
*Improved planar mesh generation for structures with vertical vias of irregular shape and arrays of via objects <br />
*New capability of handling edge vias and short thin vertical walls (fins) <br />
<br />
=== New EM.Illumina (Physical Optics) Features ===<br />
<br />
*New improved formulation of lossy dielectric surfaces and dielectric-coated PEC objects based on the method of equivalent current approximation (MECA)<br />
*New Gaussian beam sources<br />
*Huygens source arrays with amplitude and phase distribution<br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable<br />
<br />
=== New Miscellaneous CubeCAD Features ===<br />
<br />
*Expanded material list with mechanical and thermal properties<br />
*New list of available standard output parameters based on the project's observables<br />
*Improved and enhanced custom (user-defined) output parameters that can be updated instantly at post-processing<br />
*New functionality added to "Consolidate" tool for converting special transform objects to generic solid, surface or curve objects <br />
*Improved "Random Group (Cloud)" tool for more efficient Monte Carlo simulations<br />
*New capability added to "Roughen" tool for converting random roughened surfaces or objects to Polymesh objects for the purpose of freezing or export <br />
*New expanded graph controls for Matlab-style 2D and 3D plot types<br />
*New option to enable/disable 3D visualization of far-field data during sweep simulations<br />
*New option for arbitrary translation and scaling of 3D radiation and RCS patterns in the scene<br />
*Enhanced array factor with phase progression for the radiation pattern observable associated with a single radiating element<br />
<br />
=== New Python Capabilities ===<br />
<br />
*New startup Python script<br />
*New Python commands for project and file management<br />
*New Python commands for getting and setting individual properties of geometric objects <br />
*New Python commands for accessing individual objects from the navigation tree<br />
*New Python commands for identifying and accessing material groups and their object members in the navigation tree <br />
*New Python commands for getting the coordinates of nodes of a nodal curve<br />
*New Python command for aligning one of the six faces of the bounding box of an object at a certain coordinate<br />
*New Python commands for retrieving the value of a standard or custom output parameter<br />
*New Python command for setting the boundary conditions of [[EM.Ferma]]<br />
*New Python command for setting up a thermal simulation in [[EM.Ferma]]<br />
*New Python commands for defining all the 18 types of field integrals in [[EM.Ferma]]<br />
*New Python command for creating generic spatial Cartesian data in CubeCAD, [[EM.Tempo]] and [[EM.Ferma]]<br />
*New Python functions for translating, rotating, scaling, aligning and mirroring all the objects in the project workspace<br />
*New Python function for rotating a radiation pattern<br />
*New Python function for computing the radiation pattern of a generalized 3D array<br />
*New Python function for generating the radiation pattern of a Huygens surface data file<br />
*New Python functions for summing, differencing and scaling of .RAD, .RCS, .SEN, .CAR, .HUY and .COV data files<br />
*New Python functions for averaging a set of radiation pattern, RCS or received power coverage data files<br />
*New Python function for extracting a portion of a field sensor or a Cartesian data file<br />
*New Python function for generating a Touchstone file from S-parameter data files<br />
*Improved surrogate model generation based on the high-dimensional model representation (HDMR) technique and association with Python functions of the same name<br />
*Improved Python script for sweeping a Python function or a surrogate model with cubic spline interpolation <br />
*Improved Python script for genetic algorithm (GA) optimization of a Python function or a surrogate model <br />
*Improved Python script for Monte Carlo simulation of a Python function or a surrogate model and generation of probability density functions (PDF) based on Gaussian kernel density estimation (KDE)<br />
<br />
=== Integration with NeoScan Field Measurement System ===<br />
<br />
*Automated export of [[NeoScan]] field measurement data to [[EM.Cube]]<br />
*Automated near-to-far-field transformation of the near-field data for computation of 3D radiation patterns <br />
*Automated computation of antenna gain and radiation efficiency<br />
*Automated generation of equivalent Huygens sources from measured near-field data <br />
*Matlab-style visualization of measured output signal power in dBm corresponding to individual-component and total field maps <br />
<br />
<br /><br />
<br />
<hr><br />
<br />
[[Image:Top_icon.png|30px]] '''[[#EM.Cube R18.1 Release At A Glance | Back to the Top of the Page]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/What%27s_New_in_EM.Cube_R19.1What's New in EM.Cube R19.12019-05-19T18:59:53Z<p>Kazem Sabet: /* New EM.Terrano (Ray Tracing) Features */</p>
<hr />
<div>[[Image:Splash-generic2.jpg|right|720px]]<br />
<strong><font color="#07417e" size="4">MODULAR 3D ELECTROMAGNETIC SIMULATION SUITE <br /></font></strong><br />
<strong><font color="#707983" size="4">&nbsp; &nbsp; &nbsp; THAT GROWS WITH YOUR MODELING NEEDS</font></strong><br />
<table><br />
<tr><br />
<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:prop-ico.png | link=EM.Terrano]] [[image:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]] </td><br />
<tr><br />
</table><br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''<br />
<br />
=== EM.Cube R19.1 Release At A Glance ===<br />
<br />
The new [[EM.Cube]] R19.1 release is the most powerful electromagnetic simulation suite EMAG Technologies Inc. has ever produced in its history of more than two decades. The new release offers a combination of state-of-the-art simulation capabilities that reflect the latest advances in computational electromagnetics (CEM) as well as productivity features requested by our valued users.<br />
<br />
=== New EM.Tempo (FDTD) Features ===<br />
<br />
*New gyrotropic materials including biased ferrites and magnetoplasmas<br />
*Conversion of Drude conductors to equivalent isotropic plasmas <br />
*New inhomogeneous dielectric material properties defined as mathematical or Python expressions/functions of 3D spatial coordinates (x,y,z)<br />
*New streamlined way of defining voxel-based dielectric materials using a Python function for retrieving data from a 3D Cartesian (voxel) database<br />
*New arbitrarily oriented Hertzian short dipole sources compatible with [[EM.Cube]]'s other computational modules <br />
*Import of wire current solutions from [[EM.Libera]] as a set of Hertzian short dipole sources<br />
*New wire (filamentary) current sources parallel to one of the principal axes with a uniform, triangular or sinusoidal profile <br />
*Generalized lumped voltage sources on any PEC line object with an arbitrary orientation <br />
*Improved and streamlined multi-plane-wave source excitation including import of 3D polarimetric ray solutions from [[EM.Terrano]]<br />
*Conversion of zero-amplitude sources and ports to resistive termination loads (e.g. for modeling receiver antennas)<br />
*Improved "Fast Ports" capability for accelerated computation of S-parameters of resonant structures based on Prony's method of exponential interpolation/extrapolation<br />
*Extension of "Fast Ports" capability to multiport structures <br />
*Extension of "Fast Ports" to distributed sources and microstrip, CPW, coaxial and waveguide ports<br />
*New collocated series RL and parallel RC lumped devices on PEC lines parallel to one of the principal axes<br />
*New active one-port and two-port Netlist-based lumped circuits on PEC lines parallel to one of the principal axes<br />
*Streamlined Netlist generation for multiple lumped and distributed active one-port and two-port devices <br />
*Allowing subcircuits with local node indexing in Netlist definitions<br />
*New method of using nonlinear dependent B-type sources in Netlist definitions <br />
*Extension of Netlist definitions to all XSPICE parts and subcircuit-model-based devices including system-level behavioral models (virtual blocks)<br />
*Full compatibility with Netlist files generated by [[RF.Spice A/D]] and one-click loading of imported Netlist files <br />
*Allowing Python functions/expressions in the Netlist definition of lumped and distributed active devices<br />
*New distributed Huygens sources<br />
*New fast frequency and angular sweeps of periodic structures with oblique incidence using an existing dispersion sweep database <br />
*New streamlined single-run wideband multi-frequency observables with data management options (field sensors, radiation patterns, RCS and Huygens surfaces) <br />
*New "Polarimetric Scattering Matrix" sweep simulation as a special type of the RCS observable <br />
*Computation of total port voltages, total port currents and total port powers in both time and frequency domains for multiport structures <br />
*New standard output parameters for port voltages, port currents and port powers at the center frequency of the project<br />
*Computation of electric, magnetic and total energy densities, dissipated power density (Ohmic loss), specific absorption rate (SAR) density and complex Poynting vector on field sensor planes<br />
*New volumetric field sensor observables<br />
*Computation of the total electric and magnetic energy, total dissipated power (Ohmic loss) and total SAR for volumetric field sensors<br />
*3D visualization of surface and volumetric spatial Cartesian data overlaid on the scene<br />
*New option for sampling the field components of temporal field probes at the boundary of the Yee cell or at its center<br />
<br />
=== New EM.Terrano (Ray Tracing) Features ===<br />
<br />
*New plane wave source in the 3D SBR field solver<br />
*New far-field observables including radiation pattern and bistatic and monostatic RCS in the 3D SBR field solver based on equivalent Huygens surface integration<br />
*Improved ray angular resolution for SBR simulation of large propagation scenes in [[EM.Terrano]]<br />
*New 2D long-haul channel analyzer incorporating spherical earth, knife edge diffraction, rough surface diffusion and atmospheric effects<br />
*New 2D terrain profiler with terrain smoothing filters<br />
*New phased array capability at both transmitter and receiver nodes<br />
*Improved digital waveform capability including maximum bit error rate specification<br />
*Improved rotational sweep with simultaneous rotation of transmit and receive antennas using the polarimatrix solver<br />
*New polarimetric scattering matrix sweep simulation as a special type of the RCS observable<br />
<br />
=== New EM.Ferma (Static) Features ===<br />
<br />
*New thermal simulation engine (heat conduction and convection) for computation of steady-state temperature distribution and heat flux density<br />
*New inhomogeneous dielectric/magnetic/insulator material properties defined as standard mathematical or Python expressions/functions of 3D spatial coordinates <br />
*New volume heat source defined as a standard mathematical or Python expression/function of 3D spatial coordinates<br />
*Import of SAR or dissipated power density data from [[EM.Tempo]] as a spatially distributed volume heat source<br />
*Computation of electric and magnetic energy densities, dissipated power density (Ohmic loss), and thermal energy density on field sensor planes<br />
*New mutual inductance field integral<br />
*New (alternative) capacitance and inductance field integrals defined based on energy<br />
*New (alternative) resistance field integrals defined based on Ohmic power loss<br />
*New thermal flux and thermal energy field integrals<br />
*New standard output parameters for all the 18 field integral types<br />
*New volumetric field sensor observables<br />
*3D visualization of surface and volumetric spatial Cartesian data overlaid on the scene<br />
<br />
=== New EM.Picasso (Planar MoM) Features ===<br />
<br />
*Improved planar mesh generation for structures with vertical vias of irregular shape and arrays of via objects <br />
*New capability of handling edge vias and short thin vertical walls (fins) <br />
<br />
=== New EM.Illumina (Physical Optics) Features ===<br />
<br />
*New improved formulation of lossy dielectric surfaces and dielectric-coated PEC objects based on the method of equivalent current approximation (MECA)<br />
*New Gaussian beam sources<br />
*Huygens source arrays with amplitude and phase distribution<br />
<br />
=== New Miscellaneous CubeCAD Features ===<br />
<br />
*Expanded material list with mechanical and thermal properties<br />
*New list of available standard output parameters based on the project's observables<br />
*Improved and enhanced custom (user-defined) output parameters that can be updated instantly at post-processing<br />
*New functionality added to "Consolidate" tool for converting special transform objects to generic solid, surface or curve objects <br />
*Improved "Random Group (Cloud)" tool for more efficient Monte Carlo simulations<br />
*New capability added to "Roughen" tool for converting random roughened surfaces or objects to Polymesh objects for the purpose of freezing or export <br />
*New expanded graph controls for Matlab-style 2D and 3D plot types<br />
*New option to enable/disable 3D visualization of far-field data during sweep simulations<br />
*New option for arbitrary translation and scaling of 3D radiation and RCS patterns in the scene<br />
*Enhanced array factor with phase progression for the radiation pattern observable associated with a single radiating element<br />
<br />
=== New Python Capabilities ===<br />
<br />
*New startup Python script<br />
*New Python commands for project and file management<br />
*New Python commands for getting and setting individual properties of geometric objects <br />
*New Python commands for accessing individual objects from the navigation tree<br />
*New Python commands for identifying and accessing material groups and their object members in the navigation tree <br />
*New Python commands for getting the coordinates of nodes of a nodal curve<br />
*New Python command for aligning one of the six faces of the bounding box of an object at a certain coordinate<br />
*New Python commands for retrieving the value of a standard or custom output parameter<br />
*New Python command for setting the boundary conditions of [[EM.Ferma]]<br />
*New Python command for setting up a thermal simulation in [[EM.Ferma]]<br />
*New Python commands for defining all the 18 types of field integrals in [[EM.Ferma]]<br />
*New Python command for creating generic spatial Cartesian data in CubeCAD, [[EM.Tempo]] and [[EM.Ferma]]<br />
*New Python functions for translating, rotating, scaling, aligning and mirroring all the objects in the project workspace<br />
*New Python function for rotating a radiation pattern<br />
*New Python function for computing the radiation pattern of a generalized 3D array<br />
*New Python function for generating the radiation pattern of a Huygens surface data file<br />
*New Python functions for summing, differencing and scaling of .RAD, .RCS, .SEN, .CAR, .HUY and .COV data files<br />
*New Python functions for averaging a set of radiation pattern, RCS or received power coverage data files<br />
*New Python function for extracting a portion of a field sensor or a Cartesian data file<br />
*New Python function for generating a Touchstone file from S-parameter data files<br />
*Improved surrogate model generation based on the high-dimensional model representation (HDMR) technique and association with Python functions of the same name<br />
*Improved Python script for sweeping a Python function or a surrogate model with cubic spline interpolation <br />
*Improved Python script for genetic algorithm (GA) optimization of a Python function or a surrogate model <br />
*Improved Python script for Monte Carlo simulation of a Python function or a surrogate model and generation of probability density functions (PDF) based on Gaussian kernel density estimation (KDE)<br />
<br />
=== Integration with NeoScan Field Measurement System ===<br />
<br />
*Automated export of [[NeoScan]] field measurement data to [[EM.Cube]]<br />
*Automated near-to-far-field transformation of the near-field data for computation of 3D radiation patterns <br />
*Automated computation of antenna gain and radiation efficiency<br />
*Automated generation of equivalent Huygens sources from measured near-field data <br />
*Matlab-style visualization of measured output signal power in dBm corresponding to individual-component and total field maps <br />
<br />
<br /><br />
<br />
<hr><br />
<br />
[[Image:Top_icon.png|30px]] '''[[#EM.Cube R18.1 Release At A Glance | Back to the Top of the Page]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/What%27s_New_in_EM.Cube_R19.1What's New in EM.Cube R19.12019-05-19T18:53:05Z<p>Kazem Sabet: /* New EM.Illumina (Physical Optics) Features */</p>
<hr />
<div>[[Image:Splash-generic2.jpg|right|720px]]<br />
<strong><font color="#07417e" size="4">MODULAR 3D ELECTROMAGNETIC SIMULATION SUITE <br /></font></strong><br />
<strong><font color="#707983" size="4">&nbsp; &nbsp; &nbsp; THAT GROWS WITH YOUR MODELING NEEDS</font></strong><br />
<table><br />
<tr><br />
<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:prop-ico.png | link=EM.Terrano]] [[image:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]] </td><br />
<tr><br />
</table><br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''<br />
<br />
=== EM.Cube R19.1 Release At A Glance ===<br />
<br />
The new [[EM.Cube]] R19.1 release is the most powerful electromagnetic simulation suite EMAG Technologies Inc. has ever produced in its history of more than two decades. The new release offers a combination of state-of-the-art simulation capabilities that reflect the latest advances in computational electromagnetics (CEM) as well as productivity features requested by our valued users.<br />
<br />
=== New EM.Tempo (FDTD) Features ===<br />
<br />
*New gyrotropic materials including biased ferrites and magnetoplasmas<br />
*Conversion of Drude conductors to equivalent isotropic plasmas <br />
*New inhomogeneous dielectric material properties defined as mathematical or Python expressions/functions of 3D spatial coordinates (x,y,z)<br />
*New streamlined way of defining voxel-based dielectric materials using a Python function for retrieving data from a 3D Cartesian (voxel) database<br />
*New arbitrarily oriented Hertzian short dipole sources compatible with [[EM.Cube]]'s other computational modules <br />
*Import of wire current solutions from [[EM.Libera]] as a set of Hertzian short dipole sources<br />
*New wire (filamentary) current sources parallel to one of the principal axes with a uniform, triangular or sinusoidal profile <br />
*Generalized lumped voltage sources on any PEC line object with an arbitrary orientation <br />
*Improved and streamlined multi-plane-wave source excitation including import of 3D polarimetric ray solutions from [[EM.Terrano]]<br />
*Conversion of zero-amplitude sources and ports to resistive termination loads (e.g. for modeling receiver antennas)<br />
*Improved "Fast Ports" capability for accelerated computation of S-parameters of resonant structures based on Prony's method of exponential interpolation/extrapolation<br />
*Extension of "Fast Ports" capability to multiport structures <br />
*Extension of "Fast Ports" to distributed sources and microstrip, CPW, coaxial and waveguide ports<br />
*New collocated series RL and parallel RC lumped devices on PEC lines parallel to one of the principal axes<br />
*New active one-port and two-port Netlist-based lumped circuits on PEC lines parallel to one of the principal axes<br />
*Streamlined Netlist generation for multiple lumped and distributed active one-port and two-port devices <br />
*Allowing subcircuits with local node indexing in Netlist definitions<br />
*New method of using nonlinear dependent B-type sources in Netlist definitions <br />
*Extension of Netlist definitions to all XSPICE parts and subcircuit-model-based devices including system-level behavioral models (virtual blocks)<br />
*Full compatibility with Netlist files generated by [[RF.Spice A/D]] and one-click loading of imported Netlist files <br />
*Allowing Python functions/expressions in the Netlist definition of lumped and distributed active devices<br />
*New distributed Huygens sources<br />
*New fast frequency and angular sweeps of periodic structures with oblique incidence using an existing dispersion sweep database <br />
*New streamlined single-run wideband multi-frequency observables with data management options (field sensors, radiation patterns, RCS and Huygens surfaces) <br />
*New "Polarimetric Scattering Matrix" sweep simulation as a special type of the RCS observable <br />
*Computation of total port voltages, total port currents and total port powers in both time and frequency domains for multiport structures <br />
*New standard output parameters for port voltages, port currents and port powers at the center frequency of the project<br />
*Computation of electric, magnetic and total energy densities, dissipated power density (Ohmic loss), specific absorption rate (SAR) density and complex Poynting vector on field sensor planes<br />
*New volumetric field sensor observables<br />
*Computation of the total electric and magnetic energy, total dissipated power (Ohmic loss) and total SAR for volumetric field sensors<br />
*3D visualization of surface and volumetric spatial Cartesian data overlaid on the scene<br />
*New option for sampling the field components of temporal field probes at the boundary of the Yee cell or at its center<br />
<br />
=== New EM.Terrano (Ray Tracing) Features ===<br />
<br />
*New plane wave source in the 3D SBR field solver<br />
*New far-field observables including radiation pattern and bistatic and monostatic RCS in the 3D SBR field solver based on equivalent Huygens surface integration<br />
*Improved ray angular resolution for SBR simulation of large propagation scenes in [[EM.Terrano]]<br />
*New 2D long-haul channel analyzer incorporating spherical earth, knife edge diffraction, rough surface diffusion and atmospheric effects<br />
*New 2D terrain profiler with terrain smoothing filters<br />
*New phased array capability at both transmitter and receiver nodes<br />
*Improved digital waveform capability including maximum bit error rate specification<br />
*Improved rotational sweep with simultaneous rotation of transmit and receive antennas using the polarimatrix solver<br />
<br />
=== New EM.Ferma (Static) Features ===<br />
<br />
*New thermal simulation engine (heat conduction and convection) for computation of steady-state temperature distribution and heat flux density<br />
*New inhomogeneous dielectric/magnetic/insulator material properties defined as standard mathematical or Python expressions/functions of 3D spatial coordinates <br />
*New volume heat source defined as a standard mathematical or Python expression/function of 3D spatial coordinates<br />
*Import of SAR or dissipated power density data from [[EM.Tempo]] as a spatially distributed volume heat source<br />
*Computation of electric and magnetic energy densities, dissipated power density (Ohmic loss), and thermal energy density on field sensor planes<br />
*New mutual inductance field integral<br />
*New (alternative) capacitance and inductance field integrals defined based on energy<br />
*New (alternative) resistance field integrals defined based on Ohmic power loss<br />
*New thermal flux and thermal energy field integrals<br />
*New standard output parameters for all the 18 field integral types<br />
*New volumetric field sensor observables<br />
*3D visualization of surface and volumetric spatial Cartesian data overlaid on the scene<br />
<br />
=== New EM.Picasso (Planar MoM) Features ===<br />
<br />
*Improved planar mesh generation for structures with vertical vias of irregular shape and arrays of via objects <br />
*New capability of handling edge vias and short thin vertical walls (fins) <br />
<br />
=== New EM.Illumina (Physical Optics) Features ===<br />
<br />
*New improved formulation of lossy dielectric surfaces and dielectric-coated PEC objects based on the method of equivalent current approximation (MECA)<br />
*New Gaussian beam sources<br />
*Huygens source arrays with amplitude and phase distribution<br />
<br />
=== New Miscellaneous CubeCAD Features ===<br />
<br />
*Expanded material list with mechanical and thermal properties<br />
*New list of available standard output parameters based on the project's observables<br />
*Improved and enhanced custom (user-defined) output parameters that can be updated instantly at post-processing<br />
*New functionality added to "Consolidate" tool for converting special transform objects to generic solid, surface or curve objects <br />
*Improved "Random Group (Cloud)" tool for more efficient Monte Carlo simulations<br />
*New capability added to "Roughen" tool for converting random roughened surfaces or objects to Polymesh objects for the purpose of freezing or export <br />
*New expanded graph controls for Matlab-style 2D and 3D plot types<br />
*New option to enable/disable 3D visualization of far-field data during sweep simulations<br />
*New option for arbitrary translation and scaling of 3D radiation and RCS patterns in the scene<br />
*Enhanced array factor with phase progression for the radiation pattern observable associated with a single radiating element<br />
<br />
=== New Python Capabilities ===<br />
<br />
*New startup Python script<br />
*New Python commands for project and file management<br />
*New Python commands for getting and setting individual properties of geometric objects <br />
*New Python commands for accessing individual objects from the navigation tree<br />
*New Python commands for identifying and accessing material groups and their object members in the navigation tree <br />
*New Python commands for getting the coordinates of nodes of a nodal curve<br />
*New Python command for aligning one of the six faces of the bounding box of an object at a certain coordinate<br />
*New Python commands for retrieving the value of a standard or custom output parameter<br />
*New Python command for setting the boundary conditions of [[EM.Ferma]]<br />
*New Python command for setting up a thermal simulation in [[EM.Ferma]]<br />
*New Python commands for defining all the 18 types of field integrals in [[EM.Ferma]]<br />
*New Python command for creating generic spatial Cartesian data in CubeCAD, [[EM.Tempo]] and [[EM.Ferma]]<br />
*New Python functions for translating, rotating, scaling, aligning and mirroring all the objects in the project workspace<br />
*New Python function for rotating a radiation pattern<br />
*New Python function for computing the radiation pattern of a generalized 3D array<br />
*New Python function for generating the radiation pattern of a Huygens surface data file<br />
*New Python functions for summing, differencing and scaling of .RAD, .RCS, .SEN, .CAR, .HUY and .COV data files<br />
*New Python functions for averaging a set of radiation pattern, RCS or received power coverage data files<br />
*New Python function for extracting a portion of a field sensor or a Cartesian data file<br />
*New Python function for generating a Touchstone file from S-parameter data files<br />
*Improved surrogate model generation based on the high-dimensional model representation (HDMR) technique and association with Python functions of the same name<br />
*Improved Python script for sweeping a Python function or a surrogate model with cubic spline interpolation <br />
*Improved Python script for genetic algorithm (GA) optimization of a Python function or a surrogate model <br />
*Improved Python script for Monte Carlo simulation of a Python function or a surrogate model and generation of probability density functions (PDF) based on Gaussian kernel density estimation (KDE)<br />
<br />
=== Integration with NeoScan Field Measurement System ===<br />
<br />
*Automated export of [[NeoScan]] field measurement data to [[EM.Cube]]<br />
*Automated near-to-far-field transformation of the near-field data for computation of 3D radiation patterns <br />
*Automated computation of antenna gain and radiation efficiency<br />
*Automated generation of equivalent Huygens sources from measured near-field data <br />
*Matlab-style visualization of measured output signal power in dBm corresponding to individual-component and total field maps <br />
<br />
<br /><br />
<br />
<hr><br />
<br />
[[Image:Top_icon.png|30px]] '''[[#EM.Cube R18.1 Release At A Glance | Back to the Top of the Page]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/What%27s_New_in_EM.Cube_R19.1What's New in EM.Cube R19.12019-05-19T18:51:10Z<p>Kazem Sabet: /* New EM.Terrano (Ray Tracing) Features */</p>
<hr />
<div>[[Image:Splash-generic2.jpg|right|720px]]<br />
<strong><font color="#07417e" size="4">MODULAR 3D ELECTROMAGNETIC SIMULATION SUITE <br /></font></strong><br />
<strong><font color="#707983" size="4">&nbsp; &nbsp; &nbsp; THAT GROWS WITH YOUR MODELING NEEDS</font></strong><br />
<table><br />
<tr><br />
<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:prop-ico.png | link=EM.Terrano]] [[image:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]] </td><br />
<tr><br />
</table><br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''<br />
<br />
=== EM.Cube R19.1 Release At A Glance ===<br />
<br />
The new [[EM.Cube]] R19.1 release is the most powerful electromagnetic simulation suite EMAG Technologies Inc. has ever produced in its history of more than two decades. The new release offers a combination of state-of-the-art simulation capabilities that reflect the latest advances in computational electromagnetics (CEM) as well as productivity features requested by our valued users.<br />
<br />
=== New EM.Tempo (FDTD) Features ===<br />
<br />
*New gyrotropic materials including biased ferrites and magnetoplasmas<br />
*Conversion of Drude conductors to equivalent isotropic plasmas <br />
*New inhomogeneous dielectric material properties defined as mathematical or Python expressions/functions of 3D spatial coordinates (x,y,z)<br />
*New streamlined way of defining voxel-based dielectric materials using a Python function for retrieving data from a 3D Cartesian (voxel) database<br />
*New arbitrarily oriented Hertzian short dipole sources compatible with [[EM.Cube]]'s other computational modules <br />
*Import of wire current solutions from [[EM.Libera]] as a set of Hertzian short dipole sources<br />
*New wire (filamentary) current sources parallel to one of the principal axes with a uniform, triangular or sinusoidal profile <br />
*Generalized lumped voltage sources on any PEC line object with an arbitrary orientation <br />
*Improved and streamlined multi-plane-wave source excitation including import of 3D polarimetric ray solutions from [[EM.Terrano]]<br />
*Conversion of zero-amplitude sources and ports to resistive termination loads (e.g. for modeling receiver antennas)<br />
*Improved "Fast Ports" capability for accelerated computation of S-parameters of resonant structures based on Prony's method of exponential interpolation/extrapolation<br />
*Extension of "Fast Ports" capability to multiport structures <br />
*Extension of "Fast Ports" to distributed sources and microstrip, CPW, coaxial and waveguide ports<br />
*New collocated series RL and parallel RC lumped devices on PEC lines parallel to one of the principal axes<br />
*New active one-port and two-port Netlist-based lumped circuits on PEC lines parallel to one of the principal axes<br />
*Streamlined Netlist generation for multiple lumped and distributed active one-port and two-port devices <br />
*Allowing subcircuits with local node indexing in Netlist definitions<br />
*New method of using nonlinear dependent B-type sources in Netlist definitions <br />
*Extension of Netlist definitions to all XSPICE parts and subcircuit-model-based devices including system-level behavioral models (virtual blocks)<br />
*Full compatibility with Netlist files generated by [[RF.Spice A/D]] and one-click loading of imported Netlist files <br />
*Allowing Python functions/expressions in the Netlist definition of lumped and distributed active devices<br />
*New distributed Huygens sources<br />
*New fast frequency and angular sweeps of periodic structures with oblique incidence using an existing dispersion sweep database <br />
*New streamlined single-run wideband multi-frequency observables with data management options (field sensors, radiation patterns, RCS and Huygens surfaces) <br />
*New "Polarimetric Scattering Matrix" sweep simulation as a special type of the RCS observable <br />
*Computation of total port voltages, total port currents and total port powers in both time and frequency domains for multiport structures <br />
*New standard output parameters for port voltages, port currents and port powers at the center frequency of the project<br />
*Computation of electric, magnetic and total energy densities, dissipated power density (Ohmic loss), specific absorption rate (SAR) density and complex Poynting vector on field sensor planes<br />
*New volumetric field sensor observables<br />
*Computation of the total electric and magnetic energy, total dissipated power (Ohmic loss) and total SAR for volumetric field sensors<br />
*3D visualization of surface and volumetric spatial Cartesian data overlaid on the scene<br />
*New option for sampling the field components of temporal field probes at the boundary of the Yee cell or at its center<br />
<br />
=== New EM.Terrano (Ray Tracing) Features ===<br />
<br />
*New plane wave source in the 3D SBR field solver<br />
*New far-field observables including radiation pattern and bistatic and monostatic RCS in the 3D SBR field solver based on equivalent Huygens surface integration<br />
*Improved ray angular resolution for SBR simulation of large propagation scenes in [[EM.Terrano]]<br />
*New 2D long-haul channel analyzer incorporating spherical earth, knife edge diffraction, rough surface diffusion and atmospheric effects<br />
*New 2D terrain profiler with terrain smoothing filters<br />
*New phased array capability at both transmitter and receiver nodes<br />
*Improved digital waveform capability including maximum bit error rate specification<br />
*Improved rotational sweep with simultaneous rotation of transmit and receive antennas using the polarimatrix solver<br />
<br />
=== New EM.Ferma (Static) Features ===<br />
<br />
*New thermal simulation engine (heat conduction and convection) for computation of steady-state temperature distribution and heat flux density<br />
*New inhomogeneous dielectric/magnetic/insulator material properties defined as standard mathematical or Python expressions/functions of 3D spatial coordinates <br />
*New volume heat source defined as a standard mathematical or Python expression/function of 3D spatial coordinates<br />
*Import of SAR or dissipated power density data from [[EM.Tempo]] as a spatially distributed volume heat source<br />
*Computation of electric and magnetic energy densities, dissipated power density (Ohmic loss), and thermal energy density on field sensor planes<br />
*New mutual inductance field integral<br />
*New (alternative) capacitance and inductance field integrals defined based on energy<br />
*New (alternative) resistance field integrals defined based on Ohmic power loss<br />
*New thermal flux and thermal energy field integrals<br />
*New standard output parameters for all the 18 field integral types<br />
*New volumetric field sensor observables<br />
*3D visualization of surface and volumetric spatial Cartesian data overlaid on the scene<br />
<br />
=== New EM.Picasso (Planar MoM) Features ===<br />
<br />
*Improved planar mesh generation for structures with vertical vias of irregular shape and arrays of via objects <br />
*New capability of handling edge vias and short thin vertical walls (fins) <br />
<br />
=== New EM.Illumina (Physical Optics) Features ===<br />
<br />
*Improved, more accurate formulation of impedance surfaces in GO-PO and IPO solvers <br />
*Four impedance surface types: dielectric-coated PEC, imperfect conductor, high refractive index medium interface and fixed-impedance surface<br />
<br />
=== New Miscellaneous CubeCAD Features ===<br />
<br />
*Expanded material list with mechanical and thermal properties<br />
*New list of available standard output parameters based on the project's observables<br />
*Improved and enhanced custom (user-defined) output parameters that can be updated instantly at post-processing<br />
*New functionality added to "Consolidate" tool for converting special transform objects to generic solid, surface or curve objects <br />
*Improved "Random Group (Cloud)" tool for more efficient Monte Carlo simulations<br />
*New capability added to "Roughen" tool for converting random roughened surfaces or objects to Polymesh objects for the purpose of freezing or export <br />
*New expanded graph controls for Matlab-style 2D and 3D plot types<br />
*New option to enable/disable 3D visualization of far-field data during sweep simulations<br />
*New option for arbitrary translation and scaling of 3D radiation and RCS patterns in the scene<br />
*Enhanced array factor with phase progression for the radiation pattern observable associated with a single radiating element<br />
<br />
=== New Python Capabilities ===<br />
<br />
*New startup Python script<br />
*New Python commands for project and file management<br />
*New Python commands for getting and setting individual properties of geometric objects <br />
*New Python commands for accessing individual objects from the navigation tree<br />
*New Python commands for identifying and accessing material groups and their object members in the navigation tree <br />
*New Python commands for getting the coordinates of nodes of a nodal curve<br />
*New Python command for aligning one of the six faces of the bounding box of an object at a certain coordinate<br />
*New Python commands for retrieving the value of a standard or custom output parameter<br />
*New Python command for setting the boundary conditions of [[EM.Ferma]]<br />
*New Python command for setting up a thermal simulation in [[EM.Ferma]]<br />
*New Python commands for defining all the 18 types of field integrals in [[EM.Ferma]]<br />
*New Python command for creating generic spatial Cartesian data in CubeCAD, [[EM.Tempo]] and [[EM.Ferma]]<br />
*New Python functions for translating, rotating, scaling, aligning and mirroring all the objects in the project workspace<br />
*New Python function for rotating a radiation pattern<br />
*New Python function for computing the radiation pattern of a generalized 3D array<br />
*New Python function for generating the radiation pattern of a Huygens surface data file<br />
*New Python functions for summing, differencing and scaling of .RAD, .RCS, .SEN, .CAR, .HUY and .COV data files<br />
*New Python functions for averaging a set of radiation pattern, RCS or received power coverage data files<br />
*New Python function for extracting a portion of a field sensor or a Cartesian data file<br />
*New Python function for generating a Touchstone file from S-parameter data files<br />
*Improved surrogate model generation based on the high-dimensional model representation (HDMR) technique and association with Python functions of the same name<br />
*Improved Python script for sweeping a Python function or a surrogate model with cubic spline interpolation <br />
*Improved Python script for genetic algorithm (GA) optimization of a Python function or a surrogate model <br />
*Improved Python script for Monte Carlo simulation of a Python function or a surrogate model and generation of probability density functions (PDF) based on Gaussian kernel density estimation (KDE)<br />
<br />
=== Integration with NeoScan Field Measurement System ===<br />
<br />
*Automated export of [[NeoScan]] field measurement data to [[EM.Cube]]<br />
*Automated near-to-far-field transformation of the near-field data for computation of 3D radiation patterns <br />
*Automated computation of antenna gain and radiation efficiency<br />
*Automated generation of equivalent Huygens sources from measured near-field data <br />
*Matlab-style visualization of measured output signal power in dBm corresponding to individual-component and total field maps <br />
<br />
<br /><br />
<br />
<hr><br />
<br />
[[Image:Top_icon.png|30px]] '''[[#EM.Cube R18.1 Release At A Glance | Back to the Top of the Page]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/What%27s_New_in_EM.Cube_R19.1What's New in EM.Cube R19.12019-05-19T18:47:16Z<p>Kazem Sabet: </p>
<hr />
<div>[[Image:Splash-generic2.jpg|right|720px]]<br />
<strong><font color="#07417e" size="4">MODULAR 3D ELECTROMAGNETIC SIMULATION SUITE <br /></font></strong><br />
<strong><font color="#707983" size="4">&nbsp; &nbsp; &nbsp; THAT GROWS WITH YOUR MODELING NEEDS</font></strong><br />
<table><br />
<tr><br />
<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:prop-ico.png | link=EM.Terrano]] [[image:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]] </td><br />
<tr><br />
</table><br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''<br />
<br />
=== EM.Cube R19.1 Release At A Glance ===<br />
<br />
The new [[EM.Cube]] R19.1 release is the most powerful electromagnetic simulation suite EMAG Technologies Inc. has ever produced in its history of more than two decades. The new release offers a combination of state-of-the-art simulation capabilities that reflect the latest advances in computational electromagnetics (CEM) as well as productivity features requested by our valued users.<br />
<br />
=== New EM.Tempo (FDTD) Features ===<br />
<br />
*New gyrotropic materials including biased ferrites and magnetoplasmas<br />
*Conversion of Drude conductors to equivalent isotropic plasmas <br />
*New inhomogeneous dielectric material properties defined as mathematical or Python expressions/functions of 3D spatial coordinates (x,y,z)<br />
*New streamlined way of defining voxel-based dielectric materials using a Python function for retrieving data from a 3D Cartesian (voxel) database<br />
*New arbitrarily oriented Hertzian short dipole sources compatible with [[EM.Cube]]'s other computational modules <br />
*Import of wire current solutions from [[EM.Libera]] as a set of Hertzian short dipole sources<br />
*New wire (filamentary) current sources parallel to one of the principal axes with a uniform, triangular or sinusoidal profile <br />
*Generalized lumped voltage sources on any PEC line object with an arbitrary orientation <br />
*Improved and streamlined multi-plane-wave source excitation including import of 3D polarimetric ray solutions from [[EM.Terrano]]<br />
*Conversion of zero-amplitude sources and ports to resistive termination loads (e.g. for modeling receiver antennas)<br />
*Improved "Fast Ports" capability for accelerated computation of S-parameters of resonant structures based on Prony's method of exponential interpolation/extrapolation<br />
*Extension of "Fast Ports" capability to multiport structures <br />
*Extension of "Fast Ports" to distributed sources and microstrip, CPW, coaxial and waveguide ports<br />
*New collocated series RL and parallel RC lumped devices on PEC lines parallel to one of the principal axes<br />
*New active one-port and two-port Netlist-based lumped circuits on PEC lines parallel to one of the principal axes<br />
*Streamlined Netlist generation for multiple lumped and distributed active one-port and two-port devices <br />
*Allowing subcircuits with local node indexing in Netlist definitions<br />
*New method of using nonlinear dependent B-type sources in Netlist definitions <br />
*Extension of Netlist definitions to all XSPICE parts and subcircuit-model-based devices including system-level behavioral models (virtual blocks)<br />
*Full compatibility with Netlist files generated by [[RF.Spice A/D]] and one-click loading of imported Netlist files <br />
*Allowing Python functions/expressions in the Netlist definition of lumped and distributed active devices<br />
*New distributed Huygens sources<br />
*New fast frequency and angular sweeps of periodic structures with oblique incidence using an existing dispersion sweep database <br />
*New streamlined single-run wideband multi-frequency observables with data management options (field sensors, radiation patterns, RCS and Huygens surfaces) <br />
*New "Polarimetric Scattering Matrix" sweep simulation as a special type of the RCS observable <br />
*Computation of total port voltages, total port currents and total port powers in both time and frequency domains for multiport structures <br />
*New standard output parameters for port voltages, port currents and port powers at the center frequency of the project<br />
*Computation of electric, magnetic and total energy densities, dissipated power density (Ohmic loss), specific absorption rate (SAR) density and complex Poynting vector on field sensor planes<br />
*New volumetric field sensor observables<br />
*Computation of the total electric and magnetic energy, total dissipated power (Ohmic loss) and total SAR for volumetric field sensors<br />
*3D visualization of surface and volumetric spatial Cartesian data overlaid on the scene<br />
*New option for sampling the field components of temporal field probes at the boundary of the Yee cell or at its center<br />
<br />
=== New EM.Terrano (Ray Tracing) Features ===<br />
<br />
*New plane wave source in [[EM.Terrano]]’s SBR simulator<br />
*New far-field observables including radiation pattern and bistatic and monostatic RCS in [[EM.Terrano]]’s SBR simulator based on equivalent Huygens surface integration<br />
*Improved ray angular resolution for SBR simulation of large propagation scenes in [[EM.Terrano]]<br />
*New 2D long-haul channel analyzer in [[EM.Terrano]] incorporating spherical earth, knife edge diffraction, rough surface diffusion and atmospheric effects<br />
*New 2D terrain profiler in [[EM.Terrano]] with terrain smoothing filters<br />
*New phased array capability in [[EM.Terrano]] at both transmitter and receiver nodes<br />
*Improved digital waveform capability in [[EM.Terrano]] including maximum bit error rate specification<br />
*Improved rotational sweep with simultaneous rotation of transmit and receive antennas in [[EM.Terrano]]<br />
<br />
=== New EM.Ferma (Static) Features ===<br />
<br />
*New thermal simulation engine (heat conduction and convection) for computation of steady-state temperature distribution and heat flux density<br />
*New inhomogeneous dielectric/magnetic/insulator material properties defined as standard mathematical or Python expressions/functions of 3D spatial coordinates <br />
*New volume heat source defined as a standard mathematical or Python expression/function of 3D spatial coordinates<br />
*Import of SAR or dissipated power density data from [[EM.Tempo]] as a spatially distributed volume heat source<br />
*Computation of electric and magnetic energy densities, dissipated power density (Ohmic loss), and thermal energy density on field sensor planes<br />
*New mutual inductance field integral<br />
*New (alternative) capacitance and inductance field integrals defined based on energy<br />
*New (alternative) resistance field integrals defined based on Ohmic power loss<br />
*New thermal flux and thermal energy field integrals<br />
*New standard output parameters for all the 18 field integral types<br />
*New volumetric field sensor observables<br />
*3D visualization of surface and volumetric spatial Cartesian data overlaid on the scene<br />
<br />
=== New EM.Picasso (Planar MoM) Features ===<br />
<br />
*Improved planar mesh generation for structures with vertical vias of irregular shape and arrays of via objects <br />
*New capability of handling edge vias and short thin vertical walls (fins) <br />
<br />
=== New EM.Illumina (Physical Optics) Features ===<br />
<br />
*Improved, more accurate formulation of impedance surfaces in GO-PO and IPO solvers <br />
*Four impedance surface types: dielectric-coated PEC, imperfect conductor, high refractive index medium interface and fixed-impedance surface<br />
<br />
=== New Miscellaneous CubeCAD Features ===<br />
<br />
*Expanded material list with mechanical and thermal properties<br />
*New list of available standard output parameters based on the project's observables<br />
*Improved and enhanced custom (user-defined) output parameters that can be updated instantly at post-processing<br />
*New functionality added to "Consolidate" tool for converting special transform objects to generic solid, surface or curve objects <br />
*Improved "Random Group (Cloud)" tool for more efficient Monte Carlo simulations<br />
*New capability added to "Roughen" tool for converting random roughened surfaces or objects to Polymesh objects for the purpose of freezing or export <br />
*New expanded graph controls for Matlab-style 2D and 3D plot types<br />
*New option to enable/disable 3D visualization of far-field data during sweep simulations<br />
*New option for arbitrary translation and scaling of 3D radiation and RCS patterns in the scene<br />
*Enhanced array factor with phase progression for the radiation pattern observable associated with a single radiating element<br />
<br />
=== New Python Capabilities ===<br />
<br />
*New startup Python script<br />
*New Python commands for project and file management<br />
*New Python commands for getting and setting individual properties of geometric objects <br />
*New Python commands for accessing individual objects from the navigation tree<br />
*New Python commands for identifying and accessing material groups and their object members in the navigation tree <br />
*New Python commands for getting the coordinates of nodes of a nodal curve<br />
*New Python command for aligning one of the six faces of the bounding box of an object at a certain coordinate<br />
*New Python commands for retrieving the value of a standard or custom output parameter<br />
*New Python command for setting the boundary conditions of [[EM.Ferma]]<br />
*New Python command for setting up a thermal simulation in [[EM.Ferma]]<br />
*New Python commands for defining all the 18 types of field integrals in [[EM.Ferma]]<br />
*New Python command for creating generic spatial Cartesian data in CubeCAD, [[EM.Tempo]] and [[EM.Ferma]]<br />
*New Python functions for translating, rotating, scaling, aligning and mirroring all the objects in the project workspace<br />
*New Python function for rotating a radiation pattern<br />
*New Python function for computing the radiation pattern of a generalized 3D array<br />
*New Python function for generating the radiation pattern of a Huygens surface data file<br />
*New Python functions for summing, differencing and scaling of .RAD, .RCS, .SEN, .CAR, .HUY and .COV data files<br />
*New Python functions for averaging a set of radiation pattern, RCS or received power coverage data files<br />
*New Python function for extracting a portion of a field sensor or a Cartesian data file<br />
*New Python function for generating a Touchstone file from S-parameter data files<br />
*Improved surrogate model generation based on the high-dimensional model representation (HDMR) technique and association with Python functions of the same name<br />
*Improved Python script for sweeping a Python function or a surrogate model with cubic spline interpolation <br />
*Improved Python script for genetic algorithm (GA) optimization of a Python function or a surrogate model <br />
*Improved Python script for Monte Carlo simulation of a Python function or a surrogate model and generation of probability density functions (PDF) based on Gaussian kernel density estimation (KDE)<br />
<br />
=== Integration with NeoScan Field Measurement System ===<br />
<br />
*Automated export of [[NeoScan]] field measurement data to [[EM.Cube]]<br />
*Automated near-to-far-field transformation of the near-field data for computation of 3D radiation patterns <br />
*Automated computation of antenna gain and radiation efficiency<br />
*Automated generation of equivalent Huygens sources from measured near-field data <br />
*Matlab-style visualization of measured output signal power in dBm corresponding to individual-component and total field maps <br />
<br />
<br /><br />
<br />
<hr><br />
<br />
[[Image:Top_icon.png|30px]] '''[[#EM.Cube R18.1 Release At A Glance | Back to the Top of the Page]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/What%27s_New_in_EM.Cube_R19.1What's New in EM.Cube R19.12019-05-19T18:45:46Z<p>Kazem Sabet: Created page with "720px <strong><font color="#07417e" size="4">MODULAR 3D ELECTROMAGNETIC SIMULATION SUITE <br /></font></strong> <strong><font color="#70798..."</p>
<hr />
<div>[[Image:Splash-generic2.jpg|right|720px]]<br />
<strong><font color="#07417e" size="4">MODULAR 3D ELECTROMAGNETIC SIMULATION SUITE <br /></font></strong><br />
<strong><font color="#707983" size="4">&nbsp; &nbsp; &nbsp; THAT GROWS WITH YOUR MODELING NEEDS</font></strong><br />
<table><br />
<tr><br />
<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:prop-ico.png | link=EM.Terrano]] [[image:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]] </td><br />
<tr><br />
</table><br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''<br />
<br />
=== EM.Cube R18.1 Release At A Glance ===<br />
<br />
The new [[EM.Cube]] R18.1 release is the most powerful electromagnetic simulation suite EMAG Technologies Inc. has ever produced in its history of more than two decades. The new release offers a combination of state-of-the-art simulation capabilities that reflect the latest advances in computational electromagnetics (CEM) as well as productivity features requested by our valued users.<br />
<br />
=== New EM.Tempo (FDTD) Features ===<br />
<br />
*New gyrotropic materials including biased ferrites and magnetoplasmas<br />
*Conversion of Drude conductors to equivalent isotropic plasmas <br />
*New inhomogeneous dielectric material properties defined as mathematical or Python expressions/functions of 3D spatial coordinates (x,y,z)<br />
*New streamlined way of defining voxel-based dielectric materials using a Python function for retrieving data from a 3D Cartesian (voxel) database<br />
*New arbitrarily oriented Hertzian short dipole sources compatible with [[EM.Cube]]'s other computational modules <br />
*Import of wire current solutions from [[EM.Libera]] as a set of Hertzian short dipole sources<br />
*New wire (filamentary) current sources parallel to one of the principal axes with a uniform, triangular or sinusoidal profile <br />
*Generalized lumped voltage sources on any PEC line object with an arbitrary orientation <br />
*Improved and streamlined multi-plane-wave source excitation including import of 3D polarimetric ray solutions from [[EM.Terrano]]<br />
*Conversion of zero-amplitude sources and ports to resistive termination loads (e.g. for modeling receiver antennas)<br />
*Improved "Fast Ports" capability for accelerated computation of S-parameters of resonant structures based on Prony's method of exponential interpolation/extrapolation<br />
*Extension of "Fast Ports" capability to multiport structures <br />
*Extension of "Fast Ports" to distributed sources and microstrip, CPW, coaxial and waveguide ports<br />
*New collocated series RL and parallel RC lumped devices on PEC lines parallel to one of the principal axes<br />
*New active one-port and two-port Netlist-based lumped circuits on PEC lines parallel to one of the principal axes<br />
*Streamlined Netlist generation for multiple lumped and distributed active one-port and two-port devices <br />
*Allowing subcircuits with local node indexing in Netlist definitions<br />
*New method of using nonlinear dependent B-type sources in Netlist definitions <br />
*Extension of Netlist definitions to all XSPICE parts and subcircuit-model-based devices including system-level behavioral models (virtual blocks)<br />
*Full compatibility with Netlist files generated by [[RF.Spice A/D]] and one-click loading of imported Netlist files <br />
*Allowing Python functions/expressions in the Netlist definition of lumped and distributed active devices<br />
*New distributed Huygens sources<br />
*New fast frequency and angular sweeps of periodic structures with oblique incidence using an existing dispersion sweep database <br />
*New streamlined single-run wideband multi-frequency observables with data management options (field sensors, radiation patterns, RCS and Huygens surfaces) <br />
*New "Polarimetric Scattering Matrix" sweep simulation as a special type of the RCS observable <br />
*Computation of total port voltages, total port currents and total port powers in both time and frequency domains for multiport structures <br />
*New standard output parameters for port voltages, port currents and port powers at the center frequency of the project<br />
*Computation of electric, magnetic and total energy densities, dissipated power density (Ohmic loss), specific absorption rate (SAR) density and complex Poynting vector on field sensor planes<br />
*New volumetric field sensor observables<br />
*Computation of the total electric and magnetic energy, total dissipated power (Ohmic loss) and total SAR for volumetric field sensors<br />
*3D visualization of surface and volumetric spatial Cartesian data overlaid on the scene<br />
*New option for sampling the field components of temporal field probes at the boundary of the Yee cell or at its center<br />
<br />
=== New EM.Terrano (Ray Tracing) Features ===<br />
<br />
*New digital modulation schemes with 17 waveform types and computation of Eb/N0 and bit error rate (BER)<br />
*New standard output parameters for SNR, Eb/N0 and BER of the selected receiver with instant update upon changing receiver index<br />
*Fast broadband frequency sweep of the propagation scene with uniformly spaced or discrete frequency samples in a single SBR simulation run<br />
*New option for using multi-frequency radiation patterns in frequency sweeps<br />
*New option for visualizing 3D radiation patterns overlaid on the propagation scene<br />
*Complete polarimetric (theta-phi) characterization of the propagation channel for MIMO analysis <br />
*New "almost real-time" Polarimatrix solver using an existing 3D ray database as an alternative to physical ray tracing <br />
*Real-time transmitter sweep for modeling mobile transmitters using the new Polarimatrix solver <br />
*Real-time rotational sweep for modeling beam scanning using the new Polarimatrix solver <br />
*Real-time mobile (point-to-point) sweep simulation of transmitter-receiver pairs using the new Polarimatrix solver <br />
*New Mobile Path wizard based on existing nodal curves or imported 3D spatial Cartesian data files<br />
*New Point Scatterer sets with imported polarimetric scattering matrix data files<br />
*New Radar Simulator generating a ray tracing solution of bistatic and monostatic radar system configurations <br />
*Improved "Random City" wizard with a larger number of building parameters <br />
*Improved "Basic Link" wizard with parameterized transmitter and receiver heights<br />
*New distributed transmitters and receivers using Huygens sources<br />
<br />
=== New EM.Ferma (Static) Features ===<br />
<br />
*New thermal simulation engine (heat conduction and convection) for computation of steady-state temperature distribution and heat flux density<br />
*New inhomogeneous dielectric/magnetic/insulator material properties defined as standard mathematical or Python expressions/functions of 3D spatial coordinates <br />
*New volume heat source defined as a standard mathematical or Python expression/function of 3D spatial coordinates<br />
*Import of SAR or dissipated power density data from [[EM.Tempo]] as a spatially distributed volume heat source<br />
*Computation of electric and magnetic energy densities, dissipated power density (Ohmic loss), and thermal energy density on field sensor planes<br />
*New mutual inductance field integral<br />
*New (alternative) capacitance and inductance field integrals defined based on energy<br />
*New (alternative) resistance field integrals defined based on Ohmic power loss<br />
*New thermal flux and thermal energy field integrals<br />
*New standard output parameters for all the 18 field integral types<br />
*New volumetric field sensor observables<br />
*3D visualization of surface and volumetric spatial Cartesian data overlaid on the scene<br />
<br />
=== New EM.Picasso (Planar MoM) Features ===<br />
<br />
*Improved planar mesh generation for structures with vertical vias of irregular shape and arrays of via objects <br />
*New capability of handling edge vias and short thin vertical walls (fins) <br />
<br />
=== New EM.Illumina (Physical Optics) Features ===<br />
<br />
*Improved, more accurate formulation of impedance surfaces in GO-PO and IPO solvers <br />
*Four impedance surface types: dielectric-coated PEC, imperfect conductor, high refractive index medium interface and fixed-impedance surface<br />
<br />
=== New Miscellaneous CubeCAD Features ===<br />
<br />
*Expanded material list with mechanical and thermal properties<br />
*New list of available standard output parameters based on the project's observables<br />
*Improved and enhanced custom (user-defined) output parameters that can be updated instantly at post-processing<br />
*New functionality added to "Consolidate" tool for converting special transform objects to generic solid, surface or curve objects <br />
*Improved "Random Group (Cloud)" tool for more efficient Monte Carlo simulations<br />
*New capability added to "Roughen" tool for converting random roughened surfaces or objects to Polymesh objects for the purpose of freezing or export <br />
*New expanded graph controls for Matlab-style 2D and 3D plot types<br />
*New option to enable/disable 3D visualization of far-field data during sweep simulations<br />
*New option for arbitrary translation and scaling of 3D radiation and RCS patterns in the scene<br />
*Enhanced array factor with phase progression for the radiation pattern observable associated with a single radiating element<br />
<br />
=== New Python Capabilities ===<br />
<br />
*New startup Python script<br />
*New Python commands for project and file management<br />
*New Python commands for getting and setting individual properties of geometric objects <br />
*New Python commands for accessing individual objects from the navigation tree<br />
*New Python commands for identifying and accessing material groups and their object members in the navigation tree <br />
*New Python commands for getting the coordinates of nodes of a nodal curve<br />
*New Python command for aligning one of the six faces of the bounding box of an object at a certain coordinate<br />
*New Python commands for retrieving the value of a standard or custom output parameter<br />
*New Python command for setting the boundary conditions of [[EM.Ferma]]<br />
*New Python command for setting up a thermal simulation in [[EM.Ferma]]<br />
*New Python commands for defining all the 18 types of field integrals in [[EM.Ferma]]<br />
*New Python command for creating generic spatial Cartesian data in CubeCAD, [[EM.Tempo]] and [[EM.Ferma]]<br />
*New Python functions for translating, rotating, scaling, aligning and mirroring all the objects in the project workspace<br />
*New Python function for rotating a radiation pattern<br />
*New Python function for computing the radiation pattern of a generalized 3D array<br />
*New Python function for generating the radiation pattern of a Huygens surface data file<br />
*New Python functions for summing, differencing and scaling of .RAD, .RCS, .SEN, .CAR, .HUY and .COV data files<br />
*New Python functions for averaging a set of radiation pattern, RCS or received power coverage data files<br />
*New Python function for extracting a portion of a field sensor or a Cartesian data file<br />
*New Python function for generating a Touchstone file from S-parameter data files<br />
*Improved surrogate model generation based on the high-dimensional model representation (HDMR) technique and association with Python functions of the same name<br />
*Improved Python script for sweeping a Python function or a surrogate model with cubic spline interpolation <br />
*Improved Python script for genetic algorithm (GA) optimization of a Python function or a surrogate model <br />
*Improved Python script for Monte Carlo simulation of a Python function or a surrogate model and generation of probability density functions (PDF) based on Gaussian kernel density estimation (KDE)<br />
<br />
=== Integration with NeoScan Field Measurement System ===<br />
<br />
*Automated export of [[NeoScan]] field measurement data to [[EM.Cube]]<br />
*Automated near-to-far-field transformation of the near-field data for computation of 3D radiation patterns <br />
*Automated computation of antenna gain and radiation efficiency<br />
*Automated generation of equivalent Huygens sources from measured near-field data <br />
*Matlab-style visualization of measured output signal power in dBm corresponding to individual-component and total field maps <br />
<br />
<br /><br />
<br />
<hr><br />
<br />
[[Image:Top_icon.png|30px]] '''[[#EM.Cube R18.1 Release At A Glance | Back to the Top of the Page]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/New_TutorialsNew Tutorials2019-05-19T18:45:10Z<p>Kazem Sabet: /* EM.Cube Tutorials */</p>
<hr />
<div>== EM.Cube Tutorials ==<br />
<br />
Each tutorial lesson listed below walks you through the basic features of one of [[EM.Cube]]'s computational modules:<br />
<br />
----------------------------------------------------------------------------------------<br />
<br />
These are the new pages added or modified for [[EM.Cube]] Release R17:<br />
<br />
<br />
[[New PO Theory]]<br />
<br />
<br />
[[What's New in EM.Cube R19.1]]<br />
<br />
<br />
----------------------------------------------------------------------------------------<br />
<br />
<br />
These are the old [[EM.Cube]] documentation pages:<br />
<br />
<br />
[[The Old EM.Cube Wiki Start Page]]<br />
<br />
[[THE OLD Getting Started with EM.Cube]]<br />
<br />
[[THE OLD What's New in EM.Cube 2016?]]<br />
<br />
[[THE OLD Defining Simulation Observables & Visualizing Output Data]]<br />
<br />
<br />
<br />
<br />
---------------------------------<br />
<br />
<br />
[[V&V Article 6: Using EM.Cube And NeoScan System Together For Antenna Design]]<br />
<br />
<br />
[[Installing EM.Cube]]<br />
<br />
[[EM.Cube FAQ]]<br />
<br />
<br />
----------------------------------------------------------------------------------------<br />
<br />
<br />
These are all old stuff:<br />
<br />
<br />
[[NeoScan_Complete]]<br />
<br />
[[NeoScan Manuals]]<br />
<br />
[[NeoScan Manual Part A: Getting Started]]<br />
<br />
<br />
<br />
<br />
<table><br />
<tr><br />
<td><br />
{|class="wikitable"<br />
|-<br />
! [[EM.Cube]] <br />
|-<br />
|[[File:emcubePAGE.png |225px | link=EM.Cube]] <br />
|-<br />
|}<br />
</td><br />
<td> &nbsp; </td><br />
<td><br />
{|class="wikitable"<br />
|-<br />
! [[RF.Spice A/D | RF.Spice A/D]] <br />
|-<br />
| [[File:RfspicePAGE New.png |277px | link=RF.Spice A/D | RF.Spice A/D]] <br />
|-<br />
|}<br />
</td><br />
<td> &nbsp; </td><br />
<td><br />
{|class="wikitable"<br />
|-<br />
! [[RF.Spice A/D | B2.Spice A/D]] <br />
|-<br />
| [[File:B2spicePAGE.png |226px | link=RF.Spice A/D | B2.Spice A/D]] <br />
|-<br />
|}<br />
</td><br />
<td> &nbsp; </td><br />
<td><br />
{|class="wikitable"<br />
|-<br />
! [[NeoScan | NeoScan]] <br />
|-<br />
| [[File:NeoScan_Product.png |245px | link=NeoScan | NeoScan ]] <br />
|-<br />
|}<br />
</td><br />
</tr><br />
</table><br />
<br />
<br />
<br />
----<br />
<br />
[[Gateway 2015]]<br />
<br />
[[Old B2.Spice A/D Site]]<br />
<br />
[[Old RF.Spice Site]]<br />
<br />
[[Old Gateway]]<br />
<br />
[[Old EM.Cube Page]]<br />
<br />
[[Old Digital Glossary]]<br />
<br />
<br />
<br />
----<br />
<br />
<br />
<br />
[[Image:Back_icon.png|40px]] '''[[Main_Page | Back to Emagtech Wiki Gateway]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/EM.Terrano_Tutorial_Lesson_1:_Analyzing_A_Basic_Line-Of-Sight_Propagation_SceneEM.Terrano Tutorial Lesson 1: Analyzing A Basic Line-Of-Sight Propagation Scene2019-05-18T18:35:56Z<p>Kazem Sabet: /* What You Will Learn */</p>
<hr />
<div>{{projectinfo|Tutorial| Analyzing A Basic Line-Of-Sight Propagation Scene|Terrano L1 Fig title.png|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.|<br />
<br />
*Point Object<br />
*Array Object<br />
*Base Location Set <br />
*Transmitter Set<br />
*Receiver Set<br />
*Received Power Coverage Map<br />
*Path Loss<br />
|All versions|{{download|http://www.emagtech.com/downloads/ProjectRepo/EMTerrano_Lesson1.zip EMTerrano_Lesson1}} }}<br />
<br />
== What You Will Learn ==<br />
<br />
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. <br />
<br />
{{Note|We strongly recommend that you read through the first few tutorials and study them carefully before setting up your own projects.}}<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Terrano | Back to EM.Terrano Manual]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube#EM.Terrano_Documentation | Back to EM.Terrano Tutorial Gateway]]'''<br />
<br />
[[Image:Download2x.png|30px]] '''[http://www.emagtech.com/downloads/ProjectRepo/EMTerrano_Lesson1.zip Download projects related to this tutorial lesson]'''<br />
<br />
== Getting Started ==<br />
<br />
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 [[Building_Geometrical_Constructions_in_CubeCAD | 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 <b>New</b> [[Image:fdtd_newb.png]] button of the System Toolbar or using the keyboard shortcut {{key|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. <br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig1.png|thumb|left|720px|The project workspace.]] </td><br />
</tr><br />
</table><br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig2.png|thumb|left|720px|The New Project dialog.]] </td><br />
</tr><br />
</table><br />
<br />
For this tutorial lesson, set the following parameters in the new project dialog:<br />
<br />
<div class="noprint" style="float:left;margin-right:10px"><br />
{| border="1" class="wikitable"<br />
|+ Starting Parameters<br />
|-<br />
! Name<br />
| EMTerrano_Lesson1<br />
|-<br />
! Length Units<br />
| Meters<br />
|-<br />
! Frequency Units<br />
| GHz<br />
|-<br />
! Center Frequency<br />
| 1GHz<br />
|-<br />
! Bandwidth<br />
| 1GHz<br />
|}<br />
</div><br />
<br />
<div class="noprint" style="clear:both"></div><br />
<br />
Click the {{key|Create}} button of the dialog to accept the settings. A new project folder with your given name is immediately created at your specified path.<br />
<br />
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.<br />
<br />
==Planning the Propagation Scene==<br />
<br />
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. <br />
<br />
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.<br />
<br />
{{Note|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.}}<br />
<br />
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.<br />
<br />
== Disabling the Global Ground ==<br />
<br />
[[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 &epsilon;<sub>r</sub> = 5 and &sigma; = 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)'''.<br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig7.png|thumb|left|600px|EM.Terrano's global ground settings dialog.]] </td><br />
</tr><br />
</table><br />
<br />
==Drawing the Point Sets==<br />
<br />
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 {{key|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. <br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig8.png|thumb|left|480px|Defining a base location group in EM.Terrano's navigation tree.]] </td><br />
</tr><br />
<tr><br />
<td> [[Image:Terrano L1 Fig4.png|thumb|left|480px|The Base Point Set dialog.]] </td><br />
</tr><br />
</table><br />
<br />
Click the '''Point''' [[File:Point tool tn.png]] button of the Object Toolbar or select the menu item '''Object &rarr; Special &rarr; Point'''.<br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig3.png|thumb|left|720px|Selecting the Point Tool from EM.Terrano's Object Toolbar.]] </td><br />
</tr><br />
</table><br />
<br />
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 {{key|OK}} to accept the settings. A blue point appears in the project workspace, which has the default blue color of your point set.<br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig5.png|thumb|left|480px|The Point object's Property Dialog.]] </td><br />
</tr><br />
</table><br />
<br />
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 {{key|Array}} [[File: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 {{key|A}}. The Array Dialog opens up. Enter 10, 1 and 1 for the <b>Element Count</b> along the X, Y and Z directions, respectively. Enter 5m, 0 and 0 for <b>Spacing</b> along the three axes, respectively. Click {{key|OK}} to accept the settings and close the Array dialog.<br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig9.png|thumb|left|720px|Selecting the Array Tool from EM.Terrano's Tools Toolbar.]] </td><br />
</tr><br />
</table><br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig6.png|thumb|left|480px|The Array dialog.]] </td><br />
</tr><br />
</table><br />
<br />
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.<br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig10.png|thumb|left|720px|The geometry of the two point sets in the project workspace.]] </td><br />
</tr><br />
</table><br />
<br />
== Defining the Transmitter and Receiver Sets ==<br />
<br />
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'''. <br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig11.png|thumb|left|480px|The transmitter definition dialog.]] </td><br />
</tr><br />
<tr><br />
<td> [[Image:Terrano L1 Fig12.png|thumb|left|480px|The receiver definition dialog.]] </td><br />
</tr><br />
</table><br />
<br />
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. <br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig15.png|thumb|left|550px|The free-space propagation scene with the transmitter and receiver sets.]] </td><br />
</tr><br />
</table><br />
<br />
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 '''Vertical Half-Wave Dipole'''. <br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig13.png|thumb|left|600px|The transmitter set's property dialog.]] </td><br />
</tr><br />
<tr><br />
<td> [[Image:Terrano L1 Fig14.png|thumb|left|600px|The receiver set's property dialog.]] </td><br />
</tr><br />
</table><br />
<br />
== Running an SBR Ray Tracing Analysis ==<br />
<br />
At this time, you are ready to run your first SBR simulation. Click the <b>Run</b> [[Image:fdtd_runb.png]] button of the Simulate Toolbar to open up the Simulation Run Dialog. Or alternatively, use the keyboard shortcut {{key|Ctrl+R}}, or the menu item '''Simulate &rarr; 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 {{key|Run}} button of the Simulation Run Dialog. <br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig16.png|thumb|left|500px|EM.Terrano's Run Simulation Dialog.]] </td><br />
</tr><br />
</table><br />
<br />
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 -30.5dBm and -39.5dBm 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 -35.65dBm and 2.82dBm, respectively. <br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig17.png|thumb|left|720px|The received power coverage map of the receiver set.]] </td><br />
</tr><br />
</table><br />
<br />
== Examining the Individual Receivers ==<br />
<br />
Open the property dialog of your receiver set and select the first receiver of the array called "ReceiverSet_1_1". Then, click the {{key|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 <b>Total Received Power</b> in dBm and the <b>Total Received Field</b> 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. <br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig20A.png|thumb|left|480px|Selecting receiver No. 1 in the receiver set dialog.]] </td><br />
<td> [[Image:Terrano L1 Fig20B.png|thumb|left|480px|Selecting receiver No. 10 in the receiver set dialog.]] </td><br />
</tr><br />
</table><br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig21A.png|thumb|left|720px|Viewing the properties of the rays of receiver No. 1 in the ray data dialog.]] </td><br />
</tr><br />
</table><br />
<br />
== Verifying Your Simulation Results ==<br />
<br />
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:<br />
<br />
<math> \frac{P_r}{P_t} = G_t G_r \left( \frac{\lambda_0}{4\pi r} \right) ^2 </math><br />
<br />
where r is the distance between the transmitter and receiver and G<sub>T</sub> and G<sub>R</sub> are the gains of the transmitting and receiving antennas, respectively.<br />
According to the property dialog of the transmitter, the effective isotropically radiated power (EIRP) is:<br />
<br />
<math> EIRP = P_t G_t = 29.88\text{dBm} </math><br />
<br />
The first receiver is located at a distance of 25m from the transmitter. The received power by this receiver is calculated to be: <br />
<br />
<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><br />
<br />
The last receiver is located at a distance of 25m + 9&times;5m = 70m from the transmitter. The received power by this receiver is calculated to be: <br />
<br />
<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><br />
<br />
== Plotting the Channel Path Loss ==<br />
<br />
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 <b>Data Manager</b> [[Image:fdtd_datamanagerb.png]] button of Simulate Toolbar, or use the keyboard shortcut {{key|Ctrl+D}}, or select the menu item '''Simulate &rarr; 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 {{key|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. <br />
<br />
<table><br />
<tr><br />
<td><br />
[[Image:L1 Fig21B.png|thumb|720px|left|The data manager dialog.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
<table><br />
<tr><br />
<td><br />
[[Image:L1 Fig21C.png|thumb|480px|left|Plot of the path loss vs. receiver index.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
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 [[Image: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. <br />
<br />
<table><br />
<tr><br />
<td><br />
[[Image:L1 Fig21D.png|thumb|480px|left|A scaled version of the path loss graph.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
<br /><br />
<br />
<hr><br />
<br />
[[Image:Top_icon.png|30px]] '''[[#What_You_Will_Learn | Back to the Top of the Page]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube#EM.Terrano_Documentation | Back to EM.Terrano Tutorial Gateway]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/EM.Terrano_Tutorial_Lesson_1:_Analyzing_A_Basic_Line-Of-Sight_Propagation_SceneEM.Terrano Tutorial Lesson 1: Analyzing A Basic Line-Of-Sight Propagation Scene2019-05-18T18:35:22Z<p>Kazem Sabet: /* What You Will Learn */</p>
<hr />
<div>{{projectinfo|Tutorial| Analyzing A Basic Line-Of-Sight Propagation Scene|Terrano L1 Fig title.png|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.|<br />
<br />
*Point Object<br />
*Array Object<br />
*Base Location Set <br />
*Transmitter Set<br />
*Receiver Set<br />
*Received Power Coverage Map<br />
*Path Loss<br />
|All versions|{{download|http://www.emagtech.com/downloads/ProjectRepo/EMTerrano_Lesson1.zip EMTerrano_Lesson1}} }}<br />
<br />
== What You Will Learn ==<br />
<br />
In that 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. <br />
<br />
{{Note|We strongly recommend that you read through the first few tutorials and study them carefully before setting up your own projects.}}<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Terrano | Back to EM.Terrano Manual]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube#EM.Terrano_Documentation | Back to EM.Terrano Tutorial Gateway]]'''<br />
<br />
[[Image:Download2x.png|30px]] '''[http://www.emagtech.com/downloads/ProjectRepo/EMTerrano_Lesson1.zip Download projects related to this tutorial lesson]'''<br />
<br />
== Getting Started ==<br />
<br />
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 [[Building_Geometrical_Constructions_in_CubeCAD | 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 <b>New</b> [[Image:fdtd_newb.png]] button of the System Toolbar or using the keyboard shortcut {{key|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. <br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig1.png|thumb|left|720px|The project workspace.]] </td><br />
</tr><br />
</table><br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig2.png|thumb|left|720px|The New Project dialog.]] </td><br />
</tr><br />
</table><br />
<br />
For this tutorial lesson, set the following parameters in the new project dialog:<br />
<br />
<div class="noprint" style="float:left;margin-right:10px"><br />
{| border="1" class="wikitable"<br />
|+ Starting Parameters<br />
|-<br />
! Name<br />
| EMTerrano_Lesson1<br />
|-<br />
! Length Units<br />
| Meters<br />
|-<br />
! Frequency Units<br />
| GHz<br />
|-<br />
! Center Frequency<br />
| 1GHz<br />
|-<br />
! Bandwidth<br />
| 1GHz<br />
|}<br />
</div><br />
<br />
<div class="noprint" style="clear:both"></div><br />
<br />
Click the {{key|Create}} button of the dialog to accept the settings. A new project folder with your given name is immediately created at your specified path.<br />
<br />
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.<br />
<br />
==Planning the Propagation Scene==<br />
<br />
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. <br />
<br />
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.<br />
<br />
{{Note|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.}}<br />
<br />
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.<br />
<br />
== Disabling the Global Ground ==<br />
<br />
[[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 &epsilon;<sub>r</sub> = 5 and &sigma; = 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)'''.<br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig7.png|thumb|left|600px|EM.Terrano's global ground settings dialog.]] </td><br />
</tr><br />
</table><br />
<br />
==Drawing the Point Sets==<br />
<br />
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 {{key|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. <br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig8.png|thumb|left|480px|Defining a base location group in EM.Terrano's navigation tree.]] </td><br />
</tr><br />
<tr><br />
<td> [[Image:Terrano L1 Fig4.png|thumb|left|480px|The Base Point Set dialog.]] </td><br />
</tr><br />
</table><br />
<br />
Click the '''Point''' [[File:Point tool tn.png]] button of the Object Toolbar or select the menu item '''Object &rarr; Special &rarr; Point'''.<br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig3.png|thumb|left|720px|Selecting the Point Tool from EM.Terrano's Object Toolbar.]] </td><br />
</tr><br />
</table><br />
<br />
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 {{key|OK}} to accept the settings. A blue point appears in the project workspace, which has the default blue color of your point set.<br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig5.png|thumb|left|480px|The Point object's Property Dialog.]] </td><br />
</tr><br />
</table><br />
<br />
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 {{key|Array}} [[File: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 {{key|A}}. The Array Dialog opens up. Enter 10, 1 and 1 for the <b>Element Count</b> along the X, Y and Z directions, respectively. Enter 5m, 0 and 0 for <b>Spacing</b> along the three axes, respectively. Click {{key|OK}} to accept the settings and close the Array dialog.<br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig9.png|thumb|left|720px|Selecting the Array Tool from EM.Terrano's Tools Toolbar.]] </td><br />
</tr><br />
</table><br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig6.png|thumb|left|480px|The Array dialog.]] </td><br />
</tr><br />
</table><br />
<br />
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.<br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig10.png|thumb|left|720px|The geometry of the two point sets in the project workspace.]] </td><br />
</tr><br />
</table><br />
<br />
== Defining the Transmitter and Receiver Sets ==<br />
<br />
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'''. <br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig11.png|thumb|left|480px|The transmitter definition dialog.]] </td><br />
</tr><br />
<tr><br />
<td> [[Image:Terrano L1 Fig12.png|thumb|left|480px|The receiver definition dialog.]] </td><br />
</tr><br />
</table><br />
<br />
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. <br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig15.png|thumb|left|550px|The free-space propagation scene with the transmitter and receiver sets.]] </td><br />
</tr><br />
</table><br />
<br />
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 '''Vertical Half-Wave Dipole'''. <br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig13.png|thumb|left|600px|The transmitter set's property dialog.]] </td><br />
</tr><br />
<tr><br />
<td> [[Image:Terrano L1 Fig14.png|thumb|left|600px|The receiver set's property dialog.]] </td><br />
</tr><br />
</table><br />
<br />
== Running an SBR Ray Tracing Analysis ==<br />
<br />
At this time, you are ready to run your first SBR simulation. Click the <b>Run</b> [[Image:fdtd_runb.png]] button of the Simulate Toolbar to open up the Simulation Run Dialog. Or alternatively, use the keyboard shortcut {{key|Ctrl+R}}, or the menu item '''Simulate &rarr; 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 {{key|Run}} button of the Simulation Run Dialog. <br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig16.png|thumb|left|500px|EM.Terrano's Run Simulation Dialog.]] </td><br />
</tr><br />
</table><br />
<br />
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 -30.5dBm and -39.5dBm 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 -35.65dBm and 2.82dBm, respectively. <br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig17.png|thumb|left|720px|The received power coverage map of the receiver set.]] </td><br />
</tr><br />
</table><br />
<br />
== Examining the Individual Receivers ==<br />
<br />
Open the property dialog of your receiver set and select the first receiver of the array called "ReceiverSet_1_1". Then, click the {{key|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 <b>Total Received Power</b> in dBm and the <b>Total Received Field</b> 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. <br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig20A.png|thumb|left|480px|Selecting receiver No. 1 in the receiver set dialog.]] </td><br />
<td> [[Image:Terrano L1 Fig20B.png|thumb|left|480px|Selecting receiver No. 10 in the receiver set dialog.]] </td><br />
</tr><br />
</table><br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig21A.png|thumb|left|720px|Viewing the properties of the rays of receiver No. 1 in the ray data dialog.]] </td><br />
</tr><br />
</table><br />
<br />
== Verifying Your Simulation Results ==<br />
<br />
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:<br />
<br />
<math> \frac{P_r}{P_t} = G_t G_r \left( \frac{\lambda_0}{4\pi r} \right) ^2 </math><br />
<br />
where r is the distance between the transmitter and receiver and G<sub>T</sub> and G<sub>R</sub> are the gains of the transmitting and receiving antennas, respectively.<br />
According to the property dialog of the transmitter, the effective isotropically radiated power (EIRP) is:<br />
<br />
<math> EIRP = P_t G_t = 29.88\text{dBm} </math><br />
<br />
The first receiver is located at a distance of 25m from the transmitter. The received power by this receiver is calculated to be: <br />
<br />
<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><br />
<br />
The last receiver is located at a distance of 25m + 9&times;5m = 70m from the transmitter. The received power by this receiver is calculated to be: <br />
<br />
<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><br />
<br />
== Plotting the Channel Path Loss ==<br />
<br />
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 <b>Data Manager</b> [[Image:fdtd_datamanagerb.png]] button of Simulate Toolbar, or use the keyboard shortcut {{key|Ctrl+D}}, or select the menu item '''Simulate &rarr; 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 {{key|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. <br />
<br />
<table><br />
<tr><br />
<td><br />
[[Image:L1 Fig21B.png|thumb|720px|left|The data manager dialog.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
<table><br />
<tr><br />
<td><br />
[[Image:L1 Fig21C.png|thumb|480px|left|Plot of the path loss vs. receiver index.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
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 [[Image: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. <br />
<br />
<table><br />
<tr><br />
<td><br />
[[Image:L1 Fig21D.png|thumb|480px|left|A scaled version of the path loss graph.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
<br /><br />
<br />
<hr><br />
<br />
[[Image:Top_icon.png|30px]] '''[[#What_You_Will_Learn | Back to the Top of the Page]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube#EM.Terrano_Documentation | Back to EM.Terrano Tutorial Gateway]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/EM.TerranoEM.Terrano2019-04-05T14:18:32Z<p>Kazem Sabet: /* Wave Propagation Modeling */</p>
<hr />
<div>[[Image:Splash-prop.jpg|right|720px]]<br />
<strong><font color="#4e1985" size="4">True 3D, Coherent, Polarimetric Ray Tracer That Simulates Very Large Urban Scenes In Just Few Minutes!</font></strong><br />
<table><br />
<tr><br />
<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:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]]</td><br />
<tr><br />
</table><br />
[[Image:Tutorial_icon.png|30px]] '''[[EM.Cube#EM.Terrano_Documentation | EM.Terrano Tutorial Gateway]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''<br />
==Product Overview==<br />
<br />
===EM.Terrano in a Nutshell ===<br />
<br />
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 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 arrival and departure, etc. Using EM.Terrano you can examine the connectivity of a communication link between any two points in a real specific propagation site.<br />
<br />
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 in 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 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 development is a multicore parallelized SBR simulation engine that takes advantage of ultrafast k-d tree algorithms borrowed from the field of computer graphics and video gaming to achieve the ultimate speed and efficiency in geometrical optics ray tracing.<br />
<br />
[[Image:Info_icon.png|30px]] Click here to learn more about the '''[[Basic Principles of SBR Ray Tracing | Basic SBR Theory]]'''.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:Manhattan1.png|thumb|left|420px|A large urban propagation scene featuring lower Manhattan.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
=== EM.Terrano as the Propagation Module of EM.Cube ===<br />
<br />
EM.Terrano is the ray tracing '''Propagation Module''' of '''[[EM.Cube]]''', a comprehensive, integrated, modular electromagnetic modeling environment. EM.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.<br />
<br />
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]].<br />
<br />
[[Image:Info_icon.png|30px]] Click here to learn more about '''[[Getting_Started_with_EM.Cube | EM.Cube Modeling Environment]]'''.<br />
<br />
=== Advantages & Limitations of EM.Terrano's SBR Solver ===<br />
<br />
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. <br />
<br />
EM.Terrano performs fully polarimetric and coherent SBR simulations with arbitrary transmitter antenna patterns. Its SBR simulation engine is a true asymptotic &quot;field&quot; 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 &epsilon;<sub>r</sub> and electric conductivity &sigma;. 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. <br />
<br />
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 &quot;full-wave&quot; 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.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:Multipath_Rays.png|thumb|left|500px|A multipath urban propagation scene showing all the rays collected by a receiver.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
== EM.Terrano Features at a Glance ==<br />
<br />
=== Scene Definition / Construction ===<br />
<br />
<ul><br />
<li><br />
Buildings/blocks with arbitrary geometries and material properties</li><br />
<li><br />
Buildings/blocks with impenetrable surfaces or penetrable surfaces using thin wall approximation</li><br />
<li><br />
Multilayer walls for indoor propagation scenes</li><br />
<li><br />
Penetrable volume blocks with arbitrary geometries and material properties</li><br />
<li><br />
Import of shapefiles and STEP, IGES and STL CAD model files for scene construction</li><br />
<li><br />
Terrain surfaces with arbitrary geometries and material properties and random rough surface profiles</li><br />
<li><br />
Import of digital elevation map (DEM) terrain models</li><br />
<li><br />
Python-based random city wizard with randomized building locations, extents and orientations</li><br />
<li><br />
Python-based wizards for generation of parameterized multi-story office buildings and several terrain scene types</li><br />
<li><br />
Standard half-wave dipole transmitters and receivers oriented along the principal axes</li><br />
<li><br />
Short Hertzian dipole sources with arbitrary orientation</li><br />
<li><br />
Isotropic receivers or receiver grids for wireless coverage modeling</li><br />
<li><br />
Radiator sets with 3D directional antenna patterns (imported from other modules or external files)</li><br />
<li><br />
Full three-axis rotation of imported antenna patterns</li><br />
<li><br />
Interchangeable radiator-based definition of transmitters and receivers (networks of transceivers)</li><br />
</ul><br />
<br />
=== Wave Propagation Modeling ===<br />
<br />
<ul><br />
<li><br />
Fully 3D polarimetric and coherent Shoot-and-Bounce-Rays (SBR) simulation engine</li><br />
<li><br />
GTD/UTD diffraction models for diffraction from building edges and terrain</li><br />
<li><br />
Triangular surface mesh generator for discretization of arbitrary block geometries</li><br />
<li><br />
Super-fast geometrical/optical ray tracing using advanced k-d tree algorithms</li><br />
<li><br />
Intelligent ray tracing with user defined angular extents and resolution</li><br />
<li><br />
Ray reflection, edge diffraction and ray transmission through multilayer walls and material volumes</li><br />
<li><br />
Communication link analysis for superheterodyne transmitters and receivers</li><br />
<li><br />
17 digital modulation waveforms for the calculation of E<sub>b</sub>/N<sub>0</sub> and Bit error rate (BER)</li><br />
<li><br />
Incredibly fast frequency sweeps of the entire propagation scene in a single SBR simulation run</li><br />
<li><br />
Parametric sweeps of scene elements like building properties, or radiator heights and rotation angles</li><br />
<li><br />
Statistical analysis of the propagation scene</li><br />
<li><br />
Polarimetric channel characterization for MIMO analysis</li><br />
<li><br />
"Almost real-time" Polarimatrix solver using an existing ray database</li><br />
<li><br />
"Almost real-time" transmitter sweep using the Polarimatrix solver</li><br />
<li><br />
"Almost real-time" rotational sweep for modeling beam steering using the Polarimatrix solver</li><br />
<li><br />
"Almost real-time" mobile sweep for modeling mobile communications between Tx-Rx pairs along a mobile path using the Polarimatrix solver</li><br />
</ul><br />
<br />
=== Data Generation &amp; Visualization ===<br />
<br />
<ul><br />
<li><br />
Standard output parameters for received power, path loss, SNR, E<sub>b</sub>/N<sub>0</sub> and BER at each individual receiver</li><br />
<li><br />
Graphical visualization of propagating rays in the scene</li><br />
<li><br />
Received power coverage maps</li><br />
<li><br />
Link connectivity maps (based on minimum required SNR and BER)</li><br />
<li><br />
Color-coded intensity plots of polarimetric electric field distributions</li><br />
<li><br />
Incoming ray data analysis at each receiver including delay, angles of arrival and departure</li><br />
<li><br />
Cartesian plots of path loss along defined paths</li><br />
<li><br />
Power delay profile of the selected receiver</li><br />
<li><br />
Polar stem charts of angles of arrival and departure of the selected receiver</li><br />
</ul><br />
<br />
== Building a Propagation Scene in EM.Terrano ==<br />
<br />
=== The Various Elements of a Propagation Scene ===<br />
<br />
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.Terrano, 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. <br />
<br />
A more complicated propagation scene usually contains several buildings, walls, or other kinds of scatterers and wave obstructing objects. You 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: <br />
<br />
{| class="wikitable"<br />
|-<br />
! scope="col"| Icon<br />
! scope="col"| Block/Group Type <br />
! scope="col"| Ray Interaction Type<br />
! scope="col"| Object Types Allowed<br />
! scope="col"| Notes<br />
|-<br />
| style="width:30px;" | [[File:impenet_group_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Impenetrable Surface | Impenetrable Surface]]<br />
| style="width:200px;" | Ray reflection, ray diffraction<br />
| style="width:250px;" | All solid & surface geometric objects, no curve objects<br />
| style="width:300px;" | Basic building group for outdoor scenes<br />
|-<br />
| style="width:30px;" | [[File:penet_surf_group_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Penetrable Surface | Penetrable Surface]]<br />
| style="width:200px;" | Ray reflection, ray diffraction, ray transmission in free space<br />
| style="width:250px;" | All solid & surface geometric objects, no curve objects<br />
| 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 <br />
|-<br />
| style="width:30px;" | [[File:terrain_group_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Terrain Surface | Terrain Surface]]<br />
| style="width:200px;" | Ray reflection, ray diffraction<br />
| style="width:250px;" | All surface geometric objects, no solid or curve objects <br />
| style="width:300px;" | Behaves exactly like impenetrable surface but can change the elevation of all the buildings and transmitters and receivers located above it<br />
|-<br />
| style="width:30px;" | [[File:penet_vol_group_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Penetrable Volume | Penetrable Volume]]<br />
| style="width:200px;" | Ray reflection, ray diffraction, ray transmission and ray attenuation inside homogeneous material media<br />
| style="width:250px;" | All solid geometric objects, no surface or curve objects<br />
| 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<br />
|-<br />
| style="width:30px;" | [[File:base_group_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Base Location Set | Base Location Set]]<br />
| style="width:200px;" | Either ray generation or ray reception<br />
| style="width:250px;" | Only point objects<br />
| style="width:300px;" | Required for the definition of transmitters and receivers<br />
|-<br />
| style="width:30px;" | [[File:scatterer_group_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Point Scatterer Set | Point Scatterer Set]]<br />
| style="width:200px;" | Ray reception and ray scattering<br />
| style="width:250px;" | Only point, box and sphere objects<br />
| style="width:300px;" | Required for the definition of point scatterers as targets in a radar simulation <br />
|-<br />
| style="width:30px;" | [[File:Virt_group_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Virtual_Object_Group | Virtual Object]]<br />
| style="width:200px;" | No ray interaction<br />
| style="width:250px;" | All types of objects<br />
| style="width:300px;" | Used for representing non-physical items <br />
|}<br />
<br />
Click on each type to learn more about it in the [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types]]. <br />
<br />
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:<br />
<br />
* They terminate an impinging ray and replace it with one or more new rays.<br />
* They represent a specular interface between two media of different material compositions for calculating the reflection, transmission or diffraction coefficients.<br />
<br />
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.<br />
<br />
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. <br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN2.png|thumb|left|720px|An urban propagation scene generated by EM.Terrano's "Random City" and "Basic Link" wizards. It consists of 25 cubic brick buildings, one transmitter and a large two-dimensional array of receivers. ]]<br />
</td><br />
</tr><br />
</table><br />
<br />
=== Organizing the Propagation Scene by Block Groups ===<br />
<br />
In EM.Terrano, all the geometric objects associated with the various scene elements like buildings, terrain surfaces and base location points are grouped together as blocks based on their common type. All the objects listed under a particular group in the navigation tree share the same color, texture and material properties. Once a new block group has been created in the navigation tree, it becomes the "Active" group of the project workspace, which is always displayed in bold letters. You can draw new objects under the active node. Any block group can be made active by right-clicking on its name in the navigation tree and selecting the '''Activate''' item of the contextual menu. <br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN1.png|thumb|left|480px|EM.Terrano's navigation tree.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
It is recommended that you first create block groups, and then draw new objects under the active block group. However, if you start a new EM.Terrano project from scratch, and start drawing a new object without having previously defined any block groups, a new default impenetrable surface group is created and added to the navigation tree to hold your new CAD object. You can always change the properties of a block group later by accessing its property dialog from the contextual menu. You can also delete a block group with all of its objects at any time.<br />
<br />
{{Note|You can only import external CAD models (STEP, IGES, STL, DEM, etc.) only to the CubeCAD module. You can then transfer the imported objects from CubeCAD to EM.Terrano.}}<br />
<br />
=== Moving Objects Among Different Block Groups ===<br />
<br />
You can move any geometric object or a selection of objects from one block group to another. You can also transfer objects among [[EM.Cube]]'s different modules. For example, you often need to move imported CAD models of terrain or buildings from CubeCAD to EM.Terrano. To transfer objects, first select them in the project workspace or select their names in the navigation tree. Then right-click on them and select <b>Move To &rarr; Module Name &rarr; Object Group</b> from the contextual menu. For example, if you want to move a selected object to a block group called "Terrain_1" in EM.Terrano, then you have to select the menu item '''Move To &rarr; EM.Terrano &rarr; Terrain_1''' as shown in the figure below. Note that you can transfer several objects altogether using the keyboards's {{key|Ctrl}} or {{key|Shift}} keys to make multiple selections. <br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN3.png|thumb|left|720px|Moving the terrain model of Mount Whitney originally imported from an external digital elevation map (DEM) file to EM.Terrano.]]<br />
</td><br />
</tr><br />
<tr><br />
<td><br />
[[Image:PROP MAN4.png|thumb|left|720px|The imported terrain model of Mount Whitney shown in EM.Terrano's project workspace under a terrain group called "Terrain_1".]]<br />
</td><br />
</tr><br />
</table><br />
<br />
=== Adjustment of Block Elevation on Underlying Terrain Surfaces ===<br />
<br />
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. <br />
<br />
{{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.}}<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN5.png|thumb|left|480px|The property dialog of impenetrable surface showing the terrain elevation adjustment box checked.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN6.png|thumb|left|360px|A set of buildings on an undulating terrain without elevation adjustment.]]<br />
</td><br />
<td><br />
[[Image:PROP MAN7.png|thumb|left|360px|The set of buildings on the undulating terrain after elevation adjustment.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
== EM.Terrano's Ray Domain & Global Environment ==<br />
<br />
=== Why Do You Need a Finite Computational Domain? ===<br />
<br />
The SBR simulation engine requires a finite computational domain for ray termination. All the stray rays that emanate from a source inside this finite domain and hit its boundaries are terminated during the simulation process. Such rays exit the computational domain and travel to the infinity, with no chance of ever reaching any receiver in the scene. When you define a propagation scene with various elements like buildings, walls, terrain, etc., a dynamic domain is automatically established and displayed as a green wireframe box that surrounds the entire scene. Every time you create a new object, the domain box is automatically adjusted and extended to enclose all the objects in the scene. <br />
<br />
To change the ray domain settings, follow the procedure below:<br />
<br />
* Open the Ray Domain Settings Dialog by clicking the '''Domain''' [[File:image025.jpg]] button of the '''Simulate Toolbar''', or by selecting '''Menu > Simulate > Computational Domain > Settings...''', or by right-clicking on the '''Ray Domain''' item of the navigation tree and selecting '''Domain Settings...''' from the contextual menu, or simply using the keyboard shortcut {{key|Ctrl+A}}.<br />
* The size of the Ray domain is specified in terms of six '''Offset''' parameters along the ±X, ±Y and ±Z directions. The default value of all these six offset parameters is 10 project units. Change these values as you like.<br />
* You can also change the color of the domain box using the {{key|Color}} button.<br />
* After changing the settings, use the {{key|Apply}} button to make the changes effective while the dialog is still open.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP15.png|thumb|left|480px|EM.Terrano's domain settings dialog.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
=== Understanding the Global Ground ===<br />
<br />
Most outdoor and indoor propagation scenes include a flat ground at their bottom, which bounces incident rays back into the scene. EM.Terrano provides a global flat ground at z = 0. The global ground indeed acts as an impenetrable surface that blocks the entire computational domain from the z = 0 plane downward. It is displayed as a translucent green plane at z = 0 extending downward. The color of the ground plane is always the same as the color of the ray domain. The global ground is assumed to be made of a homogeneous dielectric material with a specified permittivity &epsilon;<sub>r</sub> and electric conductivity &sigma;. By default, a rocky ground is assumed with &epsilon;<sub>r</sub> = 5 and &sigma; = 0.005 S/m. You can remove the global ground, in which case, you will have a free space scene. To disable the global ground, open up the "Global Ground Settings" dialog, which can be accessed by right clicking on the '''Global Ground''' item in the Navigation Tree and selecting '''Global Ground Settings... '''Remove the check mark from the box labeled '''&quot;Include Half-Space Ground (z&lt;0)&quot;''' to disable the global ground. This will also remove the green translucent plane from the bottom of your scene. You can also change the material properties of the global ground and set new values for the permittivity and electric conductivity of the impenetrable, half-space, dielectric medium. <br />
<br />
Alternatively, you can use EM.Terrano's '''Empirical Soil Model''' to define the material properties of the global ground. This model requires a number of parameters: Temperature in &deg;C, and Volumetric Water Content, Sand Content and Clay Content all as percentage. <br />
<br />
{{Note|To model a free-space propagation scene, you have to disable EM.Terrano's default global ground.}}<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:Global environ.png|thumb|left|720px|EM.Terrano's Global Environment Settings dialog.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
== Defining Point Transmitters &amp; Point Receivers for Your Propagation Scene ==<br />
<br />
=== The Nature of Transmitters & Receivers ===<br />
<br />
In EM.Terrano, transmitters and receivers are indeed point radiators used for transmitting and receiving signals at different locations of the propagation scene. From a geometric point of view, both transmitters and receivers are represented by point objects or point arrays. These are grouped as base locations in the "Physical Structure" section of the navigation tree. As radiators, transmitters and receivers are defined by a radiator type with a certain far-field radiation pattern. Consistent with [[EM.Cube]]'s other computational modules, transmitters are categorizes as an excitation source, while receivers are categorized as a project observable. In other words, a transmitter is used to generate electromagnetic waves that propagate in the physical scene. A receiver, on the other hand, is used to compute the received fields and received signal power or signal-to-noise ratio (SNR). For this reason, transmitters are defined and listed under the "Sources" sections of the navigation tree, while receivers are defined and listed under the "Observables" section. <br />
<br />
EM.Terrano provides three radiator types for point transmitter sets:<br />
<br />
#Half-wave dipole oriented along one of the three principal axes<br />
#Two collocated, orthogonally polarized, isotropic radiators <br />
#User defined (arbitrary) antenna with imported far-field radiation pattern<br />
<br />
EM.Terrano also provides three radiator types for point receiver sets:<br />
<br />
#Half-wave dipole oriented along one of the three principal axes<br />
#Polarization-matched isotropic radiator<br />
#User defined (arbitrary) antenna with imported far-field radiation pattern<br />
<br />
The default transmitter and receiver radiator types are both vertical (Z-directed) half-wave dipoles. <br />
<br />
There are three different ways to define a transmitter set or a receiver set:<br />
<br />
*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<br />
*Using Python commands emag_tx, emag_rx, emag_tx_array, emag_rx_array, emag_tx_line and emag_rx_line<br />
*Using the "Basic Link" wizard<br />
<br />
=== Defining a Point Transmitter Set in the Formal Way ===<br />
<br />
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:<br />
<br />
* Half-wave dipole<br />
* Orthogonally polarized isotropic radiators<br />
* User defined antenna pattern <br />
<br />
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. <br />
<br />
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 &quot;'''.RAD'''&quot; file extension. This file contains columns of spherical &phi; and &theta; angles as well as the real and imaginary parts of the complex-valued far-zone electric field components '''E<sub>&theta;</sub>''' and '''E<sub>&phi;</sub>'''. The &theta;- and &phi;-components of the far-zone electric field determine the polarization of the transmitting radiator. <br />
<br />
{{Note|By default, EM.Terrano assumes a vertical half-wave dipole radiator for your point transmitter set.}}<br />
<br />
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. <br />
<br />
[[Image:Info_icon.png|40px]] Click here to learn how to define a '''[[Glossary_of_EM.Cube%27s_Materials,_Sources,_Devices_%26_Other_Physical_Object_Types#Point_Transmitter_Set | Point Transmitter Set]]'''.<br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig11.png|thumb|left|480px|The point transmitter set definition dialog.]] </td><br />
</tr><br />
</table><br />
<br />
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 '''Source Power''' in Watts and the broadcast signal '''Phase''' in degrees. The default transmitter power level is 1W 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&deg; phase values as you wish. [[EM.Cube]]'s ".RAD" radiation pattern files usually contain the value of &quot;Total Radiated Power&quot; 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. <br />
<br />
{{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.}}<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[File:NewTxProp.png|thumb|left|720px|The property dialog of a point transmitter set.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
Your transmitter in EM.Teranno is indeed more sophisticated than a simple radiator. It consists of a basic "Transmitter Chain" that contains a voltage source with a series source resistance, and 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 the basic 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. <br />
<br />
{{Note| If you do not modify the default parameters of the transmitter chain, a 50-&Omega; conjugate match condition is assumed and the power delivered to the antenna will be -3dB lower than your specified baseband power.}} <br />
<br />
<table><br />
<tr><br />
<td> [[File:NewTxChain.png|thumb|left|720px|EM.Terrano's point transmitter chain dialog.]] </td><br />
</tr><br />
</table><br />
<br />
=== Defining a Point Receiver Set in the Formal Way ===<br />
<br />
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. EM.Terrano gives you three options for the radiator associated with a point receiver set:<br />
<br />
* Half-wave dipole<br />
* Polarization matched isotropic radiator<br />
* User defined antenna pattern <br />
<br />
By default, EM.Terrano assumes that your receiver is a vertically polarized (Z-directed) resonant half-wave dipole antenna. You can change the direction of the dipole and orient it along the X or Y axes using the provided drop-down list. An isotropic radiator has a perfect omni-directional radiation pattern in all azimuth and elevation directions. An isotropic radiator doesn't exist physically in the real world, but it can be used simply as a point in space to compute the electric field. <br />
<br />
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. <br />
<br />
{{Note|By default, EM.Terrano assumes a vertical half-wave dipole radiator for your point receiver set.}}<br />
<br />
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. <br />
<br />
[[Image:Info_icon.png|40px]] Click here to learn how to define a '''[[Glossary_of_EM.Cube%27s_Simulation_Observables_%26_Graph_Types#Point_Receiver_Set | Point Receiver Set]]'''.<br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig12.png|thumb|left|480px|The point receiver set definition dialog.]] </td><br />
</tr><br />
</table><br />
<br />
Once you define a new receiver set, its name is added 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.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[File:NewRxProp.png|thumb|left|720px|The property dialog of a point receiver set.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
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. <br />
<br />
If you choose the "user defined antenna" option for your receiver set, it indeed consists of a basic "Receiver Chain" that contains a receive antenna connected via a segment of transmission line to the low-noise amplifier (LNA) that is terminated in a matched load. The receiver set's property dialog allows you to define the basic 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 LNA such as its gain and 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. 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. <br />
<br />
<table><br />
<tr><br />
<td> [[File:NewRxChain.png|thumb|left|720px|EM.Terrano's point receiver chain dialog.]] </td><br />
</tr><br />
</table><br />
<br />
=== Modulation Waveform and Detection ===<br />
<br />
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:<br />
<br />
*OOK<br />
*M-ary ASK<br />
*Coherent BFSK<br />
*Coherent QFSK<br />
*Coherent M-ary FSK<br />
*Non-Coherent BFSK<br />
*Non-Coherent QFSK<br />
*Non-Coherent M-ary FSK<br />
*BPSK<br />
*QPSK<br />
*Offset QPSK<br />
*M-ary PSK<br />
*DBPSK<br />
*pi/4 Gray-Coded DQPSK<br />
*M-ary QAM<br />
*MSK<br />
*GMSK (BT = 0.3)<br />
<br />
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.<br />
<br />
The Shannon – Hartley Equation estimates the channel capacity:<br />
<br />
<math> C = B \log_2 \left( 1 + \frac{S}{N} \right) </math><br />
<br />
where B in the bandwidth in Hz, and C is the channel capacity (maximum data rate) expressed in bits/s.<br />
<br />
The spectral efficiency of the channel is defined as<br />
<br />
<math> \eta = \log_2 \left( 1 + \frac{S}{N} \right) </math><br />
<br />
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:<br />
<br />
<math> \frac{E_b}{N_0} = \frac{ 2^\eta - 1}{\eta} </math><br />
<br />
where &eta; is the spectral efficiency. <br />
<br />
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:<br />
<br />
<math> P_b = 0.5 \; \text{erfc} \left( \sqrt{ \frac{E_b}{N_0} } \right) </math><br />
<br />
where P<sub>b</sub> is the bit error rate and erfc(x) is the complementary error function:<br />
<br />
<math> \text{erfc}(x) = 1-\text{erf}(x) = \frac{2}{\sqrt{\pi}} \int_{x}^{\infty} e^{-t^2} dt </math><br />
<br />
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.<br />
<br />
=== A Note on EM.Terrano's Native Dipole Radiators ===<br />
<br />
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: <br />
<br />
<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><br />
<br />
<math> E_\phi(\theta,\phi) \approx 0 </math><br />
<br />
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.<br />
<br />
The directivity of the dipole antenna is given be the expression:<br />
<br />
<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><br />
<br />
with <br />
<br />
<math> F_1(x) = \gamma + \text{ln}(x) - C_i(x) </math><br />
<br />
<math> F_2(x) = \frac{1}{2} \text{sin}(x) \left[ S_i(2x) - 2S_i(x) \right] </math><br />
<br />
<math> F_3(x) = \frac{1}{2} \text{cos}(x) \left[ \gamma + \text{ln}(x/2) + C_i(2x) - 2C_i(x) \right] </math><br />
<br />
<br />
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:<br />
<br />
<br />
<math> C_i(x) = - \int_{x}^{\infty} \frac{ \text{cos} \tau}{\tau} d\tau </math><br />
<br />
<math> S_i(x) = \int_{0}^{x} \frac{ \text{sin} \tau}{\tau} d\tau </math><br />
<br />
<br />
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. <br />
<br />
<table><br />
<tr><br />
<td> [[File:Dipole radiators.png|thumb|720px|EM.Terrano's native half-wave dipole transmitter and receiver.]] </td><br />
</tr><br />
</table><br />
<br />
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: <br />
<br />
* DPL_STD_X.RAD<br />
* DPL_STD_Y.RAD<br />
* DPL_STD_Z.RAD<br />
<br />
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.<br />
<br />
=== A Note on the Rotation of Antenna Radiation Patterns ===<br />
<br />
EM.Terrano's Transmitter Set dialog and Receiver Set dialog both allow you to rotate an imported radiation pattern. In that case, you need to specify the '''Rotation''' angles in degrees about the X-, Y- and Z-axes. It is important to note that these rotations are performed sequentially and in the following order: first a rotation about the X-axis, then a rotation about the Y-axis, and finally a rotation about the Z-axis. In addition, all the rotations are performed with respect to the "rotated" local coordinate systems (LCS). In other words, the first rotation with respect to the local X-axis transforms the XYZ LCS to a new primed X<sup>&prime;</sup>Y<sup>&prime;</sup>Z<sup>&prime;</sup> LCS. The second rotation is performed with respect to the new Y<sup>&prime;</sup>-axis and transforms the X<sup>&prime;</sup>Y<sup>&prime;</sup>Z<sup>&prime;</sup> LCS to a new double-primed X<sup>&prime;&prime;</sup>Y<sup>&prime;&prime;</sup>Z<sup>&prime;&prime;</sup> LCS. The third rotation is finally performed with respect to the new Z<sup>&prime;&prime;</sup>-axis. The figures below shows single and double rotations. <br />
<br />
<table><br />
<tr><br />
<td> [[File:PROP22B.png|thumb|300px|The local coordinate system of a linear dipole antenna.]] </td><br />
<td> [[File:PROP22C.png|thumb|600px|Rotating the dipole antenna by +90&deg; about the local Y-axis.]] </td><br />
</tr><br />
</table><br />
<table><br />
<tr><br />
<td> [[File:PROP22D.png|thumb|720px|Rotating the dipole antenna by +90&deg; about the local X-axis and then by -45&deg; by the local Y-axis.]] </td><br />
</tr><br />
</table><br />
<br />
=== Adjustment of Tx/Rx Elevation above a Terrain Surface ===<br />
<br />
When your transmitters or receivers are located above a flat terrain like the global ground, their Z-coordinates are equal to their height above the ground, as the terrain elevation is fixed and equal to zero everywhere. In many propagation modeling problems, your transmitters and receivers may be located above an irregular terrain with varying elevation across the scene. In that case, you may want to place your transmitters or receivers at a certain height above the underlying ground. The Z-coordinate of a transmitter or receiver is now the sum of the terrain elevation at the base point and the specified height. EM.Terrano gives you the option to adjust the transmitter and receiver sets to the terrain elevation. This is done for individual transmitter sets and individual receiver sets. At the top of the Transmitter Dialog there is a check box labeled &quot;'''Adjust Tx Sets to Terrain Elevation'''&quot;. Similarly, at the top of the Receiver Dialog there is a check box labeled &quot;'''Adjust Rx Sets to Terrain Elevation'''&quot;. These boxes are unchecked by default. As a result, your transmitter sets or receiver sets coincide with their associated base points in the project workspace. If you check these boxes and place a transmitter set or a receiver set above an irregular terrain, the transmitters or receivers are elevated from the location of their associated base points by the amount of terrain elevation as can be seen in the figure below. <br />
<br />
To better understand why there are two separate sets of points in the scene, note that a point array (CAD object) is used to create a uniformly spaced base set. The array object always preserves its grid topology as you move it around the scene. However, the transmitters or receivers associated with this point array object are elevated above the irregular terrain and no longer follow a strictly uniform grid. If you move the base set from its original position to a new location, the base points' topology will stay intact, while the associated transmitters or receivers will be redistributed above the terrain based on their new elevations.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN8.png|thumb|left|640px|A transmitter (red) and a grid of receivers (yellow) adjusted above a plateau terrain surface. The underlying base point sets (blue and orange dots) associated with the adjusted transmitters and receivers on the terrain are also visible in the figure.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
== Discretizing the Propagation Scene in EM.Terrano ==<br />
<br />
=== Why Do You Need to Discretize the Scene? ===<br />
<br />
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. The assumptions of linear edges and planar facets obviously work in the case of a scene with cubic buildings and a flat global ground. <br />
<br />
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. <br />
<br />
Unlike [[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. <br />
<br />
=== Generating the Facet Mesh ===<br />
<br />
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.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:prop_manual-29.png|thumb|left|480px|EM.Terrano's mesh settings dialog.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
[[Image:Info_icon.png|30px]] Click here to learn more about '''[[Preparing_Physical_Structures_for_Electromagnetic_Simulation#Working_with_EM.Cube.27s_Mesh_Generators | Working with Mesh Generator]]'''.<br />
<br />
[[Image:Info_icon.png|30px]] Click here to learn more about the properties of '''[[Glossary_of_EM.Cube%27s_Simulation-Related_Operations#Facet_Mesh | EM.Terrano's Facet Mesh Generator]]'''.<br />
<br />
<table><br />
<tr><br />
<td> [[Image:UrbanCanyon2.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 100m.]] </td><br />
</tr><br />
<tr><br />
<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><br />
</tr><br />
</table><br />
<br />
== Running Ray Tracing Simulations in EM.Terrano ==<br />
<br />
EM.Terrano provides a number of different simulation or solver types:<br />
<br />
* 3D SBR Ray Tracer<br />
* Channel Analyzer<br />
* Polarimatrix Solver<br />
* Radar Simulator <br />
<br />
The first three simulation types are described below. For a description of EM.Terrano's Radar Simulator, follow this link. <br />
<br />
=== Running a Single-Frequency SBR Analysis ===<br />
<br />
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:<br />
<br />
* 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.<br />
* Create the blocks and draw the buildings at the desired locations.<br />
* Keep the default ray domain and accept the default global ground or change its material properties.<br />
* Define an excitation source and observables for your project.<br />
* 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.<br />
* Run the SBR simulation engine.<br />
* Visualize the coverage map and plot other data.<br />
<br />
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 &rarr; Run...''' or using the keyboard shortcut {{key|Ctrl+R}}. When you click the {{key|Run}} button, a new 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.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:Terrano L1 Fig16.png|thumb|left|480px|EM.Terrano's simulation run dialog.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN10.png|thumb|left|550px|EM.Terrano's output message window.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
=== Changing the SBR Engine Settings ===<br />
<br />
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 "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.<br />
<br />
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 &quot;'''Max No. Ray Bounces'''&quot;, 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&deg;. 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. <br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN11.png|thumb|left|720px|EM.Terrano's SBR simulation engine settings dialog.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
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.<br />
<br />
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.<br />
<br />
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. <br />
<br />
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: <br />
<br />
<math> P_{ray} = \frac{ | \mathbf{E_{norm}} |^2 }{2\eta_0} \frac{\lambda_0^2}{4\pi} </math><br />
<br />
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.<br />
<br />
=== Polarimetric Channel Analysis ===<br />
<br />
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.<br />
<br />
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>&theta;</sub>''' and '''E<sub>&phi;</sub>''' field components associated with each ray at the receiver location to its '''E<sub>&theta;</sub>''' and '''E<sub>&phi;</sub>''' field components at the transmitter location. Each ray has a delay and &theta; and &phi; angles of departure at the transmitter location and &theta; and &phi; angles of departure at the receiver location.<br />
<br />
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 "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.<br />
<br />
=== The "Almost Real-Time" Polarimatrix Solver ===<br />
<br />
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, a 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-down 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.<br />
<br />
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. <br />
<br />
{{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.}}<br />
<br />
=== EM.Terrano's Simulation Modes ===<br />
<br />
EM.Terrano provides a number of different simulation modes that involve single or multiple simulation runs: <br />
<br />
{| class="wikitable"<br />
|-<br />
! scope="col"| Simulation Mode<br />
! scope="col"| Usage<br />
! scope="col"| Which Solver?<br />
! scope="col"| Frequency <br />
! scope="col"| Restrictions<br />
|-<br />
| style="width:120px;" | [[#Running a Single-Frequency SBR Analysis | Single-Frequency Analysis]]<br />
| style="width:180px;" | Simulates the propagation scene "As Is"<br />
| style="width:150px;" | SBR, Channel Analyzer, Polarimatrix, Radar Simulator<br />
| style="width:120px;" | Runs at the center frequency fc<br />
| style="width:300px;" | None<br />
|-<br />
| style="width:120px;" | [[Parametric_Modeling_%26_Simulation_Modes_in_EM.Cube#Running_Frequency_Sweep_Simulations_in_EM.Cube | Frequency Sweep]]<br />
| style="width:180px;" | Varies the operating frequency of the ray tracer <br />
| style="width:150px;" | SBR, Channel Analyzer, Polarimatrix, Radar Simulator<br />
| style="width:120px;" | Runs at a specified set of frequency samples<br />
| style="width:300px;" | None<br />
|-<br />
| style="width:120px;" | [[Parametric_Modeling_%26_Simulation_Modes_in_EM.Cube#Running_Parametric_Sweep_Simulations_in_EM.Cube | Parametric Sweep]]<br />
| style="width:180px;" | Varies the value(s) of one or more project variables<br />
| style="width:150px;" | SBR<br />
| style="width:120px;" | Runs at the center frequency fc<br />
| style="width:300px;" | Requires definition of sweep variables, works only with SBR solver as the physical scene may change during the sweep <br />
|-<br />
| style="width:120px;" | [[#Transmitter_Sweep | Transmitter Sweep]]<br />
| style="width:180px;" | Activates two or more transmitters sequentially with only one transmitter broadcasting at each simulation run <br />
| style="width:150px;" | Polarimatrix<br />
| style="width:120px;" | Runs at the center frequency fc<br />
| style="width:300px;" | Requires at least two transmitters in the scene, works only with Polarimatrix solver and requires an existing ray database<br />
|-<br />
| style="width:120px;" | [[#Rotational_Sweep | Rotational Sweep]]<br />
| style="width:180px;" | Rotates the radiation pattern of the transmit antenna(s) sequentially to model beam steering <br />
| style="width:150px;" | Polarimatrix<br />
| style="width:120px;" | Runs at the center frequency fc<br />
| style="width:300px;" | Works only with Polarimatrix solver and requires an existing ray database<br />
|-<br />
| style="width:120px;" | [[#Mobile_Sweep | Mobile Sweep]]<br />
| style="width:180px;" | Considers one pair of active transmitter and receiver at each simulation run to model a mobile communication link<br />
| style="width:150px;" | Polarimatrix<br />
| style="width:120px;" | Runs at the center frequency fc<br />
| style="width:300px;" | Requires the same number of transmitters and receivers, works only with Polarimatrix solver and requires an existing ray database<br />
|}<br />
<br />
Click on each item in the above list to learn more about each simulation mode. <br />
<br />
You set the simulation mode in EM.Terrano's simulation run dialog using the 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. <br />
<br />
{{Note| EM.Terrano's frequency sweep simulations are very fast because the geometrical optics (ray tracing) part of the simulation is frequency-independent.}}<br />
<br />
=== Transmitter Sweep ===<br />
<br />
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.<br />
<br />
{{Note| EM.Terrano's transmitter sweep works only with the Polarimatrix Solver and requires an existing ray database previously generated using the Channel Analyzer.}}<br />
<br />
=== Rotational Sweep ===<br />
<br />
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.<br />
<br />
{{Note| EM.Terrano's rotational sweep works only with the Polarimatrix Solver and requires an existing ray database previously generated using the Channel Analyzer.}}<br />
<br />
=== Mobile Sweep ===<br />
<br />
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.<br />
<br />
[[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]].<br />
<br />
{{Note| EM.Terrano's mobile sweep works only with the Polarimatrix Solver and requires an existing ray database previously generated using the Channel Analyzer.}}<br />
<br />
=== Investigating Propagation Effects Selectively One at a Time ===<br />
<br />
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. <br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon10.png|thumb|left|640px|The received power coverage map of the random city scene with a dipole transmitter.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
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.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon15.png|thumb|left|480px|The plot settings dialog of the coverage map.]] <br />
</td><br />
</tr><br />
</table><br />
<table><br />
<tr><br />
<td> <br />
[[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.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
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. <br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon14.png|thumb|left|640px|EM.Terrano's simulation run dialog showing the check boxes for controlling various propagation effects.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon11.png|thumb|left|640px|The received power coverage map of the random city scene with direct LOS rays only.]] <br />
</td><br />
</tr><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon12.png|thumb|left|640px|The received power coverage map of the random city scene with reflected rays only.]] <br />
</td><br />
</tr><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon13.png|thumb|left|640px|The received power coverage map of the random city scene with diffracted rays only.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
== Working with EM.Terrano's Simulation Data ==<br />
<br />
=== The Ray Tracing Solvers' Output Simulation Data ===<br />
<br />
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 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 saved into 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 temperatures, noise figure and transmission line losses in the definition of the receiver sets, the noise power level and signal-to-noise 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.<br />
<br />
=== Visualizing Field & Received Power Coverage Maps ===<br />
<br />
In wireless propagation modeling for communication system applications, the received power at the receiver location is more important than the field distributions. In order to compute the received power, you need three pieces of information:<br />
<br />
* '''Total Transmitted Power (EIRP)''': This requires knowledge of the baseband signal power, the transmitter chain parameters, the transmission characteristics of the transmission line connecting the transmitter circuit to the transmitting antenna and the radiation characteristics of the transmitting antenna.<br />
* '''Channel Path Loss''': This is computed through SBR simulation. <br />
* '''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.<br />
<br />
In a simple link scenario, the received power P<sub>r</sub> in dBm is found from the following equation:<br />
<br />
<math> P_r [dBm] = P_t [dBm] + G_{TC} + G_{TA} - PL + G_{RA} + G_{RC} </math><br />
<br />
where P<sub>t</sub> is the baseband signal power in dBm at the transmitter, G<sub>TC</sub> and G<sub>RC</sub> are the total transmitter and receiver chain gains in dB, respectively, G<sub>TA</sub> and G<sub>RA</sub> are the total transmitting and receiving antenna gains in dB, respectively, and PL is the channel path loss in dB. Keep in mind that EM.Terrano is fully polarimetric. The transmitting and receiving antenna characteristics are specified through the imported radiation pattern files, which are part of the definition of the transmitters and receivers. In particular, the polarization mismatch losses are taken into account through the polarimetric SBR ray tracing analysis. <br />
<br />
If you specify the noise-related parameters of your receiver set, the signal-to-noise ratios (SNR) is calculated at each receiver location: SNR = P<sub>r</sub> - P<sub>n</sub>, where P<sub>n</sub> is the noise power level in dB. When planning, designing and deploying a communication system between points A and B, the link is considered to be closes and a connection established if the received signal power at the location of the receiver is above the noise power level by a certain threshold. In other words, the SNR at the receiver must be greater than a certain specified minimum SNR level. You specify (SNR)<sub>min</sub> ss part of the definition of receiver chain in the Receiver Set dialog. In the "Visualization Options" section of this dialog, you can also check the check box labeled '''Generate Connectivity Map'''. This is a binary-level black-and-white map that displays connected receivers in white and disconnected receivers in black. At the end of an SBR simulation, the computed SNR is displayed in the Receiver Set dialog for the selected receiver. The connectivity map is generated and added to the navigation tree underneath the received power coverage map node. <br />
<br />
At the end of an SBR simulation, you can visualize the field maps and receiver power coverage map of your receiver sets. A coverage map shows the total '''Received Power''' by each of the receivers and is visualized as a color-coded intensity plot. Under each receiver set node in the navigation tree, a total of seven field maps together with a received power coverage map are added. The field maps include amplitude and phase plots for the three X, Y, Z field components plus a total electric field plot. To display a field or coverage map, simply click on its entry in the navigation tree. The 3D plot appears in the Main Window overlaid on your propagation scene. A legend box on the right shows the color scale and units (dB). The 3D coverage maps are displayed as horizontal confetti above the receivers. You can change the appearance of the receivers and maps from the property dialog of the receiver set. You can further customize the settings of the 3D field and coverage plots. <br />
<br />
<table><br />
<tr><br />
<td><br />
[[Image:AnnArbor Scene1.png|thumb|left|640px|The downtown Ann Arbor propagation scene.]]<br />
</td><br />
</tr><br />
<tr><br />
<td><br />
[[Image:AnnArbor Scene2.png|thumb|left|640px|The electric field distribution map of the Ann Arbor scene with vertical dipole transmitter and receivers.]]<br />
</td><br />
</tr><br />
<tr><br />
<td><br />
[[Image:AnnArbor Scene3.png|thumb|left|640px|The received power coverage map of the Ann Arbor scene with vertical dipole transmitter and receivers.]]<br />
</td><br />
</tr><br />
<tr><br />
<td><br />
[[Image:AnnArbor Scene4.png|thumb|left| 640px |The connectivity map of the Ann Arbor scene with SNR<sub>min</sub> = 3dB with the basic color map option.]]<br />
</td><br />
</tr><br />
<tr><br />
<td><br />
[[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.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
=== Visualizing the Rays in the Scene ===<br />
<br />
At the end of a SBR simulation, each receiver receives a number of rays. Some receivers may not receive any rays at all. You can visualize all the rays received by a certain receiver from the active transmitter of the scene. To do this, right click the '''Receivers''' item of the Navigation Tree. From the context menu select '''Show Received Rays'''. All the rays received by the currently selected receiver of the scene are displayed in the scene. The rays are identified by labels, are ordered by their power and have different colors for better visualization. You can display the rays for only one receiver at a time. The receiver set property dialog has a list of all the individual receivers belonging to that set. To display the rays received by another receiver, you have to change the '''Selected Receiver''' in the receiver set's property dialog. If you keep the mouse focus on this dropdown list and roll your mouse scroll wheel, you can scan the selected receivers and move the rays from one receiver to the next in the list. To remove the visualized rays from the scene, right click the Receivers item of the Navigation Tree again and from the context menu select '''Hide Received Rays'''.<br />
<br />
You can also view the ray parameters by opening the property dialog of a receiver set. By default, the first receiver of the set is always selected. You can select any other receiver from the drop-down list labeled '''Selected Receiver'''. If you click the button labeled '''Show Ray Data''', a new dialog opens up with a table that contains all the received rays at the selected receiver and their parameters:<br />
<br />
* Delay is the total time delay that a ray experiences travelling from the transmitter to the receiver after all the reflections, transmissions and diffractions and is expressed in nanoseconds.<br />
* Ray Field is the received electric field at the receiver location due to a specific ray and is given in dBV/m.<br />
* Ray Power is the received power at the receiver due to a specific ray and is given in dBm.<br />
* Angles of Arrival are the &theta; and &phi; angles of the incoming ray at the local spherical coordinate system of the receiver.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon17.png|thumb|left|720px|EM.Terrano's ray data dialog showing a selected ray.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
The Ray Data Dialog also shows the '''Total Received Power''' in dBm and '''Total Received Field''' in dBV/m due to all the rays received by the receiver. You can sort the rays based on their delay, field, power, etc. To do so, simply click on the grey column label in the table to sort the rays in ascending order based on the selected parameter. You can also select any ray by clicking on its '''ID''' and highlighting its row in the table. In that case, the selected rays is highlighted in the Project Workspace and all the other rays become thin (faded).<br />
<br />
{{Note|All the received rays are summed up coherently in a vectorial manner at the receiver location.}}<br />
<br />
<table><br />
<tr><br />
<td> [[Image:UrbanCanyon18.png|thumb|left|640px|Visualization of received rays at the location of a selected receiver in the random city scene.]] </td><br />
</tr><br />
</table><br />
<br />
=== The Standard Output Data File ===<br />
<br />
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. <br />
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:<br />
<br />
Each receiver line has the following information:<br />
<br />
* Receiver ID<br />
* Receiver X, Y, Z coordinates<br />
* Total received power in dBm<br />
* Total number of received rays<br />
<br />
Each rays line received by a receiver has the following information:<br />
<br />
* Ray Index<br />
* Delay in nsec<br />
* &theta; and &phi; Angles of Arrival in deg<br />
* &theta; and &phi; Angles of Departure in deg<br />
* Real and imaginary parts of the three E<sub>x</sub>, E<sub>y</sub>, E<sub>z</sub> components<br />
* Number of ray hit points <br />
* Coordinates of individual hit points<br />
<br />
The angles of arrival are the &theta; and &phi; angles of a received ray measured in degrees and are referenced in the local spherical coordinate systems centered at the location of the receiver. The angles of departure for a received ray are the &theta; and &phi; angles of the originating transmitter ray, measured in degrees and referenced in the local spherical coordinate systems centered at the location of the active transmitter, which eventually arrives at the receiver. The total time delay is measured in nanoseconds between t = 0 nsec at the time of launch from the transmitter location till being received at the receiver location.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:prop_run8_tn.png|thumb|left|720px|A typical SBR output data file.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
=== Plotting Other Simulation Results ===<br />
<br />
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}}. <br />
<br />
The available data files in the "2D Data Files" tab of Data Manger include:<br />
<br />
* '''Path Loss''': The channel path loss is defined as PL = P<sub>r</sub> - EIRP. The path loss data are stored in a file called "SBR_receiver_set_name_PATHLOSS.DAT" as a function of the receiver index. The path loss data make sense only if your receiver set has the default isotropic radiator. <br />
* '''Power Delay Profile''': The delays of the individual rays received by the selected receiver with respect to the transmitter are expressed in ns and tabulated together with the power of each ray in the file "SBR_receiver_set_name_DELAY.DAT". You can plot these data from the Data Manager as a bar chart called the power delay profile. The bars indeed correspond to the difference between the ray power in dBm and the minimum power threshold level in dBm, which makes them a positive quantity. <br />
* '''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. <br />
<br />
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<br />
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. <br />
<br />
[[Image:Info_icon.png|40px]] Click here to learn more about working with data filed and plotting graphs in [[EM.Cube]]'s '''[[Defining_Project_Observables_%26_Visualizing_Output_Data#The_Data_Manager | Data Manager]]'''.<br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano pathloss.png|thumb|360px|Cartesian graph of path loss.]] </td><br />
<td> [[Image:Terrano delay.png|thumb|360px|Bar graph of power delay profile.]] </td><br />
</tr><br />
<tr><br />
<td> [[Image:Terrano ARR phi.png|thumb|360px|Polar stem graph of Phi angle of arrival.]] </td><br />
<td> [[Image:Terrano ARR theta.png|thumb|360px|Polar stem graph of Theta angle of arrival.]] </td><br />
</tr><br />
<tr><br />
<td> [[Image:Terrano DEP phi.png|thumb|360px|Polar stem graph of Phi angle of departure.]] </td><br />
<td> [[Image:Terrano DEP theta.png|thumb|360px|Polar stem graph of Theta angle of departure.]] </td><br />
</tr><br />
</table><br />
<br />
=== Visualizing 3D Radiation Patterns of Transmit and Receive Antennas in the Scene ===<br />
<br />
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. <br />
<br />
<table><br />
<tr><br />
<td><br />
[[Image:UrbanCanyon6.png|thumb|left|640px|The received power coverage map of the random city scene with a highly directional dipole array transmitter.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
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. <br />
<br />
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. <br />
<br />
<table><br />
<tr><br />
<td><br />
[[Image:UrbanCanyon8.png|thumb|left|640px|Setting the pattern parameters in the radiation pattern dialog.]]<br />
</td><br />
</tr><br />
</table><br />
<table><br />
<tr><br />
<td><br />
[[Image:UrbanCanyon7.png|thumb|left|720px|Visualization of the 3D radiation pattern of the directional transmitter in the random city scene.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
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). <br />
<br />
<table><br />
<tr><br />
<td><br />
[[Image:UrbanCanyon9.png|thumb|left|640px|EM.Terrano's Run Simulation dialog.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
== Using EM.Terrano as an Asymptotic Field Solver ==<br />
<br />
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. You can mix and match different source types and observable types depending on the requirements of your modeling problem. <br />
<br />
The available source types in EM.Terrano are:<br />
<br />
{| class="wikitable"<br />
|-<br />
! scope="col"| Icon<br />
! scope="col"| Source Type<br />
! scope="col"| Applications<br />
! scope="col"| Restrictions<br />
|-<br />
| style="width:30px;" | [[File:transmitter_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Point Transmitter Set | Point Transmitter Set]]<br />
| style="width:250px;" | Modeling realsitic antennas & link budget calculations<br />
| style="width:250px;" | Requires to be associated with a base location point set<br />
|-<br />
| style="width:30px;" | [[File:hertz_src_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Hertzian Short Dipole Source | Hertzian Short Dipole]]<br />
| style="width:250px;" | Almost omni-directional physical radiator<br />
| style="width:250px;" | None, stand-alone source<br />
|-<br />
| style="width:30px;" | [[File:huyg_src_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Huygens Source | Huygens Source]]<br />
| style="width:250px;" | Used for modeling equivalent sources imported from other [[EM.Cube]] modules <br />
| style="width:250px;" | None, stand-alone source imported from a Huygens surface data file<br />
|}<br />
<br />
Click on each type to learn more about it in the [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types]]. <br />
<br />
The available observables types in [[EM.Terrano]] are:<br />
<br />
{| class="wikitable"<br />
|-<br />
! scope="col"| Icon<br />
! scope="col"| Source Type<br />
! scope="col"| Applications<br />
! scope="col"| Restrictions<br />
|-<br />
| style="width:30px;" | [[File:receiver_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Point Receiver Set | Point Receiver Set]]<br />
| style="width:250px;" | Generating received power coverage maps & link budget calculations<br />
| style="width:250px;" | Requires to be associated with a base location point set<br />
|-<br />
| style="width:30px;" | [[File:Distr Rx icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Distributed Receiver Set | Distributed Receiver Set]]<br />
| style="width:250px;" | Computing received power at a receiver characterized by Huygens surface data<br />
| style="width:250px;" | None, stand-alone source imported from a Huygens surface data file<br />
|-<br />
| style="width:30px;" | [[File:fieldsensor_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Near-Field Sensor Observable | Near-Field Sensor]]<br />
| style="width:250px;" | Generating electric and magnetic field distribution maps<br />
| style="width:250px;" | None, stand-alone observable<br />
|-<br />
| style="width:30px;" | [[File:farfield_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Far-Field Radiation Pattern Observable | Far-Field Radiation Pattern]]<br />
| style="width:250px;" | Computing the effective radiation pattern of a radiator in the presence of a large scattering scene <br />
| style="width:250px;" | None, stand-alone observable<br />
|-<br />
| style="width:30px;" | [[File:huyg_surf_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Huygens Surface Observable | Huygens Surface]]<br />
| style="width:250px;" | Collecting tangential field data on a box to be used later as a Huygens source in other [[EM.Cube]] modules<br />
| style="width:250px;" | None, stand-alone observable<br />
|}<br />
<br />
Click on each type to learn more about it in the [[Glossary of EM.Cube's Simulation Observables & Graph Types]]. <br />
<br />
When you define a far-field observable in EM.Terrano, a collection of invisible, isotropic receivers are placed on the surface of a large sphere that encircles your propagation scene and all of its geometric objects. These receivers are placed uniformly on the spherical surface at a spacing that is determined by your specified angular resolutions. In most cases, you need to define angular resolutions of at least 1&deg; or smaller. Note that this is different than the transmitter rays' angular resolution. You may have a large number of transmitted rays but not enough receivers to compute the effective radiation pattern at all azimuth and elevation angles. Also keep in mind that with 1&deg; Theta and Phi angle increments, you will have a total of 181 &times; 361 = 65,341 spherically placed receivers in your scene. <br />
<br />
{{Note| Computing radiation patterns using EM.Terrano's SBR solver typically takes much longer computation times than using [[EM.Cube]]'s other computational modules.}}<br />
<br />
<table><br />
<tr><br />
<td> [[Image:SBR pattern.png|thumb|540px|Computed 3D radiation pattern of two vertical short dipole radiators placed 1m apart in the free space at 1GHz.]] </td><br />
</tr><br />
</table><br />
<br />
== Statistical Analysis of Propagation Scene ==<br />
<br />
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.<br />
<br />
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 '''&quot;Create Mean and Standard Deviation received power coverage maps&quot;'''. 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.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN12.png|thumb|left|480px|EM.Terrano's simulation run dialog showing frequency sweep as the simulation mode along with statistical analysis.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon4.png|thumb|left|640px|The mean coverage map at the end of a frequency sweep.]] <br />
</td><br />
</tr><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon5.png|thumb|left|640px|The standard deviation coverage map at the end of a frequency sweep.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
<br /><br />
<br />
<hr><br />
<br />
[[Image:Top_icon.png|30px]] '''[[EM.Terrano#Product_Overview | Back to the Top of the Page]]'''<br />
<br />
[[Image:Tutorial_icon.png|30px]] '''[[EM.Cube#EM.Terrano_Documentation | EM.Terrano Tutorial Gateway]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/EM.TerranoEM.Terrano2019-04-05T14:16:44Z<p>Kazem Sabet: /* Scene Definition / Construction */</p>
<hr />
<div>[[Image:Splash-prop.jpg|right|720px]]<br />
<strong><font color="#4e1985" size="4">True 3D, Coherent, Polarimetric Ray Tracer That Simulates Very Large Urban Scenes In Just Few Minutes!</font></strong><br />
<table><br />
<tr><br />
<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:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]]</td><br />
<tr><br />
</table><br />
[[Image:Tutorial_icon.png|30px]] '''[[EM.Cube#EM.Terrano_Documentation | EM.Terrano Tutorial Gateway]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''<br />
==Product Overview==<br />
<br />
===EM.Terrano in a Nutshell ===<br />
<br />
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 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 arrival and departure, etc. Using EM.Terrano you can examine the connectivity of a communication link between any two points in a real specific propagation site.<br />
<br />
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 in 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 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 development is a multicore parallelized SBR simulation engine that takes advantage of ultrafast k-d tree algorithms borrowed from the field of computer graphics and video gaming to achieve the ultimate speed and efficiency in geometrical optics ray tracing.<br />
<br />
[[Image:Info_icon.png|30px]] Click here to learn more about the '''[[Basic Principles of SBR Ray Tracing | Basic SBR Theory]]'''.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:Manhattan1.png|thumb|left|420px|A large urban propagation scene featuring lower Manhattan.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
=== EM.Terrano as the Propagation Module of EM.Cube ===<br />
<br />
EM.Terrano is the ray tracing '''Propagation Module''' of '''[[EM.Cube]]''', a comprehensive, integrated, modular electromagnetic modeling environment. EM.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.<br />
<br />
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]].<br />
<br />
[[Image:Info_icon.png|30px]] Click here to learn more about '''[[Getting_Started_with_EM.Cube | EM.Cube Modeling Environment]]'''.<br />
<br />
=== Advantages & Limitations of EM.Terrano's SBR Solver ===<br />
<br />
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. <br />
<br />
EM.Terrano performs fully polarimetric and coherent SBR simulations with arbitrary transmitter antenna patterns. Its SBR simulation engine is a true asymptotic &quot;field&quot; 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 &epsilon;<sub>r</sub> and electric conductivity &sigma;. 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. <br />
<br />
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 &quot;full-wave&quot; 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.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:Multipath_Rays.png|thumb|left|500px|A multipath urban propagation scene showing all the rays collected by a receiver.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
== EM.Terrano Features at a Glance ==<br />
<br />
=== Scene Definition / Construction ===<br />
<br />
<ul><br />
<li><br />
Buildings/blocks with arbitrary geometries and material properties</li><br />
<li><br />
Buildings/blocks with impenetrable surfaces or penetrable surfaces using thin wall approximation</li><br />
<li><br />
Multilayer walls for indoor propagation scenes</li><br />
<li><br />
Penetrable volume blocks with arbitrary geometries and material properties</li><br />
<li><br />
Import of shapefiles and STEP, IGES and STL CAD model files for scene construction</li><br />
<li><br />
Terrain surfaces with arbitrary geometries and material properties and random rough surface profiles</li><br />
<li><br />
Import of digital elevation map (DEM) terrain models</li><br />
<li><br />
Python-based random city wizard with randomized building locations, extents and orientations</li><br />
<li><br />
Python-based wizards for generation of parameterized multi-story office buildings and several terrain scene types</li><br />
<li><br />
Standard half-wave dipole transmitters and receivers oriented along the principal axes</li><br />
<li><br />
Short Hertzian dipole sources with arbitrary orientation</li><br />
<li><br />
Isotropic receivers or receiver grids for wireless coverage modeling</li><br />
<li><br />
Radiator sets with 3D directional antenna patterns (imported from other modules or external files)</li><br />
<li><br />
Full three-axis rotation of imported antenna patterns</li><br />
<li><br />
Interchangeable radiator-based definition of transmitters and receivers (networks of transceivers)</li><br />
</ul><br />
<br />
=== Wave Propagation Modeling ===<br />
<br />
<ul><br />
<li><br />
Fully 3D polarimetric and coherent Shoot-and-Bounce-Rays (SBR) simulation engine</li><br />
<li><br />
GTD/UTD diffraction models for diffraction from building edges and terrain</li><br />
<li><br />
Triangular surface mesh generator for discretization of arbitrary block geometries</li><br />
<li><br />
Super-fast geometrical/optical ray tracing using advanced k-d tree algorithms</li><br />
<li><br />
Intelligent ray tracing with user defined angular extents and resolution</li><br />
<li><br />
Ray reflection, edge diffraction and ray transmission through multilayer walls and material volumes</li><br />
<li><br />
Communication link analysis for superheterodyne transmitters and receivers</li><br />
<li><br />
17 digital modulation waveforms for the calculation of E<sub>b</sub>/N<sub>0</sub> and Bit error rate (BER)</li><br />
<li><br />
Incredibly fast frequency sweeps of the entire propagation scene in a single SBR simulation run</li><br />
<li><br />
Parametric sweeps of scene elements like building properties, or radiator heights and rotation angles</li><br />
<li><br />
Statistical analsyis of the propagation scene</li><br />
<li><br />
Polarimetric channel characterization for MIMO analysis</li><br />
<li><br />
"Almost real-time" Polarimatrix solver using an existing ray database</li><br />
<li><br />
"Almost real-time" transmitter sweep using the Polarimatrix solver</li><br />
<li><br />
"Almost real-time" rotational sweep for modeling beam steering using the Polarimatrix solver</li><br />
<li><br />
"Almost real-time" mobile sweep for modeling mobile communications between Tx-Rx pairs along a mobile path using the Polarimatrix solver</li><br />
</ul><br />
<br />
=== Data Generation &amp; Visualization ===<br />
<br />
<ul><br />
<li><br />
Standard output parameters for received power, path loss, SNR, E<sub>b</sub>/N<sub>0</sub> and BER at each individual receiver</li><br />
<li><br />
Graphical visualization of propagating rays in the scene</li><br />
<li><br />
Received power coverage maps</li><br />
<li><br />
Link connectivity maps (based on minimum required SNR and BER)</li><br />
<li><br />
Color-coded intensity plots of polarimetric electric field distributions</li><br />
<li><br />
Incoming ray data analysis at each receiver including delay, angles of arrival and departure</li><br />
<li><br />
Cartesian plots of path loss along defined paths</li><br />
<li><br />
Power delay profile of the selected receiver</li><br />
<li><br />
Polar stem charts of angles of arrival and departure of the selected receiver</li><br />
</ul><br />
<br />
== Building a Propagation Scene in EM.Terrano ==<br />
<br />
=== The Various Elements of a Propagation Scene ===<br />
<br />
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.Terrano, 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. <br />
<br />
A more complicated propagation scene usually contains several buildings, walls, or other kinds of scatterers and wave obstructing objects. You 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: <br />
<br />
{| class="wikitable"<br />
|-<br />
! scope="col"| Icon<br />
! scope="col"| Block/Group Type <br />
! scope="col"| Ray Interaction Type<br />
! scope="col"| Object Types Allowed<br />
! scope="col"| Notes<br />
|-<br />
| style="width:30px;" | [[File:impenet_group_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Impenetrable Surface | Impenetrable Surface]]<br />
| style="width:200px;" | Ray reflection, ray diffraction<br />
| style="width:250px;" | All solid & surface geometric objects, no curve objects<br />
| style="width:300px;" | Basic building group for outdoor scenes<br />
|-<br />
| style="width:30px;" | [[File:penet_surf_group_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Penetrable Surface | Penetrable Surface]]<br />
| style="width:200px;" | Ray reflection, ray diffraction, ray transmission in free space<br />
| style="width:250px;" | All solid & surface geometric objects, no curve objects<br />
| 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 <br />
|-<br />
| style="width:30px;" | [[File:terrain_group_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Terrain Surface | Terrain Surface]]<br />
| style="width:200px;" | Ray reflection, ray diffraction<br />
| style="width:250px;" | All surface geometric objects, no solid or curve objects <br />
| style="width:300px;" | Behaves exactly like impenetrable surface but can change the elevation of all the buildings and transmitters and receivers located above it<br />
|-<br />
| style="width:30px;" | [[File:penet_vol_group_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Penetrable Volume | Penetrable Volume]]<br />
| style="width:200px;" | Ray reflection, ray diffraction, ray transmission and ray attenuation inside homogeneous material media<br />
| style="width:250px;" | All solid geometric objects, no surface or curve objects<br />
| 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<br />
|-<br />
| style="width:30px;" | [[File:base_group_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Base Location Set | Base Location Set]]<br />
| style="width:200px;" | Either ray generation or ray reception<br />
| style="width:250px;" | Only point objects<br />
| style="width:300px;" | Required for the definition of transmitters and receivers<br />
|-<br />
| style="width:30px;" | [[File:scatterer_group_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Point Scatterer Set | Point Scatterer Set]]<br />
| style="width:200px;" | Ray reception and ray scattering<br />
| style="width:250px;" | Only point, box and sphere objects<br />
| style="width:300px;" | Required for the definition of point scatterers as targets in a radar simulation <br />
|-<br />
| style="width:30px;" | [[File:Virt_group_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Virtual_Object_Group | Virtual Object]]<br />
| style="width:200px;" | No ray interaction<br />
| style="width:250px;" | All types of objects<br />
| style="width:300px;" | Used for representing non-physical items <br />
|}<br />
<br />
Click on each type to learn more about it in the [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types]]. <br />
<br />
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:<br />
<br />
* They terminate an impinging ray and replace it with one or more new rays.<br />
* They represent a specular interface between two media of different material compositions for calculating the reflection, transmission or diffraction coefficients.<br />
<br />
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.<br />
<br />
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. <br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN2.png|thumb|left|720px|An urban propagation scene generated by EM.Terrano's "Random City" and "Basic Link" wizards. It consists of 25 cubic brick buildings, one transmitter and a large two-dimensional array of receivers. ]]<br />
</td><br />
</tr><br />
</table><br />
<br />
=== Organizing the Propagation Scene by Block Groups ===<br />
<br />
In EM.Terrano, all the geometric objects associated with the various scene elements like buildings, terrain surfaces and base location points are grouped together as blocks based on their common type. All the objects listed under a particular group in the navigation tree share the same color, texture and material properties. Once a new block group has been created in the navigation tree, it becomes the "Active" group of the project workspace, which is always displayed in bold letters. You can draw new objects under the active node. Any block group can be made active by right-clicking on its name in the navigation tree and selecting the '''Activate''' item of the contextual menu. <br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN1.png|thumb|left|480px|EM.Terrano's navigation tree.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
It is recommended that you first create block groups, and then draw new objects under the active block group. However, if you start a new EM.Terrano project from scratch, and start drawing a new object without having previously defined any block groups, a new default impenetrable surface group is created and added to the navigation tree to hold your new CAD object. You can always change the properties of a block group later by accessing its property dialog from the contextual menu. You can also delete a block group with all of its objects at any time.<br />
<br />
{{Note|You can only import external CAD models (STEP, IGES, STL, DEM, etc.) only to the CubeCAD module. You can then transfer the imported objects from CubeCAD to EM.Terrano.}}<br />
<br />
=== Moving Objects Among Different Block Groups ===<br />
<br />
You can move any geometric object or a selection of objects from one block group to another. You can also transfer objects among [[EM.Cube]]'s different modules. For example, you often need to move imported CAD models of terrain or buildings from CubeCAD to EM.Terrano. To transfer objects, first select them in the project workspace or select their names in the navigation tree. Then right-click on them and select <b>Move To &rarr; Module Name &rarr; Object Group</b> from the contextual menu. For example, if you want to move a selected object to a block group called "Terrain_1" in EM.Terrano, then you have to select the menu item '''Move To &rarr; EM.Terrano &rarr; Terrain_1''' as shown in the figure below. Note that you can transfer several objects altogether using the keyboards's {{key|Ctrl}} or {{key|Shift}} keys to make multiple selections. <br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN3.png|thumb|left|720px|Moving the terrain model of Mount Whitney originally imported from an external digital elevation map (DEM) file to EM.Terrano.]]<br />
</td><br />
</tr><br />
<tr><br />
<td><br />
[[Image:PROP MAN4.png|thumb|left|720px|The imported terrain model of Mount Whitney shown in EM.Terrano's project workspace under a terrain group called "Terrain_1".]]<br />
</td><br />
</tr><br />
</table><br />
<br />
=== Adjustment of Block Elevation on Underlying Terrain Surfaces ===<br />
<br />
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. <br />
<br />
{{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.}}<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN5.png|thumb|left|480px|The property dialog of impenetrable surface showing the terrain elevation adjustment box checked.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN6.png|thumb|left|360px|A set of buildings on an undulating terrain without elevation adjustment.]]<br />
</td><br />
<td><br />
[[Image:PROP MAN7.png|thumb|left|360px|The set of buildings on the undulating terrain after elevation adjustment.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
== EM.Terrano's Ray Domain & Global Environment ==<br />
<br />
=== Why Do You Need a Finite Computational Domain? ===<br />
<br />
The SBR simulation engine requires a finite computational domain for ray termination. All the stray rays that emanate from a source inside this finite domain and hit its boundaries are terminated during the simulation process. Such rays exit the computational domain and travel to the infinity, with no chance of ever reaching any receiver in the scene. When you define a propagation scene with various elements like buildings, walls, terrain, etc., a dynamic domain is automatically established and displayed as a green wireframe box that surrounds the entire scene. Every time you create a new object, the domain box is automatically adjusted and extended to enclose all the objects in the scene. <br />
<br />
To change the ray domain settings, follow the procedure below:<br />
<br />
* Open the Ray Domain Settings Dialog by clicking the '''Domain''' [[File:image025.jpg]] button of the '''Simulate Toolbar''', or by selecting '''Menu > Simulate > Computational Domain > Settings...''', or by right-clicking on the '''Ray Domain''' item of the navigation tree and selecting '''Domain Settings...''' from the contextual menu, or simply using the keyboard shortcut {{key|Ctrl+A}}.<br />
* The size of the Ray domain is specified in terms of six '''Offset''' parameters along the ±X, ±Y and ±Z directions. The default value of all these six offset parameters is 10 project units. Change these values as you like.<br />
* You can also change the color of the domain box using the {{key|Color}} button.<br />
* After changing the settings, use the {{key|Apply}} button to make the changes effective while the dialog is still open.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP15.png|thumb|left|480px|EM.Terrano's domain settings dialog.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
=== Understanding the Global Ground ===<br />
<br />
Most outdoor and indoor propagation scenes include a flat ground at their bottom, which bounces incident rays back into the scene. EM.Terrano provides a global flat ground at z = 0. The global ground indeed acts as an impenetrable surface that blocks the entire computational domain from the z = 0 plane downward. It is displayed as a translucent green plane at z = 0 extending downward. The color of the ground plane is always the same as the color of the ray domain. The global ground is assumed to be made of a homogeneous dielectric material with a specified permittivity &epsilon;<sub>r</sub> and electric conductivity &sigma;. By default, a rocky ground is assumed with &epsilon;<sub>r</sub> = 5 and &sigma; = 0.005 S/m. You can remove the global ground, in which case, you will have a free space scene. To disable the global ground, open up the "Global Ground Settings" dialog, which can be accessed by right clicking on the '''Global Ground''' item in the Navigation Tree and selecting '''Global Ground Settings... '''Remove the check mark from the box labeled '''&quot;Include Half-Space Ground (z&lt;0)&quot;''' to disable the global ground. This will also remove the green translucent plane from the bottom of your scene. You can also change the material properties of the global ground and set new values for the permittivity and electric conductivity of the impenetrable, half-space, dielectric medium. <br />
<br />
Alternatively, you can use EM.Terrano's '''Empirical Soil Model''' to define the material properties of the global ground. This model requires a number of parameters: Temperature in &deg;C, and Volumetric Water Content, Sand Content and Clay Content all as percentage. <br />
<br />
{{Note|To model a free-space propagation scene, you have to disable EM.Terrano's default global ground.}}<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:Global environ.png|thumb|left|720px|EM.Terrano's Global Environment Settings dialog.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
== Defining Point Transmitters &amp; Point Receivers for Your Propagation Scene ==<br />
<br />
=== The Nature of Transmitters & Receivers ===<br />
<br />
In EM.Terrano, transmitters and receivers are indeed point radiators used for transmitting and receiving signals at different locations of the propagation scene. From a geometric point of view, both transmitters and receivers are represented by point objects or point arrays. These are grouped as base locations in the "Physical Structure" section of the navigation tree. As radiators, transmitters and receivers are defined by a radiator type with a certain far-field radiation pattern. Consistent with [[EM.Cube]]'s other computational modules, transmitters are categorizes as an excitation source, while receivers are categorized as a project observable. In other words, a transmitter is used to generate electromagnetic waves that propagate in the physical scene. A receiver, on the other hand, is used to compute the received fields and received signal power or signal-to-noise ratio (SNR). For this reason, transmitters are defined and listed under the "Sources" sections of the navigation tree, while receivers are defined and listed under the "Observables" section. <br />
<br />
EM.Terrano provides three radiator types for point transmitter sets:<br />
<br />
#Half-wave dipole oriented along one of the three principal axes<br />
#Two collocated, orthogonally polarized, isotropic radiators <br />
#User defined (arbitrary) antenna with imported far-field radiation pattern<br />
<br />
EM.Terrano also provides three radiator types for point receiver sets:<br />
<br />
#Half-wave dipole oriented along one of the three principal axes<br />
#Polarization-matched isotropic radiator<br />
#User defined (arbitrary) antenna with imported far-field radiation pattern<br />
<br />
The default transmitter and receiver radiator types are both vertical (Z-directed) half-wave dipoles. <br />
<br />
There are three different ways to define a transmitter set or a receiver set:<br />
<br />
*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<br />
*Using Python commands emag_tx, emag_rx, emag_tx_array, emag_rx_array, emag_tx_line and emag_rx_line<br />
*Using the "Basic Link" wizard<br />
<br />
=== Defining a Point Transmitter Set in the Formal Way ===<br />
<br />
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:<br />
<br />
* Half-wave dipole<br />
* Orthogonally polarized isotropic radiators<br />
* User defined antenna pattern <br />
<br />
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. <br />
<br />
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 &quot;'''.RAD'''&quot; file extension. This file contains columns of spherical &phi; and &theta; angles as well as the real and imaginary parts of the complex-valued far-zone electric field components '''E<sub>&theta;</sub>''' and '''E<sub>&phi;</sub>'''. The &theta;- and &phi;-components of the far-zone electric field determine the polarization of the transmitting radiator. <br />
<br />
{{Note|By default, EM.Terrano assumes a vertical half-wave dipole radiator for your point transmitter set.}}<br />
<br />
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. <br />
<br />
[[Image:Info_icon.png|40px]] Click here to learn how to define a '''[[Glossary_of_EM.Cube%27s_Materials,_Sources,_Devices_%26_Other_Physical_Object_Types#Point_Transmitter_Set | Point Transmitter Set]]'''.<br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig11.png|thumb|left|480px|The point transmitter set definition dialog.]] </td><br />
</tr><br />
</table><br />
<br />
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 '''Source Power''' in Watts and the broadcast signal '''Phase''' in degrees. The default transmitter power level is 1W 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&deg; phase values as you wish. [[EM.Cube]]'s ".RAD" radiation pattern files usually contain the value of &quot;Total Radiated Power&quot; 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. <br />
<br />
{{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.}}<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[File:NewTxProp.png|thumb|left|720px|The property dialog of a point transmitter set.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
Your transmitter in EM.Teranno is indeed more sophisticated than a simple radiator. It consists of a basic "Transmitter Chain" that contains a voltage source with a series source resistance, and 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 the basic 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. <br />
<br />
{{Note| If you do not modify the default parameters of the transmitter chain, a 50-&Omega; conjugate match condition is assumed and the power delivered to the antenna will be -3dB lower than your specified baseband power.}} <br />
<br />
<table><br />
<tr><br />
<td> [[File:NewTxChain.png|thumb|left|720px|EM.Terrano's point transmitter chain dialog.]] </td><br />
</tr><br />
</table><br />
<br />
=== Defining a Point Receiver Set in the Formal Way ===<br />
<br />
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. EM.Terrano gives you three options for the radiator associated with a point receiver set:<br />
<br />
* Half-wave dipole<br />
* Polarization matched isotropic radiator<br />
* User defined antenna pattern <br />
<br />
By default, EM.Terrano assumes that your receiver is a vertically polarized (Z-directed) resonant half-wave dipole antenna. You can change the direction of the dipole and orient it along the X or Y axes using the provided drop-down list. An isotropic radiator has a perfect omni-directional radiation pattern in all azimuth and elevation directions. An isotropic radiator doesn't exist physically in the real world, but it can be used simply as a point in space to compute the electric field. <br />
<br />
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. <br />
<br />
{{Note|By default, EM.Terrano assumes a vertical half-wave dipole radiator for your point receiver set.}}<br />
<br />
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. <br />
<br />
[[Image:Info_icon.png|40px]] Click here to learn how to define a '''[[Glossary_of_EM.Cube%27s_Simulation_Observables_%26_Graph_Types#Point_Receiver_Set | Point Receiver Set]]'''.<br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig12.png|thumb|left|480px|The point receiver set definition dialog.]] </td><br />
</tr><br />
</table><br />
<br />
Once you define a new receiver set, its name is added 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.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[File:NewRxProp.png|thumb|left|720px|The property dialog of a point receiver set.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
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. <br />
<br />
If you choose the "user defined antenna" option for your receiver set, it indeed consists of a basic "Receiver Chain" that contains a receive antenna connected via a segment of transmission line to the low-noise amplifier (LNA) that is terminated in a matched load. The receiver set's property dialog allows you to define the basic 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 LNA such as its gain and 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. 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. <br />
<br />
<table><br />
<tr><br />
<td> [[File:NewRxChain.png|thumb|left|720px|EM.Terrano's point receiver chain dialog.]] </td><br />
</tr><br />
</table><br />
<br />
=== Modulation Waveform and Detection ===<br />
<br />
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:<br />
<br />
*OOK<br />
*M-ary ASK<br />
*Coherent BFSK<br />
*Coherent QFSK<br />
*Coherent M-ary FSK<br />
*Non-Coherent BFSK<br />
*Non-Coherent QFSK<br />
*Non-Coherent M-ary FSK<br />
*BPSK<br />
*QPSK<br />
*Offset QPSK<br />
*M-ary PSK<br />
*DBPSK<br />
*pi/4 Gray-Coded DQPSK<br />
*M-ary QAM<br />
*MSK<br />
*GMSK (BT = 0.3)<br />
<br />
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.<br />
<br />
The Shannon – Hartley Equation estimates the channel capacity:<br />
<br />
<math> C = B \log_2 \left( 1 + \frac{S}{N} \right) </math><br />
<br />
where B in the bandwidth in Hz, and C is the channel capacity (maximum data rate) expressed in bits/s.<br />
<br />
The spectral efficiency of the channel is defined as<br />
<br />
<math> \eta = \log_2 \left( 1 + \frac{S}{N} \right) </math><br />
<br />
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:<br />
<br />
<math> \frac{E_b}{N_0} = \frac{ 2^\eta - 1}{\eta} </math><br />
<br />
where &eta; is the spectral efficiency. <br />
<br />
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:<br />
<br />
<math> P_b = 0.5 \; \text{erfc} \left( \sqrt{ \frac{E_b}{N_0} } \right) </math><br />
<br />
where P<sub>b</sub> is the bit error rate and erfc(x) is the complementary error function:<br />
<br />
<math> \text{erfc}(x) = 1-\text{erf}(x) = \frac{2}{\sqrt{\pi}} \int_{x}^{\infty} e^{-t^2} dt </math><br />
<br />
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.<br />
<br />
=== A Note on EM.Terrano's Native Dipole Radiators ===<br />
<br />
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: <br />
<br />
<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><br />
<br />
<math> E_\phi(\theta,\phi) \approx 0 </math><br />
<br />
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.<br />
<br />
The directivity of the dipole antenna is given be the expression:<br />
<br />
<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><br />
<br />
with <br />
<br />
<math> F_1(x) = \gamma + \text{ln}(x) - C_i(x) </math><br />
<br />
<math> F_2(x) = \frac{1}{2} \text{sin}(x) \left[ S_i(2x) - 2S_i(x) \right] </math><br />
<br />
<math> F_3(x) = \frac{1}{2} \text{cos}(x) \left[ \gamma + \text{ln}(x/2) + C_i(2x) - 2C_i(x) \right] </math><br />
<br />
<br />
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:<br />
<br />
<br />
<math> C_i(x) = - \int_{x}^{\infty} \frac{ \text{cos} \tau}{\tau} d\tau </math><br />
<br />
<math> S_i(x) = \int_{0}^{x} \frac{ \text{sin} \tau}{\tau} d\tau </math><br />
<br />
<br />
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. <br />
<br />
<table><br />
<tr><br />
<td> [[File:Dipole radiators.png|thumb|720px|EM.Terrano's native half-wave dipole transmitter and receiver.]] </td><br />
</tr><br />
</table><br />
<br />
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: <br />
<br />
* DPL_STD_X.RAD<br />
* DPL_STD_Y.RAD<br />
* DPL_STD_Z.RAD<br />
<br />
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.<br />
<br />
=== A Note on the Rotation of Antenna Radiation Patterns ===<br />
<br />
EM.Terrano's Transmitter Set dialog and Receiver Set dialog both allow you to rotate an imported radiation pattern. In that case, you need to specify the '''Rotation''' angles in degrees about the X-, Y- and Z-axes. It is important to note that these rotations are performed sequentially and in the following order: first a rotation about the X-axis, then a rotation about the Y-axis, and finally a rotation about the Z-axis. In addition, all the rotations are performed with respect to the "rotated" local coordinate systems (LCS). In other words, the first rotation with respect to the local X-axis transforms the XYZ LCS to a new primed X<sup>&prime;</sup>Y<sup>&prime;</sup>Z<sup>&prime;</sup> LCS. The second rotation is performed with respect to the new Y<sup>&prime;</sup>-axis and transforms the X<sup>&prime;</sup>Y<sup>&prime;</sup>Z<sup>&prime;</sup> LCS to a new double-primed X<sup>&prime;&prime;</sup>Y<sup>&prime;&prime;</sup>Z<sup>&prime;&prime;</sup> LCS. The third rotation is finally performed with respect to the new Z<sup>&prime;&prime;</sup>-axis. The figures below shows single and double rotations. <br />
<br />
<table><br />
<tr><br />
<td> [[File:PROP22B.png|thumb|300px|The local coordinate system of a linear dipole antenna.]] </td><br />
<td> [[File:PROP22C.png|thumb|600px|Rotating the dipole antenna by +90&deg; about the local Y-axis.]] </td><br />
</tr><br />
</table><br />
<table><br />
<tr><br />
<td> [[File:PROP22D.png|thumb|720px|Rotating the dipole antenna by +90&deg; about the local X-axis and then by -45&deg; by the local Y-axis.]] </td><br />
</tr><br />
</table><br />
<br />
=== Adjustment of Tx/Rx Elevation above a Terrain Surface ===<br />
<br />
When your transmitters or receivers are located above a flat terrain like the global ground, their Z-coordinates are equal to their height above the ground, as the terrain elevation is fixed and equal to zero everywhere. In many propagation modeling problems, your transmitters and receivers may be located above an irregular terrain with varying elevation across the scene. In that case, you may want to place your transmitters or receivers at a certain height above the underlying ground. The Z-coordinate of a transmitter or receiver is now the sum of the terrain elevation at the base point and the specified height. EM.Terrano gives you the option to adjust the transmitter and receiver sets to the terrain elevation. This is done for individual transmitter sets and individual receiver sets. At the top of the Transmitter Dialog there is a check box labeled &quot;'''Adjust Tx Sets to Terrain Elevation'''&quot;. Similarly, at the top of the Receiver Dialog there is a check box labeled &quot;'''Adjust Rx Sets to Terrain Elevation'''&quot;. These boxes are unchecked by default. As a result, your transmitter sets or receiver sets coincide with their associated base points in the project workspace. If you check these boxes and place a transmitter set or a receiver set above an irregular terrain, the transmitters or receivers are elevated from the location of their associated base points by the amount of terrain elevation as can be seen in the figure below. <br />
<br />
To better understand why there are two separate sets of points in the scene, note that a point array (CAD object) is used to create a uniformly spaced base set. The array object always preserves its grid topology as you move it around the scene. However, the transmitters or receivers associated with this point array object are elevated above the irregular terrain and no longer follow a strictly uniform grid. If you move the base set from its original position to a new location, the base points' topology will stay intact, while the associated transmitters or receivers will be redistributed above the terrain based on their new elevations.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN8.png|thumb|left|640px|A transmitter (red) and a grid of receivers (yellow) adjusted above a plateau terrain surface. The underlying base point sets (blue and orange dots) associated with the adjusted transmitters and receivers on the terrain are also visible in the figure.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
== Discretizing the Propagation Scene in EM.Terrano ==<br />
<br />
=== Why Do You Need to Discretize the Scene? ===<br />
<br />
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. The assumptions of linear edges and planar facets obviously work in the case of a scene with cubic buildings and a flat global ground. <br />
<br />
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. <br />
<br />
Unlike [[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. <br />
<br />
=== Generating the Facet Mesh ===<br />
<br />
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.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:prop_manual-29.png|thumb|left|480px|EM.Terrano's mesh settings dialog.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
[[Image:Info_icon.png|30px]] Click here to learn more about '''[[Preparing_Physical_Structures_for_Electromagnetic_Simulation#Working_with_EM.Cube.27s_Mesh_Generators | Working with Mesh Generator]]'''.<br />
<br />
[[Image:Info_icon.png|30px]] Click here to learn more about the properties of '''[[Glossary_of_EM.Cube%27s_Simulation-Related_Operations#Facet_Mesh | EM.Terrano's Facet Mesh Generator]]'''.<br />
<br />
<table><br />
<tr><br />
<td> [[Image:UrbanCanyon2.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 100m.]] </td><br />
</tr><br />
<tr><br />
<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><br />
</tr><br />
</table><br />
<br />
== Running Ray Tracing Simulations in EM.Terrano ==<br />
<br />
EM.Terrano provides a number of different simulation or solver types:<br />
<br />
* 3D SBR Ray Tracer<br />
* Channel Analyzer<br />
* Polarimatrix Solver<br />
* Radar Simulator <br />
<br />
The first three simulation types are described below. For a description of EM.Terrano's Radar Simulator, follow this link. <br />
<br />
=== Running a Single-Frequency SBR Analysis ===<br />
<br />
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:<br />
<br />
* 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.<br />
* Create the blocks and draw the buildings at the desired locations.<br />
* Keep the default ray domain and accept the default global ground or change its material properties.<br />
* Define an excitation source and observables for your project.<br />
* 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.<br />
* Run the SBR simulation engine.<br />
* Visualize the coverage map and plot other data.<br />
<br />
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 &rarr; Run...''' or using the keyboard shortcut {{key|Ctrl+R}}. When you click the {{key|Run}} button, a new 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.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:Terrano L1 Fig16.png|thumb|left|480px|EM.Terrano's simulation run dialog.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN10.png|thumb|left|550px|EM.Terrano's output message window.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
=== Changing the SBR Engine Settings ===<br />
<br />
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 "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.<br />
<br />
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 &quot;'''Max No. Ray Bounces'''&quot;, 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&deg;. 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. <br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN11.png|thumb|left|720px|EM.Terrano's SBR simulation engine settings dialog.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
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.<br />
<br />
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.<br />
<br />
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. <br />
<br />
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: <br />
<br />
<math> P_{ray} = \frac{ | \mathbf{E_{norm}} |^2 }{2\eta_0} \frac{\lambda_0^2}{4\pi} </math><br />
<br />
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.<br />
<br />
=== Polarimetric Channel Analysis ===<br />
<br />
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.<br />
<br />
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>&theta;</sub>''' and '''E<sub>&phi;</sub>''' field components associated with each ray at the receiver location to its '''E<sub>&theta;</sub>''' and '''E<sub>&phi;</sub>''' field components at the transmitter location. Each ray has a delay and &theta; and &phi; angles of departure at the transmitter location and &theta; and &phi; angles of departure at the receiver location.<br />
<br />
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 "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.<br />
<br />
=== The "Almost Real-Time" Polarimatrix Solver ===<br />
<br />
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, a 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-down 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.<br />
<br />
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. <br />
<br />
{{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.}}<br />
<br />
=== EM.Terrano's Simulation Modes ===<br />
<br />
EM.Terrano provides a number of different simulation modes that involve single or multiple simulation runs: <br />
<br />
{| class="wikitable"<br />
|-<br />
! scope="col"| Simulation Mode<br />
! scope="col"| Usage<br />
! scope="col"| Which Solver?<br />
! scope="col"| Frequency <br />
! scope="col"| Restrictions<br />
|-<br />
| style="width:120px;" | [[#Running a Single-Frequency SBR Analysis | Single-Frequency Analysis]]<br />
| style="width:180px;" | Simulates the propagation scene "As Is"<br />
| style="width:150px;" | SBR, Channel Analyzer, Polarimatrix, Radar Simulator<br />
| style="width:120px;" | Runs at the center frequency fc<br />
| style="width:300px;" | None<br />
|-<br />
| style="width:120px;" | [[Parametric_Modeling_%26_Simulation_Modes_in_EM.Cube#Running_Frequency_Sweep_Simulations_in_EM.Cube | Frequency Sweep]]<br />
| style="width:180px;" | Varies the operating frequency of the ray tracer <br />
| style="width:150px;" | SBR, Channel Analyzer, Polarimatrix, Radar Simulator<br />
| style="width:120px;" | Runs at a specified set of frequency samples<br />
| style="width:300px;" | None<br />
|-<br />
| style="width:120px;" | [[Parametric_Modeling_%26_Simulation_Modes_in_EM.Cube#Running_Parametric_Sweep_Simulations_in_EM.Cube | Parametric Sweep]]<br />
| style="width:180px;" | Varies the value(s) of one or more project variables<br />
| style="width:150px;" | SBR<br />
| style="width:120px;" | Runs at the center frequency fc<br />
| style="width:300px;" | Requires definition of sweep variables, works only with SBR solver as the physical scene may change during the sweep <br />
|-<br />
| style="width:120px;" | [[#Transmitter_Sweep | Transmitter Sweep]]<br />
| style="width:180px;" | Activates two or more transmitters sequentially with only one transmitter broadcasting at each simulation run <br />
| style="width:150px;" | Polarimatrix<br />
| style="width:120px;" | Runs at the center frequency fc<br />
| style="width:300px;" | Requires at least two transmitters in the scene, works only with Polarimatrix solver and requires an existing ray database<br />
|-<br />
| style="width:120px;" | [[#Rotational_Sweep | Rotational Sweep]]<br />
| style="width:180px;" | Rotates the radiation pattern of the transmit antenna(s) sequentially to model beam steering <br />
| style="width:150px;" | Polarimatrix<br />
| style="width:120px;" | Runs at the center frequency fc<br />
| style="width:300px;" | Works only with Polarimatrix solver and requires an existing ray database<br />
|-<br />
| style="width:120px;" | [[#Mobile_Sweep | Mobile Sweep]]<br />
| style="width:180px;" | Considers one pair of active transmitter and receiver at each simulation run to model a mobile communication link<br />
| style="width:150px;" | Polarimatrix<br />
| style="width:120px;" | Runs at the center frequency fc<br />
| style="width:300px;" | Requires the same number of transmitters and receivers, works only with Polarimatrix solver and requires an existing ray database<br />
|}<br />
<br />
Click on each item in the above list to learn more about each simulation mode. <br />
<br />
You set the simulation mode in EM.Terrano's simulation run dialog using the 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. <br />
<br />
{{Note| EM.Terrano's frequency sweep simulations are very fast because the geometrical optics (ray tracing) part of the simulation is frequency-independent.}}<br />
<br />
=== Transmitter Sweep ===<br />
<br />
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.<br />
<br />
{{Note| EM.Terrano's transmitter sweep works only with the Polarimatrix Solver and requires an existing ray database previously generated using the Channel Analyzer.}}<br />
<br />
=== Rotational Sweep ===<br />
<br />
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.<br />
<br />
{{Note| EM.Terrano's rotational sweep works only with the Polarimatrix Solver and requires an existing ray database previously generated using the Channel Analyzer.}}<br />
<br />
=== Mobile Sweep ===<br />
<br />
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.<br />
<br />
[[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]].<br />
<br />
{{Note| EM.Terrano's mobile sweep works only with the Polarimatrix Solver and requires an existing ray database previously generated using the Channel Analyzer.}}<br />
<br />
=== Investigating Propagation Effects Selectively One at a Time ===<br />
<br />
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. <br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon10.png|thumb|left|640px|The received power coverage map of the random city scene with a dipole transmitter.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
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.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon15.png|thumb|left|480px|The plot settings dialog of the coverage map.]] <br />
</td><br />
</tr><br />
</table><br />
<table><br />
<tr><br />
<td> <br />
[[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.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
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. <br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon14.png|thumb|left|640px|EM.Terrano's simulation run dialog showing the check boxes for controlling various propagation effects.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon11.png|thumb|left|640px|The received power coverage map of the random city scene with direct LOS rays only.]] <br />
</td><br />
</tr><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon12.png|thumb|left|640px|The received power coverage map of the random city scene with reflected rays only.]] <br />
</td><br />
</tr><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon13.png|thumb|left|640px|The received power coverage map of the random city scene with diffracted rays only.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
== Working with EM.Terrano's Simulation Data ==<br />
<br />
=== The Ray Tracing Solvers' Output Simulation Data ===<br />
<br />
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 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 saved into 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 temperatures, noise figure and transmission line losses in the definition of the receiver sets, the noise power level and signal-to-noise 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.<br />
<br />
=== Visualizing Field & Received Power Coverage Maps ===<br />
<br />
In wireless propagation modeling for communication system applications, the received power at the receiver location is more important than the field distributions. In order to compute the received power, you need three pieces of information:<br />
<br />
* '''Total Transmitted Power (EIRP)''': This requires knowledge of the baseband signal power, the transmitter chain parameters, the transmission characteristics of the transmission line connecting the transmitter circuit to the transmitting antenna and the radiation characteristics of the transmitting antenna.<br />
* '''Channel Path Loss''': This is computed through SBR simulation. <br />
* '''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.<br />
<br />
In a simple link scenario, the received power P<sub>r</sub> in dBm is found from the following equation:<br />
<br />
<math> P_r [dBm] = P_t [dBm] + G_{TC} + G_{TA} - PL + G_{RA} + G_{RC} </math><br />
<br />
where P<sub>t</sub> is the baseband signal power in dBm at the transmitter, G<sub>TC</sub> and G<sub>RC</sub> are the total transmitter and receiver chain gains in dB, respectively, G<sub>TA</sub> and G<sub>RA</sub> are the total transmitting and receiving antenna gains in dB, respectively, and PL is the channel path loss in dB. Keep in mind that EM.Terrano is fully polarimetric. The transmitting and receiving antenna characteristics are specified through the imported radiation pattern files, which are part of the definition of the transmitters and receivers. In particular, the polarization mismatch losses are taken into account through the polarimetric SBR ray tracing analysis. <br />
<br />
If you specify the noise-related parameters of your receiver set, the signal-to-noise ratios (SNR) is calculated at each receiver location: SNR = P<sub>r</sub> - P<sub>n</sub>, where P<sub>n</sub> is the noise power level in dB. When planning, designing and deploying a communication system between points A and B, the link is considered to be closes and a connection established if the received signal power at the location of the receiver is above the noise power level by a certain threshold. In other words, the SNR at the receiver must be greater than a certain specified minimum SNR level. You specify (SNR)<sub>min</sub> ss part of the definition of receiver chain in the Receiver Set dialog. In the "Visualization Options" section of this dialog, you can also check the check box labeled '''Generate Connectivity Map'''. This is a binary-level black-and-white map that displays connected receivers in white and disconnected receivers in black. At the end of an SBR simulation, the computed SNR is displayed in the Receiver Set dialog for the selected receiver. The connectivity map is generated and added to the navigation tree underneath the received power coverage map node. <br />
<br />
At the end of an SBR simulation, you can visualize the field maps and receiver power coverage map of your receiver sets. A coverage map shows the total '''Received Power''' by each of the receivers and is visualized as a color-coded intensity plot. Under each receiver set node in the navigation tree, a total of seven field maps together with a received power coverage map are added. The field maps include amplitude and phase plots for the three X, Y, Z field components plus a total electric field plot. To display a field or coverage map, simply click on its entry in the navigation tree. The 3D plot appears in the Main Window overlaid on your propagation scene. A legend box on the right shows the color scale and units (dB). The 3D coverage maps are displayed as horizontal confetti above the receivers. You can change the appearance of the receivers and maps from the property dialog of the receiver set. You can further customize the settings of the 3D field and coverage plots. <br />
<br />
<table><br />
<tr><br />
<td><br />
[[Image:AnnArbor Scene1.png|thumb|left|640px|The downtown Ann Arbor propagation scene.]]<br />
</td><br />
</tr><br />
<tr><br />
<td><br />
[[Image:AnnArbor Scene2.png|thumb|left|640px|The electric field distribution map of the Ann Arbor scene with vertical dipole transmitter and receivers.]]<br />
</td><br />
</tr><br />
<tr><br />
<td><br />
[[Image:AnnArbor Scene3.png|thumb|left|640px|The received power coverage map of the Ann Arbor scene with vertical dipole transmitter and receivers.]]<br />
</td><br />
</tr><br />
<tr><br />
<td><br />
[[Image:AnnArbor Scene4.png|thumb|left| 640px |The connectivity map of the Ann Arbor scene with SNR<sub>min</sub> = 3dB with the basic color map option.]]<br />
</td><br />
</tr><br />
<tr><br />
<td><br />
[[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.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
=== Visualizing the Rays in the Scene ===<br />
<br />
At the end of a SBR simulation, each receiver receives a number of rays. Some receivers may not receive any rays at all. You can visualize all the rays received by a certain receiver from the active transmitter of the scene. To do this, right click the '''Receivers''' item of the Navigation Tree. From the context menu select '''Show Received Rays'''. All the rays received by the currently selected receiver of the scene are displayed in the scene. The rays are identified by labels, are ordered by their power and have different colors for better visualization. You can display the rays for only one receiver at a time. The receiver set property dialog has a list of all the individual receivers belonging to that set. To display the rays received by another receiver, you have to change the '''Selected Receiver''' in the receiver set's property dialog. If you keep the mouse focus on this dropdown list and roll your mouse scroll wheel, you can scan the selected receivers and move the rays from one receiver to the next in the list. To remove the visualized rays from the scene, right click the Receivers item of the Navigation Tree again and from the context menu select '''Hide Received Rays'''.<br />
<br />
You can also view the ray parameters by opening the property dialog of a receiver set. By default, the first receiver of the set is always selected. You can select any other receiver from the drop-down list labeled '''Selected Receiver'''. If you click the button labeled '''Show Ray Data''', a new dialog opens up with a table that contains all the received rays at the selected receiver and their parameters:<br />
<br />
* Delay is the total time delay that a ray experiences travelling from the transmitter to the receiver after all the reflections, transmissions and diffractions and is expressed in nanoseconds.<br />
* Ray Field is the received electric field at the receiver location due to a specific ray and is given in dBV/m.<br />
* Ray Power is the received power at the receiver due to a specific ray and is given in dBm.<br />
* Angles of Arrival are the &theta; and &phi; angles of the incoming ray at the local spherical coordinate system of the receiver.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon17.png|thumb|left|720px|EM.Terrano's ray data dialog showing a selected ray.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
The Ray Data Dialog also shows the '''Total Received Power''' in dBm and '''Total Received Field''' in dBV/m due to all the rays received by the receiver. You can sort the rays based on their delay, field, power, etc. To do so, simply click on the grey column label in the table to sort the rays in ascending order based on the selected parameter. You can also select any ray by clicking on its '''ID''' and highlighting its row in the table. In that case, the selected rays is highlighted in the Project Workspace and all the other rays become thin (faded).<br />
<br />
{{Note|All the received rays are summed up coherently in a vectorial manner at the receiver location.}}<br />
<br />
<table><br />
<tr><br />
<td> [[Image:UrbanCanyon18.png|thumb|left|640px|Visualization of received rays at the location of a selected receiver in the random city scene.]] </td><br />
</tr><br />
</table><br />
<br />
=== The Standard Output Data File ===<br />
<br />
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. <br />
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:<br />
<br />
Each receiver line has the following information:<br />
<br />
* Receiver ID<br />
* Receiver X, Y, Z coordinates<br />
* Total received power in dBm<br />
* Total number of received rays<br />
<br />
Each rays line received by a receiver has the following information:<br />
<br />
* Ray Index<br />
* Delay in nsec<br />
* &theta; and &phi; Angles of Arrival in deg<br />
* &theta; and &phi; Angles of Departure in deg<br />
* Real and imaginary parts of the three E<sub>x</sub>, E<sub>y</sub>, E<sub>z</sub> components<br />
* Number of ray hit points <br />
* Coordinates of individual hit points<br />
<br />
The angles of arrival are the &theta; and &phi; angles of a received ray measured in degrees and are referenced in the local spherical coordinate systems centered at the location of the receiver. The angles of departure for a received ray are the &theta; and &phi; angles of the originating transmitter ray, measured in degrees and referenced in the local spherical coordinate systems centered at the location of the active transmitter, which eventually arrives at the receiver. The total time delay is measured in nanoseconds between t = 0 nsec at the time of launch from the transmitter location till being received at the receiver location.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:prop_run8_tn.png|thumb|left|720px|A typical SBR output data file.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
=== Plotting Other Simulation Results ===<br />
<br />
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}}. <br />
<br />
The available data files in the "2D Data Files" tab of Data Manger include:<br />
<br />
* '''Path Loss''': The channel path loss is defined as PL = P<sub>r</sub> - EIRP. The path loss data are stored in a file called "SBR_receiver_set_name_PATHLOSS.DAT" as a function of the receiver index. The path loss data make sense only if your receiver set has the default isotropic radiator. <br />
* '''Power Delay Profile''': The delays of the individual rays received by the selected receiver with respect to the transmitter are expressed in ns and tabulated together with the power of each ray in the file "SBR_receiver_set_name_DELAY.DAT". You can plot these data from the Data Manager as a bar chart called the power delay profile. The bars indeed correspond to the difference between the ray power in dBm and the minimum power threshold level in dBm, which makes them a positive quantity. <br />
* '''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. <br />
<br />
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<br />
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. <br />
<br />
[[Image:Info_icon.png|40px]] Click here to learn more about working with data filed and plotting graphs in [[EM.Cube]]'s '''[[Defining_Project_Observables_%26_Visualizing_Output_Data#The_Data_Manager | Data Manager]]'''.<br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano pathloss.png|thumb|360px|Cartesian graph of path loss.]] </td><br />
<td> [[Image:Terrano delay.png|thumb|360px|Bar graph of power delay profile.]] </td><br />
</tr><br />
<tr><br />
<td> [[Image:Terrano ARR phi.png|thumb|360px|Polar stem graph of Phi angle of arrival.]] </td><br />
<td> [[Image:Terrano ARR theta.png|thumb|360px|Polar stem graph of Theta angle of arrival.]] </td><br />
</tr><br />
<tr><br />
<td> [[Image:Terrano DEP phi.png|thumb|360px|Polar stem graph of Phi angle of departure.]] </td><br />
<td> [[Image:Terrano DEP theta.png|thumb|360px|Polar stem graph of Theta angle of departure.]] </td><br />
</tr><br />
</table><br />
<br />
=== Visualizing 3D Radiation Patterns of Transmit and Receive Antennas in the Scene ===<br />
<br />
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. <br />
<br />
<table><br />
<tr><br />
<td><br />
[[Image:UrbanCanyon6.png|thumb|left|640px|The received power coverage map of the random city scene with a highly directional dipole array transmitter.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
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. <br />
<br />
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. <br />
<br />
<table><br />
<tr><br />
<td><br />
[[Image:UrbanCanyon8.png|thumb|left|640px|Setting the pattern parameters in the radiation pattern dialog.]]<br />
</td><br />
</tr><br />
</table><br />
<table><br />
<tr><br />
<td><br />
[[Image:UrbanCanyon7.png|thumb|left|720px|Visualization of the 3D radiation pattern of the directional transmitter in the random city scene.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
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). <br />
<br />
<table><br />
<tr><br />
<td><br />
[[Image:UrbanCanyon9.png|thumb|left|640px|EM.Terrano's Run Simulation dialog.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
== Using EM.Terrano as an Asymptotic Field Solver ==<br />
<br />
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. You can mix and match different source types and observable types depending on the requirements of your modeling problem. <br />
<br />
The available source types in EM.Terrano are:<br />
<br />
{| class="wikitable"<br />
|-<br />
! scope="col"| Icon<br />
! scope="col"| Source Type<br />
! scope="col"| Applications<br />
! scope="col"| Restrictions<br />
|-<br />
| style="width:30px;" | [[File:transmitter_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Point Transmitter Set | Point Transmitter Set]]<br />
| style="width:250px;" | Modeling realsitic antennas & link budget calculations<br />
| style="width:250px;" | Requires to be associated with a base location point set<br />
|-<br />
| style="width:30px;" | [[File:hertz_src_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Hertzian Short Dipole Source | Hertzian Short Dipole]]<br />
| style="width:250px;" | Almost omni-directional physical radiator<br />
| style="width:250px;" | None, stand-alone source<br />
|-<br />
| style="width:30px;" | [[File:huyg_src_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Huygens Source | Huygens Source]]<br />
| style="width:250px;" | Used for modeling equivalent sources imported from other [[EM.Cube]] modules <br />
| style="width:250px;" | None, stand-alone source imported from a Huygens surface data file<br />
|}<br />
<br />
Click on each type to learn more about it in the [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types]]. <br />
<br />
The available observables types in [[EM.Terrano]] are:<br />
<br />
{| class="wikitable"<br />
|-<br />
! scope="col"| Icon<br />
! scope="col"| Source Type<br />
! scope="col"| Applications<br />
! scope="col"| Restrictions<br />
|-<br />
| style="width:30px;" | [[File:receiver_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Point Receiver Set | Point Receiver Set]]<br />
| style="width:250px;" | Generating received power coverage maps & link budget calculations<br />
| style="width:250px;" | Requires to be associated with a base location point set<br />
|-<br />
| style="width:30px;" | [[File:Distr Rx icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Distributed Receiver Set | Distributed Receiver Set]]<br />
| style="width:250px;" | Computing received power at a receiver characterized by Huygens surface data<br />
| style="width:250px;" | None, stand-alone source imported from a Huygens surface data file<br />
|-<br />
| style="width:30px;" | [[File:fieldsensor_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Near-Field Sensor Observable | Near-Field Sensor]]<br />
| style="width:250px;" | Generating electric and magnetic field distribution maps<br />
| style="width:250px;" | None, stand-alone observable<br />
|-<br />
| style="width:30px;" | [[File:farfield_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Far-Field Radiation Pattern Observable | Far-Field Radiation Pattern]]<br />
| style="width:250px;" | Computing the effective radiation pattern of a radiator in the presence of a large scattering scene <br />
| style="width:250px;" | None, stand-alone observable<br />
|-<br />
| style="width:30px;" | [[File:huyg_surf_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Huygens Surface Observable | Huygens Surface]]<br />
| style="width:250px;" | Collecting tangential field data on a box to be used later as a Huygens source in other [[EM.Cube]] modules<br />
| style="width:250px;" | None, stand-alone observable<br />
|}<br />
<br />
Click on each type to learn more about it in the [[Glossary of EM.Cube's Simulation Observables & Graph Types]]. <br />
<br />
When you define a far-field observable in EM.Terrano, a collection of invisible, isotropic receivers are placed on the surface of a large sphere that encircles your propagation scene and all of its geometric objects. These receivers are placed uniformly on the spherical surface at a spacing that is determined by your specified angular resolutions. In most cases, you need to define angular resolutions of at least 1&deg; or smaller. Note that this is different than the transmitter rays' angular resolution. You may have a large number of transmitted rays but not enough receivers to compute the effective radiation pattern at all azimuth and elevation angles. Also keep in mind that with 1&deg; Theta and Phi angle increments, you will have a total of 181 &times; 361 = 65,341 spherically placed receivers in your scene. <br />
<br />
{{Note| Computing radiation patterns using EM.Terrano's SBR solver typically takes much longer computation times than using [[EM.Cube]]'s other computational modules.}}<br />
<br />
<table><br />
<tr><br />
<td> [[Image:SBR pattern.png|thumb|540px|Computed 3D radiation pattern of two vertical short dipole radiators placed 1m apart in the free space at 1GHz.]] </td><br />
</tr><br />
</table><br />
<br />
== Statistical Analysis of Propagation Scene ==<br />
<br />
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.<br />
<br />
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 '''&quot;Create Mean and Standard Deviation received power coverage maps&quot;'''. 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.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN12.png|thumb|left|480px|EM.Terrano's simulation run dialog showing frequency sweep as the simulation mode along with statistical analysis.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon4.png|thumb|left|640px|The mean coverage map at the end of a frequency sweep.]] <br />
</td><br />
</tr><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon5.png|thumb|left|640px|The standard deviation coverage map at the end of a frequency sweep.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
<br /><br />
<br />
<hr><br />
<br />
[[Image:Top_icon.png|30px]] '''[[EM.Terrano#Product_Overview | Back to the Top of the Page]]'''<br />
<br />
[[Image:Tutorial_icon.png|30px]] '''[[EM.Cube#EM.Terrano_Documentation | EM.Terrano Tutorial Gateway]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/EM.TerranoEM.Terrano2019-04-05T14:15:26Z<p>Kazem Sabet: /* Scene Definition / Construction */</p>
<hr />
<div>[[Image:Splash-prop.jpg|right|720px]]<br />
<strong><font color="#4e1985" size="4">True 3D, Coherent, Polarimetric Ray Tracer That Simulates Very Large Urban Scenes In Just Few Minutes!</font></strong><br />
<table><br />
<tr><br />
<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:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]]</td><br />
<tr><br />
</table><br />
[[Image:Tutorial_icon.png|30px]] '''[[EM.Cube#EM.Terrano_Documentation | EM.Terrano Tutorial Gateway]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''<br />
==Product Overview==<br />
<br />
===EM.Terrano in a Nutshell ===<br />
<br />
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 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 arrival and departure, etc. Using EM.Terrano you can examine the connectivity of a communication link between any two points in a real specific propagation site.<br />
<br />
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 in 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 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 development is a multicore parallelized SBR simulation engine that takes advantage of ultrafast k-d tree algorithms borrowed from the field of computer graphics and video gaming to achieve the ultimate speed and efficiency in geometrical optics ray tracing.<br />
<br />
[[Image:Info_icon.png|30px]] Click here to learn more about the '''[[Basic Principles of SBR Ray Tracing | Basic SBR Theory]]'''.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:Manhattan1.png|thumb|left|420px|A large urban propagation scene featuring lower Manhattan.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
=== EM.Terrano as the Propagation Module of EM.Cube ===<br />
<br />
EM.Terrano is the ray tracing '''Propagation Module''' of '''[[EM.Cube]]''', a comprehensive, integrated, modular electromagnetic modeling environment. EM.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.<br />
<br />
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]].<br />
<br />
[[Image:Info_icon.png|30px]] Click here to learn more about '''[[Getting_Started_with_EM.Cube | EM.Cube Modeling Environment]]'''.<br />
<br />
=== Advantages & Limitations of EM.Terrano's SBR Solver ===<br />
<br />
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. <br />
<br />
EM.Terrano performs fully polarimetric and coherent SBR simulations with arbitrary transmitter antenna patterns. Its SBR simulation engine is a true asymptotic &quot;field&quot; 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 &epsilon;<sub>r</sub> and electric conductivity &sigma;. 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. <br />
<br />
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 &quot;full-wave&quot; 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.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:Multipath_Rays.png|thumb|left|500px|A multipath urban propagation scene showing all the rays collected by a receiver.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
== EM.Terrano Features at a Glance ==<br />
<br />
=== Scene Definition / Construction ===<br />
<br />
<ul><br />
<li><br />
Buildings/blocks with arbitrary geometries and material properties</li><br />
<li><br />
Buildings/blocks with impenetrable surfaces or penetrable surfaces using thin wall approximation</li><br />
<li><br />
Multilayer walls for indoor propagation scenes</li><br />
<li><br />
Penetrable volume blocks with arbitrary geometries and material properties</li><br />
<li><br />
Import of shapefiles and STEP, IGES and STL CAD model files for scene construction</li><br />
<li><br />
Terrain surfaces with arbitrary geometries and material properties and random rough surface profiles</li><br />
<li><br />
Import of digital elevation map (DEM) terrain models</li><br />
<li><br />
Python-based random city wizard with randomized building locations, extents and orientations</li><br />
<li><br />
Python-based wizards for generation of parameterized multi-story office bulidings and several terrain scene types</li><br />
<li><br />
Standard half-wave dipole transmitters and receivers orinted along the principal axes</li><br />
<li><br />
Short Hertzian dipole sources with arbitrary orientation</li><br />
<li><br />
Isotropic receivers or receiver grids for wireless coverage modeling</li><br />
<li><br />
Radiator sets with 3D directional antenna patterns (imported from other modules or external files)</li><br />
<li><br />
Full three-axis rotation of imported antenna patterns</li><br />
<li><br />
Interchangeable radiator-based definition of transmitters and receivers (networks of transceivers)</li><br />
</ul><br />
<br />
=== Wave Propagation Modeling ===<br />
<br />
<ul><br />
<li><br />
Fully 3D polarimetric and coherent Shoot-and-Bounce-Rays (SBR) simulation engine</li><br />
<li><br />
GTD/UTD diffraction models for diffraction from building edges and terrain</li><br />
<li><br />
Triangular surface mesh generator for discretization of arbitrary block geometries</li><br />
<li><br />
Super-fast geometrical/optical ray tracing using advanced k-d tree algorithms</li><br />
<li><br />
Intelligent ray tracing with user defined angular extents and resolution</li><br />
<li><br />
Ray reflection, edge diffraction and ray transmission through multilayer walls and material volumes</li><br />
<li><br />
Communication link analysis for superheterodyne transmitters and receivers</li><br />
<li><br />
17 digital modulation waveforms for the calculation of E<sub>b</sub>/N<sub>0</sub> and Bit error rate (BER)</li><br />
<li><br />
Incredibly fast frequency sweeps of the entire propagation scene in a single SBR simulation run</li><br />
<li><br />
Parametric sweeps of scene elements like building properties, or radiator heights and rotation angles</li><br />
<li><br />
Statistical analsyis of the propagation scene</li><br />
<li><br />
Polarimetric channel characterization for MIMO analysis</li><br />
<li><br />
"Almost real-time" Polarimatrix solver using an existing ray database</li><br />
<li><br />
"Almost real-time" transmitter sweep using the Polarimatrix solver</li><br />
<li><br />
"Almost real-time" rotational sweep for modeling beam steering using the Polarimatrix solver</li><br />
<li><br />
"Almost real-time" mobile sweep for modeling mobile communications between Tx-Rx pairs along a mobile path using the Polarimatrix solver</li><br />
</ul><br />
<br />
=== Data Generation &amp; Visualization ===<br />
<br />
<ul><br />
<li><br />
Standard output parameters for received power, path loss, SNR, E<sub>b</sub>/N<sub>0</sub> and BER at each individual receiver</li><br />
<li><br />
Graphical visualization of propagating rays in the scene</li><br />
<li><br />
Received power coverage maps</li><br />
<li><br />
Link connectivity maps (based on minimum required SNR and BER)</li><br />
<li><br />
Color-coded intensity plots of polarimetric electric field distributions</li><br />
<li><br />
Incoming ray data analysis at each receiver including delay, angles of arrival and departure</li><br />
<li><br />
Cartesian plots of path loss along defined paths</li><br />
<li><br />
Power delay profile of the selected receiver</li><br />
<li><br />
Polar stem charts of angles of arrival and departure of the selected receiver</li><br />
</ul><br />
<br />
== Building a Propagation Scene in EM.Terrano ==<br />
<br />
=== The Various Elements of a Propagation Scene ===<br />
<br />
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.Terrano, 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. <br />
<br />
A more complicated propagation scene usually contains several buildings, walls, or other kinds of scatterers and wave obstructing objects. You 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: <br />
<br />
{| class="wikitable"<br />
|-<br />
! scope="col"| Icon<br />
! scope="col"| Block/Group Type <br />
! scope="col"| Ray Interaction Type<br />
! scope="col"| Object Types Allowed<br />
! scope="col"| Notes<br />
|-<br />
| style="width:30px;" | [[File:impenet_group_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Impenetrable Surface | Impenetrable Surface]]<br />
| style="width:200px;" | Ray reflection, ray diffraction<br />
| style="width:250px;" | All solid & surface geometric objects, no curve objects<br />
| style="width:300px;" | Basic building group for outdoor scenes<br />
|-<br />
| style="width:30px;" | [[File:penet_surf_group_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Penetrable Surface | Penetrable Surface]]<br />
| style="width:200px;" | Ray reflection, ray diffraction, ray transmission in free space<br />
| style="width:250px;" | All solid & surface geometric objects, no curve objects<br />
| 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 <br />
|-<br />
| style="width:30px;" | [[File:terrain_group_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Terrain Surface | Terrain Surface]]<br />
| style="width:200px;" | Ray reflection, ray diffraction<br />
| style="width:250px;" | All surface geometric objects, no solid or curve objects <br />
| style="width:300px;" | Behaves exactly like impenetrable surface but can change the elevation of all the buildings and transmitters and receivers located above it<br />
|-<br />
| style="width:30px;" | [[File:penet_vol_group_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Penetrable Volume | Penetrable Volume]]<br />
| style="width:200px;" | Ray reflection, ray diffraction, ray transmission and ray attenuation inside homogeneous material media<br />
| style="width:250px;" | All solid geometric objects, no surface or curve objects<br />
| 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<br />
|-<br />
| style="width:30px;" | [[File:base_group_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Base Location Set | Base Location Set]]<br />
| style="width:200px;" | Either ray generation or ray reception<br />
| style="width:250px;" | Only point objects<br />
| style="width:300px;" | Required for the definition of transmitters and receivers<br />
|-<br />
| style="width:30px;" | [[File:scatterer_group_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Point Scatterer Set | Point Scatterer Set]]<br />
| style="width:200px;" | Ray reception and ray scattering<br />
| style="width:250px;" | Only point, box and sphere objects<br />
| style="width:300px;" | Required for the definition of point scatterers as targets in a radar simulation <br />
|-<br />
| style="width:30px;" | [[File:Virt_group_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Virtual_Object_Group | Virtual Object]]<br />
| style="width:200px;" | No ray interaction<br />
| style="width:250px;" | All types of objects<br />
| style="width:300px;" | Used for representing non-physical items <br />
|}<br />
<br />
Click on each type to learn more about it in the [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types]]. <br />
<br />
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:<br />
<br />
* They terminate an impinging ray and replace it with one or more new rays.<br />
* They represent a specular interface between two media of different material compositions for calculating the reflection, transmission or diffraction coefficients.<br />
<br />
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.<br />
<br />
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. <br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN2.png|thumb|left|720px|An urban propagation scene generated by EM.Terrano's "Random City" and "Basic Link" wizards. It consists of 25 cubic brick buildings, one transmitter and a large two-dimensional array of receivers. ]]<br />
</td><br />
</tr><br />
</table><br />
<br />
=== Organizing the Propagation Scene by Block Groups ===<br />
<br />
In EM.Terrano, all the geometric objects associated with the various scene elements like buildings, terrain surfaces and base location points are grouped together as blocks based on their common type. All the objects listed under a particular group in the navigation tree share the same color, texture and material properties. Once a new block group has been created in the navigation tree, it becomes the "Active" group of the project workspace, which is always displayed in bold letters. You can draw new objects under the active node. Any block group can be made active by right-clicking on its name in the navigation tree and selecting the '''Activate''' item of the contextual menu. <br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN1.png|thumb|left|480px|EM.Terrano's navigation tree.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
It is recommended that you first create block groups, and then draw new objects under the active block group. However, if you start a new EM.Terrano project from scratch, and start drawing a new object without having previously defined any block groups, a new default impenetrable surface group is created and added to the navigation tree to hold your new CAD object. You can always change the properties of a block group later by accessing its property dialog from the contextual menu. You can also delete a block group with all of its objects at any time.<br />
<br />
{{Note|You can only import external CAD models (STEP, IGES, STL, DEM, etc.) only to the CubeCAD module. You can then transfer the imported objects from CubeCAD to EM.Terrano.}}<br />
<br />
=== Moving Objects Among Different Block Groups ===<br />
<br />
You can move any geometric object or a selection of objects from one block group to another. You can also transfer objects among [[EM.Cube]]'s different modules. For example, you often need to move imported CAD models of terrain or buildings from CubeCAD to EM.Terrano. To transfer objects, first select them in the project workspace or select their names in the navigation tree. Then right-click on them and select <b>Move To &rarr; Module Name &rarr; Object Group</b> from the contextual menu. For example, if you want to move a selected object to a block group called "Terrain_1" in EM.Terrano, then you have to select the menu item '''Move To &rarr; EM.Terrano &rarr; Terrain_1''' as shown in the figure below. Note that you can transfer several objects altogether using the keyboards's {{key|Ctrl}} or {{key|Shift}} keys to make multiple selections. <br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN3.png|thumb|left|720px|Moving the terrain model of Mount Whitney originally imported from an external digital elevation map (DEM) file to EM.Terrano.]]<br />
</td><br />
</tr><br />
<tr><br />
<td><br />
[[Image:PROP MAN4.png|thumb|left|720px|The imported terrain model of Mount Whitney shown in EM.Terrano's project workspace under a terrain group called "Terrain_1".]]<br />
</td><br />
</tr><br />
</table><br />
<br />
=== Adjustment of Block Elevation on Underlying Terrain Surfaces ===<br />
<br />
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. <br />
<br />
{{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.}}<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN5.png|thumb|left|480px|The property dialog of impenetrable surface showing the terrain elevation adjustment box checked.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN6.png|thumb|left|360px|A set of buildings on an undulating terrain without elevation adjustment.]]<br />
</td><br />
<td><br />
[[Image:PROP MAN7.png|thumb|left|360px|The set of buildings on the undulating terrain after elevation adjustment.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
== EM.Terrano's Ray Domain & Global Environment ==<br />
<br />
=== Why Do You Need a Finite Computational Domain? ===<br />
<br />
The SBR simulation engine requires a finite computational domain for ray termination. All the stray rays that emanate from a source inside this finite domain and hit its boundaries are terminated during the simulation process. Such rays exit the computational domain and travel to the infinity, with no chance of ever reaching any receiver in the scene. When you define a propagation scene with various elements like buildings, walls, terrain, etc., a dynamic domain is automatically established and displayed as a green wireframe box that surrounds the entire scene. Every time you create a new object, the domain box is automatically adjusted and extended to enclose all the objects in the scene. <br />
<br />
To change the ray domain settings, follow the procedure below:<br />
<br />
* Open the Ray Domain Settings Dialog by clicking the '''Domain''' [[File:image025.jpg]] button of the '''Simulate Toolbar''', or by selecting '''Menu > Simulate > Computational Domain > Settings...''', or by right-clicking on the '''Ray Domain''' item of the navigation tree and selecting '''Domain Settings...''' from the contextual menu, or simply using the keyboard shortcut {{key|Ctrl+A}}.<br />
* The size of the Ray domain is specified in terms of six '''Offset''' parameters along the ±X, ±Y and ±Z directions. The default value of all these six offset parameters is 10 project units. Change these values as you like.<br />
* You can also change the color of the domain box using the {{key|Color}} button.<br />
* After changing the settings, use the {{key|Apply}} button to make the changes effective while the dialog is still open.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP15.png|thumb|left|480px|EM.Terrano's domain settings dialog.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
=== Understanding the Global Ground ===<br />
<br />
Most outdoor and indoor propagation scenes include a flat ground at their bottom, which bounces incident rays back into the scene. EM.Terrano provides a global flat ground at z = 0. The global ground indeed acts as an impenetrable surface that blocks the entire computational domain from the z = 0 plane downward. It is displayed as a translucent green plane at z = 0 extending downward. The color of the ground plane is always the same as the color of the ray domain. The global ground is assumed to be made of a homogeneous dielectric material with a specified permittivity &epsilon;<sub>r</sub> and electric conductivity &sigma;. By default, a rocky ground is assumed with &epsilon;<sub>r</sub> = 5 and &sigma; = 0.005 S/m. You can remove the global ground, in which case, you will have a free space scene. To disable the global ground, open up the "Global Ground Settings" dialog, which can be accessed by right clicking on the '''Global Ground''' item in the Navigation Tree and selecting '''Global Ground Settings... '''Remove the check mark from the box labeled '''&quot;Include Half-Space Ground (z&lt;0)&quot;''' to disable the global ground. This will also remove the green translucent plane from the bottom of your scene. You can also change the material properties of the global ground and set new values for the permittivity and electric conductivity of the impenetrable, half-space, dielectric medium. <br />
<br />
Alternatively, you can use EM.Terrano's '''Empirical Soil Model''' to define the material properties of the global ground. This model requires a number of parameters: Temperature in &deg;C, and Volumetric Water Content, Sand Content and Clay Content all as percentage. <br />
<br />
{{Note|To model a free-space propagation scene, you have to disable EM.Terrano's default global ground.}}<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:Global environ.png|thumb|left|720px|EM.Terrano's Global Environment Settings dialog.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
== Defining Point Transmitters &amp; Point Receivers for Your Propagation Scene ==<br />
<br />
=== The Nature of Transmitters & Receivers ===<br />
<br />
In EM.Terrano, transmitters and receivers are indeed point radiators used for transmitting and receiving signals at different locations of the propagation scene. From a geometric point of view, both transmitters and receivers are represented by point objects or point arrays. These are grouped as base locations in the "Physical Structure" section of the navigation tree. As radiators, transmitters and receivers are defined by a radiator type with a certain far-field radiation pattern. Consistent with [[EM.Cube]]'s other computational modules, transmitters are categorizes as an excitation source, while receivers are categorized as a project observable. In other words, a transmitter is used to generate electromagnetic waves that propagate in the physical scene. A receiver, on the other hand, is used to compute the received fields and received signal power or signal-to-noise ratio (SNR). For this reason, transmitters are defined and listed under the "Sources" sections of the navigation tree, while receivers are defined and listed under the "Observables" section. <br />
<br />
EM.Terrano provides three radiator types for point transmitter sets:<br />
<br />
#Half-wave dipole oriented along one of the three principal axes<br />
#Two collocated, orthogonally polarized, isotropic radiators <br />
#User defined (arbitrary) antenna with imported far-field radiation pattern<br />
<br />
EM.Terrano also provides three radiator types for point receiver sets:<br />
<br />
#Half-wave dipole oriented along one of the three principal axes<br />
#Polarization-matched isotropic radiator<br />
#User defined (arbitrary) antenna with imported far-field radiation pattern<br />
<br />
The default transmitter and receiver radiator types are both vertical (Z-directed) half-wave dipoles. <br />
<br />
There are three different ways to define a transmitter set or a receiver set:<br />
<br />
*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<br />
*Using Python commands emag_tx, emag_rx, emag_tx_array, emag_rx_array, emag_tx_line and emag_rx_line<br />
*Using the "Basic Link" wizard<br />
<br />
=== Defining a Point Transmitter Set in the Formal Way ===<br />
<br />
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:<br />
<br />
* Half-wave dipole<br />
* Orthogonally polarized isotropic radiators<br />
* User defined antenna pattern <br />
<br />
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. <br />
<br />
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 &quot;'''.RAD'''&quot; file extension. This file contains columns of spherical &phi; and &theta; angles as well as the real and imaginary parts of the complex-valued far-zone electric field components '''E<sub>&theta;</sub>''' and '''E<sub>&phi;</sub>'''. The &theta;- and &phi;-components of the far-zone electric field determine the polarization of the transmitting radiator. <br />
<br />
{{Note|By default, EM.Terrano assumes a vertical half-wave dipole radiator for your point transmitter set.}}<br />
<br />
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. <br />
<br />
[[Image:Info_icon.png|40px]] Click here to learn how to define a '''[[Glossary_of_EM.Cube%27s_Materials,_Sources,_Devices_%26_Other_Physical_Object_Types#Point_Transmitter_Set | Point Transmitter Set]]'''.<br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig11.png|thumb|left|480px|The point transmitter set definition dialog.]] </td><br />
</tr><br />
</table><br />
<br />
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 '''Source Power''' in Watts and the broadcast signal '''Phase''' in degrees. The default transmitter power level is 1W 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&deg; phase values as you wish. [[EM.Cube]]'s ".RAD" radiation pattern files usually contain the value of &quot;Total Radiated Power&quot; 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. <br />
<br />
{{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.}}<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[File:NewTxProp.png|thumb|left|720px|The property dialog of a point transmitter set.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
Your transmitter in EM.Teranno is indeed more sophisticated than a simple radiator. It consists of a basic "Transmitter Chain" that contains a voltage source with a series source resistance, and 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 the basic 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. <br />
<br />
{{Note| If you do not modify the default parameters of the transmitter chain, a 50-&Omega; conjugate match condition is assumed and the power delivered to the antenna will be -3dB lower than your specified baseband power.}} <br />
<br />
<table><br />
<tr><br />
<td> [[File:NewTxChain.png|thumb|left|720px|EM.Terrano's point transmitter chain dialog.]] </td><br />
</tr><br />
</table><br />
<br />
=== Defining a Point Receiver Set in the Formal Way ===<br />
<br />
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. EM.Terrano gives you three options for the radiator associated with a point receiver set:<br />
<br />
* Half-wave dipole<br />
* Polarization matched isotropic radiator<br />
* User defined antenna pattern <br />
<br />
By default, EM.Terrano assumes that your receiver is a vertically polarized (Z-directed) resonant half-wave dipole antenna. You can change the direction of the dipole and orient it along the X or Y axes using the provided drop-down list. An isotropic radiator has a perfect omni-directional radiation pattern in all azimuth and elevation directions. An isotropic radiator doesn't exist physically in the real world, but it can be used simply as a point in space to compute the electric field. <br />
<br />
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. <br />
<br />
{{Note|By default, EM.Terrano assumes a vertical half-wave dipole radiator for your point receiver set.}}<br />
<br />
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. <br />
<br />
[[Image:Info_icon.png|40px]] Click here to learn how to define a '''[[Glossary_of_EM.Cube%27s_Simulation_Observables_%26_Graph_Types#Point_Receiver_Set | Point Receiver Set]]'''.<br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano L1 Fig12.png|thumb|left|480px|The point receiver set definition dialog.]] </td><br />
</tr><br />
</table><br />
<br />
Once you define a new receiver set, its name is added 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.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[File:NewRxProp.png|thumb|left|720px|The property dialog of a point receiver set.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
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. <br />
<br />
If you choose the "user defined antenna" option for your receiver set, it indeed consists of a basic "Receiver Chain" that contains a receive antenna connected via a segment of transmission line to the low-noise amplifier (LNA) that is terminated in a matched load. The receiver set's property dialog allows you to define the basic 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 LNA such as its gain and 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. 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. <br />
<br />
<table><br />
<tr><br />
<td> [[File:NewRxChain.png|thumb|left|720px|EM.Terrano's point receiver chain dialog.]] </td><br />
</tr><br />
</table><br />
<br />
=== Modulation Waveform and Detection ===<br />
<br />
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:<br />
<br />
*OOK<br />
*M-ary ASK<br />
*Coherent BFSK<br />
*Coherent QFSK<br />
*Coherent M-ary FSK<br />
*Non-Coherent BFSK<br />
*Non-Coherent QFSK<br />
*Non-Coherent M-ary FSK<br />
*BPSK<br />
*QPSK<br />
*Offset QPSK<br />
*M-ary PSK<br />
*DBPSK<br />
*pi/4 Gray-Coded DQPSK<br />
*M-ary QAM<br />
*MSK<br />
*GMSK (BT = 0.3)<br />
<br />
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.<br />
<br />
The Shannon – Hartley Equation estimates the channel capacity:<br />
<br />
<math> C = B \log_2 \left( 1 + \frac{S}{N} \right) </math><br />
<br />
where B in the bandwidth in Hz, and C is the channel capacity (maximum data rate) expressed in bits/s.<br />
<br />
The spectral efficiency of the channel is defined as<br />
<br />
<math> \eta = \log_2 \left( 1 + \frac{S}{N} \right) </math><br />
<br />
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:<br />
<br />
<math> \frac{E_b}{N_0} = \frac{ 2^\eta - 1}{\eta} </math><br />
<br />
where &eta; is the spectral efficiency. <br />
<br />
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:<br />
<br />
<math> P_b = 0.5 \; \text{erfc} \left( \sqrt{ \frac{E_b}{N_0} } \right) </math><br />
<br />
where P<sub>b</sub> is the bit error rate and erfc(x) is the complementary error function:<br />
<br />
<math> \text{erfc}(x) = 1-\text{erf}(x) = \frac{2}{\sqrt{\pi}} \int_{x}^{\infty} e^{-t^2} dt </math><br />
<br />
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.<br />
<br />
=== A Note on EM.Terrano's Native Dipole Radiators ===<br />
<br />
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: <br />
<br />
<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><br />
<br />
<math> E_\phi(\theta,\phi) \approx 0 </math><br />
<br />
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.<br />
<br />
The directivity of the dipole antenna is given be the expression:<br />
<br />
<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><br />
<br />
with <br />
<br />
<math> F_1(x) = \gamma + \text{ln}(x) - C_i(x) </math><br />
<br />
<math> F_2(x) = \frac{1}{2} \text{sin}(x) \left[ S_i(2x) - 2S_i(x) \right] </math><br />
<br />
<math> F_3(x) = \frac{1}{2} \text{cos}(x) \left[ \gamma + \text{ln}(x/2) + C_i(2x) - 2C_i(x) \right] </math><br />
<br />
<br />
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:<br />
<br />
<br />
<math> C_i(x) = - \int_{x}^{\infty} \frac{ \text{cos} \tau}{\tau} d\tau </math><br />
<br />
<math> S_i(x) = \int_{0}^{x} \frac{ \text{sin} \tau}{\tau} d\tau </math><br />
<br />
<br />
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. <br />
<br />
<table><br />
<tr><br />
<td> [[File:Dipole radiators.png|thumb|720px|EM.Terrano's native half-wave dipole transmitter and receiver.]] </td><br />
</tr><br />
</table><br />
<br />
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: <br />
<br />
* DPL_STD_X.RAD<br />
* DPL_STD_Y.RAD<br />
* DPL_STD_Z.RAD<br />
<br />
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.<br />
<br />
=== A Note on the Rotation of Antenna Radiation Patterns ===<br />
<br />
EM.Terrano's Transmitter Set dialog and Receiver Set dialog both allow you to rotate an imported radiation pattern. In that case, you need to specify the '''Rotation''' angles in degrees about the X-, Y- and Z-axes. It is important to note that these rotations are performed sequentially and in the following order: first a rotation about the X-axis, then a rotation about the Y-axis, and finally a rotation about the Z-axis. In addition, all the rotations are performed with respect to the "rotated" local coordinate systems (LCS). In other words, the first rotation with respect to the local X-axis transforms the XYZ LCS to a new primed X<sup>&prime;</sup>Y<sup>&prime;</sup>Z<sup>&prime;</sup> LCS. The second rotation is performed with respect to the new Y<sup>&prime;</sup>-axis and transforms the X<sup>&prime;</sup>Y<sup>&prime;</sup>Z<sup>&prime;</sup> LCS to a new double-primed X<sup>&prime;&prime;</sup>Y<sup>&prime;&prime;</sup>Z<sup>&prime;&prime;</sup> LCS. The third rotation is finally performed with respect to the new Z<sup>&prime;&prime;</sup>-axis. The figures below shows single and double rotations. <br />
<br />
<table><br />
<tr><br />
<td> [[File:PROP22B.png|thumb|300px|The local coordinate system of a linear dipole antenna.]] </td><br />
<td> [[File:PROP22C.png|thumb|600px|Rotating the dipole antenna by +90&deg; about the local Y-axis.]] </td><br />
</tr><br />
</table><br />
<table><br />
<tr><br />
<td> [[File:PROP22D.png|thumb|720px|Rotating the dipole antenna by +90&deg; about the local X-axis and then by -45&deg; by the local Y-axis.]] </td><br />
</tr><br />
</table><br />
<br />
=== Adjustment of Tx/Rx Elevation above a Terrain Surface ===<br />
<br />
When your transmitters or receivers are located above a flat terrain like the global ground, their Z-coordinates are equal to their height above the ground, as the terrain elevation is fixed and equal to zero everywhere. In many propagation modeling problems, your transmitters and receivers may be located above an irregular terrain with varying elevation across the scene. In that case, you may want to place your transmitters or receivers at a certain height above the underlying ground. The Z-coordinate of a transmitter or receiver is now the sum of the terrain elevation at the base point and the specified height. EM.Terrano gives you the option to adjust the transmitter and receiver sets to the terrain elevation. This is done for individual transmitter sets and individual receiver sets. At the top of the Transmitter Dialog there is a check box labeled &quot;'''Adjust Tx Sets to Terrain Elevation'''&quot;. Similarly, at the top of the Receiver Dialog there is a check box labeled &quot;'''Adjust Rx Sets to Terrain Elevation'''&quot;. These boxes are unchecked by default. As a result, your transmitter sets or receiver sets coincide with their associated base points in the project workspace. If you check these boxes and place a transmitter set or a receiver set above an irregular terrain, the transmitters or receivers are elevated from the location of their associated base points by the amount of terrain elevation as can be seen in the figure below. <br />
<br />
To better understand why there are two separate sets of points in the scene, note that a point array (CAD object) is used to create a uniformly spaced base set. The array object always preserves its grid topology as you move it around the scene. However, the transmitters or receivers associated with this point array object are elevated above the irregular terrain and no longer follow a strictly uniform grid. If you move the base set from its original position to a new location, the base points' topology will stay intact, while the associated transmitters or receivers will be redistributed above the terrain based on their new elevations.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN8.png|thumb|left|640px|A transmitter (red) and a grid of receivers (yellow) adjusted above a plateau terrain surface. The underlying base point sets (blue and orange dots) associated with the adjusted transmitters and receivers on the terrain are also visible in the figure.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
== Discretizing the Propagation Scene in EM.Terrano ==<br />
<br />
=== Why Do You Need to Discretize the Scene? ===<br />
<br />
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. The assumptions of linear edges and planar facets obviously work in the case of a scene with cubic buildings and a flat global ground. <br />
<br />
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. <br />
<br />
Unlike [[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. <br />
<br />
=== Generating the Facet Mesh ===<br />
<br />
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.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:prop_manual-29.png|thumb|left|480px|EM.Terrano's mesh settings dialog.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
[[Image:Info_icon.png|30px]] Click here to learn more about '''[[Preparing_Physical_Structures_for_Electromagnetic_Simulation#Working_with_EM.Cube.27s_Mesh_Generators | Working with Mesh Generator]]'''.<br />
<br />
[[Image:Info_icon.png|30px]] Click here to learn more about the properties of '''[[Glossary_of_EM.Cube%27s_Simulation-Related_Operations#Facet_Mesh | EM.Terrano's Facet Mesh Generator]]'''.<br />
<br />
<table><br />
<tr><br />
<td> [[Image:UrbanCanyon2.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 100m.]] </td><br />
</tr><br />
<tr><br />
<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><br />
</tr><br />
</table><br />
<br />
== Running Ray Tracing Simulations in EM.Terrano ==<br />
<br />
EM.Terrano provides a number of different simulation or solver types:<br />
<br />
* 3D SBR Ray Tracer<br />
* Channel Analyzer<br />
* Polarimatrix Solver<br />
* Radar Simulator <br />
<br />
The first three simulation types are described below. For a description of EM.Terrano's Radar Simulator, follow this link. <br />
<br />
=== Running a Single-Frequency SBR Analysis ===<br />
<br />
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:<br />
<br />
* 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.<br />
* Create the blocks and draw the buildings at the desired locations.<br />
* Keep the default ray domain and accept the default global ground or change its material properties.<br />
* Define an excitation source and observables for your project.<br />
* 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.<br />
* Run the SBR simulation engine.<br />
* Visualize the coverage map and plot other data.<br />
<br />
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 &rarr; Run...''' or using the keyboard shortcut {{key|Ctrl+R}}. When you click the {{key|Run}} button, a new 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.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:Terrano L1 Fig16.png|thumb|left|480px|EM.Terrano's simulation run dialog.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN10.png|thumb|left|550px|EM.Terrano's output message window.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
=== Changing the SBR Engine Settings ===<br />
<br />
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 "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.<br />
<br />
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 &quot;'''Max No. Ray Bounces'''&quot;, 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&deg;. 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. <br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN11.png|thumb|left|720px|EM.Terrano's SBR simulation engine settings dialog.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
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.<br />
<br />
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.<br />
<br />
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. <br />
<br />
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: <br />
<br />
<math> P_{ray} = \frac{ | \mathbf{E_{norm}} |^2 }{2\eta_0} \frac{\lambda_0^2}{4\pi} </math><br />
<br />
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.<br />
<br />
=== Polarimetric Channel Analysis ===<br />
<br />
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.<br />
<br />
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>&theta;</sub>''' and '''E<sub>&phi;</sub>''' field components associated with each ray at the receiver location to its '''E<sub>&theta;</sub>''' and '''E<sub>&phi;</sub>''' field components at the transmitter location. Each ray has a delay and &theta; and &phi; angles of departure at the transmitter location and &theta; and &phi; angles of departure at the receiver location.<br />
<br />
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 "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.<br />
<br />
=== The "Almost Real-Time" Polarimatrix Solver ===<br />
<br />
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, a 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-down 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.<br />
<br />
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. <br />
<br />
{{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.}}<br />
<br />
=== EM.Terrano's Simulation Modes ===<br />
<br />
EM.Terrano provides a number of different simulation modes that involve single or multiple simulation runs: <br />
<br />
{| class="wikitable"<br />
|-<br />
! scope="col"| Simulation Mode<br />
! scope="col"| Usage<br />
! scope="col"| Which Solver?<br />
! scope="col"| Frequency <br />
! scope="col"| Restrictions<br />
|-<br />
| style="width:120px;" | [[#Running a Single-Frequency SBR Analysis | Single-Frequency Analysis]]<br />
| style="width:180px;" | Simulates the propagation scene "As Is"<br />
| style="width:150px;" | SBR, Channel Analyzer, Polarimatrix, Radar Simulator<br />
| style="width:120px;" | Runs at the center frequency fc<br />
| style="width:300px;" | None<br />
|-<br />
| style="width:120px;" | [[Parametric_Modeling_%26_Simulation_Modes_in_EM.Cube#Running_Frequency_Sweep_Simulations_in_EM.Cube | Frequency Sweep]]<br />
| style="width:180px;" | Varies the operating frequency of the ray tracer <br />
| style="width:150px;" | SBR, Channel Analyzer, Polarimatrix, Radar Simulator<br />
| style="width:120px;" | Runs at a specified set of frequency samples<br />
| style="width:300px;" | None<br />
|-<br />
| style="width:120px;" | [[Parametric_Modeling_%26_Simulation_Modes_in_EM.Cube#Running_Parametric_Sweep_Simulations_in_EM.Cube | Parametric Sweep]]<br />
| style="width:180px;" | Varies the value(s) of one or more project variables<br />
| style="width:150px;" | SBR<br />
| style="width:120px;" | Runs at the center frequency fc<br />
| style="width:300px;" | Requires definition of sweep variables, works only with SBR solver as the physical scene may change during the sweep <br />
|-<br />
| style="width:120px;" | [[#Transmitter_Sweep | Transmitter Sweep]]<br />
| style="width:180px;" | Activates two or more transmitters sequentially with only one transmitter broadcasting at each simulation run <br />
| style="width:150px;" | Polarimatrix<br />
| style="width:120px;" | Runs at the center frequency fc<br />
| style="width:300px;" | Requires at least two transmitters in the scene, works only with Polarimatrix solver and requires an existing ray database<br />
|-<br />
| style="width:120px;" | [[#Rotational_Sweep | Rotational Sweep]]<br />
| style="width:180px;" | Rotates the radiation pattern of the transmit antenna(s) sequentially to model beam steering <br />
| style="width:150px;" | Polarimatrix<br />
| style="width:120px;" | Runs at the center frequency fc<br />
| style="width:300px;" | Works only with Polarimatrix solver and requires an existing ray database<br />
|-<br />
| style="width:120px;" | [[#Mobile_Sweep | Mobile Sweep]]<br />
| style="width:180px;" | Considers one pair of active transmitter and receiver at each simulation run to model a mobile communication link<br />
| style="width:150px;" | Polarimatrix<br />
| style="width:120px;" | Runs at the center frequency fc<br />
| style="width:300px;" | Requires the same number of transmitters and receivers, works only with Polarimatrix solver and requires an existing ray database<br />
|}<br />
<br />
Click on each item in the above list to learn more about each simulation mode. <br />
<br />
You set the simulation mode in EM.Terrano's simulation run dialog using the 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. <br />
<br />
{{Note| EM.Terrano's frequency sweep simulations are very fast because the geometrical optics (ray tracing) part of the simulation is frequency-independent.}}<br />
<br />
=== Transmitter Sweep ===<br />
<br />
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.<br />
<br />
{{Note| EM.Terrano's transmitter sweep works only with the Polarimatrix Solver and requires an existing ray database previously generated using the Channel Analyzer.}}<br />
<br />
=== Rotational Sweep ===<br />
<br />
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.<br />
<br />
{{Note| EM.Terrano's rotational sweep works only with the Polarimatrix Solver and requires an existing ray database previously generated using the Channel Analyzer.}}<br />
<br />
=== Mobile Sweep ===<br />
<br />
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.<br />
<br />
[[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]].<br />
<br />
{{Note| EM.Terrano's mobile sweep works only with the Polarimatrix Solver and requires an existing ray database previously generated using the Channel Analyzer.}}<br />
<br />
=== Investigating Propagation Effects Selectively One at a Time ===<br />
<br />
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. <br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon10.png|thumb|left|640px|The received power coverage map of the random city scene with a dipole transmitter.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
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.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon15.png|thumb|left|480px|The plot settings dialog of the coverage map.]] <br />
</td><br />
</tr><br />
</table><br />
<table><br />
<tr><br />
<td> <br />
[[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.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
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. <br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon14.png|thumb|left|640px|EM.Terrano's simulation run dialog showing the check boxes for controlling various propagation effects.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon11.png|thumb|left|640px|The received power coverage map of the random city scene with direct LOS rays only.]] <br />
</td><br />
</tr><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon12.png|thumb|left|640px|The received power coverage map of the random city scene with reflected rays only.]] <br />
</td><br />
</tr><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon13.png|thumb|left|640px|The received power coverage map of the random city scene with diffracted rays only.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
== Working with EM.Terrano's Simulation Data ==<br />
<br />
=== The Ray Tracing Solvers' Output Simulation Data ===<br />
<br />
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 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 saved into 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 temperatures, noise figure and transmission line losses in the definition of the receiver sets, the noise power level and signal-to-noise 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.<br />
<br />
=== Visualizing Field & Received Power Coverage Maps ===<br />
<br />
In wireless propagation modeling for communication system applications, the received power at the receiver location is more important than the field distributions. In order to compute the received power, you need three pieces of information:<br />
<br />
* '''Total Transmitted Power (EIRP)''': This requires knowledge of the baseband signal power, the transmitter chain parameters, the transmission characteristics of the transmission line connecting the transmitter circuit to the transmitting antenna and the radiation characteristics of the transmitting antenna.<br />
* '''Channel Path Loss''': This is computed through SBR simulation. <br />
* '''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.<br />
<br />
In a simple link scenario, the received power P<sub>r</sub> in dBm is found from the following equation:<br />
<br />
<math> P_r [dBm] = P_t [dBm] + G_{TC} + G_{TA} - PL + G_{RA} + G_{RC} </math><br />
<br />
where P<sub>t</sub> is the baseband signal power in dBm at the transmitter, G<sub>TC</sub> and G<sub>RC</sub> are the total transmitter and receiver chain gains in dB, respectively, G<sub>TA</sub> and G<sub>RA</sub> are the total transmitting and receiving antenna gains in dB, respectively, and PL is the channel path loss in dB. Keep in mind that EM.Terrano is fully polarimetric. The transmitting and receiving antenna characteristics are specified through the imported radiation pattern files, which are part of the definition of the transmitters and receivers. In particular, the polarization mismatch losses are taken into account through the polarimetric SBR ray tracing analysis. <br />
<br />
If you specify the noise-related parameters of your receiver set, the signal-to-noise ratios (SNR) is calculated at each receiver location: SNR = P<sub>r</sub> - P<sub>n</sub>, where P<sub>n</sub> is the noise power level in dB. When planning, designing and deploying a communication system between points A and B, the link is considered to be closes and a connection established if the received signal power at the location of the receiver is above the noise power level by a certain threshold. In other words, the SNR at the receiver must be greater than a certain specified minimum SNR level. You specify (SNR)<sub>min</sub> ss part of the definition of receiver chain in the Receiver Set dialog. In the "Visualization Options" section of this dialog, you can also check the check box labeled '''Generate Connectivity Map'''. This is a binary-level black-and-white map that displays connected receivers in white and disconnected receivers in black. At the end of an SBR simulation, the computed SNR is displayed in the Receiver Set dialog for the selected receiver. The connectivity map is generated and added to the navigation tree underneath the received power coverage map node. <br />
<br />
At the end of an SBR simulation, you can visualize the field maps and receiver power coverage map of your receiver sets. A coverage map shows the total '''Received Power''' by each of the receivers and is visualized as a color-coded intensity plot. Under each receiver set node in the navigation tree, a total of seven field maps together with a received power coverage map are added. The field maps include amplitude and phase plots for the three X, Y, Z field components plus a total electric field plot. To display a field or coverage map, simply click on its entry in the navigation tree. The 3D plot appears in the Main Window overlaid on your propagation scene. A legend box on the right shows the color scale and units (dB). The 3D coverage maps are displayed as horizontal confetti above the receivers. You can change the appearance of the receivers and maps from the property dialog of the receiver set. You can further customize the settings of the 3D field and coverage plots. <br />
<br />
<table><br />
<tr><br />
<td><br />
[[Image:AnnArbor Scene1.png|thumb|left|640px|The downtown Ann Arbor propagation scene.]]<br />
</td><br />
</tr><br />
<tr><br />
<td><br />
[[Image:AnnArbor Scene2.png|thumb|left|640px|The electric field distribution map of the Ann Arbor scene with vertical dipole transmitter and receivers.]]<br />
</td><br />
</tr><br />
<tr><br />
<td><br />
[[Image:AnnArbor Scene3.png|thumb|left|640px|The received power coverage map of the Ann Arbor scene with vertical dipole transmitter and receivers.]]<br />
</td><br />
</tr><br />
<tr><br />
<td><br />
[[Image:AnnArbor Scene4.png|thumb|left| 640px |The connectivity map of the Ann Arbor scene with SNR<sub>min</sub> = 3dB with the basic color map option.]]<br />
</td><br />
</tr><br />
<tr><br />
<td><br />
[[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.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
=== Visualizing the Rays in the Scene ===<br />
<br />
At the end of a SBR simulation, each receiver receives a number of rays. Some receivers may not receive any rays at all. You can visualize all the rays received by a certain receiver from the active transmitter of the scene. To do this, right click the '''Receivers''' item of the Navigation Tree. From the context menu select '''Show Received Rays'''. All the rays received by the currently selected receiver of the scene are displayed in the scene. The rays are identified by labels, are ordered by their power and have different colors for better visualization. You can display the rays for only one receiver at a time. The receiver set property dialog has a list of all the individual receivers belonging to that set. To display the rays received by another receiver, you have to change the '''Selected Receiver''' in the receiver set's property dialog. If you keep the mouse focus on this dropdown list and roll your mouse scroll wheel, you can scan the selected receivers and move the rays from one receiver to the next in the list. To remove the visualized rays from the scene, right click the Receivers item of the Navigation Tree again and from the context menu select '''Hide Received Rays'''.<br />
<br />
You can also view the ray parameters by opening the property dialog of a receiver set. By default, the first receiver of the set is always selected. You can select any other receiver from the drop-down list labeled '''Selected Receiver'''. If you click the button labeled '''Show Ray Data''', a new dialog opens up with a table that contains all the received rays at the selected receiver and their parameters:<br />
<br />
* Delay is the total time delay that a ray experiences travelling from the transmitter to the receiver after all the reflections, transmissions and diffractions and is expressed in nanoseconds.<br />
* Ray Field is the received electric field at the receiver location due to a specific ray and is given in dBV/m.<br />
* Ray Power is the received power at the receiver due to a specific ray and is given in dBm.<br />
* Angles of Arrival are the &theta; and &phi; angles of the incoming ray at the local spherical coordinate system of the receiver.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon17.png|thumb|left|720px|EM.Terrano's ray data dialog showing a selected ray.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
The Ray Data Dialog also shows the '''Total Received Power''' in dBm and '''Total Received Field''' in dBV/m due to all the rays received by the receiver. You can sort the rays based on their delay, field, power, etc. To do so, simply click on the grey column label in the table to sort the rays in ascending order based on the selected parameter. You can also select any ray by clicking on its '''ID''' and highlighting its row in the table. In that case, the selected rays is highlighted in the Project Workspace and all the other rays become thin (faded).<br />
<br />
{{Note|All the received rays are summed up coherently in a vectorial manner at the receiver location.}}<br />
<br />
<table><br />
<tr><br />
<td> [[Image:UrbanCanyon18.png|thumb|left|640px|Visualization of received rays at the location of a selected receiver in the random city scene.]] </td><br />
</tr><br />
</table><br />
<br />
=== The Standard Output Data File ===<br />
<br />
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. <br />
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:<br />
<br />
Each receiver line has the following information:<br />
<br />
* Receiver ID<br />
* Receiver X, Y, Z coordinates<br />
* Total received power in dBm<br />
* Total number of received rays<br />
<br />
Each rays line received by a receiver has the following information:<br />
<br />
* Ray Index<br />
* Delay in nsec<br />
* &theta; and &phi; Angles of Arrival in deg<br />
* &theta; and &phi; Angles of Departure in deg<br />
* Real and imaginary parts of the three E<sub>x</sub>, E<sub>y</sub>, E<sub>z</sub> components<br />
* Number of ray hit points <br />
* Coordinates of individual hit points<br />
<br />
The angles of arrival are the &theta; and &phi; angles of a received ray measured in degrees and are referenced in the local spherical coordinate systems centered at the location of the receiver. The angles of departure for a received ray are the &theta; and &phi; angles of the originating transmitter ray, measured in degrees and referenced in the local spherical coordinate systems centered at the location of the active transmitter, which eventually arrives at the receiver. The total time delay is measured in nanoseconds between t = 0 nsec at the time of launch from the transmitter location till being received at the receiver location.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:prop_run8_tn.png|thumb|left|720px|A typical SBR output data file.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
=== Plotting Other Simulation Results ===<br />
<br />
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}}. <br />
<br />
The available data files in the "2D Data Files" tab of Data Manger include:<br />
<br />
* '''Path Loss''': The channel path loss is defined as PL = P<sub>r</sub> - EIRP. The path loss data are stored in a file called "SBR_receiver_set_name_PATHLOSS.DAT" as a function of the receiver index. The path loss data make sense only if your receiver set has the default isotropic radiator. <br />
* '''Power Delay Profile''': The delays of the individual rays received by the selected receiver with respect to the transmitter are expressed in ns and tabulated together with the power of each ray in the file "SBR_receiver_set_name_DELAY.DAT". You can plot these data from the Data Manager as a bar chart called the power delay profile. The bars indeed correspond to the difference between the ray power in dBm and the minimum power threshold level in dBm, which makes them a positive quantity. <br />
* '''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. <br />
<br />
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<br />
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. <br />
<br />
[[Image:Info_icon.png|40px]] Click here to learn more about working with data filed and plotting graphs in [[EM.Cube]]'s '''[[Defining_Project_Observables_%26_Visualizing_Output_Data#The_Data_Manager | Data Manager]]'''.<br />
<br />
<table><br />
<tr><br />
<td> [[Image:Terrano pathloss.png|thumb|360px|Cartesian graph of path loss.]] </td><br />
<td> [[Image:Terrano delay.png|thumb|360px|Bar graph of power delay profile.]] </td><br />
</tr><br />
<tr><br />
<td> [[Image:Terrano ARR phi.png|thumb|360px|Polar stem graph of Phi angle of arrival.]] </td><br />
<td> [[Image:Terrano ARR theta.png|thumb|360px|Polar stem graph of Theta angle of arrival.]] </td><br />
</tr><br />
<tr><br />
<td> [[Image:Terrano DEP phi.png|thumb|360px|Polar stem graph of Phi angle of departure.]] </td><br />
<td> [[Image:Terrano DEP theta.png|thumb|360px|Polar stem graph of Theta angle of departure.]] </td><br />
</tr><br />
</table><br />
<br />
=== Visualizing 3D Radiation Patterns of Transmit and Receive Antennas in the Scene ===<br />
<br />
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. <br />
<br />
<table><br />
<tr><br />
<td><br />
[[Image:UrbanCanyon6.png|thumb|left|640px|The received power coverage map of the random city scene with a highly directional dipole array transmitter.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
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. <br />
<br />
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. <br />
<br />
<table><br />
<tr><br />
<td><br />
[[Image:UrbanCanyon8.png|thumb|left|640px|Setting the pattern parameters in the radiation pattern dialog.]]<br />
</td><br />
</tr><br />
</table><br />
<table><br />
<tr><br />
<td><br />
[[Image:UrbanCanyon7.png|thumb|left|720px|Visualization of the 3D radiation pattern of the directional transmitter in the random city scene.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
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). <br />
<br />
<table><br />
<tr><br />
<td><br />
[[Image:UrbanCanyon9.png|thumb|left|640px|EM.Terrano's Run Simulation dialog.]]<br />
</td><br />
</tr><br />
</table><br />
<br />
== Using EM.Terrano as an Asymptotic Field Solver ==<br />
<br />
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. You can mix and match different source types and observable types depending on the requirements of your modeling problem. <br />
<br />
The available source types in EM.Terrano are:<br />
<br />
{| class="wikitable"<br />
|-<br />
! scope="col"| Icon<br />
! scope="col"| Source Type<br />
! scope="col"| Applications<br />
! scope="col"| Restrictions<br />
|-<br />
| style="width:30px;" | [[File:transmitter_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Point Transmitter Set | Point Transmitter Set]]<br />
| style="width:250px;" | Modeling realsitic antennas & link budget calculations<br />
| style="width:250px;" | Requires to be associated with a base location point set<br />
|-<br />
| style="width:30px;" | [[File:hertz_src_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Hertzian Short Dipole Source | Hertzian Short Dipole]]<br />
| style="width:250px;" | Almost omni-directional physical radiator<br />
| style="width:250px;" | None, stand-alone source<br />
|-<br />
| style="width:30px;" | [[File:huyg_src_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types#Huygens Source | Huygens Source]]<br />
| style="width:250px;" | Used for modeling equivalent sources imported from other [[EM.Cube]] modules <br />
| style="width:250px;" | None, stand-alone source imported from a Huygens surface data file<br />
|}<br />
<br />
Click on each type to learn more about it in the [[Glossary of EM.Cube's Materials, Sources, Devices & Other Physical Object Types]]. <br />
<br />
The available observables types in [[EM.Terrano]] are:<br />
<br />
{| class="wikitable"<br />
|-<br />
! scope="col"| Icon<br />
! scope="col"| Source Type<br />
! scope="col"| Applications<br />
! scope="col"| Restrictions<br />
|-<br />
| style="width:30px;" | [[File:receiver_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Point Receiver Set | Point Receiver Set]]<br />
| style="width:250px;" | Generating received power coverage maps & link budget calculations<br />
| style="width:250px;" | Requires to be associated with a base location point set<br />
|-<br />
| style="width:30px;" | [[File:Distr Rx icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Distributed Receiver Set | Distributed Receiver Set]]<br />
| style="width:250px;" | Computing received power at a receiver characterized by Huygens surface data<br />
| style="width:250px;" | None, stand-alone source imported from a Huygens surface data file<br />
|-<br />
| style="width:30px;" | [[File:fieldsensor_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Near-Field Sensor Observable | Near-Field Sensor]]<br />
| style="width:250px;" | Generating electric and magnetic field distribution maps<br />
| style="width:250px;" | None, stand-alone observable<br />
|-<br />
| style="width:30px;" | [[File:farfield_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Far-Field Radiation Pattern Observable | Far-Field Radiation Pattern]]<br />
| style="width:250px;" | Computing the effective radiation pattern of a radiator in the presence of a large scattering scene <br />
| style="width:250px;" | None, stand-alone observable<br />
|-<br />
| style="width:30px;" | [[File:huyg_surf_icon.png]]<br />
| style="width:150px;" | [[Glossary of EM.Cube's Simulation Observables & Graph Types#Huygens Surface Observable | Huygens Surface]]<br />
| style="width:250px;" | Collecting tangential field data on a box to be used later as a Huygens source in other [[EM.Cube]] modules<br />
| style="width:250px;" | None, stand-alone observable<br />
|}<br />
<br />
Click on each type to learn more about it in the [[Glossary of EM.Cube's Simulation Observables & Graph Types]]. <br />
<br />
When you define a far-field observable in EM.Terrano, a collection of invisible, isotropic receivers are placed on the surface of a large sphere that encircles your propagation scene and all of its geometric objects. These receivers are placed uniformly on the spherical surface at a spacing that is determined by your specified angular resolutions. In most cases, you need to define angular resolutions of at least 1&deg; or smaller. Note that this is different than the transmitter rays' angular resolution. You may have a large number of transmitted rays but not enough receivers to compute the effective radiation pattern at all azimuth and elevation angles. Also keep in mind that with 1&deg; Theta and Phi angle increments, you will have a total of 181 &times; 361 = 65,341 spherically placed receivers in your scene. <br />
<br />
{{Note| Computing radiation patterns using EM.Terrano's SBR solver typically takes much longer computation times than using [[EM.Cube]]'s other computational modules.}}<br />
<br />
<table><br />
<tr><br />
<td> [[Image:SBR pattern.png|thumb|540px|Computed 3D radiation pattern of two vertical short dipole radiators placed 1m apart in the free space at 1GHz.]] </td><br />
</tr><br />
</table><br />
<br />
== Statistical Analysis of Propagation Scene ==<br />
<br />
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.<br />
<br />
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 '''&quot;Create Mean and Standard Deviation received power coverage maps&quot;'''. 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.<br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:PROP MAN12.png|thumb|left|480px|EM.Terrano's simulation run dialog showing frequency sweep as the simulation mode along with statistical analysis.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
<table><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon4.png|thumb|left|640px|The mean coverage map at the end of a frequency sweep.]] <br />
</td><br />
</tr><br />
<tr><br />
<td> <br />
[[Image:UrbanCanyon5.png|thumb|left|640px|The standard deviation coverage map at the end of a frequency sweep.]] <br />
</td><br />
</tr><br />
</table><br />
<br />
<br /><br />
<br />
<hr><br />
<br />
[[Image:Top_icon.png|30px]] '''[[EM.Terrano#Product_Overview | Back to the Top of the Page]]'''<br />
<br />
[[Image:Tutorial_icon.png|30px]] '''[[EM.Cube#EM.Terrano_Documentation | EM.Terrano Tutorial Gateway]]'''<br />
<br />
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/Glossary_of_Generic_Analog_%26_Mixed-Mode_Devices_%26_SourcesGlossary of Generic Analog & Mixed-Mode Devices & Sources2018-10-11T16:54:00Z<p>Kazem Sabet: /* Nonlinear Dependent Sources */</p>
<hr />
<div>==4-Bit ADC Bridge==<br />
<br />
[[File:GK44.png]]<br />
<br />
This 8-pin device is simply a bundle of 4 1-bit ADC bridges. Each analog input pin has a corresponding digital output pin. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|in_low||maximum 0-valued analog input||V||0.1||required<br />
|-<br />
|in_high||minimum 1-valued analog input||V||0.9||required<br />
|-<br />
|}<br />
<br />
==4-Bit DAC Bridge==<br />
<br />
[[File:GK45.png]]<br />
<br />
This 8-pin device is simply a bundle of 4 1-bit DAC bridges. Each digital input pin has a corresponding analog output pin. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|out_low||analog output for 0 digital input||V||0||required<br />
|-<br />
|out_high||analog output for 1 digital input||V||1||required<br />
|-<br />
|}<br />
<br />
== AC/RF Current Source ==<br />
<br />
[[File:GL11.png]]<br />
<br />
This is a simplified version of the standard Current Source, in which the AC "Use" box has been checked by default. Therefore, it is ready to be used for AC frequency sweep. Note that for AC frequency sweep, you do not need to specify the frequency. <br />
<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|VA||peak current amplitude||A||1||required<br />
|-<br />
|Freq||frequency ||Hz||1||required<br />
|-<br />
|Phase||phase||deg||0|| <br />
|-<br />
|offset||DC offset for small-signal current||A||0|| <br />
|-<br />
|}<br />
<br />
== AC/RF Voltage Source ==<br />
<br />
[[File:GL10.png]]<br />
<br />
This is a simplified version of the standard Voltage Source, in which the AC "Use" box has been checked by default. Therefore, it is ready to be used for AC frequency sweep. Note that for AC frequency sweep, you do not need to specify the frequency. <br />
<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|VA||peak voltage amplitude||V||1||required<br />
|-<br />
|Freq||frequency ||Hz||1||required<br />
|-<br />
|Phase||phase||deg||0|| <br />
|-<br />
|offset||DC offset for small-signal voltage||V||0|| <br />
|-<br />
|}<br />
<br />
==Alternate Ferrite Core Transformer==<br />
<br />
[[File:GK96.png]]<br />
<br />
The alternate ferrite core transformer is a four-pin two-port device, which has the same behavior as the [[Glossary of Generic Analog & Mixed-Mode Devices#Ferrite_Core_Transformer | Ferrite Core Transformer]], except for the reversed polarity of its secondary port.<br />
<br />
==Alternate Ideal Transformer==<br />
<br />
[[File:XFMR2.png]]<br />
<br />
The alternate ideal transformer is a four-pin two-port device, which has the same behavior as the [[Glossary of Generic Analog & Mixed-Mode Devices#Ideal_Transformer | Ideal Transformer]], except for the reversed polarity of its secondary port.<br />
<br />
== AM Modulated Source ==<br />
<br />
[[File:GL23.png]]<br />
<br />
This is a voltage source with a single-tone amplitude modulated waveform. The AM modulation index MDI is defined as the ratio of maximum amplitude deviation to maximum signal amplitude. <br />
<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|V0||offset||V||0||<br />
|-<br />
|VA||amplitude||V||1||<br />
|-<br />
|FC||carrier frequency ||Hz||1||required<br />
|-<br />
|MDI||modulation index||-||0||required<br />
|-<br />
|FS||signal frequency ||Hz||1||required<br />
|-<br />
|}<br />
<br />
== Analog Clock ==<br />
<br />
[[File:GL30.png]]<br />
<br />
This is a periodic pulse generator with a default 0V low output level and a default 5V high output level. <br />
<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|delay||delay time||sec||0|| <br />
|-<br />
|rise||rise time||sec||0.1n|| <br />
|-<br />
|fall||fall time||sec||0.1n|| <br />
|-<br />
|pulse_wid||clock pulse width||sec||1u||required<br />
|-<br />
|period||clock period||-||2u||required<br />
|-<br />
|out_low||low output voltage level||V||0|| <br />
|-|-<br />
|out_high||high output voltage level||V||5|| <br />
|-<br />
|}<br />
<br />
==Analog-to-Digital Converter (ADC) Bridge==<br />
[[File:GK42.png]]<br />
<br />
The ADC Bridge takes an analog value from an analog node and may be in the form of a voltage or current.<br />
If the input is less than or equal to &quot;in_low&quot;, then a digital &quot;0&quot; is generated. If<br />
the input is greater than or equal to &quot;in_high&quot;, a digital &quot;1&quot; is generated. Otherwise,<br />
a digital &quot;UNKNOWN&quot; is the output value. Unlike the DAC Bridge, ramping or delay is not applicable.<br />
Rather, the continuous ramping of the input provides for any associated delays in the digitized signal.<br />
<br />
This model also posts an input load value based on the parameter input_load.<br />
<br />
Model Identifier: adc_bridge<br />
<br />
Netlist Format:<br />
<br />
A&lt;device_name&gt; [&lt;in_pin&gt; {&lt;in2_pin&gt;&gt; ...}] [&lt;out_pin&gt; {&lt;out2_pin&gt; ...}] &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; adc_bridge {&lt;param1 = value&gt; &lt; param2 = value&gt; ...}<br />
<br />
Example:<br />
<br />
A [1] [2] adc_bridge<br />
<br />
.model adc_bridge adc_bridge in_low = .1 fall_delay = 1n <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|in_low||maximum 0-valued analog input||V||0.1||required<br />
|-<br />
|in_high||minimum 1-valued analog input||V||0.9||required<br />
|-<br />
|rise_delay||L-to-H delay time||sec||1n|| <br />
|-<br />
|fall_delay||H-to-L delay time||sec||1n|| <br />
|-<br />
|}<br />
<br />
== Arbitrary Temporal Waveform Generator ==<br />
<br />
[[File:GL17.png]]<br />
<br />
This is a voltage source with an arbitrary waveform defined by a mathematical expression. You have to open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. Enter any mathematical expression in the variable "v(t)" standing for time.<br />
<br />
Examples:<br />
<br />
* v(t) is equivalent to f(t) = t.<br />
* 0.1*(v(t))^2 is equivalent to f(t) = 0.1t^2.<br />
* sin(2*pi*v(t)) is equivalent to f(t) = sin(2&pi;t). <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|Tmax||maximum signal duration||sec||1e6||required<br />
|-<br />
|}<br />
<br />
==Auto-Transformer==<br />
<br />
[[File:GK102.png]]<br />
<br />
This 3-pin device models an auto-transformer with mutual coupling effect. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|Lp||primary inductance||H||1m||<br />
|-<br />
|Ls||secondary inductance||H||1m||<br />
|-<br />
|k||coefficient of coupling||-||1.0||<br />
|-<br />
|}<br />
<br />
==Bipolar Junction Transistor (BJT)==<br />
[[File:G11.png]]<br />
<br />
The BJT is an active device which has up to 4 pins. The three standard pins are base, emitter, and collector. These are given in the default symbol. The substrate, which is grounded by default, is the fourth pin. To use the BJT with the substrate, create a new 4-pin BJT using the Device Editor and Symbol Editor.<br />
<br />
The standard device parameters are AREA, OFF, IC, and T. They are described below:<br />
<br />
{| class="wikitable"<br />
|-<br />
|AREA||area factor (optional) (If not specified, the default value is 1.0.)<br />
|-<br />
|OFF||initial condition for the DC analysis (optional)<br />
|-<br />
|IC||initial condition (optional) (Used when a transient analysis is desired, which starts from other than the quiescent operating point.)<br />
|-<br />
|T||operating temperature of the device (optional)<br />
|-<br />
|}<br />
<br />
Area factor scales the model parameters RE and RC. IC VBE is the initial voltage from base emitter. IC VCE is the initial voltage from collector to emitter. TEMP is the overriding temperature. These parameters are based on the Gummel and Poon integral-charge model. If these parameters are not specified, then it will reduce to the simpler Ebers-Moll model. <br />
<br />
The process model is mandatory for the BJT. Descriptions of the process model parameters are given in the following table:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!EXAMPLE<br />
|-<br />
|IS||transport saturation current||A||1.0e-16||1.0e-15<br />
|-<br />
|BF||ideal maximum forward beta|| ||100||100<br />
|-<br />
|NF||forward current emission coefficient|| ||1.0||1<br />
|-<br />
|VAF||forward Early voltage||V||infinite||200<br />
|-<br />
|IKF||corner forward beta high current roll-off||A||infinite||0.01<br />
|-<br />
|ISE||B-E leakage saturation current||A||0||1.0e-13<br />
|-<br />
|NE||B-E leakage emission coefficient|| ||1.5||2<br />
|-<br />
|BR||ideal maximum reverse beta|| ||1||0.1<br />
|-<br />
|NR||reverse current emission coefficient|| ||1||1<br />
|-<br />
|VAR||reverse Early voltage||V||infinite||200<br />
|-<br />
|IKR||corner reverse beta high current roll-off||A||infinite||0.01<br />
|-<br />
|ISC||B-C leakage saturation current||A||0||1.0e-13<br />
|-<br />
|NC||B-C leakage emission coefficient|| ||2||1.5<br />
|-<br />
|RB||zero bias base resistance||ohms||0||100<br />
|-<br />
|IRB||current where base resistance falls halfway to minimum value||A||infinite||0.1<br />
|-<br />
|RBM||minimum base resistance at high currents||ohms||RB||10<br />
|-<br />
|RE||emitter resistance||ohms||0||1<br />
|-<br />
|RC||collector resistance||ohms||0||10<br />
|-<br />
|CJE||B-E zero bias depletion capacitance||F||0||2pF<br />
|-<br />
|VJE||B-E built-in potential||V||0.75||0.6<br />
|-<br />
|MJE||B-E junction exponential factor|| ||0.33||0.33<br />
|-<br />
|TF||ideal forward transit time||sec||0||0.1ns<br />
|-<br />
|XTF||coefficient for bias dependence of TF|| ||0|| <br />
|-<br />
|VTF||voltage describing VBC dependence of TF||V||infinite|| <br />
|-<br />
|ITF||high-current parameter for effect on TF||A||0|| <br />
|-<br />
|PTF||excess phase at freq=1.0/(TF*2PI)Hz||degree||0|| <br />
|-<br />
|CJC||B-C zero bias depletion capacitance||F||0||2pF<br />
|-<br />
|VJC||B-C built-in potential||V||0.75||0.5<br />
|-<br />
|MJC||B-C junction exponential factor|| ||0.33||0.5<br />
|-<br />
|XCJC||fraction of B-C depletion capacitance connected to internal base node|| ||1|| <br />
|-<br />
|TR||ideal reverse transit time||sec||0||10ns<br />
|-<br />
|CJS||zero bias collector-substrate capacitance||F||0||2pF<br />
|-<br />
|VJS||substrate junction built-in potential||V||0.75|| <br />
|-<br />
|MJS||substrate junction exponential factor|| ||0||0.5<br />
|-<br />
|XTB||forward and reverse beta temp. exponent|| ||0|| <br />
|-<br />
|EG||energy gap for temperature effect on IS||eV||1.11|| <br />
|-<br />
|XTI||temperature exponent for effect on IS|| ||3|| <br />
|-<br />
|KF||flicker-noise coefficient|| ||0|| <br />
|-<br />
|AF||flicker-noise exponent|| ||1|| <br />
|-<br />
|FC||coefficient for forward bias depletion capacitance formula|| ||0.5|| <br />
|-<br />
|TNOM||parameter measurement temperature||deg. C||27||50<br />
|-<br />
|}<br />
<br />
==Capacitance Meter==<br />
[[File:G37.png]]<br />
<br />
The Capacitance Meter measures the total capacitance between a circuit node and the ground. The input pin of the device is connected to the measurement node. The output voltage of the device is then a scaled value equal to the total capacitance seen on its input multiplied by the gain parameter. This model is primarily intended as a building block for other models which must sense a capacitance value and alter their behavior based upon it.<br />
<br />
<br />
Model Identifier: cmeter<br />
<br />
Netlist Format:<br />
<br />
A&lt;device_name&gt; &lt;in_pin&gt; &lt;out_pin&gt; &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; cmeter {&lt;gain = value&gt;}<br />
<br />
Example:<br />
<br />
A1 1 2 cap_meter<br />
<br />
.model cap_meter cmeter gain = 1<br />
<br />
Parameters:<br />
<br />
The only parameter is the gain with a default value of 1.0.<br />
<br />
==Capacitor==<br />
[[File:GK120.png]]<br />
<br />
Capacitors are used to store electrical energy. They can filter or remove AC signals or block DC current without disrupting AC signals. A capacitor's ability to store energy is termed capacitance and is measured in Farads, with values from pF to mF. The only time current flows through a capacitor is when the charge is collected on, or is removed from, its parallel plates. This means that the voltage across the capacitor is changing, which doesn't conform to DC analysis. In a physical circuit, there is a transition stage during which capacitors charge up to their final values. The result is the same as if these capacitors did not exist and the connections to them were left dangling. In other words, in a (steady-state) DC analysis, a capacitor behaves like an open circuit. Therefore, it is important that no section of the circuit is isolated from the capacitors. Every circuit node needs some path for DC current to the ground.<br />
<br />
A capacitor's transient behavior is described by the equation:<br />
<br />
i(t) = C * (dv(t)/dt)<br />
<br />
Its initial voltage is only important when the simulator performs a transient analysis, and the "Use Initial Conditions" checkbox is checked.<br />
<br />
An capacitor's AC behavior is described by the equation: <br />
<br />
i = j ω * C * v <br />
<br />
All capacitor names must begin with C. <br />
<br />
Netlist Format: <br />
<br />
C<device_name> <N+> <N-> <value> <br />
<br />
Example: <br />
<br />
C1 1 2 10p<br />
<br />
[[RF.Spice A/D]] provides three types of capacitors: simple, user-defined (or real) and semiconductor. The standard capacitor parameters are N+, N-, VALUE, and IC. In a simple capacitor, VALUE must<br />
be specified for the capacitance in Farads. IC is the (optional) initial condition for the capacitor voltage.<br />
<br />
==Center-Tapped Ferrite Core Transformer==<br />
<br />
[[File:GK97.png]]<br />
<br />
This five-pin three-port device models a center-tapped physical transformer with a magnetic ferrite core. Its model is based on XSPICE's magnetic core and inductive coupling models. For this device you need to specify physical parameters like cross sectional area, core length and number of primary and secondary turns. The physical model of the magnetic device is defined by two vectors: magnetic field intensity H in A/m and magnetic flux density B (also known as magnetic induction) in Tesla. The default array values are:<br />
<br />
H_array = [-250 -100 -50 -37.5 -25 -12.5 0 12.5 25 37.5 50 100 250]<br />
<br />
B_array = [-0.375 -0.36 -0.32 -0.29 -0.24 -0.15 0 0.15 0.24 0.29 0.32 0.36 0.375]<br />
<br />
To change the value of H/B arrays, open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|n_prim||number of primary inductor coupling turns||-||100||required<br />
|-<br />
|n_sec||number of full-winding secondary inductor coupling turns||-||100||required<br />
|-<br />
|area||cross-sectional area||m<sup>2</sup>||1e-5||<br />
|-<br />
|length||core length||m||0.01||<br />
|-<br />
|}<br />
<br />
==Controlled Sine Wave Oscillator==<br />
<br />
[[File:G24.png]]<br />
<br />
This is a four-terminal function generator with a sinusoidal wave output, whose frequency is controlled by an input voltage. The functional dependency of the output frequency on the input voltage is piecewise linear and is defined as a two-dimensional table similar to a piecewise linear (PWL) controlled source. In the "frequency vs. voltage" curve, the array "cntl_array" defines voltage values in Volts and the array "freq_array" defines the corresponding frequencies in Hz. <br />
This function has parameterizable values of low and high peak output voltage. <br />
<br />
Model Identifier: sine<br />
<br />
Netlist Form: <br />
<br />
A&lt;device_name&gt; %vd(&lt;cntl_in_pin&gt; &lt;cntl_in_ref_pin&gt;) %vd(&lt;out_pin&gt;<br />
&lt;out_ref_pin&gt;) &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; sine cntl_array = [&lt;value1&gt; &lt;value2&gt;] <br />
freq_array = [&lt;value1&gt; &lt;value2&gt;] {&lt;param1 = value&gt; &lt; param2 = value&gt; ...}<br />
<br />
Example:<br />
<br />
A1 %vd(1 3) %vd(2 4) sine<br />
<br />
.model sine sine cntl_array = [0 1] freq_array = [1 1000]<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|Cntl_array||control array||V||[0 1]||required<br />
|-<br />
|Freq_array||frequency array||Hz||[1 1000]||required<br />
|-<br />
|Out_low||output peak low value||V||-1.0|| <br />
|-<br />
|Out_high||output peak high value||V||1.0|| <br />
|-<br />
|}<br />
<br />
<br />
==Controlled Sources==<br />
<br />
Circuits can contain linear dependent sources characterized by one of the following equations (where g,<br />
e, f, and h are constants representing transconductance, voltage gain, current gain, and transresistance,<br />
respectively):<br />
<br />
<SPAN STYLE="font-size: 9pt ; ">i<sub>out</sub> = g v<sub>in</sub><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v<sub>out</sub> = e v<sub>in</sub><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i<sub>out</sub> = f i<sub>in</sub><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v<sub>out</sub> = h i<sub>in</sub></SPAN><br />
<P CLASS="Bodytext" STYLE="font-size: 9pt ; margin: 0pt 0pt 1px 0pt ; "><br />
For further information, refer to:</P><br />
<br />
Linear Current Controlled Current Source (CCCS)<br />
<br />
Linear Voltage Controlled Current Source (VCCS)<br />
<br />
Linear Current Controlled Voltage Source (CCVS)<br />
<br />
Linear Voltage Controlled Voltage Source (VCVS)<br />
<br />
<br />
==Controlled Square Wave Oscillator==<br />
<br />
[[File:G25.png]]<br />
<br />
This is a four-terminal function generator with a square wave output, whose frequency is controlled by an input voltage. The functional dependency of the output frequency on the input voltage is piecewise linear and is defined as a two-dimensional table similar to a piecewise linear (PWL) controlled source. In the "frequency vs. voltage" curve, the array "cntl_array" defines voltage values in Volts and the array "freq_array" defines the corresponding frequencies in Hz. <br />
<br />
Model Identifier: square<br />
<br />
Netlist Format: <br />
<br />
A&lt;device_name&gt; %vd(&lt;cntl_in_pin&gt; &lt;cntl_in_ref_pin&gt;) %vd(&lt;out_pin&gt;<br />
&lt;out_ref_pin&gt;) &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; square cntl_array = [&lt;value1&gt; &lt;value2&gt;] freq_array = [&lt;value1&gt; &lt;value2&gt;] {&lt;param1 = value&gt; &lt; param2 = value&gt; ...}<br />
<br />
Example:<br />
<br />
A1 %vd(1 3) %vd(2 4) square<br />
<br />
.model square square cntl_array = [0 1] freq_array = [1 1000]<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|Cntl_array||control array||V||[0 1]||required<br />
|-<br />
|Freq_array||frequency array||Hz||[0 1000]||required<br />
|-<br />
|Out_low||output peak low value||V||-1.0|| <br />
|-<br />
|Out_high||output peak high value||V||1.0|| <br />
|-<br />
|Duty_cycle||Duty cycle||-||0.5|| <br />
|-<br />
|Rise_time||Output rise time||sec||1.0e-9|| <br />
|-<br />
|Fall_time||Output fall time||sec||1.0e-9|| <br />
|-<br />
|}<br />
<br />
==Controlled Triangle Wave Oscillator==<br />
<br />
[[File:G26.png]]<br />
<br />
This is a four-terminal function generator with a triangle wave output, whose frequency is controlled by an input voltage. The functional dependency of the output frequency on the input voltage is piecewise linear and is defined as a two-dimensional table similar to a piecewise linear (PWL) controlled source. In the "frequency vs. voltage" curve, the array "cntl_array" defined voltage values in Volts and the array "freq_array" defines the corresponding frequencies in Hz. <br />
<br />
Model Identifier: triangle<br />
<br />
Netlist Format: <br />
<br />
A&lt;device_name&gt; %vd(&lt;cntl_in_pin&gt; &lt;cntl_in_ref_pin&gt;) %vd(&lt;out_pin&gt;<br />
&lt;out_ref_pin&gt;) &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; tirangle cntl_array = [&lt;value1&gt; &lt;value2&gt;] <br />
freq_array = [&lt;value1&gt; &lt;value2&gt;]{&lt;param1 = value&gt; &lt; param2 = value&gt; ...}<br />
<br />
Example:<br />
<br />
A1 %vd(1 4) %vd(2 3) triangle<br />
<br />
.model triangle triangle cntl_array = [0 1] freq_array = [1 1000] <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|Cntl_array||control array||V||[0 1]||required<br />
|-<br />
|Freq_array||frequency array||Hz||[0 1000]||required<br />
|-<br />
|Out_low||output peak low value||V||-1.0|| <br />
|-<br />
|Out_high||output peak high value||V||1.0|| <br />
|-<br />
|Rise_duty||Rise time duty cycle||0.5|| <br />
|-<br />
|}<br />
<br />
== Crystal ==<br />
<br />
[[File:GK78.png]]<br />
<br />
This is a 2-pin parameterized crystal device. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|CM||motional capacitance||F||10f||<br />
|-<br />
|C0||shunt capacitance||F||1p||<br />
|-<br />
|RM||motional resistance||Ohms||100||<br />
|-<br />
|LM||motional inductance||H||100m||<br />
|-<br />
|}<br />
<br />
==Current Noise Source==<br />
<br />
[[File:GL16.png]]<br />
<br />
This is a current noise generator characterized by a spectral density and corner frequency. You have to click the {{key|Edit Model...}} button to access the [[parameters]] of this device. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|En||noise current||A/&radic;Hz||1p||required<br />
|-<br />
|freq||noise corner frequency||Hz||100||required<br />
|-<br />
|}<br />
<br />
==Current Source==<br />
<br />
[[File:G17B.png]]<br />
<br />
Current source has a DC value, a transient behavior, an AC behavior, and distortion parameters. The transient type, AC parameters, and distortion parameters are defined on the first tab of the source's property dialog. The transient expression can be a pulse, sinusoid, exponential, or piecewise linear. The DC value of a current source is its initial transient value. For a source with a sinusoidal transient behavior, for example, the DC value will be equal to its transient offset current. The AC parameters are magnitude and phase. These are used during the AC Frequency Sweep analysis. The distortion parameters, two sets of magnitude and phase, are used during the distortion analysis. The AC and distortion parameters are defined on the second tab of the source's property dialog.<br />
<br />
==Current-Controlled Switch==<br />
<br />
[[File:G20.png]]<br />
<br />
Switches are devices that exhibit high resistance when open (OFF state) and low resistance when closed (ON state). The switch model allows an almost ideal switch to be specified. With careful selection of the on and off resistances, they can effectively represent zero and infinite resistances in comparison to other circuit elements, while sustaining the model condition of a positive, finite value. <br />
<br />
There are two versions of Current-Controlled Switch: two-terminal and four-terminal. For the two-terminal device, you must specify the name of the controlling Ammeter or voltage source, as well as the turn-on and turn-off currents in Amperes and on and off resistance values in Ohms. The four-terminal device already provides nodes for a controlling ammeter, and you just specify the rest of [[parameters]]. When the current through the switch or controlling device is greater or equal to the turn-on current, the switch closes. When the current through the switch or controlling device is less than or equal to the turn off current, the switch opens. <br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|I_ON||turn-on current||A||0.0||<br />
|-<br />
|I_OFF||turn-off current||A||0.0||<br />
|-<br />
|RON||closed resistance||Ohms||1.0||<br />
|-<br />
|ROFF||open resistance||Ohms||1/GMIN||<br />
|-<br />
|}<br />
<br />
==Darlington Pair==<br />
<br />
[[File:GK108.png]]<br />
<br />
A Darlington pair is a three-pin device that consists of two interconnected BJT transistors of the same type. The collectors of two transistors are connected together to provide the "Collector" pin of the pair. The base of the first BJT acts the "Base" pin of the pair. The emitter of the first BJT is internally connected to the base of the second BJT. The emitter of the second BJT acts as the "Emitter" pin of the pair. There are two types of Darlington pair: NPN and PNP. The parameterized generic Darlington pair also contains a diode connected between the collector and emitter pin as well as two base-emitter resistors, one across each BJT. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|is_bjt||bjt saturation current||A||1.0e-12||<br />
|-<br />
|bf_bjt||bjt forward beta||-||150||<br />
|-<br />
|nf_bjt||bjt forward emission coefficient||-||1||<br />
|-<br />
|ise_bjt||B-E leakage saturation current||A||0||<br />
|-<br />
|ne_bjt||B-E leakage emission coefficient||-||1||<br />
|-<br />
|br_bjt||ideal maximum reverse beta||-||1||<br />
|-<br />
|nr_bjt||reverse current emission coefficient||-||1||<br />
|-<br />
|isc_bjt||B-C leakage saturation current||A||0||<br />
|-<br />
|nc_bjt||B-C leakage emission coefficient||-||1||<br />
|-<br />
|rb_bjt||zero bias base resistance||Ohms||0||<br />
|-<br />
|irb_bjt||current where base resistance falls halfway to minimum value||A||inf||<br />
|-<br />
|rbm_bjt||minimum base resistance at high currents||ohms||0||<br />
|-<br />
|re_bjt||emitter resistance||Ohms||0||<br />
|-<br />
|rc_bjt||collector resistance||Ohms||0||<br />
|-<br />
|cje_bjt||B-E zero bias depletion capacitance||F||0||<br />
|-<br />
|vje_bjt||B-E built-in potential||V||0.75||<br />
|-<br />
|mje_bjt||B-E junction grading coefficient||-||0.33||<br />
|-<br />
|cjc_bjt||B-C zero bias depletion capacitance||F||0||<br />
|-<br />
|vjc_bjt||B-C built-in potential||V||0.75||<br />
|-<br />
|mjc_bjt||B-C junction exponential factor||-||0.33||<br />
|-<br />
|tf_bjt||ideal forward transit time||sec||0||<br />
|-<br />
|tr_bjt||ideal reverse transit time||sec||0||<br />
|-<br />
|is_d||diode saturation current||A||1.0e-12||<br />
|-<br />
|rs_d||diode resistance||Ohms||0||<br />
|-<br />
|n_d||diode emission coefficient||-||1||<br />
|-<br />
|cjo_d||diode junction capacitance||F||0||<br />
|-<br />
|vj_d||diode junction potential||V||1||<br />
|-<br />
|m_d||diode grading coefficient|| ||0.5||<br />
|-<br />
|tnom||parameter measurement temperature||deg C||27||<br />
|-<br />
|r1||first base-emitter resistance||Ohms||1k||<br />
|-<br />
|r2||second base-emitter resistance||Ohms||1k||<br />
|-<br />
|}<br />
<br />
== DC Bias Sources Vcc, Vee, Vdd, Vss ==<br />
<br />
[[File:GL12.png]]<br />
<br />
These are simple 1-pin DC voltage sources. Vcc and Vdd provide a positive voltage, while Vee and Vss provide a negative voltage<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|vcc||bias voltage||V||+15||required<br />
|-<br />
|vee||bias voltage||V||-15||required<br />
|-<br />
|vdd||bias voltage||V||+15||required<br />
|-<br />
|vss||bias voltage||V||-15||required<br />
|-<br />
|}<br />
<br />
==Digital-to-Analog Converter (DAC) Bridge==<br />
<br />
[[File:GK43.png]]<br />
<br />
The DAC Bridge takes a digital value from a digital node and can only be eiter &quot;0&quot;, &quot;1&quot;,<br />
or &quot;U&quot;. It then outputs the value &quot;out_low&quot;, &quot;out_high&quot; or &quot;out_udndef&quot;,<br />
or ramps linearly toward one of these &quot;final&quot; values from its curent analog output level. This<br />
ramping speed depends on the values of &quot;t_rise&quot; and &quot;t_fall&quot;.<br />
<br />
Model Identifier: dac_bridge<br />
<br />
Netlist Format:<br />
<br />
A&lt;device_name&gt; [&lt;in_pin&gt; {&lt;in2_pin&gt;&gt; ...}] [&lt;out_pin&gt; {&lt;out2_pin&gt; ...}] &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; dac_bridge {&lt;param1 = value&gt; &lt; param2 = value&gt; ...}<br />
<br />
Example:<br />
<br />
A [1] [2] dac_bridge<br />
<br />
.model dac_bridge dac_bridge out_low = 0 fall_delay = 1n <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|out_low||analog output for 0 digital input||V||0||required<br />
|-<br />
|out_high||analog output for 1 digital input||V||1||required<br />
|-<br />
|out_undef||analog output for undefined digital input||V||0.5||required<br />
|-<br />
|input_load||capacitive input load||F||1p|| <br />
|-<br />
|t_rise||L-to-H delay time||sec||1n|| <br />
|-<br />
|t_fall||H-to-L delay time||sec||1n|| <br />
|-<br />
|}<br />
<br />
==Diode==<br />
<br />
[[File:G9.png]]<br />
<br />
Diodes allow current flow only in one direction, following their symbol's arrow, and thus can be used as simple solid<br />
state switches in AC circuits.<br />
<br />
The standard device parameters are AREA, OFF, IC, and T. They are described below:<br />
<br />
{| class="wikitable"<br />
|-<br />
|AREA||area factor (optional) (If not specified, the default value is 1.0.)<br />
|-<br />
|OFF||initial condition for the DC analysis (optional)<br />
|-<br />
|IC||initial condition (optional) (Used when a transient analysis is desired, which starts from other than the quiescent operating point.)<br />
|-<br />
|T||operating temperature of the device (optional)<br />
|-<br />
|}<br />
<br />
The process models can be either junction diodes or Schottky barrier diodes. Area factor scales the model parameters<br />
IS, RS, CJO, and IBV. VD is the initial voltage, and TEMP is the overriding temperature. Descriptions of the process model parameters are given in the following table:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|IS||saturation current||A||1e-14||<br />
|-<br />
|TNOM||parameter measurement temperature||deg C||27||<br />
|-<br />
|RS||ohmic resistance||Ohms||0||<br />
|-<br />
|N||emission coefficient||-||1||<br />
|-<br />
|TT||transit-time||sec||0||<br />
|-<br />
|CJO||zero-bias junction capacitance||F||0||<br />
|-<br />
|VJ||junction potential||V||1||<br />
|-<br />
|M||grading coefficient||-||0.5||<br />
|-<br />
|EG||activation energy||eV||1.11||<br />
|-<br />
|XTI||saturation current temp. exp.||-||3.0||<br />
|-<br />
|KF||flicker noise coefficient||-||0||<br />
|-<br />
|AF||flicker noise exponent||-||1||<br />
|-<br />
|FC||forward bias junction fit parameter||-||0.5||<br />
|-<br />
|BV||reverse breakdown voltage||V||inf||<br />
|-<br />
|IBV||current at breakdown voltage||A||1e-3||<br />
|-<br />
|}<br />
<br />
==Diode Bridge==<br />
<br />
[[File:GK107.png]]<br />
<br />
This four-pin device is a bridge configuration of four generic diodes.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|IS||saturation current||A||1e-14||<br />
|-<br />
|RS||ohmic resistance||Ohms||0||<br />
|-<br />
|N||emission coefficient||-||1||<br />
|-<br />
|TT||transit-time||sec||0||<br />
|-<br />
|CJO||zero-bias junction capacitance||F||10p||<br />
|-<br />
|VJ||junction potential||V||1||<br />
|-<br />
|M||grading coefficient||-||0.5||<br />
|-<br />
|BV||reverse breakdown voltage||V||1000||<br />
|-<br />
|IBV||current at breakdown voltage||A||1e-3||<br />
|-<br />
|TNOM||parameter measurement temperature||deg C||27||<br />
|-<br />
|}<br />
<br />
==Doubly Center-Tapped Ferrite Core Transformer==<br />
<br />
[[File:GK98.png]]<br />
<br />
This six-pin four-port device models a doubly center-tapped physical transformer with a magnetic ferrite core. Its model is based on XSPICE's magnetic core and inductive coupling models. For this device you need to specify physical parameters like cross sectional area, core length and number of primary and secondary turns. The physical model of the magnetic device is defined by two vectors: magnetic field intensity H in A/m and magnetic flux density B (also known as magnetic induction) in Tesla. The default array values are:<br />
<br />
H_array = [-250 -100 -50 -37.5 -25 -12.5 0 12.5 25 37.5 50 100 250]<br />
<br />
B_array = [-0.375 -0.36 -0.32 -0.29 -0.24 -0.15 0 0.15 0.24 0.29 0.32 0.36 0.375]<br />
<br />
To change the value of H/B arrays, open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|n_prim||number of full-winding primary inductor coupling turns||-||100||required<br />
|-<br />
|n_sec||number of full-winding secondary inductor coupling turns||-||100||required<br />
|-<br />
|area||cross-sectional area||m<sup>2</sup>||1e-5||<br />
|-<br />
|length||core length||m||0.01||<br />
|-<br />
|}<br />
<br />
== DPDT Switch ==<br />
<br />
[[File:GK74.png]]<br />
<br />
This is an 8-pin device that models a double-pole double-throw switch. It has two input signals and four output pins. When the control voltage is at the high state, the first and second input voltages are transferred to the first and third output pins, respectively. When the control voltage is at the low state, the first and second input voltages are transferred to the second and fourth output pins, respectively. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|von||turn-on voltage||V||3.3||<br />
|-<br />
|voff||turn-off voltage||V||0.3||<br />
|-<br />
|vt||threshold voltage||V||1.0||<br />
|-<br />
|ron||on resistance||Ohms||1.0||<br />
|-<br />
|roff||off resistance||Ohms||1Gig||<br />
|-<br />
|}<br />
<br />
== DPST Switch ==<br />
<br />
[[File:GK73.png]]<br />
<br />
This is a 6-pin device that models a double-pole single-throw switch. It has two input signals and two output signals. When the switch on, the first and second input voltages are transferred to the first and second output pins, respectively. When the switch is off, the output pin do not receive any input signals. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|von||turn-on voltage||V||3.3||<br />
|-<br />
|voff||turn-off voltage||V||0.3||<br />
|-<br />
|vt||threshold voltage||V||1.0||<br />
|-<br />
|ron||on resistance||Ohms||1.0||<br />
|-<br />
|roff||off resistance||Ohms||1Gig||<br />
|-<br />
|}<br />
<br />
==Ferrite Core Transformer==<br />
<br />
[[File:GK95.png]]<br />
<br />
This four-pin two-port device models a physical transformer with a magnetic ferrite core. Its model is based on XSPICE's magnetic core and inductive coupling models. For this device you need to specify physical parameters like cross sectional area, core length and number of primary and secondary turns. The physical model of the magnetic device is defined by two vectors: magnetic field intensity H in A/m and magnetic flux density B (also known as magnetic induction) in Tesla. The default array values are:<br />
<br />
H_array = [-250 -100 -50 -37.5 -25 -12.5 0 12.5 25 37.5 50 100 250]<br />
<br />
B_array = [-0.375 -0.36 -0.32 -0.29 -0.24 -0.15 0 0.15 0.24 0.29 0.32 0.36 0.375]<br />
<br />
To change the value of H/B arrays, open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|n_prim||number of primary turns||-||100||required<br />
|-<br />
|n_sec||number of secondary turns||-||100||required<br />
|-<br />
|area||cross-sectional area||m<sup>2</sup>||1e-5||<br />
|-<br />
|length||core length||m||0.01||<br />
|-<br />
|}<br />
<br />
== FM Modulated Source ==<br />
<br />
[[File:GL24.png]]<br />
<br />
This is a voltage source with a single-tone frequency modulated waveform. The FM modulation index MDI is defined as the ratio of maximum frequency deviation to maximum signal amplitude. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|V0||offset||V||0||<br />
|-<br />
|VA||amplitude||V||1||<br />
|-<br />
|FC||carrier frequency ||Hz||1||required<br />
|-<br />
|MDI||modulation index||-||0||required<br />
|-<br />
|FS||signal frequency ||Hz||1||required<br />
|-<br />
|}<br />
<br />
==Frequency Meter==<br />
[[File:G114.png]]<br />
<br />
The Frequency Meter is a four-pin shunt device that is connected in parallel with an AC source just like a voltmeter and measures the operating frequency of the AC circuit. The input pins are connected across the AC source. The voltage across the output pins is equal to the frequency of the source in Hertz within a scale factor SF. Note that the Frequency Meter is designed to work with a single-tone AC source of unit amplitude. If the amplitude of the source is not one, multiply the SF parameter by the non-unit source amplitude value. The output voltage of the Frequency Meter can be used in conjunction with linear or nonlinear dependent sources to model frequency-dependent quantities.<br />
<br />
<br />
Model Identifier: fmeter<br />
<br />
<br />
Parameters:<br />
<br />
The only parameter is the scale factor SF with a default value of 1.0. Set SF = 1e-6 to read out the frequency in MHz. Set SF = 1e-9 to read out the frequency in GHz. Set SF = 6.283185 (2*pi) to read out the angular frequency &omega; in radian/s. <br />
<br />
== Fuse ==<br />
<br />
[[File:GK76.png]]<br />
<br />
This is a 2-pin interactive current-controlled switch. If the current passing through the fuse is less than a specified threshold current, the switch is closed. If the current exceeds the threshold level, the fuse breaks and remains open thereafter. The device's symbol changes to display its state. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|r||resistance when intact||Ohms||1.0||<br />
|-<br />
|i_thresh||threshold current||A||1.0||<br />
|-<br />
|}<br />
<br />
==Ground==<br />
<br />
[[File:G15.png]]<br />
<br />
Ground has a voltage of zero (0) and is used as a reference to compute electrical values in the circuit. <br />
All circuits <B>must</B> be grounded to be properly simulated. There is no limit on the number of grounds<br />
you may use in a circuit. All components connected to ground are referenced to a common point and treated<br />
as linked through ground.<br />
<br />
==Hysteresis Block (XSPICE)==<br />
<br />
[[File:G37.png]]<br />
<br />
The Hysteresis block is a simple buffer stage that provides hysteresis of the output with respect to the<br />
input. The in_low and in_high parameter values. The output values are limited to out_lower_limit and<br />
out_upper_limit. The value of \93hyst\94 is added to the in_low and in_high points in order to specify the<br />
points at which the slope of the hysteresis function would normally change abruptly as the input transitions<br />
from a low to a high value. Likewise, the value of \93hyst\94 is subtracted from the in_high and in_low values<br />
in order to specify the points at which the slope of the hysteresis function would normally change abruptly<br />
as the input transitions from a high to a low value. In fact, the slope of the hysteresis function is<br />
never allowed to change abruptly but is smoothly varied whenever the input_dowmain smoothing parameter<br />
is set greater than zero.<br />
<br />
Model Identifier: hyst<br />
<br />
Netlist Format:<br />
<br />
A&lt;device_name&gt; &lt;in_pin&gt; &lt;out_pin&gt; &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; hyst {&lt;param1 = value&gt; &lt; param2 = value&gt; ...}<br />
<br />
Example:<br />
<br />
A1 1 2 hysteresis_block<br />
<br />
.model hysteresis_block hyst in_low = 0.0 in_high = 1.0<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!Name!!Description!!Default<br />
|-<br />
|In_low||input low value||0.0<br />
|-<br />
|in_high||input high value||1.0<br />
|-<br />
|hyst||hysteresis||0.1<br />
|-<br />
|out_lower_limit||output lower limit||0.0<br />
|-<br />
|out_upper_limit||output upper limit||1.0<br />
|-<br />
|input_domain||input smoothing domain||0.01<br />
|-<br />
|fraction||smoothing fraction/absolute value switch||true<br />
|-<br />
|}<br />
<br />
==Ideal Center-Tapped Transformer with Push-Pull Input==<br />
<br />
[[File:XFMR4.png]]<br />
<br />
The ideal center-tapped transformer with push-pull input is a five-pin three-port device with two primary input ports and one secondary output port. Its model is based on the [[Glossary_of_Generic_Analog_Devices#Ideal_Transformer | Ideal Transformer]], and the relationship between its primary and secondary voltages is given by:<br />
<br />
<math> \frac{v_P1}{v_S} = \frac{v_P2}{v_S} = n </math><br />
<br />
where v<sub>S</sub> is the secondary voltage, v<sub>P1</sub> is measured between the top primary pin P1 and the center tap pin, and v<sub>P2</sub> is measured between the center tap pin and the bottom primary pin P2. The red dots show the polarity of the windings on each side. This model has one parameter: ratio = n = N<sub>P1</sub>/N<sub>S</sub> = N<sub>P2</sub>/N<sub>S</sub>, which represents the primary-to-secondary (half-winding) turns ratio. <br />
<br />
==Ideal Center-Tapped Transformer with Push-Pull Output==<br />
<br />
[[File:XFMR3.png]]<br />
<br />
The ideal center-tapped transformer with push-pull output is a five-pin three-port device with one primary input port and two secondary output ports. Its model is based on the [[Glossary_of_Generic_Analog_Devices#Ideal_Transformer | Ideal Transformer]], and the relationship between its primary and secondary voltages is given by:<br />
<br />
<math> \frac{v_P}{v_{S1}} = \frac{v_P}{v_{S2}} = n </math><br />
<br />
where v<sub>P</sub> is the primary voltage, v<sub>S1</sub> is measured between the top secondary pin S1 and the center tap pin, and v<sub>S2</sub> is measured between the center tap pin and the bottom secondary pin S2. The red dots show the polarity of the windings on each side. This model has one parameter: ratio = n = N<sub>P</sub>/N<sub>S1</sub> = N<sub>P</sub>/N<sub>S2</sub>, which represents the primary-to-secondary (half-winding) turns ratio.<br />
<br />
==Ideal Diode==<br />
<br />
[[File:GK106.png]]<br />
<br />
This 2-pin device is a very basic and primitive model of a diode as a rectifier or switch. When the voltage across the device's terminals is positive, it acts as a short circuit. When the voltage across the device's terminals is negative, it acts as an open circuit. <br />
<br />
Parameters: <br />
<br />
None<br />
<br />
==Ideal Operational Amplifier (Op-Amp)==<br />
<br />
[[File:GK105.png]]<br />
<br />
This is a very basic and primitive model of an operational amplifier. It has only one parameter, open loop gain with a default value of 50,000, which is adequate for most cases. The ideal Op-Amp device doesn't require any DC bias voltages. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|A||open loop gain||-||50,000||<br />
|-<br />
|}<br />
<br />
==Ideal Transformer==<br />
<br />
[[File:XFMR1.png]]<br />
<br />
The ideal transformer is a four-pin two-port device with the following relationship between the voltages and currents at its primary and secondary ports:<br />
<br />
<math> \frac{v_P}{v_S} = - \frac{i_S}{i_P} = \frac{N_P}{N_S} = n </math><br />
<br />
where v<sub>P</sub>, i<sub>P</sub>, N<sub>P</sub> are the primary voltage, current and number of turns, respectively, and v<sub>S</sub>, i<sub>S</sub>, N<sub>S</sub> are the secondary voltage, current and number of turns, respectively. The red dots show the polarity of the windings on each side. This model has one parameter: ratio = n = N<sub>P</sub>/N<sub>S</sub>, which represents the primary-to-secondary turns ratio. Note that the ideal transformer model is defined based on controlled sources and does not involve any magnetic physical parameters as opposed to mutual inductors or ferrite core transformer.<br />
<br />
==Inductance Meter==<br />
<br />
[[File:G37.png]]<br />
<br />
The Inductance Meter measures the total inductance between a circuit node and the ground. The input pin of the device is connected to the measurement node. The output voltage of the device is then a scaled value equal to the total inductance seen on its input multiplied by the gain parameter. This model is primarily intended as a building block for other models which must sense an inductance value and alter their behavior based upon it. Care must be exercised when connecting an Inductance Meter to the inductors of a circuit. This is due to the fact that inductors are treated by SPICE as current sources. This can cause a problem when an inductor is connected in series with a current source, or in series with a voltmeter, or in series with another inductor. <br />
<br />
Model Identifier: lmeter<br />
<br />
Netlist Format:<br />
<br />
A&lt;device_name&gt; &lt;in_pin&gt; &lt;out_pin&gt; &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; imeter {&lt;gain = value&gt;}<br />
<br />
Example:<br />
<br />
A1 1 2 inductance_meter<br />
<br />
.model inductance_meter lmeter gain = 1 <br />
<br />
Parameters:<br />
<br />
The only parameter is the gain with a default value of 1.0.<br />
<br />
==Inductive Coupler Block==<br />
<br />
[[File:GK99.png]]<br />
<br />
The Inductive Coupler Block couples any two existing inductors. This block doesn't have any pins because it doesn't actually represent inductors, only the coupling between them. This is useful if you want to<br />
couple two inductors that are in different parts of the circuit, or if you want to couple more than two inductors together. In the latter case, use more than one of these, with each one coupling a pair of inductors.<br />
<br />
The standard parameters are Inductor1, Inductor2, and k. Inductor1 is the name of first inductor, Inductor2 is the name of the second inductor, and k is the coefficient of coupling, 0 &lt; k &le; 1.<br />
<br />
==Inductive Coupling (XSPICE)==<br />
<br />
[[File:G41.png]]<br />
<br />
This function is a conceptual model which is used as a building block to create a wide variety of inductive and magnetic circuit models. This function is normally used in<br />
conjunction with the “core” model, but it can also be used with resistors, hysteresis blocks, etc. to build up systems which mock the behavior of linear and nonlinear components.<br />
The lcouple takes as an input (on the “l” port) a current. This current value is multiplied by the num_turns value, N, to produce an output value (a voltage value which appears on the<br />
mmf_out port). The mmf_out acts similar to a magnetomotive force in a magnetic circuit;<br />
when the lcouple is connected to the “core” model, or to some other resistive device, a current will flow. This current value (which is modulated by whatever the lcouple is<br />
connected to) is then used by the lcouple to calculate a voltage “seen” at the “l” port. The voltage is a function of the derivative with respect to time of the current value seen at mmf_out.<br />
<br />
The most common use for lcouple will be as a building block in the construction of transformer models. To create a transformer with a single input and a single output, you<br />
would require two lcouple models plus one “core” model. <br />
<br />
Example:<br />
<br />
A1 (1 0) (2 3) lcouple1<br />
<br />
.model lcouple1 lcouple ( num_turns = 10 )<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|num_turns||number of turns||-||1||required<br />
|-<br />
|}<br />
<br />
==Inductor==<br />
<br />
[[File:GK121.png]]<br />
<br />
Inductors are used to store magnetic energy. An inductor's ability to counteract current changes passing through it is called its inductance (L), which is<br />
measured in Henrys. In a (steady-state) DC analysis, the inductor acts like a short circuit. It is indeed treated as a current source, which can be problematic if an inductor is connected in series with a current source, or in series with a voltmeter, or in series with another inductor. The resistor may be of negligible value or one that accounts for the coil resistance of the inductor. In AC and transient analyses, the inductor develops a voltage across it in response to the changing magnetic<br />
flux within its coil. <br />
<br />
An inductor's transient behavior is described by the equation:<br />
<br />
v(t) = L*(di(t)/dt) <br />
<br />
The inductor's initial condition is optional. It is the initial value of the inductor current in Amperes that flows from node N+ through the inductor to node N-. The only time that the initial current matters is when the simulator performs a transient analysis, and the "Use Initial Conditions" checkbox is checked. <br />
<br />
An inductor's AC behavior is described by the equation: <br />
<br />
v = j &omega; * L * i<br />
<br />
All inductor names must begin with L.<br />
<br />
Netlist Format: <br />
<br />
L<device_name> <N+> <N-> <value> <br />
<br />
Example: <br />
<br />
L1 1 2 10u<br />
<br />
==Inductor with Ferrite Core==<br />
<br />
[[File:GK94.png]]<br />
<br />
This 2-pin device models a physical inductor with a magnetic ferrite core. Its model is based on XSPICE's magnetic core and inductive coupling models. Unlike the standard inductor device, you do not specify an inductance value for the inductor with ferrite core. Rather, you specify physical parameters like cross sectional area, core length and number of turns. The physical model of the magnetic device is defined by two vectors: magnetic field intensity H in A/m and magnetic flux density B (also known as magnetic induction) in Tesla. The default array values are:<br />
<br />
H_array = [-250 -100 -50 -37.5 -25 -12.5 0 12.5 25 37.5 50 100 250]<br />
<br />
B_array = [-0.375 -0.36 -0.32 -0.29 -0.24 -0.15 0 0.15 0.24 0.29 0.32 0.36 0.375]<br />
<br />
To change the value of H/B arrays, open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|n_turns||number of turns||-||100||required<br />
|-<br />
|area||cross-sectional area||m<sup>2</sup>||1e-5||<br />
|-<br />
|length||core length||m||0.01||<br />
|-<br />
|}<br />
<br />
== Insulated Gate Bipolar Transistor (IGBT)==<br />
<br />
[[File:GK111.png]]<br />
<br />
This is a 3-pin parameterized Insulated Gate Bipolar Transistor (IGBT) device with three pins: Collector(C), Gate (G), and Emitter (E). It is primarily used as a fast electronic switch. The IGBT combines the simple gate-drive characteristics of MOSFETs with the high-current and low-saturation-voltage capability of bipolar transistors. The device's model consists of an isolated gate FET for the control input, and a PNP bipolar power transistor as a switch. To further modify the internal device models, open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|cap||parasitic capacitance||F||1n||<br />
|-<br />
|rg||gate resistance||Ohms||5||<br />
|-<br />
|re||emitter resistance||Ohms||0.05||<br />
|-<br />
|bf||pnp transistor forward beta||-||1||<br />
|-<br />
|vto||MOSFET threshold voltage||V||5||<br />
|-<br />
|kt||MOSFET transconductance||-||2.99||<br />
|-<br />
|cgso||MOSFET voltage gate-source overlap capacitance||F||5u||<br />
|-<br />
|nd||diode emission coefficient||-||50||<br />
|-<br />
|cjo||diode junction capacitance||F||1n||<br />
|-<br />
|}<br />
<br />
==Interactive Switch==<br />
<br />
[[File:GK75.png]]<br />
<br />
This device is an interactive switch that can be closed or opened either directly from the Schematic Editor by clicking on its symbol or from the Instrument Panel.<br />
<br />
==Junction Field Effect Transistor (JFET)==<br />
<br />
[[File:G12.png]]<br />
<br />
The JFET is the simplest transistor device and has three pins: gate, drain and source. The JFET defaults are based on the Shichman and Hodges FET model. This is a square-law device because of the expression relating the drain current to the gate-to-source voltage: <br />
Idrain=*(VGS-Vthreshold)2. In real JFETs, near the saturation point, the drain currents vary with the drain voltages. This can be modeled by the following formula: Idrain=*(VGS-VTO)2*(1+*VDS), which yields an increasing<br />
drain current for increasing values of VDS.<br />
<br />
The gate-to-source and gate-to-drain junctions each have a nonlinear capacitor. The zero-bias capacitance value is selected for each junction.<br />
<br />
The standard device parameters are AREA, OFF, IC, and T. They are described below:<br />
<br />
{| class="wikitable"<br />
|-<br />
|AREA||area factor (optional) (If not specified, the default value is 1.0.)<br />
|-<br />
|OFF||initial condition for the DC analysis (optional)<br />
|-<br />
|IC||initial condition (optional) (Used when a transient analysis is desired, which starts from other than the quiescent operating point.)<br />
|-<br />
|T||operating temperature of the device (optional)<br />
|-<br />
|}<br />
<br />
The process model parameters are listed in the following table:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!EXAMPLE<br />
|-<br />
|VTO||threshold voltage||V||-2||-2<br />
|-<br />
|BETA||transconductance parameter||A/V2||1.0e-4||1.0e-3<br />
|-<br />
|LAMBDA||channel-length modulation parameter||1/V||0||1.0e-4<br />
|-<br />
|RD||drain ohmic resistance||ohms||0||100<br />
|-<br />
|RS||source ohmic resistance||ohms||0||100<br />
|-<br />
|CGS||zero-bias G-S junction capacitance||F||0||5pF<br />
|-<br />
|CGD||zero-bias G-D junction capacitance||F||0||1pF<br />
|-<br />
|PB||gate junction potential||V||1||0.6<br />
|-<br />
|IS||gate junction saturation current||A||1.0e-14||1.0e-14<br />
|-<br />
|B||doping tail parameter|| ||1||1.1<br />
|-<br />
|KF||flicker-noise coefficient|| ||0|| <br />
|-<br />
|AF||flicker-noise exponent|| ||1|| <br />
|-<br />
|FC||coefficient for forward-bias depletion capacitance formula|| ||0.5|| <br />
|-<br />
|TNOM||parameter measurement temperature||deg. C||27||50<br />
|-<br />
|}<br />
<br />
== Light Emitting Diode (LED) ==<br />
<br />
[[File:GK114.png]]<br />
<br />
This is a two-pin parameterized diode device that emits light of a certain wavelength when it is forward-biased.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|rs||ohmic resistance||Ohms||10||<br />
|-<br />
|vj||junction potential||V||0.6||<br />
|-<br />
|cjo||zero bias junction capacitance||F||10p||<br />
|-<br />
|tt||transit time||sec||0.1n||<br />
|-<br />
|}<br />
<br />
==Linear Current-Controlled Current Source (CCCS)==<br />
<br />
[[File:G2.png]]<br />
<br />
The CCCS is a current source whose current is directly proportional to the current across a controlling Ammeter or a voltage source. There are two versions: two-terminal and four-terminal. For the two-terminal device, you must specify the name of the controlling Ammeter or voltage source, as well as the current gain, which has a default value of one. The four-terminal device already provides nodes for a controlling ammeter, and you just specify the current gain. <br />
<br />
Model Identifier: cccs<br />
<br />
Netlist Format: <br />
<br />
F<device_name> <N+> <N-> <controlling_device_name> <value><br />
<br />
Example: <br />
<br />
F1 1 0 V1 1.0<br />
<br />
==Linear Current-Controlled Voltage Source (CCVS)==<br />
<br />
[[File:G4.png]]<br />
<br />
The CCVS is a voltage source whose voltage is directly proportional to the current through a controlling ammeter or a voltage source. There are two versions: two-terminal and four-terminal. For the two-terminal device, you must specify the name of the controlling Ammeter or voltage source, as well as the trans-resistance gain, which has a default value of one. The four-terminal device already provides nodes for a controlling ammeter, and you just specify the trans-resistance gain. <br />
<br />
Model Identifier: ccvs<br />
<br />
Netlist Format: <br />
<br />
H<device_name> <N+> <N-> <controlling_device_name> <value><br />
<br />
Example: <br />
<br />
H1 1 0 V1 1.0<br />
<br />
==Linear Voltage-Controlled Current Source (VCCS)==<br />
<br />
[[File:G3.png]]<br />
<br />
The VCCS is a current source whose current is directly proportional to the voltage across a controlling voltmeter or the voltage between two circuit nodes. There are two versions: two-terminal and four-terminal. For the two-terminal device, you must specify the name of the controlling voltmeter or the two controlling nodes, as well as the trans-conductance gain, which has a default value of one. The four-terminal device already provides nodes for a controlling voltmeter, and you just specify the trans-conductance gain. <br />
<br />
Model Identifier: vccs<br />
<br />
Netlist Format: <br />
<br />
G<device_name> <N+> <N-> <NC+> <NC-> <value><br />
<br />
Example: <br />
<br />
G1 1 0 2 0 1.0<br />
<br />
==Linear Voltage-Controlled Voltage Source (VCVS)==<br />
<br />
[[File:G1.png]]<br />
<br />
The VCVS is a voltage source whose voltage is directly proportional to the voltage across a controlling voltmeter of the voltage between two circuit nodes. There are two versions: two-terminal and four-terminal. For the two-terminal device, you must specify the name of the controlling voltmeter or the two controlling nodes, as well as the voltage gain, which has a default value of one. The four-terminal device already provides nodes for a controlling voltmeter, and you just specify the voltage gain. <br />
<br />
Model Identifier: vcvs<br />
<br />
Netlist Format: <br />
<br />
E<device_name> <N+> <N-> <NC+> <NC-> <value><br />
<br />
Example: <br />
<br />
E1 1 0 2 0 1.0<br />
<br />
==Lossless Transmission Line==<br />
<br />
[[File:G21.png]]<br />
<br />
The lossless transmission line is a four-pin two-port device that models only one propagating mode of an ideal transmission line. When using this SPICE model, should all four nodes of the actual circuit be distinct, two modes may be activated, and this device would be insufficient for that purpose. To circumvent this potential problem, two transmission line devices would be required. Due to the implementation details, you may produce more accurate simulation results with a lossy transmission line device with zero loss.<br />
<br />
Optional initial condition parameters are the voltage and current at each of the transmission line ports.<br />
<br />
The standard device parameters are Z0, TD, F, NL, IC, described below:<br />
<br />
{| class="wikitable"<br />
|-<br />
|Z0||characteristic impedance<br />
|-<br />
|TD||transmission delay<br />
|-<br />
|F||frequency<br />
|-<br />
|NL||normalized electrical length of the transmission line with respect to the wavelength in the line at frequency F. (If F is specified, but NL is not, the default is 0.25.)<br />
|-<br />
|IC||initial condition (Specifies the voltage and current at each of the transmission line ports.)<br />
|-<br />
|}<br />
<br />
==Lossy Transmission Line==<br />
<br />
[[File:G22.png]]<br />
<br />
The lossy transmission line is a four-pin two-port convolution model for uniform constant-parameter distributed lines. MNAME is the process model name, which<br />
includes a set of pre-specified options as described below.<br />
<br />
The device model [[parameters]] are listed in the following table:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!EXAMPLE<br />
|-<br />
|R||resistance /length||Ohm /m||0.0||0.2<br />
|-<br />
|L||inductance/length||henrys/m||0.0||9.13e-9<br />
|-<br />
|C||capacitance/length||farads/m||0.0||3.65e-12<br />
|-<br />
|LEN||length of line||m||none||1.0<br />
|-<br />
|LININTERP||use linear interpolation||flag||not set||set<br />
|-<br />
|QUADINTERP||use quadratic interpolation||flag||not set||set<br />
|-<br />
|MIXEDINTERP||use linear when quadratic seems bad||flag||not set||set<br />
|-<br />
|COMPACTREL||special reltol for straight line checking||flag||RETOL||1.0e-3<br />
|-<br />
|COMPACTABS||special abstol for straight line checking||flag||ABSTOL||1.0e-9<br />
|-<br />
|NOCONTROL||don't do complex time control||flag||not set||set<br />
|-<br />
|STEPLIMIT||always limit timestep to 0.8*(delay of line)|| || || <br />
|-<br />
|NOSTEPLIMIT||don't always limit timestep to 0.8*(delay of line)||flag||not set||set<br />
|-<br />
|TRUNCNR||use Newton-Raphson method for timestep calculation in LTRAtrunc||flag||not set||set<br />
|-<br />
|TRUNCDONTCUT||don't limit timestep to keep impulse-response errors low||flag||not set||set<br />
|-<br />
|}<br />
<br />
<P CLASS="Normal-1"><br />
The RLC (uniform transmission line with series loss only), RC (uniform RC line), LC (lossless transmission<br />
line), and RG (distributed series resistance and parallel conductance only) lines have been implemented. <br />
The length (LEN) must be given. COMPACTREL and COMPACTABS control the compaction of past history values<br />
used in convolution. Larger values for these lower accuracy but improve speed. These are used with the<br />
TRYTOCOMPACT option. </P><br />
<br />
==Magnetic Core (XSPICE)==<br />
<br />
[[File:G42.png]]<br />
<br />
This device is used as a building block to create a wide variety of inductive and magnetic circuit models. It is almost always to be used in conjunction with the "lcouple" model to build up systems which simulate the behavior of linear and nonlinear magnetic components. There are two fundamental modes of operation for the core model. These are the "PWL" mode (which is the default and most<br />
likely to be of use to you) and the "Hysteresis" mode.<br />
<br />
<b>PWL Mode (mode = 1)</b><br />
<br />
In the PWL mode, the model takes a voltage as input which it treats as a magnetomotive force (mmf) value. This value is divided by the total effective length of the core to produce a value for the Magnetic Field Intensity, H, which is then used to find the corresponding Flux Density, B, using the piecewise linear relationship described by you in the H_array / B_array coordinate pairs. B is then multiplied by the cross-sectional area of the core to find the Flux value, which is output as a current. The pertinent mathematical equations are:<br />
<br />
H = mmf / L, where L = Length (in apmere-turns/meter)<br />
<br />
B = f(H)<br />
<br />
&Phi; = B * A, where A = Area<br />
<br />
The B value is derived from a piecewise linear transfer function described to the model by the H_array and B_array coordinate pairs. This transfer function does not include hysteretic effects; for that, you would need to substitute a HYST model for the core. The magnetic flux value &Phi; in turn is used by the "lcouple"<br />
code model to obtain a value for the voltage reflected back across its terminals to the driving electrical circuit.<br />
<br />
<b>Hysteresis Mode (mode = 2)</b><br />
<br />
In the Hysteresis mode, the model takes a voltage as input which it treats as a magnetomotive force (mmf)<br />
value. This value is used as input to the equivalent of a hysteresis code model block. The parameters<br />
defining the input low and high values, the output low and high values, and the amount of hysteresis are<br />
as in that model. The output from this mode, as in PWL mode, is a current value which is seen across the magnetic core port.<br />
<br />
One final note to be made about the two core models is that certain parameters are specific to one or the other. In particular, the in_low, in_high, out_lower_limit, out_upper_limit, and hysteresis parameters are not available in PWL mode. Likewise, the H_array, B_array, area, ad length values are unavailable<br />
in Hysteresis mode. The input_domain and fraction parameters are common to both modes (though their behavior is somewhat different; for explanation of the input_domain and fraction values for the Hysteresis mode, please refer to the Hysteresis Block discussion.<br />
<br />
Model Identifier: core<br />
<br />
Netlist Format:<br />
<br />
A&lt;device_name&gt; &lt;mc1 _pin&gt; &lt;mc2_pin&gt; &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; core area = &lt;value&gt; length = &lt;value&gt; H_array = [&lt;value1&gt; &lt;value2&gt;] B_array = [&lt;value1&gt; &lt;value2&gt;]<br />
{&lt;param1 = value&gt; &lt; param2 = value&gt; ...}<br />
<br />
Example:<br />
<br />
A1 1 2 core<br />
<br />
.model core core area = 1 length = 1 H_array = [0 1] B_array = [0 1] <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!Name!!Description!!Default!!Notes<br />
|-<br />
|H_array||magnetic field array||[0 1]||required<br />
|-<br />
|B_array||flux density array||[0 1]||required<br />
|-<br />
|Area||cross-sectional area||1||required<br />
|-<br />
|Length||core length||1||required<br />
|-<br />
|Input_domain||input smoothing domain||0.01|| <br />
|-<br />
|Fraction||smoothing fraction/abs switch||True|| <br />
|-<br />
|Mode||mode switch (1=pwl, 2=hyst)||1|| <br />
|-<br />
|In_low||input low value||0.0|| <br />
|-<br />
|In_high||input high value||1.0|| <br />
|-<br />
|Hyst||hysteresis||0.1|| <br />
|-<br />
|Out_lower_limit||output lower limit||0.0|| <br />
|-<br />
|Out_upper_limit||output upper limit||1.0|| <br />
|-<br />
|}<br />
<br />
==Marker==<br />
<br />
[[File:G16.png]]<br />
<br />
The marker serves several purposes:<br />
<br />
* It can appear as a default plot in simulations if the &quot;Voltage Probe&quot; box is checked.<br />
<br />
* It can be used to set the initial voltage or voltage guess at the node it is connected to.<br />
<br />
* It can be used as a port for a subcircuit when you choose the checkbox labeled "Use as Subcircuit Port" is checked.<br />
<br />
* It can be used to explicitly set a node number in place of the arbitrarily assigned node number by the program. In this case, make sure the &quot;Set Node Index&quot; box is checked. Otherwise, it will act as just a voltage probe.<br />
<br />
* It can be used to connect different parts of a circuit in place of wires. To use markers as virtual connectors, place them at points where wires would otherwise connect. Then set the Part Title of the two (or more) markers to the same name, and they will act as a single circuit node.<br />
<br />
==MESFET==<br />
<br />
[[File:G14.png]]<br />
<br />
The MESFET is a Schottky-barrier gate FET with six times greater electron mobility than silicon. MESFETs are important devices for creating high frequency circuits. They function by creating a potential barrier between the gate and the channel when the metal gate<br />
contacts the gallium-arsenide substrate. Electron velocity saturates for fields approximately ten times lower than with silicon. The Curtice model includes linear and saturated operation.<br />
<br />
The standard parameters are AREA, OFF, IC, and T. They are described below:<br />
<br />
{| class="wikitable"<br />
|-<br />
|AREA||area factor (optional) (If not specified, the default value is 1.0.)<br />
|-<br />
|OFF||initial condition for the DC analysis (optional)<br />
|-<br />
|IC||initial condition (optional) (Used when a transient analysis is desired, which starts from other than the quiescent operating point.)<br />
|-<br />
|T||operating temperature of the device (optional)<br />
|-<br />
|}<br />
<br />
All the MESFET process model parameters are described in the following table:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!EXAMPLE<br />
|-<br />
|VTO||pinch-off voltage||V||-2||-2<br />
|-<br />
|BETA||transconductance parameter||A/V2||1.0e-4||1.0e-3<br />
|-<br />
|B||doping tail extending parameter||1/V||0.3||0.3<br />
|-<br />
|ALPHA||saturation voltage parameter||1/V||2||2<br />
|-<br />
|LAMBDA||channel-length modulation parameter||1/V||0||1.0e-4<br />
|-<br />
|RD||drain ohmic resistance||Ohm||0||100<br />
|-<br />
|RS||source ohmic resistance||Ohm||0||100<br />
|-<br />
|CGS||zero-bias G-S junction capacitance||F||0||5pF<br />
|-<br />
|CGD||zero-bias G-D junction capacitance||F||0||1pF<br />
|-<br />
|PB||gate junction potential||V||1||0.6<br />
|-<br />
|KF||flicker noise coefficient||-||0|| <br />
|-<br />
|AF||flicker noise exponent||-||1|| <br />
|-<br />
|FC||coefficient for forward-bias depletion capacitance formula||-||0.5|| <br />
|-<br />
|}<br />
<br />
==MOSFET==<br />
<br />
[[File:G13.png]]<br />
<br />
The MOSFET is an active device that has up to 4 pins. The three standard pins are gate, drain, and source. These are given in the default symbol. The bulk node, which is grounded by default, is the fourth pin. The MOSFET with the bulk is named mos_n_lvl1_4 (the lvl1 is for level 1, the n for nmos, and the 4 for 4 pins.)<br />
<br />
The standard [[parameters]] are L, W, AD, AS, PD, PS, NRD, NRS, OFF, IC, and T. They are described below:<br />
<br />
{| class="wikitable"<br />
|-<br />
|L||channel length, in meters<br />
|-<br />
|W||channel width, in meters<br />
|-<br />
|AD,AS||areas of the drain and source diffusions, in meters2<br />
|-<br />
|PD,PS||perimeters of drain and source junctions, in meters(They default to 0.0.)<br />
|-<br />
|NRD,NRS||equivalent number of squares of the drain and source diffusions (These values multiply the sheet resistance for an accurate representation of parasitic series drain and source resistance of each transistor. The default value is 1.0.)<br />
|-<br />
|OFF||initial condition for the DC analysis (optional)<br />
|-<br />
|IC||initial condition (optional) (Used when a transient analysis is desired, which starts from other than the quiescent operating point.)<br />
|-<br />
|T||operating temperature of the device (optional)<br />
|-<br />
|}<br />
<br />
There are five different default models: square-law I-V characteristic, analytical, semi-empirical, and BSIM and BSIM2 (Berkeley Short-channel IGFET Model), which include second-order effects such as channel-length<br />
modulation, subthreshold conduction, scattering-limited velocity saturation, small-size effects, and charge-controlled capacitance. The process parameter LEVEL specifies which of the models is chosen as indicated below:<br />
<br />
{| class="wikitable"<br />
|-<br />
|LEVEL 1||Schichman-Hodges<br />
|-<br />
|LEVEL 2||MOS2<br />
|-<br />
|LEVEL 3||MOS3<br />
|-<br />
|LEVEL 4||BSIM<br />
|-<br />
|LEVEL 5||BSIM2<br />
|-<br />
|LEVEL 6||MOS6<br />
|-<br />
|}<br />
<br />
The process model [[parameters]] for levels 1,2,3, and 6 are listed in the following table:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!EXAMPLE<br />
|-<br />
|LEVEL||model index|| ||1|| <br />
|-<br />
|VTO||zero-bias threshold voltage||V||0.0||1.0<br />
|-<br />
|KP||transconductance parameter||A/V2||2e-5||3.1e-5<br />
|-<br />
|GAMMA||bulk threshold parameter||V1/2||0.0||0.37<br />
|-<br />
|PHI||surface potential||V||0.6||0.65<br />
|-<br />
|LAMBDA||channel-length modulation (level 1 & 2 only)||1/V||0.0||0.02<br />
|-<br />
|RD||drain ohmic resistance||ohms||0.0||1.0<br />
|-<br />
|RS||source ohmic resistance||ohms||0.0||1.0<br />
|-<br />
|CBD||zero-bias B-D junction capacitance||F||0.0||20fF<br />
|-<br />
|CBS||zero-bias B-S junction capacitance||F||0.0||20fF<br />
|-<br />
|IS||bulk junction saturation current||A||1.0e-14||1.0e-15<br />
|-<br />
|PB||bulk junction potential||V||0.8||0.87<br />
|-<br />
|CGSO||gate-source overlap capacitance per meter channel width||F/m||0.0||4.0e-11<br />
|-<br />
|CGDO||gate-drain overlap capacitance per meter channel width||F/m||0.0||4.0e-11<br />
|-<br />
|CGBO||gate-bulk overlap capacitance per meter channel length||F/m||0.0||2e-10<br />
|-<br />
|RSH||drain & source diffusion sheet resistance||ohm/area||0.0||10.0<br />
|-<br />
|CJ||zero-bias bulk junction bottom capacitance per meter2 junction area||F/m2||0.0||2e-4<br />
|-<br />
|MJ||bulk junction bottom grading coefficient|| ||0.5||0.5<br />
|-<br />
|CJSW||zero-bias bulk junction sidewall capacitance per meter junction perimeter||F/m||0.0||1.0e-9<br />
|-<br />
|MJSW||bulk junction sidewall grading coefficient|| ||0.5, 0.33 (level1), (level2,3)|| <br />
|-<br />
|JS||bulk junction saturation current per meter2 of junction area||A/m2|| ||1.0e-8<br />
|-<br />
|TOX||oxide thickness||meter||1.0e-7||1.0e-7<br />
|-<br />
|NSUB||substrate doping||1/cm3||0.0||4.0e15<br />
|-<br />
|NSS||surface state density||1/cm2||0.0||1.0e10<br />
|-<br />
|NFS||fast surface state density||1/cm2||0.0||1.0e10<br />
|-<br />
|TPG||type gate material(+1 if opp. substrate, 0 if A1 gate, -1 if same as substrate)|| ||1.0|| <br />
|-<br />
|XJ||metallurgical junction depth||meter||0.0||1<br />
|-<br />
|LD||lateral diffusion||meter||0.0||0.8<br />
|-<br />
|UO||surface mobility||cm2/Vs||600||700<br />
|-<br />
|UCRIT||critical field for mobility degradation (level2 only)||V/cm||1.0e4||1.0e4<br />
|-<br />
|UEXP||critical field exponent in mobility degradation (level2 only)|| ||0.0||0.1<br />
|-<br />
|UTRA||transverse field coefficient (deleted for level2)|| ||0.0||0.3<br />
|-<br />
|VMAX||maximum drift velocity of carriers||m/s||0.0||5.0e4<br />
|-<br />
|NEFF||total channel-charge (fixed and mobile) coefficient (level2 only)|| ||1.0||5.0<br />
|-<br />
|KF||flicker noise coefficient|| ||0.0||1.0e-26<br />
|-<br />
|AF||flicker noise exponent|| ||1.0||1.2<br />
|-<br />
|FC||coefficient for forward bias depletion capacitance formula|| ||0.5|| <br />
|-<br />
|DELTA||width effect on threshold voltage (level2,3)|| ||0.0||1.0<br />
|-<br />
|THETA||mobility modulation (level3 only)||1/V||0.0||0.1<br />
|-<br />
|ETA||static feedback (level3 only)|| ||0.0||1.0<br />
|-<br />
|KAPPA||saturation field factor (level3 only)|| ||0.2||0.5<br />
|-<br />
|TNOM||parameter measurement temperature||deg. C||27||50<br />
|-<br />
|}<br />
<br />
The BSIM model has no default parameters, and leaving one out is considered an error. The additional process model parameters for level 4 and 5 models are listed in the following table:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS<br />
|-<br />
|VFB||flat-band voltage||V<br />
|-<br />
|PHI||surface inversion potential||V<br />
|-<br />
|K1||body effect coefficient||V1/2<br />
|-<br />
|K2||drain/source depletion charge-sharing coefficient|| <br />
|-<br />
|ETA||zero-bias drain-induced barrier-lowering coefficient|| <br />
|-<br />
|MUZ||zero-bias mobility||cm2/V-s<br />
|-<br />
|DL||shortening of channel||m<br />
|-<br />
|DW||narrowing of channel||m<br />
|-<br />
|U0||zero-bias transverse-field mobility degradation coefficient||V-1<br />
|-<br />
|U1||zero-bias velocity saturation coefficient||m/V<br />
|-<br />
|X2MZ||sens. of mobility to substrate bias at Vds=0||cm2/V2-s<br />
|-<br />
|X2E||sens. of drain-induced barrier lowering effect to substrate bias||V-1<br />
|-<br />
|X3E||sens. of drain-induced barrier lowering effect to drain bias at Vds= Vdd||V-1<br />
|-<br />
|X2U0||sens. of transverse field mobility degradation to substrate bias||V-2<br />
|-<br />
|X2U1||sens. of velocity saturation effect to substrate bias||mV-2<br />
|-<br />
|MUS||mobility at zero substrate bias and at Vds= Vdd||cm2/V2-s<br />
|-<br />
|X2MS||sens. of mobility to substrate bias at Vds= Vdd||cm2/V2-s<br />
|-<br />
|X3MS||sens. of mobility to drain bias at Vds= Vdd||cm2/V2-s<br />
|-<br />
|X3U1||sens. of velocity saturation effect on drain bias at Vds= Vdd||mV-2<br />
|-<br />
|TOX||gate oxide thickness||m<br />
|-<br />
|TEMP||temperature at which [[parameters]] were measured||deg. C<br />
|-<br />
|VDD||measurement bias range||V<br />
|-<br />
|CGDO||gate-drain overlap capacitance per meter channel width||F/m<br />
|-<br />
|CGSO||gate-source overlap capacitance per meter channel width||F/m<br />
|-<br />
|CGBO||gate-bulk overlap capacitance per meter channel length||F/m<br />
|-<br />
|XPART||gate-oxide capacitance-charge model flag|| <br />
|-<br />
|N0||zero-bias subthreshold slope coefficient|| <br />
|-<br />
|NB||sens. of subthreshold slope to substrate bias|| <br />
|-<br />
|ND||sens. of subthreshold slope to drain bias|| <br />
|-<br />
|RSH||drain and source diffusion sheet resistance||ohms/area<br />
|-<br />
|JS||source drain junction current density||A/m2<br />
|-<br />
|PB||built-in potential of source drain junction||V<br />
|-<br />
|MJ||grading coefficient of source drain junction|| <br />
|-<br />
|PBSW||built-in potential of source drain junction sidewall||V<br />
|-<br />
|MJSW||grading coefficient of source drain junction sidewall|| <br />
|-<br />
|CJ||source drain junction capacitance per unit area||F/ m2<br />
|-<br />
|CJSW||source drain junction sidewall capacitance per unit length||F/m<br />
|-<br />
|WDF||source drain junction default width||m<br />
|-<br />
|DELL||source drain junction length reduction||m<br />
|-<br />
|}<br />
<br />
XPART=0 selects a 40/60 drain/source charge partition; XPART=1 selects a 0/100 partition.<br />
<br />
==Mutual Inductors==<br />
<br />
[[File:GK100.png]]<br />
<br />
The mutual inductors device is a pair of inductors that are coupled to each other. L1 and L2 are the names of two inductors. You have to specify the inductance of inductor L1, the inductance of inductor L2, the initial current through each, and the coupling coefficient k, 0 &le; k &le; 1. The mutual inductance M expressed in units of H can be calculated using the following definition:<br />
<br />
<math> k = \frac{M}{\sqrt{L_1 L_2}} </math><br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|inductance1||inductance of inductor 1||H||1||<br />
|-<br />
|inductance2||inductance of inductor 2||H||1||<br />
|-<br />
|ic1||initial current through inductor 1||A||0||<br />
|-<br />
|ic2||initial current through inductor 2||A||0||<br />
|-<br />
|k||coefficient of coupling||-||1.0||<br />
|-<br />
|}<br />
<br />
==Non-Ideal Current Transformer==<br />
<br />
[[File:GK104.png]]<br />
<br />
This 8-pin device models a non-ideal lossy current transformer. Its model consists of an ideal transformer with more secondary turns than primary turns along with a number of parasitic elements. The interior pins with red wires give you direct access to the primary and secondary pins of the internal ideal transformer. on each side of the internal ideal transformer, there is a series leakage inductance LL<sub>k</sub>, followed by a shunt winding capacitance CW<sub>k</sub> and a series winding resistance RW<sub>k</sub>, which connects to the exterior positive pin on that side. The inter-winding resistance R<sub>12</sub> is connected across the negative pins of the primary and secondary of the ideal transformer model. In a more complete model, an external inductor LM can be connected between the positive and negative interior pins of either the primary or secondary to account for the effects of the magnetization inductance. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|ratio||secondary-to-primary turns ratio||-||2||required<br />
|-<br />
|rw1||primary winding resistance||Ohms||0.1||<br />
|-<br />
|rw2||secondary winding resistance||Ohms||0.1||<br />
|-<br />
|ll1||primary leakage inductance||H||1m||<br />
|-<br />
|ll2||secondary leakage inductance||H||1m||<br />
|-<br />
|cw1||primary winding capacitance||F||1p||<br />
|-<br />
|cw2||secondary winding capacitance||F||1p||<br />
|-<br />
|r12||inter-winding resistance||Ohms||10Meg||<br />
|-<br />
|}<br />
<br />
==Non-Ideal Diode==<br />
<br />
[[File:G9.png]]<br />
<br />
This 2-pin device is a basic simplified model of a diode as a rectifier or switch. When forward-biased, it acts as a low-valued voltage source. When reverse-biased, it acts as an open circuit until the reverse voltage exceeds the specified breakdown voltage. Then it acts as a high-valued voltage source of the reverse polarity. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|vf||forward drop voltage||V||0.5||required<br />
|-<br />
|vr||reverse breakdown voltage||V||100||required<br />
|-<br />
|}<br />
<br />
==Non-Ideal Voltage Transformer==<br />
<br />
[[File:GK103.png]]<br />
<br />
This 8-pin device models a non-ideal lossy voltage transformer. Its model consists of an ideal transformer with more primary turns than secondary turns along with a number of parasitic elements. The interior pins with red wires give you direct access to the primary and secondary pins of the internal ideal transformer. There are series combinations of a winding resistance RW<sub>k</sub> and a leakage inductance LL<sub>k</sub> on the primary and secondary sides. These are connected between the positive interior and exterior pins on each side. There are also two shunt branches at the inputs of the primary and secondary sides (connected between the positive and negative exterior pins), each consisting of a distributed turn-to-turn winding resistance RDC<sub>k</sub> in series with a distributed turn-to-turn winding capacitance CW<sub>k</sub>. The inter-winding capacitance CWW<sub>12</sub> is connected across the positive pins of the primary and secondary of the ideal transformer model. In a more complete model, an external inductor LM can be connected between the positive and negative interior pins of either the primary or secondary to account for the effects of the magnetization inductance. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|ratio||primary-to-secondary turns ratio||-||2||required<br />
|-<br />
|rw1||primary winding resistance||Ohms||0.1||<br />
|-<br />
|rw2||secondary winding resistance||Ohms||0.1||<br />
|-<br />
|ll1||primary winding leakage inductance||H||1m||<br />
|-<br />
|ll2||secondary winding leakage inductance||H||1m||<br />
|-<br />
|rdc1||primary distributed turn-to-turn winding resistance||Ohms||1u||<br />
|-<br />
|cw1||primary distributed turn-to-turn winding capacitance||F||1p||<br />
|-<br />
|rdc2||secondary distributed turn-to-turn winding resistance||Ohms||1u||<br />
|-<br />
|cw2||secondary distributed turn-to-turn winding capacitance||F||1p||<br />
|-<br />
|cww12||inter-winding capacitance||F||1p||<br />
|-<br />
|}<br />
<br />
==Nonlinear Capacitor==<br />
<br />
[[File:GK89.png]]<br />
<br />
The nonlinear capacitor model allows the capacitor to be described by an arbitrary relationship between the capacitor's charge Q and the voltage V across the capacitor. In other words, Q = f(V). The nonlinear capacitance is then defined as C(V) = dQ/dV. You need to define the charge Q by a mathematical expression in the voltage V. You have to open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. Enter any mathematical expression in the variable "v(pos,neg)" standing for the terminal voltage. The default expression is:<br />
<br />
{ C_DEF } * v(pos,neg)<br />
<br />
which implies a linear capacitor, where Q = C<sub>DEF</sub> V. Therefore, C = C(V) = dQ/dV = C<sub>DEF</sub>.<br />
<br />
Another example is 1e-4*(v(pos,neg))^2.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|C_DEF||default capacitance||F||1||<br />
|-<br />
|}<br />
<br />
==Nonlinear Conductor==<br />
<br />
[[File:GK88.png]]<br />
<br />
The nonlinear conductor model allows the conductor to be described by an arbitrary relationship between the conductor's current I and the voltage V across the conductor. In other words, I = f(V). The nonlinear conductance is then defined as G(V) = dI/dV. You need to define the current I by a mathematical expression in the voltage V. You have to open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. Enter any mathematical expression in the variable "v(pos,neg)" standing for the terminal voltage. The default expression is:<br />
<br />
{ G_DEF } * v(pos,neg)<br />
<br />
which implies a linear conductor, where I = G<sub>DEF</sub> V. Therefore, G = G(V) = dI/dV = G<sub>DEF</sub>.<br />
<br />
Another example is 1e-4*(v(pos,neg))^2.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|G_DEF||default capacitance||S||1||<br />
|-<br />
|}<br />
<br />
==Nonlinear Dependent Sources==<br />
<br />
[[File:G18.png]]<br />
<br />
Nonlinear dependent (arbitrary) sources use an equation or mathematical expression to describe their behavior. One and only one of the two forms: V=&lt;expr&gt; or I=&lt;expr&gt; must be given.<br />
<br />
Netlist Format:<br />
<br />
B<device_name> v = <expression><br />
<br />
B<device_name> i = <expression><br />
<br />
Examples: <br />
<br />
v = I(v1) + 3* I(v2)<br />
<br />
I = v(i1) + 3* v(2) + 5 * v(3) ^2<br />
<br />
The first example is a current-controlled voltage source. The v on the left side of the equation<br />
indicates that it is a voltage source. I(v1) and I(v2) are the currents through voltage sources named v1 and v2, respectively.<br />
<br />
The second example is a voltage-controlled current source. v(2) and v(3) represents the voltages at nodes 2 and 3, respectively, and v(i1) represents the voltage across a current source named i1.<br />
<br />
The following mathematical functions defined for real variables can be used in the expressions:<br />
<br />
abs(x), acos(x), acosh(x), asin(x), asinh(x), atan(x), atanh(x), cos(x), cosh(x), exp(x), ln(x), log(x), max(x,y), min(x,y), pwr(x,y), pwrs(x,y), sgn(x), sin(x), sinh(x), sqrt(x), tan(x), tanh(x), u(x), uramp(x).<br />
<br />
The function &quot;sgn&quot; is the signum function and its value is 1 if the argument is positive or zero and -1 if the argument is negative. <br />
The function &quot;u(x)&quot; is the unit step and &quot;uramp(x)&quot; is the integral of the unit step. The<br />
unit step is one if its argument is greater than zero and zero if its argument is less than zero. The<br />
ramp function (uramp) is 0 for argument values less than zero and equal to the argument for argument values<br />
greater than zero.<br />
<br />
The following operators are permissible: +, -, *, /, and ^.<br />
<br />
The power functions have equivalent expressions: pwr(x,y) = x^y and pwrs(x,y) = sgn(x)*abs(x)^y.<br />
<br />
Two constants can also be used in expressions: pi = 3.1415926 and e = 2.7182818.<br />
<br />
There is a conditional function with the syntax IF(Condition, Expression1, Expression2). If "Condition" is met, then the return value of the function is Expression1; otherwise, it is Expression2. An example of this type of function is IF(v(1)>=0,1,-1), which is equivalent to sgn(v(1)). <br />
<br />
To get time into an expression, integrate the current from a constant current source with a capacitor<br />
and use the voltage across the capacitor.<br />
<br />
Note: All the functions and expressions are case-insensitive.<br />
<br />
==Nonlinear Inductor==<br />
<br />
[[File:GK90.png]]<br />
<br />
The nonlinear inductor model allows the inductor to be described by an arbitrary relationship between the inductor's magnetic flux &Phi; and the current I flowing through the inductor . In other words, &Phi; = f(I). The nonlinear inductance is then defined as L(I) = d&Phi;/dI. You need to define the flux &Phi; by a mathematical expression in the current I. You have to open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. Enter any mathematical expression in the variable "i(vx)" standing for the device current. The default expression is:<br />
<br />
{ L_DEF } * i(vx)<br />
<br />
which implies a linear inductor, where &Phi; = L<sub>DEF</sub> I. Therefore, L = L(I) = d&Phi;/dI = L<sub>DEF</sub>. <br />
<br />
Another example is 1e-4*(i(vx))^2.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|L_DEF||default inductance||H||1||<br />
|-<br />
|}<br />
<br />
==Nonlinear Resistor==<br />
<br />
[[File:GK87.png]]<br />
<br />
The nonlinear resistor model allows the resistor to be described by an arbitrary relationship between the voltage V across the resistor and its current I. In other words, V = f(I). The nonlinear resistance is then defined as R(I) = dV/dI. You need to define the voltage V by a mathematical expression in the current I. You have to open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. Enter any mathematical expression in the variable "i(vx)" standing for the device current. The default expression is:<br />
<br />
{ R_DEF } * i(vx)<br />
<br />
which implies a linear resistor, where V = R<sub>DEF</sub> I. Therefore, R = R(I) = dV/dI = R<sub>DEF</sub>.<br />
<br />
Another example is 10*(i(vx))^2.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|R_DEF||default resistance||&Omega;||1||<br />
|-<br />
|}<br />
<br />
==Operational Amplifier (Op-Amp)==<br />
<br />
[[File:GK105.png]]<br />
<br />
This three-pin device models a parameterized operational amplifier with a very high voltage gain, a very high input impedance and a very low output impedance. The behavioral model of the parameterized Op-Amp device is based on the algorithm found in the book <B>Macromodeling with Spice</B>,<br />
authored by Connelly &amp; Choi, published by Prentice Hall. The default parameters are those of the 741 Op-Amp. This device doesn't require external DC bias voltage sources. Its positive and negative DC bias voltages are specified as its parameters. Sometimes the simulation doesn't converge if there is no DC path from the output of the Op-Amp to the ground.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|r_in_dm||differential mode input resistance||Ohms||2Meg||<br />
|-<br />
|r_in_cm||common mode input resistance||Ohms||2G||<br />
|-<br />
|Avd0||differential mode DC gain||dB||106||<br />
|-<br />
|CMRR||common mode rejection ratio||dB||90||<br />
|-<br />
|r_out||output resistance||Ohms||75||<br />
|-<br />
|c_in||input capacitance||F||1.4p||<br />
|-<br />
|ios||input offset current||A||20n||<br />
|-<br />
|ib||input bias current||A||80n||<br />
|-<br />
|vio||input offset voltage||V||1m||<br />
|-<br />
|slew_pos||positive slew rate||V/s||0.5e6||<br />
|-<br />
|slew_neg||negative slew rate||V/s||0.5e6||<br />
|-<br />
|curr_src_max||maximum output source current||A||25m||<br />
|-<br />
|curr_sink_||maximum output sink current||A25m||<br />
|-<br />
|fp1||dominant pole frequency||Hz||5||<br />
|-<br />
|fp2||second pole frequency||Hz||2Meg||<br />
|-<br />
|fp3||third pole frequency||Hz||20Meg||<br />
|-<br />
|fp4||fourth pole frequency||Hz||100Meg||<br />
|-<br />
|fz||first zero frequency||Hz||5Meg||<br />
|-<br />
|vcc_pos||positive dc voltage source||V||12||<br />
|-<br />
|vcc_neg||negative dc voltage source||V||12||<br />
|-<br />
|}<br />
<br />
== Optocoupler ==<br />
<br />
[[File:GK115.png]]<br />
<br />
This is a five-pin parameterized optocoupler device. Its model consists of an ideal diode device in series with an Ohmic resistance connected between the Anode (A) and Cathode (K) pins together with a bipolar junction transistor device with three accessible pins, Collector (C), Base (B) and Emitter (E). A current-controlled current source is connected between base and collector of the BJT, whose current is controlled by the current passing through the diode. The proportionality constant is twice the specified value of the current transfer ratio (ctr) parameter. <br />
<br />
You can change or enhance the models of the diode and BJT by adding more parameters. To do so, you have to open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|ctr||current transfer ratio||-||0.5||<br />
|-<br />
|rd||diode ohmic resistance||Ohms||0.1||<br />
|-<br />
|}<br />
<br />
== Overtone Crystal ==<br />
<br />
[[File:GK79.png]]<br />
<br />
This is a 2-pin parameterized overtone crystal device. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|LM||fundamental motional inductance||H||250m||<br />
|-<br />
|CM1||fundamental motional capacitance||F||10f||<br />
|-<br />
|RM1||fundamental motional resistance||Ohms||20||<br />
|-<br />
|RM3||3rd overtone motional resistance||Ohms||50||<br />
|-<br />
|RM5||5th overtone motional resistance||Ohms||100||<br />
|-<br />
|RM7||7th overtone motional resistance||Ohms||150||<br />
|-<br />
|C0||shunt capacitance||F||3p||<br />
|-<br />
|}<br />
<br />
== Photodiode ==<br />
<br />
[[File:GK113.png]]<br />
<br />
This is a 4-pin parameterized photodiode device. A pair of pins, Anode (A) and Cathode (K), represent the physical terminals of the photodiode. The photodiode model connected between the anode and cathode pins consists of the parallel connection of an ideal diode, a dark current source, a noise current source, a current-controlled current source, a diode capacitance, a shunt resistance altogether with a series resistance. <br />
<br />
Another pair of pins IS+ and IS- act as an ammeter that must be inserted in a control circuit. The current passing through this ammeter controls the current of the photodiode. The default proportionality constant is unity. The controlling current is typically a function of light intensity incident on the surface of the photodiode. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|id||dark current||A||1n||<br />
|-<br />
|ir||noise current||A||1p||<br />
|-<br />
|cd||diode capacitance||F||10p||<br />
|-<br />
|rs||series resistance||Ohms||1m||<br />
|-<br />
|rp||parallel resistance||Ohms||1Meg||<br />
|-<br />
|}<br />
<br />
==Piecewise Linear (PWL) Controlled Source==<br />
<br />
[[File:GL49.png]]<br />
<br />
The Piecewise Linear (PWL) Controlled Source is a single-input and single-output function generator whose output is not necessarily<br />
linear for all input values. Instead, it follows an I/O relationship that is specified by the x_array and y_array coordinates. The x_array and y_array values represent vectors of coordinate points on the x and y axes, respectively. The x_array values are progressively increasing input coordinate points, and the associated y_array values represent the outputs at those points. There may be as few as two pairs specified, or as many as memory and simulation speed allow.<br />
<br />
In order to fully specify outputs for values of Vin outside of the bounds of the PWL function, the PWL<br />
controlled source model extends the slope found between the lowest two coordinate pairs and the highest<br />
two coordinate pairs. This has the effect of making the transfer function completely linear for Vin<br />
less than x_array[0] and Vin greater than x_array[n]. It also has the potentially subtle effect of unrealistically<br />
causing an output to reach a very large or small value for large inputs. You should thus keep in mind<br />
that the PWL Source does not inherently provide a limiting capability.<br />
<br />
In order to diminish the potential for divergence of simulations when using the PWL block, a form<br />
of smoothing around the x_array and y_array coordinate points is necessary. This is due to the iterative<br />
nature of the simulator and its reliance on smooth first derivatives of transfer functions in order to<br />
arrive at a matrix solution. Consequently, the two parameters "input_domain" and "fraction" are included<br />
to allow you some control over the amount and nature o the smoothing performed.<br />
<br />
Fraction is a switch that is either TRUE or FALSE. When TRUE (the default setting), the simulator assumes<br />
that the specified input_domain value is to be interpreted as a fractional figure. Otherwise, it is interpreted<br />
as an absolute value. Thus, if fraction = TRUE and input_domain = 0.10, the simulator assumes that the smoothing<br />
radius about each coordinate point is to be set equal to 10% of the length of either the x_array segment<br />
above each coordinate point, or the x_array segment below each coordinate point. The specific segment<br />
length chosen will be the smallest of these two for each coordinate point.<br />
<br />
If fraction = FALSE and input_domain = 0.10, then the simulator will begin smoothing the transfer function at 0.10<br />
volts (or amperes) below each x_array coordinate and will continue the smoothing process for another 0.10<br />
volts (or amperes) above each x_array coordinate point.<br />
<br />
Model Identifier: pwl<br />
<br />
Netlist Format:<br />
<br />
A&lt;device_name&gt; %vd(&lt;in_pin&gt; &lt;in_ref_pin&gt;) %vd(&lt;out_pin&gt; &lt;out_ref_pin&gt;) &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; pwl x_array = [&lt;value1&gt; &lt;value2&gt; ...] y_array = [&lt;value1&gt;<br />
&lt;value2&gt; ...] {&lt;param1 = value&gt; &lt; param2 = value&gt; ...}<br />
<br />
Example:<br />
<br />
A1 %vd(2 3) %vd(1 4) pwl<br />
.model pwl pwl x_array = [0 1] y_array = [0 1]<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|x_array||x-element array||V||[0 1]||required<br />
|-<br />
|y_array||y-element array||V||[0 1]||required<br />
|-<br />
|input_domain||input smoothing domain||-||0.01|| <br />
|-<br />
|fraction||smoothing %/abs switch||-||True|| <br />
|-<br />
|}<br />
<br />
== PM Modulated Source ==<br />
<br />
[[File:GL25.png]]<br />
<br />
This is a voltage source with a single-tone phase modulated waveform. The PM modulation index MDI is defined as the ratio of maximum phase deviation to maximum signal amplitude. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|V0||offset||V||0||<br />
|-<br />
|VA||amplitude||V||1||<br />
|-<br />
|FC||carrier frequency ||Hz||1||required<br />
|-<br />
|MDI||modulation index||-||0||required<br />
|-<br />
|FS||signal frequency ||Hz||1||required<br />
|-<br />
|}<br />
<br />
== Potentiometer ==<br />
<br />
[[File:GK77.png]]<br />
<br />
This is a 3-pin device that models a potentiometer with options for either linear or logarithmic resistance. position = 0 corresponds to the wiper being at the extreme left and position = 1 corresponds to the wiper being at the extreme right. With the default position = 0.5 corresponding to the midpoint, this device functions as a one-half voltage divider.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|position||position of wiper connection||-||0.5||Must be between 0.0 and 1.0.<br />
|-<br />
|log||log-linear switch||-||False||Select False for linear and True for logarithmic.<br />
|-<br />
|r||total resistance||Ohms||0.1u||<br />
|-<br />
|log_multiplier||multiplier constant for log resistance||-||1.0||<br />
|-<br />
|}<br />
<br />
== Programmable Unijunction Transistor (PUT)==<br />
<br />
[[File:GK112.png]]<br />
<br />
This is a 3-pin parameterized Programmable Unijunction Transistor (PUT) device with three pins: Base 1 (B1), Base 2 (B2) and Emitter (E). It is biased with a positive voltage between the two bases. This device has a unique characteristic that when it is triggered, its emitter current increases regeneratively until it is restricted by emitter power supply. It exhibits a negative resistance characteristic and so it can be employed as an oscillator. The device's model involves an NPN BJT and a PNP BJT. The forward beta parameters of the two transistors are set equal to 100 and 1, respectively. To change these values, open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|eta||-||-||0.6||<br />
|-<br />
|rbb||total base-to-base resistance||Ohms||40k||<br />
|-<br />
|rf||forward resistance||Ohms||1Meg||<br />
|-<br />
|rr||reverse resistance||Ohms||1Meg||<br />
|-<br />
|rgk||gate-to-cathode resistance||Ohms||100||<br />
|-<br />
|bvf||breakdown voltage of forward diode||V||100||<br />
|-<br />
|bvr||breakdown voltage of reverse diode||V||100||<br />
|-<br />
|bvgk||breakdown voltage of gate-to-cathode diode||V||5||<br />
|-<br />
|}<br />
<br />
==Random Resistor==<br />
<br />
[[File:GK93.png]]<br />
<br />
The random resistor device models a resistor whose resistance is a random number between 0 and a maximum specified value. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|max_val||maximum resistance value||&Omega;||1k||<br />
|-<br />
|}<br />
<br />
==Real Capacitor==<br />
<br />
[[File:GK117.png]]<br />
<br />
This is primarily a non-ideal, temperature-dependent capacitor model. You can access it from the Parts Menu as '''User-Defined Capacitor'''. It has two temperature coefficients: first-order TC1 temperature and second-order TC2. The value of the temperature-dependent capacitance is computed using the quadratic equation:<br />
<br />
C(T) = C(T0) * [ 1 + TC1 * (T - T0) + TC2 * (T-T0)^2 ]<br />
<br />
The device's model includes a series resistance and a series inductance together with the capacitor, all in parallel with a shunt resistance.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|Resr||series resistance||&Omega;||10||<br />
|-<br />
|Ls||inductance||H||1p||<br />
|-<br />
|C||capacitance||F||1n||<br />
|-<br />
|Rp||parallel resistance||&Omega;||1G||<br />
|-<br />
|ic||voltage initial condition||V||0||<br />
|-<br />
|temp||operating temperature||deg C||27||<br />
|-<br />
|tc1||first-order temperature coefficient||F/&deg;C||0.1||<br />
|-<br />
|tc2||second-order temperature coefficient||F/&deg;C<sup>2</sup>||0.01||<br />
|-<br />
|}<br />
<br />
==Real Inductor==<br />
<br />
[[File:GK118.png]]<br />
<br />
This is primarily a non-ideal inductor model. You can access it from the Parts Menu as '''User-Defined Inductor'''. Its series resistor has two temperature coefficients: first-order TC1 temperature and second-order TC2. The value of the temperature-dependent resistance is computed using the quadratic equation:<br />
<br />
R(T) = R(T0) * [ 1 + TC1 * (T - T0) + TC2 * (T-T0)^2 ]<br />
<br />
The device's model includes a series resistance together with the inductor, and the combination in parallel with a shunt capacitance.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|Rdc||series resistance||&Omega;||10||<br />
|-<br />
|L||inductance||H||1||<br />
|-<br />
|Cp||capacitance||F||1p||<br />
|-<br />
|ic||current initial condition||A||0||<br />
|-<br />
|temp||operating temperature||deg C||27||<br />
|-<br />
|tc1||first-order temperature coefficient||&Omega;/&deg;C||0.1||<br />
|-<br />
|tc2||second-order temperature coefficient||&Omega;/&deg;C<sup>2</sup>||0.01||<br />
|-<br />
|}<br />
<br />
==Real Resistor==<br />
<br />
[[File:GK116.png]]<br />
<br />
This is primarily a non-ideal, temperature-dependent resistor model. You can access it from the Parts Menu as '''User-Defined Resistor'''. It has two temperature coefficients: first-order TC1 temperature and second-order TC2. The value of the temperature-dependent resistance is computed using the quadratic equation:<br />
<br />
R(T) = R(T0) * [ 1 + TC1 * (T - T0) + TC2 * (T-T0)^2 ]<br />
<br />
The device's model includes a series inductance together with the resistor. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|R||resistance||&Omega;||1k||<br />
|-<br />
|Ls||inductance||H||1n||<br />
|-<br />
|temp||operating temperature||deg C||27||<br />
|-<br />
|tc1||first-order temperature coefficient||&Omega;/&deg;C||0.1||<br />
|-<br />
|tc2||second-order temperature coefficient||&Omega;/&deg;C<sup>2</sup>||0.01||<br />
|-<br />
|}<br />
<br />
==Resistor==<br />
<br />
[[File:GK119.png]]<br />
<br />
Resistors are passive devices that dissipate power. Their resistance value varies depending on how much power they can dissipate and is measured<br />
in Ohms. The transient, DC and AC behaviors of a resistor are all described by the same equation:<br />
<br />
v = R * i<br />
<br />
where v is the voltage across the resistor, i is the current passing through the resistor, and R is the resistance. The value of R must be nonzero. <br />
<br />
All resistor names must begin with R.<br />
<br />
Netlist Format: <br />
<br />
R<device_name> <N+> <N-> <value> <br />
<br />
Example: <br />
<br />
R1 1 2 1k<br />
<br />
[[RF.Spice A/D]] provides three types of resistor: Simple, User-Defined (Real Resistor) and Semiconductor. The resistance of the simple resistor is a single value expressed in Ohms. You can also set the Monte Carlo tolerance for this resistor.<br />
<br />
==Schottky Diode==<br />
<br />
[[File:GK80.png]]<br />
<br />
The Schottky diode has the same model as the generic diode with a nonzero transit time (tt), a nonzero junction capacitance (cjo) and a typically larger saturation current (is), a lower junction potential (vj) and a smaller grading coefficient (m). <br />
<br />
==Semiconducting Capacitor==<br />
<br />
[[File:GK83.png]]<br />
<br />
This is the more general form of the Capacitor model and allows for the calculation of the actual capacitance value from strictly geometric information and the specifications of the process. <br />
<br />
General Form:<br />
<br />
CXXXXXXX N1 N2 <VALUE> <MNAME> <L=LENGTH> <W=WIDTH> <IC=VAL><br />
<br />
If VALUE is specified, it defines the capacitance. If MNAME is specified, then the capacitance is calculated from the process information in the model MNAME and the given LENGTH and WIDTH. If VALUE is not specified, then MNAME and LENGTH must be specified. If WIDTH is not specified, then it is taken from the default width given in the model. Either VALUE or MNAME, LENGTH, and WIDTH may be specified, but not both sets. The optional initial condition "IC" is the initial voltage across the capacitor for transient simulations.<br />
<br />
The capacitance is computed as:<br />
<br />
CAP = CJ * (LENGTH - NARROW) * (WIDTH - NARROW)+ 2 * CJSW * (LENGTH + WIDTH - 2NARROW) * CAP<br />
<br />
To modify the model parameters, first double click on the capacitor to edit its top-level model parameters. Then choose the button labeled {{key|Edit from Table}} in the process model section. This will open a window in which you can edit CJ, CJSW, NARROW, DEFW, and CAP.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|CJ||junction bottom capacitance||F/m<sup>2</sup>||-||<br />
|-<br />
|CJSW||junction sidewall capacitance||F/m ||-||<br />
|-<br />
|DEFW||default device width||m||1u||<br />
|-<br />
|NARROW||narrowing due to side etching||m||0||<br />
|-<br />
|CAP||nominal capacitance for Monte Carlo simulation||F||1||<br />
|-<br />
|}<br />
<br />
== Semiconductor Resistor ==<br />
<br />
[[File:GK82.png]]<br />
<br />
This is the more general form of the resistor model and allows for the modeling of temperature effects and for the calculation of the actual resistance value from strictly geometric information and the specifications of the process. <br />
<br />
General Form:<br />
<br />
RXXXXXXX N1 N2 <VALUE> <MNAME> <L=LENGTH> <W=WIDTH> <TEMP=T><br />
<br />
If VALUE is specified, it overrides the geometric information and defines the resistance. If MNAME is specified, then the resistance may be calculated from the process information in the model MNAME and the given LENGTH and WIDTH. If VALUE is not specified, then MNAME and LENGTH must be specified. If WIDTH is not specified, then it is taken from the default width given in the model. The (optional) TEMP value is the temperature at which this device is to operate, and overrides the temperature specification in the SPICE Options Dialog. <br />
<br />
The resistance is computed as:<br />
<br />
R(T0) = (RSH) * [(L - NARROW) / (W - NARROW)] * RES<br />
<br />
R(T) = R(T0) * [ 1 + TC1 * (T - T0) + TC2 * (T-T0)^2 ]<br />
<br />
To modify the model parameters, first double click on the resistor to edit its top-level model parameters. Then choose the button labeled {{key|Edit from Table}} in the process model section. This will open a window in which you can edit TC1, TC2, RSH, RES, etc.<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|TC1||first order temperature coefficient||&Omega;/&deg;C||-||<br />
|-<br />
|TC2||second order temperature coefficient||&Omega;/&deg;C<sup>2</sup>||-||<br />
|-<br />
|RSH||sheet resistance||&Omega;/sq||-||<br />
|-<br />
|DEFW||default device width||m||1u||<br />
|-<br />
|NARROW||narrowing due to side etching||m||0||<br />
|-<br />
|TNOM||the parameter measurement temperature||deg C ||27||<br />
|-<br />
|RES||resistance multiplier for Monte Carlo simulation||Ohms||1||<br />
|-<br />
|}<br />
<br />
== Silicon-Controlled Rectifier (SCR)==<br />
<br />
[[File:GK109.png]]<br />
<br />
This is a 3-pin parameterized Silicon-Controlled Rectifier (SCR) device with three pins: Anode (A), Cathode (K) and Gate (G). It is a unidirectional device which can conduct current only in one direction. The SCR can be triggered only by a positive current going into its gate. The device's model involves an NPN BJT and a PNP BJT. The forward beta parameters of the two transistors are set equal to 100 and 1, respectively. To changes these values, open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|rf||forward resistance||Ohms||1Meg||<br />
|-<br />
|rr||reverse resistance||Ohms||1Meg||<br />
|-<br />
|rgk||gate-to-cathode resistance||Ohms||100||<br />
|-<br />
|bvf||breakdown voltage of forward diode||V||100||<br />
|-<br />
|bvr||breakdown voltage of reverse diode||V||100||<br />
|-<br />
|bvgk||breakdown voltage of gate-to-cathode diode||V||5||<br />
|-<br />
|}<br />
<br />
== SPDT Switch ==<br />
<br />
[[File:GK72.png]]<br />
<br />
This is a 5-pin device that models a single-pole double-throw switch. The input voltage is transferred to the first output pin if the control voltage is at a high state. Otherwise, its is transferred to the second output pin.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|von||turn-on voltage||V||3.3||<br />
|-<br />
|voff||turn-off voltage||V||0.3||<br />
|-<br />
|vt||threshold voltage||V||1.0||<br />
|-<br />
|ron||on resistance||Ohms||1.0||<br />
|-<br />
|roff||off resistance||Ohms||1Gig||<br />
|-<br />
|}<br />
<br />
== SPST Switch ==<br />
<br />
[[File:GK71.png]]<br />
<br />
This is a 4-pin device that models a single-pole single-throw switch. It is virtually equivalent of the standard voltage-controlled switch. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|von||turn-on voltage||V||3.3||<br />
|-<br />
|voff||turn-off voltage||V||0.3||<br />
|-<br />
|vt||threshold voltage||V||1.0||<br />
|-<br />
|ron||on resistance||Ohms||1.0||<br />
|-<br />
|roff||off resistance||Ohms||1Gig||<br />
|-<br />
|}<br />
<br />
==Tabulated Conductor==<br />
<br />
[[File:GK92.png]]<br />
<br />
The tabulated conductor model allows the conductance to be described by a table relating the device's current i(t) to its terminal voltage v(t). In effect, the conductance is defined as G = di(t)/dv(t). The model provides two interpolation options: cubic spline and piecewise linear. You can enter the (v,i) data pairs in the text box provided in the property dialog. Or you can import the data from a text file. <br />
<br />
==Tabulated Resistor==<br />
<br />
[[File:GK91.png]]<br />
<br />
The tabulated resistor model allows the resistance to be described by a table relating the device's terminal voltage v(t) to its current i(t). In effect, the resistance is defined as R = dv(t)/di(t). The model provides two interpolation options: cubic spline and piecewise linear. You can enter the (i,v) data pairs in the text box provided in the property dialog. Or you can import the data from a text file.<br />
<br />
==Tapped Inductor==<br />
<br />
[[File:GK101.png]]<br />
<br />
This 3-pin device models a tapped inductor with mutual coupling effect. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|Lt||total inductance||H||1m||<br />
|-<br />
|ratio||ratio of number of turns between positive terminal and tap to total number of turns||-||0.5||<br />
|-<br />
|k||coefficient of coupling||-||1.0||<br />
|-<br />
|}<br />
<br />
== Temperature-Dependent Current Source ==<br />
<br />
[[File:GL14.png]]<br />
<br />
This is a current source whose current is an arbitrary function of the circuit temperature. You have to open the subcircuit model dialog by clicking the {{key|Edit Model...}} button and edit its text. Enter any mathematical expression in the variable "v(T)" standing for temperature. Note that the circuit temperature is set and controlled by the parameter "temp" in the Miscellaneous tab of the SPICE [[Simulation Options]] dialog. <br />
<br />
Examples:<br />
<br />
* v(T) is equivalent to f(T) = T.<br />
* 1 + 0.1*(v(t))^2 is equivalent to f(T) = 1 + 0.1T.<br />
<br />
Parameters:<br />
<br />
None<br />
<br />
== Temperature-Dependent Voltage Source ==<br />
<br />
[[File:GL13.png]]<br />
<br />
This is a voltage source whose voltage is an arbitrary function of the circuit temperature. You have to open the subcircuit model dialog by clicking the {{key|Edit Model...}} button and edit its text. Enter any mathematical expression in the variable "v(T)" standing for temperature. Note that the circuit temperature is set and controlled by the parameter "temp" in the Miscellaneous tab of the SPICE [[Simulation Options]] dialog. <br />
<br />
Examples:<br />
<br />
* v(T) is equivalent to f(T) = T.<br />
* 1 + 0.1*(v(t))^2 is equivalent to f(T) = 1 + 0.1T.<br />
<br />
Parameters:<br />
<br />
None<br />
<br />
==Thermometer==<br />
[[File:G115.png]]<br />
<br />
The Thermometer is a two-pin device that measures the operating temperature of a circuit. The voltage across the device pins is equal to SPICE's operating temperature in degrees centigrade. The output voltage of the Thermometer can be used in conjunction with linear or nonlinear dependent sources to model temperature-dependent quantities.<br />
<br />
<br />
Model Identifier: thermo<br />
<br />
<br />
Parameters:<br />
<br />
This device has no parameters.<br />
<br />
== Triac Thyristor ==<br />
<br />
[[File:GK110.png]]<br />
<br />
This is a 3-pin bidirectional thyristor device that conducts current in either direction when triggered. A thyristor is analogous to a relay in that a small voltage and current can control a much larger voltage and current. The triac has two anode pins termed Main Terminal 1 (MT1) and Main Terminal 2 (MT2) and a Gate (G) pin. In order to create a triggering current for a triac, either a positive or negative voltage can be applied to the gate. Once triggered, the thyristor continues to conduct, even if the gate current ceases, until the main current drops below a certain level called the holding current. The device's model involves two NPN BJT transistors and two PNP BJT transistors. The forward beta parameters of the NPN and PNP transistors are set equal to 20 and 5, respectively. To changes these values, open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|rf||forward resistance||Ohms||1Meg||<br />
|-<br />
|bvf||breakdown voltage of forward diodes||V||100||<br />
|-<br />
|rh||resistance controlling reverse holding current||Ohms||100||<br />
|-<br />
|rgp||resistance controlling forward holding current and trigger current||Ohms||50||<br />
|-<br />
|}<br />
<br />
==Uniform RC Transmission Line==<br />
<br />
[[File:G23.png]]<br />
<br />
The standard parameters are L, and N. They are described below:<br />
<br />
Two of the nodes are the element nodes connected by the RC line. The third is the node to which the capacitances<br />
are connected. L is the length of the RC line in meters. N is the number of lumped segments to use in<br />
modeling the RC line.<br />
<br />
This device is derived from a model proposed by Gertzberrg. It expands the URC line into a network of<br />
lumped RC segments with internally generated nodes. These segments increase toward the middle of the<br />
URC line in a geometric progression with K as the proportionality constant.<br />
<br />
The URC line is made up entirely of resistor and capacitor segments, unless the ISPERL parameter has a<br />
non-zero value. In this case, capacitors are replaced by reverse biased diodes with an equivalent zero-bias<br />
junction capacitance, a saturation current of ISPERL amps per meter of transmission line, and optional<br />
series resistance of RSPERL ohms per meter. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!EXAMPLE<br />
|-<br />
|K||propagation constant||-||2||1.2<br />
|-<br />
|FMAX||maximum frequency of interest||Hz||1.0G||6.5Meg<br />
|-<br />
|RPERL||resistance per unit length||Ohm /m||1000||10<br />
|-<br />
|CPERL||capacitance per unit length||F/m||1.0e-15||1pF<br />
|-<br />
|ISPERL||saturation current per unit length||A/m||0||-<br />
|-<br />
|RSPERL||diode resistance per unit length||Ohm/m||0||-<br />
|-<br />
|}<br />
<br />
==Varactor Diode==<br />
<br />
[[File:GK81.png]]<br />
<br />
A varactor diode is a combination of the generic diode with additional package inductance, package capacitance and a series resistance. This diode device has a typically large value of junction capacitance (cjo).<br />
<br />
Parameters (in addition to standard diode parameters): <br />
<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|q||quality factor||-||5000||<br />
|-<br />
|f0||frequency of Q-factor specification||Hz||50Meg||<br />
|-<br />
|ls||package inductance||H||0.5n||<br />
|-<br />
|cp||package capacitance ||F||0.05p||<br />
|-<br />
|}<br />
<br />
==Voltage-Controlled Capacitor==<br />
<br />
[[File:GK85.png]]<br />
<br />
This 3-pin device models a voltage-controlled two-terminal capacitor whose capacitance is linearly proportional to a control voltage that is applied to a third (CTRL) pin. The proportionality constant is a conversion factor which you need to specify in F/V. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|K_C||conversion factor||F/V||1.0||<br />
|-<br />
|}<br />
<br />
==Voltage-Controlled Inductor==<br />
<br />
[[File:GK86.png]]<br />
<br />
This 3-pin device models a voltage-controlled two-terminal inductor whose inductance is linearly proportional to a control voltage that is applied to a third (CTRL) pin. The proportionality constant is a conversion factor which you need to specify in H/V. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|K_L||conversion factor||H/V||1.0||<br />
|-<br />
|}<br />
<br />
==Voltage-Controlled Resistor==<br />
<br />
[[File:GK84.png]]<br />
<br />
This 3-pin device models a voltage-controlled two-terminal resistor whose resistance is linearly proportional to a control voltage that is applied to a third (CTRL) pin. The proportionality constant is a conversion factor which you need to specify in &Omega;/V. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|K_r||conversion factor||&Omega;/V||1.0||<br />
|-<br />
|}<br />
<br />
==Voltage-Controlled Switch==<br />
<br />
[[File:G19.png]]<br />
<br />
Switches are devices that exhibit high resistance when open (OFF state) and low resistance when closed (ON state). The switch model allows an almost ideal switch to be specified. With careful selection of the on and off resistances, they can effectively represent zero and infinite resistances in comparison to other circuit elements, while sustaining the model condition of a positive, finite value. <br />
<br />
There are two versions of Voltage-Controlled Switch: two-terminal and four-terminal. For the two-terminal device, you must specify the name of the controlling Voltmeter or controlling voltage nodes, as well as the turn-on and turn-off voltages in Volts and on and off resistance values in Ohms. The four-terminal device already provides nodes for a controlling voltmeter, and you just specify the rest of [[parameters]]. When the voltage across the switch or controlling device is greater or equal to the turn-on current, the switch closes. When the voltage across the switch or controlling device is less than or equal to the turn off current, the switch opens. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|V_ON||turn-on voltage||V||0.5||<br />
|-<br />
|V_OFF||turn-off voltage||V||0.0||<br />
|-<br />
|RON||on resistance||Ohms||1.0||<br />
|-<br />
|ROFF||off resistance||Ohms||1G||<br />
|-<br />
|}<br />
<br />
==Voltage Noise Source==<br />
<br />
[[File:GL15.png]]<br />
<br />
This is a voltage noise generator characterized by a spectral density and corner frequency. You have to click the {{key|Edit Model...}} button to access the parameters of this device. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|En||noise voltage||V/&radic;Hz||1n||required<br />
|-<br />
|freq||noise corner frequency||Hz||100||required<br />
|-<br />
|}<br />
<br />
==Voltage Source==<br />
<br />
[[File:G17A.png]]<br />
<br />
A voltage source has a DC value, a transient behavior, an AC behavior, and distortion parameters. The transient type, AC parameters, and distortion parameters are defined on the first tab of the source's property dialog. The transient expression can be a pulse, sinusoid, exponential, or piecewise linear. The DC value of a voltage source is its initial transient value. For a source with a sinusoidal transient behavior, for example, the DC value will be equal to its transient offset voltage. The AC parameters are magnitude and phase. These are used during the AC Frequency Sweep analysis. The distortion parameters, two sets of magnitude and phase, are used during the distortion analysis. The AC and distortion parameters are defined on the second tab of the source's property dialog.<br />
<br />
==XSpice Devices and their models==<br />
<br />
XSpice devices have the following form:<br />
<P CLASS="syntaxstyle" STYLE="font-size: 9pt ; margin: 4pt 0pt 1px 0pt ; font-family: 02070309020205020404,sans-serif; "><br />
A&lt;device_name&gt; &lt;node1&gt; &lt;node2&gt; ... &lt;model_name&gt;</P><br />
<br />
<P CLASS="syntaxstyle" STYLE="font-size: 9pt ; margin: 0pt 0pt 1px 36pt ; font-family: 02070309020205020404,sans-serif; "><br />
e.g., A2 1 2 transfer_function<br />
<br />
Note that XSpice devices must start with the &quot;A&quot; designation, much as a resistor starts with<br />
an &quot;R&quot;. Some devices will have grouped (or vector) pins and are designated by being placed<br />
inside square brackets. In the example shown below, the 1 and 2 pins are grouped. Pin 3 is not. </P><br />
<br />
<P CLASS="syntaxstyle" STYLE="font-size: 9pt ; margin: 0pt 0pt 1px 0pt ; text-indent: 36pt ; font-family: 02070309020205020404,sans-serif; "><br />
A1 [1 2] 3 summer </P><br />
<br />
Some models will have voltage differential pairs of pins and will be denoted by a %vd( ). In the following<br />
example pins 1 and 4 are differential pairs, as well as pins 2 and 3. Differential pairs must go between<br />
parentheses (). <br />
<br />
<P CLASS="syntaxstyle" STYLE="font-size: 9pt ; margin: 0pt 0pt 1px 0pt ; text-indent: 36pt ; font-family: 02070309020205020404,sans-serif; "><br />
A1 %vd(1 4) %vd(2 3) triangle </P><br />
<br />
Refer to individual devices for more information.<br />
<br />
Each XSpice device will also have a model associated with it. Each model will have the following form:<br />
<br />
<P CLASS="syntaxstyle" STYLE="font-size: 9pt ; margin: 0pt 0pt 1px 36pt ; font-family: 02070309020205020404,sans-serif; "><br />
.model &lt;model_name&gt; &lt;model_identifier&gt; {&lt;pname1 = pval1&gt;} {&lt;pname2 = pval2&gt;} <br />
...</P><br />
<br />
<P CLASS="syntaxstyle" STYLE="font-size: 9pt ; margin: 0pt 0pt 1px 36pt ; font-family: 02070309020205020404,sans-serif; "><br />
e.g., .model transfer_function s_xfer in_offset = 0.0 gain = 1.0</P><br />
<br />
Model_name refers to the name given in the device line. Model_identifier is an internal designation and<br />
must be of an existing designation Refer to each device's example for the correct designation. <br />
<br />
Parameter values are optional. If they aren't specified, then the default will be used. Some devices<br />
have parameters that require a value and must be specified. Refer to individual devices for any required parameters.<br />
<br />
==Zener Diode==<br />
<br />
[[File:G10.png]]<br />
<br />
The Zener Diode models the DC characteristics of most zeners. Since most data sheets for zener diodes do<br />
not give detailed characteristics in the forward region, only a single point defines the forward characteristicThe<br />
saturation current refers to the relatively constant reverse current that is produced when the voltage<br />
across the zener is negative, but breakdown has not been reached. The reverse leakage current determines<br />
the slight increase in reverse current as the voltage across the zener becomes more negative. It is modeled<br />
as a resistance parallel to the zener with value v_breakdown / i_rev.<br />
<br />
Note that the limt_switch parameter engages an internal limiting function for the zener. This can, in<br />
some cases, prevent the simulator from converging to an unrealistic solution if the voltage across or<br />
current into the device is excessive. If use of this feature fails to yield acceptable results, the convlimit<br />
option should be tried (add the following statement to the SPICE input deck: .options convlimit)<br />
<br />
Model Identifier: zener<br />
<br />
Netlist Format:<br />
<br />
A&lt;device_name&gt; &lt;z_pin&gt; &lt;z_out_pin&gt; &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; zener v_breakdown = 1 {&lt;param1 = value&gt; &lt; param2 = value&gt; ...}<br />
<br />
Example:<br />
<br />
A1 1 2 zener<br />
<br />
.model zener zener v_breakdown = 1<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!Name!!Description!!Default!!Notes<br />
|-<br />
|v_breakdown||breakdown voltage||1||required<br />
|-<br />
|i_breakdown||breakdown current||2.0e-2|| <br />
|-<br />
|i_sat||saturation current||1.0e-12|| <br />
|-<br />
|N_forward||forward emission coefficient||1.0|| <br />
|-<br />
|limit_switch||switch for on-board limiting (convergence aid)||False|| <br />
|-<br />
|}<br />
<br />
<p>&nbsp;</p><br />
[[Image:Back_icon.png|40px]] '''[[RF.Spice_A/D | Back to RF.Spice A/D Wiki Gateway]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/Glossary_of_Generic_Analog_%26_Mixed-Mode_Devices_%26_SourcesGlossary of Generic Analog & Mixed-Mode Devices & Sources2018-10-11T16:52:00Z<p>Kazem Sabet: /* Nonlinear Dependent Sources */</p>
<hr />
<div>==4-Bit ADC Bridge==<br />
<br />
[[File:GK44.png]]<br />
<br />
This 8-pin device is simply a bundle of 4 1-bit ADC bridges. Each analog input pin has a corresponding digital output pin. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|in_low||maximum 0-valued analog input||V||0.1||required<br />
|-<br />
|in_high||minimum 1-valued analog input||V||0.9||required<br />
|-<br />
|}<br />
<br />
==4-Bit DAC Bridge==<br />
<br />
[[File:GK45.png]]<br />
<br />
This 8-pin device is simply a bundle of 4 1-bit DAC bridges. Each digital input pin has a corresponding analog output pin. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|out_low||analog output for 0 digital input||V||0||required<br />
|-<br />
|out_high||analog output for 1 digital input||V||1||required<br />
|-<br />
|}<br />
<br />
== AC/RF Current Source ==<br />
<br />
[[File:GL11.png]]<br />
<br />
This is a simplified version of the standard Current Source, in which the AC "Use" box has been checked by default. Therefore, it is ready to be used for AC frequency sweep. Note that for AC frequency sweep, you do not need to specify the frequency. <br />
<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|VA||peak current amplitude||A||1||required<br />
|-<br />
|Freq||frequency ||Hz||1||required<br />
|-<br />
|Phase||phase||deg||0|| <br />
|-<br />
|offset||DC offset for small-signal current||A||0|| <br />
|-<br />
|}<br />
<br />
== AC/RF Voltage Source ==<br />
<br />
[[File:GL10.png]]<br />
<br />
This is a simplified version of the standard Voltage Source, in which the AC "Use" box has been checked by default. Therefore, it is ready to be used for AC frequency sweep. Note that for AC frequency sweep, you do not need to specify the frequency. <br />
<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|VA||peak voltage amplitude||V||1||required<br />
|-<br />
|Freq||frequency ||Hz||1||required<br />
|-<br />
|Phase||phase||deg||0|| <br />
|-<br />
|offset||DC offset for small-signal voltage||V||0|| <br />
|-<br />
|}<br />
<br />
==Alternate Ferrite Core Transformer==<br />
<br />
[[File:GK96.png]]<br />
<br />
The alternate ferrite core transformer is a four-pin two-port device, which has the same behavior as the [[Glossary of Generic Analog & Mixed-Mode Devices#Ferrite_Core_Transformer | Ferrite Core Transformer]], except for the reversed polarity of its secondary port.<br />
<br />
==Alternate Ideal Transformer==<br />
<br />
[[File:XFMR2.png]]<br />
<br />
The alternate ideal transformer is a four-pin two-port device, which has the same behavior as the [[Glossary of Generic Analog & Mixed-Mode Devices#Ideal_Transformer | Ideal Transformer]], except for the reversed polarity of its secondary port.<br />
<br />
== AM Modulated Source ==<br />
<br />
[[File:GL23.png]]<br />
<br />
This is a voltage source with a single-tone amplitude modulated waveform. The AM modulation index MDI is defined as the ratio of maximum amplitude deviation to maximum signal amplitude. <br />
<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|V0||offset||V||0||<br />
|-<br />
|VA||amplitude||V||1||<br />
|-<br />
|FC||carrier frequency ||Hz||1||required<br />
|-<br />
|MDI||modulation index||-||0||required<br />
|-<br />
|FS||signal frequency ||Hz||1||required<br />
|-<br />
|}<br />
<br />
== Analog Clock ==<br />
<br />
[[File:GL30.png]]<br />
<br />
This is a periodic pulse generator with a default 0V low output level and a default 5V high output level. <br />
<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|delay||delay time||sec||0|| <br />
|-<br />
|rise||rise time||sec||0.1n|| <br />
|-<br />
|fall||fall time||sec||0.1n|| <br />
|-<br />
|pulse_wid||clock pulse width||sec||1u||required<br />
|-<br />
|period||clock period||-||2u||required<br />
|-<br />
|out_low||low output voltage level||V||0|| <br />
|-|-<br />
|out_high||high output voltage level||V||5|| <br />
|-<br />
|}<br />
<br />
==Analog-to-Digital Converter (ADC) Bridge==<br />
[[File:GK42.png]]<br />
<br />
The ADC Bridge takes an analog value from an analog node and may be in the form of a voltage or current.<br />
If the input is less than or equal to &quot;in_low&quot;, then a digital &quot;0&quot; is generated. If<br />
the input is greater than or equal to &quot;in_high&quot;, a digital &quot;1&quot; is generated. Otherwise,<br />
a digital &quot;UNKNOWN&quot; is the output value. Unlike the DAC Bridge, ramping or delay is not applicable.<br />
Rather, the continuous ramping of the input provides for any associated delays in the digitized signal.<br />
<br />
This model also posts an input load value based on the parameter input_load.<br />
<br />
Model Identifier: adc_bridge<br />
<br />
Netlist Format:<br />
<br />
A&lt;device_name&gt; [&lt;in_pin&gt; {&lt;in2_pin&gt;&gt; ...}] [&lt;out_pin&gt; {&lt;out2_pin&gt; ...}] &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; adc_bridge {&lt;param1 = value&gt; &lt; param2 = value&gt; ...}<br />
<br />
Example:<br />
<br />
A [1] [2] adc_bridge<br />
<br />
.model adc_bridge adc_bridge in_low = .1 fall_delay = 1n <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|in_low||maximum 0-valued analog input||V||0.1||required<br />
|-<br />
|in_high||minimum 1-valued analog input||V||0.9||required<br />
|-<br />
|rise_delay||L-to-H delay time||sec||1n|| <br />
|-<br />
|fall_delay||H-to-L delay time||sec||1n|| <br />
|-<br />
|}<br />
<br />
== Arbitrary Temporal Waveform Generator ==<br />
<br />
[[File:GL17.png]]<br />
<br />
This is a voltage source with an arbitrary waveform defined by a mathematical expression. You have to open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. Enter any mathematical expression in the variable "v(t)" standing for time.<br />
<br />
Examples:<br />
<br />
* v(t) is equivalent to f(t) = t.<br />
* 0.1*(v(t))^2 is equivalent to f(t) = 0.1t^2.<br />
* sin(2*pi*v(t)) is equivalent to f(t) = sin(2&pi;t). <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|Tmax||maximum signal duration||sec||1e6||required<br />
|-<br />
|}<br />
<br />
==Auto-Transformer==<br />
<br />
[[File:GK102.png]]<br />
<br />
This 3-pin device models an auto-transformer with mutual coupling effect. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|Lp||primary inductance||H||1m||<br />
|-<br />
|Ls||secondary inductance||H||1m||<br />
|-<br />
|k||coefficient of coupling||-||1.0||<br />
|-<br />
|}<br />
<br />
==Bipolar Junction Transistor (BJT)==<br />
[[File:G11.png]]<br />
<br />
The BJT is an active device which has up to 4 pins. The three standard pins are base, emitter, and collector. These are given in the default symbol. The substrate, which is grounded by default, is the fourth pin. To use the BJT with the substrate, create a new 4-pin BJT using the Device Editor and Symbol Editor.<br />
<br />
The standard device parameters are AREA, OFF, IC, and T. They are described below:<br />
<br />
{| class="wikitable"<br />
|-<br />
|AREA||area factor (optional) (If not specified, the default value is 1.0.)<br />
|-<br />
|OFF||initial condition for the DC analysis (optional)<br />
|-<br />
|IC||initial condition (optional) (Used when a transient analysis is desired, which starts from other than the quiescent operating point.)<br />
|-<br />
|T||operating temperature of the device (optional)<br />
|-<br />
|}<br />
<br />
Area factor scales the model parameters RE and RC. IC VBE is the initial voltage from base emitter. IC VCE is the initial voltage from collector to emitter. TEMP is the overriding temperature. These parameters are based on the Gummel and Poon integral-charge model. If these parameters are not specified, then it will reduce to the simpler Ebers-Moll model. <br />
<br />
The process model is mandatory for the BJT. Descriptions of the process model parameters are given in the following table:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!EXAMPLE<br />
|-<br />
|IS||transport saturation current||A||1.0e-16||1.0e-15<br />
|-<br />
|BF||ideal maximum forward beta|| ||100||100<br />
|-<br />
|NF||forward current emission coefficient|| ||1.0||1<br />
|-<br />
|VAF||forward Early voltage||V||infinite||200<br />
|-<br />
|IKF||corner forward beta high current roll-off||A||infinite||0.01<br />
|-<br />
|ISE||B-E leakage saturation current||A||0||1.0e-13<br />
|-<br />
|NE||B-E leakage emission coefficient|| ||1.5||2<br />
|-<br />
|BR||ideal maximum reverse beta|| ||1||0.1<br />
|-<br />
|NR||reverse current emission coefficient|| ||1||1<br />
|-<br />
|VAR||reverse Early voltage||V||infinite||200<br />
|-<br />
|IKR||corner reverse beta high current roll-off||A||infinite||0.01<br />
|-<br />
|ISC||B-C leakage saturation current||A||0||1.0e-13<br />
|-<br />
|NC||B-C leakage emission coefficient|| ||2||1.5<br />
|-<br />
|RB||zero bias base resistance||ohms||0||100<br />
|-<br />
|IRB||current where base resistance falls halfway to minimum value||A||infinite||0.1<br />
|-<br />
|RBM||minimum base resistance at high currents||ohms||RB||10<br />
|-<br />
|RE||emitter resistance||ohms||0||1<br />
|-<br />
|RC||collector resistance||ohms||0||10<br />
|-<br />
|CJE||B-E zero bias depletion capacitance||F||0||2pF<br />
|-<br />
|VJE||B-E built-in potential||V||0.75||0.6<br />
|-<br />
|MJE||B-E junction exponential factor|| ||0.33||0.33<br />
|-<br />
|TF||ideal forward transit time||sec||0||0.1ns<br />
|-<br />
|XTF||coefficient for bias dependence of TF|| ||0|| <br />
|-<br />
|VTF||voltage describing VBC dependence of TF||V||infinite|| <br />
|-<br />
|ITF||high-current parameter for effect on TF||A||0|| <br />
|-<br />
|PTF||excess phase at freq=1.0/(TF*2PI)Hz||degree||0|| <br />
|-<br />
|CJC||B-C zero bias depletion capacitance||F||0||2pF<br />
|-<br />
|VJC||B-C built-in potential||V||0.75||0.5<br />
|-<br />
|MJC||B-C junction exponential factor|| ||0.33||0.5<br />
|-<br />
|XCJC||fraction of B-C depletion capacitance connected to internal base node|| ||1|| <br />
|-<br />
|TR||ideal reverse transit time||sec||0||10ns<br />
|-<br />
|CJS||zero bias collector-substrate capacitance||F||0||2pF<br />
|-<br />
|VJS||substrate junction built-in potential||V||0.75|| <br />
|-<br />
|MJS||substrate junction exponential factor|| ||0||0.5<br />
|-<br />
|XTB||forward and reverse beta temp. exponent|| ||0|| <br />
|-<br />
|EG||energy gap for temperature effect on IS||eV||1.11|| <br />
|-<br />
|XTI||temperature exponent for effect on IS|| ||3|| <br />
|-<br />
|KF||flicker-noise coefficient|| ||0|| <br />
|-<br />
|AF||flicker-noise exponent|| ||1|| <br />
|-<br />
|FC||coefficient for forward bias depletion capacitance formula|| ||0.5|| <br />
|-<br />
|TNOM||parameter measurement temperature||deg. C||27||50<br />
|-<br />
|}<br />
<br />
==Capacitance Meter==<br />
[[File:G37.png]]<br />
<br />
The Capacitance Meter measures the total capacitance between a circuit node and the ground. The input pin of the device is connected to the measurement node. The output voltage of the device is then a scaled value equal to the total capacitance seen on its input multiplied by the gain parameter. This model is primarily intended as a building block for other models which must sense a capacitance value and alter their behavior based upon it.<br />
<br />
<br />
Model Identifier: cmeter<br />
<br />
Netlist Format:<br />
<br />
A&lt;device_name&gt; &lt;in_pin&gt; &lt;out_pin&gt; &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; cmeter {&lt;gain = value&gt;}<br />
<br />
Example:<br />
<br />
A1 1 2 cap_meter<br />
<br />
.model cap_meter cmeter gain = 1<br />
<br />
Parameters:<br />
<br />
The only parameter is the gain with a default value of 1.0.<br />
<br />
==Capacitor==<br />
[[File:GK120.png]]<br />
<br />
Capacitors are used to store electrical energy. They can filter or remove AC signals or block DC current without disrupting AC signals. A capacitor's ability to store energy is termed capacitance and is measured in Farads, with values from pF to mF. The only time current flows through a capacitor is when the charge is collected on, or is removed from, its parallel plates. This means that the voltage across the capacitor is changing, which doesn't conform to DC analysis. In a physical circuit, there is a transition stage during which capacitors charge up to their final values. The result is the same as if these capacitors did not exist and the connections to them were left dangling. In other words, in a (steady-state) DC analysis, a capacitor behaves like an open circuit. Therefore, it is important that no section of the circuit is isolated from the capacitors. Every circuit node needs some path for DC current to the ground.<br />
<br />
A capacitor's transient behavior is described by the equation:<br />
<br />
i(t) = C * (dv(t)/dt)<br />
<br />
Its initial voltage is only important when the simulator performs a transient analysis, and the "Use Initial Conditions" checkbox is checked.<br />
<br />
An capacitor's AC behavior is described by the equation: <br />
<br />
i = j ω * C * v <br />
<br />
All capacitor names must begin with C. <br />
<br />
Netlist Format: <br />
<br />
C<device_name> <N+> <N-> <value> <br />
<br />
Example: <br />
<br />
C1 1 2 10p<br />
<br />
[[RF.Spice A/D]] provides three types of capacitors: simple, user-defined (or real) and semiconductor. The standard capacitor parameters are N+, N-, VALUE, and IC. In a simple capacitor, VALUE must<br />
be specified for the capacitance in Farads. IC is the (optional) initial condition for the capacitor voltage.<br />
<br />
==Center-Tapped Ferrite Core Transformer==<br />
<br />
[[File:GK97.png]]<br />
<br />
This five-pin three-port device models a center-tapped physical transformer with a magnetic ferrite core. Its model is based on XSPICE's magnetic core and inductive coupling models. For this device you need to specify physical parameters like cross sectional area, core length and number of primary and secondary turns. The physical model of the magnetic device is defined by two vectors: magnetic field intensity H in A/m and magnetic flux density B (also known as magnetic induction) in Tesla. The default array values are:<br />
<br />
H_array = [-250 -100 -50 -37.5 -25 -12.5 0 12.5 25 37.5 50 100 250]<br />
<br />
B_array = [-0.375 -0.36 -0.32 -0.29 -0.24 -0.15 0 0.15 0.24 0.29 0.32 0.36 0.375]<br />
<br />
To change the value of H/B arrays, open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|n_prim||number of primary inductor coupling turns||-||100||required<br />
|-<br />
|n_sec||number of full-winding secondary inductor coupling turns||-||100||required<br />
|-<br />
|area||cross-sectional area||m<sup>2</sup>||1e-5||<br />
|-<br />
|length||core length||m||0.01||<br />
|-<br />
|}<br />
<br />
==Controlled Sine Wave Oscillator==<br />
<br />
[[File:G24.png]]<br />
<br />
This is a four-terminal function generator with a sinusoidal wave output, whose frequency is controlled by an input voltage. The functional dependency of the output frequency on the input voltage is piecewise linear and is defined as a two-dimensional table similar to a piecewise linear (PWL) controlled source. In the "frequency vs. voltage" curve, the array "cntl_array" defines voltage values in Volts and the array "freq_array" defines the corresponding frequencies in Hz. <br />
This function has parameterizable values of low and high peak output voltage. <br />
<br />
Model Identifier: sine<br />
<br />
Netlist Form: <br />
<br />
A&lt;device_name&gt; %vd(&lt;cntl_in_pin&gt; &lt;cntl_in_ref_pin&gt;) %vd(&lt;out_pin&gt;<br />
&lt;out_ref_pin&gt;) &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; sine cntl_array = [&lt;value1&gt; &lt;value2&gt;] <br />
freq_array = [&lt;value1&gt; &lt;value2&gt;] {&lt;param1 = value&gt; &lt; param2 = value&gt; ...}<br />
<br />
Example:<br />
<br />
A1 %vd(1 3) %vd(2 4) sine<br />
<br />
.model sine sine cntl_array = [0 1] freq_array = [1 1000]<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|Cntl_array||control array||V||[0 1]||required<br />
|-<br />
|Freq_array||frequency array||Hz||[1 1000]||required<br />
|-<br />
|Out_low||output peak low value||V||-1.0|| <br />
|-<br />
|Out_high||output peak high value||V||1.0|| <br />
|-<br />
|}<br />
<br />
<br />
==Controlled Sources==<br />
<br />
Circuits can contain linear dependent sources characterized by one of the following equations (where g,<br />
e, f, and h are constants representing transconductance, voltage gain, current gain, and transresistance,<br />
respectively):<br />
<br />
<SPAN STYLE="font-size: 9pt ; ">i<sub>out</sub> = g v<sub>in</sub><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v<sub>out</sub> = e v<sub>in</sub><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i<sub>out</sub> = f i<sub>in</sub><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v<sub>out</sub> = h i<sub>in</sub></SPAN><br />
<P CLASS="Bodytext" STYLE="font-size: 9pt ; margin: 0pt 0pt 1px 0pt ; "><br />
For further information, refer to:</P><br />
<br />
Linear Current Controlled Current Source (CCCS)<br />
<br />
Linear Voltage Controlled Current Source (VCCS)<br />
<br />
Linear Current Controlled Voltage Source (CCVS)<br />
<br />
Linear Voltage Controlled Voltage Source (VCVS)<br />
<br />
<br />
==Controlled Square Wave Oscillator==<br />
<br />
[[File:G25.png]]<br />
<br />
This is a four-terminal function generator with a square wave output, whose frequency is controlled by an input voltage. The functional dependency of the output frequency on the input voltage is piecewise linear and is defined as a two-dimensional table similar to a piecewise linear (PWL) controlled source. In the "frequency vs. voltage" curve, the array "cntl_array" defines voltage values in Volts and the array "freq_array" defines the corresponding frequencies in Hz. <br />
<br />
Model Identifier: square<br />
<br />
Netlist Format: <br />
<br />
A&lt;device_name&gt; %vd(&lt;cntl_in_pin&gt; &lt;cntl_in_ref_pin&gt;) %vd(&lt;out_pin&gt;<br />
&lt;out_ref_pin&gt;) &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; square cntl_array = [&lt;value1&gt; &lt;value2&gt;] freq_array = [&lt;value1&gt; &lt;value2&gt;] {&lt;param1 = value&gt; &lt; param2 = value&gt; ...}<br />
<br />
Example:<br />
<br />
A1 %vd(1 3) %vd(2 4) square<br />
<br />
.model square square cntl_array = [0 1] freq_array = [1 1000]<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|Cntl_array||control array||V||[0 1]||required<br />
|-<br />
|Freq_array||frequency array||Hz||[0 1000]||required<br />
|-<br />
|Out_low||output peak low value||V||-1.0|| <br />
|-<br />
|Out_high||output peak high value||V||1.0|| <br />
|-<br />
|Duty_cycle||Duty cycle||-||0.5|| <br />
|-<br />
|Rise_time||Output rise time||sec||1.0e-9|| <br />
|-<br />
|Fall_time||Output fall time||sec||1.0e-9|| <br />
|-<br />
|}<br />
<br />
==Controlled Triangle Wave Oscillator==<br />
<br />
[[File:G26.png]]<br />
<br />
This is a four-terminal function generator with a triangle wave output, whose frequency is controlled by an input voltage. The functional dependency of the output frequency on the input voltage is piecewise linear and is defined as a two-dimensional table similar to a piecewise linear (PWL) controlled source. In the "frequency vs. voltage" curve, the array "cntl_array" defined voltage values in Volts and the array "freq_array" defines the corresponding frequencies in Hz. <br />
<br />
Model Identifier: triangle<br />
<br />
Netlist Format: <br />
<br />
A&lt;device_name&gt; %vd(&lt;cntl_in_pin&gt; &lt;cntl_in_ref_pin&gt;) %vd(&lt;out_pin&gt;<br />
&lt;out_ref_pin&gt;) &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; tirangle cntl_array = [&lt;value1&gt; &lt;value2&gt;] <br />
freq_array = [&lt;value1&gt; &lt;value2&gt;]{&lt;param1 = value&gt; &lt; param2 = value&gt; ...}<br />
<br />
Example:<br />
<br />
A1 %vd(1 4) %vd(2 3) triangle<br />
<br />
.model triangle triangle cntl_array = [0 1] freq_array = [1 1000] <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|Cntl_array||control array||V||[0 1]||required<br />
|-<br />
|Freq_array||frequency array||Hz||[0 1000]||required<br />
|-<br />
|Out_low||output peak low value||V||-1.0|| <br />
|-<br />
|Out_high||output peak high value||V||1.0|| <br />
|-<br />
|Rise_duty||Rise time duty cycle||0.5|| <br />
|-<br />
|}<br />
<br />
== Crystal ==<br />
<br />
[[File:GK78.png]]<br />
<br />
This is a 2-pin parameterized crystal device. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|CM||motional capacitance||F||10f||<br />
|-<br />
|C0||shunt capacitance||F||1p||<br />
|-<br />
|RM||motional resistance||Ohms||100||<br />
|-<br />
|LM||motional inductance||H||100m||<br />
|-<br />
|}<br />
<br />
==Current Noise Source==<br />
<br />
[[File:GL16.png]]<br />
<br />
This is a current noise generator characterized by a spectral density and corner frequency. You have to click the {{key|Edit Model...}} button to access the [[parameters]] of this device. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|En||noise current||A/&radic;Hz||1p||required<br />
|-<br />
|freq||noise corner frequency||Hz||100||required<br />
|-<br />
|}<br />
<br />
==Current Source==<br />
<br />
[[File:G17B.png]]<br />
<br />
Current source has a DC value, a transient behavior, an AC behavior, and distortion parameters. The transient type, AC parameters, and distortion parameters are defined on the first tab of the source's property dialog. The transient expression can be a pulse, sinusoid, exponential, or piecewise linear. The DC value of a current source is its initial transient value. For a source with a sinusoidal transient behavior, for example, the DC value will be equal to its transient offset current. The AC parameters are magnitude and phase. These are used during the AC Frequency Sweep analysis. The distortion parameters, two sets of magnitude and phase, are used during the distortion analysis. The AC and distortion parameters are defined on the second tab of the source's property dialog.<br />
<br />
==Current-Controlled Switch==<br />
<br />
[[File:G20.png]]<br />
<br />
Switches are devices that exhibit high resistance when open (OFF state) and low resistance when closed (ON state). The switch model allows an almost ideal switch to be specified. With careful selection of the on and off resistances, they can effectively represent zero and infinite resistances in comparison to other circuit elements, while sustaining the model condition of a positive, finite value. <br />
<br />
There are two versions of Current-Controlled Switch: two-terminal and four-terminal. For the two-terminal device, you must specify the name of the controlling Ammeter or voltage source, as well as the turn-on and turn-off currents in Amperes and on and off resistance values in Ohms. The four-terminal device already provides nodes for a controlling ammeter, and you just specify the rest of [[parameters]]. When the current through the switch or controlling device is greater or equal to the turn-on current, the switch closes. When the current through the switch or controlling device is less than or equal to the turn off current, the switch opens. <br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|I_ON||turn-on current||A||0.0||<br />
|-<br />
|I_OFF||turn-off current||A||0.0||<br />
|-<br />
|RON||closed resistance||Ohms||1.0||<br />
|-<br />
|ROFF||open resistance||Ohms||1/GMIN||<br />
|-<br />
|}<br />
<br />
==Darlington Pair==<br />
<br />
[[File:GK108.png]]<br />
<br />
A Darlington pair is a three-pin device that consists of two interconnected BJT transistors of the same type. The collectors of two transistors are connected together to provide the "Collector" pin of the pair. The base of the first BJT acts the "Base" pin of the pair. The emitter of the first BJT is internally connected to the base of the second BJT. The emitter of the second BJT acts as the "Emitter" pin of the pair. There are two types of Darlington pair: NPN and PNP. The parameterized generic Darlington pair also contains a diode connected between the collector and emitter pin as well as two base-emitter resistors, one across each BJT. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|is_bjt||bjt saturation current||A||1.0e-12||<br />
|-<br />
|bf_bjt||bjt forward beta||-||150||<br />
|-<br />
|nf_bjt||bjt forward emission coefficient||-||1||<br />
|-<br />
|ise_bjt||B-E leakage saturation current||A||0||<br />
|-<br />
|ne_bjt||B-E leakage emission coefficient||-||1||<br />
|-<br />
|br_bjt||ideal maximum reverse beta||-||1||<br />
|-<br />
|nr_bjt||reverse current emission coefficient||-||1||<br />
|-<br />
|isc_bjt||B-C leakage saturation current||A||0||<br />
|-<br />
|nc_bjt||B-C leakage emission coefficient||-||1||<br />
|-<br />
|rb_bjt||zero bias base resistance||Ohms||0||<br />
|-<br />
|irb_bjt||current where base resistance falls halfway to minimum value||A||inf||<br />
|-<br />
|rbm_bjt||minimum base resistance at high currents||ohms||0||<br />
|-<br />
|re_bjt||emitter resistance||Ohms||0||<br />
|-<br />
|rc_bjt||collector resistance||Ohms||0||<br />
|-<br />
|cje_bjt||B-E zero bias depletion capacitance||F||0||<br />
|-<br />
|vje_bjt||B-E built-in potential||V||0.75||<br />
|-<br />
|mje_bjt||B-E junction grading coefficient||-||0.33||<br />
|-<br />
|cjc_bjt||B-C zero bias depletion capacitance||F||0||<br />
|-<br />
|vjc_bjt||B-C built-in potential||V||0.75||<br />
|-<br />
|mjc_bjt||B-C junction exponential factor||-||0.33||<br />
|-<br />
|tf_bjt||ideal forward transit time||sec||0||<br />
|-<br />
|tr_bjt||ideal reverse transit time||sec||0||<br />
|-<br />
|is_d||diode saturation current||A||1.0e-12||<br />
|-<br />
|rs_d||diode resistance||Ohms||0||<br />
|-<br />
|n_d||diode emission coefficient||-||1||<br />
|-<br />
|cjo_d||diode junction capacitance||F||0||<br />
|-<br />
|vj_d||diode junction potential||V||1||<br />
|-<br />
|m_d||diode grading coefficient|| ||0.5||<br />
|-<br />
|tnom||parameter measurement temperature||deg C||27||<br />
|-<br />
|r1||first base-emitter resistance||Ohms||1k||<br />
|-<br />
|r2||second base-emitter resistance||Ohms||1k||<br />
|-<br />
|}<br />
<br />
== DC Bias Sources Vcc, Vee, Vdd, Vss ==<br />
<br />
[[File:GL12.png]]<br />
<br />
These are simple 1-pin DC voltage sources. Vcc and Vdd provide a positive voltage, while Vee and Vss provide a negative voltage<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|vcc||bias voltage||V||+15||required<br />
|-<br />
|vee||bias voltage||V||-15||required<br />
|-<br />
|vdd||bias voltage||V||+15||required<br />
|-<br />
|vss||bias voltage||V||-15||required<br />
|-<br />
|}<br />
<br />
==Digital-to-Analog Converter (DAC) Bridge==<br />
<br />
[[File:GK43.png]]<br />
<br />
The DAC Bridge takes a digital value from a digital node and can only be eiter &quot;0&quot;, &quot;1&quot;,<br />
or &quot;U&quot;. It then outputs the value &quot;out_low&quot;, &quot;out_high&quot; or &quot;out_udndef&quot;,<br />
or ramps linearly toward one of these &quot;final&quot; values from its curent analog output level. This<br />
ramping speed depends on the values of &quot;t_rise&quot; and &quot;t_fall&quot;.<br />
<br />
Model Identifier: dac_bridge<br />
<br />
Netlist Format:<br />
<br />
A&lt;device_name&gt; [&lt;in_pin&gt; {&lt;in2_pin&gt;&gt; ...}] [&lt;out_pin&gt; {&lt;out2_pin&gt; ...}] &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; dac_bridge {&lt;param1 = value&gt; &lt; param2 = value&gt; ...}<br />
<br />
Example:<br />
<br />
A [1] [2] dac_bridge<br />
<br />
.model dac_bridge dac_bridge out_low = 0 fall_delay = 1n <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|out_low||analog output for 0 digital input||V||0||required<br />
|-<br />
|out_high||analog output for 1 digital input||V||1||required<br />
|-<br />
|out_undef||analog output for undefined digital input||V||0.5||required<br />
|-<br />
|input_load||capacitive input load||F||1p|| <br />
|-<br />
|t_rise||L-to-H delay time||sec||1n|| <br />
|-<br />
|t_fall||H-to-L delay time||sec||1n|| <br />
|-<br />
|}<br />
<br />
==Diode==<br />
<br />
[[File:G9.png]]<br />
<br />
Diodes allow current flow only in one direction, following their symbol's arrow, and thus can be used as simple solid<br />
state switches in AC circuits.<br />
<br />
The standard device parameters are AREA, OFF, IC, and T. They are described below:<br />
<br />
{| class="wikitable"<br />
|-<br />
|AREA||area factor (optional) (If not specified, the default value is 1.0.)<br />
|-<br />
|OFF||initial condition for the DC analysis (optional)<br />
|-<br />
|IC||initial condition (optional) (Used when a transient analysis is desired, which starts from other than the quiescent operating point.)<br />
|-<br />
|T||operating temperature of the device (optional)<br />
|-<br />
|}<br />
<br />
The process models can be either junction diodes or Schottky barrier diodes. Area factor scales the model parameters<br />
IS, RS, CJO, and IBV. VD is the initial voltage, and TEMP is the overriding temperature. Descriptions of the process model parameters are given in the following table:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|IS||saturation current||A||1e-14||<br />
|-<br />
|TNOM||parameter measurement temperature||deg C||27||<br />
|-<br />
|RS||ohmic resistance||Ohms||0||<br />
|-<br />
|N||emission coefficient||-||1||<br />
|-<br />
|TT||transit-time||sec||0||<br />
|-<br />
|CJO||zero-bias junction capacitance||F||0||<br />
|-<br />
|VJ||junction potential||V||1||<br />
|-<br />
|M||grading coefficient||-||0.5||<br />
|-<br />
|EG||activation energy||eV||1.11||<br />
|-<br />
|XTI||saturation current temp. exp.||-||3.0||<br />
|-<br />
|KF||flicker noise coefficient||-||0||<br />
|-<br />
|AF||flicker noise exponent||-||1||<br />
|-<br />
|FC||forward bias junction fit parameter||-||0.5||<br />
|-<br />
|BV||reverse breakdown voltage||V||inf||<br />
|-<br />
|IBV||current at breakdown voltage||A||1e-3||<br />
|-<br />
|}<br />
<br />
==Diode Bridge==<br />
<br />
[[File:GK107.png]]<br />
<br />
This four-pin device is a bridge configuration of four generic diodes.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|IS||saturation current||A||1e-14||<br />
|-<br />
|RS||ohmic resistance||Ohms||0||<br />
|-<br />
|N||emission coefficient||-||1||<br />
|-<br />
|TT||transit-time||sec||0||<br />
|-<br />
|CJO||zero-bias junction capacitance||F||10p||<br />
|-<br />
|VJ||junction potential||V||1||<br />
|-<br />
|M||grading coefficient||-||0.5||<br />
|-<br />
|BV||reverse breakdown voltage||V||1000||<br />
|-<br />
|IBV||current at breakdown voltage||A||1e-3||<br />
|-<br />
|TNOM||parameter measurement temperature||deg C||27||<br />
|-<br />
|}<br />
<br />
==Doubly Center-Tapped Ferrite Core Transformer==<br />
<br />
[[File:GK98.png]]<br />
<br />
This six-pin four-port device models a doubly center-tapped physical transformer with a magnetic ferrite core. Its model is based on XSPICE's magnetic core and inductive coupling models. For this device you need to specify physical parameters like cross sectional area, core length and number of primary and secondary turns. The physical model of the magnetic device is defined by two vectors: magnetic field intensity H in A/m and magnetic flux density B (also known as magnetic induction) in Tesla. The default array values are:<br />
<br />
H_array = [-250 -100 -50 -37.5 -25 -12.5 0 12.5 25 37.5 50 100 250]<br />
<br />
B_array = [-0.375 -0.36 -0.32 -0.29 -0.24 -0.15 0 0.15 0.24 0.29 0.32 0.36 0.375]<br />
<br />
To change the value of H/B arrays, open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|n_prim||number of full-winding primary inductor coupling turns||-||100||required<br />
|-<br />
|n_sec||number of full-winding secondary inductor coupling turns||-||100||required<br />
|-<br />
|area||cross-sectional area||m<sup>2</sup>||1e-5||<br />
|-<br />
|length||core length||m||0.01||<br />
|-<br />
|}<br />
<br />
== DPDT Switch ==<br />
<br />
[[File:GK74.png]]<br />
<br />
This is an 8-pin device that models a double-pole double-throw switch. It has two input signals and four output pins. When the control voltage is at the high state, the first and second input voltages are transferred to the first and third output pins, respectively. When the control voltage is at the low state, the first and second input voltages are transferred to the second and fourth output pins, respectively. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|von||turn-on voltage||V||3.3||<br />
|-<br />
|voff||turn-off voltage||V||0.3||<br />
|-<br />
|vt||threshold voltage||V||1.0||<br />
|-<br />
|ron||on resistance||Ohms||1.0||<br />
|-<br />
|roff||off resistance||Ohms||1Gig||<br />
|-<br />
|}<br />
<br />
== DPST Switch ==<br />
<br />
[[File:GK73.png]]<br />
<br />
This is a 6-pin device that models a double-pole single-throw switch. It has two input signals and two output signals. When the switch on, the first and second input voltages are transferred to the first and second output pins, respectively. When the switch is off, the output pin do not receive any input signals. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|von||turn-on voltage||V||3.3||<br />
|-<br />
|voff||turn-off voltage||V||0.3||<br />
|-<br />
|vt||threshold voltage||V||1.0||<br />
|-<br />
|ron||on resistance||Ohms||1.0||<br />
|-<br />
|roff||off resistance||Ohms||1Gig||<br />
|-<br />
|}<br />
<br />
==Ferrite Core Transformer==<br />
<br />
[[File:GK95.png]]<br />
<br />
This four-pin two-port device models a physical transformer with a magnetic ferrite core. Its model is based on XSPICE's magnetic core and inductive coupling models. For this device you need to specify physical parameters like cross sectional area, core length and number of primary and secondary turns. The physical model of the magnetic device is defined by two vectors: magnetic field intensity H in A/m and magnetic flux density B (also known as magnetic induction) in Tesla. The default array values are:<br />
<br />
H_array = [-250 -100 -50 -37.5 -25 -12.5 0 12.5 25 37.5 50 100 250]<br />
<br />
B_array = [-0.375 -0.36 -0.32 -0.29 -0.24 -0.15 0 0.15 0.24 0.29 0.32 0.36 0.375]<br />
<br />
To change the value of H/B arrays, open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|n_prim||number of primary turns||-||100||required<br />
|-<br />
|n_sec||number of secondary turns||-||100||required<br />
|-<br />
|area||cross-sectional area||m<sup>2</sup>||1e-5||<br />
|-<br />
|length||core length||m||0.01||<br />
|-<br />
|}<br />
<br />
== FM Modulated Source ==<br />
<br />
[[File:GL24.png]]<br />
<br />
This is a voltage source with a single-tone frequency modulated waveform. The FM modulation index MDI is defined as the ratio of maximum frequency deviation to maximum signal amplitude. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|V0||offset||V||0||<br />
|-<br />
|VA||amplitude||V||1||<br />
|-<br />
|FC||carrier frequency ||Hz||1||required<br />
|-<br />
|MDI||modulation index||-||0||required<br />
|-<br />
|FS||signal frequency ||Hz||1||required<br />
|-<br />
|}<br />
<br />
==Frequency Meter==<br />
[[File:G114.png]]<br />
<br />
The Frequency Meter is a four-pin shunt device that is connected in parallel with an AC source just like a voltmeter and measures the operating frequency of the AC circuit. The input pins are connected across the AC source. The voltage across the output pins is equal to the frequency of the source in Hertz within a scale factor SF. Note that the Frequency Meter is designed to work with a single-tone AC source of unit amplitude. If the amplitude of the source is not one, multiply the SF parameter by the non-unit source amplitude value. The output voltage of the Frequency Meter can be used in conjunction with linear or nonlinear dependent sources to model frequency-dependent quantities.<br />
<br />
<br />
Model Identifier: fmeter<br />
<br />
<br />
Parameters:<br />
<br />
The only parameter is the scale factor SF with a default value of 1.0. Set SF = 1e-6 to read out the frequency in MHz. Set SF = 1e-9 to read out the frequency in GHz. Set SF = 6.283185 (2*pi) to read out the angular frequency &omega; in radian/s. <br />
<br />
== Fuse ==<br />
<br />
[[File:GK76.png]]<br />
<br />
This is a 2-pin interactive current-controlled switch. If the current passing through the fuse is less than a specified threshold current, the switch is closed. If the current exceeds the threshold level, the fuse breaks and remains open thereafter. The device's symbol changes to display its state. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|r||resistance when intact||Ohms||1.0||<br />
|-<br />
|i_thresh||threshold current||A||1.0||<br />
|-<br />
|}<br />
<br />
==Ground==<br />
<br />
[[File:G15.png]]<br />
<br />
Ground has a voltage of zero (0) and is used as a reference to compute electrical values in the circuit. <br />
All circuits <B>must</B> be grounded to be properly simulated. There is no limit on the number of grounds<br />
you may use in a circuit. All components connected to ground are referenced to a common point and treated<br />
as linked through ground.<br />
<br />
==Hysteresis Block (XSPICE)==<br />
<br />
[[File:G37.png]]<br />
<br />
The Hysteresis block is a simple buffer stage that provides hysteresis of the output with respect to the<br />
input. The in_low and in_high parameter values. The output values are limited to out_lower_limit and<br />
out_upper_limit. The value of \93hyst\94 is added to the in_low and in_high points in order to specify the<br />
points at which the slope of the hysteresis function would normally change abruptly as the input transitions<br />
from a low to a high value. Likewise, the value of \93hyst\94 is subtracted from the in_high and in_low values<br />
in order to specify the points at which the slope of the hysteresis function would normally change abruptly<br />
as the input transitions from a high to a low value. In fact, the slope of the hysteresis function is<br />
never allowed to change abruptly but is smoothly varied whenever the input_dowmain smoothing parameter<br />
is set greater than zero.<br />
<br />
Model Identifier: hyst<br />
<br />
Netlist Format:<br />
<br />
A&lt;device_name&gt; &lt;in_pin&gt; &lt;out_pin&gt; &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; hyst {&lt;param1 = value&gt; &lt; param2 = value&gt; ...}<br />
<br />
Example:<br />
<br />
A1 1 2 hysteresis_block<br />
<br />
.model hysteresis_block hyst in_low = 0.0 in_high = 1.0<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!Name!!Description!!Default<br />
|-<br />
|In_low||input low value||0.0<br />
|-<br />
|in_high||input high value||1.0<br />
|-<br />
|hyst||hysteresis||0.1<br />
|-<br />
|out_lower_limit||output lower limit||0.0<br />
|-<br />
|out_upper_limit||output upper limit||1.0<br />
|-<br />
|input_domain||input smoothing domain||0.01<br />
|-<br />
|fraction||smoothing fraction/absolute value switch||true<br />
|-<br />
|}<br />
<br />
==Ideal Center-Tapped Transformer with Push-Pull Input==<br />
<br />
[[File:XFMR4.png]]<br />
<br />
The ideal center-tapped transformer with push-pull input is a five-pin three-port device with two primary input ports and one secondary output port. Its model is based on the [[Glossary_of_Generic_Analog_Devices#Ideal_Transformer | Ideal Transformer]], and the relationship between its primary and secondary voltages is given by:<br />
<br />
<math> \frac{v_P1}{v_S} = \frac{v_P2}{v_S} = n </math><br />
<br />
where v<sub>S</sub> is the secondary voltage, v<sub>P1</sub> is measured between the top primary pin P1 and the center tap pin, and v<sub>P2</sub> is measured between the center tap pin and the bottom primary pin P2. The red dots show the polarity of the windings on each side. This model has one parameter: ratio = n = N<sub>P1</sub>/N<sub>S</sub> = N<sub>P2</sub>/N<sub>S</sub>, which represents the primary-to-secondary (half-winding) turns ratio. <br />
<br />
==Ideal Center-Tapped Transformer with Push-Pull Output==<br />
<br />
[[File:XFMR3.png]]<br />
<br />
The ideal center-tapped transformer with push-pull output is a five-pin three-port device with one primary input port and two secondary output ports. Its model is based on the [[Glossary_of_Generic_Analog_Devices#Ideal_Transformer | Ideal Transformer]], and the relationship between its primary and secondary voltages is given by:<br />
<br />
<math> \frac{v_P}{v_{S1}} = \frac{v_P}{v_{S2}} = n </math><br />
<br />
where v<sub>P</sub> is the primary voltage, v<sub>S1</sub> is measured between the top secondary pin S1 and the center tap pin, and v<sub>S2</sub> is measured between the center tap pin and the bottom secondary pin S2. The red dots show the polarity of the windings on each side. This model has one parameter: ratio = n = N<sub>P</sub>/N<sub>S1</sub> = N<sub>P</sub>/N<sub>S2</sub>, which represents the primary-to-secondary (half-winding) turns ratio.<br />
<br />
==Ideal Diode==<br />
<br />
[[File:GK106.png]]<br />
<br />
This 2-pin device is a very basic and primitive model of a diode as a rectifier or switch. When the voltage across the device's terminals is positive, it acts as a short circuit. When the voltage across the device's terminals is negative, it acts as an open circuit. <br />
<br />
Parameters: <br />
<br />
None<br />
<br />
==Ideal Operational Amplifier (Op-Amp)==<br />
<br />
[[File:GK105.png]]<br />
<br />
This is a very basic and primitive model of an operational amplifier. It has only one parameter, open loop gain with a default value of 50,000, which is adequate for most cases. The ideal Op-Amp device doesn't require any DC bias voltages. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|A||open loop gain||-||50,000||<br />
|-<br />
|}<br />
<br />
==Ideal Transformer==<br />
<br />
[[File:XFMR1.png]]<br />
<br />
The ideal transformer is a four-pin two-port device with the following relationship between the voltages and currents at its primary and secondary ports:<br />
<br />
<math> \frac{v_P}{v_S} = - \frac{i_S}{i_P} = \frac{N_P}{N_S} = n </math><br />
<br />
where v<sub>P</sub>, i<sub>P</sub>, N<sub>P</sub> are the primary voltage, current and number of turns, respectively, and v<sub>S</sub>, i<sub>S</sub>, N<sub>S</sub> are the secondary voltage, current and number of turns, respectively. The red dots show the polarity of the windings on each side. This model has one parameter: ratio = n = N<sub>P</sub>/N<sub>S</sub>, which represents the primary-to-secondary turns ratio. Note that the ideal transformer model is defined based on controlled sources and does not involve any magnetic physical parameters as opposed to mutual inductors or ferrite core transformer.<br />
<br />
==Inductance Meter==<br />
<br />
[[File:G37.png]]<br />
<br />
The Inductance Meter measures the total inductance between a circuit node and the ground. The input pin of the device is connected to the measurement node. The output voltage of the device is then a scaled value equal to the total inductance seen on its input multiplied by the gain parameter. This model is primarily intended as a building block for other models which must sense an inductance value and alter their behavior based upon it. Care must be exercised when connecting an Inductance Meter to the inductors of a circuit. This is due to the fact that inductors are treated by SPICE as current sources. This can cause a problem when an inductor is connected in series with a current source, or in series with a voltmeter, or in series with another inductor. <br />
<br />
Model Identifier: lmeter<br />
<br />
Netlist Format:<br />
<br />
A&lt;device_name&gt; &lt;in_pin&gt; &lt;out_pin&gt; &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; imeter {&lt;gain = value&gt;}<br />
<br />
Example:<br />
<br />
A1 1 2 inductance_meter<br />
<br />
.model inductance_meter lmeter gain = 1 <br />
<br />
Parameters:<br />
<br />
The only parameter is the gain with a default value of 1.0.<br />
<br />
==Inductive Coupler Block==<br />
<br />
[[File:GK99.png]]<br />
<br />
The Inductive Coupler Block couples any two existing inductors. This block doesn't have any pins because it doesn't actually represent inductors, only the coupling between them. This is useful if you want to<br />
couple two inductors that are in different parts of the circuit, or if you want to couple more than two inductors together. In the latter case, use more than one of these, with each one coupling a pair of inductors.<br />
<br />
The standard parameters are Inductor1, Inductor2, and k. Inductor1 is the name of first inductor, Inductor2 is the name of the second inductor, and k is the coefficient of coupling, 0 &lt; k &le; 1.<br />
<br />
==Inductive Coupling (XSPICE)==<br />
<br />
[[File:G41.png]]<br />
<br />
This function is a conceptual model which is used as a building block to create a wide variety of inductive and magnetic circuit models. This function is normally used in<br />
conjunction with the “core” model, but it can also be used with resistors, hysteresis blocks, etc. to build up systems which mock the behavior of linear and nonlinear components.<br />
The lcouple takes as an input (on the “l” port) a current. This current value is multiplied by the num_turns value, N, to produce an output value (a voltage value which appears on the<br />
mmf_out port). The mmf_out acts similar to a magnetomotive force in a magnetic circuit;<br />
when the lcouple is connected to the “core” model, or to some other resistive device, a current will flow. This current value (which is modulated by whatever the lcouple is<br />
connected to) is then used by the lcouple to calculate a voltage “seen” at the “l” port. The voltage is a function of the derivative with respect to time of the current value seen at mmf_out.<br />
<br />
The most common use for lcouple will be as a building block in the construction of transformer models. To create a transformer with a single input and a single output, you<br />
would require two lcouple models plus one “core” model. <br />
<br />
Example:<br />
<br />
A1 (1 0) (2 3) lcouple1<br />
<br />
.model lcouple1 lcouple ( num_turns = 10 )<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|num_turns||number of turns||-||1||required<br />
|-<br />
|}<br />
<br />
==Inductor==<br />
<br />
[[File:GK121.png]]<br />
<br />
Inductors are used to store magnetic energy. An inductor's ability to counteract current changes passing through it is called its inductance (L), which is<br />
measured in Henrys. In a (steady-state) DC analysis, the inductor acts like a short circuit. It is indeed treated as a current source, which can be problematic if an inductor is connected in series with a current source, or in series with a voltmeter, or in series with another inductor. The resistor may be of negligible value or one that accounts for the coil resistance of the inductor. In AC and transient analyses, the inductor develops a voltage across it in response to the changing magnetic<br />
flux within its coil. <br />
<br />
An inductor's transient behavior is described by the equation:<br />
<br />
v(t) = L*(di(t)/dt) <br />
<br />
The inductor's initial condition is optional. It is the initial value of the inductor current in Amperes that flows from node N+ through the inductor to node N-. The only time that the initial current matters is when the simulator performs a transient analysis, and the "Use Initial Conditions" checkbox is checked. <br />
<br />
An inductor's AC behavior is described by the equation: <br />
<br />
v = j &omega; * L * i<br />
<br />
All inductor names must begin with L.<br />
<br />
Netlist Format: <br />
<br />
L<device_name> <N+> <N-> <value> <br />
<br />
Example: <br />
<br />
L1 1 2 10u<br />
<br />
==Inductor with Ferrite Core==<br />
<br />
[[File:GK94.png]]<br />
<br />
This 2-pin device models a physical inductor with a magnetic ferrite core. Its model is based on XSPICE's magnetic core and inductive coupling models. Unlike the standard inductor device, you do not specify an inductance value for the inductor with ferrite core. Rather, you specify physical parameters like cross sectional area, core length and number of turns. The physical model of the magnetic device is defined by two vectors: magnetic field intensity H in A/m and magnetic flux density B (also known as magnetic induction) in Tesla. The default array values are:<br />
<br />
H_array = [-250 -100 -50 -37.5 -25 -12.5 0 12.5 25 37.5 50 100 250]<br />
<br />
B_array = [-0.375 -0.36 -0.32 -0.29 -0.24 -0.15 0 0.15 0.24 0.29 0.32 0.36 0.375]<br />
<br />
To change the value of H/B arrays, open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|n_turns||number of turns||-||100||required<br />
|-<br />
|area||cross-sectional area||m<sup>2</sup>||1e-5||<br />
|-<br />
|length||core length||m||0.01||<br />
|-<br />
|}<br />
<br />
== Insulated Gate Bipolar Transistor (IGBT)==<br />
<br />
[[File:GK111.png]]<br />
<br />
This is a 3-pin parameterized Insulated Gate Bipolar Transistor (IGBT) device with three pins: Collector(C), Gate (G), and Emitter (E). It is primarily used as a fast electronic switch. The IGBT combines the simple gate-drive characteristics of MOSFETs with the high-current and low-saturation-voltage capability of bipolar transistors. The device's model consists of an isolated gate FET for the control input, and a PNP bipolar power transistor as a switch. To further modify the internal device models, open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|cap||parasitic capacitance||F||1n||<br />
|-<br />
|rg||gate resistance||Ohms||5||<br />
|-<br />
|re||emitter resistance||Ohms||0.05||<br />
|-<br />
|bf||pnp transistor forward beta||-||1||<br />
|-<br />
|vto||MOSFET threshold voltage||V||5||<br />
|-<br />
|kt||MOSFET transconductance||-||2.99||<br />
|-<br />
|cgso||MOSFET voltage gate-source overlap capacitance||F||5u||<br />
|-<br />
|nd||diode emission coefficient||-||50||<br />
|-<br />
|cjo||diode junction capacitance||F||1n||<br />
|-<br />
|}<br />
<br />
==Interactive Switch==<br />
<br />
[[File:GK75.png]]<br />
<br />
This device is an interactive switch that can be closed or opened either directly from the Schematic Editor by clicking on its symbol or from the Instrument Panel.<br />
<br />
==Junction Field Effect Transistor (JFET)==<br />
<br />
[[File:G12.png]]<br />
<br />
The JFET is the simplest transistor device and has three pins: gate, drain and source. The JFET defaults are based on the Shichman and Hodges FET model. This is a square-law device because of the expression relating the drain current to the gate-to-source voltage: <br />
Idrain=*(VGS-Vthreshold)2. In real JFETs, near the saturation point, the drain currents vary with the drain voltages. This can be modeled by the following formula: Idrain=*(VGS-VTO)2*(1+*VDS), which yields an increasing<br />
drain current for increasing values of VDS.<br />
<br />
The gate-to-source and gate-to-drain junctions each have a nonlinear capacitor. The zero-bias capacitance value is selected for each junction.<br />
<br />
The standard device parameters are AREA, OFF, IC, and T. They are described below:<br />
<br />
{| class="wikitable"<br />
|-<br />
|AREA||area factor (optional) (If not specified, the default value is 1.0.)<br />
|-<br />
|OFF||initial condition for the DC analysis (optional)<br />
|-<br />
|IC||initial condition (optional) (Used when a transient analysis is desired, which starts from other than the quiescent operating point.)<br />
|-<br />
|T||operating temperature of the device (optional)<br />
|-<br />
|}<br />
<br />
The process model parameters are listed in the following table:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!EXAMPLE<br />
|-<br />
|VTO||threshold voltage||V||-2||-2<br />
|-<br />
|BETA||transconductance parameter||A/V2||1.0e-4||1.0e-3<br />
|-<br />
|LAMBDA||channel-length modulation parameter||1/V||0||1.0e-4<br />
|-<br />
|RD||drain ohmic resistance||ohms||0||100<br />
|-<br />
|RS||source ohmic resistance||ohms||0||100<br />
|-<br />
|CGS||zero-bias G-S junction capacitance||F||0||5pF<br />
|-<br />
|CGD||zero-bias G-D junction capacitance||F||0||1pF<br />
|-<br />
|PB||gate junction potential||V||1||0.6<br />
|-<br />
|IS||gate junction saturation current||A||1.0e-14||1.0e-14<br />
|-<br />
|B||doping tail parameter|| ||1||1.1<br />
|-<br />
|KF||flicker-noise coefficient|| ||0|| <br />
|-<br />
|AF||flicker-noise exponent|| ||1|| <br />
|-<br />
|FC||coefficient for forward-bias depletion capacitance formula|| ||0.5|| <br />
|-<br />
|TNOM||parameter measurement temperature||deg. C||27||50<br />
|-<br />
|}<br />
<br />
== Light Emitting Diode (LED) ==<br />
<br />
[[File:GK114.png]]<br />
<br />
This is a two-pin parameterized diode device that emits light of a certain wavelength when it is forward-biased.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|rs||ohmic resistance||Ohms||10||<br />
|-<br />
|vj||junction potential||V||0.6||<br />
|-<br />
|cjo||zero bias junction capacitance||F||10p||<br />
|-<br />
|tt||transit time||sec||0.1n||<br />
|-<br />
|}<br />
<br />
==Linear Current-Controlled Current Source (CCCS)==<br />
<br />
[[File:G2.png]]<br />
<br />
The CCCS is a current source whose current is directly proportional to the current across a controlling Ammeter or a voltage source. There are two versions: two-terminal and four-terminal. For the two-terminal device, you must specify the name of the controlling Ammeter or voltage source, as well as the current gain, which has a default value of one. The four-terminal device already provides nodes for a controlling ammeter, and you just specify the current gain. <br />
<br />
Model Identifier: cccs<br />
<br />
Netlist Format: <br />
<br />
F<device_name> <N+> <N-> <controlling_device_name> <value><br />
<br />
Example: <br />
<br />
F1 1 0 V1 1.0<br />
<br />
==Linear Current-Controlled Voltage Source (CCVS)==<br />
<br />
[[File:G4.png]]<br />
<br />
The CCVS is a voltage source whose voltage is directly proportional to the current through a controlling ammeter or a voltage source. There are two versions: two-terminal and four-terminal. For the two-terminal device, you must specify the name of the controlling Ammeter or voltage source, as well as the trans-resistance gain, which has a default value of one. The four-terminal device already provides nodes for a controlling ammeter, and you just specify the trans-resistance gain. <br />
<br />
Model Identifier: ccvs<br />
<br />
Netlist Format: <br />
<br />
H<device_name> <N+> <N-> <controlling_device_name> <value><br />
<br />
Example: <br />
<br />
H1 1 0 V1 1.0<br />
<br />
==Linear Voltage-Controlled Current Source (VCCS)==<br />
<br />
[[File:G3.png]]<br />
<br />
The VCCS is a current source whose current is directly proportional to the voltage across a controlling voltmeter or the voltage between two circuit nodes. There are two versions: two-terminal and four-terminal. For the two-terminal device, you must specify the name of the controlling voltmeter or the two controlling nodes, as well as the trans-conductance gain, which has a default value of one. The four-terminal device already provides nodes for a controlling voltmeter, and you just specify the trans-conductance gain. <br />
<br />
Model Identifier: vccs<br />
<br />
Netlist Format: <br />
<br />
G<device_name> <N+> <N-> <NC+> <NC-> <value><br />
<br />
Example: <br />
<br />
G1 1 0 2 0 1.0<br />
<br />
==Linear Voltage-Controlled Voltage Source (VCVS)==<br />
<br />
[[File:G1.png]]<br />
<br />
The VCVS is a voltage source whose voltage is directly proportional to the voltage across a controlling voltmeter of the voltage between two circuit nodes. There are two versions: two-terminal and four-terminal. For the two-terminal device, you must specify the name of the controlling voltmeter or the two controlling nodes, as well as the voltage gain, which has a default value of one. The four-terminal device already provides nodes for a controlling voltmeter, and you just specify the voltage gain. <br />
<br />
Model Identifier: vcvs<br />
<br />
Netlist Format: <br />
<br />
E<device_name> <N+> <N-> <NC+> <NC-> <value><br />
<br />
Example: <br />
<br />
E1 1 0 2 0 1.0<br />
<br />
==Lossless Transmission Line==<br />
<br />
[[File:G21.png]]<br />
<br />
The lossless transmission line is a four-pin two-port device that models only one propagating mode of an ideal transmission line. When using this SPICE model, should all four nodes of the actual circuit be distinct, two modes may be activated, and this device would be insufficient for that purpose. To circumvent this potential problem, two transmission line devices would be required. Due to the implementation details, you may produce more accurate simulation results with a lossy transmission line device with zero loss.<br />
<br />
Optional initial condition parameters are the voltage and current at each of the transmission line ports.<br />
<br />
The standard device parameters are Z0, TD, F, NL, IC, described below:<br />
<br />
{| class="wikitable"<br />
|-<br />
|Z0||characteristic impedance<br />
|-<br />
|TD||transmission delay<br />
|-<br />
|F||frequency<br />
|-<br />
|NL||normalized electrical length of the transmission line with respect to the wavelength in the line at frequency F. (If F is specified, but NL is not, the default is 0.25.)<br />
|-<br />
|IC||initial condition (Specifies the voltage and current at each of the transmission line ports.)<br />
|-<br />
|}<br />
<br />
==Lossy Transmission Line==<br />
<br />
[[File:G22.png]]<br />
<br />
The lossy transmission line is a four-pin two-port convolution model for uniform constant-parameter distributed lines. MNAME is the process model name, which<br />
includes a set of pre-specified options as described below.<br />
<br />
The device model [[parameters]] are listed in the following table:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!EXAMPLE<br />
|-<br />
|R||resistance /length||Ohm /m||0.0||0.2<br />
|-<br />
|L||inductance/length||henrys/m||0.0||9.13e-9<br />
|-<br />
|C||capacitance/length||farads/m||0.0||3.65e-12<br />
|-<br />
|LEN||length of line||m||none||1.0<br />
|-<br />
|LININTERP||use linear interpolation||flag||not set||set<br />
|-<br />
|QUADINTERP||use quadratic interpolation||flag||not set||set<br />
|-<br />
|MIXEDINTERP||use linear when quadratic seems bad||flag||not set||set<br />
|-<br />
|COMPACTREL||special reltol for straight line checking||flag||RETOL||1.0e-3<br />
|-<br />
|COMPACTABS||special abstol for straight line checking||flag||ABSTOL||1.0e-9<br />
|-<br />
|NOCONTROL||don't do complex time control||flag||not set||set<br />
|-<br />
|STEPLIMIT||always limit timestep to 0.8*(delay of line)|| || || <br />
|-<br />
|NOSTEPLIMIT||don't always limit timestep to 0.8*(delay of line)||flag||not set||set<br />
|-<br />
|TRUNCNR||use Newton-Raphson method for timestep calculation in LTRAtrunc||flag||not set||set<br />
|-<br />
|TRUNCDONTCUT||don't limit timestep to keep impulse-response errors low||flag||not set||set<br />
|-<br />
|}<br />
<br />
<P CLASS="Normal-1"><br />
The RLC (uniform transmission line with series loss only), RC (uniform RC line), LC (lossless transmission<br />
line), and RG (distributed series resistance and parallel conductance only) lines have been implemented. <br />
The length (LEN) must be given. COMPACTREL and COMPACTABS control the compaction of past history values<br />
used in convolution. Larger values for these lower accuracy but improve speed. These are used with the<br />
TRYTOCOMPACT option. </P><br />
<br />
==Magnetic Core (XSPICE)==<br />
<br />
[[File:G42.png]]<br />
<br />
This device is used as a building block to create a wide variety of inductive and magnetic circuit models. It is almost always to be used in conjunction with the "lcouple" model to build up systems which simulate the behavior of linear and nonlinear magnetic components. There are two fundamental modes of operation for the core model. These are the "PWL" mode (which is the default and most<br />
likely to be of use to you) and the "Hysteresis" mode.<br />
<br />
<b>PWL Mode (mode = 1)</b><br />
<br />
In the PWL mode, the model takes a voltage as input which it treats as a magnetomotive force (mmf) value. This value is divided by the total effective length of the core to produce a value for the Magnetic Field Intensity, H, which is then used to find the corresponding Flux Density, B, using the piecewise linear relationship described by you in the H_array / B_array coordinate pairs. B is then multiplied by the cross-sectional area of the core to find the Flux value, which is output as a current. The pertinent mathematical equations are:<br />
<br />
H = mmf / L, where L = Length (in apmere-turns/meter)<br />
<br />
B = f(H)<br />
<br />
&Phi; = B * A, where A = Area<br />
<br />
The B value is derived from a piecewise linear transfer function described to the model by the H_array and B_array coordinate pairs. This transfer function does not include hysteretic effects; for that, you would need to substitute a HYST model for the core. The magnetic flux value &Phi; in turn is used by the "lcouple"<br />
code model to obtain a value for the voltage reflected back across its terminals to the driving electrical circuit.<br />
<br />
<b>Hysteresis Mode (mode = 2)</b><br />
<br />
In the Hysteresis mode, the model takes a voltage as input which it treats as a magnetomotive force (mmf)<br />
value. This value is used as input to the equivalent of a hysteresis code model block. The parameters<br />
defining the input low and high values, the output low and high values, and the amount of hysteresis are<br />
as in that model. The output from this mode, as in PWL mode, is a current value which is seen across the magnetic core port.<br />
<br />
One final note to be made about the two core models is that certain parameters are specific to one or the other. In particular, the in_low, in_high, out_lower_limit, out_upper_limit, and hysteresis parameters are not available in PWL mode. Likewise, the H_array, B_array, area, ad length values are unavailable<br />
in Hysteresis mode. The input_domain and fraction parameters are common to both modes (though their behavior is somewhat different; for explanation of the input_domain and fraction values for the Hysteresis mode, please refer to the Hysteresis Block discussion.<br />
<br />
Model Identifier: core<br />
<br />
Netlist Format:<br />
<br />
A&lt;device_name&gt; &lt;mc1 _pin&gt; &lt;mc2_pin&gt; &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; core area = &lt;value&gt; length = &lt;value&gt; H_array = [&lt;value1&gt; &lt;value2&gt;] B_array = [&lt;value1&gt; &lt;value2&gt;]<br />
{&lt;param1 = value&gt; &lt; param2 = value&gt; ...}<br />
<br />
Example:<br />
<br />
A1 1 2 core<br />
<br />
.model core core area = 1 length = 1 H_array = [0 1] B_array = [0 1] <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!Name!!Description!!Default!!Notes<br />
|-<br />
|H_array||magnetic field array||[0 1]||required<br />
|-<br />
|B_array||flux density array||[0 1]||required<br />
|-<br />
|Area||cross-sectional area||1||required<br />
|-<br />
|Length||core length||1||required<br />
|-<br />
|Input_domain||input smoothing domain||0.01|| <br />
|-<br />
|Fraction||smoothing fraction/abs switch||True|| <br />
|-<br />
|Mode||mode switch (1=pwl, 2=hyst)||1|| <br />
|-<br />
|In_low||input low value||0.0|| <br />
|-<br />
|In_high||input high value||1.0|| <br />
|-<br />
|Hyst||hysteresis||0.1|| <br />
|-<br />
|Out_lower_limit||output lower limit||0.0|| <br />
|-<br />
|Out_upper_limit||output upper limit||1.0|| <br />
|-<br />
|}<br />
<br />
==Marker==<br />
<br />
[[File:G16.png]]<br />
<br />
The marker serves several purposes:<br />
<br />
* It can appear as a default plot in simulations if the &quot;Voltage Probe&quot; box is checked.<br />
<br />
* It can be used to set the initial voltage or voltage guess at the node it is connected to.<br />
<br />
* It can be used as a port for a subcircuit when you choose the checkbox labeled "Use as Subcircuit Port" is checked.<br />
<br />
* It can be used to explicitly set a node number in place of the arbitrarily assigned node number by the program. In this case, make sure the &quot;Set Node Index&quot; box is checked. Otherwise, it will act as just a voltage probe.<br />
<br />
* It can be used to connect different parts of a circuit in place of wires. To use markers as virtual connectors, place them at points where wires would otherwise connect. Then set the Part Title of the two (or more) markers to the same name, and they will act as a single circuit node.<br />
<br />
==MESFET==<br />
<br />
[[File:G14.png]]<br />
<br />
The MESFET is a Schottky-barrier gate FET with six times greater electron mobility than silicon. MESFETs are important devices for creating high frequency circuits. They function by creating a potential barrier between the gate and the channel when the metal gate<br />
contacts the gallium-arsenide substrate. Electron velocity saturates for fields approximately ten times lower than with silicon. The Curtice model includes linear and saturated operation.<br />
<br />
The standard parameters are AREA, OFF, IC, and T. They are described below:<br />
<br />
{| class="wikitable"<br />
|-<br />
|AREA||area factor (optional) (If not specified, the default value is 1.0.)<br />
|-<br />
|OFF||initial condition for the DC analysis (optional)<br />
|-<br />
|IC||initial condition (optional) (Used when a transient analysis is desired, which starts from other than the quiescent operating point.)<br />
|-<br />
|T||operating temperature of the device (optional)<br />
|-<br />
|}<br />
<br />
All the MESFET process model parameters are described in the following table:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!EXAMPLE<br />
|-<br />
|VTO||pinch-off voltage||V||-2||-2<br />
|-<br />
|BETA||transconductance parameter||A/V2||1.0e-4||1.0e-3<br />
|-<br />
|B||doping tail extending parameter||1/V||0.3||0.3<br />
|-<br />
|ALPHA||saturation voltage parameter||1/V||2||2<br />
|-<br />
|LAMBDA||channel-length modulation parameter||1/V||0||1.0e-4<br />
|-<br />
|RD||drain ohmic resistance||Ohm||0||100<br />
|-<br />
|RS||source ohmic resistance||Ohm||0||100<br />
|-<br />
|CGS||zero-bias G-S junction capacitance||F||0||5pF<br />
|-<br />
|CGD||zero-bias G-D junction capacitance||F||0||1pF<br />
|-<br />
|PB||gate junction potential||V||1||0.6<br />
|-<br />
|KF||flicker noise coefficient||-||0|| <br />
|-<br />
|AF||flicker noise exponent||-||1|| <br />
|-<br />
|FC||coefficient for forward-bias depletion capacitance formula||-||0.5|| <br />
|-<br />
|}<br />
<br />
==MOSFET==<br />
<br />
[[File:G13.png]]<br />
<br />
The MOSFET is an active device that has up to 4 pins. The three standard pins are gate, drain, and source. These are given in the default symbol. The bulk node, which is grounded by default, is the fourth pin. The MOSFET with the bulk is named mos_n_lvl1_4 (the lvl1 is for level 1, the n for nmos, and the 4 for 4 pins.)<br />
<br />
The standard [[parameters]] are L, W, AD, AS, PD, PS, NRD, NRS, OFF, IC, and T. They are described below:<br />
<br />
{| class="wikitable"<br />
|-<br />
|L||channel length, in meters<br />
|-<br />
|W||channel width, in meters<br />
|-<br />
|AD,AS||areas of the drain and source diffusions, in meters2<br />
|-<br />
|PD,PS||perimeters of drain and source junctions, in meters(They default to 0.0.)<br />
|-<br />
|NRD,NRS||equivalent number of squares of the drain and source diffusions (These values multiply the sheet resistance for an accurate representation of parasitic series drain and source resistance of each transistor. The default value is 1.0.)<br />
|-<br />
|OFF||initial condition for the DC analysis (optional)<br />
|-<br />
|IC||initial condition (optional) (Used when a transient analysis is desired, which starts from other than the quiescent operating point.)<br />
|-<br />
|T||operating temperature of the device (optional)<br />
|-<br />
|}<br />
<br />
There are five different default models: square-law I-V characteristic, analytical, semi-empirical, and BSIM and BSIM2 (Berkeley Short-channel IGFET Model), which include second-order effects such as channel-length<br />
modulation, subthreshold conduction, scattering-limited velocity saturation, small-size effects, and charge-controlled capacitance. The process parameter LEVEL specifies which of the models is chosen as indicated below:<br />
<br />
{| class="wikitable"<br />
|-<br />
|LEVEL 1||Schichman-Hodges<br />
|-<br />
|LEVEL 2||MOS2<br />
|-<br />
|LEVEL 3||MOS3<br />
|-<br />
|LEVEL 4||BSIM<br />
|-<br />
|LEVEL 5||BSIM2<br />
|-<br />
|LEVEL 6||MOS6<br />
|-<br />
|}<br />
<br />
The process model [[parameters]] for levels 1,2,3, and 6 are listed in the following table:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!EXAMPLE<br />
|-<br />
|LEVEL||model index|| ||1|| <br />
|-<br />
|VTO||zero-bias threshold voltage||V||0.0||1.0<br />
|-<br />
|KP||transconductance parameter||A/V2||2e-5||3.1e-5<br />
|-<br />
|GAMMA||bulk threshold parameter||V1/2||0.0||0.37<br />
|-<br />
|PHI||surface potential||V||0.6||0.65<br />
|-<br />
|LAMBDA||channel-length modulation (level 1 & 2 only)||1/V||0.0||0.02<br />
|-<br />
|RD||drain ohmic resistance||ohms||0.0||1.0<br />
|-<br />
|RS||source ohmic resistance||ohms||0.0||1.0<br />
|-<br />
|CBD||zero-bias B-D junction capacitance||F||0.0||20fF<br />
|-<br />
|CBS||zero-bias B-S junction capacitance||F||0.0||20fF<br />
|-<br />
|IS||bulk junction saturation current||A||1.0e-14||1.0e-15<br />
|-<br />
|PB||bulk junction potential||V||0.8||0.87<br />
|-<br />
|CGSO||gate-source overlap capacitance per meter channel width||F/m||0.0||4.0e-11<br />
|-<br />
|CGDO||gate-drain overlap capacitance per meter channel width||F/m||0.0||4.0e-11<br />
|-<br />
|CGBO||gate-bulk overlap capacitance per meter channel length||F/m||0.0||2e-10<br />
|-<br />
|RSH||drain & source diffusion sheet resistance||ohm/area||0.0||10.0<br />
|-<br />
|CJ||zero-bias bulk junction bottom capacitance per meter2 junction area||F/m2||0.0||2e-4<br />
|-<br />
|MJ||bulk junction bottom grading coefficient|| ||0.5||0.5<br />
|-<br />
|CJSW||zero-bias bulk junction sidewall capacitance per meter junction perimeter||F/m||0.0||1.0e-9<br />
|-<br />
|MJSW||bulk junction sidewall grading coefficient|| ||0.5, 0.33 (level1), (level2,3)|| <br />
|-<br />
|JS||bulk junction saturation current per meter2 of junction area||A/m2|| ||1.0e-8<br />
|-<br />
|TOX||oxide thickness||meter||1.0e-7||1.0e-7<br />
|-<br />
|NSUB||substrate doping||1/cm3||0.0||4.0e15<br />
|-<br />
|NSS||surface state density||1/cm2||0.0||1.0e10<br />
|-<br />
|NFS||fast surface state density||1/cm2||0.0||1.0e10<br />
|-<br />
|TPG||type gate material(+1 if opp. substrate, 0 if A1 gate, -1 if same as substrate)|| ||1.0|| <br />
|-<br />
|XJ||metallurgical junction depth||meter||0.0||1<br />
|-<br />
|LD||lateral diffusion||meter||0.0||0.8<br />
|-<br />
|UO||surface mobility||cm2/Vs||600||700<br />
|-<br />
|UCRIT||critical field for mobility degradation (level2 only)||V/cm||1.0e4||1.0e4<br />
|-<br />
|UEXP||critical field exponent in mobility degradation (level2 only)|| ||0.0||0.1<br />
|-<br />
|UTRA||transverse field coefficient (deleted for level2)|| ||0.0||0.3<br />
|-<br />
|VMAX||maximum drift velocity of carriers||m/s||0.0||5.0e4<br />
|-<br />
|NEFF||total channel-charge (fixed and mobile) coefficient (level2 only)|| ||1.0||5.0<br />
|-<br />
|KF||flicker noise coefficient|| ||0.0||1.0e-26<br />
|-<br />
|AF||flicker noise exponent|| ||1.0||1.2<br />
|-<br />
|FC||coefficient for forward bias depletion capacitance formula|| ||0.5|| <br />
|-<br />
|DELTA||width effect on threshold voltage (level2,3)|| ||0.0||1.0<br />
|-<br />
|THETA||mobility modulation (level3 only)||1/V||0.0||0.1<br />
|-<br />
|ETA||static feedback (level3 only)|| ||0.0||1.0<br />
|-<br />
|KAPPA||saturation field factor (level3 only)|| ||0.2||0.5<br />
|-<br />
|TNOM||parameter measurement temperature||deg. C||27||50<br />
|-<br />
|}<br />
<br />
The BSIM model has no default parameters, and leaving one out is considered an error. The additional process model parameters for level 4 and 5 models are listed in the following table:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS<br />
|-<br />
|VFB||flat-band voltage||V<br />
|-<br />
|PHI||surface inversion potential||V<br />
|-<br />
|K1||body effect coefficient||V1/2<br />
|-<br />
|K2||drain/source depletion charge-sharing coefficient|| <br />
|-<br />
|ETA||zero-bias drain-induced barrier-lowering coefficient|| <br />
|-<br />
|MUZ||zero-bias mobility||cm2/V-s<br />
|-<br />
|DL||shortening of channel||m<br />
|-<br />
|DW||narrowing of channel||m<br />
|-<br />
|U0||zero-bias transverse-field mobility degradation coefficient||V-1<br />
|-<br />
|U1||zero-bias velocity saturation coefficient||m/V<br />
|-<br />
|X2MZ||sens. of mobility to substrate bias at Vds=0||cm2/V2-s<br />
|-<br />
|X2E||sens. of drain-induced barrier lowering effect to substrate bias||V-1<br />
|-<br />
|X3E||sens. of drain-induced barrier lowering effect to drain bias at Vds= Vdd||V-1<br />
|-<br />
|X2U0||sens. of transverse field mobility degradation to substrate bias||V-2<br />
|-<br />
|X2U1||sens. of velocity saturation effect to substrate bias||mV-2<br />
|-<br />
|MUS||mobility at zero substrate bias and at Vds= Vdd||cm2/V2-s<br />
|-<br />
|X2MS||sens. of mobility to substrate bias at Vds= Vdd||cm2/V2-s<br />
|-<br />
|X3MS||sens. of mobility to drain bias at Vds= Vdd||cm2/V2-s<br />
|-<br />
|X3U1||sens. of velocity saturation effect on drain bias at Vds= Vdd||mV-2<br />
|-<br />
|TOX||gate oxide thickness||m<br />
|-<br />
|TEMP||temperature at which [[parameters]] were measured||deg. C<br />
|-<br />
|VDD||measurement bias range||V<br />
|-<br />
|CGDO||gate-drain overlap capacitance per meter channel width||F/m<br />
|-<br />
|CGSO||gate-source overlap capacitance per meter channel width||F/m<br />
|-<br />
|CGBO||gate-bulk overlap capacitance per meter channel length||F/m<br />
|-<br />
|XPART||gate-oxide capacitance-charge model flag|| <br />
|-<br />
|N0||zero-bias subthreshold slope coefficient|| <br />
|-<br />
|NB||sens. of subthreshold slope to substrate bias|| <br />
|-<br />
|ND||sens. of subthreshold slope to drain bias|| <br />
|-<br />
|RSH||drain and source diffusion sheet resistance||ohms/area<br />
|-<br />
|JS||source drain junction current density||A/m2<br />
|-<br />
|PB||built-in potential of source drain junction||V<br />
|-<br />
|MJ||grading coefficient of source drain junction|| <br />
|-<br />
|PBSW||built-in potential of source drain junction sidewall||V<br />
|-<br />
|MJSW||grading coefficient of source drain junction sidewall|| <br />
|-<br />
|CJ||source drain junction capacitance per unit area||F/ m2<br />
|-<br />
|CJSW||source drain junction sidewall capacitance per unit length||F/m<br />
|-<br />
|WDF||source drain junction default width||m<br />
|-<br />
|DELL||source drain junction length reduction||m<br />
|-<br />
|}<br />
<br />
XPART=0 selects a 40/60 drain/source charge partition; XPART=1 selects a 0/100 partition.<br />
<br />
==Mutual Inductors==<br />
<br />
[[File:GK100.png]]<br />
<br />
The mutual inductors device is a pair of inductors that are coupled to each other. L1 and L2 are the names of two inductors. You have to specify the inductance of inductor L1, the inductance of inductor L2, the initial current through each, and the coupling coefficient k, 0 &le; k &le; 1. The mutual inductance M expressed in units of H can be calculated using the following definition:<br />
<br />
<math> k = \frac{M}{\sqrt{L_1 L_2}} </math><br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|inductance1||inductance of inductor 1||H||1||<br />
|-<br />
|inductance2||inductance of inductor 2||H||1||<br />
|-<br />
|ic1||initial current through inductor 1||A||0||<br />
|-<br />
|ic2||initial current through inductor 2||A||0||<br />
|-<br />
|k||coefficient of coupling||-||1.0||<br />
|-<br />
|}<br />
<br />
==Non-Ideal Current Transformer==<br />
<br />
[[File:GK104.png]]<br />
<br />
This 8-pin device models a non-ideal lossy current transformer. Its model consists of an ideal transformer with more secondary turns than primary turns along with a number of parasitic elements. The interior pins with red wires give you direct access to the primary and secondary pins of the internal ideal transformer. on each side of the internal ideal transformer, there is a series leakage inductance LL<sub>k</sub>, followed by a shunt winding capacitance CW<sub>k</sub> and a series winding resistance RW<sub>k</sub>, which connects to the exterior positive pin on that side. The inter-winding resistance R<sub>12</sub> is connected across the negative pins of the primary and secondary of the ideal transformer model. In a more complete model, an external inductor LM can be connected between the positive and negative interior pins of either the primary or secondary to account for the effects of the magnetization inductance. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|ratio||secondary-to-primary turns ratio||-||2||required<br />
|-<br />
|rw1||primary winding resistance||Ohms||0.1||<br />
|-<br />
|rw2||secondary winding resistance||Ohms||0.1||<br />
|-<br />
|ll1||primary leakage inductance||H||1m||<br />
|-<br />
|ll2||secondary leakage inductance||H||1m||<br />
|-<br />
|cw1||primary winding capacitance||F||1p||<br />
|-<br />
|cw2||secondary winding capacitance||F||1p||<br />
|-<br />
|r12||inter-winding resistance||Ohms||10Meg||<br />
|-<br />
|}<br />
<br />
==Non-Ideal Diode==<br />
<br />
[[File:G9.png]]<br />
<br />
This 2-pin device is a basic simplified model of a diode as a rectifier or switch. When forward-biased, it acts as a low-valued voltage source. When reverse-biased, it acts as an open circuit until the reverse voltage exceeds the specified breakdown voltage. Then it acts as a high-valued voltage source of the reverse polarity. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|vf||forward drop voltage||V||0.5||required<br />
|-<br />
|vr||reverse breakdown voltage||V||100||required<br />
|-<br />
|}<br />
<br />
==Non-Ideal Voltage Transformer==<br />
<br />
[[File:GK103.png]]<br />
<br />
This 8-pin device models a non-ideal lossy voltage transformer. Its model consists of an ideal transformer with more primary turns than secondary turns along with a number of parasitic elements. The interior pins with red wires give you direct access to the primary and secondary pins of the internal ideal transformer. There are series combinations of a winding resistance RW<sub>k</sub> and a leakage inductance LL<sub>k</sub> on the primary and secondary sides. These are connected between the positive interior and exterior pins on each side. There are also two shunt branches at the inputs of the primary and secondary sides (connected between the positive and negative exterior pins), each consisting of a distributed turn-to-turn winding resistance RDC<sub>k</sub> in series with a distributed turn-to-turn winding capacitance CW<sub>k</sub>. The inter-winding capacitance CWW<sub>12</sub> is connected across the positive pins of the primary and secondary of the ideal transformer model. In a more complete model, an external inductor LM can be connected between the positive and negative interior pins of either the primary or secondary to account for the effects of the magnetization inductance. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|ratio||primary-to-secondary turns ratio||-||2||required<br />
|-<br />
|rw1||primary winding resistance||Ohms||0.1||<br />
|-<br />
|rw2||secondary winding resistance||Ohms||0.1||<br />
|-<br />
|ll1||primary winding leakage inductance||H||1m||<br />
|-<br />
|ll2||secondary winding leakage inductance||H||1m||<br />
|-<br />
|rdc1||primary distributed turn-to-turn winding resistance||Ohms||1u||<br />
|-<br />
|cw1||primary distributed turn-to-turn winding capacitance||F||1p||<br />
|-<br />
|rdc2||secondary distributed turn-to-turn winding resistance||Ohms||1u||<br />
|-<br />
|cw2||secondary distributed turn-to-turn winding capacitance||F||1p||<br />
|-<br />
|cww12||inter-winding capacitance||F||1p||<br />
|-<br />
|}<br />
<br />
==Nonlinear Capacitor==<br />
<br />
[[File:GK89.png]]<br />
<br />
The nonlinear capacitor model allows the capacitor to be described by an arbitrary relationship between the capacitor's charge Q and the voltage V across the capacitor. In other words, Q = f(V). The nonlinear capacitance is then defined as C(V) = dQ/dV. You need to define the charge Q by a mathematical expression in the voltage V. You have to open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. Enter any mathematical expression in the variable "v(pos,neg)" standing for the terminal voltage. The default expression is:<br />
<br />
{ C_DEF } * v(pos,neg)<br />
<br />
which implies a linear capacitor, where Q = C<sub>DEF</sub> V. Therefore, C = C(V) = dQ/dV = C<sub>DEF</sub>.<br />
<br />
Another example is 1e-4*(v(pos,neg))^2.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|C_DEF||default capacitance||F||1||<br />
|-<br />
|}<br />
<br />
==Nonlinear Conductor==<br />
<br />
[[File:GK88.png]]<br />
<br />
The nonlinear conductor model allows the conductor to be described by an arbitrary relationship between the conductor's current I and the voltage V across the conductor. In other words, I = f(V). The nonlinear conductance is then defined as G(V) = dI/dV. You need to define the current I by a mathematical expression in the voltage V. You have to open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. Enter any mathematical expression in the variable "v(pos,neg)" standing for the terminal voltage. The default expression is:<br />
<br />
{ G_DEF } * v(pos,neg)<br />
<br />
which implies a linear conductor, where I = G<sub>DEF</sub> V. Therefore, G = G(V) = dI/dV = G<sub>DEF</sub>.<br />
<br />
Another example is 1e-4*(v(pos,neg))^2.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|G_DEF||default capacitance||S||1||<br />
|-<br />
|}<br />
<br />
==Nonlinear Dependent Sources==<br />
<br />
[[File:G18.png]]<br />
<br />
Nonlinear dependent (arbitrary) sources use an equation or mathematical expression to describe their behavior. One and only one of the two forms: V=&lt;expr&gt; or I=&lt;expr&gt; must be given.<br />
<br />
Netlist Format:<br />
<br />
B<device_name> v = <expression><br />
<br />
B<device_name> i = <expression><br />
<br />
Examples: <br />
<br />
v = I(v1) + 3* I(v2)<br />
<br />
I = v(i1) + 3* v(2) + 5 * v(3) ^2<br />
<br />
The first example is a current-controlled voltage source. The v on the left side of the equation<br />
indicates that it is a voltage source. I(v1) and I(v2) are the currents through voltage sources named v1 and v2, respectively.<br />
<br />
The second example is a voltage-controlled current source. v(2) and v(3) represents the voltages at nodes 2 and 3, respectively, and v(i1) represents the voltage across a current source named i1.<br />
<br />
The following mathematical functions defined for real variables can be used in the expressions:<br />
<br />
abs(x), acos(x), acosh(x), asin(x), asinh(x), atan(x), atanh(x), cos(x), cosh(x), exp(x), ln(x), log(x), max(x,y), min(x,y), pwr(x,y), pwrs(x,y), sgn(x), sin(x), sinh(x), sqrt(x), tan(x), tanh(x), u(x), uramp(x).<br />
<br />
The function &quot;sgn&quot; is the signum function and its value is 1 if the argument is positive or zero and -1 if the argument is negative. <br />
The function &quot;u(x)&quot; is the unit step and &quot;uramp(x)&quot; is the integral of the unit step. The<br />
unit step is one if its argument is greater than zero and zero if its argument is less than zero. The<br />
ramp function (uramp) is 0 for argument values less than zero and equal to the argument for argument values<br />
greater than zero.<br />
<br />
The following operators are permissible: +, -, *, /, and ^.<br />
<br />
The power functions have equivalent expressions: pwr(x,y) = x^y and pwrs(x,y) = sgn(x)*abs(x)^y.<br />
<br />
Two constants can also be used in expressions: pi = 3.1415926 and e = 2.7182818.<br />
<br />
There is a conditional function with the syntax IF(Condition, Expression1, Expression2). If "Condition" is met, then the return value of the function is Expression1; otherwise, it is Expression2. An example of this type of function is IF(v(1)>=0,1,-1), which is equivalent to sgn(v(1)). <br />
<br />
To get time into an expression, integrate the current from a constant current source with a capacitor<br />
and use the voltage across the capacitor.<br />
<br />
==Nonlinear Inductor==<br />
<br />
[[File:GK90.png]]<br />
<br />
The nonlinear inductor model allows the inductor to be described by an arbitrary relationship between the inductor's magnetic flux &Phi; and the current I flowing through the inductor . In other words, &Phi; = f(I). The nonlinear inductance is then defined as L(I) = d&Phi;/dI. You need to define the flux &Phi; by a mathematical expression in the current I. You have to open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. Enter any mathematical expression in the variable "i(vx)" standing for the device current. The default expression is:<br />
<br />
{ L_DEF } * i(vx)<br />
<br />
which implies a linear inductor, where &Phi; = L<sub>DEF</sub> I. Therefore, L = L(I) = d&Phi;/dI = L<sub>DEF</sub>. <br />
<br />
Another example is 1e-4*(i(vx))^2.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|L_DEF||default inductance||H||1||<br />
|-<br />
|}<br />
<br />
==Nonlinear Resistor==<br />
<br />
[[File:GK87.png]]<br />
<br />
The nonlinear resistor model allows the resistor to be described by an arbitrary relationship between the voltage V across the resistor and its current I. In other words, V = f(I). The nonlinear resistance is then defined as R(I) = dV/dI. You need to define the voltage V by a mathematical expression in the current I. You have to open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. Enter any mathematical expression in the variable "i(vx)" standing for the device current. The default expression is:<br />
<br />
{ R_DEF } * i(vx)<br />
<br />
which implies a linear resistor, where V = R<sub>DEF</sub> I. Therefore, R = R(I) = dV/dI = R<sub>DEF</sub>.<br />
<br />
Another example is 10*(i(vx))^2.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|R_DEF||default resistance||&Omega;||1||<br />
|-<br />
|}<br />
<br />
==Operational Amplifier (Op-Amp)==<br />
<br />
[[File:GK105.png]]<br />
<br />
This three-pin device models a parameterized operational amplifier with a very high voltage gain, a very high input impedance and a very low output impedance. The behavioral model of the parameterized Op-Amp device is based on the algorithm found in the book <B>Macromodeling with Spice</B>,<br />
authored by Connelly &amp; Choi, published by Prentice Hall. The default parameters are those of the 741 Op-Amp. This device doesn't require external DC bias voltage sources. Its positive and negative DC bias voltages are specified as its parameters. Sometimes the simulation doesn't converge if there is no DC path from the output of the Op-Amp to the ground.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|r_in_dm||differential mode input resistance||Ohms||2Meg||<br />
|-<br />
|r_in_cm||common mode input resistance||Ohms||2G||<br />
|-<br />
|Avd0||differential mode DC gain||dB||106||<br />
|-<br />
|CMRR||common mode rejection ratio||dB||90||<br />
|-<br />
|r_out||output resistance||Ohms||75||<br />
|-<br />
|c_in||input capacitance||F||1.4p||<br />
|-<br />
|ios||input offset current||A||20n||<br />
|-<br />
|ib||input bias current||A||80n||<br />
|-<br />
|vio||input offset voltage||V||1m||<br />
|-<br />
|slew_pos||positive slew rate||V/s||0.5e6||<br />
|-<br />
|slew_neg||negative slew rate||V/s||0.5e6||<br />
|-<br />
|curr_src_max||maximum output source current||A||25m||<br />
|-<br />
|curr_sink_||maximum output sink current||A25m||<br />
|-<br />
|fp1||dominant pole frequency||Hz||5||<br />
|-<br />
|fp2||second pole frequency||Hz||2Meg||<br />
|-<br />
|fp3||third pole frequency||Hz||20Meg||<br />
|-<br />
|fp4||fourth pole frequency||Hz||100Meg||<br />
|-<br />
|fz||first zero frequency||Hz||5Meg||<br />
|-<br />
|vcc_pos||positive dc voltage source||V||12||<br />
|-<br />
|vcc_neg||negative dc voltage source||V||12||<br />
|-<br />
|}<br />
<br />
== Optocoupler ==<br />
<br />
[[File:GK115.png]]<br />
<br />
This is a five-pin parameterized optocoupler device. Its model consists of an ideal diode device in series with an Ohmic resistance connected between the Anode (A) and Cathode (K) pins together with a bipolar junction transistor device with three accessible pins, Collector (C), Base (B) and Emitter (E). A current-controlled current source is connected between base and collector of the BJT, whose current is controlled by the current passing through the diode. The proportionality constant is twice the specified value of the current transfer ratio (ctr) parameter. <br />
<br />
You can change or enhance the models of the diode and BJT by adding more parameters. To do so, you have to open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|ctr||current transfer ratio||-||0.5||<br />
|-<br />
|rd||diode ohmic resistance||Ohms||0.1||<br />
|-<br />
|}<br />
<br />
== Overtone Crystal ==<br />
<br />
[[File:GK79.png]]<br />
<br />
This is a 2-pin parameterized overtone crystal device. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|LM||fundamental motional inductance||H||250m||<br />
|-<br />
|CM1||fundamental motional capacitance||F||10f||<br />
|-<br />
|RM1||fundamental motional resistance||Ohms||20||<br />
|-<br />
|RM3||3rd overtone motional resistance||Ohms||50||<br />
|-<br />
|RM5||5th overtone motional resistance||Ohms||100||<br />
|-<br />
|RM7||7th overtone motional resistance||Ohms||150||<br />
|-<br />
|C0||shunt capacitance||F||3p||<br />
|-<br />
|}<br />
<br />
== Photodiode ==<br />
<br />
[[File:GK113.png]]<br />
<br />
This is a 4-pin parameterized photodiode device. A pair of pins, Anode (A) and Cathode (K), represent the physical terminals of the photodiode. The photodiode model connected between the anode and cathode pins consists of the parallel connection of an ideal diode, a dark current source, a noise current source, a current-controlled current source, a diode capacitance, a shunt resistance altogether with a series resistance. <br />
<br />
Another pair of pins IS+ and IS- act as an ammeter that must be inserted in a control circuit. The current passing through this ammeter controls the current of the photodiode. The default proportionality constant is unity. The controlling current is typically a function of light intensity incident on the surface of the photodiode. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|id||dark current||A||1n||<br />
|-<br />
|ir||noise current||A||1p||<br />
|-<br />
|cd||diode capacitance||F||10p||<br />
|-<br />
|rs||series resistance||Ohms||1m||<br />
|-<br />
|rp||parallel resistance||Ohms||1Meg||<br />
|-<br />
|}<br />
<br />
==Piecewise Linear (PWL) Controlled Source==<br />
<br />
[[File:GL49.png]]<br />
<br />
The Piecewise Linear (PWL) Controlled Source is a single-input and single-output function generator whose output is not necessarily<br />
linear for all input values. Instead, it follows an I/O relationship that is specified by the x_array and y_array coordinates. The x_array and y_array values represent vectors of coordinate points on the x and y axes, respectively. The x_array values are progressively increasing input coordinate points, and the associated y_array values represent the outputs at those points. There may be as few as two pairs specified, or as many as memory and simulation speed allow.<br />
<br />
In order to fully specify outputs for values of Vin outside of the bounds of the PWL function, the PWL<br />
controlled source model extends the slope found between the lowest two coordinate pairs and the highest<br />
two coordinate pairs. This has the effect of making the transfer function completely linear for Vin<br />
less than x_array[0] and Vin greater than x_array[n]. It also has the potentially subtle effect of unrealistically<br />
causing an output to reach a very large or small value for large inputs. You should thus keep in mind<br />
that the PWL Source does not inherently provide a limiting capability.<br />
<br />
In order to diminish the potential for divergence of simulations when using the PWL block, a form<br />
of smoothing around the x_array and y_array coordinate points is necessary. This is due to the iterative<br />
nature of the simulator and its reliance on smooth first derivatives of transfer functions in order to<br />
arrive at a matrix solution. Consequently, the two parameters "input_domain" and "fraction" are included<br />
to allow you some control over the amount and nature o the smoothing performed.<br />
<br />
Fraction is a switch that is either TRUE or FALSE. When TRUE (the default setting), the simulator assumes<br />
that the specified input_domain value is to be interpreted as a fractional figure. Otherwise, it is interpreted<br />
as an absolute value. Thus, if fraction = TRUE and input_domain = 0.10, the simulator assumes that the smoothing<br />
radius about each coordinate point is to be set equal to 10% of the length of either the x_array segment<br />
above each coordinate point, or the x_array segment below each coordinate point. The specific segment<br />
length chosen will be the smallest of these two for each coordinate point.<br />
<br />
If fraction = FALSE and input_domain = 0.10, then the simulator will begin smoothing the transfer function at 0.10<br />
volts (or amperes) below each x_array coordinate and will continue the smoothing process for another 0.10<br />
volts (or amperes) above each x_array coordinate point.<br />
<br />
Model Identifier: pwl<br />
<br />
Netlist Format:<br />
<br />
A&lt;device_name&gt; %vd(&lt;in_pin&gt; &lt;in_ref_pin&gt;) %vd(&lt;out_pin&gt; &lt;out_ref_pin&gt;) &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; pwl x_array = [&lt;value1&gt; &lt;value2&gt; ...] y_array = [&lt;value1&gt;<br />
&lt;value2&gt; ...] {&lt;param1 = value&gt; &lt; param2 = value&gt; ...}<br />
<br />
Example:<br />
<br />
A1 %vd(2 3) %vd(1 4) pwl<br />
.model pwl pwl x_array = [0 1] y_array = [0 1]<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|x_array||x-element array||V||[0 1]||required<br />
|-<br />
|y_array||y-element array||V||[0 1]||required<br />
|-<br />
|input_domain||input smoothing domain||-||0.01|| <br />
|-<br />
|fraction||smoothing %/abs switch||-||True|| <br />
|-<br />
|}<br />
<br />
== PM Modulated Source ==<br />
<br />
[[File:GL25.png]]<br />
<br />
This is a voltage source with a single-tone phase modulated waveform. The PM modulation index MDI is defined as the ratio of maximum phase deviation to maximum signal amplitude. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|V0||offset||V||0||<br />
|-<br />
|VA||amplitude||V||1||<br />
|-<br />
|FC||carrier frequency ||Hz||1||required<br />
|-<br />
|MDI||modulation index||-||0||required<br />
|-<br />
|FS||signal frequency ||Hz||1||required<br />
|-<br />
|}<br />
<br />
== Potentiometer ==<br />
<br />
[[File:GK77.png]]<br />
<br />
This is a 3-pin device that models a potentiometer with options for either linear or logarithmic resistance. position = 0 corresponds to the wiper being at the extreme left and position = 1 corresponds to the wiper being at the extreme right. With the default position = 0.5 corresponding to the midpoint, this device functions as a one-half voltage divider.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|position||position of wiper connection||-||0.5||Must be between 0.0 and 1.0.<br />
|-<br />
|log||log-linear switch||-||False||Select False for linear and True for logarithmic.<br />
|-<br />
|r||total resistance||Ohms||0.1u||<br />
|-<br />
|log_multiplier||multiplier constant for log resistance||-||1.0||<br />
|-<br />
|}<br />
<br />
== Programmable Unijunction Transistor (PUT)==<br />
<br />
[[File:GK112.png]]<br />
<br />
This is a 3-pin parameterized Programmable Unijunction Transistor (PUT) device with three pins: Base 1 (B1), Base 2 (B2) and Emitter (E). It is biased with a positive voltage between the two bases. This device has a unique characteristic that when it is triggered, its emitter current increases regeneratively until it is restricted by emitter power supply. It exhibits a negative resistance characteristic and so it can be employed as an oscillator. The device's model involves an NPN BJT and a PNP BJT. The forward beta parameters of the two transistors are set equal to 100 and 1, respectively. To change these values, open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|eta||-||-||0.6||<br />
|-<br />
|rbb||total base-to-base resistance||Ohms||40k||<br />
|-<br />
|rf||forward resistance||Ohms||1Meg||<br />
|-<br />
|rr||reverse resistance||Ohms||1Meg||<br />
|-<br />
|rgk||gate-to-cathode resistance||Ohms||100||<br />
|-<br />
|bvf||breakdown voltage of forward diode||V||100||<br />
|-<br />
|bvr||breakdown voltage of reverse diode||V||100||<br />
|-<br />
|bvgk||breakdown voltage of gate-to-cathode diode||V||5||<br />
|-<br />
|}<br />
<br />
==Random Resistor==<br />
<br />
[[File:GK93.png]]<br />
<br />
The random resistor device models a resistor whose resistance is a random number between 0 and a maximum specified value. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|max_val||maximum resistance value||&Omega;||1k||<br />
|-<br />
|}<br />
<br />
==Real Capacitor==<br />
<br />
[[File:GK117.png]]<br />
<br />
This is primarily a non-ideal, temperature-dependent capacitor model. You can access it from the Parts Menu as '''User-Defined Capacitor'''. It has two temperature coefficients: first-order TC1 temperature and second-order TC2. The value of the temperature-dependent capacitance is computed using the quadratic equation:<br />
<br />
C(T) = C(T0) * [ 1 + TC1 * (T - T0) + TC2 * (T-T0)^2 ]<br />
<br />
The device's model includes a series resistance and a series inductance together with the capacitor, all in parallel with a shunt resistance.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|Resr||series resistance||&Omega;||10||<br />
|-<br />
|Ls||inductance||H||1p||<br />
|-<br />
|C||capacitance||F||1n||<br />
|-<br />
|Rp||parallel resistance||&Omega;||1G||<br />
|-<br />
|ic||voltage initial condition||V||0||<br />
|-<br />
|temp||operating temperature||deg C||27||<br />
|-<br />
|tc1||first-order temperature coefficient||F/&deg;C||0.1||<br />
|-<br />
|tc2||second-order temperature coefficient||F/&deg;C<sup>2</sup>||0.01||<br />
|-<br />
|}<br />
<br />
==Real Inductor==<br />
<br />
[[File:GK118.png]]<br />
<br />
This is primarily a non-ideal inductor model. You can access it from the Parts Menu as '''User-Defined Inductor'''. Its series resistor has two temperature coefficients: first-order TC1 temperature and second-order TC2. The value of the temperature-dependent resistance is computed using the quadratic equation:<br />
<br />
R(T) = R(T0) * [ 1 + TC1 * (T - T0) + TC2 * (T-T0)^2 ]<br />
<br />
The device's model includes a series resistance together with the inductor, and the combination in parallel with a shunt capacitance.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|Rdc||series resistance||&Omega;||10||<br />
|-<br />
|L||inductance||H||1||<br />
|-<br />
|Cp||capacitance||F||1p||<br />
|-<br />
|ic||current initial condition||A||0||<br />
|-<br />
|temp||operating temperature||deg C||27||<br />
|-<br />
|tc1||first-order temperature coefficient||&Omega;/&deg;C||0.1||<br />
|-<br />
|tc2||second-order temperature coefficient||&Omega;/&deg;C<sup>2</sup>||0.01||<br />
|-<br />
|}<br />
<br />
==Real Resistor==<br />
<br />
[[File:GK116.png]]<br />
<br />
This is primarily a non-ideal, temperature-dependent resistor model. You can access it from the Parts Menu as '''User-Defined Resistor'''. It has two temperature coefficients: first-order TC1 temperature and second-order TC2. The value of the temperature-dependent resistance is computed using the quadratic equation:<br />
<br />
R(T) = R(T0) * [ 1 + TC1 * (T - T0) + TC2 * (T-T0)^2 ]<br />
<br />
The device's model includes a series inductance together with the resistor. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|R||resistance||&Omega;||1k||<br />
|-<br />
|Ls||inductance||H||1n||<br />
|-<br />
|temp||operating temperature||deg C||27||<br />
|-<br />
|tc1||first-order temperature coefficient||&Omega;/&deg;C||0.1||<br />
|-<br />
|tc2||second-order temperature coefficient||&Omega;/&deg;C<sup>2</sup>||0.01||<br />
|-<br />
|}<br />
<br />
==Resistor==<br />
<br />
[[File:GK119.png]]<br />
<br />
Resistors are passive devices that dissipate power. Their resistance value varies depending on how much power they can dissipate and is measured<br />
in Ohms. The transient, DC and AC behaviors of a resistor are all described by the same equation:<br />
<br />
v = R * i<br />
<br />
where v is the voltage across the resistor, i is the current passing through the resistor, and R is the resistance. The value of R must be nonzero. <br />
<br />
All resistor names must begin with R.<br />
<br />
Netlist Format: <br />
<br />
R<device_name> <N+> <N-> <value> <br />
<br />
Example: <br />
<br />
R1 1 2 1k<br />
<br />
[[RF.Spice A/D]] provides three types of resistor: Simple, User-Defined (Real Resistor) and Semiconductor. The resistance of the simple resistor is a single value expressed in Ohms. You can also set the Monte Carlo tolerance for this resistor.<br />
<br />
==Schottky Diode==<br />
<br />
[[File:GK80.png]]<br />
<br />
The Schottky diode has the same model as the generic diode with a nonzero transit time (tt), a nonzero junction capacitance (cjo) and a typically larger saturation current (is), a lower junction potential (vj) and a smaller grading coefficient (m). <br />
<br />
==Semiconducting Capacitor==<br />
<br />
[[File:GK83.png]]<br />
<br />
This is the more general form of the Capacitor model and allows for the calculation of the actual capacitance value from strictly geometric information and the specifications of the process. <br />
<br />
General Form:<br />
<br />
CXXXXXXX N1 N2 <VALUE> <MNAME> <L=LENGTH> <W=WIDTH> <IC=VAL><br />
<br />
If VALUE is specified, it defines the capacitance. If MNAME is specified, then the capacitance is calculated from the process information in the model MNAME and the given LENGTH and WIDTH. If VALUE is not specified, then MNAME and LENGTH must be specified. If WIDTH is not specified, then it is taken from the default width given in the model. Either VALUE or MNAME, LENGTH, and WIDTH may be specified, but not both sets. The optional initial condition "IC" is the initial voltage across the capacitor for transient simulations.<br />
<br />
The capacitance is computed as:<br />
<br />
CAP = CJ * (LENGTH - NARROW) * (WIDTH - NARROW)+ 2 * CJSW * (LENGTH + WIDTH - 2NARROW) * CAP<br />
<br />
To modify the model parameters, first double click on the capacitor to edit its top-level model parameters. Then choose the button labeled {{key|Edit from Table}} in the process model section. This will open a window in which you can edit CJ, CJSW, NARROW, DEFW, and CAP.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|CJ||junction bottom capacitance||F/m<sup>2</sup>||-||<br />
|-<br />
|CJSW||junction sidewall capacitance||F/m ||-||<br />
|-<br />
|DEFW||default device width||m||1u||<br />
|-<br />
|NARROW||narrowing due to side etching||m||0||<br />
|-<br />
|CAP||nominal capacitance for Monte Carlo simulation||F||1||<br />
|-<br />
|}<br />
<br />
== Semiconductor Resistor ==<br />
<br />
[[File:GK82.png]]<br />
<br />
This is the more general form of the resistor model and allows for the modeling of temperature effects and for the calculation of the actual resistance value from strictly geometric information and the specifications of the process. <br />
<br />
General Form:<br />
<br />
RXXXXXXX N1 N2 <VALUE> <MNAME> <L=LENGTH> <W=WIDTH> <TEMP=T><br />
<br />
If VALUE is specified, it overrides the geometric information and defines the resistance. If MNAME is specified, then the resistance may be calculated from the process information in the model MNAME and the given LENGTH and WIDTH. If VALUE is not specified, then MNAME and LENGTH must be specified. If WIDTH is not specified, then it is taken from the default width given in the model. The (optional) TEMP value is the temperature at which this device is to operate, and overrides the temperature specification in the SPICE Options Dialog. <br />
<br />
The resistance is computed as:<br />
<br />
R(T0) = (RSH) * [(L - NARROW) / (W - NARROW)] * RES<br />
<br />
R(T) = R(T0) * [ 1 + TC1 * (T - T0) + TC2 * (T-T0)^2 ]<br />
<br />
To modify the model parameters, first double click on the resistor to edit its top-level model parameters. Then choose the button labeled {{key|Edit from Table}} in the process model section. This will open a window in which you can edit TC1, TC2, RSH, RES, etc.<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|TC1||first order temperature coefficient||&Omega;/&deg;C||-||<br />
|-<br />
|TC2||second order temperature coefficient||&Omega;/&deg;C<sup>2</sup>||-||<br />
|-<br />
|RSH||sheet resistance||&Omega;/sq||-||<br />
|-<br />
|DEFW||default device width||m||1u||<br />
|-<br />
|NARROW||narrowing due to side etching||m||0||<br />
|-<br />
|TNOM||the parameter measurement temperature||deg C ||27||<br />
|-<br />
|RES||resistance multiplier for Monte Carlo simulation||Ohms||1||<br />
|-<br />
|}<br />
<br />
== Silicon-Controlled Rectifier (SCR)==<br />
<br />
[[File:GK109.png]]<br />
<br />
This is a 3-pin parameterized Silicon-Controlled Rectifier (SCR) device with three pins: Anode (A), Cathode (K) and Gate (G). It is a unidirectional device which can conduct current only in one direction. The SCR can be triggered only by a positive current going into its gate. The device's model involves an NPN BJT and a PNP BJT. The forward beta parameters of the two transistors are set equal to 100 and 1, respectively. To changes these values, open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|rf||forward resistance||Ohms||1Meg||<br />
|-<br />
|rr||reverse resistance||Ohms||1Meg||<br />
|-<br />
|rgk||gate-to-cathode resistance||Ohms||100||<br />
|-<br />
|bvf||breakdown voltage of forward diode||V||100||<br />
|-<br />
|bvr||breakdown voltage of reverse diode||V||100||<br />
|-<br />
|bvgk||breakdown voltage of gate-to-cathode diode||V||5||<br />
|-<br />
|}<br />
<br />
== SPDT Switch ==<br />
<br />
[[File:GK72.png]]<br />
<br />
This is a 5-pin device that models a single-pole double-throw switch. The input voltage is transferred to the first output pin if the control voltage is at a high state. Otherwise, its is transferred to the second output pin.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|von||turn-on voltage||V||3.3||<br />
|-<br />
|voff||turn-off voltage||V||0.3||<br />
|-<br />
|vt||threshold voltage||V||1.0||<br />
|-<br />
|ron||on resistance||Ohms||1.0||<br />
|-<br />
|roff||off resistance||Ohms||1Gig||<br />
|-<br />
|}<br />
<br />
== SPST Switch ==<br />
<br />
[[File:GK71.png]]<br />
<br />
This is a 4-pin device that models a single-pole single-throw switch. It is virtually equivalent of the standard voltage-controlled switch. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|von||turn-on voltage||V||3.3||<br />
|-<br />
|voff||turn-off voltage||V||0.3||<br />
|-<br />
|vt||threshold voltage||V||1.0||<br />
|-<br />
|ron||on resistance||Ohms||1.0||<br />
|-<br />
|roff||off resistance||Ohms||1Gig||<br />
|-<br />
|}<br />
<br />
==Tabulated Conductor==<br />
<br />
[[File:GK92.png]]<br />
<br />
The tabulated conductor model allows the conductance to be described by a table relating the device's current i(t) to its terminal voltage v(t). In effect, the conductance is defined as G = di(t)/dv(t). The model provides two interpolation options: cubic spline and piecewise linear. You can enter the (v,i) data pairs in the text box provided in the property dialog. Or you can import the data from a text file. <br />
<br />
==Tabulated Resistor==<br />
<br />
[[File:GK91.png]]<br />
<br />
The tabulated resistor model allows the resistance to be described by a table relating the device's terminal voltage v(t) to its current i(t). In effect, the resistance is defined as R = dv(t)/di(t). The model provides two interpolation options: cubic spline and piecewise linear. You can enter the (i,v) data pairs in the text box provided in the property dialog. Or you can import the data from a text file.<br />
<br />
==Tapped Inductor==<br />
<br />
[[File:GK101.png]]<br />
<br />
This 3-pin device models a tapped inductor with mutual coupling effect. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|Lt||total inductance||H||1m||<br />
|-<br />
|ratio||ratio of number of turns between positive terminal and tap to total number of turns||-||0.5||<br />
|-<br />
|k||coefficient of coupling||-||1.0||<br />
|-<br />
|}<br />
<br />
== Temperature-Dependent Current Source ==<br />
<br />
[[File:GL14.png]]<br />
<br />
This is a current source whose current is an arbitrary function of the circuit temperature. You have to open the subcircuit model dialog by clicking the {{key|Edit Model...}} button and edit its text. Enter any mathematical expression in the variable "v(T)" standing for temperature. Note that the circuit temperature is set and controlled by the parameter "temp" in the Miscellaneous tab of the SPICE [[Simulation Options]] dialog. <br />
<br />
Examples:<br />
<br />
* v(T) is equivalent to f(T) = T.<br />
* 1 + 0.1*(v(t))^2 is equivalent to f(T) = 1 + 0.1T.<br />
<br />
Parameters:<br />
<br />
None<br />
<br />
== Temperature-Dependent Voltage Source ==<br />
<br />
[[File:GL13.png]]<br />
<br />
This is a voltage source whose voltage is an arbitrary function of the circuit temperature. You have to open the subcircuit model dialog by clicking the {{key|Edit Model...}} button and edit its text. Enter any mathematical expression in the variable "v(T)" standing for temperature. Note that the circuit temperature is set and controlled by the parameter "temp" in the Miscellaneous tab of the SPICE [[Simulation Options]] dialog. <br />
<br />
Examples:<br />
<br />
* v(T) is equivalent to f(T) = T.<br />
* 1 + 0.1*(v(t))^2 is equivalent to f(T) = 1 + 0.1T.<br />
<br />
Parameters:<br />
<br />
None<br />
<br />
==Thermometer==<br />
[[File:G115.png]]<br />
<br />
The Thermometer is a two-pin device that measures the operating temperature of a circuit. The voltage across the device pins is equal to SPICE's operating temperature in degrees centigrade. The output voltage of the Thermometer can be used in conjunction with linear or nonlinear dependent sources to model temperature-dependent quantities.<br />
<br />
<br />
Model Identifier: thermo<br />
<br />
<br />
Parameters:<br />
<br />
This device has no parameters.<br />
<br />
== Triac Thyristor ==<br />
<br />
[[File:GK110.png]]<br />
<br />
This is a 3-pin bidirectional thyristor device that conducts current in either direction when triggered. A thyristor is analogous to a relay in that a small voltage and current can control a much larger voltage and current. The triac has two anode pins termed Main Terminal 1 (MT1) and Main Terminal 2 (MT2) and a Gate (G) pin. In order to create a triggering current for a triac, either a positive or negative voltage can be applied to the gate. Once triggered, the thyristor continues to conduct, even if the gate current ceases, until the main current drops below a certain level called the holding current. The device's model involves two NPN BJT transistors and two PNP BJT transistors. The forward beta parameters of the NPN and PNP transistors are set equal to 20 and 5, respectively. To changes these values, open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|rf||forward resistance||Ohms||1Meg||<br />
|-<br />
|bvf||breakdown voltage of forward diodes||V||100||<br />
|-<br />
|rh||resistance controlling reverse holding current||Ohms||100||<br />
|-<br />
|rgp||resistance controlling forward holding current and trigger current||Ohms||50||<br />
|-<br />
|}<br />
<br />
==Uniform RC Transmission Line==<br />
<br />
[[File:G23.png]]<br />
<br />
The standard parameters are L, and N. They are described below:<br />
<br />
Two of the nodes are the element nodes connected by the RC line. The third is the node to which the capacitances<br />
are connected. L is the length of the RC line in meters. N is the number of lumped segments to use in<br />
modeling the RC line.<br />
<br />
This device is derived from a model proposed by Gertzberrg. It expands the URC line into a network of<br />
lumped RC segments with internally generated nodes. These segments increase toward the middle of the<br />
URC line in a geometric progression with K as the proportionality constant.<br />
<br />
The URC line is made up entirely of resistor and capacitor segments, unless the ISPERL parameter has a<br />
non-zero value. In this case, capacitors are replaced by reverse biased diodes with an equivalent zero-bias<br />
junction capacitance, a saturation current of ISPERL amps per meter of transmission line, and optional<br />
series resistance of RSPERL ohms per meter. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!EXAMPLE<br />
|-<br />
|K||propagation constant||-||2||1.2<br />
|-<br />
|FMAX||maximum frequency of interest||Hz||1.0G||6.5Meg<br />
|-<br />
|RPERL||resistance per unit length||Ohm /m||1000||10<br />
|-<br />
|CPERL||capacitance per unit length||F/m||1.0e-15||1pF<br />
|-<br />
|ISPERL||saturation current per unit length||A/m||0||-<br />
|-<br />
|RSPERL||diode resistance per unit length||Ohm/m||0||-<br />
|-<br />
|}<br />
<br />
==Varactor Diode==<br />
<br />
[[File:GK81.png]]<br />
<br />
A varactor diode is a combination of the generic diode with additional package inductance, package capacitance and a series resistance. This diode device has a typically large value of junction capacitance (cjo).<br />
<br />
Parameters (in addition to standard diode parameters): <br />
<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|q||quality factor||-||5000||<br />
|-<br />
|f0||frequency of Q-factor specification||Hz||50Meg||<br />
|-<br />
|ls||package inductance||H||0.5n||<br />
|-<br />
|cp||package capacitance ||F||0.05p||<br />
|-<br />
|}<br />
<br />
==Voltage-Controlled Capacitor==<br />
<br />
[[File:GK85.png]]<br />
<br />
This 3-pin device models a voltage-controlled two-terminal capacitor whose capacitance is linearly proportional to a control voltage that is applied to a third (CTRL) pin. The proportionality constant is a conversion factor which you need to specify in F/V. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|K_C||conversion factor||F/V||1.0||<br />
|-<br />
|}<br />
<br />
==Voltage-Controlled Inductor==<br />
<br />
[[File:GK86.png]]<br />
<br />
This 3-pin device models a voltage-controlled two-terminal inductor whose inductance is linearly proportional to a control voltage that is applied to a third (CTRL) pin. The proportionality constant is a conversion factor which you need to specify in H/V. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|K_L||conversion factor||H/V||1.0||<br />
|-<br />
|}<br />
<br />
==Voltage-Controlled Resistor==<br />
<br />
[[File:GK84.png]]<br />
<br />
This 3-pin device models a voltage-controlled two-terminal resistor whose resistance is linearly proportional to a control voltage that is applied to a third (CTRL) pin. The proportionality constant is a conversion factor which you need to specify in &Omega;/V. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|K_r||conversion factor||&Omega;/V||1.0||<br />
|-<br />
|}<br />
<br />
==Voltage-Controlled Switch==<br />
<br />
[[File:G19.png]]<br />
<br />
Switches are devices that exhibit high resistance when open (OFF state) and low resistance when closed (ON state). The switch model allows an almost ideal switch to be specified. With careful selection of the on and off resistances, they can effectively represent zero and infinite resistances in comparison to other circuit elements, while sustaining the model condition of a positive, finite value. <br />
<br />
There are two versions of Voltage-Controlled Switch: two-terminal and four-terminal. For the two-terminal device, you must specify the name of the controlling Voltmeter or controlling voltage nodes, as well as the turn-on and turn-off voltages in Volts and on and off resistance values in Ohms. The four-terminal device already provides nodes for a controlling voltmeter, and you just specify the rest of [[parameters]]. When the voltage across the switch or controlling device is greater or equal to the turn-on current, the switch closes. When the voltage across the switch or controlling device is less than or equal to the turn off current, the switch opens. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|V_ON||turn-on voltage||V||0.5||<br />
|-<br />
|V_OFF||turn-off voltage||V||0.0||<br />
|-<br />
|RON||on resistance||Ohms||1.0||<br />
|-<br />
|ROFF||off resistance||Ohms||1G||<br />
|-<br />
|}<br />
<br />
==Voltage Noise Source==<br />
<br />
[[File:GL15.png]]<br />
<br />
This is a voltage noise generator characterized by a spectral density and corner frequency. You have to click the {{key|Edit Model...}} button to access the parameters of this device. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|En||noise voltage||V/&radic;Hz||1n||required<br />
|-<br />
|freq||noise corner frequency||Hz||100||required<br />
|-<br />
|}<br />
<br />
==Voltage Source==<br />
<br />
[[File:G17A.png]]<br />
<br />
A voltage source has a DC value, a transient behavior, an AC behavior, and distortion parameters. The transient type, AC parameters, and distortion parameters are defined on the first tab of the source's property dialog. The transient expression can be a pulse, sinusoid, exponential, or piecewise linear. The DC value of a voltage source is its initial transient value. For a source with a sinusoidal transient behavior, for example, the DC value will be equal to its transient offset voltage. The AC parameters are magnitude and phase. These are used during the AC Frequency Sweep analysis. The distortion parameters, two sets of magnitude and phase, are used during the distortion analysis. The AC and distortion parameters are defined on the second tab of the source's property dialog.<br />
<br />
==XSpice Devices and their models==<br />
<br />
XSpice devices have the following form:<br />
<P CLASS="syntaxstyle" STYLE="font-size: 9pt ; margin: 4pt 0pt 1px 0pt ; font-family: 02070309020205020404,sans-serif; "><br />
A&lt;device_name&gt; &lt;node1&gt; &lt;node2&gt; ... &lt;model_name&gt;</P><br />
<br />
<P CLASS="syntaxstyle" STYLE="font-size: 9pt ; margin: 0pt 0pt 1px 36pt ; font-family: 02070309020205020404,sans-serif; "><br />
e.g., A2 1 2 transfer_function<br />
<br />
Note that XSpice devices must start with the &quot;A&quot; designation, much as a resistor starts with<br />
an &quot;R&quot;. Some devices will have grouped (or vector) pins and are designated by being placed<br />
inside square brackets. In the example shown below, the 1 and 2 pins are grouped. Pin 3 is not. </P><br />
<br />
<P CLASS="syntaxstyle" STYLE="font-size: 9pt ; margin: 0pt 0pt 1px 0pt ; text-indent: 36pt ; font-family: 02070309020205020404,sans-serif; "><br />
A1 [1 2] 3 summer </P><br />
<br />
Some models will have voltage differential pairs of pins and will be denoted by a %vd( ). In the following<br />
example pins 1 and 4 are differential pairs, as well as pins 2 and 3. Differential pairs must go between<br />
parentheses (). <br />
<br />
<P CLASS="syntaxstyle" STYLE="font-size: 9pt ; margin: 0pt 0pt 1px 0pt ; text-indent: 36pt ; font-family: 02070309020205020404,sans-serif; "><br />
A1 %vd(1 4) %vd(2 3) triangle </P><br />
<br />
Refer to individual devices for more information.<br />
<br />
Each XSpice device will also have a model associated with it. Each model will have the following form:<br />
<br />
<P CLASS="syntaxstyle" STYLE="font-size: 9pt ; margin: 0pt 0pt 1px 36pt ; font-family: 02070309020205020404,sans-serif; "><br />
.model &lt;model_name&gt; &lt;model_identifier&gt; {&lt;pname1 = pval1&gt;} {&lt;pname2 = pval2&gt;} <br />
...</P><br />
<br />
<P CLASS="syntaxstyle" STYLE="font-size: 9pt ; margin: 0pt 0pt 1px 36pt ; font-family: 02070309020205020404,sans-serif; "><br />
e.g., .model transfer_function s_xfer in_offset = 0.0 gain = 1.0</P><br />
<br />
Model_name refers to the name given in the device line. Model_identifier is an internal designation and<br />
must be of an existing designation Refer to each device's example for the correct designation. <br />
<br />
Parameter values are optional. If they aren't specified, then the default will be used. Some devices<br />
have parameters that require a value and must be specified. Refer to individual devices for any required parameters.<br />
<br />
==Zener Diode==<br />
<br />
[[File:G10.png]]<br />
<br />
The Zener Diode models the DC characteristics of most zeners. Since most data sheets for zener diodes do<br />
not give detailed characteristics in the forward region, only a single point defines the forward characteristicThe<br />
saturation current refers to the relatively constant reverse current that is produced when the voltage<br />
across the zener is negative, but breakdown has not been reached. The reverse leakage current determines<br />
the slight increase in reverse current as the voltage across the zener becomes more negative. It is modeled<br />
as a resistance parallel to the zener with value v_breakdown / i_rev.<br />
<br />
Note that the limt_switch parameter engages an internal limiting function for the zener. This can, in<br />
some cases, prevent the simulator from converging to an unrealistic solution if the voltage across or<br />
current into the device is excessive. If use of this feature fails to yield acceptable results, the convlimit<br />
option should be tried (add the following statement to the SPICE input deck: .options convlimit)<br />
<br />
Model Identifier: zener<br />
<br />
Netlist Format:<br />
<br />
A&lt;device_name&gt; &lt;z_pin&gt; &lt;z_out_pin&gt; &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; zener v_breakdown = 1 {&lt;param1 = value&gt; &lt; param2 = value&gt; ...}<br />
<br />
Example:<br />
<br />
A1 1 2 zener<br />
<br />
.model zener zener v_breakdown = 1<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!Name!!Description!!Default!!Notes<br />
|-<br />
|v_breakdown||breakdown voltage||1||required<br />
|-<br />
|i_breakdown||breakdown current||2.0e-2|| <br />
|-<br />
|i_sat||saturation current||1.0e-12|| <br />
|-<br />
|N_forward||forward emission coefficient||1.0|| <br />
|-<br />
|limit_switch||switch for on-board limiting (convergence aid)||False|| <br />
|-<br />
|}<br />
<br />
<p>&nbsp;</p><br />
[[Image:Back_icon.png|40px]] '''[[RF.Spice_A/D | Back to RF.Spice A/D Wiki Gateway]]'''</div>Kazem Sabethttp://www.emagtech.com/wiki/index.php/Glossary_of_Generic_Analog_%26_Mixed-Mode_Devices_%26_SourcesGlossary of Generic Analog & Mixed-Mode Devices & Sources2018-10-11T16:43:18Z<p>Kazem Sabet: /* Nonlinear Dependent Sources */</p>
<hr />
<div>==4-Bit ADC Bridge==<br />
<br />
[[File:GK44.png]]<br />
<br />
This 8-pin device is simply a bundle of 4 1-bit ADC bridges. Each analog input pin has a corresponding digital output pin. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|in_low||maximum 0-valued analog input||V||0.1||required<br />
|-<br />
|in_high||minimum 1-valued analog input||V||0.9||required<br />
|-<br />
|}<br />
<br />
==4-Bit DAC Bridge==<br />
<br />
[[File:GK45.png]]<br />
<br />
This 8-pin device is simply a bundle of 4 1-bit DAC bridges. Each digital input pin has a corresponding analog output pin. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|out_low||analog output for 0 digital input||V||0||required<br />
|-<br />
|out_high||analog output for 1 digital input||V||1||required<br />
|-<br />
|}<br />
<br />
== AC/RF Current Source ==<br />
<br />
[[File:GL11.png]]<br />
<br />
This is a simplified version of the standard Current Source, in which the AC "Use" box has been checked by default. Therefore, it is ready to be used for AC frequency sweep. Note that for AC frequency sweep, you do not need to specify the frequency. <br />
<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|VA||peak current amplitude||A||1||required<br />
|-<br />
|Freq||frequency ||Hz||1||required<br />
|-<br />
|Phase||phase||deg||0|| <br />
|-<br />
|offset||DC offset for small-signal current||A||0|| <br />
|-<br />
|}<br />
<br />
== AC/RF Voltage Source ==<br />
<br />
[[File:GL10.png]]<br />
<br />
This is a simplified version of the standard Voltage Source, in which the AC "Use" box has been checked by default. Therefore, it is ready to be used for AC frequency sweep. Note that for AC frequency sweep, you do not need to specify the frequency. <br />
<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|VA||peak voltage amplitude||V||1||required<br />
|-<br />
|Freq||frequency ||Hz||1||required<br />
|-<br />
|Phase||phase||deg||0|| <br />
|-<br />
|offset||DC offset for small-signal voltage||V||0|| <br />
|-<br />
|}<br />
<br />
==Alternate Ferrite Core Transformer==<br />
<br />
[[File:GK96.png]]<br />
<br />
The alternate ferrite core transformer is a four-pin two-port device, which has the same behavior as the [[Glossary of Generic Analog & Mixed-Mode Devices#Ferrite_Core_Transformer | Ferrite Core Transformer]], except for the reversed polarity of its secondary port.<br />
<br />
==Alternate Ideal Transformer==<br />
<br />
[[File:XFMR2.png]]<br />
<br />
The alternate ideal transformer is a four-pin two-port device, which has the same behavior as the [[Glossary of Generic Analog & Mixed-Mode Devices#Ideal_Transformer | Ideal Transformer]], except for the reversed polarity of its secondary port.<br />
<br />
== AM Modulated Source ==<br />
<br />
[[File:GL23.png]]<br />
<br />
This is a voltage source with a single-tone amplitude modulated waveform. The AM modulation index MDI is defined as the ratio of maximum amplitude deviation to maximum signal amplitude. <br />
<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|V0||offset||V||0||<br />
|-<br />
|VA||amplitude||V||1||<br />
|-<br />
|FC||carrier frequency ||Hz||1||required<br />
|-<br />
|MDI||modulation index||-||0||required<br />
|-<br />
|FS||signal frequency ||Hz||1||required<br />
|-<br />
|}<br />
<br />
== Analog Clock ==<br />
<br />
[[File:GL30.png]]<br />
<br />
This is a periodic pulse generator with a default 0V low output level and a default 5V high output level. <br />
<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|delay||delay time||sec||0|| <br />
|-<br />
|rise||rise time||sec||0.1n|| <br />
|-<br />
|fall||fall time||sec||0.1n|| <br />
|-<br />
|pulse_wid||clock pulse width||sec||1u||required<br />
|-<br />
|period||clock period||-||2u||required<br />
|-<br />
|out_low||low output voltage level||V||0|| <br />
|-|-<br />
|out_high||high output voltage level||V||5|| <br />
|-<br />
|}<br />
<br />
==Analog-to-Digital Converter (ADC) Bridge==<br />
[[File:GK42.png]]<br />
<br />
The ADC Bridge takes an analog value from an analog node and may be in the form of a voltage or current.<br />
If the input is less than or equal to &quot;in_low&quot;, then a digital &quot;0&quot; is generated. If<br />
the input is greater than or equal to &quot;in_high&quot;, a digital &quot;1&quot; is generated. Otherwise,<br />
a digital &quot;UNKNOWN&quot; is the output value. Unlike the DAC Bridge, ramping or delay is not applicable.<br />
Rather, the continuous ramping of the input provides for any associated delays in the digitized signal.<br />
<br />
This model also posts an input load value based on the parameter input_load.<br />
<br />
Model Identifier: adc_bridge<br />
<br />
Netlist Format:<br />
<br />
A&lt;device_name&gt; [&lt;in_pin&gt; {&lt;in2_pin&gt;&gt; ...}] [&lt;out_pin&gt; {&lt;out2_pin&gt; ...}] &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; adc_bridge {&lt;param1 = value&gt; &lt; param2 = value&gt; ...}<br />
<br />
Example:<br />
<br />
A [1] [2] adc_bridge<br />
<br />
.model adc_bridge adc_bridge in_low = .1 fall_delay = 1n <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|in_low||maximum 0-valued analog input||V||0.1||required<br />
|-<br />
|in_high||minimum 1-valued analog input||V||0.9||required<br />
|-<br />
|rise_delay||L-to-H delay time||sec||1n|| <br />
|-<br />
|fall_delay||H-to-L delay time||sec||1n|| <br />
|-<br />
|}<br />
<br />
== Arbitrary Temporal Waveform Generator ==<br />
<br />
[[File:GL17.png]]<br />
<br />
This is a voltage source with an arbitrary waveform defined by a mathematical expression. You have to open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. Enter any mathematical expression in the variable "v(t)" standing for time.<br />
<br />
Examples:<br />
<br />
* v(t) is equivalent to f(t) = t.<br />
* 0.1*(v(t))^2 is equivalent to f(t) = 0.1t^2.<br />
* sin(2*pi*v(t)) is equivalent to f(t) = sin(2&pi;t). <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|Tmax||maximum signal duration||sec||1e6||required<br />
|-<br />
|}<br />
<br />
==Auto-Transformer==<br />
<br />
[[File:GK102.png]]<br />
<br />
This 3-pin device models an auto-transformer with mutual coupling effect. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|Lp||primary inductance||H||1m||<br />
|-<br />
|Ls||secondary inductance||H||1m||<br />
|-<br />
|k||coefficient of coupling||-||1.0||<br />
|-<br />
|}<br />
<br />
==Bipolar Junction Transistor (BJT)==<br />
[[File:G11.png]]<br />
<br />
The BJT is an active device which has up to 4 pins. The three standard pins are base, emitter, and collector. These are given in the default symbol. The substrate, which is grounded by default, is the fourth pin. To use the BJT with the substrate, create a new 4-pin BJT using the Device Editor and Symbol Editor.<br />
<br />
The standard device parameters are AREA, OFF, IC, and T. They are described below:<br />
<br />
{| class="wikitable"<br />
|-<br />
|AREA||area factor (optional) (If not specified, the default value is 1.0.)<br />
|-<br />
|OFF||initial condition for the DC analysis (optional)<br />
|-<br />
|IC||initial condition (optional) (Used when a transient analysis is desired, which starts from other than the quiescent operating point.)<br />
|-<br />
|T||operating temperature of the device (optional)<br />
|-<br />
|}<br />
<br />
Area factor scales the model parameters RE and RC. IC VBE is the initial voltage from base emitter. IC VCE is the initial voltage from collector to emitter. TEMP is the overriding temperature. These parameters are based on the Gummel and Poon integral-charge model. If these parameters are not specified, then it will reduce to the simpler Ebers-Moll model. <br />
<br />
The process model is mandatory for the BJT. Descriptions of the process model parameters are given in the following table:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!EXAMPLE<br />
|-<br />
|IS||transport saturation current||A||1.0e-16||1.0e-15<br />
|-<br />
|BF||ideal maximum forward beta|| ||100||100<br />
|-<br />
|NF||forward current emission coefficient|| ||1.0||1<br />
|-<br />
|VAF||forward Early voltage||V||infinite||200<br />
|-<br />
|IKF||corner forward beta high current roll-off||A||infinite||0.01<br />
|-<br />
|ISE||B-E leakage saturation current||A||0||1.0e-13<br />
|-<br />
|NE||B-E leakage emission coefficient|| ||1.5||2<br />
|-<br />
|BR||ideal maximum reverse beta|| ||1||0.1<br />
|-<br />
|NR||reverse current emission coefficient|| ||1||1<br />
|-<br />
|VAR||reverse Early voltage||V||infinite||200<br />
|-<br />
|IKR||corner reverse beta high current roll-off||A||infinite||0.01<br />
|-<br />
|ISC||B-C leakage saturation current||A||0||1.0e-13<br />
|-<br />
|NC||B-C leakage emission coefficient|| ||2||1.5<br />
|-<br />
|RB||zero bias base resistance||ohms||0||100<br />
|-<br />
|IRB||current where base resistance falls halfway to minimum value||A||infinite||0.1<br />
|-<br />
|RBM||minimum base resistance at high currents||ohms||RB||10<br />
|-<br />
|RE||emitter resistance||ohms||0||1<br />
|-<br />
|RC||collector resistance||ohms||0||10<br />
|-<br />
|CJE||B-E zero bias depletion capacitance||F||0||2pF<br />
|-<br />
|VJE||B-E built-in potential||V||0.75||0.6<br />
|-<br />
|MJE||B-E junction exponential factor|| ||0.33||0.33<br />
|-<br />
|TF||ideal forward transit time||sec||0||0.1ns<br />
|-<br />
|XTF||coefficient for bias dependence of TF|| ||0|| <br />
|-<br />
|VTF||voltage describing VBC dependence of TF||V||infinite|| <br />
|-<br />
|ITF||high-current parameter for effect on TF||A||0|| <br />
|-<br />
|PTF||excess phase at freq=1.0/(TF*2PI)Hz||degree||0|| <br />
|-<br />
|CJC||B-C zero bias depletion capacitance||F||0||2pF<br />
|-<br />
|VJC||B-C built-in potential||V||0.75||0.5<br />
|-<br />
|MJC||B-C junction exponential factor|| ||0.33||0.5<br />
|-<br />
|XCJC||fraction of B-C depletion capacitance connected to internal base node|| ||1|| <br />
|-<br />
|TR||ideal reverse transit time||sec||0||10ns<br />
|-<br />
|CJS||zero bias collector-substrate capacitance||F||0||2pF<br />
|-<br />
|VJS||substrate junction built-in potential||V||0.75|| <br />
|-<br />
|MJS||substrate junction exponential factor|| ||0||0.5<br />
|-<br />
|XTB||forward and reverse beta temp. exponent|| ||0|| <br />
|-<br />
|EG||energy gap for temperature effect on IS||eV||1.11|| <br />
|-<br />
|XTI||temperature exponent for effect on IS|| ||3|| <br />
|-<br />
|KF||flicker-noise coefficient|| ||0|| <br />
|-<br />
|AF||flicker-noise exponent|| ||1|| <br />
|-<br />
|FC||coefficient for forward bias depletion capacitance formula|| ||0.5|| <br />
|-<br />
|TNOM||parameter measurement temperature||deg. C||27||50<br />
|-<br />
|}<br />
<br />
==Capacitance Meter==<br />
[[File:G37.png]]<br />
<br />
The Capacitance Meter measures the total capacitance between a circuit node and the ground. The input pin of the device is connected to the measurement node. The output voltage of the device is then a scaled value equal to the total capacitance seen on its input multiplied by the gain parameter. This model is primarily intended as a building block for other models which must sense a capacitance value and alter their behavior based upon it.<br />
<br />
<br />
Model Identifier: cmeter<br />
<br />
Netlist Format:<br />
<br />
A&lt;device_name&gt; &lt;in_pin&gt; &lt;out_pin&gt; &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; cmeter {&lt;gain = value&gt;}<br />
<br />
Example:<br />
<br />
A1 1 2 cap_meter<br />
<br />
.model cap_meter cmeter gain = 1<br />
<br />
Parameters:<br />
<br />
The only parameter is the gain with a default value of 1.0.<br />
<br />
==Capacitor==<br />
[[File:GK120.png]]<br />
<br />
Capacitors are used to store electrical energy. They can filter or remove AC signals or block DC current without disrupting AC signals. A capacitor's ability to store energy is termed capacitance and is measured in Farads, with values from pF to mF. The only time current flows through a capacitor is when the charge is collected on, or is removed from, its parallel plates. This means that the voltage across the capacitor is changing, which doesn't conform to DC analysis. In a physical circuit, there is a transition stage during which capacitors charge up to their final values. The result is the same as if these capacitors did not exist and the connections to them were left dangling. In other words, in a (steady-state) DC analysis, a capacitor behaves like an open circuit. Therefore, it is important that no section of the circuit is isolated from the capacitors. Every circuit node needs some path for DC current to the ground.<br />
<br />
A capacitor's transient behavior is described by the equation:<br />
<br />
i(t) = C * (dv(t)/dt)<br />
<br />
Its initial voltage is only important when the simulator performs a transient analysis, and the "Use Initial Conditions" checkbox is checked.<br />
<br />
An capacitor's AC behavior is described by the equation: <br />
<br />
i = j ω * C * v <br />
<br />
All capacitor names must begin with C. <br />
<br />
Netlist Format: <br />
<br />
C<device_name> <N+> <N-> <value> <br />
<br />
Example: <br />
<br />
C1 1 2 10p<br />
<br />
[[RF.Spice A/D]] provides three types of capacitors: simple, user-defined (or real) and semiconductor. The standard capacitor parameters are N+, N-, VALUE, and IC. In a simple capacitor, VALUE must<br />
be specified for the capacitance in Farads. IC is the (optional) initial condition for the capacitor voltage.<br />
<br />
==Center-Tapped Ferrite Core Transformer==<br />
<br />
[[File:GK97.png]]<br />
<br />
This five-pin three-port device models a center-tapped physical transformer with a magnetic ferrite core. Its model is based on XSPICE's magnetic core and inductive coupling models. For this device you need to specify physical parameters like cross sectional area, core length and number of primary and secondary turns. The physical model of the magnetic device is defined by two vectors: magnetic field intensity H in A/m and magnetic flux density B (also known as magnetic induction) in Tesla. The default array values are:<br />
<br />
H_array = [-250 -100 -50 -37.5 -25 -12.5 0 12.5 25 37.5 50 100 250]<br />
<br />
B_array = [-0.375 -0.36 -0.32 -0.29 -0.24 -0.15 0 0.15 0.24 0.29 0.32 0.36 0.375]<br />
<br />
To change the value of H/B arrays, open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|n_prim||number of primary inductor coupling turns||-||100||required<br />
|-<br />
|n_sec||number of full-winding secondary inductor coupling turns||-||100||required<br />
|-<br />
|area||cross-sectional area||m<sup>2</sup>||1e-5||<br />
|-<br />
|length||core length||m||0.01||<br />
|-<br />
|}<br />
<br />
==Controlled Sine Wave Oscillator==<br />
<br />
[[File:G24.png]]<br />
<br />
This is a four-terminal function generator with a sinusoidal wave output, whose frequency is controlled by an input voltage. The functional dependency of the output frequency on the input voltage is piecewise linear and is defined as a two-dimensional table similar to a piecewise linear (PWL) controlled source. In the "frequency vs. voltage" curve, the array "cntl_array" defines voltage values in Volts and the array "freq_array" defines the corresponding frequencies in Hz. <br />
This function has parameterizable values of low and high peak output voltage. <br />
<br />
Model Identifier: sine<br />
<br />
Netlist Form: <br />
<br />
A&lt;device_name&gt; %vd(&lt;cntl_in_pin&gt; &lt;cntl_in_ref_pin&gt;) %vd(&lt;out_pin&gt;<br />
&lt;out_ref_pin&gt;) &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; sine cntl_array = [&lt;value1&gt; &lt;value2&gt;] <br />
freq_array = [&lt;value1&gt; &lt;value2&gt;] {&lt;param1 = value&gt; &lt; param2 = value&gt; ...}<br />
<br />
Example:<br />
<br />
A1 %vd(1 3) %vd(2 4) sine<br />
<br />
.model sine sine cntl_array = [0 1] freq_array = [1 1000]<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|Cntl_array||control array||V||[0 1]||required<br />
|-<br />
|Freq_array||frequency array||Hz||[1 1000]||required<br />
|-<br />
|Out_low||output peak low value||V||-1.0|| <br />
|-<br />
|Out_high||output peak high value||V||1.0|| <br />
|-<br />
|}<br />
<br />
<br />
==Controlled Sources==<br />
<br />
Circuits can contain linear dependent sources characterized by one of the following equations (where g,<br />
e, f, and h are constants representing transconductance, voltage gain, current gain, and transresistance,<br />
respectively):<br />
<br />
<SPAN STYLE="font-size: 9pt ; ">i<sub>out</sub> = g v<sub>in</sub><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v<sub>out</sub> = e v<sub>in</sub><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i<sub>out</sub> = f i<sub>in</sub><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v<sub>out</sub> = h i<sub>in</sub></SPAN><br />
<P CLASS="Bodytext" STYLE="font-size: 9pt ; margin: 0pt 0pt 1px 0pt ; "><br />
For further information, refer to:</P><br />
<br />
Linear Current Controlled Current Source (CCCS)<br />
<br />
Linear Voltage Controlled Current Source (VCCS)<br />
<br />
Linear Current Controlled Voltage Source (CCVS)<br />
<br />
Linear Voltage Controlled Voltage Source (VCVS)<br />
<br />
<br />
==Controlled Square Wave Oscillator==<br />
<br />
[[File:G25.png]]<br />
<br />
This is a four-terminal function generator with a square wave output, whose frequency is controlled by an input voltage. The functional dependency of the output frequency on the input voltage is piecewise linear and is defined as a two-dimensional table similar to a piecewise linear (PWL) controlled source. In the "frequency vs. voltage" curve, the array "cntl_array" defines voltage values in Volts and the array "freq_array" defines the corresponding frequencies in Hz. <br />
<br />
Model Identifier: square<br />
<br />
Netlist Format: <br />
<br />
A&lt;device_name&gt; %vd(&lt;cntl_in_pin&gt; &lt;cntl_in_ref_pin&gt;) %vd(&lt;out_pin&gt;<br />
&lt;out_ref_pin&gt;) &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; square cntl_array = [&lt;value1&gt; &lt;value2&gt;] freq_array = [&lt;value1&gt; &lt;value2&gt;] {&lt;param1 = value&gt; &lt; param2 = value&gt; ...}<br />
<br />
Example:<br />
<br />
A1 %vd(1 3) %vd(2 4) square<br />
<br />
.model square square cntl_array = [0 1] freq_array = [1 1000]<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|Cntl_array||control array||V||[0 1]||required<br />
|-<br />
|Freq_array||frequency array||Hz||[0 1000]||required<br />
|-<br />
|Out_low||output peak low value||V||-1.0|| <br />
|-<br />
|Out_high||output peak high value||V||1.0|| <br />
|-<br />
|Duty_cycle||Duty cycle||-||0.5|| <br />
|-<br />
|Rise_time||Output rise time||sec||1.0e-9|| <br />
|-<br />
|Fall_time||Output fall time||sec||1.0e-9|| <br />
|-<br />
|}<br />
<br />
==Controlled Triangle Wave Oscillator==<br />
<br />
[[File:G26.png]]<br />
<br />
This is a four-terminal function generator with a triangle wave output, whose frequency is controlled by an input voltage. The functional dependency of the output frequency on the input voltage is piecewise linear and is defined as a two-dimensional table similar to a piecewise linear (PWL) controlled source. In the "frequency vs. voltage" curve, the array "cntl_array" defined voltage values in Volts and the array "freq_array" defines the corresponding frequencies in Hz. <br />
<br />
Model Identifier: triangle<br />
<br />
Netlist Format: <br />
<br />
A&lt;device_name&gt; %vd(&lt;cntl_in_pin&gt; &lt;cntl_in_ref_pin&gt;) %vd(&lt;out_pin&gt;<br />
&lt;out_ref_pin&gt;) &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; tirangle cntl_array = [&lt;value1&gt; &lt;value2&gt;] <br />
freq_array = [&lt;value1&gt; &lt;value2&gt;]{&lt;param1 = value&gt; &lt; param2 = value&gt; ...}<br />
<br />
Example:<br />
<br />
A1 %vd(1 4) %vd(2 3) triangle<br />
<br />
.model triangle triangle cntl_array = [0 1] freq_array = [1 1000] <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|Cntl_array||control array||V||[0 1]||required<br />
|-<br />
|Freq_array||frequency array||Hz||[0 1000]||required<br />
|-<br />
|Out_low||output peak low value||V||-1.0|| <br />
|-<br />
|Out_high||output peak high value||V||1.0|| <br />
|-<br />
|Rise_duty||Rise time duty cycle||0.5|| <br />
|-<br />
|}<br />
<br />
== Crystal ==<br />
<br />
[[File:GK78.png]]<br />
<br />
This is a 2-pin parameterized crystal device. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|CM||motional capacitance||F||10f||<br />
|-<br />
|C0||shunt capacitance||F||1p||<br />
|-<br />
|RM||motional resistance||Ohms||100||<br />
|-<br />
|LM||motional inductance||H||100m||<br />
|-<br />
|}<br />
<br />
==Current Noise Source==<br />
<br />
[[File:GL16.png]]<br />
<br />
This is a current noise generator characterized by a spectral density and corner frequency. You have to click the {{key|Edit Model...}} button to access the [[parameters]] of this device. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|En||noise current||A/&radic;Hz||1p||required<br />
|-<br />
|freq||noise corner frequency||Hz||100||required<br />
|-<br />
|}<br />
<br />
==Current Source==<br />
<br />
[[File:G17B.png]]<br />
<br />
Current source has a DC value, a transient behavior, an AC behavior, and distortion parameters. The transient type, AC parameters, and distortion parameters are defined on the first tab of the source's property dialog. The transient expression can be a pulse, sinusoid, exponential, or piecewise linear. The DC value of a current source is its initial transient value. For a source with a sinusoidal transient behavior, for example, the DC value will be equal to its transient offset current. The AC parameters are magnitude and phase. These are used during the AC Frequency Sweep analysis. The distortion parameters, two sets of magnitude and phase, are used during the distortion analysis. The AC and distortion parameters are defined on the second tab of the source's property dialog.<br />
<br />
==Current-Controlled Switch==<br />
<br />
[[File:G20.png]]<br />
<br />
Switches are devices that exhibit high resistance when open (OFF state) and low resistance when closed (ON state). The switch model allows an almost ideal switch to be specified. With careful selection of the on and off resistances, they can effectively represent zero and infinite resistances in comparison to other circuit elements, while sustaining the model condition of a positive, finite value. <br />
<br />
There are two versions of Current-Controlled Switch: two-terminal and four-terminal. For the two-terminal device, you must specify the name of the controlling Ammeter or voltage source, as well as the turn-on and turn-off currents in Amperes and on and off resistance values in Ohms. The four-terminal device already provides nodes for a controlling ammeter, and you just specify the rest of [[parameters]]. When the current through the switch or controlling device is greater or equal to the turn-on current, the switch closes. When the current through the switch or controlling device is less than or equal to the turn off current, the switch opens. <br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|I_ON||turn-on current||A||0.0||<br />
|-<br />
|I_OFF||turn-off current||A||0.0||<br />
|-<br />
|RON||closed resistance||Ohms||1.0||<br />
|-<br />
|ROFF||open resistance||Ohms||1/GMIN||<br />
|-<br />
|}<br />
<br />
==Darlington Pair==<br />
<br />
[[File:GK108.png]]<br />
<br />
A Darlington pair is a three-pin device that consists of two interconnected BJT transistors of the same type. The collectors of two transistors are connected together to provide the "Collector" pin of the pair. The base of the first BJT acts the "Base" pin of the pair. The emitter of the first BJT is internally connected to the base of the second BJT. The emitter of the second BJT acts as the "Emitter" pin of the pair. There are two types of Darlington pair: NPN and PNP. The parameterized generic Darlington pair also contains a diode connected between the collector and emitter pin as well as two base-emitter resistors, one across each BJT. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|is_bjt||bjt saturation current||A||1.0e-12||<br />
|-<br />
|bf_bjt||bjt forward beta||-||150||<br />
|-<br />
|nf_bjt||bjt forward emission coefficient||-||1||<br />
|-<br />
|ise_bjt||B-E leakage saturation current||A||0||<br />
|-<br />
|ne_bjt||B-E leakage emission coefficient||-||1||<br />
|-<br />
|br_bjt||ideal maximum reverse beta||-||1||<br />
|-<br />
|nr_bjt||reverse current emission coefficient||-||1||<br />
|-<br />
|isc_bjt||B-C leakage saturation current||A||0||<br />
|-<br />
|nc_bjt||B-C leakage emission coefficient||-||1||<br />
|-<br />
|rb_bjt||zero bias base resistance||Ohms||0||<br />
|-<br />
|irb_bjt||current where base resistance falls halfway to minimum value||A||inf||<br />
|-<br />
|rbm_bjt||minimum base resistance at high currents||ohms||0||<br />
|-<br />
|re_bjt||emitter resistance||Ohms||0||<br />
|-<br />
|rc_bjt||collector resistance||Ohms||0||<br />
|-<br />
|cje_bjt||B-E zero bias depletion capacitance||F||0||<br />
|-<br />
|vje_bjt||B-E built-in potential||V||0.75||<br />
|-<br />
|mje_bjt||B-E junction grading coefficient||-||0.33||<br />
|-<br />
|cjc_bjt||B-C zero bias depletion capacitance||F||0||<br />
|-<br />
|vjc_bjt||B-C built-in potential||V||0.75||<br />
|-<br />
|mjc_bjt||B-C junction exponential factor||-||0.33||<br />
|-<br />
|tf_bjt||ideal forward transit time||sec||0||<br />
|-<br />
|tr_bjt||ideal reverse transit time||sec||0||<br />
|-<br />
|is_d||diode saturation current||A||1.0e-12||<br />
|-<br />
|rs_d||diode resistance||Ohms||0||<br />
|-<br />
|n_d||diode emission coefficient||-||1||<br />
|-<br />
|cjo_d||diode junction capacitance||F||0||<br />
|-<br />
|vj_d||diode junction potential||V||1||<br />
|-<br />
|m_d||diode grading coefficient|| ||0.5||<br />
|-<br />
|tnom||parameter measurement temperature||deg C||27||<br />
|-<br />
|r1||first base-emitter resistance||Ohms||1k||<br />
|-<br />
|r2||second base-emitter resistance||Ohms||1k||<br />
|-<br />
|}<br />
<br />
== DC Bias Sources Vcc, Vee, Vdd, Vss ==<br />
<br />
[[File:GL12.png]]<br />
<br />
These are simple 1-pin DC voltage sources. Vcc and Vdd provide a positive voltage, while Vee and Vss provide a negative voltage<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|vcc||bias voltage||V||+15||required<br />
|-<br />
|vee||bias voltage||V||-15||required<br />
|-<br />
|vdd||bias voltage||V||+15||required<br />
|-<br />
|vss||bias voltage||V||-15||required<br />
|-<br />
|}<br />
<br />
==Digital-to-Analog Converter (DAC) Bridge==<br />
<br />
[[File:GK43.png]]<br />
<br />
The DAC Bridge takes a digital value from a digital node and can only be eiter &quot;0&quot;, &quot;1&quot;,<br />
or &quot;U&quot;. It then outputs the value &quot;out_low&quot;, &quot;out_high&quot; or &quot;out_udndef&quot;,<br />
or ramps linearly toward one of these &quot;final&quot; values from its curent analog output level. This<br />
ramping speed depends on the values of &quot;t_rise&quot; and &quot;t_fall&quot;.<br />
<br />
Model Identifier: dac_bridge<br />
<br />
Netlist Format:<br />
<br />
A&lt;device_name&gt; [&lt;in_pin&gt; {&lt;in2_pin&gt;&gt; ...}] [&lt;out_pin&gt; {&lt;out2_pin&gt; ...}] &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; dac_bridge {&lt;param1 = value&gt; &lt; param2 = value&gt; ...}<br />
<br />
Example:<br />
<br />
A [1] [2] dac_bridge<br />
<br />
.model dac_bridge dac_bridge out_low = 0 fall_delay = 1n <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|out_low||analog output for 0 digital input||V||0||required<br />
|-<br />
|out_high||analog output for 1 digital input||V||1||required<br />
|-<br />
|out_undef||analog output for undefined digital input||V||0.5||required<br />
|-<br />
|input_load||capacitive input load||F||1p|| <br />
|-<br />
|t_rise||L-to-H delay time||sec||1n|| <br />
|-<br />
|t_fall||H-to-L delay time||sec||1n|| <br />
|-<br />
|}<br />
<br />
==Diode==<br />
<br />
[[File:G9.png]]<br />
<br />
Diodes allow current flow only in one direction, following their symbol's arrow, and thus can be used as simple solid<br />
state switches in AC circuits.<br />
<br />
The standard device parameters are AREA, OFF, IC, and T. They are described below:<br />
<br />
{| class="wikitable"<br />
|-<br />
|AREA||area factor (optional) (If not specified, the default value is 1.0.)<br />
|-<br />
|OFF||initial condition for the DC analysis (optional)<br />
|-<br />
|IC||initial condition (optional) (Used when a transient analysis is desired, which starts from other than the quiescent operating point.)<br />
|-<br />
|T||operating temperature of the device (optional)<br />
|-<br />
|}<br />
<br />
The process models can be either junction diodes or Schottky barrier diodes. Area factor scales the model parameters<br />
IS, RS, CJO, and IBV. VD is the initial voltage, and TEMP is the overriding temperature. Descriptions of the process model parameters are given in the following table:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|IS||saturation current||A||1e-14||<br />
|-<br />
|TNOM||parameter measurement temperature||deg C||27||<br />
|-<br />
|RS||ohmic resistance||Ohms||0||<br />
|-<br />
|N||emission coefficient||-||1||<br />
|-<br />
|TT||transit-time||sec||0||<br />
|-<br />
|CJO||zero-bias junction capacitance||F||0||<br />
|-<br />
|VJ||junction potential||V||1||<br />
|-<br />
|M||grading coefficient||-||0.5||<br />
|-<br />
|EG||activation energy||eV||1.11||<br />
|-<br />
|XTI||saturation current temp. exp.||-||3.0||<br />
|-<br />
|KF||flicker noise coefficient||-||0||<br />
|-<br />
|AF||flicker noise exponent||-||1||<br />
|-<br />
|FC||forward bias junction fit parameter||-||0.5||<br />
|-<br />
|BV||reverse breakdown voltage||V||inf||<br />
|-<br />
|IBV||current at breakdown voltage||A||1e-3||<br />
|-<br />
|}<br />
<br />
==Diode Bridge==<br />
<br />
[[File:GK107.png]]<br />
<br />
This four-pin device is a bridge configuration of four generic diodes.<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|IS||saturation current||A||1e-14||<br />
|-<br />
|RS||ohmic resistance||Ohms||0||<br />
|-<br />
|N||emission coefficient||-||1||<br />
|-<br />
|TT||transit-time||sec||0||<br />
|-<br />
|CJO||zero-bias junction capacitance||F||10p||<br />
|-<br />
|VJ||junction potential||V||1||<br />
|-<br />
|M||grading coefficient||-||0.5||<br />
|-<br />
|BV||reverse breakdown voltage||V||1000||<br />
|-<br />
|IBV||current at breakdown voltage||A||1e-3||<br />
|-<br />
|TNOM||parameter measurement temperature||deg C||27||<br />
|-<br />
|}<br />
<br />
==Doubly Center-Tapped Ferrite Core Transformer==<br />
<br />
[[File:GK98.png]]<br />
<br />
This six-pin four-port device models a doubly center-tapped physical transformer with a magnetic ferrite core. Its model is based on XSPICE's magnetic core and inductive coupling models. For this device you need to specify physical parameters like cross sectional area, core length and number of primary and secondary turns. The physical model of the magnetic device is defined by two vectors: magnetic field intensity H in A/m and magnetic flux density B (also known as magnetic induction) in Tesla. The default array values are:<br />
<br />
H_array = [-250 -100 -50 -37.5 -25 -12.5 0 12.5 25 37.5 50 100 250]<br />
<br />
B_array = [-0.375 -0.36 -0.32 -0.29 -0.24 -0.15 0 0.15 0.24 0.29 0.32 0.36 0.375]<br />
<br />
To change the value of H/B arrays, open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|n_prim||number of full-winding primary inductor coupling turns||-||100||required<br />
|-<br />
|n_sec||number of full-winding secondary inductor coupling turns||-||100||required<br />
|-<br />
|area||cross-sectional area||m<sup>2</sup>||1e-5||<br />
|-<br />
|length||core length||m||0.01||<br />
|-<br />
|}<br />
<br />
== DPDT Switch ==<br />
<br />
[[File:GK74.png]]<br />
<br />
This is an 8-pin device that models a double-pole double-throw switch. It has two input signals and four output pins. When the control voltage is at the high state, the first and second input voltages are transferred to the first and third output pins, respectively. When the control voltage is at the low state, the first and second input voltages are transferred to the second and fourth output pins, respectively. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|von||turn-on voltage||V||3.3||<br />
|-<br />
|voff||turn-off voltage||V||0.3||<br />
|-<br />
|vt||threshold voltage||V||1.0||<br />
|-<br />
|ron||on resistance||Ohms||1.0||<br />
|-<br />
|roff||off resistance||Ohms||1Gig||<br />
|-<br />
|}<br />
<br />
== DPST Switch ==<br />
<br />
[[File:GK73.png]]<br />
<br />
This is a 6-pin device that models a double-pole single-throw switch. It has two input signals and two output signals. When the switch on, the first and second input voltages are transferred to the first and second output pins, respectively. When the switch is off, the output pin do not receive any input signals. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|von||turn-on voltage||V||3.3||<br />
|-<br />
|voff||turn-off voltage||V||0.3||<br />
|-<br />
|vt||threshold voltage||V||1.0||<br />
|-<br />
|ron||on resistance||Ohms||1.0||<br />
|-<br />
|roff||off resistance||Ohms||1Gig||<br />
|-<br />
|}<br />
<br />
==Ferrite Core Transformer==<br />
<br />
[[File:GK95.png]]<br />
<br />
This four-pin two-port device models a physical transformer with a magnetic ferrite core. Its model is based on XSPICE's magnetic core and inductive coupling models. For this device you need to specify physical parameters like cross sectional area, core length and number of primary and secondary turns. The physical model of the magnetic device is defined by two vectors: magnetic field intensity H in A/m and magnetic flux density B (also known as magnetic induction) in Tesla. The default array values are:<br />
<br />
H_array = [-250 -100 -50 -37.5 -25 -12.5 0 12.5 25 37.5 50 100 250]<br />
<br />
B_array = [-0.375 -0.36 -0.32 -0.29 -0.24 -0.15 0 0.15 0.24 0.29 0.32 0.36 0.375]<br />
<br />
To change the value of H/B arrays, open the subcircuit model dialog by clicking the {{key|View Subcircuit}} button and edit its text. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|n_prim||number of primary turns||-||100||required<br />
|-<br />
|n_sec||number of secondary turns||-||100||required<br />
|-<br />
|area||cross-sectional area||m<sup>2</sup>||1e-5||<br />
|-<br />
|length||core length||m||0.01||<br />
|-<br />
|}<br />
<br />
== FM Modulated Source ==<br />
<br />
[[File:GL24.png]]<br />
<br />
This is a voltage source with a single-tone frequency modulated waveform. The FM modulation index MDI is defined as the ratio of maximum frequency deviation to maximum signal amplitude. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|V0||offset||V||0||<br />
|-<br />
|VA||amplitude||V||1||<br />
|-<br />
|FC||carrier frequency ||Hz||1||required<br />
|-<br />
|MDI||modulation index||-||0||required<br />
|-<br />
|FS||signal frequency ||Hz||1||required<br />
|-<br />
|}<br />
<br />
==Frequency Meter==<br />
[[File:G114.png]]<br />
<br />
The Frequency Meter is a four-pin shunt device that is connected in parallel with an AC source just like a voltmeter and measures the operating frequency of the AC circuit. The input pins are connected across the AC source. The voltage across the output pins is equal to the frequency of the source in Hertz within a scale factor SF. Note that the Frequency Meter is designed to work with a single-tone AC source of unit amplitude. If the amplitude of the source is not one, multiply the SF parameter by the non-unit source amplitude value. The output voltage of the Frequency Meter can be used in conjunction with linear or nonlinear dependent sources to model frequency-dependent quantities.<br />
<br />
<br />
Model Identifier: fmeter<br />
<br />
<br />
Parameters:<br />
<br />
The only parameter is the scale factor SF with a default value of 1.0. Set SF = 1e-6 to read out the frequency in MHz. Set SF = 1e-9 to read out the frequency in GHz. Set SF = 6.283185 (2*pi) to read out the angular frequency &omega; in radian/s. <br />
<br />
== Fuse ==<br />
<br />
[[File:GK76.png]]<br />
<br />
This is a 2-pin interactive current-controlled switch. If the current passing through the fuse is less than a specified threshold current, the switch is closed. If the current exceeds the threshold level, the fuse breaks and remains open thereafter. The device's symbol changes to display its state. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNITS!!DEFAULT!!NOTES<br />
|-<br />
|r||resistance when intact||Ohms||1.0||<br />
|-<br />
|i_thresh||threshold current||A||1.0||<br />
|-<br />
|}<br />
<br />
==Ground==<br />
<br />
[[File:G15.png]]<br />
<br />
Ground has a voltage of zero (0) and is used as a reference to compute electrical values in the circuit. <br />
All circuits <B>must</B> be grounded to be properly simulated. There is no limit on the number of grounds<br />
you may use in a circuit. All components connected to ground are referenced to a common point and treated<br />
as linked through ground.<br />
<br />
==Hysteresis Block (XSPICE)==<br />
<br />
[[File:G37.png]]<br />
<br />
The Hysteresis block is a simple buffer stage that provides hysteresis of the output with respect to the<br />
input. The in_low and in_high parameter values. The output values are limited to out_lower_limit and<br />
out_upper_limit. The value of \93hyst\94 is added to the in_low and in_high points in order to specify the<br />
points at which the slope of the hysteresis function would normally change abruptly as the input transitions<br />
from a low to a high value. Likewise, the value of \93hyst\94 is subtracted from the in_high and in_low values<br />
in order to specify the points at which the slope of the hysteresis function would normally change abruptly<br />
as the input transitions from a high to a low value. In fact, the slope of the hysteresis function is<br />
never allowed to change abruptly but is smoothly varied whenever the input_dowmain smoothing parameter<br />
is set greater than zero.<br />
<br />
Model Identifier: hyst<br />
<br />
Netlist Format:<br />
<br />
A&lt;device_name&gt; &lt;in_pin&gt; &lt;out_pin&gt; &lt;model_name&gt;<br />
<br />
.model &lt;model_name&gt; hyst {&lt;param1 = value&gt; &lt; param2 = value&gt; ...}<br />
<br />
Example:<br />
<br />
A1 1 2 hysteresis_block<br />
<br />
.model hysteresis_block hyst in_low = 0.0 in_high = 1.0<br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!Name!!Description!!Default<br />
|-<br />
|In_low||input low value||0.0<br />
|-<br />
|in_high||input high value||1.0<br />
|-<br />
|hyst||hysteresis||0.1<br />
|-<br />
|out_lower_limit||output lower limit||0.0<br />
|-<br />
|out_upper_limit||output upper limit||1.0<br />
|-<br />
|input_domain||input smoothing domain||0.01<br />
|-<br />
|fraction||smoothing fraction/absolute value switch||true<br />
|-<br />
|}<br />
<br />
==Ideal Center-Tapped Transformer with Push-Pull Input==<br />
<br />
[[File:XFMR4.png]]<br />
<br />
The ideal center-tapped transformer with push-pull input is a five-pin three-port device with two primary input ports and one secondary output port. Its model is based on the [[Glossary_of_Generic_Analog_Devices#Ideal_Transformer | Ideal Transformer]], and the relationship between its primary and secondary voltages is given by:<br />
<br />
<math> \frac{v_P1}{v_S} = \frac{v_P2}{v_S} = n </math><br />
<br />
where v<sub>S</sub> is the secondary voltage, v<sub>P1</sub> is measured between the top primary pin P1 and the center tap pin, and v<sub>P2</sub> is measured between the center tap pin and the bottom primary pin P2. The red dots show the polarity of the windings on each side. This model has one parameter: ratio = n = N<sub>P1</sub>/N<sub>S</sub> = N<sub>P2</sub>/N<sub>S</sub>, which represents the primary-to-secondary (half-winding) turns ratio. <br />
<br />
==Ideal Center-Tapped Transformer with Push-Pull Output==<br />
<br />
[[File:XFMR3.png]]<br />
<br />
The ideal center-tapped transformer with push-pull output is a five-pin three-port device with one primary input port and two secondary output ports. Its model is based on the [[Glossary_of_Generic_Analog_Devices#Ideal_Transformer | Ideal Transformer]], and the relationship between its primary and secondary voltages is given by:<br />
<br />
<math> \frac{v_P}{v_{S1}} = \frac{v_P}{v_{S2}} = n </math><br />
<br />
where v<sub>P</sub> is the primary voltage, v<sub>S1</sub> is measured between the top secondary pin S1 and the center tap pin, and v<sub>S2</sub> is measured between the center tap pin and the bottom secondary pin S2. The red dots show the polarity of the windings on each side. This model has one parameter: ratio = n = N<sub>P</sub>/N<sub>S1</sub> = N<sub>P</sub>/N<sub>S2</sub>, which represents the primary-to-secondary (half-winding) turns ratio.<br />
<br />
==Ideal Diode==<br />
<br />
[[File:GK106.png]]<br />
<br />
This 2-pin device is a very basic and primitive model of a diode as a rectifier or switch. When the voltage across the device's terminals is positive, it acts as a short circuit. When the voltage across the device's terminals is negative, it acts as an open circuit. <br />
<br />
Parameters: <br />
<br />
None<br />
<br />
==Ideal Operational Amplifier (Op-Amp)==<br />
<br />
[[File:GK105.png]]<br />
<br />
This is a very basic and primitive model of an operational amplifier. It has only one parameter, open loop gain with a default value of 50,000, which is adequate for most cases. The ideal Op-Amp device doesn't require any DC bias voltages. <br />
<br />
Parameters:<br />
<br />
{| class="wikitable"<br />
|-<br />
!NAME!!PARAMETER!!UNIT!!DEFAULT!!NOTES<br />
|-<br />
|A||open loop gain||-||50,000||<br />
|-<br />
|}<br />
<br />
==Ideal Transformer==<br />
<br />
[[File:XFMR1.png]]<br />
<br />
The ideal transformer is a four-pin two-port device with the following relationship between the voltages and currents at its primary and secondary ports:<br />
<br />
<math> \frac{v_P}{v_S} = - \frac{i_S}{i_P} = \frac{N_P}{N_S} = n </math><br />
<br />
where v<sub>P</sub>, i<sub>P</sub>, N<sub>P</sub> are the primary voltage, current and number of turns, respectively, and v<sub>S</sub>, i<sub>S</sub>, N<sub>S</sub> are the secondary voltage, current and number of turns, respectively. The red dots show the polarity of the windings on each side. This model has one parameter: ratio = n = N<sub>P</sub>/N<sub>S</sub>, which represents the primary-to-secondary turns ratio. Note that the ideal transformer model is defined based on contr