aboutsummaryrefslogtreecommitdiffstats
path: root/buch/papers/ellfilter/main.tex
blob: e9d6aba970172b2eed9ef11198bd11e221245c50 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
%
% main.tex -- Paper zum Thema Elliptische Filter
%
% (c) 2020 Hochschule Rapperswil
%
\chapter{Elliptische Filter\label{chapter:ellfilter}}
\lhead{Elliptische Filter}
\begin{refsection}
\chapterauthor{Nicolas Tobler}


\section{Einleitung}

% Lineare filter

% Filter, Signalverarbeitung


Der womöglich wichtigste Filtertyp ist das Tiefpassfilter.
Dieses soll im Durchlassbereich unter der Grenzfrequenz $\Omega_p$ unverstärkt durchlassen und alle anderen Frequenzen vollständig auslöschen.

% Bei der Implementierung von Filtern

In der Elektrotechnik führen Schaltungen mit linearen Bauelementen wie Kondensatoren, Spulen und Widerständen immer zu linearen zeitinvarianten Systemen (LTI-System von englich \textit{time-invariant system}).
Die Übertragungsfunktion im Frequenzbereich $|H(\Omega)|$ eines solchen Systems ist dabei immer eine rationale Funktion, also eine Division von zwei Polynomen.
Die Polynome habe dabei immer reelle oder komplex-konjugierte Nullstellen.


\begin{equation} \label{ellfilter:eq:h_omega}
    | H(\Omega)|^2 = \frac{1}{1 + \varepsilon_p^2 F_N^2(w)}, \quad w=\frac{\Omega}{\Omega_p}
\end{equation}

$\Omega = 2 \pi f$ ist die analoge Frequenz


% Linear filter
Damit das Filter implementierbar und stabil ist, muss $H(\Omega)^2$ eine rationale Funktion sein, deren Nullstellen und Pole auf der linken Halbebene liegen.

$N \in \mathbb{N} $ gibt dabei die Ordnung des Filters vor, also die maximale Anzahl Pole oder Nullstellen.

Damit ein Filter die Passband Kondition erfüllt muss $|F_N(w)| \leq 1 \forall |w| \leq 1$ und für $|w| \geq 1$ sollte die Funktion möglichst schnell divergieren.
Eine einfaches Polynom, dass das erfüllt, erhalten wir wenn $F_N(w) = w^N$.
Tatsächlich erhalten wir damit das Butterworth Filter, wie in Abbildung \ref{ellfilter:fig:butterworth} ersichtlich.
\begin{figure}
    \centering
    \input{papers/ellfilter/python/F_N_butterworth.pgf}
    \caption{$F_N$ für Butterworth filter. Der grüne Bereich definiert die erlaubten Werte für alle $F_N$-Funktionen.}
    \label{ellfilter:fig:butterworth}
\end{figure}

wenn $F_N(w)$ eine rationale Funktion ist, ist auch $H(\Omega)$ eine rationale Funktion und daher ein lineares Filter. %proof?

\begin{align}
    F_N(w) & =
    \begin{cases}
        w^N                            & \text{Butterworth} \\
        T_N(w)                         & \text{Tschebyscheff, Typ 1}  \\
        [k_1 T_N (k^{-1} w^{-1})]^{-1} & \text{Tschebyscheff, Typ 2}  \\
        R_N(w, \xi)                    & \text{Elliptisch (Cauer)}    \\
    \end{cases}
\end{align}

Mit der Ausnahme vom Butterworth filter sind alle Filter nach speziellen Funktionen benannt.
Alle diese Filter sind optimal für unterschiedliche Anwendungsgebiete.
Das Butterworth-Filter, zum Beispiel, ist maximal flach im Durchlassbereich.
Das Tschebyscheff-1 Filter sind maximal steil für eine definierte Welligkeit im Durchlassbereich, währendem es im Sperrbereich monoton abfallend ist.
Es scheint so als sind gewisse Eigenschaften dieser speziellen Funktionen verantwortlich für die Optimalität dieser Filter.

\section{Tschebyscheff-Filter}

Als Einstieg betrachent Wir das Tschebyscheff-Filter, welches sehr verwand ist mit dem elliptischen Filter.
Genauer ausgedrückt sind die Tschebyscheff-1 und -2 Filter Spezialfälle davon.

Der Name des Filters deutet schon an, dass die Tschebyscheff-Polynome $T_N$ für das Filter relevant sind:
\begin{align}
    T_{0}(x)&=1\\
    T_{1}(x)&=x\\
    T_{2}(x)&=2x^{2}-1\\
    T_{3}(x)&=4x^{3}-3x\\
    T_{n+1}(x)&=2x~T_{n}(x)-T_{n-1}(x).
\end{align}
Bemerkenswert ist, dass die Polynome im Intervall $[-1, 1]$ mit der trigonometrischen Funktion
\begin{align} \label{ellfilter:eq:chebychef_polynomials}
    T_N(w) &= \cos \left( N \cos^{-1}(w) \right) \\
           &= \cos \left(N~z \right), \quad w= \cos(z)
\end{align}
übereinstimmt.
Der Zusammenhang lässt sich mit den Doppel- und Mehrfachwinkelfunktionen der trigonometrischen Funktionen erklären.
Abbildung \ref{ellfilter:fig:chebychef_polynomials} zeigt einige Tschebyscheff-Polynome.
\begin{figure}
    \centering
    \input{papers/ellfilter/python/F_N_chebychev2.pgf}
    \caption{Die Tschebyscheff-Polynome $C_N$.}
    \label{ellfilter:fig:chebychef_polynomials}
\end{figure}
Da der Kosinus begrenzt zwischen $-1$ und $1$ ist, sind auch die Tschebyscheff-Polynome begrenzt.
Geht man aber über das Intervall $[-1, 1]$ hinaus, divergieren die Funktionen mit zunehmender Ordnung immer steiler gegen $\pm \infty$.
Diese Eigenschaft ist sehr nützlich für ein Filter.
Wenn wir die Tschebyscheff-Polynome quadrieren, passen sie perfekt in die Voraussetzungen für Filterfunktionen, wie es Abbildung \ref{ellfiter:fig:chebychef} demonstriert.
\begin{figure}
    \centering
    \input{papers/ellfilter/python/F_N_chebychev.pgf}
    \caption{Die Tschebyscheff-Polynome füllen den erlaubten Bereich besser, und erhalten dadurch eine steilere Flanke im Sperrbereich.}
    \label{ellfiter:fig:chebychef}
\end{figure}


Die analytische Fortsetzung von \eqref{ellfilter:eq:chebychef_polynomials} über das Intervall $[-1,1]$ hinaus stimmt mit den Polynomen überein, wie es zu erwarten ist.
Die genauere Betrachtung wird uns dann helfen die elliptischen Filter besser zu verstehen.

Starten wir mit der Funktion, die als erstes auf $w$ angewendet wird, dem Arcuscosinus.
Die invertierte Funktion des Kosinus kann als definites Integral dargestellt werden:
\begin{align}
    \cos^{-1}(x)
    &=
    \int_{x}^{1}
    \frac{
        dz
    }{
        \sqrt{
            1-z^2
        }
    }\\
    &=
    \int_{0}^{x}
    \frac{
        -1
    }{
        \sqrt{
            1-z^2
        }
    }
    ~dz
    + \frac{\pi}{2}
\end{align}
Der Integrand oder auch die Ableitung
\begin{equation}
    \frac{
        -1
    }{
        \sqrt{
            1-z^2
        }
    }
\end{equation}
bestimmt dabei die Richtung, in der die Funktion verläuft.
Der reelle Arcuscosinus is bekanntlich nur für $|z| \leq 1$ definiert.
Hier bleibt der Wert unter der Wurzel positiv und das Integral liefert reelle Werte.
Doch wenn $|z|$ über 1 hinausgeht, wird der Term unter der Wurzel negativ.
Durch die Quadratwurzel entstehen für den Integranden zwei rein komplexe Lösungen.
Der Wert des Arcuscosinus verlässt also bei $z= \pm 1$ den reellen Zahlenstrahl und knickt in die komplexe Ebene ab.
Abbildung \ref{ellfilter:fig:arccos} zeigt den $\arccos$ in der komplexen Ebene.
\begin{figure}
    \centering
    \input{papers/ellfilter/tikz/arccos.tikz.tex}
    \caption{Die Funktion $z = \cos^{-1}(w)$ dargestellt in der komplexen ebene.}
    \label{ellfilter:fig:arccos}
\end{figure}
Wegen der Periodizität des Kosinus ist auch der Arcuscosinus $2\pi$-periodisch und es entstehen periodische Nullstellen.
% \begin{equation}
%     \frac{
%         1
%     }{
%         \sqrt{
%             1-z^2
%         }
%     }
%     \in \mathbb{R}
%     \quad
%     \forall
%     \quad
%     -1  \leq z \leq 1
% \end{equation}
% \begin{equation}
%     \frac{
%         1
%     }{
%         \sqrt{
%             1-z^2
%         }
%     }
%     = i \xi \quad | \quad \xi \in \mathbb{R}
%     \quad
%     \forall
%     \quad
%     z \leq -1 \cup z \geq 1
% \end{equation}

Die Tschebyscheff-Polynome skalieren diese Nullstellen mit dem Ordnungsfaktor $N$, wie dargestellt in Abbildung \ref{ellfilter:fig:arccos2}.
\begin{figure}
    \centering
    \input{papers/ellfilter/tikz/arccos2.tikz.tex}
    \caption{
        $z_1=N \cos^{-1}(w)$-Ebene der Tschebyscheff-Funktion.
        Die eingefärbten Pfade sind Verläufe von $w~\forall~[-\infty, \infty]$ für verschiedene Ordnungen $N$.
        Je grösser die Ordnung $N$ gewählt wird, desto mehr Nullstellen werden passiert.
    }
    \label{ellfilter:fig:arccos2}
\end{figure}
Somit passert $\cos( N~\cos^{-1}(w))$ im Intervall $[-1, 1]$ $N$ Nullstellen.
Durch die spezielle Anordnung der Nullstellen hat die Funktion Equirippel-Verhalten und ist dennoch ein Polynom, was sich perfekt für linear Filter eignet.

\section{Jacobische elliptische Funktionen}

%TODO $z$ or $u$ for parameter?

Für das elliptische Filter wird statt der, für das Tschebyscheff-Filter benutzen Kreis-Trigonometrie die elliptischen Funktionen gebraucht.
Der Begriff elliptische Funktion wird für sehr viele Funktionen gebraucht, daher ist es hier wichtig zu erwähnen, dass es ausschliesslich um die Jacobischen elliptischen Funktionen geht.

Im Wesentlichen erweitern die Jacobi elliptischen Funktionen die trigonometrische Funktionen für Ellipsen.
Zum Beispiel gibt es analog zum Sinus den elliptischen $\sn(z, k)$.
Im Gegensatz zum den trigonometrischen Funktionen haben die elliptischen Funktionen zwei parameter.
Zum einen gibt es den \textit{elliptische Modul} $k$, der die Exzentrizität der Ellipse parametrisiert.
Zum andern das Winkelargument $z$.
Im Kreis ist der Radius für alle Winkel konstant, bei Ellipsen ändert sich das.
Dies hat zur Folge, dass bei einer Ellipse die Kreisbodenstrecke nicht linear zum Winkel verläuft.
Darum kann hier nicht der gewohnte Winkel verwendet werden.
Das Winkelargument $z$ kann durch das elliptische Integral erster Art
\begin{equation}
    z
    =
    F(\phi, k)
    =
    \int_{0}^{\phi}
    \frac{
        d\theta
    }{
        \sqrt{
            1-k^2 \sin^2 \theta
        }
    }
    =
    \int_{0}^{\phi}
    \frac{
        dt
    }{
        \sqrt{
            (1-t^2)(1-k^2 t^2)
        }
    } %TODO which is right? are both functions from phi?
\end{equation}
mit dem Winkel $\phi$ in Verbindung liegt.

Dabei wird das vollständige und unvollständige Elliptische integral unterschieden.
Beim vollständigen Integral
\begin{equation}
    K(k)
    =
    \int_{0}^{\pi / 2}
    \frac{
        d\theta
    }{
        \sqrt{
            1-k^2 \sin^2 \theta
        }
    }
\end{equation}
wird über ein viertel Ellipsenbogen integriert also bis $\phi=\pi/2$ und liefert das Winkelargument für eine Vierteldrehung.
Die Zahl wird oft auch abgekürzt mit $K = K(k)$ und ist für das elliptische Filter sehr relevant.
Alle elliptishen Funktionen sind somit $4K$-periodisch.

Neben dem $\sn$ gibt es zwei weitere basis-elliptische Funktionen $\cn$ und $\dn$.
Dazu kommen noch weitere abgeleitete Funktionen, die durch Quotienten und Kehrwerte dieser Funktionen zustande kommen.
Insgesamt sind es die zwölf Funktionen
\begin{equation*}
    \sn \quad
    \ns \quad
    \scelliptic \quad
    \sd \quad
    \cn \quad
    \nc \quad
    \cs \quad
    \cd \quad
    \dn \quad
    \nd \quad
    \ds \quad
    \dc.
\end{equation*}

Die Jacobischen elliptischen Funktionen können mit der inversen Funktion des kompletten elliptischen Integrals erster Art
\begin{equation}
    \phi = F^{-1}(z, k)
\end{equation}
definiert werden. Dabei ist zu beachten dass nur das $z$ Argument der Funktion invertiert wird, also
\begin{equation}
    z = F(\phi, k)
    \Leftrightarrow
    \phi = F^{-1}(z, k).
\end{equation}
Mithilfe von $F^{-1}$ kann zum Beispiel $sn^{-1}$ mit dem Elliptischen integral dargestellt werden:
\begin{equation}
    \sin(\phi)
    =
    \sin \left( F^{-1}(z, k) \right)
    =
    \sn(z, k)
    =
    w
\end{equation}

\begin{equation}
    \phi
    =
     F^{-1}(z, k)
     =
     \sin^{-1} \big( \sn (z, k ) \big)
     =
    \sin^{-1} ( w )
\end{equation}

\begin{equation}
    F(\phi, k)
    =
    z
    =
    F( \sin^{-1} \big( \sn (z, k ) \big) , k)
    =
    F( \sin^{-1} ( w ), k)
\end{equation}

\begin{equation}
    \sn^{-1}(w, k)
    =
    F(\phi, k),
    \quad
    \phi = \sin^{-1}(w)
\end{equation}

\begin{align}
    \sn^{-1}(w, k)
        & =
    \int_{0}^{\phi}
    \frac{
        d\theta
    }{
        \sqrt{
            1-k^2 \sin^2 \theta
        }
    },
    \quad
    \phi = \sin^{-1}(w)
    \\
        & =
    \int_{0}^{w}
    \frac{
        dt
    }{
        \sqrt{
            (1-t^2)(1-k^2 t^2)
        }
    }
\end{align}

Beim $\cos^{-1}(x)$ haben wir gesehen, dass die analytische Fortsetzung bei $x < -1$ und $x > 1$ rechtwinklig in die Komplexen zahlen wandert.
Wenn man das gleiche mit $\sn^{-1}(w, k)$ macht, erkennt man zwei interessante Stellen.
Die erste ist die gleiche wie beim $\cos^{-1}(x)$ nämlich bei $t = \pm 1$.
Der erste Term unter der Wurzel wird dann negativ, während der zweite noch positiv ist, da $k \leq 1$.
\begin{equation}
    \frac{
        1
    }{
        \sqrt{
            (1-t^2)(1-k^2 t^2)
        }
    }
    \in \mathbb{R}
    \quad \forall \quad
    -1 \leq t \leq 1
\end{equation}
Die zweite stelle passiert wenn beide Faktoren unter der Wurzel negativ werden, was bei $t = 1/k$ der Fall ist.




Funktion in relle und komplexe Richtung periodisch

In der reellen Richtung ist sie $4K(k)$-periodisch und in der imaginären Richtung $4K^\prime(k)$-periodisch.



%TODO sn^{-1} grafik

\begin{figure}
    \centering
    \input{papers/ellfilter/tikz/sn.tikz.tex}
    \caption{
        $z$-Ebene der Funktion $z = \sn^{-1}(w, k)$.
        Die Funktion ist in der realen Achse $4K$-periodisch und in der imaginären Achse $2jK^\prime$-periodisch.
    }
    % \label{ellfilter:fig:cd2}
\end{figure}

\section{Elliptische rationale Funktionen}

Kommen wir nun zum eigentlichen Teil dieses Papers, den elliptischen rationalen Funktionen
\begin{align}
    R_N(\xi, w) &= \cd \left(N~f_1(\xi)~\cd^{-1}(w, 1/\xi), f_2(\xi)\right) \\
                &= \cd \left(N~\frac{K_1}{K}~\cd^{-1}(w, k), k_1)\right) , \quad k= 1/\xi, k_1 = 1/f(\xi) \\
                &= \cd \left(N~K_1~z , k_1 \right), \quad w= \cd(z K, k)
\end{align}


sieht ähnlich aus wie die trigonometrische Darstellung der Tschebyschef-Polynome \eqref{ellfilter:eq:chebychef_polynomials}
Anstelle vom Kosinus kommt hier die $\cd$-Funktion zum Einsatz.
Die Ordnungszahl $N$ kommt auch als Faktor for.
Zusätzlich werden noch zwei verschiedene elliptische Module $k$ und $k_1$ gebraucht.



Sinus entspricht $\sn$

Damit die Nullstellen an ähnlichen Positionen zu liegen kommen wie bei den Tschebyscheff-Polynomen, muss die $\cd$-Funktion gewählt werden.

Die $\cd^{-1}(w, k)$-Funktion ist um $K$ verschoben zur $\sn^{-1}(w, k)$-Funktion, wie ersichtlich in Abbildung \ref{ellfilter:fig:cd}.
\begin{figure}
    \centering
    \input{papers/ellfilter/tikz/cd.tikz.tex}
    \caption{
        $z$-Ebene der Funktion $z = \sn^{-1}(w, k)$.
        Die Funktion ist in der realen Achse $4K$-periodisch und in der imaginären Achse $2jK^\prime$-periodisch.
    }
    \label{ellfilter:fig:cd}
\end{figure}
Auffallend ist, dass sich alle Nullstellen und Polstellen um $K$ verschoben haben.

Durch das Konzept vom fundamentalen Rechteck, siehe Abbildung \ref{ellfilter:fig:fundamental_rectangle} können für alle inversen Jaccobi elliptischen Funktionen die Positionen der Null- und Polstellen anhand eines Diagramms ermittelt werden.
Der erste Buchstabe bestimmt die Position der Nullstelle und der zweite Buchstabe die Polstelle.
\begin{figure}
    \centering
    \input{papers/ellfilter/tikz/fundamental_rectangle.tikz.tex}
    \caption{
        Fundamentales Rechteck der inversen Jaccobi elliptischen Funktionen.
    }
    \label{ellfilter:fig:fundamental_rectangle}
\end{figure}

Auffallend an der $w = \sn(z, k)$-Funktion ist, dass sich $w$ auf der reellen Achse wie der Kosinus immer zwischen $-1$ und $1$ bewegt, während bei $\mathrm{Im(z) = K^\prime}$ die Werte zwischen $\pm 1/k$ und $\pm \infty$ verlaufen.
Die Funktion hat also Equirippel-Verhalten um $w=0$ und um $w=\pm \infty$.
Falls es möglich ist diese Werte abzufahren im Sti der Tschebyscheff-Polynome, kann ein Filter gebaut werden, dass Equirippel-Verhalten im Durchlass- und Sperrbereich aufweist.



Analog zu Abbildung \ref{ellfilter:fig:arccos2} können wir auch bei den elliptisch rationalen Funktionen die komplexe $z$-Ebene betrachten, wie ersichtlich in Abbildung \ref{ellfilter:fig:cd2}, um die besser zu verstehen.
\begin{figure}
    \centering
    \input{papers/ellfilter/tikz/cd2.tikz.tex}
    \caption{
        $z_1$-Ebene der elliptischen rationalen Funktionen.
        Je grösser die Ordnung $N$ gewählt wird, desto mehr Nullstellen passiert.
    }
    \label{ellfilter:fig:cd2}
\end{figure}
% Da die $\cd^{-1}$-Funktion 



\begin{figure}
    \centering
    \input{papers/ellfilter/python/F_N_elliptic.pgf}
    \caption{$F_N$ für ein elliptischs filter.}
    \label{ellfilter:fig:elliptic}
\end{figure}

\subsection{Degree Equation}

Der $\cd^{-1}$ Term muss so verzogen werden, dass die umgebene $\cd$-Funktion die Nullstellen und Pole trifft.
Dies trifft ein wenn die Degree Equation erfüllt ist.

\begin{equation}
    N \frac{K^\prime}{K} = \frac{K^\prime_1}{K_1}
\end{equation}


Leider ist das lösen dieser Gleichung nicht trivial.
Die Rechnung wird in \ref{ellfilter:bib:orfanidis} im Detail angeschaut.


\subsection{Polynome?}

Bei den Tschebyscheff-Polynomen haben wir gesehen, dass die Trigonometrische Formel zu einfachen Polynomen umgewandelt werden kann.
Im gegensatz zum $\cos^{-1}$ hat der $\cd^{-1}$ nicht nur Nullstellen sondern auch Pole.
Somit entstehen bei den elliptischen rationalen Funktionen, wie es der name auch deutet, rationale Funktionen, also ein Bruch von zwei Polynomen.

Da Transformationen einer rationalen Funktionen mit Grundrechenarten, wie es in \eqref{ellfilter:eq:h_omega} der Fall ist, immer noch rationale Funktionen ergeben, stellt dies kein Problem für die Implementierung dar.

\input{papers/ellfilter/teil0.tex}
\input{papers/ellfilter/teil1.tex}
\input{papers/ellfilter/teil2.tex}
\input{papers/ellfilter/teil3.tex}

% \printbibliography[heading=subbibliography]
\end{refsection}