Filter Design#

In dit hoofdstuk bespreken we het ontwerp van circuits waarbij we een vooraf bepaalde frequentie karakteristiek willen bekomen. In het eerste deel van dit hoofdstuk doen we dit in heel algemene termen, voor een willekeurige frequentie karakteristiek. In het tweede deel van dit hoofdstuk gaan we dan dieper in op het ontwerp van specifieke filters die vaak voorkomen.

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. Daarom vertrekken we eerst van de analyse van een circuit. Figuur 91 toont zo een algemeen circuit waar we een zeker ingangssignaal hebben (\(V_{in}(s)\)) en als gevolg daarvan een zeker uitgangssignaal bekomen (\(V_{out}(s)\)). De parameter \(s\) is hierin de Laplace parameter en komt overeen met \(j \omega\)

_images/379ad8fa0189da52cc95bb12a9b6a5dfc277abd60b0758446c0b7695c50e5be5.svg

Figuur 91 Schematisch overzicht van een algemeen circuit#

Het circuit in Figuur 91 kunnen we oplossen door de MNA methode. \(V_{in}(s)\) is een spanningsbron en staat dus in het tweede lid van de MNA matrix, terwijl \(V_{in}(s)\) een spanning is op een knoop, en dus in het eerste lid zal staan. De matrix die we daardoor bekomen is:

\[\begin{split} \begin{bmatrix} \vdots & & & & & \vdots & & & \vdots \\ \dots & & & & & \dots & & & \dots \\ \vdots & & & & & \vdots & & & \vdots \\ \dots & & & & & \dots & \dots & & \dots \\ \vdots & & & & & \vdots & & & \vdots \end{bmatrix} \begin{bmatrix} \vdots \\ V_{out}(s) \\ \vdots\\ \\ \vdots \end{bmatrix} = \begin{bmatrix} \vdots \\ \\ \vdots \\ V_{in}(s)\\ \vdots \end{bmatrix} \end{split}\]

Elk van de elementen is van de vorm: \( c_1 j \omega + c_2 + c_3 \frac{1}{j \omega}\).

Op basis van de methode van de determinanten kunnen we deze matrix oplossen. Als we deze determinant helemaal uitschrijven krijgen we de volgende oplossing:

\[T(j \omega)=\frac{ V_{out}(j \omega)}{ V_{in}(j \omega)}=\frac{\sum\limits_{i=0}^{2n} a_i(j \omega)^i}{\sum\limits_{i=0}^{2n} b_i(j \omega)^i}\]

met \(n\) het aantal knopen in het circuit. Het feit dat er in de som \(2n\) voorkomt is omdat er in elk van de elementen van de matrix zowel een spoel als een condensator kan voorkomen. Veel circuits hebben echter geen spoelen (omdat deze moeilijk in te bouwen zijn op geïntegreerde schakelingen. In dat geval kunnen we de oplossing verder vereenvoudigen tot:

\[T(j \omega)=\frac{ V_{out}(j \omega)}{ V_{in}(j \omega)}=\frac{\sum\limits_{i=0}^{n} a_i(j \omega)^i}{\sum\limits_{i=0}^{n} b_i(j \omega)^i}\]

Wat ons dus tot de conclusie brengt dat de transferfunctie van een willekeurig blok zonder spoelen kan geschreven worden als de deling van 2 veeltermen van de orde \(n\) met reële coëfficiënten, waarbij \(n\) het aantal knopen is dat aanwezig is in het circuit. Een belangrijke eigenschap van veeltermen van orde \(n\) is dat deze ook \(n\) nulpunten hebben. Bovendien is het een eigenschap van veeltermen met reële coëfficiënten dat als er een complex nulpunt is, dat het complex toegevoegde hiervan ook een nulpunt is. Als gevolg hiervan kunnen we de transferfunctie \(T(j \omega)\) herschrijven als:

\[T(j \omega)=\frac{ V_{out}(j \omega)}{ V_{in}(j \omega)}=\frac{\sum\limits_{i=0}^{n} a_i(j \omega)^i}{\sum\limits_{i=0}^{n} b_i(j \omega)^i}= \frac{\prod\limits_{i=0}^{n} (j \omega- n_i)}{\prod\limits_{i=0}^{n} (j \omega-p_i)}\]

Waarbij \(n_i\) de nulpunten zijn van de transferfunctie en \(p_i\) de polen zijn van de transferfunctie

\[T(j \omega)= \frac{\prod\limits_{i=0}^{n} (j \omega- n_i)}{\prod\limits_{i=0}^{n} (j \omega-p_i)}= T_1(j \omega) \times T_2(j \omega) \times T_3(j \omega) \times \dots \times T_n(j \omega) \]
_images/e1eef9aacd77736884845a3a191e839b2ec1e953e7b0c6bdd74a79e0a61ae755.svg

Figuur 92 Hardware implementatie in opeenvolgende building blocks#

Eerste en tweede orde filters#

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}\]

Figuur 93 toont een algemene bouwblok om een eerste orde filter mee te maken.

_images/d3571e4a5c72543979ca7e28e234fc51390b382109ab2cb7505aafc42e1cf66c.svg

Figuur 93 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 Figuur 94).

_images/52b4ff1d0c94511884d898d7e77945332453aef390f15a2c7c7d80fa98e4894e.svg

Figuur 94 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. Figuur 95 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/2d4b44c4d16561b63a063a240c81839d953fb502c837a8ca711a882388579bc9.svg

Figuur 95 Eerste orde laagdoorlaatfilter.#

Op een gelijkaardige wijze kunnen we uitrekenen dat het circuit in Figuur 96 ons een hoogdoorlaatfilter geeft met responsie:

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

Figuur 96 Eerste orde hoogdoorlaatfilter.#

_images/faede938ee2e8734838833c996437f2800a36788de7f38d980582092437daaa8.svg

Figuur 97 Eerste orde filter met nul#

_images/2e5d2d0ba5b0d980b95c8b956261256e318d90dafb49505e3a9d3227981d6cb6.svg

Figuur 98 Eerste orde filter met nul en pool op oneindig#

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 Figuur 99 . 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

Figuur 99 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

(14)#\[ 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

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

We zien dus inderdaad uit vergelijkingen ((14),(15),(16),(17)) dat we dit kunnen uitwerken als de gevraagde universele oplossing op voorwaarde dat de coëfficiënten \(a_2,a_1\) en \(a_0\) allemaal positieve coëfficiënten 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 Figuur 99 , namelijk \(V_{in}\), \(V_{*}\) en\(V_{out*}\). Dit geeft dan het circuit in Figuur 100 .

_images/9ba1e37c94ab1377c19b7d05d3a01b5b35b6e3c863bd66912468aa2f96a3cc13.svg

Figuur 100 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/58c8b08a300cd3f70cdde5bcbeb4411fce2ad9d27602992198cc920188836545.svg

Figuur 101 Het Sallen en Key laagdoorlaat circuit.#

Spice Listing 15 Eenvoudig circuit voor een Sallen en Key Low pass filter#
* Sallen and Key Low pass filter
R1 1 2 10k
R2 2 3 10k
XOpAmp 3 4 8 9 5 8 opamp
C1 2 5 1.6nF
C2 3 0 1.6nF
Rkx 5 4 100k
Rx 4 0 100k
Vin 1 0 AC 0.5 0 DC 0
VPOS 8 0 DC +2.5V
VNEG 9 0 DC -2.5V

Wanneer we het circuit van Spice Listing 15 simuleren op basis van een ideale opamp (GBW=10MHz, versterking van 100K en een POLE bij 100Hz), krijgen we resultaat als in Figuur 102.

_images/0c330c56833e25d706b521f74e8d90fab51a79e687d84da12fbc150530d70d3c.png

Figuur 102 Spice simulatie van een Sallen en Key circuit met een ideale opamp#

We kunnen dit circuit ook simuleren met een meer realistische opamp, bv een LMV981

_images/2d82d7c280f791b6f8d5cec347c12fe5d170eaac8d3aaa4891ca3c416af92b23.png

Figuur 103 Spice simulatie van een Sallen en Key low pass filter waarbij we gebruik maken van de LMV981 opamp. Het spice model van deze opamp is gegeven door de fabricant aan de hand van een subcircuit.#

Op dezelfde manier zijn ook de high pass filter en de Band pass filter beschreven.

_images/e09ba4d24f322d497939a9b6a9ea8086322d520928aa7808cf41be5b8382bfde.svg

Figuur 104 Het Sallen en Key hoogdoorlaat circuit.#

_images/bdc2bbca68cdda82fa50f600378faa0303ddf3df2d5e72deea6cb2a0b3fc47fb.svg

Figuur 105 Het Sallen en Key banddoorlaat circuit.#

_images/2830921f0b4fed11d6df7dad0bfeaa8e3cceade242e5b49000c8868411ad81c2.svg

Figuur 106 Het Sallen en Key Banddoorlaat circuit.#

Filter specificaties#

De basisbouwblokken die hierboven beschreven zijn, laten toe circuits te ontwerpen waarbij we alle mogelijke frequentiekarkateristieken kunnen bekomen door op de juiste manier de polen en de nulpunten te bepalen. De specificaties hiervoor worden normaalgezien bepaald door de amplitude van de transferfunctie als een functie van de frequentie.

Figuur 107 toont de algemene template voor de filterspecificaties van een laagdoorlaatfilter. We herkennen hierop de passband (gelegen tussen de frequenties bepaald door 0 en \(\omega_p\)) en de stopband (gelegen tussen de frequenties bepaald door \(\omega_s\) en \(\infty\)). In de passband mag het signaal niet meer verzwakt worden dan \(A_{max}\) en in de stopband moet het meer verzwakt worden dan \(A_{min}\). Tussen \(\omega_p\) en \(\omega_s\) hebben we dan de transitie band, waarin we de een aantal dB per decade gaan vereisen.

Figuur 108 toont de algemene template voor de filterspecificaties van een banddoorlaatfilter. Hierin herkennen we een passband (tussen \(\omega_{p1}\) en \(\omega_{p2}\)) en 2 stopbanden, voor \(\omega_{s1}\) en na \(\omega_{s2}\).

_images/7bb8d7098ccd9e1b6522fcc5e77f67583410f57c784103859af0d7d68d0dacad.jpg

Figuur 107 Overzicht van de specificaties van een laagdoorlaatfilter#

_images/095bd6db39a8ac7d5a52583790ab0b4489b3a95d254e43d50a69343c706cbcba.jpg

Figuur 108 Overzicht van de specificaties van een banddoorlaatfilter#

Filter types#

De verschillende filters die we in dit hoofdstuk zullen ontwerpen zijn:

  • Laagdoorlaat filter (low-pass filter)

  • Hoogdoorlaat filter (high-pass filter)

  • Alles doorlaat filter (all-pass filter)

  • Banddoorlaat filter (band-pass filter)

  • Bandsper filter (band-stop filter)

Op het eerste gezicht lijkt een allesdoorlaatfilter niet echt nuttig maar het belang hiervan zit hem in de invloed op de fase van het signaal.

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 banddoorlaatfilter 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 transformatie 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 invullen 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 kunnen 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 ))

Specifieke filter blokken#

De verschillende filters die we in dit hoofdstuk zullen ontwerpen zijn:

  • Butterworth filter

  • Chebyshev filter

  • Invers Chebyshev filter

  • Bessel-Thomson filter

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 geïmplementeerd in hardware circuits.

Butterworth laagdoorlaatfilter van de 3de orde#

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

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

\(a_n\) en \(b_n\) zijn de coëfficiënten van de veeltermen in de transferfunctie. Aangezien we hier een derde orde laagdoorlaatfilter ontwerpen is \(M=0\) en \(N=3\). Voor deze oefening is het resultaat van de berekening van deze coëfficiënten:

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

Een plot van deze transferfunctie zien we in Figuur 109. We stellen inderdaad vast dat de versterking (Gain) heel erg vlak is tot 1 MHz en daarna met 60 dB per decade afneemt.

_images/cfd9a918ed80a001e8e15c550f928ba43633cf8c605b4e1dd74cd6f513effefd.png

Figuur 109 Amplitude en fase van een derde orde Butterworth laagdoorlaatfilter met afsnijfrequentie 1 MHz.#

We kunnen deze transferfunctie ook schrijven als functie van polen en nulpunten:

\[H(s) = \frac{\prod\limits_{n=1}^M (s-z_n)}{\prod\limits_{n=1}^N (s-p_n)}= \frac{1}{\prod\limits_{n=1}^3 (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

Figuur 110 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 transferfunctie 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

Figuur 111 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

Figuur 112 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

Figuur 113 Opsplitsing van een derde orde Butterworth laagdoorlaatfilter in de bouwblokken H1 en H2.#

_images/fab5354ee419527f915e2cb330b354b19b62a2d3ef031efd135b9d87b40c882c.svg

Figuur 114 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

Figuur 115 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#

Wanneer we de transferfucntie van de Butterworth laagdoorlaatfilter van de 5de orde berekenen, bekomen we de volgende coëfficiënten:

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

Voor een laagdoorlaatfilter van de 5de orde is de orde van de veelterm in de teller 0 en de order van de veelterm in de noemer 5.

Figuur 116 toont het bekomen Bode diagram van deze transferfunctie. We zien een verloop van 450 graden in de fase. Aangezien enkel 360 graden van de fase wordt weergegeven, zit er een schijnbare sprong in rond 800 kHz. Dit is geen echte sprong. De fase blijft continu verlopen.

_images/1e92f3cb45eae2d8769436ff3ca2e69e3bb9951601d1594db1dd0d940d02d97d.png

Figuur 116 Amplitude en fase van een vijfde orde Butterworth laagdoorlaatfilter met afsnijfrequentie 1 MHz.#

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

Figuur 117 Polen van een vijfde orde Butterworth laagdoorlaatfilter met afsnijfrequentie 1 MHz.#

_images/191edd8ac107ec5d42007359c810cb54296c17c6121563e0cf8d997d60f74242.png

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

_images/3b17007918c8bacb325e2a1887a837de1ed651b956de35139178fda655100eb7.svg

Figuur 119 Hardware implementatie van een vijfde orde Butterworth laagdoorlaatfilter in 3 building blocks.#

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

_images/a690d3a9272350dcf27a0be4203c038d7586c446e6b6c759e75ec50cf9e5db78.png

Figuur 120 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 transferfunctie 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

Figuur 121 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

Figuur 122 Vergelijking tussen 7de orde Butterworth banddoorlaatfilter en een opeenvolging van laagdoorlaatfilter en een hoogdoorlaatfilter.#

7de orde banddoorlaatfilter tussen 47 en 53 MHz#

In het tweede voorbeeld van een banddoorlaatfilter bekijken we een smalle banddoorlaatfilter: De bandbreedte is in dit geval slechts 6 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

Figuur 123 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

Figuur 124 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

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

De transferfunctie is:

  • n rimpels in de doorlaatband

met:

met S voor een laagdoorlaatfilter:

De amplitude voor \(\omega=\omega o\) is:

  • dit is ook de amplitude van de rimpel

Boven deze frequentie daalt deze functie als:

\[ G^2_n(\omega)=\frac{1}{1+\epsilon^2 T_n^2(S)}\]
\[ T_n(x)=\cos(n \arccos(x) )\]
\[ S=\frac{j \omega}{\omega_o}\]
\[ |G_n(\omega=\omega_o)|=\frac{1}{\sqrt{1+\epsilon^2}}\]
\[ |G_n(S)| \approx \frac{1}{\epsilon^2 2^{n-1} | S|^n }\]

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

Figuur 126 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

Figuur 127 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

Figuur 128 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

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

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

_images/03baf4167199c74a303d8d54e342e83fad71a34285357008d5ee4936dbdacf79.png

Figuur 130 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

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

Wanneer we de Butterworth met Chebyshev 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

Figuur 132 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

Figuur 133 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

Figuur 134 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 Figuur 101. 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 Figuur 101 een k-factor hebben die gelijk is aan:

1.23353640830558

Bessel Thomson filters#

Het voornaamste doel van een Bessel Thomson filter is een lineair verloop te bekomen van het fase verloop in de buurt van de afsnijfrequentie. Hierdoor wordt de vorm van een puls beter behouden. In dit vak zullen we de Bessel Thomson filters steeds met de computer uitrekenen. Hieronder vind je de berekening van de coëfficiënten van de transfer functie een 2de orde Bessel Thomson hoogdoorlaatfilter met afsnijfrequentie op 1 kHz.

In Figuur 135 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

Figuur 135 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#

Het is heel erg belangrijk rekening te houden met de toleranties van de componenten die we hebben. De meeste leveranciers van weerstanden voorzien een ruime marge op de weerstandswaarde die geleverd wordt, typisch bv +/-\(5\%\) of +/-\(1\%\). Een aantal ontwerpen zijn hier zeer gevoelig voor. Bij het maken van een ontwerp moet je dan ook rekening houden met deze variaties.

Switched Capacitor filters#

Voor de integratie van filters op geïntegreerde schakelingen worden vaak geschakelde condensatoren (Switched Capacitors) gebruikt omwille van de volgende reden:

  • Weerstanden op chip zijn nooit heel erg nauwkeurig

  • We kunnen een weerstand vervangen door een condensator en 2 schakelaars

Om de equivalente weerstand uit te rekenen die staat tussen \(V_{in}\) en \(V_{uit}\), berekenen we de stroom die loopt tussen \(V_{in}\) en \(V_{uit}\). De stroom is de lading per tijdseenheid die vloeit om de condensator te op- en ontladen.

\[i=f C_s (V_{in}-V_{out})\]

Uit deze relatie tussen stroom en spanningsverschil volgt dan de waarde van de equivalente weerstand.

\[R=\frac{1}{f C_s }\]

We vervangen de weerstand R in deze filter door een SC schakeling. Het nieuwe schema wordt dan:

  • Het eenvoudige circuit heeft last van de parasitaire capaciteiten

  • Het verdubbelen van de schakelaars lost dit probleem op

\[R=\frac{1}{f C_s }\]
_images/6c831f3275651fe95d981e266c462e707c30c8a199f76a0dbbf733693f051442.svg

Figuur 136 Verbeterde Switched Capacitor weerstand#

_images/b2617888d10faf143c611d74fdd3866ae6a9df88118364823888789742e3afe0.svg

Figuur 137 Bovenste gedeelte van het BiQuad circuit.#

_images/67d2029577e0e4300019f6ed2e3cac29b81c83b5e37d6e8514c9da2d6ff7575c.svg

Figuur 138 Bovenste gedeelte van het BiQuad circuit herwerkt naar Switched Capacitor#

Merk op dat bij het omschakelen naar de Switched Capacitor implementatie de laatste stage (inverterende opamp) verdwenen  is. De truc is dat voor R3 de klokken omgewisseld zijn, waardoor de stomen omgekeerd zijn en het geheel zich dus gedraagt als een negatieve weerstand

Zelftest via Flashcards#

\(\,\!\)

Klik op de vraag als je je antwoord wil nakijken. Klik op next om de volgende vraag te bekomen.