Lineaire fase

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

Lineaire fase is een eigenschap die bij FIR-filters kan worden ingebouwd. Deze eigenschap houdt in dat de faserespons van zo'n filter een lineaire functie van de frequentie is. Concreet wil dit zeggen dat een faseverschil tussen twee sinuscomponenten met verschillende frequentie hetzelfde blijft nadat het signaal door het filter gepasseerd is. Deze eigenschap, die kan worden vertaald in voorwaarden op de filtercoëffiënten, is bij een aantal toepassingen gewenst. Bij IIR-filters is lineaire fase niet mogelijk.

Voorwaarden op de filtercoëfficiënten[bewerken]

Inleiding[bewerken]

Een digitaal filter is een voorbeeld van een LTD-systeem. Bij een FIR-filter hoort een differentievergelijking die enkel rekening houdt met het invoersignaal (de excitatie) en niet met reeds vroeger berekende sampels van het uitvoersignaal (de respons) zoals het geval is bij IIR-filters. De differentievergelijking is dus van de gedaante:

y[n] \, = \, \sum_{k=0}^{N}h[k]x[n-k]

waarbij h[k] de filtercoëfficiënten zijn. Deze bepalen de wijze waarop het filter een invoersignaal omzet in een uitvoersignaal. Doorgaans is het filter bandselectief. Dit betekent dat bepaalde frequentiebanden worden doorgelaten en andere worden onderdrukt. Zo kan het laagdoorlaat, hoogdoorlaat, banddoorlaat of bandstop zijn. De bovengrens N van de sommatie noemt men de filterorde.

Symmetrieën[bewerken]

De filtercoëfficiënten kunnen eventueel aan bepaalde symmetrieën voldoen, namelijk:

  • Even symmetrie : h[k] = h[N-k] voor k = 0..N
  • Oneven symmetrie : h[k] = - h[N-k] voor k = 0..N

Daarnaast kan men opteren voor een waarde van N die zelf een even of een oneven getal is. Door combinatie van deze twee keuzes kan men dus vier gevallen bekomen. In elk van deze vier gevallen zal het filter een lineaire fase hebben.

Geval 1 : h[n] is even, N is even[bewerken]

Stel bijvoorbeeld dat N =6, met als gevolg dat h[0]=h[6], h[1]=h[5], h[2]=h[4] en h[3] is willekeurig. De frequentierespons van een digitaal signaal is in het algemeen:

H(\theta) \, = \, \sum_{k=0}^{N}h[k]e^{-j.\theta}

waarbij \theta \in [-\pi..\pi] de genormaliseerde frequentie is, die gelijk is aan:

\theta \, = \, \omega .T \!

met T de bemonsteringsperiode. In bovenstaand geval met even symmetrie en N oneven wordt dit:

H(\theta) \, = \, h[0]e^{-j0}+h[1]e^{-j\theta}+h[2]e^{-j2\theta}+h[3]e^{-j3\theta}+h[2]e^{-j4\theta}+h[1]e^{-j5\theta}+h[0]e^{-j6\theta}

en dus:

H(\theta) \, = \, h[0](e^{-j0}+e^{-j6\theta}) + h[1](e^{-j1\theta}+e^{-j5\theta}) + h[2](e^{-j2\theta}+e^{-j4\theta}) + h[3]e^{-j3\theta}

DOor de laatste exponent voorop te zetten:

H(\theta) \, = \, e^{-j3\theta} (h[0](e^{j3\theta}+e^{-j3\theta}) + h[1](e^{j2\theta}+e^{-j2\theta}) + h[2](e^{j\theta}+e^{-j\theta}) + h[3]
)

Door de formules van Euler:

H(\theta) \, = \, e^{-j3\theta} (2h[0]cos(3\theta)+2h[1]cos(2\theta)+2h[2]cos(\theta)+h[3])

De uitdrukking tussen haakjes is zuiver reëel en bevat dus enkel frequentie-intervallen waar de fase constant is, hetzij nul indien de uitdrukking positief is, hetzij \pi indien ze negatief is. Maar op de sporadische sprongen tussen deze twee waarden na is de fase constant. De complexe exponent vooraan het rechterlid bevat wel fase, maar dan een fase die duidelijk evenredig is met de genormaliseerde frequentie. Globaal is de fase dus, op sporadische sprongen na, een lineaire functie van de frequentie:

\varphi(\theta) \, = -j3\theta \!

In het algemeen geval wordt de uitdrukking voor de frequentierespons:

H(\theta) \, = \, e^{-jM\theta} (h[M] + 2 \sum_{k=0}^{M}cos(M-k)\theta \, )

waarbij:

M \, = \, N/2 \!

Andere gevallen[bewerken]

In de andere gevallen kan een soortgelijke redenering gemaakt worden, die tot een soortgelijke uitdrukking leidt. Echter, in die gevallen treden beperkingen op waardoor die gevallen niet zo algemeen zijn als het eerste (bovenstaand uitgewerkte) geval.

  • Type 2 : H[n] is even, N is oneven

In dat geval vindt men:

H(\theta) \, = \, e^{-jM\theta} 2 \sum_{k=0}^{M-0.5}cos(M-k)\theta

waarbij:

M \, = \, N/2 \!

Merk nu op dat, indien \theta=\pi deze uitdrukking steeds nul is, gezien het feit dat M enkel een halve waarden (0.5, 1.5, 2.5...) aanneemt. De cosinustermen worden dus, indien \theta=\pi, steeds in \pm \pi/2 berekend zodat ze nul zijn. Dit type kan dus niet gebruikt worden voor hoogdoorlaat en bandstopdoorlaat filters. Deze filters hebben immers een niet-nulle frequentierespons aan de rand van het fundamenteel frequentie-interval.

  • Type 3 : H[n] is oneven, N is oneven

Dit type kent soortgelijke beperkingen als het vorige, en geeft steeds een nulle frequentierespons, zowel op \theta=0 als op \theta=\pi. Het kan dus enkel gebruikt worden voor banddoorlaat filters.

  • Type 4 : H[n] is oneven, N is even

Dit type kent eveneens soortgelijke beperkingen als de twee vorige en geeft steeds een nulle frequentierespons op \theta=0. Het kan dus niet gebruikt worden voor laagdoorlaat filters en bandstopfilters.

Samenvatting[bewerken]

Van de vier gevallen biedt enkel het eerste een volledige vrijheid om het type van bandselectief filter te kiezen.

Type h[n] N Enkel voor
1 Even Oneven Alle types
2 Even Even Laagdoorlaat, Banddoorlaat
3 Oneven Even Banddoorlaat
4 Oneven Oneven Hoogdoorlaat, banddoorlaat

Gevolgen voor de nullen[bewerken]

De polen van een FIR-filter liggen steeds in z = 0. De nullen kunnen in principe overal liggen, maar bij een FIR-filter met een van bovenstaande symmetrieën voldoen de nullen aan een bijkomende eigenschap:

  • indien z een nul is van de systeemfunctie, is 1/z dit ook.

Deze eigenschap betreffende de posities van nullen kan als volgt aangetoond worden (voor de eenvoud voor een systeem van het eerste type, met N is even, maar de redenering kan zonder probleem worden veralgemeend). Stel bijvoorbeeld dat N =4, zodat

h[0] = h[4]  \, en \, h[1]=h[3] ,

en stel dat Z een nul van de systeemfunctie is. Dit wil zeggen dat:

H(Z) = h[0]z^{-0}+h[1]z^{-1}+h[2]z^{-2}+h[1]z^{-3}+h[0]z^{-4} =0\!

Indien de systeemfunctie wordt geëvalueerd in 1/Z bekomt men:

H(1/Z) = h[0]z^{+0}+h[1]z^{+1}+h[2]z^{+2}+h[1]z^{+3}+h[0]z^{+4} \!
H(1/Z) = z^4 (h[0]z^{-4}+h[1]z^{-3}+h[2]z^{-2}+h[1]z^{-1}+h[0]z^{-4} =z^4.0=0\!

Dit toont aan dat, indien Z een nul van het systeem is, 1/Z dit ook is.

Deze redenering verklaart tevens waarom lineaire fase niet mogelijk is bij een IIR-systeem. Zo'n systeem heeft polen die niet in nul liggen, en opdat hun aanwezigheid de lineaire fase niet zou verstoren zouden ze ook aan een soortgeliijke voorwaarde moeten voldoen: indien Z een pool is moet 1/Z dit ook zijn. Echter, dit zou betekenen dat er polen buiten de eenheidscirkel liggen want indien een complex getal binnen deze cirkel ligt, ligt zijn invers complex getal er buiten. Polen buiten de eenheidscirkel zijn echter niet toegelaten omdat het systeem dat onstabiel is.

Groepsvertraging[bewerken]

De negatieve afgeleide van de frequentierespons noemt met de groepsvertraging of group delay:

\tau(\omega) \, = \, - \, \frac{d\varphi(\omega)}{d\omega}

In het geval van een lineaire faserespons is de groepsvertraging dus constant.

Voorbeeld[bewerken]

Amplitude- en faserespons van het FIR-filter met lineaire fase uit het voorbeeld.

Neem het filter van type 1, met N=10, en met differentievergelijking:

y[n] \, = \, \sum_{k=0}^{10}\frac{sin2(5-k)}{2(5-k)}x[n-k]

De nullen van het systeem zijn dan:

  • z1 = 0.4040 en z2 = 2.4752 : dit zijn onderling gereflecteerde posities want z1 = 1/z2
  • z3,z4 = -0.6928 \pm0.7211j : deze nullen liggen op de eenheidscirkel
  • z5,z6 = -0.9627 \pm0.2704j : deze nullen liggen op de eenheidscirkel
  • z7,z8 = 0.2416 \pm0.3988j : dit is een koppel complex toegevoegde nullen
  • z9,z10 = 1.1110 \pm1.8343j : dit is een koppel complex toegevoegde nullen op de gereflecteerde posities van het vorig koppel; z7=1/z9, z8=1/z10

De amplituderespons en faserespons zijn te zien op bijgaande plots. Het systeem is een laagdoorlaat systeem. De twee nullen op de eenheidscirkel zijn terug te vinden als de nullen in de amplituderespons. De faserespons vertoont een lineair verloop, op enkele sprongen na. De sprongen van \pi in het faseverloop stemmen overeen met de nullen op de complexe eenheidscirkel. De sprongen van 2\pi zijn enkel een gevolg van het feit dat de fase tussen -\pi en +\pi geplot worden.