|
Moonray |

Forum-Newbie
|
 |
Beiträge: 9
|
 |
|
 |
Anmeldedatum: 03.06.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.07.2008, 14:36
Titel: Differenzspektrum
|
 |
Hallo ihr Lieben.
Ich habe 2 Vektoren mit Messwerten. Leider sind diese unterschiedlich lang. Aus diesen beiden Messsignalen habe ich jeweils mittels fft ein Spektrum erzeugt.
Nun wollte ich die Messwerte beider Spektren voneinander abziehen um quasi die Differenz zu erhalten nur leider habe ich das Problem der unterschiedlichen Vektorlängen
Die Frequenzachse ist bei beiden sehr ähnlich bzw. gleich...das heißt der Ausschnitt der mich interressiert ist bei beiden Signalen von der Frequenzachse gleich. Der eine Vektor zeichnet sich lediglich durch eine höhere Auflösung (da mehr Messpunkte) aus.
Wie bekomm ich den einen Vektor auf den anderen runterskaliert um mit beiden zu rechnen (Subtraktion, Multiplikation etc.)? Kann mir da jemand passende Funktionen in Matlab vorschlagen?
Vielen vielen Dank im Voraus.
|
|
|
|
|
derOli |

Forum-Meister
|
 |
Beiträge: 579
|
 |
|
 |
Anmeldedatum: 19.03.08
|
 |
|
 |
Wohnort: Leipzig
|
 |
|
 |
Version: 2010a
|
 |
|
|
 |
|
Verfasst am: 25.07.2008, 22:06
Titel:
|
 |
|
 |
|
Hallo Moonray,
da ja der Frequenzbereich wichtig für dich ist könntest du einen Filter benutzen. Ich geh mal davon aus du möchtest tiefere Frequenzen vergleichen, dann solltest du einen Tiefpassfilter benutzen, das hätte den Vorteil, das du danach downsamplen kannst. Dh du kürzt zuerst. die hohen frequenzen und kannst dann nach dem Nyquist theorem downsampeln.
Eine andere Möglichkeit sollte es sein direkt im Frequenzbereich zu arbeiten. Dh du könntest auch einfach die höhere Auflösung des längeren Signals wieder verringern oder sogar interpolierend verringern.
Was auch gehen müsste ist zero padding zu benutzen, dann könntest du die gleiche N Punkt FFT für beide Signale benutzen. also zero padding heißt du packst einfach an das kürzere Signal nullen an, und benutzt dann die gleiche N Punkt FFT über beide Signale.
Hoffe das hilft dir,
Gruß,
der Oli
edit: der DC offset sollte eigentlich doch nicht entstehen d.h. zero padding ist wahrscheinlich perfekt für deine Anwendung
Zuletzt bearbeitet von derOli am 28.07.2008, 16:35, insgesamt 2-mal bearbeitet
|
|
|
Moonray |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 9
|
 |
|
 |
Anmeldedatum: 03.06.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.07.2008, 07:16
Titel:
|
 |
Vielen lieben Dank für die guten Ratschläge Oli.
Ich werd mich heut gleich mal ans Werk machen.
|
|
|
derOli |

Forum-Meister
|
 |
Beiträge: 579
|
 |
|
 |
Anmeldedatum: 19.03.08
|
 |
|
 |
Wohnort: Leipzig
|
 |
|
 |
Version: 2010a
|
 |
|
|
 |
|
Verfasst am: 28.07.2008, 10:23
Titel:
|
 |
Sag Bescheid was klappt oder was nicht.
|
|
|
Moonray |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 9
|
 |
|
 |
Anmeldedatum: 03.06.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.07.2008, 11:28
Titel:
|
 |
|
 |
|
Hi.
Also das mit dem Zeropadding hat super funktioniert. Einfach ein paar Nullen dran und FFT gebildet. Somit waren beide Spektrenvektoren gleichlang und ließen sich prima subtrahieren.
Es wäre ja auch schön wenn man mit dem Differenzspektrum weiterarbeiten könnte. Somit ist die Idee einfach den längeren Vektor zu kürzen auf jedenfall noch ein muss für mich. Leider habe ich es noch nicht so hinbekommen. Weiß auch nicht welche Funktion ich da nehmen muss zum Auflösung reduzieren.
Mein Versuch bestand aus beiden Vektoren Werte im bestimmten Abstand zu nehmen und somit 2 gleichlange zu schaffen. Allerdings ist dieser Ansatz nicht so gelungen, da der kürzere Vektor mit eh schon niedriger Auflösung und wichtigen Informationen ja an Inhalt verliert. Der Quotient aus der Länge von beiden Vektoren ist nämlich 1,6. Bzw. kann bei anderen Messungen auch variieren.
Das mit dem Filter ist nicht so passend da mich auch die hohen Frequenzen interessieren. Ich habe allerdings vor aus dem Differenzspektrum mal einen Filter zu basteln, welchen ich dann über unterschiedlich lange Spektren ziehe. Das soll bewirken, das störende Frequenzen verschwinden. Dieser "Filter" muss ja dann auch für unterschiedlich lange Spektren funktionieren, deswegen die Diskussion um Vektoren auf selbe Länge zu bringen.
Oder kennt nochjemand Hinweise zum Thema filter basteln mit Matlab?
Grüße
|
|
|
|
|
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.
|
|