|
Kia |

Forum-Fortgeschrittener
|
 |
Beiträge: 89
|
 |
|
 |
Anmeldedatum: 02.09.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.06.2011, 22:05
Titel:
|
 |
Rechenleistungsprobleme habe ich (zur Zeit noch) nicht! ich mache quasi statische Analysen und muss nach jeder Messung das Spektrum berechnen.
naja der Grund meiner Frage nach Aufteilung in Abschnitten ist, weil ich gar keinen Unterschied im Spektrum feststellen kann, wenn ich einfach mein gesamtes Signal der Länge 2^14 vorher mit Fensterfunktion gewichte. Die beiden Spektren sind absolut identisch.
PS: sofern sich jemand für eigene Berechnung interessiert habe ich einen Messvektor hochgeladen
Beschreibung: |
|
 Download |
Dateiname: |
data.zip |
Dateigröße: |
123.22 KB |
Heruntergeladen: |
421 mal |
|
|
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 25.06.2011, 22:19
Titel:
|
 |
Du musst doch das Fenster (hier blackman) mit dem Zeitsignal multiplizieren
Deine Skalierung der y-Achse (also der Amplitude) ist auch nicht richtig, wenn du nur von 0 Hz...fa/2 das Spektrum darstellen willst.
Schau dir dazu mal dieses Beispiel an: http://www.gomatlab.de/fft-umfassendes-beispiel-t777.html
Für die richtige Skalierung des Fensters sollte du ebenfalls dieses Skript studieren.
|
|
|
Kia |

Forum-Fortgeschrittener
|
 |
Beiträge: 89
|
 |
|
 |
Anmeldedatum: 02.09.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.06.2011, 00:05
Titel:
|
 |
Vielen Dank DSP!
manchmal bin ich wirklich blind! Das Spektrum sieht mit der Fensterung "sauberer" aus!
und was die Amplitude des Spektrums angeht, habe ich einen Faktor 2 drin! weiss aber warum ich ihn damals eingegeben habe!
nun darf ich geschätze 300 Messungen samt Spektren laden, die Frequenzspektrum mit Fensterfunktion berechnen und wieder abspeichern.
|
|
|
djanski |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 03.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.06.2011, 08:45
Titel:
|
 |
|
 |
|
DSP hat Folgendes geschrieben: |
Ich habe vor lauter Wald die Bäume nicht gesehen...Sorry. Mir ist erst jetzt aufgefallen, dass tatsächlich dein Programm bei den beiden verschiedenen Sinussignalen eine Verschiebung bei dem gefensterten Signal anzeigt. Das liegt eindeutig an der Frequenzauflösung, die unterschiedlich ist. Um ein Signal mit nicht ganzen Perioden im Messfenster zu generieren, änderst du ja den Zeitvektor.
Dadurch wird der Vektor länger und es ergibt sich dadurch eine andere Auflösung. Bei Signal 1 ist die Auflösung 1Hz und bei Signal 2 unter 1Hz. Bei einem Sinus von 10 Hz als Testsignal, zeigt dir das Spektrum ohne Leakage natürlich bei 10 Hz eine Spektrallinie. Durch die andere Auflösung von 0.9434 Hz kann die Spektrallinie von Signal 2 eben nicht nicht dort liegen. Daher kommt die Verschiebung des gefensterten Signals. |
Hey DSP,
vielleicht hätte ich auch meine Frage konkreter formulieren sollen. Ausgangsbedingung sollte der zweite Zeitvektor sein
Die Frage die ich da dann hatte war, ob bei einer Abtastrate von 0,1Hz mir bei Fensterung des Signals trotzdem nur bei den 5 Hz eine Amplitude angezeigt wird oder ob der Leakage dazu führt, dass die Amplitude nicht mehr genau zugeordnet werden kann und ich halt um die 5 Hz herum mehrere Amplitude angezeigt bekomme, wobei bei 5 Hz das Maximum liegt.
Habe ich mich verständlich ausgedrückt? Wenn nicht bitte sagen. Dann versuch ich es noch mal .
@KIA
Wenn du die von mir gepostete Funktion benutzt kannst du dir den Freqeunzvektor gleich mit berechnen lassen und musst dir nicht selber darüber gedanken machen...wobei das natürlich nie schaden kann . Das einzige was du brauchst ist der äquidistante Zeitvektor und dein Datensatz.
MfG
djanski
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 26.06.2011, 11:18
Titel:
|
 |
|
 |
|
In diesem konkreten Beispiel kann doch gar kein Leakage auftreten.
5 Hz Sinus hat eine Periodendauer von 0.2s
Ich nehme mal eine Abtastfreq. fa von 100 Hz an -> Ta = 0.01s
Eine Periode des Signals mit Ta abgetastet besteht damit aus 20 diskreten Messwerten. Die "Abtastrate" eigtl. Freq.auflösung df des Spektrums (dein Begriff könnte auch mißverstanden bzw. mit Ta verwechselt werden) gibst du mit 0.1 Hz vor. Ich hatte ja bereits schon erwähnt, woraus sich df ergibt:
df = fa/N -> 0.1 Hz = 100 Hz/N -> N = 100 / 0.1 = 1000 Messwerte
Die 1000 Messwerte sind ein Vielfaches der 20 Messwerte einer Periode mit Ta abgetastet...nämlich 50. Somit enthält das Messfenster komplette 50 Perioden und es kann kein Leakage entstehen.
Das Verschmieren des Spektrums (=Leakage) entsteht doch dadurch, dass die Signalfreq kein Vielfaches der Freq.auflösung df ist. Bei deinem Bsp. ist der 5 Hz Sinus aber sehr wohl ein Vielfaches von df = 0.1 Hz. Du siehst an dem Rechenbsp. warum die Forderung nach vollen Perioden im Messfenster gestellt wird und mit df und der Signalfreq. zusammenhängt
Zuletzt bearbeitet von DSP am 26.06.2011, 11:49, insgesamt einmal bearbeitet
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 26.06.2011, 11:36
Titel:
|
 |
Kia hat Folgendes geschrieben: |
und was die Amplitude des Spektrums angeht, habe ich einen Faktor 2 drin! weiss aber warum ich ihn damals eingegeben habe!
|
Wenn du meinst...das macht es aber nicht richtiger Bei einer Darstellung von 0 Hz bis fa/2 Hz wird die Amplitude des Gleichanteils mit N skaliert...die folgenden Ampl. nur noch mit N/2
aus dem Skript:
und für das Fenster:
|
|
|
Kia |

Forum-Fortgeschrittener
|
 |
Beiträge: 89
|
 |
|
 |
Anmeldedatum: 02.09.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.06.2011, 12:18
Titel:
|
 |
Hallo nochmal
Die Sache mit dem Amplitudenkorrektur ist mir klar und habe auch den Code-Ausschnitt entsprechend verstanden und übernommen
Was die Skalierung der Amplitude angeht, muss ich mich korrigeren.
Die Amplituden sind bei mir und in diesem Beispiel identisch! und zwar wenn ich mein Faktor 2 weiterhin benutze! Und ich erinner mich dunkel daran warum ich damals das eingegeben habe. Wenn man nach der Transformation im Frequenzbereich nur die Werte bis N/2 nimmt, müssen diese, außer dem Gleichanteil F(0), alle mal 2 genommen werden und zwar wegen der Energie, die sich im positiven und im negativen
Freuquenzbereich aufteilt.
Der einzige Unterschied zwischen meinem Spektrum und dem des Beipiels liegt darin, dass beide Spektren um 1*df geshiftet zueinander stehen! Aber ich habe mich ja sehr stark an Matlabs eigenes Beispiel orientiert.
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 26.06.2011, 12:30
Titel:
|
 |
Das ist auch alles richtig beschrieben.
Aber bei deinem Bsp ist der Gleichanteil y1(1) ebenfalls mit 2 multipliziert
|
|
|
Kia |

Forum-Fortgeschrittener
|
 |
Beiträge: 89
|
 |
|
 |
Anmeldedatum: 02.09.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.06.2011, 16:55
Titel:
|
 |
Achso! alles klar jetzt habe ich es verstanden!
|
|
|
djanski |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 03.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.06.2011, 09:02
Titel:
|
 |
Oh Gott...wie es aussieht habe ich es wieder einmal komplizierter gemacht als es eigentlich ist bzw. beim Leakage noch was nicht ganz richtig verstanden. Dein Beispiel hat es (noch mal) serh schön verdeutlicht! Ich danke dir für deine Geduld beim erklären .
Jetzt sollte wirklich alles klar sein.
|
|
|
|
Gehe zu Seite Zurück 1, 2, 3
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|