Skip to content

Commit

Permalink
add module 04
Browse files Browse the repository at this point in the history
  • Loading branch information
yuanzhangxiao committed Jan 22, 2024
1 parent 7b04ff8 commit 4382051
Show file tree
Hide file tree
Showing 27 changed files with 321 additions and 60 deletions.
2 changes: 1 addition & 1 deletion _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# SITE SPECIFIC: The following fields are typically changed for each site
name: EE 643 Spring 2024
baseurl: /ee643spring2024
morea_theme: cerulean-original
morea_theme: litera
timezone: Pacific/Honolulu
morea_navbar_items:
# - Prerequisites
Expand Down
8 changes: 4 additions & 4 deletions _layouts/module.html
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ <h2>Prerequisite Modules</h2>
{% unless page.morea_page.morea_outcomes.size == 0 %}
<div class="{% cycle 'section-background-1', 'section-background-2' %}">
<div class="container">
<h2>Learning Outcomes</h2>
<h2 style="margin-top:auto">Learning Outcomes</h2>

{% for page_id in page.morea_page.morea_outcomes %}
{% assign outcome = site.morea_page_table[page_id] %}
Expand All @@ -52,7 +52,7 @@ <h3>{{ outcome.title }}</h3>
{% unless page.morea_page.morea_readings.size == 0 %}
<div class="{% cycle 'section-background-1', 'section-background-2' %}">
<div class="container">
<h2 class="text-primary">Readings</h2>
<h2 class="text-primary" style="margin-top:auto">Readings</h2>

<div class="row">
{% for page_id in page.morea_page.morea_readings %}
Expand All @@ -67,7 +67,7 @@ <h2 class="text-primary">Readings</h2>
{% unless page.morea_page.morea_experiences.size == 0 %}
<div class="{% cycle 'section-background-1', 'section-background-2' %}">
<div class="container">
<h2 class="text-success">Experiential Learning</h2>
<h2 class="text-success" style="margin-top:auto">Experiential Learning</h2>
<div class="row">
{% for page_id in page.morea_page.morea_experiences %}
{% assign experience = site.morea_page_table[page_id] %}
Expand All @@ -81,7 +81,7 @@ <h2 class="text-success">Experiential Learning</h2>
{% unless page.morea_page.morea_assessments.size == 0 %}
<div class="{% cycle 'section-background-1', 'section-background-2' %}">
<div class="container">
<h2class="text-danger">Assessments</h2>
<h2 class="text-danger" style="margin-top:auto">Assessments</h2>
<div class="row">
{% for page_id in page.morea_page.morea_assessments %}
{% assign assessment = site.morea_page_table[page_id] %}
Expand Down
2 changes: 1 addition & 1 deletion assessments/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ title: Assessments
{% if module.morea_coming_soon != true and module.morea_assessments.size > 0 %}
<div class="{% cycle 'section-background-1', 'section-background-2' %}">
<div class="container">
<h2><small>Module:</small> <a href="{{ site.baseurl }}{{ module.module_page.url }}">{{ module.title }}</a></h2>
<h2 style="margin-top:auto"><small>Module:</small> <a href="{{ site.baseurl }}{{ module.module_page.url }}">{{ module.title }}</a></h2>
{% if module.morea_assessments.size == 0 %}
<p>No assessments for this module.</p>
{% endif %}
Expand Down
29 changes: 27 additions & 2 deletions css/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@ body {
}
}

/* Always show the scroll bar. Otherwise, the page widths are different when there is a scroll bar and when there is no scroll bar, resulting in a shift of the content */
@media (min-width: 768px) {
body {
overflow-y: scroll;
}
}

/* Add bottom margin to h1 heading for larger devices */
@media (min-width: 768px) {
h1 {
Expand All @@ -26,6 +33,7 @@ body {
margin-block-end: 1em;
margin-inline-start: 0px;
margin-inline-end: 0px;
text-align: justify;
}
}

Expand Down Expand Up @@ -119,6 +127,24 @@ small {
}
}

/* Class of images with the shadow effect */
.img-floating {
box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5); /* horizontal-offset vertical-offset blur-radius color */
}

/* Adjust the size of images */
img {
height: auto;
max-width: 100%;
}

/* Adjust the size of figures */
figure {
height: auto;
max-width: 100%;
}


/* Define a toc-sidebar class for the table of content on the sidebar */
.toc-sidebar {
position: fixed; /* or 'sticky' */
Expand Down Expand Up @@ -159,5 +185,4 @@ small {

#toc-container a.active {
color: var(--bs-link-hover-color); /* Color for active section link */
}

}
12 changes: 12 additions & 0 deletions css/themes/litera/bootstrap.min.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion experiences/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ title: Experiences
{% if module.morea_coming_soon != true and module.morea_experiences.size > 0 %}
<div class="{% cycle 'section-background-1', 'section-background-2' %}">
<div class="container">
<h2><small>Module:</small> <a href="{{ site.baseurl }}{{ module.module_page.url }}">{{ module.title }}</a></h2>
<h2 style="margin-top:auto"><small>Module:</small> <a href="{{ site.baseurl }}{{ module.module_page.url }}">{{ module.title }}</a></h2>
{% if module.morea_experiences.size == 0 %}
<p>No experiences for this module.</p>
{% endif %}
Expand Down
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.
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ morea_readings:
- reading-03-free-space-fixed-antenna
- reading-03-free-space-moving-antenna
- reading-03-reflecting-wall-fixed-antenna
# - reading-03-reflecting-wall-moving-antenna
morea_experiences:
# - experience-CHANGE-ME
morea_assessments:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,7 @@ morea_type: outcome
morea_sort_order: 30
---

* You have a sense of how to develop the physical model of wireless channels.
* You understand some key features of a wireless channel.
* You know how to derive the physical model of wireless channels using the ray tracing method.
* You understand the key features of a wireless channel: small-scaling fading, large-scale fading, Doppler shift, delay spread, coherence distance, coherence time, and coherence bandwidth.
* You understand what factors result in these features (e.g., moving transmitter and/or receiver result in Doppler shift, multipath results in delay spread).
* You can implement the ray tracing method in Python, and use numerical simulation to study more realistic wireless channels.
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,17 @@ morea_sort_order: 31
## The simplest environment
We start with the simpliest propagation model. Consider a transmitter anteanna, radiating into *free space*, and a receiver antenna in the *far field* (i.e., far away from the transmitter). There is nothing else in the space, so that the only propagation path for the signal is the line-of-sight (LOS) path from the transmitter to the receiver.

To make things even simpler, we let the transmitter send a sinusoid at frequency \\(f\\):
<figure style="text-align: center;">
<img src="03-fixed-antenna-free-space.png" alt="Fixed antennas in free space" width="500">
</figure>

We can create an 3-dimensional coordination system with the transmitter antenna at the origin. Then the location of the receiver antenna can be described by a triple \\(\mathbf{u} = (r, \theta, \phi)\\), where \\(r\\) is the distance between the antennas, \\(\theta\\) is the vertical angle, and \\(\phi\\) is the horizontal angle.

To make things simple, we let the transmitter send a sinusoid at frequency \\(f\\):
\\[
\cos 2 \pi f t.
\\]

We can create an 3-dimensional (3D) coordination system with the transmitter antenna at the origin. Then the location of the receiver antenna can be described by a triple \\(\mathbf{u} = (r, \theta, \phi)\\), where \\(r\\) is the distance between the antennas, \\(\theta\\) is the vertical angle, and \\(\phi\\) is the horizontal angle.
This is without loss of generality, because most signals are the superposition of sinusoids.

In this simplest possible environment, we can analytically determine the received signal as
\\[
Expand All @@ -30,17 +35,17 @@ where \\(c = 3 \times 10^8\\)m/s is the speed of light.
## Breakdown
Now let us break down the above equation.
* First, the received signal is still a sinusoid with the same frequency \\(f\\). But the phase is delayed by \\(2 \pi f r / c\\), which happened because the signal traveled across a distance of \\(r\\) at the speed \\(c\\).
* Second, the magnitude of the received signal depends on the function \\(\alpha(\theta,\phi,f)\\), which represents the antenna gain. The technical term is *radiation pattern* of the antenna, which usually looks like this:
* Second, the magnitude of the received signal depends on the function \\(\alpha(\theta,\phi,f)\\), which represents the antenna gain. The technical term is *radiation pattern* of the antenna. The figure below shows an example of the radiation pattern in the horizontal plane:

<figure style="text-align: center;">
<img src="03-radiation-pattern.svg" alt="A typical radiation pattern" width="500">
<figcaption>By Timothy Truckle; Link: https://commons.wikimedia.org/w/index.php?curid=4245213</figcaption>
</figure>

+ We can see that the antenna magnifies the signal at different levels depending on the angles. Since both the transmitter antenna and the receiver antenna have radiation patterns, the function \\(\alpha(\theta,\phi,f) = \alpha_s(\theta,\phi,f) \cdot \alpha_r(\theta,\phi,f)\\) is the product of the transmitter antenna radiation pattern \\(\alpha_s(\theta,\phi,f)\\) and the receiver antenna radiation pattern \\(\alpha_r(\theta,\phi,f)\\).
+ We will not talk much about the radiation pattern in this course, because they are fixed and known.
+ We can see that the antenna magnifies the signal to different levels at different angles. The figure above shows the radiation pattern with respect to the horizontal angle \\(\phi\\). As you can imagine, there is another radiation pattern with respect to the vertical angle \\(\theta\\).
+ Since both the transmitter antenna and the receiver antenna have radiation patterns, the function \\(\alpha(\theta,\phi,f) = \alpha_s(\theta,\phi,f) \cdot \alpha_r(\theta,\phi,f)\\) is the product of the transmitter antenna radiation pattern \\(\alpha_s(\theta,\phi,f)\\) and the receiver antenna radiation pattern \\(\alpha_r(\theta,\phi,f)\\).

* Third, the magnitude of the received signal is inverse propotional to the distance \\(r\\). This indicates that the power of the signal decreases as \\(r^{-2}\\). This is the *large-scale fading*. Note that the power law may change with the actual environment (i.e., raining or existence of other objects in the environment).
* Third, the magnitude of the received signal is inverse propotional to the distance \\(r\\). This indicates that the power of the signal decreases as \\(r^{-2}\\). This is the *large-scale fading*. Note that the exponent of \\(-2\\) may change with the actual environment (i.e., raining or existence of other objects in the environment).

## Take-away
In summary, in a free space, the received signal attenuates by \\(r^{-2}\\). The frequency \\(f\\) does not change. The phase is delayed due to the distance. Nothing particularly interesting here.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "Case 2: The antennas start moving..."
title: "Case 2: Antennas start moving..."
published: true
morea_id: reading-03-free-space-moving-antenna
morea_summary: "Moving antennas create Doppler shift"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "Case 3: A wall enters..."
title: "Case 3: A wall enters the space"
published: true
morea_id: reading-03-reflecting-wall-fixed-antenna
morea_summary: "Reflection creates delay spread"
Expand All @@ -19,7 +19,7 @@ Now consider two antennas with distance \\(r\\) apart on the same horizontal pla
<img src="03-reflecting-wall-fixed-antenna.png" alt="Two antennas with a reflecting wall" width="500">
</figure>

With a reflecting wall, there are two paths for the signal to reach the receiver: the line-of-sight (LOS) path and the path where the signal bounces back from the wall. The received signal is the superpositon of the two rays coming from these two paths. Calculating the received signal by tracing these two rays is called **ray tracing**. This is a commonly-used method to determine the channel quality.
With a reflecting wall, there are two paths for the signal to reach the receiver: the line-of-sight (LOS) path and the path where the signal bounces back from the wall. The received signal is the superpositon of the two rays coming from these two paths. Calculating the received signal by tracing these two rays is called **ray tracing**. This is a commonly-used method to determine the channel quality.

In our case, we already know how to determine the signal coming from the LOS path. For the reflected signal, we can think of it as a signal sent from a virtual transmitter that mirrors the actual transmitter at the other side of the wall. In other words, the virtual transmitter has a distance of \\(2d-r\\) from the receiver. Assuming that the wall is a *perfect reflector*, the received signal has no attenuation from the reflection and has a \\(180^\circ\\) phase shift. Then the received signal is
\\[
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
title: "Case 4: Reflecting wall and moving antennas"
published: true
morea_id: reading-03-reflecting-wall-moving-antenna
morea_summary: "Reflection creates delay spread"
# morea_url: https://github.com/airbnb/javascript
morea_type: reading
morea_labels:
morea_sort_order: 34
---

# Case 4: Reflecting wall and moving antennas

## Ray tracing

Continuing from the [previous example](reading-03-reflecting-wall-fixed-antenna.html), now we let the receive antenna move towards the wall at the speed \\(v\\).

<figure style="text-align: center;">
<img src="03-reflecting-wall-moving-antenna.png" alt="Moving antennas with a reflecting wall" width="500">
</figure>

We need to update the time-varying distance between the two antennas as \\(r(t) = r_0 + vt\\). Using the same ray tracing method, we can calculate the received signal as
\\[
E_r(f,t) = \frac{\alpha \cos 2 \pi f \left[(1-v/c) t - r_0 / c\right]}{r_0+vt} - \frac{\alpha \cos 2 \pi f \left[(1+v/c)t + (r_0-2d)/c\right]}{2d-r_0-vt}.
\\]

## Coherence distance, delay spread and coherence bandwidth
From the expression, we know that the received signal is a superposition of two sinusoids.
* If the two sinusoids have a phase difference that is an even integer multiple of \\(\pi\\), they add up *constructively*.
* If they have a phase difference that is an odd integer multiple of \\(\pi\\), they add *destructively* or *canel each other*.

Let us formulate this idea mathematically. The phase difference between the two sinusoids is
\\[
\Delta \theta = \left( \frac{2 \pi f (2d-r)}{c} + \pi \right) - \left( \frac{2 \pi f r}{c} + \pi \right) = \frac{4 \pi f}{c} (d-r) + \pi.
\\]

The two sinusoids go from adding up constructively to canceling each other when the phase difference changes by \\(\pi\\), namely when
\\[
\frac{4 \pi f}{c} (d-r) = \pi \Rightarrow \frac{4 f}{c} (d-r) = 1.
\\]

This means when the distance \\(r\\) or the frequency \\(f\\) changes a little, the strength of the received signal may change a lot, because the two sinusoids go from being constructive to destructive to each other.

In terms of the distance, the distance from a peak to a valley is defined as **coherence distance**, namely
\\[
\Delta x_c \triangleq \frac{\lambda}{4},
\\]
where \\(\lambda = c/f\\) is the wavelength.

In terms of the frequency, the signal strength changes from a peak to a valley when the frequency changes by
\\[
\frac{1}{2} \left( \frac{2d-r}{c} - \frac{r}{c} \right)^{-1}.
\\]
Notice that the reciprocal of the above quantity, namely
\\[
T_d = \frac{2d-r}{c} - \frac{r}{c},
\\]
is actually the propagation delay of the two paths. This is called **delay spread**.

We define \\(1/T_d\\) as the **coherence bandwidth**.

## Take-away
In wireless communication channels, multipath is common. Multipath creates **delay spread**, resulting in phase differences between signals arriving from different paths. The signals can either add up or canel each other.

When the distance between the transmitter and the receiver changes by the **coherence distance**, the received signal goes from a peak to a valley.

When the frequency of the signal changes by the **coherence bandwidth**, the received signal goes from a peak to a valley.

Therefore, it is importance to know the coherence distance and the coherence bandwidth of a wireless channel. They tell us how fast the channel changes in the time domain and the frequency domain.
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,16 @@ In this module, we will look at the wireless communication channels from a funda

Theoretically, we can calculate the received signal based on the transmitted signal and the propagation environment using Maxwell's equations. In practice, this approach may be too complicated because the environment is complex.

However, it is useful to apply this approach to very simplified propagation environments. In this way, we can get analytical expressions and great insights about the wireless channels. From these insights, we derive some key concepts that are useful when discussing any wireless channels.
However, it is useful to apply this approach to very simple propagation environments. In this way, we can get analytical expressions and great insights about the wireless channels. From these insights, we derive some key concepts that are useful when discussing any wireless channels.

Here is what a typical wireless channel looks like

<figure style="text-align: center;">
<img src="03-channel-quality.png" alt="Wireless channel quality over time" width="500">
<img src="03-channel-quality.png" alt="Wireless channel quality over time" width="400">
</figure>

We can see that there are two types of fading (i.e., temporal variations of channel quality)
- *Large-scale fading*: The envelop of the channel quality changes over time, usually in the scale of seconds or minutes.
- *Small-scale fading*: The channel quality also varies very fast, usually in the scale of miliseconds or less.

We will focus more on the small-scale fading, which is more challenging to deal with.
In this module, our physical models will allow us to see both small-scale and large-scale fading. In later modules, we will focus more on the small-scale fading, which is more challenging to deal with.
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.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
title: "Input/Output Models of Wireless Channels"
published: true
morea_coming_soon: false
morea_id: module-wireless-channel-input-output-model
morea_prerequisites:
morea_outcomes:
- outcome-04-wireless-channel-input-output-model
morea_readings:
- reading-04-linear-time-varying-system
morea_experiences:
# - experience-CHANGE-ME
morea_assessments:
# - assessment-CHANGE-ME
morea_type: module
morea_icon_url: /morea/04-wireless-channel-input-output-model/04-module-icon-multipath.png
morea_start_date: "2024-01-22"
morea_end_date: "2024-01-24"
morea_labels:
morea_sort_order: 4
---

The input/output model of wireless channels allows us to write the received signal (i.e., output) in terms of the transmitted signal (i.e., input) and the channel.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
title: "Input/output models of wireless channels"
published: true
morea_id: outcome-04-wireless-channel-input-output-model
morea_type: outcome
morea_sort_order: 40
---

* You know how to write the input/output model of wireless channels in the form of tap gain filters.
* You understand the relationship of the actual signals and their baseband equivalent representations.
* You understand the concept of I/Q channels and how they are implemented in practice.
10 changes: 0 additions & 10 deletions morea/04-wireless-channel-input-output-model/outcome-CHANGE-ME.md

This file was deleted.

Loading

0 comments on commit 4382051

Please sign in to comment.