aboutsummaryrefslogtreecommitdiffstats
path: root/buch
diff options
context:
space:
mode:
authorNicolas Tobler <nicolas.tobler@ost.ch>2022-08-23 22:33:14 +0200
committerNicolas Tobler <nicolas.tobler@ost.ch>2022-08-23 22:33:14 +0200
commitc07a2bbc5bceb34658e148562a483270f19061bf (patch)
treeb9de1c618f93c9b31eade8df58a4a825cb28e188 /buch
parentadded pole zero calculation (diff)
downloadSeminarSpezielleFunktionen-c07a2bbc5bceb34658e148562a483270f19061bf.tar.gz
SeminarSpezielleFunktionen-c07a2bbc5bceb34658e148562a483270f19061bf.zip
Added Berechnung der rationalen Funktion
Diffstat (limited to 'buch')
-rw-r--r--buch/papers/ellfilter/einleitung.tex2
-rw-r--r--buch/papers/ellfilter/elliptic.tex47
-rw-r--r--buch/papers/ellfilter/tikz/pn.tikz.tex63
3 files changed, 103 insertions, 9 deletions
diff --git a/buch/papers/ellfilter/einleitung.tex b/buch/papers/ellfilter/einleitung.tex
index 0c51ae0..581d452 100644
--- a/buch/papers/ellfilter/einleitung.tex
+++ b/buch/papers/ellfilter/einleitung.tex
@@ -32,7 +32,7 @@ Aus diesem Grund sind realisierbare Approximationen gesucht.
Jede Approximation wird einen kontinuierlichen Übergang zwischen Durchlassbereich und Sperrbereich aufweisen.
Oft wird dabei der Faktor $1/\sqrt{2}$ als Schwelle zwischen den beiden Bereichen gewählt.
Somit lassen sich lineare Tiefpassfilter mit folgender Funktion zusammenfassen:
-\begin{equation}
+\begin{equation} \label{ellfilter:eq:quadratic_transfer}
| H(\Omega)|^2 = \frac{1}{1 + \varepsilon_p^2 F_N^2(w)}, \quad w=\frac{\Omega}{\Omega_p},
\end{equation}
wobei $F_N(w)$ eine rationale Funktion ist, $|F_N(w)| \leq 1 ~\forall~ |w| \leq 1$ erfüllt und für $|w| \geq 1$ möglichst schnell divergiert.
diff --git a/buch/papers/ellfilter/elliptic.tex b/buch/papers/ellfilter/elliptic.tex
index 26d90f1..81821c1 100644
--- a/buch/papers/ellfilter/elliptic.tex
+++ b/buch/papers/ellfilter/elliptic.tex
@@ -1,6 +1,6 @@
-\section{Elliptische rationale Funktionen}
+\section{Rationale elliptische Funktionen}
-Kommen wir nun zum eigentlichen Teil dieses Papers, den elliptischen rationalen Funktionen \cite{ellfilter:bib:orfanidis}
+Kommen wir nun zum eigentlichen Teil dieses Papers, den rationalen elliptischen Funktionen \cite{ellfilter:bib:orfanidis}
\begin{align}
R_N(\xi, w) &= \cd \left(N~f_1(\xi)~\cd^{-1}(w, 1/\xi), f_2(\xi)\right) \label{ellfilter:eq:elliptic}\\
&= \cd \left(N~\frac{K_1}{K}~\cd^{-1}(w, k), k_1\right) , \quad k= 1/\xi, k_1 = 1/f(\xi) \\
@@ -32,7 +32,7 @@ Die Idee des elliptischen Filter ist es, diese zwei Equiripple-Zonen abzufahren,
\centering
\input{papers/ellfilter/tikz/cd2.tikz.tex}
\caption{
- $z_1=N\frac{K_1}{K}\cd^{-1}(w, k)$-Ebene der elliptischen rationalen Funktionen.
+ $z_1=N\frac{K_1}{K}\cd^{-1}(w, k)$-Ebene der rationalen elliptischen Funktionen.
Je grösser die Ordnung $N$ gewählt wird, desto mehr Nullstellen werden passiert.
Als Vereinfachung ist die Funktion nur für $w>0$ dargestellt.
}
@@ -43,7 +43,7 @@ Im Durchlassbereich werden wie beim Tschebyscheff-Filter die Nullstellen durchla
Statt dass $z_1$ für alle $w>1$ in die imaginäre Richtung geht, bewegen wir uns im Sperrbereich wieder in reeller Richtung, wo Pole und Punkte mit $\pm 1/k$ durchlaufen werden.
Aus dieser Sicht kann der Sperrbereich vom Tschebyscheff-Filter als unendlich langer Übergangsbereich angesehen werden.
% Falls es möglich ist diese Werte abzufahren im Stil der Tschebyscheff-Polynome, kann ein Filter gebaut werden, dass Equiripple-Verhalten im Durchlass- und Sperrbereich aufweist.
-Abbildung \ref{ellfilter:fig:elliptic_freq} zeigt eine elliptisch rationale Funktion und die Frequenzantwort des daraus resultierenden Filters.
+Abbildung \ref{ellfilter:fig:elliptic_freq} zeigt eine rationale elliptische Funktion und die Frequenzantwort des daraus resultierenden Filters.
\begin{figure}
\centering
\input{papers/ellfilter/python/elliptic.pgf}
@@ -85,14 +85,45 @@ k_1 = k^N \prod_{i=1}^L \sn^4 \Bigg( \frac{2i - 1}{N} K, k \Bigg),
N = 2L+r.
\end{equation}
Die Herleitung ist sehr umfassend und wird in \cite{ellfilter:bib:orfanidis} im Detail angeschaut.
-$k_1$ jedoch gar nicht berechnet werden, um die elliptisch rationale Funktion zu erhalten.
-Um ein elliptisches Filter auszulegen, kann die Ordnung $N$ und der Parameter $k$ gewählt werden.
+\subsection{Berechnung der rationalen Funktion}
+
+$k_1$ muss jedoch gar nicht berechnet werden, um $R_N$ in der Form einer rationale Funktion erhalten.
+Die Ordnung $N$ und der Parameter $k$ können frei gewählt werden.
% $k_1$ muss dann mit \eqref{ellfilter:eq:degeqsol} oder mit numerischen Methoden berechnet werden.
Je kleiner $k$ gewählt wird, desto grösser wird die Dämpfung des Filters im Sperrbereich im Verhältnis zum Durchlassbereich.
Allerdings verliert das Filter dabei auch an Steilheit.
-Wenn $k$ und $k_1$ bekannt sind, können die Position der Pol- und Nullstellen $p_i$ und $n_i$ in einem Raster konstruiert werden, wie dargestellt in Abbildung \ref{ellfilter:fig:cd2}.
-Durch das Rücktransformieren mit der $\cd$-Funktion gelangt man schlussendlich zu der elliptischen rationalen Funktion. %TODO check
+Wenn $k$ und $N$ bekannt sind, können die Position der Pol- und Nullstellen $p_i$ und $n_i$ in einem Raster konstruiert werden, wie dargestellt in Abbildung \ref{ellfilter:fig:pn}.
+\begin{figure}
+ \centering
+ \input{papers/ellfilter/tikz/pn.tikz.tex}
+ \caption{
+ Pole und Nullstellen in der $z = \cd^{-1}(w, k)$-Ebene für die Rücktransformation zur einer rationalen Funktion.
+ }
+ \label{ellfilter:fig:pn}
+\end{figure}
+Dabei muss aufgepasst werden, dass insgesamt nur $N$ Nullstellen und $N$ Pole gesetzt werden, da bei der transformation mit dem $\cd$ mehrere Werte auf einen abgebildet werden und mehrfache Pole und Nullstellen nicht erwünscht sind.
+Wegen der Periodizität sind diese in der komplexen $z$-Ebene linear angeordnet:
+\begin{align}
+ n_i(k) &= K\frac{2i+1}{N} \\
+ p_i(k) &= n_i + jK^\prime.
+\end{align}
+Durch das Rücktransformieren mit der $\cd$-Funktion gelangt man schlussendlich zu der rationalen Funktion
+\begin{equation}
+ R_N(w, k) = r_0 \prod_{i=1}^N \frac{w - \cd \big(n_i(k), k \big)}{w - \cd \big(p_i(k), k \big)},
+\end{equation}
+wobei $r_0$ so gewählt werden muss, dass $R_N(w, k) = 1$.
+
+\section{Elliptisches Filter}
+
+Um ein elliptisches Filter auszulegen werden aber nicht die Pol- und Nullstellen der rationalen Funktion gebraucht, sondern diejenigen der Übertragungsfunktion $H(s)$ der komplexen Frequenz $s = j\Omega + \sigma$.
+Der Bezug zum quadratischen Amplitudengang \eqref{ellfilter:eq:quadratic_transfer} ist dabei
+\begin{equation}
+ |H(\Omega)|^2 = H(s) H(s^*),
+\end{equation}
+wobei $*$ die komplexe Konjugation kennzeichnet.
+Die genaue Berechnung geht einiges tiefer in die Filtertheorie, und verlässt das Gebiet der speziellen Funktionen.
+Der interessierte Leser wird auf \cite[Kapitel~5]{ellfilter:bib:orfanidis} verwiesen.
% \subsection{Schlussfolgerung}
diff --git a/buch/papers/ellfilter/tikz/pn.tikz.tex b/buch/papers/ellfilter/tikz/pn.tikz.tex
new file mode 100644
index 0000000..5dd8fa4
--- /dev/null
+++ b/buch/papers/ellfilter/tikz/pn.tikz.tex
@@ -0,0 +1,63 @@
+\begin{tikzpicture}[>=stealth', auto, node distance=2cm, scale=1.2, thick]
+
+ \tikzstyle{zero} = [draw, circle, inner sep =0, minimum height=0.15cm]
+ \tikzstyle{dot} = [fill, circle, inner sep =0, minimum height=0.1cm]
+
+ \tikzset{pole/.style={cross out, draw=black, minimum size=(0.15cm-\pgflinewidth), inner sep=0pt, outer sep=0pt}}
+
+ \begin{scope}[xscale=0.75, yscale=2.5]
+
+ \fill[orange!30] (0,0) rectangle (5, 0.5);
+ % \fill[yellow!30] (0,0) rectangle (1, 0.1);
+ \node[] at (5, 0.25) {\small $N=5$};
+
+ \draw[gray, ->] (0,-0.25) -- (0,0.75) node[anchor=south]{$\mathrm{Im}~z$};
+ \draw[gray, ->] (-1,0) -- (11,0) node[anchor=west]{$\mathrm{Re}~z$};
+
+ \draw[gray] ( 5,0) +(0,0.035) -- +(0, -0.035) node[inner sep=0, anchor=north] {\small $K$};
+ \draw[gray] (0, 0.5) +(0.1, 0) -- +(-0.1, 0) node[inner sep=0, anchor=east]{\small $jK^\prime$};
+
+ \begin{scope}
+
+ \draw[ultra thick, ->, purple] (5, 0.5) -- (10,0.5);
+ \draw[ultra thick, ->, blue] (10, 0.5) -- (10,0);
+ \draw[ultra thick, ->, cyan] (10, 0) -- (5,0);
+ \draw[ultra thick, ->, darkgreen] (5, 0) -- (0,0);
+ \draw[ultra thick, ->, orange] (-0, 0) -- (0,0.5);
+ \draw[ultra thick, ->, red] (0,0.5) -- (5, 0.5);
+
+ \foreach \i in {1,...,5} {
+ \begin{scope}[xshift=(\i-1)*2cm]
+ \node[zero] at ( 1, 0) {};
+ \node[anchor=south west] at ( 1, 0) {$n_\i$};
+ \node[pole] at ( 1,0.5) {};
+ \node[anchor=south west] at ( 1, 0.5) {$p_\i$};
+ \end{scope}
+ }
+
+ \end{scope}
+
+ \end{scope}
+
+ % \begin{scope}[yshift=-1.5cm, xshift=3.75cm, xscale=0.75]
+
+ % \draw[gray, ->] (-6,0) -- (6,0) node[anchor=west]{$w$};
+
+ % \draw[ultra thick, ->, purple] (-5, 0) -- (-3, 0);
+ % \draw[ultra thick, ->, blue] (-3, 0) -- (-2, 0);
+ % \draw[ultra thick, ->, cyan] (-2, 0) -- (0, 0);
+ % \draw[ultra thick, ->, darkgreen] (0, 0) -- (2, 0);
+ % \draw[ultra thick, ->, orange] (2, 0) -- (3, 0);
+ % \draw[ultra thick, ->, red] (3, 0) -- (5, 0);
+
+ % \node[anchor=south] at (-5,0) {$-\infty$};
+ % \node[anchor=south] at (-3,0) {$-1/k$};
+ % \node[anchor=south] at (-2,0) {$-1$};
+ % \node[anchor=south] at (0,0) {$0$};
+ % \node[anchor=south] at (2,0) {$1$};
+ % \node[anchor=south] at (3,0) {$1/k$};
+ % \node[anchor=south] at (5,0) {$\infty$};
+
+ % \end{scope}
+
+\end{tikzpicture}