INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Überlagerung von Spektren bilden != Mittelwert



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

05.02.2010, 08:51 (Dieser Beitrag wurde zuletzt bearbeitet: 05.02.2010 09:15 von kevlin.)
Beitrag #1

kevlin Offline
LVF-Grünschnabel
*


Beiträge: 32
Registriert seit: Oct 2009

8.2
2009
de

22081
Deutschland
Überlagerung von Spektren bilden != Mittelwert
Wie auch dem Screenshot zu sehen, bilde ich von einem Signal eine FFT.
Details:
fa (Abtastfrequenz): 20Hz
N (FFT-Länge): 2^13 Werte = 8192 = 8 Minuten Signal
Mein sich ergebendes Spektrum reicht daher (Shannon Theorem) bis 10Hz.

Nun zur Frage.

Dies FFT berechne ich für viele Signale, bekomme also ebensoviele Spektren heraus. Ich möchte diese Spektren nun "übereinander" legen und eine Art Mischspektrum erhalten. Dort wo viele Spektren deckungsgleich sind, soll sich auch mein Mischspektrum ergeben.
Ich glaube aber durch eine Mittelwertbildung komme ich da nciht so wirklich hin. Denn dabei wird ja automatisch mein Signal auch kleiner.

LV 8.2

   

Nachtrag: LV gibt als Betrag den Effektivwert aus, oder? (Steht zumindest so in der Hilfe, wenn ich's dort nicht falsch verstanden habe). Ich komme also auf den Scheitelwert (Amplitutenwerte) mit [ Effektivwert * Wurzel(2) ], richtig?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.02.2010, 09:26 (Dieser Beitrag wurde zuletzt bearbeitet: 05.02.2010 09:27 von dimitri84.)
Beitrag #2

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
Überlagerung von Spektren bilden != Mittelwert
' schrieb:Wie auch dem Screenshot zu sehen, bilde ich von einem Signal eine FFT.
Details:
fa (Abtastfrequenz): 20Hz
N (FFT-Länge): 2^13 Werte = 8192 = 8 Minuten Signal
Mein sich ergebendes Spektrum reicht daher (Shannon Theorem) bis 10Hz.
Dass, das FFT VI dir ein Spektrum bis 10Hz liefert ist zwar richtig aber das heißt noch lange nicht, dass das Theorem auch erfüllt ist und kein Aliasing auftritt. Dazu musst du schon dein Zeitsignal kennen bzw. dessen Zusammensetzung. Was ist das für ein Signal?

Zitat:Dies FFT berechne ich für viele Signale, bekomme also ebensoviele Spektren heraus. Ich möchte diese Spektren nun "übereinander" legen und eine Art Mischspektrum erhalten.
Sind die Spektrem alle gleich lang? (Wenn jaSmile Was spricht dagegen sie einfach aufzusummieren und durch die Anzahl zu teilen?

Zitat:Dort wo viele Spektren deckungsgleich sind, soll sich auch mein Mischspektrum ergeben.
Den Satz versteh' ich nicht. Meinst du, dass dort wo oft Peaks sind dann auch im gemittelten Spektrum die Peaks sein sollen?

Zitat:Ich glaube aber durch eine Mittelwertbildung komme ich da nciht so wirklich hin. Denn dabei wird ja automatisch mein Signal auch kleiner.
Das richtige Verfahren hängt vom Signal ab. Was stellt das Signal dar?

Zitat:Nachtrag: LV gibt als Betrag den Effektivwert aus, oder? (Steht zumindest so in der Hilfe, wenn ich's dort nicht falsch verstanden habe). Ich komme also auf den ursprünglichen Amplitutenwerte mit Ueff * Wurzel(2), richtig?
Da würde ich auch gerne eine Meinung zu hören. Mir fällt es schwer genau nachzuvollziehen wie die sich die konkreten Amplituden ergeben bei dem von dir verwendeten VI

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.02.2010, 09:50
Beitrag #3

kevlin Offline
LVF-Grünschnabel
*


Beiträge: 32
Registriert seit: Oct 2009

8.2
2009
de

22081
Deutschland
Überlagerung von Spektren bilden != Mittelwert
' schrieb:Dass, das FFT VI dir ein Spektrum bis 10Hz liefert ist zwar richtig aber das heißt noch lange nicht, dass das Theorem auch erfüllt ist und kein Aliasing auftritt. Dazu musst du schon dein Zeitsignal kennen bzw. dessen Zusammensetzung. Was ist das für ein Signal?
Das Signal ist die Messung der Netzfrequenz von 50Hz. Die Abtastwerte bewegen sich um den Wert von 50 herum. Abweichung max. +/- 0,15
Das Theorem ist verletzt. Ich könnte das Signal nicht wieder aus meinem Spektrum herstellen. Das mit dem Antialising habe ich noch nicht ganz verstanden.

Wikipedia sagt:
Zitat:Bei Verletzung des Abtasttheorems tritt eine Verfälschung des Originalsignals auf (Aliasing im Zeitbereich). Eine Möglichkeit des Anti-Aliasing ist die Bandbegrenzung des Signals am Eingang des Systems, um diesen Effekt zu vermeiden.
Wie sehe das praktisch aus?

' schrieb:Sind die Spektrem alle gleich lang? (Wenn jaSmile Was spricht dagegen sie einfach aufzusummieren und durch die Anzahl zu teilen?
Ja, alle Spektren sind 2^12 = 4096 Werte lang. Aufsummieren und duch die Anzahl teile wäre doch eine Mittelwertsbildung. Dann würden auch kleine Werte vergrößert werden. Ich hatte überlegt mit jeweil aus dem Betragarray nur die kleinsten Werte ausgeben zu lassen.

' schrieb:Den Satz versteh' ich nicht. Meinst du, dass dort wo oft Peaks sind dann auch im gemittelten Spektrum die Peaks sein sollen?
Das richtige Verfahren hängt vom Signal ab. Was stellt das Signal dar?
Siehe oben

' schrieb:Da würde ich auch gerne eine Meinung zu hören. Mir fällt es schwer genau nachzuvollziehen wie die sich die konkreten Amplituden ergeben bei dem von dir verwendeten VI
Habe jetzt weiter gemacht und die Beträge mit den Vorzeichen der Phasenwinkel multipliziert. Damit bekomme ich die große Amplitude (im Array an Index 0) weg. Die Vorzeichen existieren (außer im Index 0) immer.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.02.2010, 10:15 (Dieser Beitrag wurde zuletzt bearbeitet: 05.02.2010 10:15 von kevlin.)
Beitrag #4

kevlin Offline
LVF-Grünschnabel
*


Beiträge: 32
Registriert seit: Oct 2009

8.2
2009
de

22081
Deutschland
Überlagerung von Spektren bilden != Mittelwert
Nochmal ein Nachtag zur Verletzung des Theorems:

Ich weiß nicht welche Frequenzen im meinem Orginalsignal auftreten. Das Signal wurde mit 20Hz abgetastet und daß kann ich auch nicht verkleinern, ist denke ich auch nicht so schlimm.
Folglich kann ich nur auftretende Frequenzen bis 10Hz "detektieren". Das ist auch ok, denke mal, mich interessieren eh nur periodisch auftretende Schwankungen im Bereich von 0 - 3Hz.

Ist denn dadurch das Theorem verletzt? Ich will Frequenzen von max. 3Hz erhalten -> mindestens mit doppelter Frequenz (6Hz) abtasten. Ist geschehen (20Hz > 6Hz). Also muß ich mich um Aliasing doch gar nicht scheren, oder?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.02.2010, 10:20
Beitrag #5

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
Überlagerung von Spektren bilden != Mittelwert
' schrieb:Das Signal ist die Messung der Netzfrequenz von 50Hz. Das Theorem ist verletzt. Ich könnte das Signal nicht wieder aus meinem Spektrum herstellen. Das mit dem Antialising habe ich noch nicht ganz verstanden.
Wikipedia sagt:
Wie sehe das praktisch aus?
' schrieb:Bei http://www.dsptutor.freeuk.com/aliasing/AD102.html kannst Du Dir die Auswirkung des Aliasing-Effekts bei Unterabtastung anschauen. Bei Rücktransformation in den Zeitbereich werden einem (an Stelle der nicht erfassbaren viel zu hohen Frequenzen) ein hoher Anteil an niedrigen Signalfrequenzen vorgegaukelt.
Wenn man ein Signal erfasst, dessen Hauptfrequnezanteil bei 50Hz liegt, ist es also nicht schlau das Signal mit 20Hz abzutasten. Wusstest du ja schon vorher, hoffentlich.

Zitat:Die Abtastwerte bewegen sich um den Wert von 50 herum. Abweichung max. +/- 0,15
Versteh ich nicht. Abtastwerte des Zeitsignals = 50V? Oder Abtastwerte = Spektrum = 50Hz?

Zitat:Ja, alle Spektren sind 2^12 = 4096 Werte lang. Aufsummieren und duch die Anzahl teile wäre doch eine Mittelwertsbildung. Dann würden auch kleine Werte vergrößert werden. Ich hatte überlegt mit jeweil aus dem Betragarray nur die kleinsten Werte ausgeben zu lassen.
Versteh ich nicht. Du willst dir die Werte aus dem Spektrum aussuchen mit denen du weiterechnest und zwar anhand derer Amplitude?!

Zitat:Habe jetzt weiter gemacht und die Beträge mit den Vorzeichen der Phasenwinkel multipliziert. Damit bekomme ich die große Amplitude (im Array an Index 0) weg. Die Vorzeichen existieren (außer im Index 0) immer.
Diese Vorgehensweise ist mir unbekannt. Eine große Amplitude an Indexposition 0 hört sich für mich nach einem Offset an.

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.02.2010, 10:35 (Dieser Beitrag wurde zuletzt bearbeitet: 05.02.2010 10:40 von dimitri84.)
Beitrag #6

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
Überlagerung von Spektren bilden != Mittelwert
' schrieb:Nochmal ein Nachtag zur Verletzung des Theorems:

Ich weiß nicht welche Frequenzen im meinem Orginalsignal auftreten. Das Signal wurde mit 20Hz abgetastet und daß kann ich auch nicht verkleinern, ist denke ich auch nicht so schlimm.
Folglich kann ich nur auftretende Frequenzen bis 10Hz "detektieren". Das ist auch ok, denke mal, mich interessieren eh nur periodisch auftretende Schwankungen im Bereich von 0 - 3Hz.

Ist denn dadurch das Theorem verletzt? Ich will Frequenzen von max. 3Hz erhalten -> mindestens mit doppelter Frequenz (6Hz) abtasten. Ist geschehen (20Hz > 6Hz). Also muß ich mich um Aliasing doch gar nicht scheren, oder?
Was du anscheinend weißt, ist ja, dass in deinem Signal Frequenzkomponenten bis mind. 50Hz enthalten sind. D.h., wenn du so ein Signal mit 20 Hz abtastest (ohne vorher diese zu hohen Frequnezanteile herauszufiltern), ist das Kind bereits in den Brunnen gefallen. Wenn dich doch gerade der niederfrequente Anteil interessiert, sollte es dich sehr wohl stören, dass auf grund von Aliasing niederfrequente Anteile vorgegaukelt werden, die eben garnicht da sind.

Zitat:Folglich kann ich nur auftretende Frequenzen bis 10Hz "detektieren".
Folglich zeigt dir dein FFT.vi ein Spektrum bis 10Hz. Ob der Inhalt des Spektrums die Realität widerspielt ist zu bezweifeln.

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.02.2010, 11:10
Beitrag #7

kevlin Offline
LVF-Grünschnabel
*


Beiträge: 32
Registriert seit: Oct 2009

8.2
2009
de

22081
Deutschland
Überlagerung von Spektren bilden != Mittelwert
Hier ist es nun zu Verständnisproblemen gekommen. Ich versuche diese nun mal zu klären.

Es wurde eine Messung der Netzfrequenz vorgenommen. Die Polorität der Spannung im Energienetz wechselt bekanntermaßen mit 50Hz. Es wurde nun der tatsächliche Wert der Frequenz (die ist nicht immer genau 50Hz) mit einer Frequenz von 20Hz abgetastet.

Es ergibt sich also eine Meßwertreihe, die alle 50ms (20Hz) den derzeitigen Frequenzwert anzeigt. Dieser Wert pendelt natürlich um 50Hz herum (+/- max. 0,15, meist viel weniger). Aber fürs Verständnis ist die Tatsache, daß der Meßwert einen Frequenzwert darstellt unerheblich. Man könnte auch annehmen es sei z.B. Volt.

Nun will ich mit der FFT schauen, mit welchen Frequenzen, diese Abweichung um den Wert "50" herum schwingt.
Interessant sind aber nur Schwingungen bis zu einer Frequenz von 3Hz. Daher die Abtastung mit 20Hz.

Die FFT spukt ja nun ein Cluster (f0, df, Array mit den Effektivwerten der Beträge) aus. An stelle 0 dieses Betragarray erscheint immer der Wert "50". So eine Art Offset. Aber alle anderen Werte stellen nur die Abweichung von diesem Wert da. Ist das bei einer FFT eines Sinussignals mit Offset anders?

Ich habe daher die Phasen (zu den jeweiligen passenden Beträgen) genommen und deren Vorzeichen mit dem Betrag multipliziert um so den Offset zu entfernen. Siehe auch Screenshot. Keine gute Lösung?
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.02.2010, 11:31 (Dieser Beitrag wurde zuletzt bearbeitet: 05.02.2010 12:31 von dimitri84.)
Beitrag #8

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
Überlagerung von Spektren bilden != Mittelwert
Ach euer Signal ist bereits ein Frequenzverlauf? Ich bin von einem Spannungsisgnal ausgegangen.

Ich meld' mich nach der Mittagspause nochmal...

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.02.2010, 11:40
Beitrag #9

kevlin Offline
LVF-Grünschnabel
*


Beiträge: 32
Registriert seit: Oct 2009

8.2
2009
de

22081
Deutschland
Überlagerung von Spektren bilden != Mittelwert
' schrieb:Ach euer Signal ist bereits ein Frequnezverlauf? Ich bin von einem Spannungsisgnal ausgegangen.
Guten AppetitSmile

Nein, das Signal ist kein Frequenzverlauf. Es ist der Verlauf der Frequenz, der Netzfrequenz. Aber wie schon zuvor erwähnt. Am besten als Signal vorstellen, daß um den Wert 50 herum schwankt.

Ich habe nun einmal den "Offset" von 50 herausgenommen und mir das Spektrum erzeugt. Ist zwar nicht viel anders als mit meiner vorherigen Lösung, aber vielleicht sauberer.

Anbei das Signal
   
und das resultierende Spektrum.
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.02.2010, 12:27 (Dieser Beitrag wurde zuletzt bearbeitet: 05.02.2010 12:48 von dimitri84.)
Beitrag #10

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
Überlagerung von Spektren bilden != Mittelwert
' schrieb:Nein, das Signal ist kein Frequenzverlauf. Es ist der Verlauf der Frequenz, der Netzfrequenz.
Alles klar! Rofl2Hehe

Hier hab' ich erstmal ein (sub)VI zum Offset entfernen (war von Lucki, ich hab's nochmal polymorph gemacht für 1 und N Kanäle):
Lv85_img
Sonstige .vi  Offset_entfernen_polymorph.vi (Größe: 5,7 KB / Downloads: 234)


Dann ist das Thema mit dem Aliasing immer noch nicht durchTongue,denn da ist ein hochfrequentes Rauschen auf eurem Verlauf der Frequenz. Das ist sicher > 10Hz. Eigentlich musstet ihr vor der Abtastung mit 20Hz das Signal noch filtern um eben Aliasing zu verhindern. Entweder mit einem MovingAverage, was sich hier nicht eignet, da man nicht genau sagen kann, was man genau wegfiltert, oder mit einem geeignetetn Tiefpassfilter, was hier wohl das Richtige wäre. Da das aber rückwirkend nicht mehr geht, sollte ihr wenigstens jetzt vor der FFT Untersuchung das Rauschen beseitigen.

Desweiteren solltet ihr ruhig auch mal die Fensterfunktion vom FFT.vi nutzen um die Enden des Signals auf Null zu drücken. Warum das nötig ist hat Lucki im anderen Thread erklärt ...

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Messwerte Mittelwert bilden und in .lvw-Datei schreiben blidet 3 4.611 07.04.2016 16:21
Letzter Beitrag: GerdW
  Phasenspektrum - Überlagerung kadugo 3 3.422 12.11.2013 09:42
Letzter Beitrag: GerdW
  Mittelwert bilden und mit Zeit versehen Knarrre 1 4.172 17.01.2012 15:20
Letzter Beitrag: Knarrre
  Aus mehreren Messwerten den Mittelwert bilden Elliel 4 9.971 17.01.2012 09:21
Letzter Beitrag: gentos
  Summe aus Array-Werten bilden Topps 5 9.177 07.11.2011 19:40
Letzter Beitrag: Topps
  Mittelwert bilden aus Einzelwertmessung Benjamin84 4 9.321 21.06.2008 09:49
Letzter Beitrag: Benjamin84

Gehe zu: