Vensterfunctie: verschil tussen versies

79 bytes toegevoegd ,  4 jaar geleden
k
<math> met AWB
k (<math> met AWB)
Een '''vensterfunctie''', in het Engels ''window function'', ''apodization function'' of ''tapering function''<ref>{{cite book | title = CRC Concise Encyclopedia of Mathematics | author = Eric W. Weisstein | publisher = CRC Press | year = 2003 | isbn = 1-58488-347-2 | url = http://books.google.com/?id=aFDWuZZslUUC&pg=PA97&dq=apodization+function }}</ref>, is een wiskundige [[functie (wiskunde)|functie]] die nul is buiten een bepaald interval. Zo wordt een functie die nul is buiten een interval, en een constante waarde heeft binnen het interval een ''rechthoekige vensterfunctie'' of ''rechthoekig venster'' genoemd, gezien de vorm die dit venster heeft. Wanneer een ander signaal met de vensterfunctie puntsgewijs wordt vermenigvuldigd is het product nul buiten het interval van de vensterfunctie. Vandaar de benaming ''venster'': men kijkt naar een ander signaal door een ''venster'', waardoor men als het ware een stuk uit het volledige signaal knipt. Indien de vorm binnen het bereik van de vensterfunctie niet constant is, wordt het uitgeknipte stuk van het oorspronkelijk signaal ook nog eens gewijzigd.
 
Vensterfuncties worden onder meer gebruikt in alle analoge en digitale toepassingsgebieden van [[signaalverwerking]], gevorderde varianten van de [[fouriertransformatie]], [[beeldverwerking]] en [[digitale spraakverwerking]]. Ook analoge en digitale filters kunnen op basis van vensterfuncties worden ontworpen.
De nevenstaande figuur illustreert de onderstaande uitleg concreet voor een sinus van 5,26&nbsp;Hz die wordt waargenomen met een rechthoekig venster van 5 seconden.
De [[fouriertransformatie]] van een oneindig lange sinus bestaat uit één enkele piek op de eigen [[frequentie]]. Een wiskundig perfecte sinus bevat immers enkel zijn eigen frequentie. Deze piek, groen op bijgaande figuur, is wiskundig voor te stellen als een [[Diracfunctie]] op die precieze frequentie. Wanneer echter (bijvoorbeeld) een rechthoekig venster op de sinus wordt toegepast is de fouriertransformatie, wegens de [[convolutiestelling]] de [[convolutie]] van de [[fouriertransformatie]] van de sinus en de [[fouriertransformatie]] van het venster. De convolutie van een [[Diracfunctie]] en een andere functie is op zijn beurt een verschuiving van de andere functie tot op de plaats van de [[Diracfunctie]]. Dit is een eigenschap van de [[Diracfunctie]]. Deze convolutie is de golvende functie in het rood op de figuur.
De [[fouriertransformatie]] van een sinus, genomen door een rechthoekig venster, is dus een [[sinc-functie]] met haar maximum op de frequentie van de sinus (en een tweede sinc-functie op de negatieve frequentie). De [[fouriertransformatie]] van een rechthoekig tijdsignaal is immers een [[sinc-functie]] in frequentie.
 
Indien:
 
:<math>f(t) \, = \, A \! </math>
 
op het interval <math>[-T/2 ... T/2] \! </math> en nul daarbuiten,
dan is de [[fouriertransformatie]]
 
Indien:
 
:<math>f(t) \, = \, A \sin(\omega_o t)\! </math>
 
op het interval <math>[-T/2 ... T/2] \! </math> en nul daarbuiten,
dan is de [[fouriertransformatie]]
 
:<math>F(\omega) \, = \, AT \ \operatorname{sinc}[(\omega + \omega_o) T/2] + AT \ \operatorname{sinc}[(\omega - \omega_o) T/2]</math>
 
Daarboven komt nog het feit dat de [[fouriertransformatie]] in de praktijk wordt berekend door middel van een [[Fast Fourier transform|FFT]], en deze berekent de [[fouriertransformatie]] in een discrete vorm: het resultaat van de FFT bevat enkel informatie op de veelvouden van de grondfrequentie van de meting, en deze is één gedeeld door de duur van de meting. Een meting van 5 seconden levert dus enkel fouriercoëfficiënten op 0,2&nbsp;Hz, 0,4&nbsp;Hz, 0,6&nbsp;Hz... In het algemeen zullen deze ''zichtbare'' frequenties, de blauwe pieken op de figuur, niet samenvallen met de piek van de getransformeerde van het venster, en wordt er dus geen unieke piek gemeten, maar een gans bos van pieken die hun maximum bereiken in de buurt van de werkelijke frequentie van de te meten sinus. De maximale piek zal echter lager zijn dan de werkelijke sterkte van de sinus.
 
Alles bij elkaar wordt in het Fourierspectrum een sinus dus vervangen door de [[Fouriertransformatie]] van het gebruikte venster, en wordt dit dan nog eens bemonsterd op de zichtbare frequenties van de Fouriertransformatie. Als de werkelijke frequentie van de sinus niet met een die zichtbare frequenties samenvalt zal de [[fouriertransformatie]] van het gebruikte venster dus niet in zijn maximum worden bemonsterd.
 
Een rechthoekig venster gebruiken zal dus aanleiding geven tot de volgende fouten:
* ''Amplitudefout'': De amplitude wordt te laag gemeten. Deze fout kan in het slechtste geval oplopen tot 36% te weinig, of dus 3,9dB9&nbsp;dB te laag
* ''Resolutiefout'': De werkelijke frequentie van de sinus is niet meer nauwkeurig te meten, maar ligt tussen de twee hoogste pieken. Ook kan het voorkomen dat twee sinussen met lichtjes verschillende frequentie niet meer afzonderlijk te zien zijn, maar één gezamenlijke piek in het spectrum creëren.
* ''Leakage'': De nabijgelegen zichtbare frequenties hebben niet-nulle amplitude, die er in realiteit niet is, maar die wel zwakkere sinussen in het signaal kunnen overstemmen. Dit effect wordt aangeduid met de Engelse benaming ''leakage'', het weglekken van de energie van de werkelijke niet zichtbare frequentie naar nabijgelegen zichtbare frequenties.
 
Het gebruik van andere vensters probeert aan deze fouten iets te doen, maar geen enkel venster kan alle fouten samen verminderen. In het algemeen worden de amplitudefout en leakage samen kleiner (of groter) naargelang de resolutiefout groter (of kleiner) wordt.
 
==Kwaliteitscriteria==
[[Bestand:Window Criteria.jpg|thumb|right|Kwaliteitscriteria van een venster: side lobe roll off (deze helling is constant indien de frequentieas logaritmisch is), scalloping loss, breedte van de hoofdlobe op -3−3 dB en hoogte van de hoogste zijlobe]]
 
De [[fouriertransformatie|fouriergetransformeerde]] van een venster bestaat steeds uit een centrale hoofdlobe (''main lobe'') en afnemende zijlobes (side lobes'').
* ''Scallop loss'': de maximale fout in dB die kan voorkomen bij een amplitudemeting. Deze fout treedt op indien de top van de hoofdlobe niet samenvalt met een zichtbare frequentie van de [[Fouriertransformatie]]. In het slechtste geval ligt de frequentie van een te meten sinus toevallig net tussen de frequenties van twee opeenvolgende fouriercoëfficiënten. In deze situatie wordt de scallop loss bepaald.
 
* ''Main lobe width'': de breedte van de hoofdlobe. Hoe breder de hoofdlobe, hoe moeilijker sinussen met bijna gelijke frequentie zullen kunnen onderscheiden worden. Bij vensters met een zeer brede hoofdlobe zullen de twee sinussen als één gezamenlijke piek zichtbaar zijn. Deze breedte kan op verschillende wijze worden gegeven, bijvoorbeeld de breedte op -3dB−3dB uitgedrukt in bins. Een bin is het verschil in frequentie tussen twee opeenvolgende fouriercoëfficiënten.
 
* ''Highest side lobe level'': geeft aan hoeveel dB de hoogste zijlobe onder het niveau van de hoofdlobe ligt.
 
* ''Side lobe roll off'': geeft aan met hoeveel dB/decade het niveau van de zijlobes zakt. Een decade is een frequentietoename met een factor tien. Samen met het niveau van de hoogste zijlobe bepaalt dit criterium in welke mate zwakke sinussen mogelijk zullen worden overstemd door de leakage van sterke sinussen die in de buurt liggen. Indien de frequentieas logaritmisch wordt gekozen is de side lobe roll off op de figuur een constant dalende lijn.
 
:<math>w(n) = 1\,</math>
 
Het rechthoekig venster is ook gekend onder de naam [[Dirichlet]]-venster. Het snijdt gewoon een stuk van lengte N uit een digitaal signaal zonder dat de samplewaarden van het signaal worden gewijzigd. Dit leidt in veel gevallen tot discontinuïteiten aan de randen van het interval waardoor het venster zeer slecht scoort op de criteria betreffende de hoogte zijlobe (slechts 13 onder de centrale lobe). Omdat de side lobe roll off slechts 20 &nbsp;dB met decade bedraagt kampt dit venster met ernstige leakage. Qua resolutie scoort dit venster wel heel goed.
 
==== Von Hann-venster ====
:<math>w(n) = 0,5\; \left(1 - \cos \left ( \frac{2 \pi n}{N-1} \right) \right)</math>
 
De vorm is niets anders dan een cosinusvorm die aan beide uiteinden nul wordt. Hierdoor worden discontinuïteiten aan de uiteinden vermeden. De side lobe roll off scoort heel goed met 60 &nbsp;dB/decade.
Het Hanning-venster is een eenvoudig en goed compromis dat als algemeen bruikbaar venster wordt beschouwd, zonder uitzonderlijke kwaliteiten maar ook zonder grote gebreken.
 
:<math>w(n) = 0,54 - 0,46\; \cos \left ( \frac{2\pi n}{N-1} \right)</math>
 
Dit is een optimalisatie van het Hanning-venster. De vorm is een kleine constante plus een cosinusvorm. De optimalisatie is zodanig dat de hoogte van de eerste zijlobe gevoelig wordt onderdrukt. De prijs die hiervoor betaald wordt is een minder snelle afname van de zijlobes: de side lobe roll off is 20 &nbsp;dB/decade, net zoals het rechthoekig venster. Omdat de hoogste zijlobe echter veel lager ligt dan bij het rechthoekig venster en het verval bij beide vensters gelijk is, scoort het Hamming-venster beter dan het rechthoekig venster op het gebied van detectie van zwakkere componenten in het signaal.
 
==== Tukey-venster ====
:<math>w(n)=\frac{2}{N}\cdot\left(\frac{N}{2}-\left |n-\frac{N-1}{2}\right |\right)\,</math>
 
Dit venster heeft een hoofdlobe die tweemaal zo breed is als het rechthoekig venster, en een hoogste zijlobe op -26 −26&nbsp;dB.
 
==== Kaiser-vensters ====
:<math>w(n)=a_0 - a_1 \cos \left ( \frac{2 \pi n}{N-1} \right)+ a_2 \cos \left ( \frac{4 \pi n}{N-1} \right)- a_3 \cos \left ( \frac{6 \pi n}{N-1} \right)</math>
 
:<math>a_0=0.{,}35875;\quad a_1=0.{,}48829;\quad a_2=0.{,}14128;\quad a_3=0.{,}01168\,</math>
 
==== Flattopvenster ====
:<math>w(n)=a_0 - a_1 \cos \left ( \frac{2 \pi n}{N-1} \right)+ a_2 \cos \left ( \frac{4 \pi n}{N-1} \right)- a_3 \cos \left ( \frac{6 \pi n}{N-1} \right)+a_4 \cos \left ( \frac{8 \pi n}{N-1} \right)</math>
 
:<math>a_0=1;\quad a_1=1.{,}93;\quad a_2=1.{,}29;\quad a_3=0.{,}388;\quad a_4=0.{,}032\,</math>
 
Het flattopvenster is ontworpen om de scallop loss, dus de mogelijke fout bij de amplitudemeting van een sinusvormig signaal, te minimaliseren. Een flattopvenster geeft een quasi-correcte amplitudemeting. Daar tegenover staat een zeer slechte prestatie op het gebied van resolutie, want de hoofdlobe van een flattopvenster is vijf maal zo breed als bij een rechthoekig venster.
!Venster
!Scallop Loss
!main lobe width op -3 −3&nbsp;dB
!higest side lobe level
!side lobe roll off
|-
|Rechthoekig ||-3.−3,92||0.,89||-13−13||-20−20
|-
|Driehoekig ||-1.−1,82||1.,28||-26−26||-40−40
|-
|Hanning ||-1.−1,42||1.,44||-31−31||-60−60
|-
|Hamming ||-1.−1,78||1.,30||-41−41||-20−20
|-
|Kaiser(a=3) ||-1.−1,02||1.,71||-69−69||-20−20
|-
|Blackman Harris (3 sample) ||-1.−1,13||1.,66||-71−71||-20−20
|-
|Flat top ||< 0.,01||2.,94||-44−44||-20−20
|-
|}
 
{{Appendix|2=
* E.C. Ifeachor, B.W. Jervis "Ditigal Signal Processing, a practical approach" Addison-Wesley Publ.Company {{ISBN |0-201-54431-8}}
* S.K. Mitra "Digital Signal Processing, a computer based approach" McGraw-Hill International Edition {{ISBN |007-124467-0}}
* A.W.M. van den Enden, N.A.M. Verhoeckx "Discrete-time Signal Processing, an introduction" Prentice Hall, {{ISBN |0-13-216755-7}}
----
{{References}}