Ich habe mich bereits etwas über Peak-Detektoren schlau gemacht und habe
nun folgendes Problem:
Ein Peak-Detektor "speichert" ja das die höchste Spannung die am Eingang
anlag, nun ist es ja so, das der Peak-Detektor Ausgang quais der
Eingangspannung folgt, solange diese steigt, fältt sie, bleibt der
Ausgang auf der höchsten Spannung.
Man stelle sich nun vor, der Peak-Detektor soll eingesetzt werden um
jeweils Pulsspitzen zu messen (mit einem ADC) und danach per Reset
wieder auf 0 gesetzt werden.
Nun hat man das Problem, das es eine zweite Schaltung braucht, welche
überhaupt erst feststellt, das gerade eine Spitze war, und das per
digitalem Signal ausgibt, damit der ADC überhaupt weiss (bzw. der
nachfolgende Controller), das er jetzt messen und reseten muss
Gibt es solch eine Schaltung? Und wenn ja, wie wird diese gebaut?
Simonium schrieb:> Nun hat man das Problem, das es eine zweite Schaltung braucht, welche> überhaupt erst feststellt, das gerade eine Spitze war, und das per> digitalem Signal ausgibt, damit der ADC überhaupt weiss (bzw. der> nachfolgende Controller), das er jetzt messen und reseten muss
Nö.
Hat man eigentlich nicht.
Man lässt den uC dauernd messen und setzt jedeils danach zurück.
So braucht die Analogschaltung nur den peak zwischen 2 Messungen
ermitteln.
Den peak insgesamt bestimmt der uC.
Du lässt ja nichts über den Frequenzbereich deiner Überlegungen
verlauten. Wenn aber sowieso ein ADC und Digitaltechnik eingesetzt
werden, ginge es leicht nachvollziehbar und ohne zu resettendem
Peak-Speicherkondensator auch so:
- ADC macht so oft wie nötig Messungen.
- µC vergleicht jeden neuen Messwert mit vorigem ("altem") Messwert.
- neu < alt: alt = positive Spitze
- neu > alt: alt = negative Spitze
Ne, ohne Reset geht das glaube ich nicht. Denn was hat man für
Information mit einem neuen Samplewert gewonnen wenn man gar nicht weiß
ob ein neuer Peak da war oder nicht?
Stell dir vor da ist ein Peak. Die Spannung wird schön abgestastet. Dann
wird ein weiteres Sample gemacht und die Spannung ist in etwas gleich
hoch. War das jetzt ein neuer Peak der gezählt werden soll oder stammt
das noch vom alten Peak und ist nur durch das Rauschen etwas
unterschiedlich?
Ich würde mit einem Komparator zusätzlich erkennen ob es ein Peak ist
oder nicht.
Ja, das stimmt. Aber das kann man nur dann sehen, wenn man mehrere
Abtastwerte je Peak hat. Und das ist hier wohl eher nicht der Fall.
Hier geht es (so habe ich das verstanden) darum langsam abzutasten.
Kommt ein Peak, wird die Spitzenspannung festgehalten, dann wird einmal
abgetastet. Dann kommt irgendwann der nächste Peak und es wird erneut
einmal abgetastet. Wenn man das so macht ist ein Reset nötig. Ich denke
genau das meint der Threadersteller.
Klar geht das analog. Aber nicht digital wenn man nur selten abtastet.
Daher hatte ich ja den Komparator vorgeschlagen. Das ist eine sehr
einfache Lösung wenn die Spannung zwischen den Peaks wieder unter eine
Schwelle drunter abfällt. Dann hat man damit zwar nicht den Zeitpunkt
der Peakspitze, aber das Ende des Peaks. Kann einmal die gehaltene
Spannung abtasten und danach resetten.
Gustl B. schrieb:> Ja, das stimmt. Aber das kann man nur dann sehen, wenn man mehrere> Abtastwerte je Peak hat. Und das ist hier wohl eher nicht der Fall.
"Differenzieren" heißt das Zauberwort
Ja ich weiß, das geht aber digital nur wenn man vom Peak mehrere viele
Abtastwerte hat oder man macht das analog.
Analog wäre je nach Peaktyp und so was wir ja noch nicht wissen ein
Komparator einfacher.
Ich habe hier auch Pulse, die haben immer die gleiche Polarität und
dazwischen ist immer Pause. Da bietet sich der Komparator an. Wenn man
die Peakspitze oder dessen Zeitpunkt finden will ist der Komparator
unpassend.
Also nein, kein Reset im klassischen Sinne nötig,
nur ausreichend variablen um die logische Nachvollziehbarkeit zu
gewährleisten..
UNd ja das geht besser als mit dem Code daoben, aber auf die Schnelle
sollte das so in etwa hinkommen
Klar, so kann man das machen, aber das geht nur wenn du genug
Samplewerte vom Peak hast. Wenn dein Peak als Beispiel 1 us lang ist, du
aber nur mit 100 kHz abtasten kannst, dann bringt dir das in Software
nichts.
Da bräuchte man eine Analoge Schaltung die immer sagt wann ein Peak war.
Dann wird die gehaltene Spitzenspannung abgetastet und zurückgesetzt.
Das was du geschrieben hast funktioniert aber wunderbar wenn man schnell
abtastet. Das mache ich bei meinen Peaks. Aber der Theadersteller will
glaube ich etwas anderes.
Gustl B. schrieb:> Ja ich weiß, das geht aber digital nur wenn man vom Peak mehrere viele> Abtastwerte hat oder man macht das analog.
Du suchst keinen analog arbeitenden Detektor?
Gustl B. schrieb:> Da bräuchte man eine Analoge Schaltung die immer sagt wann ein Peak war.> Dann wird die gehaltene Spitzenspannung abgetastet und zurückgesetzt.>> Das was du geschrieben hast funktioniert aber wunderbar wenn man schnell> abtastet. Das mache ich bei meinen Peaks. Aber der Theadersteller will> glaube ich etwas anderes.
ehrlich gesagt fand ich die Fragestellung des TE etwas schwammig,
selbst für meine Verhältnisse.
Aber klar wenn die Abtastrate nicht stimmt, dann hat man im Zweifel was
verpasst.
trifft aber auch auf analogen VU Meter zu..
ist der peak zu klein für die Spulensättigung passiert nix,
ist der peak zu kurz für vollständige Sättigung verpasst man auch was..
Für alles eigentlich..
alles was zu klein oder zu kurz ist um gemessen zu werden
verbleibt eben unbeobachtet ;)
Deswegen ging ich davon aus, dass alles was TO wissen will
er auch detektieren kann, der einfachheit halber.
Aporpos VU Meter
svedisk ficklampa schrieb im Beitrag #6077565:
> Jedes VU-Meter einer alten Tapemaschine hat einen gut> funktionierenden Peakdetektor. Seltsamerweise kommt der> ohne Reset aus.
lustigerweise kommen die nämlich nicht wirklich ohne reset aus..
die nutzen ein timed reset in analogen
und manchmal ein time decay in digitalen VU Metern.
ein ähnliches Konzept ist sicher auch hier machbar.. sollte es um
"kurze"
Abtastraten gehen, kann man bei erkanntem peak einen timer starten,
der dann entweder den peak wert verfallen lässt (time decay) oder ihn
löscht (timed reset)
dazu muss man aber genauer wissen was zu erwarten ist und was man damit
machen will, sonst ist der timer schlicht ungenügend
(zu lang oder zu kurz, zu kleiner oder zu grosser Verfall)
Gustl B. schrieb:> Wenn dein Peak als Beispiel 1 us lang ist, du aber nur mit 100 kHz> abtasten kannst, dann bringt dir das in Software nichts.>> Da bräuchte man eine Analoge Schaltung
So ist es.
Und dazu ist es jetzt wichtig, zu definieren, was überhaupt ein "Peak"
ist. Ist ein Peak einfach nur das Überschreiten einer festen Schwelle
von z.B. 3V? Oder können sich z.B. auf der steigenden Rampe eines
Sägezahns mit 1kHz und 4V Amplitude viele 1µs "Peaks" mit jeweils 1V
sitzen, so dass der "kleinste Peak" nur 1V hat und der "größte Peak"
aber 5V und auf der Rampe damit 1000 Peaks pro Sägezahn-Zyklus kommen?
Oder kann erst ein "Peak" mit 4V kommen, dann die Spannung auf 1V sinken
und dann 10us später ein "Peak" mit 2V? Oder ist das zweite dann kein
relevanter Peak, und nur einer mit 5V wäre beachtenswert?
Dann ist es noch interessant, wie oft so ein "Peak" kommt. Und welche
der ankommenden "Peaks" erkannt werden müssen...
Wenn man das weiß, kann man sich Gedanken um einen analogen
Spitzenwertspeicher mit passendem Decay machen.
Simonium schrieb:> Ich habe mich bereits etwas über Peak-Detektoren schlau gemacht und habe> nun folgendes Problem:
Dann hast du nicht gründlich genug gelesen. Den "Rosenfell"-Detektor
gibt es mittlerweile seit über 40 Jahren. Im Prinzip ist das einfach nur
eine zum Eingangs-Kurvenverlauf mitlaufende Hysterese in dem
nachfolgenden Komparator.
W.S.
my2ct schrieb:> Du suchst keinen analog arbeitenden Detektor?
Ich sowieso nicht.
sid schrieb:> ehrlich gesagt fand ich die Fragestellung des TE etwas schwammig,> selbst für meine Verhältnisse.
Sehe ich ganz genau so. Im einfachsten Fall reicht ein Komparator. Kommt
aber eben auf die Impulse an und was dazwischen stattfindet.
Lothar M. schrieb:> Wenn man das weiß, kann man sich Gedanken um einen analogen> Spitzenwertspeicher mit passendem Decay machen.
Mal gucken, vielleicht meldet er sich ja nochmal in diesem Thread und
hat Details im Gepäck.
Es gab mal Akku-Lade-ICs die den leichten Spannungsabfall am Ende des
Ladevorgangs von NiCd auswerteten und als Abschaltkriterium benutzten.
Für NiMH war der Peak viel kleiner, da hat es nicht mehr richtig
funktioniert. Das ging mit einem Kondensator, der die Spitzenspannung
noch eine Weile behielt, während die aktuelle Spannung am Komparator
abfiel - eine rein analoge Methode.
Simonium schrieb:> Nun hat man das Problem, das es eine zweite Schaltung braucht, welche> überhaupt erst feststellt, das gerade eine Spitze war, und das per> digitalem Signal ausgibt
Dieses "Problem" hat man nur, wenn man sein Programm irgendwie komplett
über Interrupts oder Events steuert. Dann braucht man tatsächlich die
Qualität "war da ein Peak?" und zusätzlich die Quantität "wie hoch war
der Peak?".
Wenn laufend abgetastet wird, kann man das Erstere ganz einfach mit
Software lösen. Man braucht also nur noch einen Spitzenwertspeicher, der
den Peak so lange speichert, dass die folgende AD-Wandlung noch
"ziemlich gut" den originalen "Spitzenpegel" erfassen kann.
Dafür reicht im einfachsten Fall eine Diode (oder ein idealer
https://de.wikipedia.org/wiki/Präzisionsgleichrichter), ein Kondensator
und ein Entladewiderstand. Der Kondensator speichert den Spitzenwert,
und der Widerstand bestimmt dann, wie schnell der im Kondensator
gespeicherte Spitzenwert entladen wird und "verloren" geht.
Das ist im Prinzip wie beim Briefkasten: man könnte einen Briefdetektor
einbauen, der dir Bescheid gibt, wenn jemand was einwirft. Oder man
schaut einfach zeitgesteuert jeden Tag mal rein. Das Zweite ist
einfacher "zum Laufen" zu bekommen... ;-)
Lothar M. schrieb:> Wenn laufend abgetastet wird, kann man das Erstere ganz einfach mit> Software lösen.
Ja, aber wie schon mehrmals darauf hingewiesen geht das nur wenn man im
Vergleich zur Peakhäufigkeit sehr oft abtastet.
Gustl B. schrieb:> Stell dir vor da ist ein Peak. Die Spannung wird schön abgestastet. Dann> wird ein weiteres Sample gemacht und die Spannung ist in etwas gleich> hoch. War das jetzt ein neuer Peak der gezählt werden soll oder stammt> das noch vom alten Peak und ist nur durch das Rauschen etwas> unterschiedlich?
Edit:
Das ist ein sinnvoller Vorschlag von dir, aber solange wir hier nicht
mehr wissen ist das nur ein Blick in die Glas^^ Kristallkugel.
Vielen Dank für die Antworten, ich versuchs nochmal besser zu erklären.
Meine Pulse sind relativ schnell ansteigen und fallen dann langsam ab,
die Pulse treten unregelmässig auf und sind auch in ihrer grösse sehr
unterschiedlich
nehmen wir mal folgende 3 pulse in der genannten Reihenfolge
1.) 250mV
2.) 10mV
3.) 50mV
gehen wir davon aus das die Schaltung gestartet wurde und noch kein Puls
entstanden ist, so ist:
Vout = Vin (0V)
Puls 1 beginnt, und somit steigt die Spannung. Nun haben wir folgende
Situation:
Vout = Vin (x% von Puls)
Sobald der Maximalwert des Pulses erreicht wurde, fällt dieser wieder
ab, nun gilt:
Vout = max Vin (Peakwert)
In exakt diesem Moment, muss der ADC vom MCU ausgewertet werden, um den
Peak von Puls 1 zu erfassen, und den Peak-Detektor zu nullen, damit
dieser wieder bereit ist, den nächsten, bedeutend kleineren Puls 2 von
10mV zu erfassen. Würde man dauernd messen, müsste man ja eine art
Timer bauen, der prüft ob der Peak noch ansteigt, und wenn nicht, nullt.
Da die Pulse relativ kurzlebig sind und der MCU nicht besonders schnell
ist, ist das unmöglich. Auch zum "Dauersamplen" ist ein extrem schneller
ADC nötig. Wird der Puls gespeichert kann ein bedeutend langsamerer ADC
benutzt werden.
Ein Puls dauert ca. 160ns
Ich habe irgendwo mal eine Schaltung gesehen, die bei Sinuswellen
jeweils auf dem Maximalwert der Amplitude einen digitalen Puls absetzt.
Sowas suche ich, in Verbindung zu einem Peak-Detektor
Christoph db1uq K. schrieb:> Bei Szintillationsdetektoren hat man genau die Aufgabe, die Impulshöhe> zu erfassen.
Und wie macht er das?
Simonium schrieb:> Auch zum "Dauersamplen" ist ein extrem schneller> ADC nötig.
Das mache ich hier, allerdings nicht mit den kurzen Pulsen, sondern mit
den deutlich längeren exponentiell abfallenden.
Aber wenn die Pulse wirklich meist einzeln sind und dazwischen die
Spannung wieder auf eine Nulllinie heruntergeht, dann könnte man einen
Komparator verwenden. Der liefert dann ein binäres Signal ob Puls oder
nicht.
@Simonium:
Wie viele Impulse hast du je Sekunde und geht die Spannung zwischen den
Pulsen wieder auf eine Nulllinie zurück?
Es geht um einen Art PMT, aber hald eine SiPM.
Zu erkennen das wieder null bzw. nahe null ist, wäre sogar noch ein
idealer Zusatz, da es sonst sein kann, das im abfallenden Puls bereits
der nächste gibt.
Die Pulse befinden sich im bereich von 40/s bis zu 500'000/s. Bei der
hohen Pulsrate dürfen selbstverständlich auch einige verloren gehen
160ns ist kürzer als mein PMT mit etwa 3µs, da ist die Gefahr von
Überschneidungen geringer. Zu dem Thema gibt es einen Text im DSP-Guide:
http://www.dspguide.com/ch17/2.htm
um Figure 14-4 herum. Verloren gehen ist weniger störend als die
Überlagerung, da die zu falschen Messpunkten im Gammaspektrum führt.
>Und wie macht er das?
weiß ich auch nicht, entweder hat man einen ADC der noch schneller ist,
oder ein analoger Peakdetektor triggert ein Sample¬Hold, das der ADC
dann etwas gemütlicher auslesen kann.
Ich habe nun mal ein bisschen Rumgespielt und habe folgende Lösung
erstellt. Was haltet ihr davon? Funktioniert das in der Realität?
Kann mir jemand sagen wie man diese Wellen vom Sample and Hold Signal
entfernt?
Christoph db1uq K. schrieb:> 160ns ist kürzer als mein PMT mit etwa 3µs
PMTs haben oft einen Ausgang für diese sehr kurzen Impulse und einen
zweiten Ausgang für deutlich langsamere exponentiell abfallende Pulse.
Ich verwende hier auch nur die langsameren. Wobei die Energieauflösung
bei der PMT sowieso deutlich geringer ist als bei einem z. B.
Germaniumdetektor für Gammas. Hier reichen uns für die PMT Signale 6
oder 7 Bits. Und da gibt es auch günstig schnelle ADCs die mit 8 Bit die
schnellen Peaks abtasten könnten.
Könnte man dafür nicht einfach ein Oszi verwenden? Da kann man bei
neueren Modellen echt viele Triggerbedingungen einstellen.
Ich habe das mal mit einem Agilent DSOX2000A versucht, aber da war die
Datenübertragung zum PC (nach Labview über USB 2.0) sehr langsam. Zu
langsam. Das konnte dann nur so <10 Triggerereignisse/s. Eine andere
Überlegung wäre ein Picoscope. Natürlich könnte ich jetzt Zeit in ein
ordentliches Labview-Programm versenken und das noch irgendwie
optimieren, aber vorher würde ich gerne wissen ob das überhaupt geht und
wenn ja mit welchem Modell.
Also ... geht das was der Theadersteller haben will mit einem aktuellen
Einsteigeroszi und einer Software am PC? Es muss ja nicht der ganze
Signalverlauf jedesmal zum PC übertragen werden, sondern es reicht das
Maximum. Das rechnen modernere Oszis sowieso aus. Und das eben für 500k
Trigger/s.
Edit:
Simonium schrieb:> Ich habe nun mal ein bisschen Rumgespielt und habe folgende Lösung> erstellt. Was haltet ihr davon? Funktioniert das in der Realität?>> Kann mir jemand sagen wie man diese Wellen vom Sample and Hold Signal> entfernt?
Genau so hätte ich das gebaut mit Komparator und fester Schwelle. Ob das
funktioniert weiß ich aber nicht. Wobei ... wir haben alte Fertiggeräte
aus den 90ern die zu jedem Impuls einen und nur einen Wert ausgeben. Da
stellt man auch eine Schwelle ein ab der etwas als Impuls erkannt werden
soll.
Gustl B. schrieb:> Hier reichen uns für die PMT Signale 6> oder 7 Bits. Und da gibt es auch günstig schnelle ADCs die mit 8 Bit die> schnellen Peaks abtasten könnten.
Ich denke nicht das 8bit für PMT's reichen. Wenn man von einem normalen
Energiebereich ausgeht, wären das 3000keV/255Werte. Mit 10bit fährt man
vermutlich deutlich besser. Selbst die alten Spektrometriekarten für
ISA-PCs haten 2048-8192 channels.
> Simonium schrieb:>> Ich habe nun mal ein bisschen Rumgespielt und habe folgende Lösung>> erstellt. Was haltet ihr davon? Funktioniert das in der Realität?>>>> Kann mir jemand sagen wie man diese Wellen vom Sample and Hold Signal>> entfernt?>> Genau so hätte ich das gebaut mit Komparator und fester Schwelle. Ob das> funktioniert weiß ich aber nicht. Wobei ... wir haben alte Fertiggeräte> aus den 90ern die zu jedem Impuls einen und nur einen Wert ausgeben. Da> stellt man auch eine Schwelle ein ab der etwas als Impuls erkannt werden> soll.
Ich glaube das ist ein SCA, bzw. Diskriminatormodul
Was verwendest du als Szintillator? Hier wird ein Gel verwendet. Damit
wird die Probe vermischt und das kommt in eine Quarzkuvette. Diese liegt
dann auf der PMT. Also die Photonenzahl die der PMT sieht hängt nicht
nur von der Energie, sondern auch davon ab wo in der Kuvette das Licht
erzeugt wird. Das wird dann teilweise reflektiert oder geht in eine
andere Richtung.
Da wären natürlich andere bessere Möglichkeiten fein, aber auch nicht so
irre wichtig, denn wir geben jedem Impuls fein aufgelöste Zeitstempel,
man kann also einzelne Isotope auch dadurch nach der Messung filtern
weil man weiß wie lange zwei Zerfälle auseinander liegen.