Histogramm
-
- Beiträge: 17
- Registriert: Freitag 19. März 2010, 12:36
Histogramm
Hallo, zunächst einmal meinen Dank an die Entwickler für dieses hervorragende Programm. Einfach zu bedienen und effektvoll in der Anwendung!
Meine Frage bzw. Anregung: Gibt es eine Funktion, die mir ein Histogramm der Amplitudenverteilung eines Eingangssignals darstellt, ähnlich wie es in L**V**W möglich ist? Oder hat mich meine Suchfuntion betrogen und soetwas is bereits direkt oder über Umwege vorganden. Konkret geht um die Amplitudenverteilung des Signals eines Szintillations-Gamma-Detektors, also um die Realisierung einer Gammaspektroskopie-Anwendung.
Beste Grüße...
Pedro
Meine Frage bzw. Anregung: Gibt es eine Funktion, die mir ein Histogramm der Amplitudenverteilung eines Eingangssignals darstellt, ähnlich wie es in L**V**W möglich ist? Oder hat mich meine Suchfuntion betrogen und soetwas is bereits direkt oder über Umwege vorganden. Konkret geht um die Amplitudenverteilung des Signals eines Szintillations-Gamma-Detektors, also um die Realisierung einer Gammaspektroskopie-Anwendung.
Beste Grüße...
Pedro
-
- Beiträge: 17
- Registriert: Freitag 19. März 2010, 12:36
Re: Histogramm
Hallo,
der X/Y Schreiber liefert mir einen Punkt für jede Paarung von Werten, beispielsweise für eine grafische Umsetzung von Spannung als X-Parameter und Druck als Y-Parameter. Soweit mein Verständnis. Ein Histogramm würde mir eine Darstellung liefern, in der die Verteilung oder besser Auftrittshäufigkeit einzelner Druckstufen angezeigt wird. Dazu soll der Y-Wert (Druck) innerhalb des Meßbereiches, sagen wir 0 bis 100 Bar, in bestimmte Intervalle (Klassen), von sagen wir jeweils 10 Bar Breite, unterteilt werden. Somit hätten wir Klassen von 0...10 Bar, 11... 20 Bar, 21... 30 Bar usw.
Das ist hier gut erklärt:
http://de.wikipedia.org/wiki/Histogramm
Wenn das mit einem X/Y Plot machbar ist, muss ich aber die Klassierung des Signals irgendwo vornehmen, und da bin ich nicht weitergekommen...+
Sorry, falls das etwas verwirrend ist...
Gruß Pedro
der X/Y Schreiber liefert mir einen Punkt für jede Paarung von Werten, beispielsweise für eine grafische Umsetzung von Spannung als X-Parameter und Druck als Y-Parameter. Soweit mein Verständnis. Ein Histogramm würde mir eine Darstellung liefern, in der die Verteilung oder besser Auftrittshäufigkeit einzelner Druckstufen angezeigt wird. Dazu soll der Y-Wert (Druck) innerhalb des Meßbereiches, sagen wir 0 bis 100 Bar, in bestimmte Intervalle (Klassen), von sagen wir jeweils 10 Bar Breite, unterteilt werden. Somit hätten wir Klassen von 0...10 Bar, 11... 20 Bar, 21... 30 Bar usw.
Das ist hier gut erklärt:
http://de.wikipedia.org/wiki/Histogramm
Wenn das mit einem X/Y Plot machbar ist, muss ich aber die Klassierung des Signals irgendwo vornehmen, und da bin ich nicht weitergekommen...+
Sorry, falls das etwas verwirrend ist...
Gruß Pedro
Re: Histogramm
Geht so wie im Beispiel im Moment nur über Exel. Du kannst deine Messwerte mit DDE exportieren nach EXEL und dort jedes beliebiges Diagramm auswählen. Einfach mal Beispiele ansehen.
Wenn man etwas Aufwand treibt, müsste es aber auch im X/Y oder Y/t Schreiber gehen.
Wenn man etwas Aufwand treibt, müsste es aber auch im X/Y oder Y/t Schreiber gehen.
stachlige Grüße, Kaktus
-
- Beiträge: 17
- Registriert: Freitag 19. März 2010, 12:36
Re: Histogramm
Hmmmm, das hatte ich erwartet, oder eigentlich nicht. Der Weg über Excel ist schon klar, ne native Lösung wäre mir aber lieber, weil das als Standalone Anwendung laufen soll, ohne den Office-Kram im Hintergrund.
Und eine Lösung "hinzufricklen" ist bei ner Klassenanzahl von > 100 wohl ziemlich aufwendig...
Na gut, vielleicht fällt mir was ein...
Beste Grüße
Pedro
Und eine Lösung "hinzufricklen" ist bei ner Klassenanzahl von > 100 wohl ziemlich aufwendig...
Na gut, vielleicht fällt mir was ein...
Beste Grüße
Pedro
Re: Histogramm
Idee für einen Ansatz:
Man nimmt als Speicher für die Werte einen Ram-Baustein. Den gerundeten und speziell skallierten Messwert nimmt man als Adresse der Ram-Zelle in der man dann zeitlich getacktet aufaddiert.
Vermutlich ist das Auslesen und Darstellen aufwändiger als das Sammeln der Messwerte.
2. Ansatz: eine DLL
3. Ansatz: Messwerte in einer Datei sammeln, im Hintergrund durch kleines Standaloneprogramm aus Messwertedatei eine Histogrammdatei erzeugen und diese mit PL wieder einlesen.
Mike
Man nimmt als Speicher für die Werte einen Ram-Baustein. Den gerundeten und speziell skallierten Messwert nimmt man als Adresse der Ram-Zelle in der man dann zeitlich getacktet aufaddiert.
Vermutlich ist das Auslesen und Darstellen aufwändiger als das Sammeln der Messwerte.
2. Ansatz: eine DLL
3. Ansatz: Messwerte in einer Datei sammeln, im Hintergrund durch kleines Standaloneprogramm aus Messwertedatei eine Histogrammdatei erzeugen und diese mit PL wieder einlesen.
Mike
-
- Beiträge: 17
- Registriert: Freitag 19. März 2010, 12:36
Re: Histogramm
Ja, das sind interessante Ansätze. Das mit dem RAM muss ich erstmal verstehen , Variante 2 und Variante 3 muss ich erstmal durchdenken.
Vielen dank erstmal für die Anregungen..
Pedro
Vielen dank erstmal für die Anregungen..
Pedro
Mike D hat geschrieben:Idee für einen Ansatz:
Man nimmt als Speicher für die Werte einen Ram-Baustein. Den gerundeten und speziell skallierten Messwert nimmt man als Adresse der Ram-Zelle in der man dann zeitlich getacktet aufaddiert.
Vermutlich ist das Auslesen und Darstellen aufwändiger als das Sammeln der Messwerte.
2. Ansatz: eine DLL
3. Ansatz: Messwerte in einer Datei sammeln, im Hintergrund durch kleines Standaloneprogramm aus Messwertedatei eine Histogrammdatei erzeugen und diese mit PL wieder einlesen.
Mike
Re: Histogramm
Hier ein kleines Testprojekt. Nichts Fertiges, nur zur Erläuterung meiner Idee.
Mike
Mike
- Dateianhänge
-
- histogramm_test_1.prj
- (3.17 KiB) 299-mal heruntergeladen
Zuletzt geändert von Mike D am Montag 22. März 2010, 18:32, insgesamt 1-mal geändert.
Re: Histogramm
noch ein paar kleine Hinweise zu histogramm_test_1:
1. der A/D-Wandler an den Adressleitungen des Ram bestimmt zusammen mit einem passend zum Messbereich eingestellten Vorverstärker die Anzahl der Klassen.
2. die beiden anderen A/D und D/A-Wandler mit dem Addierer bilden den Incrementierer der Klassen. Immer wenn eine fallende Flanke am R/W-Eingang des Ram kommt wird eine ausgewählte Klasse um 1 erhöht.
3. Der Vergleicher vor besagten R/W-Eingang in diesem Beispiel ist eine unglückliche Notlösung. Ich habe das so gemacht um Einspeichern und Auslesen der Werte ohne Multiplexer zu erreichen. Eigentlich müsste das incrementieren Zeit- oder Ereignisgesteuert erfolgen und das Auslesen der Kurve abwechselnd dazu mit eigener Steuerung. Dieses Beispiel soll aber so einfach wie möglich nur die Art der Speicherung des Histogramms im Ram zeigen.
4. soll das Histogramm relativ sein bräuchte man noch einen Messwertezähler und eine Formel/Berechnung der relativen Werte hinter dem Ausgang des Speichers und eine dynamische Skalierung der Y-Achse.
Viel Spaß beim weiteren Tüfteln
Mike D
1. der A/D-Wandler an den Adressleitungen des Ram bestimmt zusammen mit einem passend zum Messbereich eingestellten Vorverstärker die Anzahl der Klassen.
2. die beiden anderen A/D und D/A-Wandler mit dem Addierer bilden den Incrementierer der Klassen. Immer wenn eine fallende Flanke am R/W-Eingang des Ram kommt wird eine ausgewählte Klasse um 1 erhöht.
3. Der Vergleicher vor besagten R/W-Eingang in diesem Beispiel ist eine unglückliche Notlösung. Ich habe das so gemacht um Einspeichern und Auslesen der Werte ohne Multiplexer zu erreichen. Eigentlich müsste das incrementieren Zeit- oder Ereignisgesteuert erfolgen und das Auslesen der Kurve abwechselnd dazu mit eigener Steuerung. Dieses Beispiel soll aber so einfach wie möglich nur die Art der Speicherung des Histogramms im Ram zeigen.
4. soll das Histogramm relativ sein bräuchte man noch einen Messwertezähler und eine Formel/Berechnung der relativen Werte hinter dem Ausgang des Speichers und eine dynamische Skalierung der Y-Achse.
Viel Spaß beim weiteren Tüfteln
Mike D
-
- Beiträge: 17
- Registriert: Freitag 19. März 2010, 12:36
Re: Histogramm
Hallo, na das is ja ne Wucht. Nun muss ich das erstmal verdauen. Aber Deine Erklärungen haben meine nexten Fragen schon beantwortet.
Jetzt werd ich mal weiterdenken und vielleicht kommt ja das raus, was ich brauche. Vielen Dank erstmal, aber da kommen bestimmt noch weitere Fragen
Gruß Pedro
Jetzt werd ich mal weiterdenken und vielleicht kommt ja das raus, was ich brauche. Vielen Dank erstmal, aber da kommen bestimmt noch weitere Fragen
Gruß Pedro
-
- Beiträge: 17
- Registriert: Freitag 19. März 2010, 12:36
Re: Histogramm
So, ich habs mal weitergdacht. Ein Makros simuliert meine Eingangsimpulse mit zufälligen Pulsfolgezeiten und zufälligen Impulshöhen. Zusätzlich kann man mit einem Schieberegler die Baseline verändern, ab der die Schaltung Impulse registriert. Damit kann man überprüfen, inwieweit das Histogramm auf den Wegfall der niedrigen Pegelwerte reagiert.
Die Histogrammerstellung basiert auf der Idee von Mike mit einigen Erweiterungen. Als Anzeige wurde jedoch ein X/Y-Schreiber anstelle des Stiftplotters genommen. Damit funktioniert das eigentlich so, wie ich mir das vorstelle.
Da der A/D-Wandler im Vorliegend Fall nur 255 Schritte auflöst, wurde ein Reset eingefügt, der nach 255 Messungen das RAM mit Nullen füllt und eine neue Darstellung startet. Da ist mir nix besseres eingefallen. Kann man das RAM resetten ohne die Verbiegung, die ich gemacht habe?
Grüße Pedro
Die Histogrammerstellung basiert auf der Idee von Mike mit einigen Erweiterungen. Als Anzeige wurde jedoch ein X/Y-Schreiber anstelle des Stiftplotters genommen. Damit funktioniert das eigentlich so, wie ich mir das vorstelle.
Da der A/D-Wandler im Vorliegend Fall nur 255 Schritte auflöst, wurde ein Reset eingefügt, der nach 255 Messungen das RAM mit Nullen füllt und eine neue Darstellung startet. Da ist mir nix besseres eingefallen. Kann man das RAM resetten ohne die Verbiegung, die ich gemacht habe?
Grüße Pedro
- Dateianhänge
-
- histogramm-sim.prj
- Histogramm nach der Idee von Mike.
Erweiter mit Simulation der Messdaten. - (7.59 KiB) 254-mal heruntergeladen
-
- Beiträge: 17
- Registriert: Freitag 19. März 2010, 12:36
Re: Histogramm
So ähnlich war mein erster Ansatz. Nur scheint mir diese Variante bei hohen Klassenzahlen unübersichtlich zu werden.
Gruß
Pedro
Gruß
Pedro
Re: Histogramm
fur mehr als 255 counts brauchst du nur die A/D D/A-Wandler auf 16bit bringen und ein 2. Ram parallel schalten. kein großer Aufwand.
Mike
Mike
-
- Beiträge: 17
- Registriert: Freitag 19. März 2010, 12:36
Re: Histogramm
Jo, schon klar, mein Einwand bezog sich auf das "histo.prj" von gestern...
Pedro
Pedro