|
|
Bestimmung der Grundschwingung aus einer Messreihe |
|
HAL-9000 |
Forum-Anfänger
|
|
Beiträge: 22
|
|
|
|
Anmeldedatum: 05.09.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.09.2013, 08:45
Titel: Bestimmung der Grundschwingung aus einer Messreihe
|
|
Guten Tag,
ich möchte aus einer Zeitreihe (Spannungsmessung mit fs=10kHz, Signalfrequenz ~50Hz) die Grundschwingung mit einer Auflösung von 0.05Hz zu bestimmen.
Mein Ansatz ist, das über die Maxima der FFT zu lösen.
Problem:
Die zu betrachtenden Intervalle sind nur 10 Perioden weit (0.2s). Woraus meines Wissens eine Frequenzauflösung von:
resultiert.
Bei vorgegebener Abtastrate und Zeitintervall wären demzufolge 2^18 Samples notwendig um diese Auflösung zu erreichen.
Ist dies mit Zero-Padding sinnvoll bzw. hat jemand vllt. einen anderen Ansatz wie ich die Aufgabenstellung angehen kann?
Gruß & Dank
Ich nutze Matlab 2011b ohne weitere Toolboxen
|
|
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 20.09.2013, 12:12
Titel: Re: Bestimmung der Grundschwingung aus einer Messreihe
|
|
Hallo HAL-9000,
Ich wage es kaum auszusprechen, weil es aus mathematischer Sicht natürlich eher Faustkeil als Holzhammer ist:
Wenn Du ein einigermaßen kleines Intervall hast, Du schreibst ja "~50 Hz" und das könnte z.B. "zwischen 40 und 60 Hz" heißen, kannst Du bei einer so groben Auflösung einfach durchprobieren: Fitte eine Sinus-Kurve dran und wähle die mit dem kleinsten Mean-Square-Error.
Allerdings muss dann auch hier Amplitude und Offset mit einer Parameterschätzung angepasst werden, so dass man auch gerade noch die Frequenz als Variable angeben kann. Ohne Toolboxen ist mir nicht klar, mit welcher Funktion man das hinbekommt.
Gruß, Jan
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 20.09.2013, 12:59
Titel:
|
|
Zitat: |
Ohne Toolboxen ist mir nicht klar, mit welcher Funktion man das hinbekommt. |
glaube man könnte das mit fminsearch fitten. ein beispiel zur parameter optimierung mittels fminsearch findet sich in der doc. kann natürlich auch sein das cih dich falsch verstanden hab
_________________
richtig Fragen
|
|
|
Napomleb |
Forum-Anfänger
|
|
Beiträge: 30
|
|
|
|
Anmeldedatum: 27.08.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.09.2013, 13:00
Titel:
|
|
Hallo,
nochmal zum Verständnis:
wenn du t = 0.2 s und fs = 10kHz hast, dann hast 2000 Samples in dem Intervall.
Da du aber auf 0.05 Hz genau messen möchtest bräuchtest du in dem 0.2s Intervall -> 200000 Samples (faktor 100 größer)
Kannst es ja einfach mal ausprobieren mit upsample?
Oder du kannst es sogar direkt bei der fft(sinus, 200000) deine gewünschte samplezahl angeben.
Zitat: |
fft(X,N) is the N-point fft, padded with zeros if X has less
than N points and truncated if it has more. |
Ich würds also versuchen im Frequenzbereich lösen, wobei ich keine Ahnung hab, welche Funktionen dir zur Verfügung stehen
Du musst aber auf jedenfall nach dem upsamplen noch Tiefpassfiltern (interpolieren), und halt Amplituden anpassen.
|
|
|
Bibonaut |
Forum-Fortgeschrittener
|
|
Beiträge: 60
|
|
|
|
Anmeldedatum: 06.06.13
|
|
|
|
Wohnort: Berlin
|
|
|
|
Version: 2013a
|
|
|
|
|
|
Verfasst am: 20.09.2013, 13:05
Titel:
|
|
Hallo HAL-9000,
ich musste mich auch mal mit der Bestimmung der Grundfrequenz auseinandersetzen, hatte aber nicht das Problem einer zu geringen Frequenzauflösung, weshalb ich die DFT benutzen konnte.
Aber: Ich bin dabei auch auf eine alternative gestoßen und zwar die Bestimmung der Grundfrequenz durch die Autokorrelation des Signals.
Hier ist eine Quelle, die ich dazu finden konnte:
http://www.phonetik.uni-muenchen.de.....ien_akustik_4_reichel.pdf
Ich kenne mich damit nicht gut aus und kann auch nichts zur Frequenzauflösung sagen. Habe das ganze mal ausprobiert:
In der Korrelation erkennt man wieder ein periodisches Signal und aus der Periodendauer bekommt man dann die Grundfrequenz.
Hab mal grob überschlagen: Der Abstand zwischen zwei Maxima war 204*1/fs = 0.0204 s. Die Grundfrequenz ist dann 49,0196 1/s.
Passt in diesem Beispiel alles nur ungefähr... soll auch nur als Anregung dienen Vielleicht klappt es ja
Beste Grüße
Alex
|
|
|
|
|
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 - 2024
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.
|
|