Filter Design#

In dit hoofdstuk werk ik een aantal voorbeelden uit van berekening van filters. Dit hoofdstuk is slechts ter illustratie van een aantal voorbeelden. De eigenlijke cursus blijft wat te vinden is op Toledo.

Aanpak en algemeen perspectief#

Het ontwerp van een filter is eigenlijk het ontwerp van een zo compact mogelijk elektronisch circuit dat voldoet aan de vooraf opgelegde specificaties. In die zin is een filterontwerp een synthese oefening die het omgekeerde is van een analyse oefening.

Specifieke filter blokken#

Eerste orde filter bouwblokken#

De transfer functie van een eerste orde blok is:

\[ V_{out}=-\frac{b_1(j \omega) +b_0}{a_1(j \omega) +a_0} V_{in}\]

Fig. 88 toont een algemene bouwblok om een eerste orde filter mee te maken.

_images/d3571e4a5c72543979ca7e28e234fc51390b382109ab2cb7505aafc42e1cf66c.svg

Fig. 88 Basisblok van een algemeen eerste orde filter.#

Om dit basisblok in detail te berekenen schrijven we dit eerst in functie van de 2 impedanties \(Z_1\) en \(Z_2\) (zie Fig. 89).

_images/52b4ff1d0c94511884d898d7e77945332453aef390f15a2c7c7d80fa98e4894e.svg

Fig. 89 Basisblok van een algemeen eerste orde filter, beschreven in functie van de impedanties.#

De uitgang \(V_{out}\) van dit bouwblok kunnen we schrijven als functie van de ingang \(V_{in}\) als het volgt:

\[ V_{out} \approx -\frac{Z_2}{Z_1} V_{in} \]

met

\[\frac{1}{Z_1}=j \omega C_1 +\frac{1}{R_1}\]
\[\frac{1}{Z_2}= j \omega C_2 +\frac{1}{R_2}\]

Indien \(C_1\) en \(C_2\) niet nul zijn, kunnen we dit verder uitwerken als:

\[ V_{out} \approx -\frac{C_1}{C_2} \frac{j \omega +\frac{1}{R_1 C_1}}{j \omega +\frac{1}{R_2 C_2}} V_{in} \]
\[ V_{out} \approx -\frac{C_1}{C_2} \frac{j \omega -n_1 }{j \omega -p_1} V_{in} \]

waarbij \(n_1 = \frac{1}{R_1 C_1} \) en \( p_1= \frac{1}{R_2 C_2} \). Het bovenstaande bouwblok kunnen we in zijn algemene vorm gebruiken (met dus 2 weerstanden en 2 condensators), waarbij we zowel een pool als een nul bekomen. Voor heel wat toepassingen kunnen we echter een van de 4 elementen weglaten. Fig. 90 toont het circuit voor een eerste orde laagdoorlaat met transferfunctie:

\[ V_{out} \approx -\frac{1}{R_1 C_2} \frac{1 }{j \omega -p_1} V_{in} \]

wat bij voldoende lage frequentie \( V_{out} \approx -\frac{R_2}{R_1 } V_{in} \) geeft

_images/455951b496541e1ecfa77d0c571a0e413b8e93000d4957e7e8634a915f6dae79.svg

Fig. 90 eerste orde laagdoorlaatfilter.#

Op een gelijkaardige wijze kunnen we uitrekenen dat het circuit in Fig. 91 ons een hoogdoorlaatfilter geeft met responsie:

\[ V_{out} \approx -\frac{C_1}{ C_2} \frac{j \omega }{j \omega -p_1} V_{in} \]
_images/55a39d80d77938043a0c4504bb9051333e2ea79cf9c785d1c3be76bf2c572472.svg

Fig. 91 eerste orde hoogdoorlaatfilter.#

Tweede orde filter blokken#

De transfer functie van een tweede orde blok is:

\[ V_{out} = - \frac{b_2 (j \omega)^2 + b_1(j \omega) +b_0}{a_2 (j \omega)^2 + a_1(j \omega) +a_0} V_{in}\]

Dit algemene tweede orde blok kan uitgewerkt worden in een BiQuad filter. Maar het algemene BiQuad blok vereist 4 Opamps. Daarom is het voor de meeste toepassingen handig gebruik te maken van de Sallen en Key filter, die maar 1 opamp nodig heeft.

BiQuad filter#

Het gedeelte van het biquad circuit dat de polen bepaalt#

We werken hieronder het circuit uit in 2 stappen. We berekenen hiervoor eerst de spanningen uit op de knopen van het bovenste gedeelte van het BiQuad circuit dat we tonen in Fig. 92 . Het doel van dit deel van het circuit is dit uit te rekenen als een universeel circuit voor:

\[ V_{out*} = - \frac{1}{a_2 (j \omega)^2 + a_1 (j \omega) +a_0} V_{in} \]
_images/29e8d0b91e8e1398305df121a9d7861566d91a2053e6ea38d793aa1fd3b1f003.svg

Fig. 92 Bovenste gedeelte van het BiQuad circuit.#

Om het gedrag van het bovenste gedeelte van het BiQuad filter te beschrijven, werken we eerst de impedantie uit van de elementen die verschillen van de weerstanden, namelijk \(Z_1\) en \(Z_2\):

\[\frac{1}{Z_1}=j \omega C_1 +\frac{1}{R_{12}}\]
\[\frac{1}{Z_2}= j \omega C_2 \]

Omdat we weten dat de derde opamp een eenvoudige inverterende opamp is, hoeven we enkel de relatie tussen in en out van de 2 eerste opamps uit te werken. We bekomen het stelsel:

\[V_*=-\frac{Z_1}{R_{11}} V_{in} -\frac{Z_1}{R_{13}} V_{out*}\]
\[ -V_{out*}= -\frac{Z_2}{R_{2}} V_* \]

of

\[ V_* =\frac{R_2}{Z_2} V_{out*} \]

wanneer we vervolgens \( V_* \) elimineren krijgen we de volgende vergelijking voor \( V_{out*}\)

\[ \frac{R_2}{Z_2} V_{out*} =-\frac{Z_1}{R_{11}} V_{in} -\frac{Z_1}{R_{13}} V_{out*}\]
\[ \left(\frac{R_2}{Z_2}+\frac{Z_1}{R_{13}}\right) V_{out*} =-\frac{Z_1}{R_{11}} V_{in} \]
\[ V_{out*} =-\frac{Z_1}{R_{11}\left(\frac{R_2}{Z_2}+\frac{Z_1}{R_{13}}\right)} V_{in} \]
\[ V_{out*} =-\frac{1}{R_{11}\left(\frac{R_2}{Z_2 Z_1}+\frac{1}{R_{13}}\right)} V_{in} \]
\[ V_{out*} =-\frac{1}{R_{11}\left(R_2 j \omega C_2 (j \omega C_1 +\frac{1}{R_{12}}) +\frac{1}{R_{13}}\right)} V_{in} \]
\[ V_{out*} =-\frac{1}{R_{11} R_2 C_2 C_1(j \omega)^2 + \frac{R_{11}R_2 C_2}{R_{12}}(j \omega) +\frac{R_{11}}{R_{13}}} V_{in} \]

En \(V_*\) wordt dan:

\[ V_{*} =-\frac{C_2 R_2 j \omega }{R_{11} R_2 C_2 C_1(j \omega)^2 + \frac{R_{11}R_2 C_2}{R_{12}}(j \omega) +\frac{R_{11}}{R_{13}}} V_{in} \]

Dit kunnen we vervolgens herschrijven als

(9)#\[ V_{out*} =-\frac{1}{a_2 (j \omega)^2 + a_1 (j \omega) +a_0} V_{in} \]

en

\[ V_{*} =-\frac{C_2 R_2(j \omega)}{a_2 (j \omega)^2 + a_1(j \omega) +a_0} V_{in} \]

met

(10)#\[ a_2= R_{11} C_1 R_2 C_2 \]
(11)#\[ a_1= \frac{R_{11} }{R_{12}} R_2 C_2\]
(12)#\[ a_0= \frac{R_{11}}{R_{13}}\]

We zien dus inderdaad uit vergelijkingen ((9),(10),(11),(12)) dat we dit kunnen uitwerken als de gevraagde universele oplossing op voorwaarde dat de coeficienten \(a_2,a_1\) en \(a_0\) allemaal positieve coeficienten zijn.

Het volledige BiQuad circuit#

Het hierboven aangegeven circuit kunnen we verder uitbreiden om ook nog 2 (complexen) nullen toe te voegen. Hiervoor combineren we de spanning op 3 knopen van het circuit in Fig. 92 , namelijk \(V_{in}\), \(V_{*}\) en\(V_{out*}\). Dit geeft dan het circuit in Fig. 93 .

_images/9ba1e37c94ab1377c19b7d05d3a01b5b35b6e3c863bd66912468aa2f96a3cc13.svg

Fig. 93 Het volledige BiQuad circuit.#

\[ V_{out}=-\frac{R_{40}}{R_{41}} V_{in}- \frac{R_{40}}{R_{42}} V_{*} - \frac{R_{40}}{R_{43}} V_{out*} \]
\[ V_{out}=-\frac{\frac{R_{40}}{R_{41}} (a_2 (j \omega)^2 + a_1(j \omega) +a_0) - \frac{R_{40}}{R_{42}} C_2 R_2(j \omega) - \frac{R_{40}}{R_{43}} }{a_2 (j \omega)^2 + a_1(j \omega) +a_0} V_{in}\]
\[ V_{out}=-\frac{a_2 \frac{R_{40}}{R_{41}} (j \omega)^2 +\left( a_1\frac{R_{40}}{R_{41}}- C_2 R_2\frac{R_{40}}{R_{42}}\right)(j \omega) + \left(a_0\frac{R_{40}}{R_{41}} - \frac{R_{40}}{R_{43}} \right) }{a_2 (j \omega)^2 + a_1(j \omega) +a_0} V_{in}\]

Dit kan dan weer herschreven worden als:

\[ V_{out}=-\frac{b_2(j \omega)^2 +b_1(j \omega) +b_0}{a_2 (j \omega)^2 + a_1(j \omega) +a_0} V_{in}\]

met

\[ b_2= a_2 \frac{R_{40}}{R_{41}}= \frac{R_{40}}{R_{41}}R_{11} C_1 R_2 C_2\]
\[ b_1= a_1\frac{R_{40}}{R_{41}}- C_2 R_2\frac{R_{40}}{R_{42}}=\left( \frac{R_{11} R_{40}}{R_{12}R_{41}} -\frac{R_{40}}{R_{42}} \right)R_2 C_2\]
\[ b_0= a_0\frac{R_{40}}{R_{41}} - \frac{R_{40}}{R_{43}} =\frac{R_{11}}{R_{13}}\frac{R_{40}}{R_{41}} - \frac{R_{40}}{R_{43}}\]

Sallen en Key Circuit#

_images/ff8fb351aa0d1c889058dd6504af9f58d9f32460433c859e34987b45709c21c0.svg

Fig. 94 Het Sallen en Key laagdoorlaat circuit.#

Frequentietransformaties#

In dit deel van het hoofdstuk over filters gaan we dieper in op de manier waarop het ontwerp van een laagdoorlaatfilter kan herschreven worden naar een hoogdoorlaatfilter, een banddoorlaatflter of een bandsper filter.

Hiervoor gaan we typisch de transferfunctie herschrijven als functie van de parameter \(S\), die gelijk is aan:

\[S=\frac{i \omega}{\omega_o} \]

Dit wil dan ook zeggen dat elke term met een pool of een nul in de vorm van \(i \omega - p_i \) of \(i \omega - n_i \) gelijk wordt aan

\[i \omega - p_i =\frac{i \omega}{\omega_o}- \frac{p_i}{\omega_o} = S - \frac{p_i}{\omega_o} \]
\[i \omega - n_i =\frac{i \omega}{\omega_o}- \frac{n_i}{\omega_o} = S - \frac{n_i}{\omega_o} \]

Het nu vervolgens de \(S\) in de bovenstaande termen die we gaan vervangen door een andere term en dan gaan bekijken waar de nieuwe polen en nullen komen te liggen.

Omrekenen van een laagdoorlaatfilter naar een hoogdoorlaatfilter#

De frequentietransformatie die we hiervoor gebruiken is:

\[S=\frac{\omega_o}{i \omega} \]

De termen van de vorm \(S - \frac{p_i}{\omega_o} \) kunnen we vervolgens herschrijven door de S in te vullen.

\[S - \frac{p_i}{\omega_o} = \frac{\omega_o}{i \omega} - \frac{p_i}{\omega_o} = \frac{\omega_o - \frac{p_i}{\omega_o} i \omega}{i \omega } =-\frac{\omega_o}{p_i} \frac{i \omega - \frac{\omega_o^2}{p_i}}{i \omega} \]

Na deze transformatie van laagdoorlaatfilter naar hoogdoorlaatfilter hebben we dus een nieuwe pool \(\frac{\omega_o^2}{p_i}\) en en nieuwe nul (op 0) bekomen, maar in het geval van een Butterworth filter gaat dat niet het geval zijn, want we kunnen de polen van de Butterworth filter schrijven als:

\[ p_i= \omega_o ( \cos(\phi)+ i \sin(\phi)) \]

In dat geval gaat

\[ \frac{\omega_o^2}{p_i}=\frac{\omega_o^2}{\omega_o ( \cos(\phi)+ i \sin(\phi))} =\omega_o ( \cos(\phi)- i \sin(\phi)) \]

wat dus de complex toegevoegde is van de originele pool. En aangezien de polen steeds in complex toegevoegde paren moeten voorkomen veranderen de polen van de Butterworth filter niet maar komen er wel nullen bij. Voor de Chebyshev filters filters veranderen de polen door deze transfromatie wel van plaats.

Hetzelfde kunnen we dan doen voor de eventuele termen van de vorm \(S - \frac{n_i}{\omega_o} \)

Omrekenen van een laagdoorlaatfilter naar een banddoorlaatfilter#

De frequentietransformatie die we hiervoor gebruiken is:

\[S=\frac{1}{\omega_2-\omega_1}\frac{(i \omega)^2 + \omega_1\omega_2}{i \omega} \]

Ook hier kunnen we de termen van de vorm \(S - \frac{p_i}{\omega_o} \) en \(S - \frac{n_i}{\omega_o}\) zoals hierboven herschrijven. We werken dat hieronder uit aan de hand van een voorbeeld.

Voorbeeld: Omrekenen van de polen van een 2de orde laagdoorlaatfilter naar een 2de orde banddoorlaatfilter#

In deze paragraaf rekenen we de polen van een 2de orde banddoorlaatfilter uit op basis van een 2de orde laagdoorlaatfilter. Als vertrekbasis nemen we een 2de orde Butterworth laagdoorlaatfilter met afsnijfrequentie 50 kHz. De polen van deze Butterworth laagdoorlaatfilter zijn:

\[ p_1=-\omega_o \frac{\sqrt{2}}{2}(1+ i) \]
\[ p_2=-\omega_o \frac{\sqrt{2}}{2}(1-i) \]

waarbij \(\omega_o = 2 \pi\) 50000. En de transferfunctie is:

\[ T(i \omega)=\frac{p_1 p_2}{(i \omega- p_1)(i \omega- p_2)} \]

Als een gevolg hiervan kunnen we de termen in de noemer van de transferfunctie als volgt weergeven:

\[ i \omega- p_1 = i \omega+\omega_o \frac{\sqrt{2}}{2}(1+i) =\omega_o\left( \frac{i \omega}{\omega_o}+ \frac{\sqrt{2}}{2}(1+ i) \right)\]
\[ i \omega- p_2 = i \omega+\omega_o \frac{\sqrt{2}}{2}(1-i) =\omega_o\left( \frac{i \omega}{\omega_o}+ \frac{\sqrt{2}}{2}(1- i) \right)\]

Dit kunnen we nu uitdrukken als een functie van de parameter \(S\) waarbij

\[S=\frac{i \omega}{\omega_o} \]

Dit geeft dan:

\[ i \omega- p_1 =\omega_o\left( S+ \frac{\sqrt{2}}{2}(1+ i) \right)\]
\[ i \omega- p_2 =\omega_o\left( S+ \frac{\sqrt{2}}{2}(1- i) \right)\]

Voor de overeenstemmende banddoorlaatfilter kunnen we stellen:

\[S=\frac{1}{\omega_2-\omega_1}\frac{(i \omega)^2 + \omega_1\omega_2}{i \omega} \]

Wanneer we dit opnieuw inullen in de beide bovenstaande termen krijgen we:

\[ \omega_o\left( \frac{1}{\omega_2-\omega_1}\frac{(i \omega)^2 + \omega_1\omega_2}{i \omega}+ \frac{\sqrt{2}}{2}(1+ i) \right)\]
\[ \omega_o\left( \frac{1}{\omega_2-\omega_1}\frac{(i \omega)^2 + \omega_1\omega_2}{i \omega}+ \frac{\sqrt{2}}{2}(1- i) \right)\]

We kunnen nu beide termen op gelijke noemer brengen. Dit geeft ons:

\[ \frac{\omega_o}{\omega_2-\omega_1}\left( \frac{(i \omega)^2 + \frac{\sqrt{2}}{2}(1+ i)(\omega_2-\omega_1)(i \omega)+ \omega_1\omega_2}{i \omega} \right)\]
\[ \frac{\omega_o}{\omega_2-\omega_1}\left( \frac{(i \omega)^2 + \frac{\sqrt{2}}{2}(1- i)(\omega_2-\omega_1)(i \omega)+ \omega_1\omega_2}{i \omega} \right)\]

De nieuwe transferfunctie wordt dan:

\[ T(i \omega)=\frac{p_1 p_2} {\frac{\omega_o}{\omega_2-\omega_1}\left( \frac{(i \omega)^2 + \frac{\sqrt{2}}{2}(1+ i)(\omega_2-\omega_1)(i \omega)+ \omega_1\omega_2}{i \omega} \right) \frac{\omega_o}{\omega_2-\omega_1}\left( \frac{(i \omega)^2 + \frac{\sqrt{2}}{2}(1- i)(\omega_2-\omega_1)(i \omega)+ \omega_1\omega_2}{i \omega} \right)} \]

Dit kunner we verder uitwerken als:

\[ T(i \omega)=\frac{(\omega_2-\omega_1)^2(i \omega)^2} {\left((i \omega)^2 + \frac{\sqrt{2}}{2}(1+ i)(\omega_2-\omega_1)(i \omega)+ \omega_1\omega_2 \right) \left( (i \omega)^2 + \frac{\sqrt{2}}{2}(1- i)(\omega_2-\omega_1)(i \omega)+ \omega_1\omega_2 \right)} \]

In de noemer zien we nu 2 kwadratische vergelijkingen in \(i \omega \) staan. we kunnen voor elk van deze vergelijkingen de nulpunten uitrekenen. Dit levert ons de volgende 4 polen op:

\[ p_{1,1}= \frac{-\frac{\sqrt{2}}{2}(1+ i)(\omega_2-\omega_1)+\sqrt{(\frac{\sqrt{2}}{2}(1+ i)(\omega_2-\omega_1))^2-4\omega_1\omega_2}}{2} \]
\[ p_{1,2}= \frac{-\frac{\sqrt{2}}{2}(1+ i)(\omega_2-\omega_1)-\sqrt{(\frac{\sqrt{2}}{2}(1+ i)(\omega_2-\omega_1))^2-4\omega_1\omega_2}}{2} \]
\[ p_{2,1}= \frac{-\frac{\sqrt{2}}{2}(1- i)(\omega_2-\omega_1)+\sqrt{(\frac{\sqrt{2}}{2}(1- i)(\omega_2-\omega_1))^2-4\omega_1\omega_2}}{2} \]
\[ p_{2,2}= \frac{-\frac{\sqrt{2}}{2}(1- i)(\omega_2-\omega_1)-\sqrt{(\frac{\sqrt{2}}{2}(1- i)(\omega_2-\omega_1))^2-4\omega_1\omega_2}}{2} \]

In het geval dat we nu \(\omega_2 = 3 \omega_o\) en \(\omega_1 = \omega_o\) kunnen we dit verder vereenvoudigen.

\[ p_{1,1}=\omega_o \left(-\frac{\sqrt{2}}{2}(1+ i)+\sqrt{ i-3}\right) \]
\[ p_{1,2}=\omega_o \left(-\frac{\sqrt{2}}{2}(1+ i)-\sqrt{ i-3}\right) \]
\[ p_{2,1}=\omega_o \left(-\frac{\sqrt{2}}{2}(1- i)+\sqrt{- i-3}\right) \]
\[ p_{2,2}=\omega_o \left(-\frac{\sqrt{2}}{2}(1- i)-\sqrt{- i-3}\right) \]

Wanneer we deze polen in meer detail analyseren, stellen we vast dat we inderdaad 2 paren van complex toegevoegde polen krijgen, namelijk (\(p_{1,1}\), \(p_{2,1}\)) en (\(p_{1,2}\), \(p_{2,2}\)). Elk van deze paren kunnen we dan vervolgens met een Sallen en Key circuit uitwerken.

De numerieke waardes voor deze polen zijn:

p11 =  -132656.26200173897  + j  329305.0471051497
p12 =  -132656.26200173897  - j  329305.0471051497

p21 =  -311632.0318140976   - j  773593.3409209863
p22 =  -311632.0318140976   + j  773593.3409209863

We kunnen dit ook herschrijven als:

p11 =  355020.41898628714 *(-cos( 68.05859933682078 )+ j sin( 68.05859933682078 ))
p12 =  355020.41898628714 *(-cos( 68.05859933682078 )+ j sin( 68.05859933682078 ))

p21 =  834003.105731553 *(-cos( 68.05859933682078 )+ j sin( 68.05859933682078 ))
p22 =  834003.105731553 *(-cos( 68.05859933682078 )+ j sin( 68.05859933682078 ))

Butterworth filters#

In dit hoofdstuk werken we een aantal concrete voorbeelden uit van Butterworth filters. We vergelijken hierbij de verschillende ordes en kijken hoe deze in praktijk worden geimplementeerd in hardware circuits.

Butterworth laagdoorlaatfilter van de 3de orde#

We ontwerpen een analoge 3de orde laagdoorlaatfilter van het type Butterworth met afsnijfrequentie 1 MHz. De transferfunktie \(H(s)\) of \(H(j\omega)\) die we bekomen is:

\[ H(s) = \frac{\sum_{n=0}^M b_n s^n}{\sum_{n=0}^N a_n s^n} \]

\(a_n\) en \(b_n\) zijn de coeficienten van de veeltermen in de transferfunktie. Voor deze oefening zijn deze coeficienten:

Veelterm coefficienten teller: M= 0
b[ 0 ] = 2.4805021344239852e+20
Veelterm coefficienten noemer: N= 3
a[ 3 ] = 1.0
a[ 2 ] = 12566370.614359174
a[ 1 ] = 78956835208714.88
a[ 0 ] = 2.4805021344239852e+20
_images/cfd9a918ed80a001e8e15c550f928ba43633cf8c605b4e1dd74cd6f513effefd.png

Fig. 95 Amplitude en fase van een derde orde Butterworth laagdoorlaatfilter met afsnijfrequentie 1 MHz.#

We kunnen ook schrijven als funtie van polen en nulpunten:

\[H(s) = \frac{\prod_{n=1}^M (s-z_n)}{\prod_{n=1}^N (s-p_n)} \]

waarbij de positie van deze nulpunten en polen de volgende is:

Lijst der nullen: M= 0
Lijst der polen: N= 3
p[ 1 ] = (-3141592.6535897935+5441398.092702653j)
p[ 2 ] = (-6283185.307179586-0j)
p[ 3 ] = (-3141592.6535897935-5441398.092702653j)
_images/3d355c6dd02da88674b425c39e3f760348e4d4d3e2c5fa56aa8c5ba3e5ef8719.png

Fig. 96 Polen van een derde orde Butterworth laagdoorlaatfilter met afsnijfrequentie 1 MHz.#

We merken op dat de drie polen die bekomen werden perfect op een cirkel liggen met straal 2\(\pi\) \(10^6\).

We kunnen deze transferfunktie nu verder uitwerken in een product van meerdere transferfucties waarbij we de complex toegevoegde polen samennemen.

\[ H(s) = H_1(s) H_2(s)= \frac{1}{(s-p_1)(s-p_3)}\frac{1}{(s-p_2)} \]
\[ H_1(s)= \frac{1}{(s-p_1)(s-p_3)}\]
\[ H_2(s)= \frac{1}{(s-p_2)}\]
_images/0625734cbbda9c271d8b413647f721da0e6f36e29ee7f85617d976dbdf009888.png

Fig. 97 Opsplitsing van een derde orde Butterworth laagdoorlaatfilter met afsnijfrequentie 1 MHz in 2 transferfunkties H1 en H2.#

De onderstaande figuur bekijkt deze opsplitsing in detail rond de afsnijfrequentie. Hier merken we dat de overshoot in de 2de orde filter H1(s) voor een deel het sneller dalen van de eerste orde filter H2(s) compenseert

_images/6c2cc82b8aacacb67fa45ce541b75696ac480eea52d3e37f57c935344a7fbadd.png

Fig. 98 Detail rond de afsnijfrequentie van de opsplitsing van een derde orde Butterworth laagdoorlaatfilter met afsnijfrequentie 1 MHz in 2 transferfunkties H1 en H2.#

_images/6faf9061fdaa5b97a989fe400ef0304b8cee69fed2adf883420b3c7e41e4b2e4.svg

Fig. 99 Opsplitsing van een derde orde Butterworth laagdoorlaatfilter in de bouwblokken H1 en H2.#

_images/fab5354ee419527f915e2cb330b354b19b62a2d3ef031efd135b9d87b40c882c.svg

Fig. 100 concrete implementatie van het tweede orde filter H1.#

De implementatie van H2 kan er in dit geval als het volgt uitzien met R1= R2= 9.947 k\(\Omega\) en C2 = 16pF

_images/5a632dfe2f0a5aa00400213cc020352138af0424854f92e47a19feb446f8a9bd.svg

Fig. 101 concrete implementatie van het eerste orde filter H2.#

Een totale spice file van het gehele circuit ziet er dan als het volgt uit:

Notitie

Dit is momenteel nog werk in progress.

Butterworth laagdoorlaatfilter van de 5de orde#

Veelterm coefficienten teller: M= 0
b[ 0 ] = 9.792629913129003e+33
Veelterm coefficienten noemer: N= 5
a[ 5 ] = 1.0
a[ 4 ] = 20332814.76926104
a[ 3 ] = 206711678220539.9
a[ 2 ] = 1.2988077794177306e+21
a[ 1 ] = 5.043559043399954e+27
a[ 0 ] = 9.792629913129004e+33
_images/1e92f3cb45eae2d8769436ff3ca2e69e3bb9951601d1594db1dd0d940d02d97d.png
Lijst der nullen: M= 0
Lijst der polen: N= 5
p[ 1 ] = (-1941611.0387254667+5975664.329483111j)
p[ 2 ] = (-5083203.69231526+3693163.6609809133j)
p[ 3 ] = (-6283185.307179586-0j)
p[ 4 ] = (-5083203.69231526-3693163.6609809133j)
p[ 5 ] = (-1941611.0387254667-5975664.329483111j)
_images/2ad6a1c8653c588cbc38201e3f10afd2f4fb6619802c790a6b4bdcbe7f46381d.png

Fig. 102 Polen van een vijfde orde Butterworth laagdoorlaatfilter met afsnijfrequentie 1 MHz.#

_images/191edd8ac107ec5d42007359c810cb54296c17c6121563e0cf8d997d60f74242.png

Fig. 103 Opsplitsing van een vijfde orde Butterworth laagdoorlaatfilter met afsnijfrequentie 1 MHz in 3 transferfunkties.#

_images/3b17007918c8bacb325e2a1887a837de1ed651b956de35139178fda655100eb7.svg

Fig. 104 Hardware implementatie van een vijfde orde Butterworth laagdoorlaatfilter in 3 building blocks.#

Vergelijking van de 3de en 5de orde Butterworth laagdoorlaatfilter#

_images/a690d3a9272350dcf27a0be4203c038d7586c446e6b6c759e75ec50cf9e5db78.png

Fig. 105 Vergelijking van een derde en vijfde orde Butterworth laagdoorlaatfilter met afsnijfrequentie 1 MHz.#

zevende orde banddoorlaatfilter van 10MHz tot 50MHz#

In het eerste voorbeeld van een banddoorlaatfilter bekijken we een redelijk breedbandfilter: De bandbreedte(40 MHz) is in dit geval veel groter dan de laagste doorlaatfrequentie.

Veelterm coefficienten teller: M= 7
b[ 7 ] = 6.334013983218556e+58
b[ 6 ] = 0.0
b[ 5 ] = 0.0
b[ 4 ] = 0.0
b[ 3 ] = 0.0
b[ 2 ] = 0.0
b[ 1 ] = 0.0
b[ 0 ] = 0.0
Veelterm coefficienten noemer: N= 14
a[ 14 ] = 1.0
a[ 13 ] = 1129455138.528784
a[ 12 ] = 7.760089165897884e+17
a[ 11 ] = 3.654151505077993e+26
a[ 10 ] = 1.293535546920629e+35
a[ 9 ] = 3.5017090931362664e+43
a[ 8 ] = 7.334620231296047e+51
a[ 7 ] = 1.1783749530590898e+60
a[ 6 ] = 1.4477960023023706e+68
a[ 5 ] = 1.3643931993116192e+76
a[ 4 ] = 9.948728770520122e+83
a[ 3 ] = 5.547604782936569e+91
a[ 2 ] = 2.325495035605259e+99
a[ 1 ] = 6.681091689314365e+106
a[ 0 ] = 1.1676379112645588e+114
_images/10ba19c8b59529e49628f31c7c79fafffa699ee83dc0833fc06aeb0a9942abe4.png

Wanneer we de transferfuntie in detail analyseren, vinden we 7 nullen op frequentie 0, en 14 polen, namelijk:

Lijst der nullen: M= 7
z[ 1 ] = 0j
z[ 2 ] = 0j
z[ 3 ] = 0j
z[ 4 ] = 0j
z[ 5 ] = 0j
z[ 6 ] = 0j
z[ 7 ] = 0j
Lijst der polen: N= 14
p[ 1 ] = (-9467553.01746494-62713329.10036281j)
p[ 2 ] = (-30211474.606362037-61659756.49600357j)
p[ 3 ] = (-58777850.02496373-58866599.60061156j)
p[ 4 ] = (-125663706.14359173-62831853.07179589j)
p[ 5 ] = (-58777850.02496373+58866599.60061156j)
p[ 6 ] = (-30211474.606362037+61659756.49600357j)
p[ 7 ] = (-9467553.01746494+62713329.10036281j)
p[ 8 ] = (-46458057.493502825+307739438.435567j)
p[ 9 ] = (-126488603.88224223+258155439.82934594j)
p[ 10 ] = (-167660324.09626448+167913476.98651484j)
p[ 11 ] = (-125663706.14359173+62831853.07179589j)
p[ 12 ] = (-167660324.09626448-167913476.98651484j)
p[ 13 ] = (-126488603.88224223-258155439.82934594j)
p[ 14 ] = (-46458057.493502825-307739438.435567j)
_images/7b01cc311ce7988f3ba15a7e306f5efc99e2bc3dc3e8e6086fd20719c93b960f.png

Fig. 106 polen van een 7de orde Butterworth banddoorlaatfilter.#

Er is maar een enkele goede methode om van een laagdoorlaatfilter over te gaan naar een banddoorlaatfilter en dat is via de transformatie die aangegeven is op slide 44. Deze staat ook in je formularium. Het is natuurlijk ook belangrijk een goed gevoel te hebben van waar je verwacht uit te komen. Als je een banddoorlaatfilter hebt met een kleine bandbreedte B in vergelijking met de centrale frequentie fo, gaat dat ook redelijk goed kloppen (zoals in slide 46. Maar als B dezelfde grootteorde krijgt als fo, dan worden de polen meer en meer getrokken in de richting van de 2 afzonderlijke filters na elkaar. Om dat toe te lichten heb ik in de Jupyter een voorbeeldje gegeven van een zevende orde banddoorlaatfilter van 10MHz tot 50MHz. De centrale frequentie is 30MHz maar de bandbreedte B is 40MHz, dus groter dan de centrale frequentie. We zien hier dat de pole niet langer liggen op de 2 halve cirkels waarop we ze verwachten maar dat ze meer en meer getrokken worden in de richting van 2 andere cirkels namelijk de hoogdoorlaat van 10 MHz en de laagdoorlaat van 50 MHz.

Dit is wel een overdreven speciaal geval in de meeste gevallen is de bandbreedte B veel kleiner dan f, en dan lijkt het dat ze mooi op de kleine cirkel liggen. En dat is zeker goed als eerste benadering. Het is niet 100% exact. En dat is ook belangrijk als ingenieur om dat goed te weten.

_images/b0ac6d2b7cbfb61ced4bda29ef23ede64e3e68e9e45baff7148217627463acd6.png

Fig. 107 Vergelijking tussen 7de orde Butterworth banddoorlaatfilter en een opeenvolging van laagdoorlaatfilter en een hoogdoorlaatfilter.#

7de orde banddoorlaatfilter tussen 47 en 53 MHz#

Veelterm coefficienten teller: M= 7
b[ 7 ] = 1.082225670413975e+53
b[ 6 ] = 0.0
b[ 5 ] = 0.0
b[ 4 ] = 0.0
b[ 3 ] = 0.0
b[ 2 ] = 0.0
b[ 1 ] = 0.0
b[ 0 ] = 0.0
Veelterm coefficienten noemer: N= 14
a[ 14 ] = 1.0
a[ 13 ] = 169418270.77931747
a[ 12 ] = 7.027364430041076e+17
a[ 11 ] = 1.0074611841037228e+26
a[ 10 ] = 2.1017496540749808e+35
a[ 9 ] = 2.488471395316168e+43
a[ 8 ] = 3.4683129207221617e+52
a[ 7 ] = 3.2679992552874596e+60
a[ 6 ] = 3.4107645311434367e+69
a[ 5 ] = 2.406576000783415e+77
a[ 4 ] = 1.998855398085796e+86
a[ 3 ] = 9.422413939327687e+93
a[ 2 ] = 6.463381596708082e+102
a[ 1 ] = 1.5323607880306775e+110
a[ 0 ] = 8.894760315452719e+118
_images/2a11f87d2a7a1e75e9d98b4b5a3d32b0abe9105233f27855ffb3523516c5f5fe.png

Fig. 108 Transfer functie van een 7de orde Butterworth banddoorlaatfilter met beperkte bandbreedte.#

Wanneer we de polen en de nullen plotten, bekomen we het volgende resultaat.

Lijst der nullen: M= 7
z[ 1 ] = 0j
z[ 2 ] = 0j
z[ 3 ] = 0j
z[ 4 ] = 0j
z[ 5 ] = 0j
z[ 6 ] = 0j
z[ 7 ] = 0j
Lijst der polen: N= 14
p[ 1 ] = (-3949021.641305336-295726397.242198j)
p[ 2 ] = (-11200424.836296545-298982612.7578789j)
p[ 3 ] = (-16539450.539423024-305061656.189032j)
p[ 4 ] = (-18849555.92153874-313026248.8897938j)
p[ 5 ] = (-16539450.539423024+305061656.189032j)
p[ 6 ] = (-11200424.836296545+298982612.7578789j)
p[ 7 ] = (-3949021.641305336+295726397.242198j)
p[ 8 ] = (-4439819.935339821+332480313.6424786j)
p[ 9 ] = (-12304586.93699407+328456965.2578802j)
p[ 10 ] = (-17426275.57876118+321418687.7969175j)
p[ 11 ] = (-18849555.92153874+313026248.8897938j)
p[ 12 ] = (-17426275.57876118-321418687.7969175j)
p[ 13 ] = (-12304586.93699407-328456965.2578802j)
p[ 14 ] = (-4439819.935339821-332480313.6424786j)
_images/3c683a6470238d65b63f8677cea13b4eece7a08b7ef2e4b312a02b3df274c27c.png

Fig. 109 Polen van een 7de orde Butterworth banddoorlaatfilter met beperkte bandbreedte.#

We merken op dat voor de heel nauwe banddoorlaat filters de polen wel op een cirkel liggen waarvan de straal overeenkomt met de bandbreedte van de filter. Het is ook zo dat het verschil tussen deze banddoorlaatfilter en een laagdoorlaatfilter gevolgd door een hoogdoorlaatfilter nu wel enorm groot is. Dat zien we al op basis van de polen hierboven en ook op basis van de transferkarakteristieken hieronder.

_images/858ae6fca224ed4248c04af01a9c02443ef9b8789b3d14c81e5f4ed046638b11.png

Fig. 110 Vergelijking tussen 7de orde Butterworth banddoorlaatfilter (met beperkte bandbreedte) en een opeenvolging van laagdoorlaatfilter en een hoogdoorlaatfilter.#

Chebyshev filters#

Chebyshev 40 MHz laagdoorlaatfilter van de 3de orde met 6dB maximale ripple#

Veelterm coefficienten teller: M= 0
b[ 0 ] = 2.298652790795694e+24
Veelterm coefficienten noemer: N= 3
a[ 3 ] = 1.0
a[ 2 ] = 92822184.81844565
a[ 1 ] = 5.168208012246375e+16
a[ 0 ] = 2.2986527907956946e+24
_images/deb430fc1c5a491cc8aa339955837ae4da2062d1d87f0765dfb6457ae7aa213f.png

Fig. 111 40 MHz Chebyshev laagdoorlaatfilter van de derde orde met een 6dB passband.#

Aangezien de doorlaatband 6 dB is, is het interessant hierop eens in detail in te zoemen. Dit doen we aan de hand van de onderstaande figuur.

_images/5d8c14f7f8923255fca8d7d0ee6216d0bcec161f9d997c6549707ada7d0340fb.png

Fig. 112 detail van de 6dB passband van een 40 MHz Chebyshev laagdoorlaatfilter van de derde orde.#

Bij een Chebyshev filter liggen de polen niet meer op een cirkel maar wel op een ellips. De onderstaande figuur geeft de ligging van deze polen aan.

Lijst der nullen: M= 0
Lijst der polen: N= 3
p[ 1 ] = (-23205546.204611413+221335928.5095666j)
p[ 2 ] = (-46411092.40922282-0j)
p[ 3 ] = (-23205546.204611413-221335928.5095666j)
_images/348f6487bd881493da8f7ddb028d4cd7ee2b688f9acf96c59d5ab54d90fe7853.png

Fig. 113 ligging van de polen 40 MHz Chebyshev laagdoorlaatfilter van de derde orde met een 6dB passband.#

Chebyshev 120 MHz laagdoorlaatfilter van de 8de orde met 2dB maximale ripple#

Veelterm coefficienten teller: M= 0
b[ 0 ] = 1.0669416336250132e+69
Veelterm coefficienten noemer: N= 8
a[ 8 ] = 1.0
a[ 7 ] = 524820305.9616953
a[ 6 ] = 1.2746966037803576e+18
a[ 5 ] = 5.1937707944741785e+26
a[ 4 ] = 5.104888759746549e+35
a[ 3 ] = 1.45769782715832e+44
a[ 2 ] = 6.590270478283454e+52
a[ 1 ] = 1.0103634193419598e+61
a[ 0 ] = 1.3431999354717115e+69
_images/84a9bb8bd12963b6a2ad1b3aa134a39805a7a15bc6cc5d94d3324686abee40b7.png

Fig. 114 120 MHz Chebyshev laagdoorlaatfilter van de 8ste orde met een 2dB passband.#

Ook voor de 8ste orde gaan we inzoemen op de doorlaatband. Hier vinden we dan ook een rimpel van 2 dB met 8 extremen terug.

_images/03baf4167199c74a303d8d54e342e83fad71a34285357008d5ee4936dbdacf79.png

Fig. 115 detail van de 2dB passband van de 120 MHz Chebyshev laagdoorlaatfilter van de 8ste orde.#

Lijst der nullen: M= 0
Lijst der polen: N= 8
p[ 1 ] = (-19974783.518686887+746281824.2305412j)
p[ 2 ] = (-56883370.83720408+632667181.5530242j)
p[ 3 ] = (-85131980.59479763+422734695.6263414j)
p[ 4 ] = (-100420018.03015907+148444684.39010677j)
p[ 5 ] = (-100420018.03015907-148444684.39010677j)
p[ 6 ] = (-85131980.59479763-422734695.6263414j)
p[ 7 ] = (-56883370.83720408-632667181.5530242j)
p[ 8 ] = (-19974783.518686887-746281824.2305412j)
_images/b7825af153a7739f7dea142917d9f5a2b8704c125f5ff6ebe762444247aa26fe.png

Fig. 116 ligging van de polen 120 MHz Chebyshev laagdoorlaatfilter van de 8ste orde met een 2dB passband.#

Wanneer we de Butterworth met Chebychev vergelijken merken we dat hoe meer passband we toelaten, hoe stijler flank is aan het einde van de doorlaatband. Dit is dan ook het belangrijke ontwerpcompromis.

_images/d73850cce8dbf4d441f4c357778a190a3cfc439761e68c1763069b4dfd90a16f.png

Fig. 117 vergelijking Butterworth en Chebyshev laagdoorlaatfilters van de 8ste orde.#

Chebyshev 30 MHz laagdoorlaatfilter van de 2de orde met 6dB maximale ripple#

Veelterm coefficienten teller: M= 0
b[ 0 ] = 1.780752121671573e+16
Veelterm coefficienten noemer: N= 2
a[ 2 ] = 1.0
a[ 1 ] = 121560720.41014235
a[ 0 ] = 2.5153792295277244e+16
_images/70f270b3013c51577ac2f8f487ac881c414e34ec2ea8c2fdd7632e24fbb3c1aa.png

Fig. 118 Transferfunctie van de Chebyshev 30 MHz laagdoorlaatfilter van de 2de orde.#

Lijst der nullen: M= 0
Lijst der polen: N= 2
p[ 1 ] = (-60780360.20507117+146490750.93199244j)
p[ 2 ] = (-60780360.20507117-146490750.93199244j)
_images/1221b8ab0e28edb2abf64f7624ef2ddfc6806363f62952d6cdf2fccd063aa771.png

Fig. 119 Ligging van de polen van de Chebyshev 30 MHz laagdoorlaatfilter van de 2de orde.#

We kunnen deze 2de orde laagdoorlaatfilter ook maken met een Sallen en Key circuit als aangegeven in Fig. 94. we merken op dat de frequentie waarop dit circuit gaat afsnijden een stuk lager is dan de frequentie van het overeenkomende Butterworth circuit. De juiste afsnijfrequentie kunnen we uitrekenen op basis van de polen en deze is:

25241889.828472663

Dit is dus afgerond iets in de buurt van 25 MHz. Van de andere kant gaat de hoek dat de polen maken met de x-as een stuk groter gaan zijn dan de 45 graden bij Butterworth. Ook dit kunnen we uitrekenen op basis van de polen en we komen hiervoor de volgende waarde uit:

67.46598822997034

Als een gevolg van deze hoek van 67 graden, zullen we als ratio tussen de 2 weerstanden \(R_1\) en \(R_2\) van het Sallen en Key circuit uit Fig. 94 een k-factor hebben die gelijk is aan:

1.23353640830558

Bessel Thomson filters#

In dit vak zullen we de Bessel Thomson filters steeds met de computer uitrekenen. Hieronder vind je de berekening van de coeficienten van de transfer functie een 2de orde Bessel Thomson hoogdoorlaatfilter met afsnijfrequentie op 1 kHz.

In Fig. 120 zie je dan vervolgens de plot van de transferkarakteristiek een 2de orde Bessel Thomson hoogdoorlaatfilter

Veelterm coefficienten teller: M= 2
b[ 2 ] = 1.0
b[ 1 ] = 0.0
b[ 0 ] = 0.0
Veelterm coefficienten noemer: N= 2
a[ 2 ] = 1.0
a[ 1 ] = 10882.796185405305
a[ 0 ] = 39478417.60435742
_images/c528c6e4e8105e3b917edeb1cb592bd46c34843ecd68f182eaa11df6699f5145.png

Fig. 120 Transfer funktie van een Bessel Thomson hoogdoorlaatfilter met afsnijfrequentie op 1 kHz.#

Analyze van deze coëfficiënten#

\(a_0 = 1\)

\(a_1 = \frac{\omega_c}{Q}\) met \( Q = 0.57735\)

\(a_2 = \omega_c^2\)

Toleranties#

Zoals het in toleranties aangegeven is, is het heel erg belangrijk rekening te houden met de toleranties van de componenten die we hebben.