|
|
Freq. von Sinus variiert, wie diese Änderungen feststellen? |
|
mhaeberer |
Forum-Newbie
|
|
Beiträge: 1
|
|
|
|
Anmeldedatum: 28.11.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.11.2012, 16:20
Titel: Freq. von Sinus variiert, wie diese Änderungen feststellen?
|
|
|
|
|
Hallo an alle MATLAB-User.
Ich habe ein kleine Untersuchung zu einem Sinussignal mit veränderlicher Frequenz.
Bsp. (Signal ist eine Zeile eines Kamerabildes, daher nenne ich einen Pixel hier einen 'Punkt').
Gegeben ist ein Sinussignal, welches durchschnittlich 60 Punkte für eine Schwingung benötig. Das ganze Signal ist z.B. 2000 Punkte lang, was ungefähr 33 Schwingungen ergibt.
Mir ist die Grundfrequenz (-> 60 Punkte) bekannt, ABER die Frequenz des Signal variiert leicht (+/- 0.09 bis 0.8 Punkte pro Schwingung , klassische Frequenzmodulation halt). Was ich jetzt messen möchte ist pro Punkt die Abweichung von der gegebenen Grundfrequenz (hoffe diese Erklärung ist hilfreich).
Folgende Ansätze habe ich bereits probiert:
1. ich scanne die 2000 Punkt mit eine Segment von z.B. 100 Punkten. Das Segment verschiebt sich pro Berechnung um einen Punkt (also 1:100 dann 2:101 etc.) Von diesem Signal berechne ich eine sehr genaue Chirp Z-Transformation und suche im Ergebniss das Maximum. Dies funktioniert sehr gut, ist jedoch unglaublich aufwendig = langsam.
2. Ich nutze das gleiche 'Segmentscanning' wie in 1. und versuche mit einem Fit dieses Segment einer Sinuskurve anzunähern (Parameter Frequenz und Phase). Dann lese ich daraus den Parameter Frequenz ab. Nachteil ist, das der Fit ebenfalls sehr langsam ist und durch die kurze Segmentgröße in einigen Bereichen nur schlechte Fitwerte ermittelt werden.
3. Durch das Forum habe ich eine selbstgeschriebene Matlabfunktion gefunden, welche Maxima und Minima feststellt (Peakdetect). Aus 2 Punkten (1x Max. 1xMin) lässt sich ein Sinus problemlos berechnen). Vorteil ist die Geschwindigkeit, Nachteil ist die Ungenauigkeit, die sich aus den ermittelten Werten ergeben.
Hat jemand schon mal ein ähnliches Problem bearbeitet und vielleicht einen guten und vor allem schnellen arbeitenden Ansatz gefunden?
Grüße,
Martin
PS. Pro Punkt-Abweichung bitte in Anführungszeichen sehen, dies ist eher als Abweichung von der Grundfrequenz in einen kleinen Bereich zu sehen.
|
|
|
|
|
|
|
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.
|
|