# Visualizations of the Concepts from Chapter 1

The Jupyter notebooks provide visualizations of the concepts of the physical layer, specifically channel coding, line coding and modulation.

Python must be installed to run the Jupyter notebooks.
On Windows, the notebooks should be opened with WSL in order to use a Linux environment.
We recommend installing the required libraries in a venv.
You can either open the notebooks in VSCode and run them in the context of the venv, or start a Jupyter server and view the notebooks in your browser.

```bash
# Create and activate the venv
python3 -m venv .venv
source .venv/bin/activate

# Install the libraries
pip install -r requirements.txt

# Option A: Start a Jupyter server and view the notebooks in the browser
jupyter notebook

# Option B: In VSCode - select the kernel
#  Open the notebook → "Select Kernel" → "Python Environments" → select the previously created .venv
```

You can modify the notebooks locally as you like; in particular, you can use other values, texts, codings, modulation schemes, frequency bands, etc. and observe the respective effects.


More information:
* on Jupyter notebooks: at https://docs.jupyter.org/en/latest/

