This Jupyter notebook is part of a collection of notebooks in the bachelors module Signals and Systems, Communications Engineering, Universität Rostock. Please direct questions and suggestions to Sascha.Spors@uni-rostock.de.
Idealized systems are systems with idealized properties that typically render their practical implementation infeasible. They play an important role in various fields of signal processing as they allow a convenient formulation of major concepts and principles. In the following, the ideal low-pass is introduced as prototype for an idealized frequency selective system. Other frequency selective systems can be deduced directly from this prototype.
The transfer function $H(j \omega)$ of a real-valued ideal low-pass reads
\begin{equation} H(j \omega) = \text{rect} \left( \frac{\omega}{2 \omega_\text{c}} \right) \end{equation}where $\omega_\text{c} > 0$ denotes its cut-off frequency. The ideal low-pass removes all frequency components above the cut-off frequency $\omega_\text{c}$, without affecting lower frequencies. The impulse response $h(t) = \mathcal{F}^{-1} \{ H(j \omega) \}$ is computed by applying the duality principle to the Fourier transform of the rectangular signal
\begin{equation} h(t) = \frac{\omega_\text{c}}{\pi} \cdot \text{sinc} ( \omega_\text{c} t ) \end{equation}Since the impulse response is an acausal signal, the ideal low-pass is an acausal system. The sinc-function is furthermore not absolutely integrable. Hence the ideal-low pass is not a stable system in the sense of the bounded-input bounded-output (BIBO) criterion. In conclusion, the ideal low-pass is not realizable. It can only be approximated in practical systems. It plays nevertheless an important role in the theory of sampling and interpolation.
Various techniques have been developed in order to approximate the ideal low-pass by a realizable system. One is the windowed sinc filter. In order to make the ideal-low pass filter causal and stable, its impulse response is windowed to a finite-length $T$ followed by a temporal shift of $\frac{T}{2}$. Using the rectanglar signal to truncate (window) the impulse response, the impulse response of the realizable low-pass is given as
\begin{equation} h(t) = \frac{\omega_\text{c}}{\pi} \cdot \text{sinc} \left( \omega_\text{c} \left(t - \frac{T}{2} \right) \right) \cdot \text{rect}\left( \frac{1}{T} \left( t - \frac{T}{2} \right) \right) \end{equation}Fourier transformation yields its transfer function
\begin{equation} H(j \omega) = \frac{1}{2 \pi} e^{-j \omega \frac{T}{2}} \cdot \text{rect}\left( \frac{\omega}{2 \omega_c} \right) * T \cdot \text{sinc} \left( \frac{T}{2} \omega \right) \end{equation}The impulse response is plotted for $w_\text{c}=10$ and $T=5$
import sympy as sym
%matplotlib inline
sym.init_printing()
t, w = sym.symbols('t omega', real=True)
wc = 10
T = 5
h = wc/sym.pi * sym.sinc(wc*(t-T/2))
sym.plot(h, (t, 0, T), xlabel='$t$', ylabel='$h(t)$')
<sympy.plotting.plot.Plot at 0x10e55af60>
The transfer function $H(j \omega)$ of the realizable low-pass is given above in terms of a convolution integral over the rectangular and sinc signal. Applying the definition of the convolution and exploiting the properties of the rectangular signal yields
\begin{equation} H(j \omega) = \frac{T}{2 \pi} e^{-j \omega \frac{T}{2}} \int_{-\omega_\text{c}}^{\omega_\text{c}} \text{sinc} \left( \frac{T}{2} (\nu - \omega) \right) d \nu \end{equation}No closed-form solution of this integral is known. In order to gain insight into the properties of the realizable low-pass, the transfer function is approximated by numerical integration for equally spaced angular frequencies $\omega$. Only positive angular frequencies are evaluated in order to lower the computational complexity. Note the symmetry relations of a real-valued system apply.
from numpy import linspace, array
import matplotlib.pyplot as plt
nu = sym.symbols('nu', real=True)
w = linspace(0, 1.5*wc, 100)
H = [(T/(2*sym.pi)).evalf(2) * sym.exp(-sym.I*wi*T/2).evalf(2) *
sym.Integral(sym.sinc(T/2*(nu-wi)), (nu, -wc, wc)).evalf(2) for wi in w]
plt.plot(w, abs(array(H)))
plt.xlabel('$\omega$')
plt.ylabel('$|H(j \omega)|$')
plt.grid()
Exercise
The transfer function $H(j \omega)$ of a real-valued ideal band-pass reads
\begin{equation} H(j \omega) = \begin{cases} 1 & \text{for } \omega_\text{c} - \frac{\Delta \omega}{2} < |\omega| < \omega_\text{c} + \frac{\Delta \omega}{2} \\ 0 & \text{otherwise} \end{cases} \end{equation}The ideal band-pass does not affect the frequency components of a signal around a given center frequency $\omega_\text{c}$ where the total width of this transition band is $\Delta \omega$. Components outside the transition band are removed. The transfer function can be rewritten as
\begin{equation} H(j \omega) = \text{rect} \left( \frac{\omega - \omega_\text{c}}{\Delta \omega} \right) + \text{rect} \left( \frac{\omega + \omega_\text{c}}{\Delta \omega} \right) = \text{rect} \left( \frac{\omega}{\Delta \omega} \right) * \left( \delta(\omega - \omega_\text{c}) + \delta(\omega + \omega_\text{c}) \right) \end{equation}Its impulse response is computed by inverse Fourier transformation
\begin{equation} h(t) = \pi \Delta \omega \cdot \text{sinc} ( \frac{\Delta \omega}{2} t ) \cdot \cos(\omega_\text{c} t) \end{equation}The ideal band-pass can be interpreted as a modulated low-pass filter. Due to its direct relation to the ideal low-pass, it is neither causal nor stable. The ideal band-pass can only be approximated in practical realizations. Its plays an important role in the theoretical foundations of wireless communications.
Example
For illustration, the impulse response of the ideal band-pass for $\omega_\text{c} = 10$ and $\Delta \omega = 2$ is plotted
wc = 10
dw = 2
h = sym.pi*dw * sym.sinc(dw/2*t) * sym.cos(wc*t)
sym.plot(h, (t, -10, 10), xlabel='$t$', ylabel='$h(t)$');
Exercise
The transfer function $H(j \omega)$ of a real-valued ideal high-pass reads
\begin{equation} H(j \omega) = 1 - \text{rect} \left( \frac{\omega}{2 \omega_\text{c}} \right) \end{equation}where $\omega_\text{c} > 0$ denotes its cut-off frequency. The ideal high-pass removes all frequency components below the cut-off frequency $\omega_\text{c}$, without affecting higher frequencies. Its impulse response can be derived in a straightforward manner from the impulse response of the ideal low-pass
\begin{equation} h(t) = \delta(t) - \frac{\omega_\text{c}}{\pi} \cdot \text{sinc} ( \omega_\text{c} t ) \end{equation}Due to its relation to the ideal low-pass, the ideal high-pass is neither causal nor stable. The ideal high-pass can only be approximated in practical realizations.
The transfer function $H(j \omega)$ of a real-valued ideal band-stop is derived from the transfer function of the ideal band-pass in the same manner as the ideal high-pass. It reads
\begin{equation} H(j \omega) = 1 - \text{rect} \left( \frac{\omega - \omega_\text{c}}{\Delta \omega} \right) - \text{rect} \left( \frac{\omega + \omega_\text{c}}{\Delta \omega} \right) \end{equation}The ideal band-stop removes the frequency components of a signal around a given center frequency $\omega_\text{c}$ where the total width of this stop band is $\Delta \omega$. Components outside the stop band are not affected by the system. The impulse response of the ideal band-stop can be derived in a straightforward manner from the impulse response of the ideal band-pass as
\begin{equation} h(t) = \delta(t) - \pi \Delta \omega \cdot \text{sinc} ( \frac{\Delta \omega}{2} t ) \cdot \cos(\omega_\text{c} t) \end{equation}Due to its relation to the ideal band-pass, the ideal band-stop is neither causal nor stable. The ideal band-stop can only be approximated in practical realizations. The ideal band-stop is for instance used to remove undesired signal components, e.g. mains hum.
Copyright
This notebook is provided as Open Educational Resource. Feel free to use the notebook for your own purposes. The text is licensed under Creative Commons Attribution 4.0, the code of the IPython examples under the MIT license. Please attribute the work as follows: Sascha Spors, Continuous- and Discrete-Time Signals and Systems - Theory and Computational Examples.