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 

Signalmittelung im Zeitbereich



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.03.2013, 16:41
Beitrag #1

Alice_im_Labviewland Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Mar 2013

2012
2012
kA



Signalmittelung im Zeitbereich
Hallo zusammen,

bei folgendem Problem hoffe ich auf eure Unterstützung, da mir hier selbst (noch) die nötige Labview Erfahrung fehlt.

Ausgangslage ist der Signalverlauf (im Zeitbereich) einer Kreuzkorrelation, dessen Verlauf durch Signalmittelung aufbereitet werden soll. Dabei soll der Peak, welcher die Laufzeitdifferenz der beiden gemessenen Signale anzeigt, aus dem Signalgraphen "herausgearbeitet" werden (siehe Anhang).

Möglich ist das, laut Fachliteratur, mittels einer Signalmittelung im Zeitbereich. Dabei wird der kreuzkorrelierte Signalverlauf mehrere Male, also bspw. nach jedem Iterationsschritt oder Schleifendurchlauf (im Anhang 100-fach) addiert und im Anschluss wieder durch die Anzahl n dividiert.
Dadurch werden die unstetigen, verrauschten Signalanteile "ausgelöscht". Der konstante Korrelationspeak bleibt erhalten.

Nach ausgiebigen erfolglosen Recherchen wäre ich über jede Anregungen, was die Realisierung in Labview betrifft, dankbar.

Falls dieses oder ein ähnliches Thema schon einma behandelt worden sein sollte, wäre ich über einen Verweis dankbar.

Sollte es Unklarheiten zu dem beschriebenen Problem geben, bitte einfach melden!

Freundliche Grüße

Alice_im_Labviewland


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.03.2013, 16:45 (Dieser Beitrag wurde zuletzt bearbeitet: 05.03.2013 16:47 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Signalmittelung im Zeitbereich
Hallo Alice,

Zitat:Dabei wird der kreuzkorrelierte Signalverlauf mehrere Male, also bspw. nach jedem Iterationsschritt oder Schleifendurchlauf (im Anhang 100-fach) addiert und im Anschluss wieder durch die Anzahl n dividiert.
Und warum machst du das dann nicht einfach?
   
Zwei Dinge musst du beachten:
- Daten, die man in einer Schleife braucht, speichert man in einem Schieberegister.
- Dein Datenpaket "Array" sollte immer die gleiche Anzahl Werte enthalten, sonst gibt es Probleme beim Mitteln...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.03.2013, 17:35 (Dieser Beitrag wurde zuletzt bearbeitet: 06.03.2013 08:42 von Lucki.)
Beitrag #3

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Signalmittelung im Zeitbereich
Es handelt sich hier um eine Mittelwertbildung über mehrere gleichartige Versuchsreihen. Es bereitet mir Bauchschmerzen, wenn das von Dir als "Mitttelwertbildung über die Zeit" bezeichnet wird.
Mit N Versuchen erreicht man ein Verbesserung des Signal-Rausch-Verhältnisses (SRV) um SQRT(N) - vorausgesetzt das Rauschen ist zufällig und nicht mit dem Nutzsignal korreliert. Also bei 100 Mittelwerten wird das SRV um Faktor 10 verbessert.
Hier hast Du was zum Experimentieren:

11.0 .vi  Rauschen.vi (Größe: 27,22 KB / Downloads: 257)

   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.03.2013, 09:48
Beitrag #4

Alice_im_Labviewland Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Mar 2013

2012
2012
kA



RE: Signalmittelung im Zeitbereich
Hallo GerdW, Hallo Lucki,

vielen Dank für eure fachkundigen Antworten. Das Beispiel von Lucki trifft den „Nagel auf den Kopf“ und ist genau das, was ich suche. Habe das sofort in mein Programm eingebaut, es hat aber nicht den Effekt gebracht, den ich mir erwünscht hatte. Mach ich etwas falsch?

Die Signalgraphen mit/ohne Mittelung sind im Bild unten angehängt. Dabei verstehe ich zum einen nicht warum das gemittelte Signal nur noch die Hälfte des ungemittelten Signals anzeigt?

Dabei sieht auch das kreuzkorrelierte Signal sehr merkwürdig aus. Muss ich dort noch Parameter einfügen oder anders einstellen??

Vielen Dank für eure Infos, macht weiter so im Forum. Dies gibt viele Infos an neue LabView-Einsteiger und erleichtert das einsteigen in LabView.

Gruß Alice_im_Labviewland


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.03.2013, 09:54 (Dieser Beitrag wurde zuletzt bearbeitet: 06.03.2013 09:58 von GerdW.)
Beitrag #5

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Signalmittelung im Zeitbereich
Hallo Alice,

was genau macht dein VI da eigentlich???
- Deine FOR-Loop berechnet 100mal die Kreuzkorrelation der selben Signale und addiert das Ergenis auf. Wozu?
- Du berechnest außerhalb nochmal die Kreuzkorrelation der selben Signale. Insgesamt würde hier einmal rechnen ausreichen...
- Dann berechnest du den Mittelwert von 100 identischen Rechenergebnissen. Was soll das bringen?

Eigentlich willst du doch den Mittelwert von 100 gemessenen Signalen (d.h. 100 Aufrufen des DAQ-Assi) berechnen. Warum machst du das dann nicht?

Dein gemittelter Graph zeigt nur das halbe Korrelationssignal. Warum wohl? Wie hatte ich oben geschrieben:
Zitat:Dein Datenpaket "Array" sollte immer die gleiche Anzahl Werte enthalten, sonst gibt es Probleme beim Mitteln...
Also hat eines der beteiligten Arrays weniger Werte als die anderen, was zu den erwähnten Problemen führt. Sowas kann man übrigens beim Debugging mit Sonden leicht herausfinden. Tipp: Die Kreuzkorrelation erzeugt größere Datenmengen als die Ursprungsdaten. Es ist also nicht unbedingt sinnvoll, das Schieberegister mit einem Array mit "Anzahl Punkte" zu initialisieren...

Tipp:
- Man kann die Stopp-Bedingung der While-Loop invertieren (einfach drauf klicken). Dann braucht man keine extra Negation...
- THINK DATAFLOW Big Grin

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.03.2013, 12:02
Beitrag #6

Alice_im_Labviewland Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Mar 2013

2012
2012
kA



RE: Signalmittelung im Zeitbereich
Hallo GerdW,

danke für deine schnelle Antwort.

Ich hab deine Anregungen, soweit ich diese nachvollziehen konnte umgesetzt. Es ergibt sich jetzt meines Erachtens auch eine große Verbesserung des VI´s, die gewünschte Funktion scheint gegeben zu sein.

Meine Überlegung: Der DAQ-Assi sitzt nun in der For-Schleife. So sollte doch das Schieberegister nach jedem Iterationsschritt die aktuellen Daten des DAQ-Assis speichern. Im Anschluss gibt der Korrelationsgraph, wenn alle Iterationsschritte ausgeführt sind, einen Graphen aus. Im Bild unten hab ich den Graphen angehängt und das umgebaute Programm.

Setze ich nun die Iterationsschritte der For-Schleife hoch so ergibt sich, wie gewünscht, eine Verbesserung durch die Mittelung. Dabei ist mir aufgefallen das bei hohen Iterationsschritten der For-Schleife, also bei einer Mittelung > 10, die Darstellung des Korrelationsgraphen immer einige Zeit (meiner Meinung nach zu lange) braucht bis das Bild wieder wechselt. Liegt das nun an der verwendeten Messkarte (zu langsam?) die Zeit braucht, oder liegt das an der Rechenleistung des Programms/Computers?

Vielen Dank schonmal für die Rückantwort.

Gruß
Alice_im_Labviewland.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
06.03.2013, 12:42 (Dieser Beitrag wurde zuletzt bearbeitet: 06.03.2013 12:46 von GerdW.)
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Signalmittelung im Zeitbereich
Hallo Alice,

Zitat:Dabei ist mir aufgefallen das bei hohen Iterationsschritten der For-Schleife, also bei einer Mittelung > 10, die Darstellung des Korrelationsgraphen immer einige Zeit (meiner Meinung nach zu lange) braucht bis das Bild wieder wechselt.
Wenn ich die Bilder richtet deute, hast du im DAQ-Assi eine Messung konfiguriert, die ca. 0,25s benötigt. Wenn du die jetzt mehrfach (10fach, 100fach) durchführen lässt, benötigt die FOR-Loop natürlich entsprechend lange (2,5s oder gar 25s). Was hast du denn hier erwartet?
Die Rechenleistung dürfte jedenfalls kaum der limitierende Faktor sein...

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
  Zeitbereich "verlängern" mathlan86 5 4.667 07.10.2015 22:08
Letzter Beitrag: mathlan86
  Umwandlung in Zeitbereich mit IFFT Saffier 3 5.310 15.10.2013 09:02
Letzter Beitrag: Saffier
  Amplitudenmoduliertes-, Hüllkurvensignal darstellen im Frequenz- und Zeitbereich Lessy2205 4 6.859 18.10.2010 15:19
Letzter Beitrag: Lessy2205
  Signal im Zeitbereich darstellen, relative Zeit auf x-Achse kontinuierlich Malte84 2 7.649 18.05.2009 10:40
Letzter Beitrag: Malte84

Gehe zu: