Skip to content

Commit

Permalink
update Release v0.18.0 documentation
Browse files Browse the repository at this point in the history
Signed-off-by: The Sionna Team <[email protected]>
  • Loading branch information
gmarcusm committed Jun 12, 2024
1 parent eb91d74 commit c3708b2
Show file tree
Hide file tree
Showing 22 changed files with 81 additions and 56 deletions.
Binary file modified docs/_images/examples_Sionna_Ray_Tracing_RIS_17_0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/examples_Sionna_Ray_Tracing_RIS_17_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/examples_Sionna_Ray_Tracing_RIS_19_0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/examples_Sionna_Ray_Tracing_RIS_25_0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/examples_Sionna_Ray_Tracing_RIS_27_0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file modified docs/_images/examples_Sionna_Ray_Tracing_RIS_31_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/examples_Sionna_Ray_Tracing_RIS_31_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/examples_Sionna_Ray_Tracing_RIS_33_0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/examples_Sionna_Ray_Tracing_RIS_36_0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/examples_Sionna_Ray_Tracing_RIS_44_0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/examples_Sionna_Ray_Tracing_RIS_44_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/examples_Sionna_Ray_Tracing_RIS_46_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/examples_Sionna_Ray_Tracing_RIS_48_0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -454,7 +454,7 @@
"metadata": {},
"source": [
"Let us run the ray tracing process and compute propagation paths between all transmitters and receivers. The parameter `max_depth` determines the maximum number of interactions between a ray and a scene objects. \n",
"For example, with a `max_depth` of one, only LoS paths are considered. When the property `scene.synthetic_array` is set to `True`, antenna arrays are explicitly modeled by finding paths between any pair of transmitting and receiving antennas in the scene. Otherwise, arrays are represented by a single antenna located in the center of the array.\n",
"For example, with a `max_depth` of one, only LoS paths are considered. When the property `scene.synthetic_array` is set to `False`, antenna arrays are explicitly modeled by finding paths between any pair of transmitting and receiving antennas in the scene. Otherwise, arrays are represented by a single antenna located in the center of the array.\n",
"Phase shifts related to the relative antenna positions will then be applied based on a plane-wave assumption when the channel impulse responses are computed."
]
},
Expand Down
50 changes: 29 additions & 21 deletions docs/_sources/examples/Sionna_Ray_Tracing_RIS.ipynb.txt

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/examples/Sionna_Ray_Tracing_Introduction.html
Original file line number Diff line number Diff line change
Expand Up @@ -1598,7 +1598,7 @@ <h2>Ray Tracing for Radio Propagation<a class="headerlink" href="#Ray-Tracing-fo
XPD coefficient: 0.0
</pre></div></div>
</div>
<p>Let us run the ray tracing process and compute propagation paths between all transmitters and receivers. The parameter <code class="docutils literal notranslate"><span class="pre">max_depth</span></code> determines the maximum number of interactions between a ray and a scene objects. For example, with a <code class="docutils literal notranslate"><span class="pre">max_depth</span></code> of one, only LoS paths are considered. When the property <code class="docutils literal notranslate"><span class="pre">scene.synthetic_array</span></code> is set to <code class="docutils literal notranslate"><span class="pre">True</span></code>, antenna arrays are explicitly modeled by finding paths between any pair of transmitting and receiving antennas in the scene. Otherwise, arrays are
<p>Let us run the ray tracing process and compute propagation paths between all transmitters and receivers. The parameter <code class="docutils literal notranslate"><span class="pre">max_depth</span></code> determines the maximum number of interactions between a ray and a scene objects. For example, with a <code class="docutils literal notranslate"><span class="pre">max_depth</span></code> of one, only LoS paths are considered. When the property <code class="docutils literal notranslate"><span class="pre">scene.synthetic_array</span></code> is set to <code class="docutils literal notranslate"><span class="pre">False</span></code>, antenna arrays are explicitly modeled by finding paths between any pair of transmitting and receiving antennas in the scene. Otherwise, arrays are
represented by a single antenna located in the center of the array. Phase shifts related to the relative antenna positions will then be applied based on a plane-wave assumption when the channel impulse responses are computed.</p>
<div class="nbinput docutils container">
<div class="prompt highlight-none notranslate"><div class="highlight"><pre><span></span>[11]:
Expand Down
2 changes: 1 addition & 1 deletion docs/examples/Sionna_Ray_Tracing_Introduction.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -454,7 +454,7 @@
"metadata": {},
"source": [
"Let us run the ray tracing process and compute propagation paths between all transmitters and receivers. The parameter `max_depth` determines the maximum number of interactions between a ray and a scene objects. \n",
"For example, with a `max_depth` of one, only LoS paths are considered. When the property `scene.synthetic_array` is set to `True`, antenna arrays are explicitly modeled by finding paths between any pair of transmitting and receiving antennas in the scene. Otherwise, arrays are represented by a single antenna located in the center of the array.\n",
"For example, with a `max_depth` of one, only LoS paths are considered. When the property `scene.synthetic_array` is set to `False`, antenna arrays are explicitly modeled by finding paths between any pair of transmitting and receiving antennas in the scene. Otherwise, arrays are represented by a single antenna located in the center of the array.\n",
"Phase shifts related to the relative antenna positions will then be applied based on a plane-wave assumption when the channel impulse responses are computed."
]
},
Expand Down
29 changes: 19 additions & 10 deletions docs/examples/Sionna_Ray_Tracing_RIS.html
Original file line number Diff line number Diff line change
Expand Up @@ -1309,9 +1309,9 @@ <h2>Table of Contents<a class="headerlink" href="#Table-of-Contents" title="Perm
</div>
<div class="section" id="Background-Information">
<h2>Background Information<a class="headerlink" href="#Background-Information" title="Permalink to this headline"></a></h2>
<p>For background information on reconfigurable intelligent surfaces (RIS), we refer to the relevant sections of the <a class="reference external" href="https://nvlabs.github.io/sionna/em_primer.htmll#reconfigurable-intelligent-surfaces-ris">EM Primer</a> and the <a class="reference external" href="https://nvlabs.github.io/sionna/api/rt.htm#reconfigurable-intelligent-surfaces-ris">API Documentation</a>.</p>
<p>For background information on reconfigurable intelligent surfaces (RIS), we refer to the relevant sections of the <a class="reference external" href="https://nvlabs.github.io/sionna/em_primer.html#reconfigurable-intelligent-surfaces-ris">EM Primer</a> and the <a class="reference external" href="https://nvlabs.github.io/sionna/api/rt.html#reconfigurable-intelligent-surfaces-ris">API Documentation</a>.</p>
<p>RIS are modeled in Sionna as radio devices, like transmitters and receivers, which can be placed at arbitrary positions in a scene.</p>
<p>Every RIS has a <a class="reference external" href="https://nvlabs.github.io/sionna/api/rt.htm#sionna.rt.PhaseProfile">phase profile</a> and an <a class="reference external" href="https://nvlabs.github.io/sionna/api/rt.htm#sionna.rt.AmplitdueProfile">amplitude profile</a> which determine together the reradiated electro-magnetic field. These profiles are assumed to be discrete, i.e., a unique value can be configured for a regular grid of points (or unit cells) on the RIS with <span class="math notranslate nohighlight">\(\lambda/2\)</span> spacing. These values are then interpolated to obtain continuous phase
<p>Every RIS has a <a class="reference external" href="https://nvlabs.github.io/sionna/api/rt.html#sionna.rt.PhaseProfile">phase profile</a> and an <a class="reference external" href="https://nvlabs.github.io/sionna/api/rt.html#sionna.rt.AmplitdueProfile">amplitude profile</a> which determine together the reradiated electro-magnetic field. These profiles are assumed to be discrete, i.e., a unique value can be configured for a regular grid of points (or unit cells) on the RIS with <span class="math notranslate nohighlight">\(\lambda/2\)</span> spacing. These values are then interpolated to obtain continuous phase
and amplitude profiles over the RIS.</p>
<p>Most properties of RIS can be made trainable by assigning a <a class="reference external" href="https://www.tensorflow.org/api_docs/python/tf/Variable">tf.Variable</a> to them.</p>
<p>The computation of propagation paths assumes the model from <a class="reference external" href="#References">[1]</a> while coverage maps are based on <a class="reference external" href="#References">[2]</a>.</p>
Expand Down Expand Up @@ -1439,7 +1439,7 @@ <h2>Reproducing Results from the Literature<a class="headerlink" href="#Reproduc
</div>
<div class="output_area docutils container">
<div class="highlight"><pre>
RIS size (width, height) [m]: [6.9951572 6.9951572]
RIS size (width, height) [m]: [6.9951577 6.9951577]
Number of cells: 19600
Velocity vector [m/s]: [0. 0. 0.]
</pre></div></div>
Expand All @@ -1461,8 +1461,8 @@ <h2>Reproducing Results from the Literature<a class="headerlink" href="#Reproduc
</div>
<div class="output_area docutils container">
<div class="highlight"><pre>
&lt;sionna.rt.ris.DiscretePhaseProfile object at 0x7f734c2519c0&gt;
&lt;sionna.rt.ris.DiscreteAmplitudeProfile object at 0x7f734c251900&gt;
&lt;sionna.rt.ris.DiscretePhaseProfile object at 0x7f30f5180dc0&gt;
&lt;sionna.rt.ris.DiscreteAmplitudeProfile object at 0x7f30f5180e80&gt;
</pre></div></div>
</div>
<p>Each profile is defined by a tensor of shape <code class="docutils literal notranslate"><span class="pre">[num_modes,</span> <span class="pre">num_rows,</span> <span class="pre">num_cols]</span></code> containing either amplitude or phase values [rad] for every reradiation mode. Let us inspect the default values of these tensors.</p>
Expand Down Expand Up @@ -1782,7 +1782,7 @@ <h2>Coverage Enhancement with RIS<a class="headerlink" href="#Coverage-Enhanceme
<span class="n">ris</span><span class="o">.</span><span class="n">phase_gradient_reflector</span><span class="p">(</span><span class="n">tx</span><span class="o">.</span><span class="n">position</span><span class="p">,</span> <span class="n">rx</span><span class="o">.</span><span class="n">position</span><span class="p">)</span>

<span class="c1"># Compute coverage map without RIS</span>
<span class="n">cm_no_ris</span> <span class="o">=</span> <span class="n">scene</span><span class="o">.</span><span class="n">coverage_map</span><span class="p">(</span><span class="n">num_samples</span><span class="o">=</span><span class="mf">10e6</span><span class="p">,</span>
<span class="n">cm_no_ris</span> <span class="o">=</span> <span class="n">scene</span><span class="o">.</span><span class="n">coverage_map</span><span class="p">(</span><span class="n">num_samples</span><span class="o">=</span><span class="mf">2e6</span><span class="p">,</span> <span class="c1">#increase for better resolution</span>
<span class="n">max_depth</span><span class="o">=</span><span class="mi">5</span><span class="p">,</span>
<span class="n">los</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
<span class="n">reflection</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
Expand All @@ -1796,7 +1796,7 @@ <h2>Coverage Enhancement with RIS<a class="headerlink" href="#Coverage-Enhanceme
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s2">&quot;Coverage without RIS&quot;</span><span class="p">);</span>

<span class="c1"># Compute coverage map with RIS</span>
<span class="n">cm_ris</span> <span class="o">=</span> <span class="n">scene</span><span class="o">.</span><span class="n">coverage_map</span><span class="p">(</span><span class="n">num_samples</span><span class="o">=</span><span class="mf">10e6</span><span class="p">,</span>
<span class="n">cm_ris</span> <span class="o">=</span> <span class="n">scene</span><span class="o">.</span><span class="n">coverage_map</span><span class="p">(</span><span class="n">num_samples</span><span class="o">=</span><span class="mf">2e6</span><span class="p">,</span> <span class="c1">#increase for better resolution</span>
<span class="n">max_depth</span><span class="o">=</span><span class="mi">5</span><span class="p">,</span>
<span class="n">los</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
<span class="n">reflection</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
Expand All @@ -1822,22 +1822,31 @@ <h2>Coverage Enhancement with RIS<a class="headerlink" href="#Coverage-Enhanceme
<div class="nboutput docutils container">
<div class="prompt empty docutils container">
</div>
<div class="output_area stderr docutils container">
<div class="highlight"><pre>
/tmp/ipykernel_221734/1079635823.py:58: RuntimeWarning: divide by zero encountered in log10
plt.imshow(10*np.log10(cm_ris._value[0]/cm_no_ris._value[0]), origin=&#39;lower&#39;, vmin=0)
</pre></div></div>
</div>
<div class="nboutput docutils container">
<div class="prompt empty docutils container">
</div>
<div class="output_area docutils container">
<img alt="../_images/examples_Sionna_Ray_Tracing_RIS_31_0.png" src="../_images/examples_Sionna_Ray_Tracing_RIS_31_0.png" />
<img alt="../_images/examples_Sionna_Ray_Tracing_RIS_31_1.png" src="../_images/examples_Sionna_Ray_Tracing_RIS_31_1.png" />
</div>
</div>
<div class="nboutput docutils container">
<div class="prompt empty docutils container">
</div>
<div class="output_area docutils container">
<img alt="../_images/examples_Sionna_Ray_Tracing_RIS_31_1.png" src="../_images/examples_Sionna_Ray_Tracing_RIS_31_1.png" />
<img alt="../_images/examples_Sionna_Ray_Tracing_RIS_31_2.png" src="../_images/examples_Sionna_Ray_Tracing_RIS_31_2.png" />
</div>
</div>
<div class="nboutput nblast docutils container">
<div class="prompt empty docutils container">
</div>
<div class="output_area docutils container">
<img alt="../_images/examples_Sionna_Ray_Tracing_RIS_31_2.png" src="../_images/examples_Sionna_Ray_Tracing_RIS_31_2.png" />
<img alt="../_images/examples_Sionna_Ray_Tracing_RIS_31_3.png" src="../_images/examples_Sionna_Ray_Tracing_RIS_31_3.png" />
</div>
</div>
<p>As expected, the coverage has significantly improved in a small area around the receiver. We can also visualize the coverage map together with the RIS as follows:</p>
Expand Down
50 changes: 29 additions & 21 deletions docs/examples/Sionna_Ray_Tracing_RIS.ipynb

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/searchindex.js

Large diffs are not rendered by default.

0 comments on commit c3708b2

Please sign in to comment.