Vensterfunctie: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
ZéroBot (overleg | bijdragen)
k r2.7.1) (Robot: toegevoegd: ca, da, de, es, fr, it, ja, pl, ru, zh
kGeen bewerkingssamenvatting
Regel 1:
Een '''vensterfunctie''', in het engelsEngels ''window function'', ''apodization function'' of ''tapering function'', 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 produktproduct 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.

Venstersfuncties worden onder meer gebruikt in alle analoge en digitale toepassingsgebieden van [[signaalverwerking]], gevorderde varianten van de [[fouriertransformatie]], [[digitale beeldbewerking|beeldverwerking]] en [[digitale spraakverwerking]]. Ook analoge en digitale filters kunnen op basis van venstersfuncties worden ontworpen.
 
==Effecten van het gebruik==
 
[[Bestand:Leakage.jpg|thumb|right|Effecten van windowing van 5 seconden op de Fouriertransformatie van een sinus van 5.,26 Hz: groen: werkelijk spectrum op 5.,26 Hz. Rood:convolutie van het sinusspectrum en het spectrum van het gebruikte rechthoekig venster. Blauw: uiteindelijk spectrum dat Fouriercoëfficiënten bevat op de veelvouden van 0.,2Hz. Omdat de werkelijke frequentie van de sinus hiermee niet samenvalt zal leakage optreden.]]
 
De nevenstaande figuur illustreert de onderstaande uitleg concreet voor een sinus van 5.,26 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:
Regel 30 ⟶ 32:
 
 
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.,2Hz, 0.,4Hz, 0.,6Hz... 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 als te laag gemeten. Deze fout kan in het slechtste geval oplopen tot 36% te weinig, of dus 3.,9dB te laag
* ''Resolutiefout'': De werkelijke frequentie van de sinus is niet meer naukeurignauwkeurig 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 gezamelijke 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 engelseEngelse 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 amplitude foutamplitudefout en leakage samen kleiner (of groter) naargelang de resoultiefoutresolutiefout groter (of kleiner) wordt.
 
==Kwaliteitscriteria==
Regel 55 ⟶ 57:
* ''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 hoogtse 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.
== Types van Venstersvensters ==
 
Terminologie''':'''
*<math>N\,</math> is de breedte in netpunten van de discrete vorm van het venster. Meestal is dat in de praktijk een machmacht van 2 zodat het [[Fast Fourier Transform]] -algoritme in optimale omstandigheden kan worden toegepast.
*<math>n\,</math> is een gehele parameter die loopt van 0 tot N-1. De vensters worden dus beschreven op een internal [0..N-1] zodat het maximum van de vensters ruwweg ligt n = N/2
 
Regel 68 ⟶ 70:
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 sampelwaarden 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 db met decade bedraagt kampt dit venster met ernstige leakage. Qua resolutie scoort dit venster wel heel goed.
 
==== Hanning -venster ====
[[Bestand:Window function (hann).png|thumb|right|Hann -venster]]
Dit venster is ook gekend onder de benaming ''Hann -venster'' en ''Von Hann -venster''.
 
:<math>w(n) = 0.,5\; \left(1 - \cos \left ( \frac{2 \pi n}{N-1} \right) \right)</math>
==== Hanning venster ====
[[Bestand:Window function (hann).png|thumb|right|Hann venster]]
Dit venster is ook gekend onder de benaming ''Hann venster'' en ''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 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.
 
==== Hamming -venster ====
[[Bestand:Window function (hamming).png|thumb|right|Hamming -venster]]
 
:<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 cosinus vormcosinusvorm. 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 dB/decade, net zoals het rechthoekig venster. Omdat de hoogtse zijlobe echter veel lager ligt dan bij het rechthoekig venster en het verval bij beide vensters gelijks is, scoort het Hamming -venster beter dan het rechthoekig venster op het gebied van detectie van zwakkere componenten in het signaal.
 
==== Tukey -venster ====
[[BEstand:Window function (Tukey; alpha = 0.5).png|thumb|right|Tukey -venster, a=0.5]]
 
<math>
Regel 98 ⟶ 99:
</math>
 
Het Tukey -venster kan worden bschouwd als een cosinusvorm met een breedte <math>\tfrac{\alpha N}{2}</math> die wordt [[convolutie|geconvolueerd]] met een rechthoekig venster met een breedte <math>\left(1 -\tfrac{\alpha}{2}\right)N</math>. Voor a=0 wordt het venster rechthoekig, en voor a=1 een Hanning -venster.
 
 
==== Cosinus window-venster ====
[[Bestand:Window function (sine).png|thumb|right|Cosinus -venster]]
 
:<math>w(n) = \cos\left(\frac{\pi n}{N-1} - \frac{\pi}{2}\right) = \sin\left(\frac{\pi n}{N-1}\right)</math>
 
 
==== Driehoekig venster (Bartlett -venster) ====
[[Bestand:Window function (bartlett).png|thumb|right|Bartlett -venster]]
Met eindpunten die nul zijn (Bartlett -venster):
 
:<math>w(n)=\frac{2}{N-1}\cdot\left(\frac{N-1}{2}-\left |n-\frac{N-1}{2}\right |\right)\,</math>
 
[[Bestand:Window function (triangular).png|thumb|right|TriangularDriehoekig windowvenster]]
Met eindpunten verschillend van nul:
 
Regel 120 ⟶ 121:
Dit venster heeft een hoofdlobe die tweemaal zo breed is als het rechthoekig venster, en een hoogste zijlobe op -26 dB.
 
==== Kaiser -vensters ====
[[Bestand:Window function (Kaiser; alpha = 2).png|thumb|right|Kaiser -venster, a =2]]
[[Bestand:Window function (Kaiser; alpha = 3).png|thumb|right|Kaiser -venster, a =3]]
 
Kaiser -vensters zijn gebaseerd op de [[Besselfunctie|Besselfunctgie]], en kunnen niet in een expliciete analytische vorm geschreven worden:
 
:<math>w(n)=\frac{I_0\Bigg (\pi\alpha \sqrt{1 - (\begin{matrix} \frac{2 n}{N-1} \end{matrix}-1)^2}\Bigg )} {I_0(\pi\alpha)}</math>
Regel 133 ⟶ 134:
 
 
==== Blackman–Harris window-venster ====
[[Bestand:Window function (blackman-harris).png|thumb|right|Blackman–Harris -venster]]
Dit is een veralgemening van een Hanning -venster. Er wordt in het venster nog een tweede cosinusgolf toegevoegd met een dubbele frequentie van die van het Hannning -venster. De bedoeling is het niveau van de zijlobes te verlagen.
 
 
:<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>
Regel 142:
:<math>a_0=0.35875;\quad a_1=0.48829;\quad a_2=0.14128;\quad a_3=0.01168\,</math>
 
==== Flattopvenster ====
 
[[Bestand:Window function (flat top).png|thumb|right|Flat top vensterFlattopvenster]]
 
==== Flat top window ====
[[Bestand:Window function (flat top).png|thumb|right|Flat top venster]]
 
:<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>
Regel 151 ⟶ 149:
:<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 flat top vensterflattopvenster is ontworpen om de scallop loss, dus de mogelijke fout bij de amplitudemeting van een sinusvormig signaal, te minimaliseren. Een flat top vensterflattopvenster geeft een quasi correcte amplitudemeting. Daar tegenover staat een zeer slechte prestatie op het gebied van resolutie, want de hoofdlobe van een flat top vensterflattopvenster is vijf maal zo breed als bij een rechthoekig venster.
 
 
== Vergelijking van enkele vensters ==
Regel 158 ⟶ 155:
[[Bestand:Window function (comparsion).png|thumb|right|Vensterkarakteristieken]]
 
Onderstaande tabel vergelijkt de kwaliteitskarakterstieken van enkele veelgebruikte vensters. De scallop loss verbetert naarmate men lager in de tabel afdaalt, net als het niveau van de hoogste zijlobe. De breedte van de hoofdlobe wordt dan weer slechter. Het flat top venster is een speciaal geval. Signalen waarin sinuscomponenten aanwezig zijn met sterk verschillende amplitude zullen beter bestudeerd worden met vensters die lager in de tabel staan, omdat zwakke componenten kans lopen in het spectrum te worden overstemd door de zijlobes van de sterkere componenten indien een venster van bovenaan de tabel gebruikt wordt. Die vensters zijn dan weer beter geschikt om frequenties nauwkeuriger te meten. In het algemeen is een Hanning -venster een goed compromis.
 
{| class="wikitable" width="40%"
Regel 184 ⟶ 181:
 
== Overlappende vensters ==
Indien een signaal te lang is om in één keer te worden behandeld kan men het opdelen en de stukken afzonderlijk bestuderen. Echter, de meeste vensters gaan aan de uiteinden naar nul. Om toch met alle informatie rekening te houden moeten de vensters daarom elkaar gedeeltelijk overlappen. Indien men bijvoorbeeld Hanning -vensters 50% laat overlappen wordt met elk detail in het signaal voor precies 100% rekening gehouden, verdeeld over twee aansluitende vensters.
 
Dit principe wordt toegepast in de zogenaamde [[Short Time Fourier Transformatie]], kortweg [[STFT]]. Door een venster in overlappende stapjes over een lang signaal te laten schuiven, en steeds een [[Fouriertransformatie]] te berekenen krijg men niet alleen informatie over de frequenties die in het signaal aanwezig zijn, maar ook hoe deze in de tijd doorheen het signaal evolueren. De nauwkeurigheden waarmee die gebeurt in tijd en frequentie zijn echter omgkeerd evenredig met elkaar. Een verbeterde nauwkeurigheid (''resolutie'') in de tijd betekent een verzwakte nauwkeurigheud in frequentie en omgkeerd.