Skip to content

Commit 1795a55

Browse files
committed
Link notebooks.
1 parent b7f6c2e commit 1795a55

File tree

6 files changed

+15
-6
lines changed

6 files changed

+15
-6
lines changed

build.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
re_sol = re.compile(r"""\\begin{sol}(.*?)\\end{sol}""", re.DOTALL)
1515
re_hnt = re.compile(r"""\\begin{hnt}(.*?)\\end{hnt}""", re.DOTALL)
1616
re_yt = re.compile(r"""% youtube: (.+?)\s""", re.DOTALL)
17+
re_jup = re.compile(r"""% jupyter: (.+?)\s""", re.DOTALL)
1718

1819
def process_exer(chapter_dirs):
1920
with open(os.path.join(build_dir, "solutions.tex"), 'w') as sol_file:
@@ -73,6 +74,10 @@ def process_exer(chapter_dirs):
7374
if yt_match:
7475
icons += \
7576
f"\\href{{https://youtu.be/{yt_match.group(1)}}}{{\\youtube}}\\,"
77+
jup_match = re_jup.search(exer_text)
78+
if jup_match:
79+
icons += \
80+
f"\\href{{{jup_match.group(1)}}}{{\\jupyter}}\\,"
7681
if "% ugent" in exer_text.lower():
7782
icons += "\\ugent"
7883
icons += "}"

helmholtz/helmholtz.tex

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,12 @@ \chapter{The Helmholtz equation}
180180
The Helmholtz equation we derived here is only valid for uniform media. Exactly which step of the derivation breaks down in non-uniform (but still non-magnetic) media?
181181
\end{exer}
182182

183+
\begin{exer}
184+
% difficulty: normal
185+
% jupyter: https://github.com/pbienst/active-math/blob/main/helmholtz/notebooks/DFT.ipynb
186+
The phasor representation is obviously a Fourier transform in disguise. You might recall that a numerical implementation of this is the so-called Discrete Fourier Transform (DTF), of which the famous Fast Fourier Transform (FFT) is a special case. If you want to brush up on concepts related to the DFT, check out the programming exercises in the Jupyter notebook you can download by clicking the icon in the sidebar.
187+
\end{exer}
188+
183189
\section*{Review questions}
184190

185191
\begin{itemize}

kk/kk.tex

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,6 @@ \section{Complex envelope}
128128
129129
From now on, we will only work with complex amplitudes. To make our notational life a bit easier, we will omit the tilde that stresses that we are dealing with phasors, and just write e.g. for the homodyne case that $a(t) = A_\mathrm{ref} + a_s(t)$, where all terms are implied to be complex-valued phasors.
130130
131-
\hl{TODO: Jupyter notebook on DFT}
132131
133132
\pagebreak
134133
@@ -195,7 +194,6 @@ \section{Single-sideband signals}
195194
196195
\fi
197196
198-
\hl{TODO: Jupyter notebook, clarify possible 'negative' frequencies to the right of carrier, also in main text? Or too complex?}
199197
200198
\pagebreak
201199
@@ -624,8 +622,6 @@ \section{Ensuring a signal is minimum phase}
624622
625623
Finally, note that when you hear the term 'minimum phase' in the wild, it's typically used to refer to minimum-phase systems characterised by a certain transfer function. Here, we're talking about minimum-phase signals, which is slightly different.
626624
627-
\hl{TODO: Jupyter notebook, plot zeroes, ...}
628-
629625
\pagebreak
630626
631627
\section{The Kramers-Kronig receiver}

main.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@
181181
\newcommand{\solution}{\includegraphics[height=\iconheight]{icons/answer.png}}
182182
\newcommand{\ugent}{\includegraphics[height=\iconheight]{icons/ugent.png}}
183183
\newcommand{\youtube}{\,\,\includegraphics[height=\iconheight]{icons/video.png}\,\,\,}
184-
184+
\newcommand{\jupyter}{\,\,\includegraphics[height=\iconheight]{icons/jupyter.png}\,\,\,}
185185

186186
\newcommand{\sectionmarginoffset}{-1pt} % hack
187187
\newcommand{\sectionyoutubeugent}[2]{\section[#1]{\noindent\marginnote[\sectionmarginoffset]{\href{https://youtu.be/#2}{\youtube}\,\ugent}#1}}

preamble/how_to_use.tex

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ \chapter{How to use this text}
3434

3535
There is also an amount of \textbf{video material} to support this text (still growing). Clicking the video icon \iconoffset\youtube will take you to the video of the corresponding exercise or theory part. Exercise solution videos are only there as a safety net, in case you get stuck or when you want to double check your intermediate steps. The main purpose of the theory videos is to provide people who prefer listening to a human over reading text, with an alternative way of being exposed to the material. In case you understand everything just by working with the text, there is absolutely no need to waste your time watching the videos, since they do not contain extra material or new insights (unless explicitly mentioned). On the other hand, if your preferred way of working is through the videos, we still recommend you to read this text, as being able to concentrate on a non-trivial amount of textual material is a useful skill to cultivate.
3636

37+
Finally, there's a growing number of \textbf{Jupyter notebooks} that you can access and download to your local machine by clicking the icon \iconoffset\jupyter in the sidebar.
38+
3739
\textbf{Review questions} are also included and refer to the main basic concepts of the material. Reviewing these from time to time is a helpful way to solidify the most important points in your mind.
3840

3941
We also encourage you to create your \textbf{own summaries} or mind maps of the discussed concepts (preferably in handwriting), as a way to further actively engage with the material and to help you see the connections between different parts of this text.

preamble/ugent.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ \chapter{Practical aspects related to the course}
4545
\end{tabular}
4646
\end{center}
4747

48-
Important: if you did your bachelor's degree at UGent, you have already seen the material on complex calculus. In this case, students should also tackle chapter \ref{h-kk-receiver} on the Kramers-Kronig receiver, which is a direct application of the concepts of complex calculus to optical telecommunications.
48+
Important: if you did your bachelor's degree at UGent, you have already seen the material on complex calculus. In this case, students should also tackle chapter \ref{h:kk-receiver} on the Kramers-Kronig receiver, which is a direct application of the concepts of complex calculus to optical telecommunications.
4949

5050
Your final grade for this course is a combination of three factors:
5151

0 commit comments

Comments
 (0)