Forum: Digitale Signalverarbeitung / DSP / Machine Learning Hauptkeulenbreite eines FFT signals


von Peterle A. (Firma: keine) (wanderameise)


Lesenswert?

Mal eine Verständnisfrage. Wenn ich ein periodisches Signal mittels 
Fensterfunktion in den Frequenzbereich transformiere, kann ich mir ganz 
einfach die Hauptkeulenbreite berechnen. Was nun wenn ich keine 
Fensterung anwende und zB so ein Signal habe:

http://i.imgur.com/nLWJ0.jpg

Wie sieht dann die Breite der Keule aus? Sind die Nullen ein Problem? 
Eigenltich sollten sie keine rolle spielen bei der Tranformation oder?

Kann mir jemand bei dieser Aufgabe weiterhelfen?

von Michael L. (Gast)


Lesenswert?

Peterle Anonym schrieb:
> Mal eine Verständnisfrage. Wenn ich ein periodisches Signal mittels
> Fensterfunktion in den Frequenzbereich transformiere, kann ich mir ganz
> einfach die Hauptkeulenbreite berechnen. Was nun wenn ich keine
> Fensterung anwende und zB so ein Signal habe:
>
> http://i.imgur.com/nLWJ0.jpg
>
> Wie sieht dann die Breite der Keule aus? Sind die Nullen ein Problem?
> Eigenltich sollten sie keine rolle spielen bei der Tranformation oder?
>
> Kann mir jemand bei dieser Aufgabe weiterhelfen?

Hallo Peterle,
Du hast ja noch nicht gesagt, welches Problem Du eigentlich lösen 
willst. Da kann ich nur raten, ob Dich die Nullen stören.

Die Nullen verändern Dein Signal, und daher definitiv auch das Spektrum 
(in der Regel sowohl das Amplitudenspektrum, als auch das 
Phasenspektrum). Der wesentliche Unterschied ist nicht der glatte 
"Null-Verlauf", sondern die Signalsprünge am jeweiligen Signalanfang 
bzw. -ende:
- ohne Nullen folgt auf das positive x(12) das negative Signal x(1). Das 
ist ein großer Sprung
- mit Nullen folgt auf das positive x(12) immerhin nur eine Null, also 
ein kleinerer Sprung. Du hast aber noch einen zusätzlichen Sprung von 
x(32) auf den negativen Wert. Die Sprünge sind kleiner, aber es sind 
mehrere da.

Ein geeignetes Stichwort für die weitere Recherche ist der Begriff 
"Leckeffekt" oder "leakage effect".

Bei der FFT sind eigentlich immer die Signalränder das Problem. In 
manchen Fällen hilft es weiter, wenn Du das Signal erst spiegelst und 
dann periodisch fortsetzt. Dann treten an den Signalrändern nur Knicke 
(d. h. Unstetigkeiten in der 1. Ableitung), aber keine Sprünge auf.

Gruß,
  Michael

von Randy (Gast)


Lesenswert?

> Was nun wenn ich keine
> Fensterung anwende und zB so ein Signal habe:

Du hast immer eine Fensterung. Im Zweifelsfall ein Rechteckfenster (d.h. 
überall =1). Hat eine sehr schmale Hauptkeule aber Nebenkeulen dass 
einem schlecht wird. Deswegen wurden andere Fenster überhaupt erst 
erfunden...

Randy

von Randy (Gast)


Lesenswert?

> Sind die Nullen ein Problem?

Was sollten die Nullen für ein Problem sein können? Wenn sie zu deinem 
Signal gehören, dann gehören sie dazu ;-)
Du kannst zusätzliche Nullen vor und nach dem Signal einfügen. Da die 
FFT so viele Frequenzpunkte hat wie das Zeitsignal Abtastpunkte bekommst 
du durch zusätzliche Nullen auch mehr Frequenzpunkte, d.h. die 
Frequenz-Bins werden schmäler. Mehr Information steckt in den 
zusätzlichen Bins nicht drin, durch die Nullen kommt ja keine 
Information dazu. Die Amplitudenwerte der zusätzlichen Frequenzpunkte 
durch die zusätzlichen Nullen könntest du dir auch ausrechnen wenn du 
die Frequenzbins der FFT des Signals ohne zusätzliche Nullen per 
sin(x)/x-Funktion zwischen den Bins interpolierst.

von Peterle A. (Firma: keine) (wanderameise)


Lesenswert?

danke erstmal für die erklärungen!


Also folgendes:

     1) Ich habe ein sinussignal und transformiere dies mittels FFT.
        Heraus bekomme ich einen Puls bei +/- f0 auf der Frequenzachse!
        Keine Haupt oder nebenkeulen, nur 2 peaks mit einer Amplitude A.

     2) Jetzt tansformiere ich nur EINE Periode eines Sinus. Was ja, wie
        Randy beschrieben hat, auch einer Fensterung mittels Rechteck
        entspricht, da ja alle Punkte mit 1 multipliziert werden. Was 
ist
        das Ergebnis dieser Transformation?

     3) Ich transformiere ein Signal, das wie im 1. post aussieht und 
nicht
        ganz einer Periode entspricht.

Von 1) bis 3) betrachtet, kann man sagen, das die Frequenzanteile bei 2) 
und 3) deutlich höher liegen als bei 1). Richtig?

Und was die Nullen angeht. Schaue ich mir die FFT oder DFT an, dann habe 
ich doch hier nur Summanden wo steht ...+ 0* e^(j*w*...) + 0* 
e^(j*w*...)+... oder nicht? wie bitte schön soll sich dies im 
Frequenzbereich bemerkbar machen? Verstehe da nicht ganz den 
Zusammenhang.

von Randy (Gast)


Lesenswert?

>      1) Ich habe ein sinussignal und transformiere dies mittels FFT.
>         Heraus bekomme ich einen Puls bei +/- f0 auf der Frequenzachse!
>         Keine Haupt oder nebenkeulen, nur 2 peaks mit einer Amplitude A.

Du bekommst nur dann keine Nebenkeulen wenn die Frequenz des Sinuns 
exakt auf einen Frequenz-Bin trifft, d.h. eine exakt ganzzahlige Anzahl 
Perioden des Sinus in den transformierten Zeitbereich fallen.
Merke: Das Ergebnis der FFT ist immer das was man erhält wenn man den 
transformierte Ausschnitt des Zeitsignals unendlich oft aneinander 
reiht. Inklusive Unstetigkeiten und Knicken die man an den 
"Klebestellen" am Anfang und am Ende erhält.

>     2) Jetzt tansformiere ich nur EINE Periode eines Sinus. Was ja, wie
>        Randy beschrieben hat, auch einer Fensterung mittels Rechteck
>        entspricht, da ja alle Punkte mit 1 multipliziert werden.

Bei Punkt 1 hast du auch schon ein Rechteckfenster, nur ist das von 
Punkt 2 schmäler, d.h. auch die Auswirkungen sind größer.
Hier passiert also nichts grundlegend neues. Die Periode passt exakt in 
den Ausschnitt im Zeitbereich -> keine Nebenkeulen sichtbar.


>     3) Ich transformiere ein Signal, das wie im 1. post aussieht und
>      nicht ganz einer Periode entspricht.

Bei Punkt 1 und 2 hast du zufällig(!) die Nebenkeulen nicht gesehen weil 
zufällig eine exakt ganzzahlige Anzahl Perioden in das Fenster gepasst 
haben (d.h. beim unendlichen aneinanderreihen des Ausschnitts gab es 
keine Sprünge an den Klebestellen). Bei Punkt 3 passiert also auch 
nichts neues, nur dass du hier die Nebenkeulen tatsächlich auch siehst. 
Da das für echte Signale der Normalfall ist benutzt man andere Fenster 
als das Rechteckfenster die eine breitere Hauptkeule haben (Nachteil) 
aber dafür wesentlich weniger Nebenkeulen (Vorteil).

HTH
Randy

von Randy (Gast)


Lesenswert?

> Und was die Nullen angeht. Schaue ich mir die FFT oder DFT an, dann habe
> ich doch hier nur Summanden wo steht ...+ 0* e^(j*w*...) + 0*
> e^(j*w*...)+... oder nicht? wie bitte schön soll sich dies im
> Frequenzbereich bemerkbar machen?

Wenn bei gleicher Abtastrate das Fenster breiter wird (zeitlich) 
verändern sich die e^(j*w*...)-Frequenzterme weil diese näher 
zusammenrücken (weniger Delta-f zwischen den Termen) so dass im 
mittleren Bereich in dem das Signal ungleich Null ist die e-hoch Terme 
andere sind.

von Peterle A. (Firma: keine) (wanderameise)


Lesenswert?

Randy schrieb:
>>     3) Ich transformiere ein Signal, das wie im 1. post aussieht und
>>      nicht ganz einer Periode entspricht.
>
> Bei Punkt 1 und 2 hast du zufällig(!) die Nebenkeulen nicht gesehen weil
> zufällig eine exakt ganzzahlige Anzahl Perioden in das Fenster gepasst
> haben (d.h. beim unendlichen aneinanderreihen des Ausschnitts gab es
> keine Sprünge an den Klebestellen). Bei Punkt 3 passiert also auch
> nichts neues, nur dass du hier die Nebenkeulen tatsächlich auch siehst.
> Da das für echte Signale der Normalfall ist benutzt man andere Fenster
> als das Rechteckfenster die eine breitere Hauptkeule haben (Nachteil)
> aber dafür wesentlich weniger Nebenkeulen (Vorteil).

woher weiss ich denn nun wie breit die hauptkeule ist? und um nochmal zu 
dem bild zu kommen, wie genau verändern denn angehängten nullen das 
transformierte Signal? wird es gestaucht?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.