DE69631165T2 - Verfahren und vorrichtung für digitales hochgeschwindigkeits-röntgenspektrometer - Google Patents

Verfahren und vorrichtung für digitales hochgeschwindigkeits-röntgenspektrometer Download PDF

Info

Publication number
DE69631165T2
DE69631165T2 DE69631165T DE69631165T DE69631165T2 DE 69631165 T2 DE69631165 T2 DE 69631165T2 DE 69631165 T DE69631165 T DE 69631165T DE 69631165 T DE69631165 T DE 69631165T DE 69631165 T2 DE69631165 T2 DE 69631165T2
Authority
DE
Germany
Prior art keywords
values
dsp
pulse
digital
input signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69631165T
Other languages
English (en)
Other versions
DE69631165D1 (de
Inventor
K. William WARBURTON
Carl Zhou
Bradley Hubbard
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Warburton William K Menlo Park
Original Assignee
Warburton William K Menlo Park
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/695,062 external-priority patent/US5774522A/en
Priority claimed from US08/695,063 external-priority patent/US5684850A/en
Priority claimed from US08/730,916 external-priority patent/US5873054A/en
Priority claimed from US08/702,327 external-priority patent/US5870051A/en
Application filed by Warburton William K Menlo Park filed Critical Warburton William K Menlo Park
Application granted granted Critical
Publication of DE69631165D1 publication Critical patent/DE69631165D1/de
Publication of DE69631165T2 publication Critical patent/DE69631165T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01TMEASUREMENT OF NUCLEAR OR X-RADIATION
    • G01T1/00Measuring X-radiation, gamma radiation, corpuscular radiation, or cosmic radiation
    • G01T1/16Measuring radiation intensity
    • G01T1/17Circuit arrangements not adapted to a particular type of detector
    • G01T1/171Compensation of dead-time counting losses

Landscapes

  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • High Energy & Nuclear Physics (AREA)
  • Molecular Biology (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Measurement Of Radiation (AREA)

Description

  • REGIERUNGSRECHTE
  • Die Regierung der Vereinigten Staaten hat Rechte auf diese Erfindung gemäß Vertrag Nr. DE-FG03-92ER81311, vergeben durch das Department of Energy
  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft im allgemeinen Systeme zur digitalen Verarbeitung von Pulsen, die in Detektorsystemen durch absorbierte Strahlung erzeugt werden; und im besonderen die Verarbeitung solcher Pulse in preiswerten, hochauflösenden Spektrometern für hohe Zählraten von Röntgen- oder Gammastrahlen.
  • Insbesondere in der Forschung mit Synchrotronstrahlung besteht Bedarf für preiswerte und schnelle Arrays von Röntgenspektrometern. Für eine optimale Datenaufnahme müssen solche Spektrometer gute Energieauflösung besitzen, hohe Zählraten mit Doppelpulsunterdrückung verarbeiten können und so preiswert sein, dass Arrays mit 30 oder mehr Detektoren in Betracht gezogen werden können. Vollständige Multikanalanalyse (MCA) des Spektrometers würde die Zahl möglicher Anwendungen beträchtlich erhöhen. Vollständige Computerkontrolle aller Spektrometerfunktionen ist auch sehr wichtig, da sonst die Einrichtung und Kalibrierung des Detektorarrays für große Arrays sehr umständlich wird. Auch die physische Größe des Spektrometers sollte möglichst kompakt sein.
  • Herkömmliche Elektronik, die ca. $6000 pro Detektor ohne Multikanalanalyse kostet und die für einen 13-Element Detektor einen ganzer Schrank benötigt, erfüllt diese Bedingungen nicht. Die Instrumentierung von 30-Element Detektoren wird somit unpraktisch; die von 100-Element Detektoren nahezu unmöglich. Multikanalanalyse wird selten mit Detektorarrays benutzt, da preiswerte MCAs nicht schnell genug sind und schnelle MCAs zu teuer für die meisten Anwendungen sind. Doppelpulsunterdrückung wird vereinzelt eingesetzt, ist allerdings normalerweise nur für Energien über 8 keV effektiv. Eine kleine Anzahl von Modulen bietet teilweise Computerkontrolle der Spektrometerfunktionen, kostet allerdings üblicherweise doppelt so viel wie Module ohne Computerschnittstelle. Obwohl die Einrichtung eines einzigen Spektrometerkanals nur wenige Minuten benötigt, ist das ein beträchtlicher Nachteil, da dieser Aufwand mit der Zahl der Kanäle im Array multipliziert werden muss und für Arrays mit 10 oder mehr Kanälen zeitraubend und umständlich wird.
  • Es wäre daher von Vorteil für solche Synchrotronanwendungen, und auch für viele andere, ein preiswertes, kompaktes Spektrometergerät zu haben, das vollständige Energieanalyse mit guter Energieauflösung bei hohen Zählraten liefern und darüber hinaus durch ein Computersystem gesteuert werden kann, so dass die notwendigen Justierungen automatisch durch ein geeignetes Programm ausgeführt werden könnte.
  • Ein System zur vollständig digitalen Signalverarbeitung und Analyse für hochauflösende Spektroskopie in Echtzeit bei hohen Zählraten ist in einem Artikel von T. LAKATOS unter dem Titel "Adaptive Digital Signal Processing for x-ray spectrometry" beschrieben, erschienen in "Nuclear Instruments and Methods in Physics Research", Section B: Beam interactions with materials and atoms, Netherlands (North Holland Publishing Company) (Volume B47, No. 3, May 1990, Pages 307–310). Der Autor dieses Artikels beschreibt eine Methode und ein System zur digitalen Signalverarbeitung in Echtzeit für hochauflösende Spektrometrie mit anpassungsfähiger Filterung des Signals um die höchste Durchsatzrate zu erreichen, indem im Falle eines Doppelpulses der Signalprozessor das Filtern des ersten Pulses beendet und das Filtern des zweiten Pulses beginnt, um alle Ereignisse zu behalten ohne dabei die Zählstatistik zu verlieren.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Ein erster Aspekt der vorliegenden Erfindung ist in Anspruch 1 definiert. Ein zweiter Aspekt der vorliegenden Erfindung ist in Anspruch 24 definiert.
  • Somit sind eine Methode und ein Gerät zur Verarbeitung von gepulsten Signalen von einem Detektor-Vorverstärker System und zur Analyse der Energie von den im Detektor absorbierten Röntgen- oder γ-Strahlen vorgelegt. In spezifischer Ausführung ist es kompakt, preiswert, schnell, führt Doppelpulsunterdrückung aus, hat eine digitale Schnittstelle, so dass es leicht mit einem Computer verbunden werden kann, und funktioniert effektiv mit den meisten gebräuchlichen Vorverstärkern.
  • Techniken der digitalen Signalverarbeitung werden angewandt. Preiswerte, schnelle Analog-Digital Wandler und digitale Signalprozessoren werden benutzt um die gewünschten Leistungskriterien zu erreichen. Die Energieauflösung erreicht und die Doppelpulsunterdrückung übersteigt die von herkömmlichen analogen Spektrometern, und vollständige Spektren werden bei sehr hohen Zählraten erstellt, die bisher nur für SCA Systeme üblich waren. Digitale Verarbeitung erlaubt es, im Vergleich zu kommerzieller analoger Elektronik die Gesamtkosten um etwa einen Faktor 4 und die Abmessungen um etwa einen Faktor 10 zu senken. Alle Funktionen zur Justierung der Spektrometrie sind digital implementiert und können automatisch durch externe Computerkontrolle durchgeführt werden.
  • Für die geplante Anwendung ist ein hoher Datendurchsatz zu geringen Kosten wichtiger als die optimale Energieauflösung. Zu diesem Zweck führt die Erfindung die digitale Pulsverarbeitung in zwei Stufen aus. Die erste Stufe benutzt "festverdrahtete" digitale kombinatorische Logik zur Implementierung von zeitunabhängigen Filtern, während die zweite Stufe einen programmierbaren DSP benutzt um die Ausgabe der ersten Stufe gemäß zeitabhängiger Parameter anzupassen und zu korrigieren. Diese Arbeitsteilung ist entscheidend für den Erfolg der Erfindung.
  • In einer spezifischen Implementierung vermeidet die Stufe der festverdrahteten Logik die bisher üblichen Methoden von adaptiven Filtern, überspitzter Gewichtung oder Entfaltung. Diese Methoden benötigen komplexe Rechenoperationen wie Multiplikation, Tabellen für Gewichtungsfunktionen, Zwischenspeicherung der Daten für zeitabhängige Verarbeitung und Synchronisation zwischen verschiedenen Prozessen und so weiter. Stattdessen wird mit einem Algorithmus, der nur Addition und Subtraktion benötigt, nur ein einfacher (bevorzugt trapezförmiger) Filter für einen langsamen und einen schnellen Kanal implementiert. Wie weithin üblich wird der schnelle Kanal für Doppelpulsunterdrückung und zur Aufnahme des langsamen Pulses verwendet, während Filtern des langsamen Kanals die Rauschverminderung liefert, die zum Erreichen von guter Energieauflösung nötig ist. Siehe zum Beispiel den Entwurf eines analogen Spektrometers von Goulding und Landis, (U.S. Pat. No. 4,658,216). Die identische Verarbeitung aller Pulse und Eliminierung aller komplexen Rechenoperationen vereinfacht das Design der ersten Stufe so sehr, dass es leicht in einem einzigen mittelgroßen Field Programmable Gate Array (FPGA) implementiert werden kann und immer noch mehr als 500.000 Ereignisse/Sekunde (cps) verarbeiten kann. Zum Vergleich, das adaptive digital filternde Spektrometer von Mott et al. (U.S. Pat. No. 5,349,193) benötigt ein FPGA in vergleichbarer Größe nur für die Implementierung des Zustandsautomaten für den Steuerungsdatenfluss.
  • Alleine liefert ein so einfacher Filter jedoch keine akzeptable spektroskopische Leistung im Vergleich mit existierenden analogen Geräten, weshalb die im Feld verbreiteten komplexeren Methoden entwickelt wurden. Die vorliegende Erfindung benutzt daher eine zweite Verarbeitungsstufe, in der mittels eines programmierbaren Computers die zeitabhängigen Korrekturen durchgeführt werden, die für eine vergleichbare Leistung notwendig sind. Da diese Korrekturen nicht mit der Rate der Datenaufnahme durchgeführt werden, die leicht -zig Megahertz betragen kann, sondern nur mit der durchschnittliche Rate der Pulse, die 10 bis 100 mal geringer ist, können relativ komplexe Korrekturen mit einem preiswerten DSP implementiert werden. Darüber hinaus müssen nicht alle möglichen Korrekturen gleichzeitig implementiert werden. Im Gegensatz zu festverdrahteten Lösungen werden nur die von einer bestimmten Kombination von Detektor und Vorverstärker benötigten Korrekturen beim Systemstart in den DSP geladen. Zum Beispiel wird in einer bestimmten Implementierung die oben erwähnte Zählrate von 500.000 cps in einem nur $40 teuren DSP Chip verarbeitet.
  • Die vorliegende Erfindung unterscheidet sich somit von den bisher entwickelten zwei Ansätzen für die digitale Verarbeitung von Pulsen in Spektrometern für Röntgen- und Gammastrahlen, nämlich der "festverdrahtete" Ansatz, in dem alle zur Bestimmung der Amplituden mit zeitabhängigen Korrekturen und Optimierungen benötigten Berechnungen mit festverdrahteter Logik durchgeführt werden, und der "Computer-Analytische" Ansatz, in dem alle diese Berechnungen softwaregesteuert durchgeführt werden. Ersterer Ansatz beinhaltet die Geräte von Koeman (US Pat. No. 3,872,287), Lakatos et al., Georgiev et al. (IEEE Trans. Nucl. Sci. 41(1994) 1116–1124), Mott et al., Jordanov und Knoll (IEEE. Trans. Nucl. Sci. 42 (1995) 683–685), und Farrow et al. Kommerzialisierung der Geräte von Georgiev, Mott und Jordanov wurden durch die Firmen Target, Inc., Princeton Gamma-Tech, Inc., beziehungsweise Amptek, Inc versucht. Beispiele des letzteren Ansatzes wurden von Takahashi et al. (IEEE Trans. Nucl. Sci. 40 (1993) 626–629, Al-Haddad et al. (IEEE Trans. Nucl. Sci. 41(1994) 1765–1769 veröffentlicht. Dieser Ansatz wurde bisher noch nicht kommerzialisiert, vermutlich wegen der hohen Kosten eines Prozessors, der schnell genug ist brauchbare Datenraten zu verarbeiten. Die vorliegende Erfindung definiert somit einen neuen, "gemischten" Ansatz, in dem digitales Filtern zwischen einem festverdrahteten Vor-Prozessor und einem programmierten Signalkorrigierer aufgeteilt ist.
  • Der Einsatz des DSP in der zweiten Stufe des spektroskopischen Filterprozesses für Korrekturen darf nicht mit dem MCA Schritt zur Erstellung eines Spektrums der vom Detektor erkannten Photonenergien verwechselt werden (z. B. siehe Lakatos, et al). Obwohl das Sortieren und Einordnen der gefilterten Pulsamplituden häufig von speziellen digitalen Computern durchgeführt wird, sind diese Funktionen nicht Teil des Filterprozesses. Trotz einer möglicherweise ähnlichen Topologie in vielen herkömmliche Systemen, in der ein DSP den MCA Schritt nach einer digitalen Filterstufe durchführt, ist deshalb die neuartige Nutzung des DSP in der vorliegenden Erfindung, wie oben und in der folgenden Spezifikation beschrieben, völlig verschieden.
  • In einer bestimmten Implementierung führt ein einziger DSP sogar vier logisch verschiedene Funktionen aus, nämlich die neuartigen Filterfunktionen, die MCA Funktion, die Steuerung der Anpassung des analogen Eingangsignals, und den Datenaustausch mit dem Steuerungscomputer des Systems.
  • In derselben Implementierung wird die Erfindung mit einer Eingangsstufe zur Anpassung des analogen Signal (ASC) benutzt, um rampenförmige Komponenten vom Eingangsdatenstrom zu entfernen, um die Anzahl der Auflösungsbits des ADCs des Systems zu verringern. Die Steuerungsparameter dieses ASC werden in digitaler Form durch den DSP festgesetzt und nach Bedarf justiert um das angepasste Signal im Eingangsbereich des ADC zu halten. Nach der Digitalisierung wird der Datenstrom in der oben beschriebenen festverdrahteten Logikeinheit (FiPPI) verarbeitet, in der Pulse gefunden werden, dreieckförmige Filter angewandt werden und Doppelpulsunterdrückung durchgeführt wird. Des weiteren nimmt diese Einheit Werte für akzeptable Pulse und Grundlinien auf, die sie an den DSP für weitergehende Verarbeitung weitergibt. Der DSP führt die Berechnungen und Korrekturen aus um die Pulswerte in präzise Energiewerte umzuwandeln und sortiert die Ergebnisse um ein MCA Spektrum zu erstellen. Obwohl die Funktion des ASCs Verfälschungen in die festverdrahtete Filterprozedur einbringt, kann der DSP entsprechende Korrekturen mittels seiner Werte der ASC Parameter und der ungefilterten Signale je nach Bedarf durchführen. Durch die Verwendung von durch den FiPPI zwischen Ereignissen aufgenommenen Grundlinienwerten kann der DSP die Pulshöhen auch für weniger systematische Variationen korrigieren, die aufgrund von einer Reihe von Ursachen auftreten können.
  • In der Erfindung wird die festverdrahtete Stufe zur digitalen Signalverarbeitung als FiPPI bezeichnet, da in ihr Filter, Pulserkennung und Doppelpulsunterdrückung implementiert ist . Der FiPPI bearbeitet jeden Eingangsdatenwert, führt aber nur die wenigen Filter- und Untersuchungsfunktionen aus, die für die Erkennung und präzise Aufnahme von gefilterten Werten des digitalisierten Eingangsignals in der Umgebung der Röntgenpulse im Eingangsdatenstrom notwendig sind. Zusätzliche Berechnungen des DSP sind notwendig um die aufgenommenen gefilterten Signalwerte zu genauen Energiewerten der Röntgenstrahlen zu verarbeiten, werden aber nur so häufig ausgeführt wie Ereignisse wirklich erkannt wurden. Diese Arbeitsteilung ist von Vorteil, da es zugleich die Menge der notwendigen schnellen Logikschaltkreise und die Geschwindigkeit (und somit die Kosten) des benötigten DSP vermindert. Das Ergebnis ist ein günstigerer Preis und eine bessere Leistung als wenn die jeweiligen Ansätze für sich verwendet würden.
  • In bestimmten Implementierungen des FiPPI können die folgenden Funktionen auftreten: ein Dezimator, ein langsamer gleitender Mittelwert, ein langsamer trapezförmiger Filter, ein schneller trapezförmiger Filter, Pulserkennung, Doppelpulserkennung, Ausgabespeicher, und ein Zähler für die Eingangsrate (ICR). Die Arbeit des FiPPI wird durch mehrere digitale Parameter bestimmt, die in den FiPPI geladen werden bevor das Spektrometersystem die Arbeit aufnimmt.
  • Eine Funktion zur Dezimierung um N unterteilt die vom ADC kommenden Eingangsdaten in aufeinander folgende Gruppen von N Werten und gibt den Mittelwert jeder Gruppe mit einer Frequenz von 1/N des Eingangsdatenstroms aus. Der veränderbare Parameter N ist eine Potenz von 2, der die Werte 0, 1, 2, 4, 8, usw. annehmen kann. Die Hauptfunktion des Dezimators ist es, die Größe des First-In-First-Out (FIFO) Speichers zu reduzieren, der für die Implementierung der langen Filterzeiten im langsamen Filter des FiPPIs notwendig ist.
  • Sowohl der langsame als der schnelle Filter sind ein symmetrisches Trapez, deren Anstiegszeit τp und Verweilzeit τg extern geladene Parameter sind. Die Höchstwerte der Trapezes stellen den Messwert der Energien der gefundenen Röntgenstrahlen dar. Diese Funktionen werden durch einen gleitenden Mittelwert der Differenz von zwei verzögerten Differenzen gebildet, implementiert mit FIFO Funktionen. Der schnelle Filter ist viel kürzer als der langsame Filter und läuft normalerweise mit voller Taktgeschwindigkeit. Der langsame Filter benutzt die Ausgabe des Dezimators mit 1/N Taktgeschwindigkeit und kann Anstiegszeiten von mehreren Mikrosekunden mit FIFOs von nur 32 Speicherstellen erreichen.
  • Eine Schaltung zur Pulserkennung untersucht die Ausgabe des schnellen Filters auf Signalpulse durch Suchen nach M oder mehr aufeinander folgenden Werten über einer Schwelle T und – wenn eine solche Serie von Werten gefunden wird – hält die Ankunftszeit des größten Signalwertes der Serie fest. Diese Zeit wird im folgenden als die Ankunftszeit des zugehörigen Pulses definiert. Die extern geladenen Parameter T und M können variiert werden um die Empfindlichkeit zu kleinen Signalen bei gleichzeitiger ausreichender Unempfindlichkeit zu Triggern durch Rauschen zu optimieren.
  • Die Doppelpulsunterdrückung stellt sicher, dass die Trapezhöchstwerte des langsamen Filters in der Mitte der Verweilzeit aufgenommen werden, und dass die Aufnahme nur für "gute Pulse" stattfindet. Ein guter Puls ist ein Puls, der ein akzeptables Zeitintervall von Vorgänger und Nachfolger getrennt ist.
  • Doppelpulsunterdrückung enthält mehrere Tests. Zwei davon sind für "schnelle Doppelpulse", die zu nahe beieinander sind, um als getrennte Pulse vom schnellen Filter ausgegeben werden zu können. Da ein um eine Zeit d getrenntes Doppelpulspaar die Ausgabezeit D des schnellen Filters auf D + d erhöht, vergleicht ein erster schneller Doppelpulstest die Dauer des schnellen Pulses bei der Schwelle T mit einem Parameter W, der zu einem Wert etwas größer als D gesetzt wird.
  • Während der erste schnelle Doppelpulstest die Dauer des schnellen Pulses bei der Schwelle mit einem Testwert vergleicht, vergleicht ein zweiter schneller Doppelpulstest seine Dauer bei der Hälfte der Pulshöhe mit einem Testwert, der zu einem Wert etwas größer als die Halbwertsbreite eines idealen Pulses gesetzt wird. Dieser Test ist unabhängig von der Pulshöhe und obwohl schwieriger zu implementieren, zeigt eine erhöhte Genauigkeit für schnelle Pulse mit sehr kleiner Amplitude, die möglicherweise die Schwelle nur wenig übersteigen und deren Dauer über einer konstanten Schwelle daher stark von ihrer Amplitude abhängt.
  • Doppelpulse im langsamen Kanal werden unterdrückt durch einen Zähler, der jedesmal zurückgesetzt wird wenn ein schneller Puls gefunden wurde. Wenn dieser Zähler einen Wert S eines externen Parameters erreicht ohne zurückgesetzt zu werden, wird der Ausgabewert des langsamen Filters zu diesem Zeitpunkt in einem Ausgangsspeicher festgehalten, und ebenfalls der ungefilterte Eingangswert des FiPPIs. Wenn der Zähler im folgenden den Wert N eines zweiten externen Parameters erreicht, hat dieser Puls keinen nachfolgenden Doppelpuls. Falls ein gespeicherter Indikator anzeigt, dass er auch keinen vorausgehenden Doppelpuls hat, ist der Pulswert "gut" und ein Interrupt wird an den DSP gesandt, um die Datenaufnahme anzuzeigen. Der Wert von N ist normalerweise gleich τsp plus τsg/2 plus ein kleiner Sicherheitsabstand. Der Wert von S ist gleich dem von N mit einer Korrektur für Zeitverschiebungen.
  • Nachdem ein gutes Ereignis aufgenommen wurde, wird ein zweiter Versuch gemacht, bis auf N zu zählen. Wenn dies erfolgreich ist, bedeutet das, dass die Ausgabe des langsamen Filters auf seine Grundlinie zurückgekehrt ist, so dass – wenn vom DSP verlangt – ein Wert für normierende Korrekturen aufgenommen werden kann.
  • Der ICR Zähler wird mit jedem gefundenen Röntgenstrahl erhöht, egal ob Doppelpuls oder nicht. Dieser Wert wird gelegentlich ausgelesen und zurückgesetzt, was es erlaubt, Statistiken über die relative Doppelpulsrate zu führen und Totzeitkorrekturen zu berechnen, wenn quantitativ genaue Ergebnisse verlangt werden.
  • In derselben Ausführung ist der DSP ein kommerzieller digitaler Signalprozessor, in dem alle Funktionen in Software implementiert sind. Diese Funktionen fallen in vier allgemeine Kategorien, nämlich Steuerung des ASC, Korrektur von aufgenommenen FiPPI Werten um die Pulshöhenbestimmung zu optimieren, Durchführung von Multikanalanalyse für Spektren und Ein- und Ausgabe (I/O) von Daten und Parametern zwischen dem System und dem Rest der Welt. Die I/O Verbindungen und Software können leicht von jemand in dieser Technik Erfahrenen ausgeführt werden.
  • Der DSP steuert den ASC, indem er zuerst Anfangswerte für die Offset- und Steigungs-DACs im Rampengenerator des ASC setzt und danach den Rampengenerator wenn immer notwendig zurücksetzt. Die Anfangswerte der DACs werden zu Beginn der Datenaufnahme geschätzt. Der Schätzwert des Steigungs-DACs wird von Zeit zu Zeit angepasst um für Variationen in der Rate eingehender Röntgenstrahlen zu kompensieren. Wenn der ASC Ausgangswert außerhalb den Eingangsbereich des ADC fällt, wird der Offset-DAC angepasst um den Ausgangswert zurückzubringen.
  • Der DSP übernimmt die aufgenommenen Pulswerte vom FiPPI in Interruptfunktionen, wie oben erwähnt, indem er die FiPPI Register ausliest, die diesen Wert, den Wert des ICR Zählers, den ungefilterten Wert vom FiPPI Eingang und auch alle anderen Werte, die dieses Ereignis bestimmen. Dies ist so ausgelegt, dass die Unterbrechungszeit kürzer ist als die minimale langsame Filterzeit, so dass die Auslese keine verlängerbare Totzeit zu dem System hinzufügt. Der Wert des guten Pulses wird in einen Energiewert umgerechnet und all die Korrekturen werden ausgeführt, die benötigt werden um eine bestimmte Energieauflösung erreichen zu können, einschließlich Grundlinienkorrekturen. Falls der Energiewert in einem gewünschten Bereich liegt, wird MCA durchgeführt indem die Energie in das angesammelte Spektrum einsortiert wird.
  • Von Zeit zu Zeit nimmt der DSP auch FiPPI Grundlinienwerte auf, die in der selben Weise gelesen werden wie gute Pulswerte. Ein Indikator "set baseline" unterscheidet die zwei Fälle. Grundlinenwerte entsprechen per Definition Ereignissen mit Energie Null und werden benutzt um den Nulloffset des FiPPI zu bestimmen. Auch Grundlininenstatistiken können geführt und für diagnostische Zwecke verwendet werden, wie z. B. Kontrolle der Energieauflösung des Spektrometers.
  • Unkorrigiert würde die Subtraktion eines Rampensignals vom Signal des Vorverstärkers im ASC Verzerrungen im Spektrum verursachen. Da der DSP den Rampengenerator im ASC steuert, kann er die Amplitude des ursprünglichen Signals berechnen, was es erlaubt, Algorithmen für entsprechende Korrekturen zu implementieren. Der DSP kontrolliert den Mittelwert der Grundlinienwerte nach Anwendung dieser Korrekturen und subtrahiert diesen Wert, falls ungleich Null, von guten Pulsenergien um für jeden verbleibenden Fehler wegen beispielsweise Leckstrom im Detektor zu kompensieren. Die Erfindung wird. entsprechend den beiliegenden unabhängigen Ansprüchen 1 und 21 durchgeführt.
  • Ein weitergehendes Verständnis der Natur und Vorteile der vorliegenden Erfindung kann durch Bezugnehmen auf die übrigen Teile der Spezifikationen und Zeichnungen gewonnen werden.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1A ist ein Schaltplan eines typischen Detektor-Vorverstärker Systems das Pulse an die vorliegende Erfindung liefert;
  • 1B ist ein Puls eines typischen Detektor-Vorverstärker Ausgangssignal verursacht durch die Absorption eines einzelnen Röntgenstrahles im Detektor;
  • 1C zeigt ein typisches Signal eines kontinuierlich entladenden Detektor-Vorverstärker für mehrere Röntgenstrahlen;
  • 1D zeigt ein typisches Signal eines periodisch zurückgesetzten Detektor-Vorverstärker für mehrere Röntgenstrahlen;
  • 1E zeigt drei typische Ankunftsmuster der Röntgenpulse nachdem der ASC die den Anteil der Zurückgesetztungsrampe vom Signal entfernt hat;
  • 2 ist ein Blockdiagramm der Erfindung, das die wesentlichen Bestandteile und Verbindungen zu anderen Geräten zeigt;
  • 3 ist ein Blockdiagramm der Schaltung zur Anpassung des analogen Signals (ASC) und der Analog-Digital Blöcke von of 2
  • 4 ist eine Schaltungszeichnung einer typischen Ausführung mehrerer Blöcke von 3;
  • 5 ist ein Blockdiagramm des Blocks des festverdrahteten digitalen Signalprozessors von 2;
  • 6A ist eine Schaltungszeichnung einer typischen Ausführung des Dezimatorblocks von 5;
  • 6B illustriert den Zeitverlauf der Schaltung in 6A;
  • 7A ist eine Schaltungszeichnung einer typischen Ausführung des Blocks des langsamen Filters von 5;
  • 7B illustriert den Zeitverlauf der Schaltung in 7A;
  • 8A ist eine Schaltungszeichnung einer typischen Ausführung des FIFO 10 Blocks von 7A;
  • 8B illustriert den Zeitverlauf der Schaltung in 8A;
  • 9A9G sind eine Reihe von Diagrammen, die die Beziehungen zwischen den Pulsen zeigen, die von den schnellen und langsamen Filtern in 5 ausgegeben werden, und die die Funktion der Blöcke für Pulserkennung und Doppelpulsunterdrückung aus 5 illustrieren.
  • 10A ist eine Schaltungszeichnung einer typischen Ausführung des Blocks für Pulserkennung in 5;
  • 10B illustriert den Zeitverlauf der Schaltung in 10A;
  • 11A ist eine Schaltungszeichnung einer typischen Ausführung des Blocks für Doppelpulsunterdrückung in 5;
  • 11B illustriert den Zeitverlauf der Schaltung in 11A;
  • 12A ist eine Schaltungszeichnung einer typischen Ausführung des Blocks für den Zähler der Eingangsrate (ICR) in 5;
  • 12B illustriert den Zeitverlauf der Schaltung in 12A;
  • 13 ist eine Schaltungszeichnung einer typischen Ausführung des Blocks für den Zähler der Aktivzeit in 5;
  • 14A ist eine Schaltungszeichnung einer typischen Ausführung einer Doppelpulserkennung, die Halbwertsbreiten der schnellen Pulse misst;
  • 14B illustriert den Zeitverlauf der Schaltung in 14A;
  • 15 ist ein Flussdiagramm der wesentlichen Funktionen des DSP Steuerungsprogramms;
  • 16 ist ein Flussdiagramm der Funktion zur Datenaufname des DSP Steuerungsprogramms; und
  • 17A17D sind per Oszilloskop aufgenommen Ausgaben von einer spezifischen Ausführung des ASC der Erfindung, die die Effekte der zeitlichen Fluktuationen in der Ankunftsrate der Röntgenstrahlen zeigen;
  • 18 ist ein Blockdiagramm einer Steuerungsfunktion, die die Ausgabe des ASC im Eingangsbereich des ADC hält;
  • 19A19B sind Skizzen, die die Notwendigkeit für Korrekturterme der Pulshöhe für zwei Arten von Vorverstärkern zeigen.
  • 20 ist eine Skizze, die die Begriffe definiert, die in der Herleitung der Korrekturterme für den Typ des kontinuierlich entladenen Vorverstärker verwendet werden.
  • 21A ist eine Schaltungszeichnung einer alternativen Ausführung des Blocks des langsamen Filters in 4;
  • 21B illustriert den Zeitverlauf der Schaltung in 21A; und
  • 22 zeigt eine alternative Ausführung des langsamen Filters durch analoges Filtern.
  • BESCHREIBUNG DER SPEZIFISCHEN AUSFÜHRUNG
  • 1: Systemübersicht
  • 1.1. Eingangssignale des Vorverstärkers
  • Die Beschreibung von spezifischen Ausführungen wird durch eine kurze Diskussion der elektrischen Pulse verdeutlicht, die den gefundenen Röntgenstrahlen entsprechen, und welche dann von uns verarbeitet werden. 1A zeigt eine typische Schaltung von Röntgendetektor und Vorverstärker, bestehend aus einer Halbleiterdetektordiode 10, einer Spannungsquelle 12, einem ladungsintegrierendem Vorverstärker 13 mit Rückkopplungskondensator Cf 15 und Rückkopplungselement 17. Ein Röntgenstrahl mit Energie Ex, absorbiert in der Diode 10 setzt eine Ladung Qx gleich Ex/ε frei, wobei ε eine Materialkonstante der Diode ist. Qx wird in Cf 15 integriert, was ein stufenförmiges Spannungssignal Vx gleich Qx/Cf oder Ex/(εCf) verursacht, wie in 1B gezeigt. Um Ex zu bestimmen benutzt die vorliegende Erfindung digitales Filtern, wodurch das Rauschen σ in der Messung von Vx reduziert wird.
  • Es gibt zwei grundlegende, in ihrer Funktion verschiedene Typen von Vorverstärker. Im ersten Typ entlädt Bauelement 17 die Kondensator 15 kontinuierlich ("CD" Fall ), z. B. durch einen Widerstand. 1C zeigt die Ausgabe eines typischen CD Vorverstärkers, eine Reihe von Stufensignalen (siehe 1B) mit dazwischen exponentiellem Abfall. Die durchschnittliche Ausgangsspannung Vavg ist gleich dem Diodeneingangsstrom Iin mal dem Widerstand von Bauelement 17.
  • Im zweiten Typ von Vorverstärker ist Bauelement 17 ein Schalter, der periodisch geschlossen wird, wenn die Ausgangsspannung des Vorverstärkers 13 einen oberen Zurücksetzungswert VU erreicht und wieder geöffnet wird wenn der untere Grenzwert VL erreicht wird. Dies ist der "PR" Fall . 1D zeigt eine typischen Ausgabe, in der die Spannungsstufen eine bis VU ansteigende Rampe bilden, wo die Spannung auf VL zurückgesetzt wird und der Prozess von neuem beginnt. Die durchschnittliche Steigung der Rampe Savg ist gleich Iin/Cf. Typische Variationen um die durchschnittliche Steigung werden in 1E gezeigt.
  • 1.2. Betrachtungen zum Signalbereich und zur Digitalisierungsrate
  • Die Auswahl des ADC ist entscheidend für die Implementierung eines digitalen Spektrometers mit guter Doppelpulsunterdrückung und guter Energieauflösung. Bezüglich Doppelpulse: Mindestens 20 Megasamples/Sekunde (MSA) werden benötigt um Doppelpulserkennungszeiten von 200 ns zu erreichen.
  • Bezüglich Energieauflösung: Erfahrung lehrt, dass der Rauschbereich σ (siehe 1B) ca. 4 Mal größer als das niedrigstwertigste Bit ΔV1 des ADC sein muss. Das bestimmt die Verstärkung (in Volt/Bit) der Schaltungen vor dem ADC 4 ΔV1 ≤ σ (1)
  • Bei einem gegebenen ΔV1 muss der ADC dann genug Bits NB für den Bereich von 0 bis Vmax haben: NB = log(Vmax/ΔV1)/log(2). (2)
  • Ein typischer Wert für NB ist 14.
  • Es gibt 14 Bit ADCs, die mit 20 MSA arbeiten, diese sind aber teuer im Vergleich zu der analogen Elektronik, die wir ersetzen wollen. Schnelle 8 bis 10 Bit ADC sind dagegen aufgrund ihrer weiten Verbreitung in digitaler Kommunikationstechnik billig. In der vorliegenden Erfindung verringern wir den Bereich des Vorverstärkersignals hinreichend um solche billigeren Einheiten zu verwenden. Die Verringerung von 14–15 Bits auf 8– 10 Bits ist auch von Vorteil, da kürzere Datenworte weniger Elektronik zur Verarbeitung benötigen und die Verarbeitung bei gegebener Datenrate weniger Energie benötigt.
  • 1.3. Organisation der Funktionen
  • 2 zeigt die grundlegende Struktur der Erfindung des digitalen Spektrometers. Das Signal eines normalen Detektor-Vorverstärkersystems 20, wie in 1A, wird in ein digitales Spektrometer 22 geleitet, das drei Funktionsblöcke enthält: einen Block 23 zur Anpassung des analogen Signals (ASC) und analog-digital Wandlung (ADC); einen Block 25 mit festverdrahteten digitalen Filtern, Pulserkennung und Doppelpulsunterdrückung (FiPPI ); und einen Block 27 mit einem programmierbaren digitalen Computer, der in einer spezifischen Ausführung ein digitaler Signalprozessor (DSP) ist, für Signalverbesserung, Multikanalanalyse, ASC Steuerung und Ein- und Ausgabefunktionen (I/O). Das digitale Spektrometer 22 ist mit einem Allzweckcomputer und Schnittstelle 28 verbunden, von dem es Parameterwerte und Steuerungssignale erhält und dem es die aufgenommenen Spektren zusendet. Die Funktion des ASC 23 ist nicht notwendig für die Arbeit der Blöcke 25 und 27 des digitalen Spektrometers, ist aber unsere bevorzugte Ausführung. Die Funktionen der Blöcke 25 und 27 können in einer Reihe von Schaltungen implementiert werden, sind aber in unserer bevorzugten Ausführung gemäß den unten beschriebenen Spezifikationen implementiert. Der Allzweckcomputer und Schnittstelle 28 sind herkömmlicher Geräte und können eine Reihe von verbreiteten Personal- oder Laborcomputer und Schnittstellenstandards beinhalten. Die Details der Verbindung eines Computer mit einem DSP sind jemand mit Erfahrung in diesem Feld gut bekannt.
  • 2: ASC: Analoge Anpassung des analogen Signals und A–D Wandler Block
  • 2.1. ASC Funktionsphilosophie
  • Der ASC 23 hat zwei wesentliche Funktionen, nämlich den Bereich des Eingangssignals zu reduzieren und seine Verstärkung so anzupassen, dass Gl. 1 erfüllt ist. Die Reduzierung des Eingangsbereichs wird erreicht, indem das Signal des Vorverstärkers in zwei Komponenten zerlegt wird, nämlich einen "Niederfrequenz"-Anteil (LEF) mit großem dynamischen Bereich und einen "Höherfrequenz"-Anteil (HFF) mit deutlich kleinerem dynamischen Bereich, der das wesentliche Signal enthält (SOI; vergleiche 1D mit 1E). Die Begriffe "Niederfrequenz" und "Hochfrequenz" sind angebracht, da in dieser Anwendung die fundamentale Frequenz des LFF viel kleiner als die Bandbreite des SOI tragenden HFF ist. Wichtig ist, dass eine ausreichende Kopie des LFF Signals durch eine relativ geringe Anzahl von Parametern beschrieben werden. kann, so dass es leicht generiert und vom Eingangssignal abgezogen werden kann. Der Rest des Signals ist dann dem ursprünglichen, SOI tragenden HFF sehr ähnlich, so dass es in einem ADC mit deutlich geringerer Anzahl von Bits digitalisiert werden kann.
  • Durch den DSP 27 durch Parameter gesteuert, generiert der ASC 23 somit eine Kopie des LFF, zieht es vom Eingangssignal ab und passt die Amplitude der verbleibende HFF Kopie an, um Gl. 1 zu erfüllen. Außer der Tatsache, weniger ADC Bits zu benötigen, hat dieser Ansatz drei weitere Vorteile. Zum ersten kennt der DSP 27 die Steuerungsparameter des ASC und kann sie dazu benutzen, das aufgenommene Energiespektrum zu verbessern. Zweitens, da die Röntgenpulse des HFF Anteils beinahe zufällig in den Eingangsbereich des ADC fallen "(dithered"), wird die Genauigkeit und Linearität des Spektrometers 22 relativ unempfindlich gegenüber der differentiellen und integralen Nonlinearität des ADC und völlig unempfindlich gegenüber jedem DC Offset. Zum dritten können Signale von verschiedenen Typen von Vorverstärkern einfach durch Anpassen der Parameter bewältigt werden. Für CD Vorverstärker ist der LFF einfach eine Konstante mit einem Wert Vavg, siehe 1C; für PR Vorverstärker ist er eine Sägezahnfunktion mit abwechselnd linearem Spannungsanstieg mit Steigung Savg und Zurücksetzung, siehe 1D.
  • 2.2. Beschreibung der Grundzüge des ASC
  • 3 ist ein Funktionsblockdiagramm des ASC und Wandler Blocks 23. Ein Verstärker 30 verstärkt den Unterschied zwischen dem Eingangssignal vom Detektor und Vorverstärker 20 und einer von einem Digital-Analog Wandler (DAC) Bias-DAC 32 festgesetzten Spannung, was das Vorverstärkersignal im Rest der Schaltung um Null zentriert. Ein Subtrahierer 33 zieht die Ausgabe eines LFF Generators 35 von der Ausgabe des Verstärkers 30 ab. Der Verlauf der Ausgabe des LFF Generators 35 wird durch einen Offset-DAC 37, einen Steigungs-DAC 38 und ein Zurücksetzungssignal 40 vom DSP 27 gesteuert. Die Ausgabe des Subtrahierers 33 wird in einen Verstärker geleitet, dessen variable Verstärkung durch einen Verstärkungs-DAC 43 gesteuert wird. Ein Komparator 44 überwacht das Signal und verständigt den DSP 27 durch ein Interruptsignal 45, wenn es außerhalb der Grenzen des Eingangsbereichs des ADC fällt. Ein Tiefpass 47 unterdrückt alle Frequenzenanteile des Signals über der Nyquistgrenze des ADC bevor es einen ADC 48 erreicht.
  • Die Ausgabe des ADC ist direct mit dem FiPPI Block 25 durch den digitalen Ausgangsbus des ADC 50 verbunden, und indirekt mit dem DSP Block 27 durch die Buszwischenspeicher 52. Die Zwischenspeicher 52 sind mit dem bidirektionalen DSP Datenbus 53, dem DSP Adressbus 54, und dem Zurücksetzungssignal 40 verbunden und ermöglichen es dem DSP 27, digitale Eingangswerte in die DACs 32, 37, 38 und 43 zu laden und den Ausgangsdatenstrom des ADCs durch den ADC Ausgabebus 50 nach Wunsch auszulesen. Somit steuert der DSP 27 direkt alle ASC 23 Funktionen und kann auch direkt deren Auswirkungen auf die ADC Ausgabe 50 messen. Mit geeigneter Steuerungssoftware ermöglicht das den DSP 27, zuerst bevorzugte Arbeitswerte für den ASC 23 zu setzen und dann auch die Arbeit des LFF Generators 35 dynamisch zu steuern. Details der Verwendung von Zwischenspeichern sind jemand im Feld der digitalen Elektronik Erfahrenen gut geläufig und werden nicht weiter beschrieben.
  • 2.3. Ausgangssignal des ASC Blocks
  • Gesteuert durch den DSP 27 generiert der LFF Generator 35 ein sich zurücksetzendes linear ansteigendes Spannungssignal mit einem DC Offset. Für einen CD Vorverstärker wird nur ein DC Offset von Vavg verwendet (siehe 1C) Für einen PR Vorverstärker wird der DC Offset zu VL gesetzt und die Steigung des linear ansteigenden Spannungssignals so angepasst, um mit der durchschnittliche Steigung Savg übereinzustimmen (siehe 1D). Drei Beispiele des PR Signals sind nach Subtraktion des linear ansteigenden Signals, Verstärkung und Filtern in 1E dargestellt. Nachdem die quasi-periodische Struktur des linear ansteigenden Signals entfernt ist, erscheinen die einzelnen Röntgenpulse als vertikale Stufen mit Variationen in ihrer Ankunftszeit. Beispiel A zeigt den Fall der durchschnittlichen Ankunftsrate. Beispiele B und C zeigen kurzfristige Abweichungen vom Durchschnitt. Das Abziehen des linear ansteigenden Signals hinterlässt eine negative Steigung zwischen den Pulsen, aber ihre Amplituden wird durch diese Prozedur nicht wesentlich verändert und werden durch das digitale Spektrometer wieder hergestellt.
  • Für CD Vorverstärker würde die Ausgabe des ASC 1C sehr ähnlich sehen, nur dass die vertikale Skalierung so geändert würde, dass der gesamte Eingangsbereich des ADC genutzt wird. In diesem Falle zeigen die Bereiche zwischen den Röntgenpulsen denselben exponentiellen Abfall wie der Vorverstärker.
  • 2.4. Spezifische Ausführung des ASC
  • 4 ist eine Schaltungszeichnung der Blöcke des Verstärkers 30, Subtrahierers 33, LFF Generators 35, und variablen Verstärkers 42 des ASC 20. Die Schaltung versteht sich von selbst für jemand in analoger Elektronik Erfahrenen und bedarf wenig weiterer Erläuterungen, abgesehen von einigen Kommentaren. Details der Schaltung die jemand im Feld Erfahrenen gut geläufig sind, wie das Filtern der Versorgungsspannungen oder Kompensation von Operationsverstärkern, sind nicht gezeigt. Die Implementierung ist nicht einzigartig und viele andere geeignete Anordnungen können leicht erstellt werden.
  • Abgesehen davon, das Eingangssignal im Eingangsbereich des ASC zu zentrieren, besteht die Hauptfunktion der Verstärkers 30 darin, den ASC vom Eingang zu entkoppeln und die Rauschanforderungen für den Rest der Schaltung zu vermindern, indem er das Eingangssignal um etwa einen Faktor 3 verstärkt. Er sollte daher mit einem sehr rauscharmen Operationsverstärker mit geeigneter Bandbreite implementiert werden.
  • Der LFF Generator 35 ist ein Stromintegrator mit Offsetspannung Voff, der zurückgesetzt werden kann. Er kann rauscharme, sehr genaue linear ansteigende Spannungssignale generieren, wobei die Abklingzeit nach einer Zurücksetzung weniger als 5 μs beträgt. Der Widerstand 68 wandelt einen Strom vom DAC 37 in eine Spannung Voff um. Der Kondensator 72 integriert einen Strom vom DAC 3B bis zur Zurücksetzung durch den Schalter 75. Der Widerstand 77 macht sicher, dass die Slewrate des FET Operationsverstärkers 65 nicht überschritten wird. Der Operationsverstärker 78 und der Schalter 85 erlauben es, die Amplitude und das Vorzeichen der Ausgabe des LFF Generators 35 dem Eingangssignal anzupassen. Der DAC 37 wird normalerweise so eingestellt, dass die Ausgabe des LFF Generators 35 und das Signal des Verstärkers 30 unmittelbar nach der Zurücksetzung des Vorverstärkers übereinstimmen.
  • Die Stufe mit variabler Verstärkung 42 enthält einen Schalter 88 und Widerstände 90 für eine grobe Verstärkung vor dem Analog Devices AD603 92 mit einer festen Eingangsimpedanz von 100 Ohm; ein spannungsgesteuerter Operationsverstärker mit verstellbarer Verstärkung für die Feineinstellung der Verstärkung. Um das Rauschen zu minimieren wird dieser Operationsverstärker 92 mit konstantem Ausgaberauschen nur für feine Verstärkungen von etwa 12 dB verwendet.
  • Die verbleibenden Blöcke in der ASC Sektion 20, nämlich ein Komparator 44 und ein Tiefpass 47 sind einfach zu implementieren. Der Komparator ist notwendig um solche Fälle zu entdecken, siehe 1E, wo aufgrund von Fluktuationen das ASC Ausgangssignal den Bereich von LL bis UL übersteigt, der dem Eingangsbereich des ADC entspricht.
  • Der Tiefpass 47 begrenzt die Bandbreite des ASC Ausgangssignals zu weniger als die Nyquist Frequenz fN, die Hälfte der Aufnahmefrequenz des ADCs 48s, da alles Rauschen mit höherer Frequenz in das digitalisierte Ausgangssignal "aliasiert" wird, was sein Rauschen unnötig vergrößert. In dieser speziellen Ausführung arbeitet der ADC mit 20 MHz, so dass fN 10 MHz ist. Obwohl eine Reihe von Filterschaltungen verwendet werden können, wird ein 4-Pol Butterworth Filter in der Spezifischen Ausführung verwendet, da dieser schnell mit der Frequenz abschneidet, nur minimal im Zeitbereich überschwingt und nur vier passive Bauelemente erfordert. Wir haben experimentell überprüft, dass die Energieauflösung des Spektrometers von der Datenaufnahmerate unabhängig ist, wenn das Nyquistkriterium erfüllt ist: Ausführungen, die mit 2, 5, 10 oder 25 MSA und Tiefpässen für 1, 2.5, 5 bzw. 12.5 MHz arbeiten, erbrachten alle identische Energieauflösungen für dreieckförmige Filter mit einer Anstiegszeit von 2 μs, obwohl die Zahl der aufgenommenen Datenwerte in diesen Fällen von 8 bei 2 MSA bis hin zu 100 bei 25 MSA variierte. Einige Autoren, die Verbesserungen der Energieauflösung mit zunehmender Datenaufnahmerate berichteten, haben offensichtlich nicht das Nyquistkriterium erfüllt. Die Wahl der Datenaufnahmerate ist daher hauptsächlich eine Abwägung zwischen einer höheren Rate zur verbesserten Doppelpulsauflösung und einer niedrigeren Rate um die digitalen Verarbeitungskosten zu verringern.
  • 3. FiPPI: Schaltung für Filtern, Pulserkennung und Doppelpulsunterdrückung
  • 3.1. FiPPI Funktionsphilosophie
  • Wie in der Zusammenfassung beschrieben, führt das erfundene Spektrometer das digitale Filtern in zwei Stufen aus. Die erste Stufe, genannt FiPPI , benutzt kombinatorische Logik um Filtern, Pulserkennung und Doppelpulsunterdrückung zu implementieren. Um die Filterschaltungen zu minimieren und die Verarbeitungsgeschwindigkeit zu maximieren sind keine komplexeren Operationen als Addition und Subtraktion in dieser Stufe erlaubt. Um die Geschwindigkeit zu optimieren, werden alle Operationen als Pipeline implementiert, um je einen Wert der Eingangsdaten pro Zeittakt auszuführen. Wenn O(n, j) die Operation Nummer j für Datenpunkt n ist, führen wir also zum Zeitpunkt i gleichzeitig die Operationen O(n, 1), O(n – 1, 2), O(n – 2,3) usw. aus.
  • Dieser Ansatz hat wesentliche Beschränkungen, da keine Kompensationen aufgrund von pulsspezifischen Umständen gemacht werden können, und Filter, die nur Addition und Subtraktion verwenden, nicht genau genug sind um die spektroskopischen Leistungsanforderungen zu erreichen. Deshalb wird, wie in der Zusammenfassung erwähnt, in der zweiten Filterstufe ein DSP benutzt um die für die gewünschte Genauigkeit notwendigen spezifischen Korrekturen zu machen (abhängig von dem Type des Vorverstärkers, den lokalen Arbeitsbedingungen usw.).
  • Dieser Ansatz hat mehrere Vorteile. Zum Einen kann der FiPPI zugleich sehr billig und sehr schnell sein. Zum Beispiel ist er in der bevorzugten Ausführung in einem einzigen FPGA implementiert, wobei ein 20 MSA ADC benutzt wird. Zum Zweiten werden die Funktionen in der zweiten Stufe nur mit der durchschnittlichen Ankunftsrate der Röntgenereignisse ausgeführt, was viel langsamer als die Datenrate des ADC ist (z. B. 500.000 cps im Vergleich zu 20 MSA). Da die notwendigen Korrekturen typisch einfache Formeln sind, ist es zugleich einfacher und schneller, sie nur auf gefundene Pulswerte anstatt auf den eigentlichen Datenstrom anzuwenden (durch Vorkonditionierung oder Entfaltung), was herkömmlich getan wird. In derselben Ausführung, wird nur ein DSP mit 20 MIP für die Verarbeitung in der zweiten Stufe benötigt.
  • Der FiPPI implementiert daher nur trapezförmige Filter in dieser spezifischen Ausführung, was dreieckförmige Filter als eine Unterkategorie beinhaltet. Diese Wahl verschlechtert nicht die Energieauflösung des Spektrometers in der betrachteten Region hoher Zählraten, da dreieckförmige Filter tatsächlich der ideale Typ der Formung in der Region kurzer Formungszeiten ist, in der weißes Rauchen dominant ist, wie Gatti und Manfredi in ihrem Artikel "Processing the Signals from Solid State Detectors in Elementary-Particle Physics" zeigten, erschienen in Revista del Nuovo Cimento (1986) Vol. 9(1), pp. 1–146. Sogar für längere Formungszeiten ist die Dreiecksform noch sehr wirksam; Radeka zeigte in seinem Artikel namens "Low Noise Techniques in Detectors", erschienen in Annual Reviews of Nuclear Particle Science 38 (1988), pp. 217–277, dass sogar für maximale Energieauflösung die Auflösung eines dreieckförmigen Filters nur 8% schlechter als die eines idealen überspitzten Filters ist
  • 3.2. Spezifische Ausführung des FiPPI, Übersicht
  • In einer spezifischen Ausführung ist der FiPPI in einem Field Programmable Gate Array (FPGA) implementiert. Das erlaubt eine hohe Dichte der Logik in einem kleinen Raum. Darüber hinaus kann die Logik des FiPPIs leicht verändert werden, entweder zur Anpassung an neue Bedingungen oder zur Verbesserung des Designs, da sie zu Beginn der Operation von einer Datei geladen wird. In anderen Ausführungen, in denen geringe Kosten oder größere Verarbeitungsgeschwindigkeiten gewünscht werden, kann der FiPPI in einem Application Specific Integrated Circuit (ASIC) oder einer anderen Logikschaltkreis implementiert werden
  • Die Topologie des FiPPI 25 für eine spezifische Implementierung ist skizziert in 5. Der Datenstroms tritt durch den ADC Ausgangsbus 50 ein und wird zugleich in einen langsamen und schnellen Signalkanal geleitet. Die erste Schaltung inm langsamen Kanal, ein Dezimierer 97, verringert die Datenrate des Eingangssignals um einen einstellbaren Faktor. Die Ausgabe wird durch einen langsamen Filter 98 verarbeitet, der trapezförmiges Filtern digital implementiert. Maxima in der Ausgabe des langsamen Filters 98's entsprechen den Energien der gefundenen Röntgenstrahlen und können in einem Ausgangsspeicher 100 als PKVAL Werte aufgenommen werden. Der Ausgangsspeicher 100 kann auch UFVAL Werte direkt von der Ausgabe des Dezimierers 97 aufnehmen. Die Arbeit des langsamen Kanals wird durch drei, vom DSP 27 in den FiPPI 25 geladenen Parameter gesteuert, nämlich einen Dezimierungsfaktor 102 und die Werte 103 für die Länge und Lücke des langsamen Filters.
  • Die Hauptfunktion des schnellen Kanals ist, den Eingangsdatenstrom 50 zu untersuchen und den Ausgangsspeicher 100 zu triggern, um die richtigen Werten des langsamen Filters 98 und Dezimierers 97 festzuhalten. Die erste Schaltung des schnellen Kanals ist ein schneller Filter 105, der auch trapezförmiges Filtern digital implementiert, jedoch mit einer viel kürzeren Zeitkonstante als im langsamen Kanal. Ein Pulsdetektor 107 untersucht seine Ausgabe auf Pulse, die eine festgesetzte Schranke für mindestens eine festgesetzte Zahl von aufeinander folgenden Werten überschreiten, und nimmt dann die Ankunftszeit der Maxima dieser Pulse auf. Diese Ankunftszeiten definieren die Ankunftszeiten der entsprechenden Röntgenstrahlen und werden benutzt um die Zeit der Trigger für den Ausgangsspeicher 100 zu bestimmen. Die Ausgangspulse des Pulsdetektors werden von einem Doppelpulsprüfer 108 untersucht, der Ereignisse ablehnt, deren Maxima im langsamen Filter 98 überlappen würden (Doppelpulse). Jedesmal wenn der Doppelpulsprüfer 108 einen guten Puls findet, triggert er den Ausgangsspeicher 100, den Ausgangswert des langsamen Filters 98 zur Auslese durch den DSP 27 für die zweite Stufe der Verarbeitung festzuhalten. Jeder Ausgangspuls des Pulsdetektors 107 erhöht auch einen Zähler 110 der Eingangsrate (ICR). Wie schon im langsamen Kanal wird die Arbeit des schnellen Kanals durch vom DSP 27 geladenen Parameter gesteuert, nämlich die Länge und, Lücke des schnellen Filters 112, die Werte der Schranke und minimalen Pulsbreite des Pulsdetektors 113 und die Werte der Pulszwischenzeit, der Maximalbreite des schellen Pulses und des Zeitverschiebung für den Doppelpulsprüfer.
  • Jedesmal wenn der Ausgangsspeicher 100 getriggert wird, nimmt er auch zwei weitere Werte auf, nämlich den Wert im ICR Zähler 110 und einen Indikator, der anzeigt, welche Art des langsamen Filterwertes festgehalten wurde. Der Speicher gibt somit vier Werte an den DSP 27 aus: Zwei festgehaltene Werte PKVAL 117 und UFVAL 118, die Zahl der Röntgenstrahlen PLOUT 119 seit der letzten Ausgabe und einen Indikator BLFLG 120, der anzeigt, ob PKVAL 117 die Amplitude eines Röntgenstrahles oder ein Grundlinienwert für Normalisierungszwecke ist.
  • Die letzte Schaltung des FiPPI ist ein Zähler 121 der Aktivzeit, der die tatsächliche Zeit 122 misst, in der das digitale Spektrometer Daten aufnimmt. Dies ist aus zwei Gründen von Vorteil. Erstens ist es sonst schwierig, genau die Zeit der Datenaufnahme zu bestimmen, die vom Steuerungscomputer 28 per Software gestartet werden. Zweitens ist es in einem System mit mehreren Detektoren wichtig, dass jedes Spektrometer seine eigene Aktivzeit genau messen kann, so dass seine Zählraten genau bestimmt werden können.
  • 3.3. Arbeitsablauf der Teilschaltungen der spezifischen FiPPI Ausführung
  • Die Implementierung und der Arbeitsablauf der Teilschaltungen der bevorzugten Ausführung des FiPPI sind in den Schaltzeichnungen in 6 bis 13 zusammen mit ihren zugehörigen typischen Signalformen gezeigt. Diese Schaltungen und Signalformen sind für jemand im Feld der digitalen Elektronik Erfahrenen größtenteils selbsterklärend. In den folgenden Abschnitten werden wir hauptsächlich das Zusammenspiel ihrer Funktionen ausführen und solche Punkte aufzeigen, die nicht offensichtlich sind.
  • 3.3.1. Dezimierer
  • 6A ist eine Schaltzeichnung, mit typischen Signalen in 6B, des Dezimierers 97 in einer spezifischen Ausführung, die für eine Dezimierung um 4 festverdrahtet ist. Er enthält einen Taktteiler 123 und einen Summierer 125 für N Werte, der vier aufeinander folgende Werte von der 10 Bit Eingangsleitung ADCBUS 50 addiert und ihre Summe durch die 10 Bit Leitung CS 147 ausgibt. Falls größere Genauigkeit verlangt wird, können mehr Bits in CS verwendet werden. Mit ähnlichen Mitteln können leicht Schaltungen erstellt werden, die um jeden beliebigen Parameter D_Factor 102 dezimieren.
  • 3.3.2. Langsames Filtermodul
  • Die Funktionswerte des trapezförmigen Filters {Ti} einer Reihe von Datenwerten {di} zu den Zeiten {i} folgen der Gleichung
  • Figure 00200001
  • L und G sind hierbei die Länge Ls und Lücke Gs des langsamen Filters, die als Parameter 103 in das Modul geladen werden. Wenn Gs gleich Null ist, entsteht eine dreieckförmige Filterfunktion. Beide Arten wurden ausführlich in der Literatur über analoge Spektrometer besprochen. Die Amplitude der trapezförmigen Funktion kann unabhängig von der Ladungssammlungszeit gemacht werden, wenn die Lücke Gs hinreichend lang ist und somit das Phänomen des ballistischen Defizits vermeidet. Ihr Rauschabstand für kurze Formungszeiten ist jedoch nicht so gut wie der der dreieckförmigen Funktion. Im vorliegenden Fall kann die Wahl durch Festsetzten der Parameter S_Length und S_Gap 103 getroffen werden.
  • Um lange Summierungen zu vermeiden, die übermäßig FPGA Resourcen verbrauchen und auch zu langsam sind, kann Gl. 3 umgeschrieben werden in: Ti = Ti-l + di – di-L – di-L-G + di-2L-G (4)
  • Da die Teilsumme (di-L-G + di-2L-G) einfach nur die Ls + Gs Zeiteinheiten früher berechnete Teilsumme (di – di-L) ist, stellen wir fest, dass es möglich ist, Ti gemäß Gl. 4 mit nur zwei first-in-first-out (FIFO) Speichern zu berechnen, nämlich einen Ls Bits weiten für die Terme (di – di-L) und einen Ls + Gs Bits weiten für Speicherung der Werte zur Implementierung von Gl. 4. Die Schaltungszeichnung in 7A und die Signalformen in
  • 7B beschreiben die Implementierung des langsamen Filtermoduls 98, das die Werte Ti entsprechend Gl. 4 für eine 10 Bit Eingabe berechnet. Die Weite aller Komponenten des Filters würde sich um 1 Bit für jedes weitere Dezimierungsbit erhöhen. Die Eingabe CS[9 : 0] 147, vom Dezimierer 97 hat eine geringe Steigung vor und nach einem typischen Puls, um den Effekt des Detektorleckstroms und/oder die Auswirkung des ASC 23 zu zeigen.
  • Der FIFO Speicher 148 und Subtrahierer 150 berechnen die Terme (di – di-L), wobei L durch den Parameter PA[4 : 0] 152 bestimmt wird. Der FIFO Speicher 158 und Subtrahierer 160 berechnen die Terme (di – di-L) – di-L-G + di-2L-G). wobei L + G durch den Parameter PB[4 : 0] 162 bestimmt wird. Das Akkumulator 168 bildet dann die Werte Ti aus Gl. 4 für die Leitung FS[11 : 0] 173. Es entstehen Pipelineverzögerungen von 3 Taktzyklen. Die Verwendung von 12 Bits im Akkumulator 168 ist nur eine Abwägung für XAS Anwendungen, wo nur ein geringer Bereich von Röntgenenergien erwartet wird und die Verstärkung des ASC optimal eingestellt werden kann, so dass ein Röntgenpuls etwa 5% des Eingangsbereichs des ADC entspricht. Für einen allgemeineren Entwurf wäre eine größere Zahl von Akkumulatorbits von Vorteil.
  • Aus einer Stufenfunktion in CS[9 : 0] entsteht somit ein trapezförmiger Puls FS[11 : 0], dessen Anstiegs- und Abfallzeit 175 und 177 gleich der "Peakzeit" TPK sind, die wiederum gleich L ist. Sein konstantes Maximum 178 dauert TGP, die "Verweilzeit", die gleich G ist, dem Unterschied zwischen PA 152 und PB 162. Der schwarze Punkt im Signal FS[11 : 0) in 7B zeigt die Zeit tm zu der der Doppelpulsprüfer FS[11 : 0] in den Ausgabespeicher 100 aufnimmt, falls der Puls nicht überlappt. Falls CS[9 : 0] auch aufgenommen wird, geschieht das 3 Zeittakte früher um die Pipelineverzögerungen auszugleichen.
  • Die Ausgabe FS[11 : 0] 173 hat eine von Null verschiedene Grundlinie, die proportional zu der Steigung des Signals CS[9 : 0] 147 ist. Die Pulsamplituden müssen daher im Vergleich zu der Grundlinie gemessen werden, die deshalb auch genau bestimmt werden muss. Des Weitern, falls die Steigung von CS[9 : 0] nicht konstant mit der Zeit ist (wie für einen CD Vorverstärker), muss die Grundlinie lokal für jeden gefundenen Röntgenpuls gemessen werden.
  • Die Kombination von Dezimierer 97 und langsamen Filter 98 erlaubt Anstiegszeiten von bis zu 400 Werten (20 μs für einen 20 MSA ADC) mit nur 32 Zellen weiten FIFOs und einem 12 Bit Akkumulator, während eine direkte Implementierung 400 Zellen weite FIFOs und einen 18 Bit Akkumulator benötigen würde. Dies benötigt nicht nur weniger FPGA Resourcen, sondern die kürzeren Wortlängen erlauben der Schaltung auch, schnell genug in einem billigeren FPGA als sonst nötig zu laufen.
  • 3.3.3. Spezifische Implementierung des FIFO
  • 8A und 8B zeigen eine Schaltung und Signalformen für eine spezifische Implementierung des FIFO 148 mit einem Xilinx 4000 FPGA für Ls gleich 3. Die anderen FIFOs im Entwurf sind entsprechend implementiert. Zehn Speicherzellen zu je 32 Bit (eine Zelle pro Datenbit), werden periodisch durch einen periodischen Adresszähler 185 adressiert, dessen Ausgabe QC gegenüber dem Takt 128 phasenverschoben ist. Die Xilinx Speicher zeigen somit zuerst ihre gespeicherten Daten 0[9 : 0] wenn sie von QC adressiert werden, die von den Zwischenspeichern 188 aufgenommen werden. Die Werte werden dann mit neuen Werten aus C 147 überschrieben, wenn der Takt positiv wird. Somit wird eine Lese- und eine Schreiboperation in einem einzelnen Taktzyklus ausgeführt, wobei die Ausgabewerte gegenüber den Eingabewerten um PA 152 Takte verzögert sind.
  • 3.3.4. Schneller Filter
  • Der schnelle Filter 105 ist in genau der selben Weise wie der langsame Filter implementiert, nur dass er seine eigenen Steuerungsparameter F_Length und F_Gap 112 hat und direkt mit der 10 Bit Ausgabe 50 des ADC 48 arbeitet. Seine Anstiegs- und Verweilzeit aus Gl. 4 werden Lf und Gf genannt, wobei der Index f für "schnell" steht .
  • 3.3.5. Doppelpulsunterdrückung
  • 3.3.5.1. Die Bedeutung von Doppelpulsen
  • Um Doppelpulsunterdrückung zu verstehen, muss man verstehen wie sich die Ausgaben des langsamen Filters 9B und des schnellen Filters 105 als Funktion des Zeitintervalls zwischen aufeinander folgenden Eingangspulsen ändern. 9A9G liefern diese Informationen durch die gezeigte Überlagerung von Ausgangssignalen des schnellen Filters 192 und des langsamen Filters 193 wobei sich die Zeit zwischen zwei Eingangspulsen verringert. Solange die beiden Pulse ausreichend voneinander getrennt sind (9A9C), bleibt die Maximalamplitude des langsamen Filters eine gültige Messung der Röntgenenergie. Für kürzere Zeiten überlappen diese Pulse und müssen ausgesondert werden. Die kürzeste erlaubte Trennung ist wenn der zweite Puls (korrigiert für Pipelineverzögerungen) einen Takt nach der Messung der ersten Pulses beginnt. Sonst überlappen die beiden Pulse. Wenn das Intervall zwischen den Pulsen weiter verkleinert wird, werden sich auch die schnellen Pulse schließlich überlageen und ebenso überlappen (9E9F).
  • 3.3.5.2. Pulserkennung
  • Die erste Aufgabe ist, Pulse zu erkennen, was die Aufgabe des Pulserkenners 107 ist. Die bevorzugte Implementierung bietet eine verbesserte Leistung im Vergleich zu klassischen Diskriminatoren, die Fluktuationen in der Zeitberechnung haben und nicht gut mit Pulsen nahe am Rauschhintergrund funktionieren. Hier, wie in der Schaltung und den Signalformen in 10A10B gezeigt, wird eine Schranke 195 durch einen Parameter PC 207 festgelegt. Die Signalwerte FF 205 werden aber nur dann als ein Puls angesehen, wenn sie die Schranke zumindest eine minimale Zahl min_width 113 (bestimmt durch den Parameter PD 208) hintereinander überschreiten. Wenn diese Bedingung erfüllt ist, werden die Signale RFP 223 und SFP 225 generiert. RFP dauert so lange wie FF über der Schranke bleibt. Die Werte der Schranke 195 und von min_width 113 kann verändert werden, um Unempfindlichkeit gegenüber dem Rauschen zu erhöhen, wenn mit niederenergetischen Röntgenstrahlen gearbeitet wird, die nur wenig über den Rauschhintergrund aufsteigen.
  • 3.3.5.3. Bestimmung der Ankunftszeit
  • Die zweite Aufgabe ist, die Ankunftszeit der Pulse zu bestimmen, was die Funktion des Blocks 240 des Doppelpulsprüfers 108 ist, wie in der Schaltung und den Signalformen in 11A11B gezeigt. Hier wird die Position des schnellen Pulses nicht durch das Überschreiten der Schranke 195 bestimmt, sondern durch den Zeitpunkt T3 196 (siehe 9) seines Maximums. Immer wenn RFP 223 logisch eins ist, vergleicht dieser Block FF 173 mit vorher aufgenommenen Maximalwerten im Zwischenspeicher 250, und setzt FTOP 255 jedesmal zu logisch eins, wenn ein neues Maximum gefunden wird. Die Positionen der Ankunftszeit TS 196 sind nun im wesentlichen unabhängig von der Amplitude, was Fluktuationen in der Zeitberechnung sehr vermindert und etwaige energieabhängige Verfälschungen in der Bestimmung der Amplitude der Pulse des langsamen Kanals vermeidet.
  • 3.3.5.4. Aufnahme der Amplitude des langsamen Pulses
  • Wenn ein Puls erkannt wurde, muss der FiPPI bestimmen ob er kein Doppelpuls ist und gegebenenfalls seine Amplitude im langsamen Kanal aufnehmen. Die eigentliche Aufnahme wird durch den Ausgabespeicher 100 durchgeführt, der in mehr Detail in 11A gezeigt ist und durch das Signal PSAM 298 getriggert wird. Die Wahl des Zeitpunkts der Aufnahme der Amplitude des langsamen Pulses ist konzeptionell offensichtlich, wie in 9A gezeigt. Der gewünschte Aufnahmezeitpunkt T4 198 ist in der Mitte des Verweilzeit des Trapezes. Da die digitale Verarbeitung in sowohl dem schnellen als auch dem langsamen Kanal in einer festen Anzahl von Schritten geschieht, ist T4 198 von der Ankunftszeit des schnellen Pulses T3 196 durch eine konstante Zeit TS 194 getrennt, die nur von FiPPI Steuerungsparametern wie D_Factor 102, S_Length und S_Gap 103, und F_Length und F_Gap 112 abhängt. Deshalb kann ein Zähler TS 194 nach der Erkennung eines schnellen Pulses messen und die Ausgabe des langsamen Filters 98 in den Speicher 100 übertragen.
  • 3.3.5.5. Doppelpulsunterdrückung im langsamen Kanal
  • Die digital im FiPPI implementierte Doppelpulsunterdrückung ist sinngemäß der in herkömmlichen analogen Spektrometerschaltungen vergleichbar, die verlangt, dass aufeinander folgende Pulse um ein Mehrfaches der Anstiegszeit des langsamen Kanals voneinander getrennt sind. Für analoges dreieckförmiges Filtern wird häufig ein Mehrfaches von 1,5–2,5 verwendet. Wie in 9A gezeigt, müssen für wirklich trapezförmiges Filtern aufeinander folgende Pulse nur um eine einzige Anstiegszeit des langsamen Filters plus die Hälfte der Verweilzeit getrennt sein. Die Tatsache, dass analoge "dreieckförmige" Pulse sich deutlich länger als eine Anstiegszeit auf der abklingenden Seite des Pulses hinziehen, ist die Ursache ihrer verlängerten Trennungszeit. Digital generierte Pulse schneiden scharf ab, wie in 7B gezeigt, was es erlaubt kürzere Trennungszeiten zu verwenden. Die daraus entstehende Erhöhung der maximalen Zählraten um 2 oder mehr wurde demonstriert.
  • Die Doppelpulsunterdrückung an der abfallenden Seite wird durch Block 243 in der in 11A gezeigten Schaltung mit Signalformen in 11B ausgeführt, der die Zeit zwischen aufeinander folgenden Endpunkten des Signals FTOP 255 misst. Wenn das FTOP Signal endet, das das Maximum des schnellen Pulses und somit seine Ankunftszeit kennzeichnet, wird der Interval_1 Zähler 260 gestartet, der mit dem Parameter PF 268, der Doppelpulsprüfungszeit, geladen wurde. Wenn der Zähler erfolgreich überläuft und der in FF16 265 gespeicherte Wert anzeigt, dass der Puls kein Doppelpuls am ansteigenden Ende war, dann wird dem zweiten Intervallzählerblock 245 ein Signal gegeben, das Zählen der Zeit TS 194 zu erfüllen, zu der der Puls im langsamen Kanal aufgenommen werden soll. Der Interval_2 Zähler muss die Pipelineverzögerungen im langsamen Kanal berücksichtigen, der mit einem dezimierten Takt arbeiten kann.
  • Wenn der Interval_1 Zähler 260 überläuft, wird er wieder gestartet und der Pass_Cnt Zähler 261 wird erhöht. Wenn der Interval_1 Zähler 260 ein zweites Mal überläuft, bedeutet das, dass die Zeit zwischen den Pulsen lang genug für die Ausgabe des langsamen Filters war, um zur Grundlinie zurückzukehren. In diesem Fall, wenn der DSP 27 den Indikator BLCOL 315 gesetzt hat, wird der Interval_2 Zähler 245 getriggert, um die Aufnahme einer Grundlinie auszulösen. Das Bit BL wird von den Speichern 100 als Ausgabewert BLFLG 120 aufgenommen, um diesen Zustand anzuzeigen.
  • Ob ein Puls ein Doppelpuls am ansteigenden Ende ist oder nicht wird durch das Flip-Flop FF16 265 bestimmt, das den Wert des Pass Cnt Zählers 261 jedesmal speichert, wenn ein neuer schneller Puls erkannt wird, wie durch das Signal SFP 228 angezeigt. Wenn dieser Wert gleich 1 ist, ist mindestens eine Zeit PF 268 seit dem letzten Puls verstrichen.
  • Wenn die ungefilterte Ausgabe CS (siehe 7B) benötigt wird, muss sie 3 langsame Zeittakte vor der Zeit T4 198 aufgenommen werden, d. h. bevor der Interval_1 Zähler bestimmt hat, ob der Puls gültig ist. Diese Zeit wird daher durch den Komparator CMP23 262 bestimmt, der die Aufnahme des entsprechenden Wertes von CS in einen Zwischenspeicher 307 verursacht, von dem er in den Ausgabespeicher 100 übertragen werden kann, wenn der Puls gültig ist.
  • 3.3.5.6. Test für schnelle Doppelpulse
  • Ein erster Test für schnelle Doppelpulse ist in Block 242 in 11A implementiert, der die Dauer des schnellen Pulses in der Höhe des Schwellenwertes 195 misst. Wenn dieser Wert TW größer als ein Maximalwert TM 200 ist, muss es sich um einen Doppelpuls im schnellen Kanal handeln und der Pulswert in langsamen Kanal wird ungültig sein, siehe 9E9F. Wenn dieses Ergebnis gefunden wird, wird es im Flip-Flop 265 gespeichert, was die Aufnahme des langsamen Pulswerts verhindert. Da der Parameter TM und der Schwellenwert beide von Fall zu Fall angepasst werden können, ist dies ein sehr effektiver Test in Verbindung mit unserer Schaltung zur Erkennung des schnellen Pulses. für quasi-monochromatische Röntgenstrahlen wie in XAS können die Parameter so eingestellt werden, dass Doppelpulsraten um 3 Größenordnungen geringer als mit herkömlichen analogen Tests erreicht werden.
  • 3.3.5.7. Eingangsratenzähler und Zeitmesser
  • Die Schaltung und Signalformen in 12A12B zeigen eine Ausführung des Eingangsratenzählers 110 des FiPPI 15 (siehe 5). Diese Schaltung benutzt das Ankunftssignal des schnellen Pulses SFP 228 und die Ausgabe Q10[0] 270 des Pass_Cnt Zählers 261 um die Gesamtzahl der Röntgenpulse für jeden gefundenen gültigen Röntgenpuls aufzunehmen. Seine Ausgabe NSFP 340 kann vom DSP 27 zur gleichen Zeit wie die Ausgabespeicher 100 ausgelesen werden.
  • Die Schaltung in 13 zeigt eine Ausführung des Aktivzeitzählers 121 des FiPPI 15 (siehe 5). Diese Schaltung zählt ein dezimiertes Taktsignal immer dann wenn der DSP 27 durch C_Enable 373 anzeigt, dass er im Datenaufnahmemodus ist.
  • 3.3.5.8. Optionaler Test für schnelle Doppelpulse
  • Ein zweiter Test auf schnelle Doppelpulse kann gemäß der in 14A14B gezeigten Schaltung und Signalformen zusätzlich implementiert werden. Diese Schaltung misst die Dauer des schnellen Pulses an der Hälfte des Maximalwertes. Dies kann leicht durch andere Verhältnisse ersetzt werden. Der Zähler Inspect_1 bestimmt die Testzeit PL 362 während der Zähler Half_Width 357 die Pulsdauer mit dem maximal erlaubten Wert PK vergleicht. Das Signal des schnellen Pulses FF 173 wird durch FIFO10 353 um PJ 358 Schritte verzögert bis Q7 251 die Möglichkeit hat, seinen Maximalwert zu erreichen. Falls dieser Test den schnellen Puls als einen Doppelpuls erkennt, kann die Ausgabe MWID1 367 verwendet werden um das Flip-Flop 265 zu setzten, um die Aufnahme des langsamen Pulses zu verhindern.
  • Dieser Test funktioniert besonders gut wenn Pulse mit einer großen Spanne von Amplituden vorkommen, was die Optimierung der Tests für schnelle Doppelpulse für Pulse mit kleiner Amplitude verhindert, für die der Schwellenwert ein beträchtlicher Teil der Pulsamplitude sein kann. In diesem Fall kann es häufig vorkommen, dass zwei Pulse mit kleiner Amplitude überlappen und trotzdem die Summe ihrer Pulsdauern geringer als der Testwert der Sockelbreite ist.
  • 3.3.6. Optionaler Ausgabespeicher
  • Obwohl nicht in dieser spezifischen Implementierung gezeigt, haben wir es von Vorteil gefunden, für Systeme, die für höchste Zählraten entworfen werden, die drei Ausgabespeicher 100 durch drei kurze FIFOs zu ersetzen, die jeweils mehrere gefundene Werte aufnehmen können. Diese Veränderung gibt dem DSP mehr Flexibilität in der Auslese der gefundenen Pulswerte vom FiPPI. In der gezeigten bevorzugten Implementierung arbeitet der DSP mit Interrupts, d. h. er unterbricht seine Berechnungen, um jedesmal wenn es ihm angezeigt wird die aufgenommenen Werte in weniger als 0,5 μs auszulesen. Obwohl diese Methode weniger FiPPI Resourcen benötigt, braucht sie mehr und im Durchschnitt langsameren DSP Programmcode um die Interruptroutinen zu bedienen. Mit der optionalen FIFO Ausgabe kann der DSP den FiPPI zu einem bestimmten Zeitpunkt seiner Verarbeitungsroutine nach Daten abfragen und wird niemals unterbrochen, was die durchschnittliche Verarbeitungsgeschwindigkeit erhöht. Diese Implementierung ist daher bevorzugt, wenn die allerhöchsten Datenraten bewältigt werden müssen.
  • Wir haben diese Operation modelliert und festgestellt, dass dieser Zwischenspeicher nur etwa 4 Ereignisse groß sein muss um die überwiegende Mehrheit aller Ereignisse aufzunehmen, falls der DSP 27 DSPFLAG 302 mindestens einmal pro verarbeiteten Ereignis abfragt und schnell genug ist, Ereignisse mit ihrer durchschnittlichen Rate zu verarbeiten.
  • 4. DSP: Computer und Logik zur digitalen Signalverarbeitung
  • 4.1. DSP Overview
  • Entsprechend der Philosophie unseres Entwurfs führt der DSP die Aufgaben, Routinen und Berechnungen aus, die entweder nur pro Ereignis oder weniger oft zur Aufrechterhaltung von systemweiten Funktionen notwendig sind. Wie in 2 gezeigt, beinhalten die wesentlichen Aufgaben des DSP 27 die Zusammenarbeit mit dem Allzwecksteuerungscomputer und Schnittstelle 28, Einstellen und Steuerung des ASC 23 und Aufnahme, Korrektur und Einsortieren von Datenwerten vom FiPPI 25. In der allgemeinen Anwendung der Erfindung können diese Funktionen durch eine große Zahl von Kombinationen von Prozessor und Speicher erfüllt werden; die Auswahl für eine bestimmte Ausführung ist im wesentlichen eine Entwicklungsentscheidung abhängig von Überlegungen zu Kosten, Geschwindigkeit, Abmessungen und so weiter.
  • 4.2. DSP Hardwareimplementierung
  • Ein NEC μPD77016 Prozessor wird in der spezifischen Ausführung verwendet. Er wurde gewählt, weil er ein schneller, preiswerter, 16 Bit DSP ist, mit ausreichend internem Speicher für sowohl sein Steuerungsprogramm als auch für das von der MCA Funktion generierte Spektrum. Sein 2.0 K X-data Speicher ist für MCA Spektren bestimmt, was Spektren von bis zu 1029 Werten erlaubt, jeweils 32 Bit lang (oder ausreichend für mehr als 4 Milliarden Ereignisse). Sein 2.0 K Y-data Speicher enthält die für die Steuerung des Systems notwendigen Variablen und Konstanten, Daten für die Überwachung der Systemleistung, und einen periodischen Zwischenspeicher zur kurzfristigen Speicherung von FiPPI Ereignissen zur MCA Verarbeitung. Interne Speicher sind für die Erfindung nicht notwendig, verringern aber die Anzahl der Bauteile und Kosten, und könen höhere Arbeitsgeschwindigkeiten ermöglichen. Der DSP führt Programmschritte mit der Hälfte der von außen angelegten Frequenz aus und wird mit genau der doppelten Frequenz als ADC und FiPPI getaktet, um je einen Programmschritt synchronisiert mit der Datenaufnahme des ADC auszuführen. Er hat 4 externe Interruptleitungen, was ihm erlaubt, auf den ASC 23, den FiPPI 25, und den externen Steuerungscomputer 28 zu reagieren.
  • Die allgemeine Thematik von Programmierung und Interrupts für Mikroprozessoren und DSPs sind jemand im Feld Erfahrenen gut bekannt und werden nicht im Detail beschrieben. Wir zeigen grundlegende Flussdiagramme der Steuerungsprogramme und konzentrieren die Aufmerksamkeit auf die spezifischen Algorithmen, die erfunden wurden um die gewünschten Funktionen des Instrumentes zu erreichen.
  • 4.3. DSP Softwarebeschreibung, Übersicht
  • 4.3.1. Überwachungs- und Steuerungsprogramm
  • 15 zeigt ein Flussdiagramm zur Übersicht des in der spezifischen Ausführung benutzten Überwachungs- und Steuerungsprogramms. Fett gedruckte Pfeile zeigen den Verlauf des Programms durch einen Datenaufnahmenzyklus an. Die Arbeit beginnt mit dem Laden des Programms in den DSP und seiner Initialisierung 380, einschließlich der Einrichtung von Registern und Initialisierung der Konstanten im Y-data Speicher. Das Programm geht dann zu seiner grundlegenden Programmschleife über, dem CAMAC Monitoring Task 382. In der spezifischen Ausführung wurde die Schnittstelle zum Steuerungscomputer gemäß dem CAMAC Schnittstellenstandart, IEEE Standard 583–1975, aber diese Wahl ist nicht wesentlich für die Arbeitsweise der Erfindung. In dem CAMAC Monitoring Task 382 sitzt der DSP in wesentlichen in einer Schleife und wartet auf Interrupts.
  • Datenübertragungen von und zu dem DSP werden durch den Steuerungscomputer 28 durch seine Schnittstelle zum digitalen Spektrometer 22 begonnen. Details der Implementierung solcher Schnittstellen sind jemand im Feld Erfahrenen gut bekannt. Solche Anfragen für Datenübertragungen veranlassen die Schnittstelle, einen Transfer Interrupt 383 an den DSP zu senden. Wenn ein solcher Transfer Interrupt 383 empfangen wird, geht der DSP zu Transfer Data To/From DSP 385 über. Er liest dann zwei Statusregister in der Schnittstelle 28 und benutzt deren Inhalt um zu bestimmen, ob er ein Datenwort von einem Schnittstellenregister in eine Zelle im DSP Speicher übertragen soll oder umgekehrt. Er führt die verlangte Übertragung aus und kehrt dann zum CAMAC Monitoring Task 382 zurück. Mehrfachwortübertragungen werden entsprechend durch den Blockdatenübertragungsmodus des DSP mit Datenraten bis zu 2 MBytes/Sekunde implementiert.
  • Bevor das digitale Spektrometer 22 effektiv gesteuert werden kann, braucht es die Werte einer Reihe von Konstanten und Steuerungsparameter, die entweder durch den Steuerungscomputer 28 geladen (z. B. die FiPPI 25 Filterzeiten) oder experimentell durch Kalibrierung des Systems bestimmt werden müssen (z. B. ein Schätzwert für den Steigungs-DAC 38). Besonders zu beachten ist das Steuerungswort RUNTASKS, das eine Reihe von Indikatoren zur Steuerung des Programmablaufs des DSP enthält. Wenn ein Acquisition Interrupt 387 empfangen wird, wird der Acquisition Type 388 durch Testen von RUNTASKS bestimmt.
  • 4.3.1.1. Test- und Kalibrierungsroutinen
  • Wenn Acquisition Type gleich Test/Calibrate 390 ist, führt der DSP die Test- und Kalibrierungsroutinen 392 aus, die zur Überprüfung der korrekten Arbeitsweise des Systems und zur Kalibrierung der DAC Steuerung für den ASC benutzt werden. Diese beinhalten:
    • 1) Schreiboperationen zum Bias- 32, Offset- 37, Steigungs- 38, und Verstärkungs-DAC 43 zur Festlegung des Arbeitspunktes des ASC 23.
    • 2) Messung der Gesamtverstärkung des Systems, indem zuerst der Signaleingang vom Spektrometer 22 getrennt wird, und dann die Ausgabe des ADC 48 für eine Reihe von durch den Bias-DAC an den Operationsverstärker 30 angelegten Spannungswerten aufgenommen wird. Die Steigung dieser Funktion ergibt die Zahl der ADC-Einheiten pro Volt Eingangsspannung, was einfach die Verstärkung des digitalen Spektrometers ist. Dies kann mit der Verstärkung des Vorverstärkers (in Volt pro eV der Röntgenenergie) multipliziert werden, um die Gesamtverstärkung des Systems in ADC Einheiten pro eV zu erhalten. Falls die Verstärkung des Vorverstärkers nicht bekannt ist, kann diese Konstante durch eine Messung einer bekannten Röntgenenergie bestimmt werden.
    • 3) Kalibrierung des Offset-DAC 37 in ADC Einheiten, durch denselben Prozess wie in obiger Routine 2), um die Normalisierungskonstante DACperADC zu bestimmen; die Zahl der Offset-DAC Schritte um die Ausgabe des ADC um eine Einheit zu ändern.
    • 4) Kalibrierung des Steigungsgenerators, indem der Steigungs-DAC 38 auf einen bekannten Wert gesetzt wird und die Zeit gemessen wird, bis das generierte Signal aus dem Eingangsbereich des ADC herausgeht. Die Steigung hängt nur vom Eingangsstrom vom Steigungs-DAC 38 und dem Wert des Kondensators 72 ab, was somit einen guten zweiten Test des Wertes von DACperRDC liefert.
    • 5) Testen der differentiellen und integralen Nonlinearität des ADCs unter Verwendung des ASC Steigungsgenerators als ein bekanntes Eingangssignal.
    • 6) Überwachung der ASC Interrupts ohne Aufnahme von Spektren.
    • 7) Aufnahme der Ausgangssignale des ADC durch den DSP. Diese Funktion, in der die Kombination aus ADC und DSP im wesentlichen als ein einfaches digitales Oszilloskop arbeitet, kann besonders nützlich zur Fehlersuche in Problemen mit dem Detektor sein, da es erlaubt, typische Signalformen aufzunehmen.
    • 8) Aufnahme der Ausgabewerte C[9 : 0] 147 des Dezimierers im FiPPI. Dies ist dieselbe Unterfunktion wie Routine Nr. 7, außer dass sie mit der langsameren Ausgabe des Dezimiereres arbeitet.
    • 9) Prüfen der korrekten Arbeitsweise des gesamten Spektrometers, indem zuerst der Eingang 22 des Spektrometers abgekoppelt wird und dann ein Spektrum von durch den Bias-DAC 32 erzeugten Spannungsstufen aufgenommen wird, um Röntgenstrahlen zu simulieren. Das ausgegebene Spektrum sollte einen einzigen schmalen Peak enthalten, dessen Position ein Maß für die Gesamtverstärkung des Systems ist und dessen Breite das Rauschen des Spektrometers misst. Dieser Test ist ein wertvolles Diagnoseverfahren zur Überprüfung, dass das gesamte Instrument korrekt mit die eingestellten digitalen Filterparameter arbeitet.
  • Diese Tests erlauben es der Erfindung des digitalen Spektrometers sich zugleich selbst zu testen und selbst zu kalibrieren, und sind darüber hinaus nützlich für die Qualitätskontrolle während der Herstellung. Im normalen Arbeitsablauf führt der Steuerungscomputer 28 vor der eigentlichen Datenaufnahme eine Reihe dieser Tests aus um sicherzustellen, dass das Spektrometer korrekt funktioniert.
  • 4.3.1.2. Datenaufnahme
  • Wenn der Acquisition Interrupt vom Typ Data 393 ist, geht der DSP zur Routine Start Data Acquisition 395 über und führt die folgenden Maßnahmen aus, um sich auf die Datenaufnahme vorzubereiten (für einen PR Vorverstärker).
    • 1) Setzt den Bias-DAC 32, Offset-DAC 37, Steigungs-DAC 38, und Verstärkungs-DAC 43 des ASC auf spezifischen Werte, bestimmt durch den Bereich der Röntgenenergien, die Merkmale des Vorverstärkers und Anfangsschätzwerte der Zählrate.
    • 2) Setzt die MCA Daten und Statistiken auf Null zurück.
    • 3) Schreibt die Steuerungsparameter Dezimierungsfaktor 102, Länge und Lücke des langsamen Filters 103, Länge und Lücke des schnellen Filters 112, Testwerte des Pulsdetektors 113, und die Werte der Doppelpulsunterdrückung 115 in den FiPPI und startet die Arbeit des FiPPI erneut.
    • 4) Initialisiert die Überwachung des ASC durch Beobachten des Zeitverlaufs der ADC Werte, wobei der Steigungsgenerator deaktiviert ist. Schätzt die Steigung der linear ansteigenden Spannung im Vorverstärkersignal und berechnet einen passenden Wert für den Steigungs-DAC 38. Dann lädt den Zurücksetzungswert in den Offset-DAC 37 und aktiviert den Steigungsgenerator 35.
    • 5) Aktiviert den ASC Comparator Interrupt um Interrupts an den DSP zu senden, wenn das Ausgangssignal des ASC 28 den Eingangsbereich des ADC 48 übersteigt.
    • 6) Nimmt eine Reihe von Anfangswerten der Grundlinie des langsamen Filters auf und berechnet den Grundliniendurchnittswert und seine Varianz.
    • 7) Richtet die Adressen des periodischen Ereignisspeichers im DSP Y-data Speicher ein um sich auf die Aufnahme von Daten vom FiPPI vorzubereiten.
    • 8) Aktiviert das FiPPI Interrupt Signal DSPFLAG 302, was dem FiPPI erlaubt, dem DSP anzuzeigen, wenn er eine gültige Pulsamplitude aufnimmt.
  • 4.3.1.3. Data Acquisition Task
  • Falls eine dieser Prozeduren nicht gelingt, wird das Programm beendet, anderenfalls geht es zum Data Acquisition Task 402 über. Diese Funktion ist dafür entworfen, kurzzeitig Datenankunftsraten bis zu 2.000.000 cps zu bewältigen (was der Kehrwert der miminalen Anstiegszeit von 0,5 μs im langsamen Kanal ist), und die Daten mit einer durchschnittlichen rate von 500.000 cps zu verarbeiten. Dies wird erreicht, indem die eingehenden Daten in einem periodischen Zwischenspeicher gespeichert werden, was ein schneller, durch Interrupts gesteuerter Prozess ist, und sie kontinuierlich in der Zeit zwischen den Interrupts verarbeitet werden. Dies reduziert die durchschnittliche Verarbeitungszeit um etwa einen Faktor 9 und erlaubt die Verwendung eines viel preiswerteren DSPs.
  • Die Routine Capture FiPPI Data 405 führt den Schritt der Datenaufnahme aus. Der DSP liest hier zwei 16 Bit Worte aus dem FiPPI, die die Werte PKVAL 117, UFVAL 118, BLFLG 120 und PLOUT 119 enthalten. Er schreibt diese beiden Worte dann in den periodischen Zwischenspeicher und erhöht die Zeiger auf ihre Adresse. Diese Operationen benötigen nur 5 oder 6 Taktzyklen. Das Programm kehrt dann zum Data Acquisition Task 402 zurück, um etwaige im periodischen Zwischenspeicher verbleibende Daten zu verarbeiten. Dies geht weiter bis entweder eine vorher festgelegte Anzahl von Ereignissen verarbeitet wurde, oder ein Data Acquisition Stop 407 auftritt. In beiden Fällen geht das Programm zu Finish Data Acquisition 408 über, dessen hauptsächliche Funktion es ist, den ASC Comparator Interrupt 45 und den FiPPI Interrupt 302 zu deaktivieren, alle restlichen Daten im periodischen Zwischenspeicher zu verarbeiten und den Wert des Aktivzeitzählers 121 festzuhalten. Das Programm kehrt dann zum CAMAC Monitoring Task 382 zurück, wo die aufgenommenen Daten ausgelesen werden können.
  • Das Data Acquisition Task 402 kann auch, immer wenn die Ausgabe des ASC 23 den Eingangsbereich des ADC 48 übersteigt, durch den ASC Interrupt 410 unterbrochen werden, was eine Verzweigung zu der Routine Fix ADC Out of Range Condition 412 erzwingt, wie unten beschrieben. Wenn die korrekte Arbeitsweise des ASC wiederhergestellt ist, kehrt das Programm zu der Verarbeitung der Daten im periodischen Zwischenspeicher zurück.
  • 4.3.2. Programm des Data Acquisition Task
  • 16 zeigt ein Flussdiagramm einer spezifischen Ausführung des Data Acquisition Task 402. Dieses Diagramm wird für in der Programmierung von Steuerungscomputern Erfahrene größtenteils selbsterklärend sein. Abgesehen von allgemeinen Anmerkungen werden wir unsere Ausführungen auf diejenigen Funktionen konzentrieren, die einzigartig in der erfundenen Spektrometerfunktion sind. Das Programm ist im wesentlichen eine Schleife, die Daten aus dem periodischen Zwischenspeicher verarbeitet bis es gestoppt wird, weil entweder der Test NEVENTS = MAX? 463 erfüllt ist oder bis ein entsprechender Wert für RUNTASKS im Test RUN ENDED? 440 gefunden wird. Jedes 256. Mal in der Schleife wird ein unabhängiger Test zum Zustand des ADCs ausgeführt und ein Schätzwert der Grundlinie vom langsamen Filter aufgenommen, um BASELINE ESTIMATE 438 zu aktualisieren, was weiter unten beschrieben wird. Die Zahl 256 ist nicht entscheidend und wurde gewählt, so dass die Grundlinie häufig genug aktualisiert wird um veränderten experimentellen Bedingungen nachzufolgen, aber nicht so oft, dass es eine wesentliche Rechenbelastung im Data Acquisition Task 402 ist.
  • In der Verarbeitungsschleife wird, nachdem die Daten eines guten Ereignisses vom Speicher 452 gelesen wurden, die Gesamtzahl von Ereignissen 453 um den Wert PLOUT 119 erhöht. Die Gesamtzahl kann durch die gespeicherte Aktivzeit dividiert werden, um einen Schätzwert der tatsächlichen Eingangszählrate zu erhalten. Es können auch Statistiken zu PLOUT geführt und dazu benutzt werden, falsche experimentelle Bedingungen wie übermäßigen Fluss zu entdecken. Der DSP führt dann die Berechnungen und Korrekturen für Verzerrungen durch den ASC 23 oder andere Gründe aus, die zur Berechnung einer genauen Röntgenenergie 455 aus der Werten PKVAL 117 und UFVAL 118 des langsamen Filters notwendig sind. Die gewählten Algorithmen müssen der Kombination aus Detektor und Vorverstärker angepasst sein, mit der das erfundene Spektrometer verbunden ist. Dies ist ein Bestandteil der Erfindung und wird unten weiter beschrieben. Wenn die Energie bestimmt wurde, kann sie skaliert werden um ein Bin 458 der Multikanalanalyse (MCA) zu berechnen, und dieses Bin kann erhöht werden 460 um ein Histogramm der des Spektrums der gefundenen Röntgenstrahlen zu erstellen, wobei Methoden benutzt werden, die jemand in diesem Bereich Erfahrenen gut bekannt sind.
  • 4.4. Algorithmen zur Steuerung des Spektrometers und für Berechnungen im Spektrometer
  • Da die vorliegende Erfindung des digitalen Spektrometers drei miteinander verbundene Module enthält, nämlich ASC 23, FiPPI 25 und DSP 27, sind mehrere neuartige Algorithmen notwendig um sie effektiv zu steuern. Diese werden in den folgenden Abschnitten beschrieben.
  • 4.4.1. Zurückbringen des ADC in den Eingangsbereich
  • Die Ursache dieses Problems besteht darin, dass wegen Fluktuationen in der Eingangszählrate die Ausgabe der analogen Unterschaltung des ASC, die der verstärkte Unterschied zwischen dem Eingangssignal des Vorverstärkers und dem LFF Funktionsgenerator 35 ist, vorübergehend außerhalb des Eingangsspannungsbereichs des ADC 48 (d. h. der Bereich zwischen LL to UL in 1E) fallen kann. Dies ist in 17A und 17B illustriert. 17A zeigt die häufigsten Fälle, in denen eine vorübergehend hohe (Signal B) oder niedrige (Signal C) Zählrate wieder zur Durchschnittsrate zurückkehrt. Da die Ankunft der Röntgenstrahlen aber völlig zufällig ist, wird ein Bruchteil der Fälle wie in 17B erscheinen, wo hohe (Signal D) oder niedrige (Signal E) Ankunftsraten lange genug anhalten, um den Eingangsbereich des ADC zwischen LL und UL zu verlassen. Das macht den Datenstrom des FiPPI 25 ungültig, und der DSP 27 muss korrigierend eingreifen. Er tut das durch Anpassung des Signals zu den DACs 37 und 38, die den LFF Generator 35 steuern, bis das Ausgangssignal des ASC in den Eingangsbereich des ADC zurückkehrt. 17C und 17D zeigen zwei Beispiele in denen der DAC 37 angepasst wird.
  • Häufig vorkommende Fluktuationen beinhalten Zurücksetzungen des Vorverstärkers, Ereignisse durch kosmische Strahlen im Detektor und statistische Fluktuationen in der Ankunftsrate der Röntgenstrahlen im Detektor.
  • Der in 18 gezeigte Algorithmus wurde entworfen, um solche Situationen schnell und effizient zu beheben, und stellt die korrekte Arbeitsweise in der bevorzugten Implementierung in weniger als etwa 2 μs wieder her. Mit den folgenden wenigen Anmerkungen sollte dieser Algorithmus jemand in der Programmierung von Computern Erfahrenen verständlich sein. Die Aktionskästen "Move Down 1" 495 und "Move Up 1" 504 beziehen sich auf Anpassungen des DAC 37, wobei ein "Einheitsschritt" die Zahl der DAC Bits ist, die für eine Verschiebung um einen halben Eingangsbereich des ADCs notwendig ist, wie in 17C und 17D gezeigt. Der Kasten "Reset" 498 bedeutet, dass ein Zurücksetzten des Vorverstärkers entdeckt wurde, was auch ein Zurücksetzten LFF Generator 35 notwendig macht, wofür der Schalter 75 benutzt wird und der DAC 37 auf seinen Standardwert zurückkehrt. Der Kasten "If ABS(FLAG) = 1, Update Tracker" 511 bedeutet, dass ein einfaches Driften aus dem Eingangsbereich entdeckt wurde, wie in 17B gezeigt, und dass der im nächsten Abschnitt beschriebene Steigungsanpassungsalgorithmus aufgerufen werden sollte.
  • 4.4.2. Aktualisieren des Schätzwerts des Steigungs-DAC 38
  • Wenn der Steigungs-DAC 38 richtig eingestellt ist, wird im Durchschnitt der Eingangsbereich gleich oft nach oben und nach unten verlassen. Wenn die Eingangsrate der Röntgenstrahlen sich aber ändert, muss der Steigungs-DAC angepasst werden. Jedesmal wenn das Programm die Routine zum Zurückbringen des ADC in den Eingangsbereich 412 aufruft, hält es deshalb fest, ob der Eingangsbereich nach oben oder unten verlassen wurde und bestimmt, of eine Anpassung des Steigungs-DACs notwendig ist.
  • Somit wird, jedesmal wenn "Update Tracker" 511 aufgerufen wird, eine Gewichtung W aktualisiert, die in der spezifischen Implementierung ein exponentiell abfallendes Gedächtnis früherer Fälle des Verlassens des Eingangsbereiches hat, entsprechend der Gleichung Wi = ((N – 1)/N)Wi–1 + Vi/N (5)
  • Wobei Vi gleich +1 für ein Verlassen nach oben und –1 für ein Verlassen nach unten ist. Wi wird geprüft und wird, falls es einen Testwert V übersteigt, auf Null gesetzt und der Steigungs-DAC 38 wird um ein Bit in die entprechende Richtung angepasst. Anderenfalls passiert nichts und das Programm geht weiter. Andere Formeln können zur Berechnung von Wi benutzt werden, z. B. gleitende Durchschnittswerte, aber Gleichung 5 ist effizient, da sie nur minimalen Speicher und Berechnungen erfordert.
  • 4.4.3. Berechnung der Energie aus den Pulsamplituden
  • 4.4.3.1. Fall des periodisch zurückgesetzten Vorverstärkers
  • Um den Ausgabewert PKVAL 117 des FiPPI 25 ohne systematische Fehler in eine Röntgenenergie umzuwandeln, sind einige Berechnungen erforderlich, hauptsächlich weil die Bereiche vor und nach der Röntgenpuls in der Ausgabe des ASC 23 nicht eben sind, wie in 1B, sondern schräg wie in 1E. Für periodisch zurückgesetzten Vorverstärker gibt es zwei Beiträge zu dieser Schräge, nämlich erstens weil der ASC den vom LFF Generator 35 erzeugten linearen Spannungsanstieg abgezogen hat, und zweitens aufgrund von Leckströmen in entweder dem Detektor oder dem ersten FET des Vorverstärkers.
  • Die Auswirkungen diese schrägen Signals auf den FiPPI 25 ist in 19A gezeigt (für den Fall des PR Vorverstärkers). Obwohl die Amplitude A gesucht wird, gibt der FiPPI den Wert H aus, den Unterschied zwischen den beiden getönten Bereichen über und unter der Stufe. Es sind daher Berechnungen nötig, um A von dem Messwert H zu bestimmen. 19A zeigt, dass für eine Länge des langsamen Filters Ls mit einer Verweilzeit Gs: H = V2 – V1 = A – S(Ls + Gs) (6)wobei V1 und V2 die durchschnittlichen Spannungen in den getönten Filterbereichen sind und S der Steigungsunterschied zwischen der generierten Steigung Sg und der Leckstromsteigung S1 ist. Somit ist H = V2 – V1 = A – (Sg – S1)(Ls + Gs) (7)
  • Wir benötigen also einen genauen Schätzwert des zweiten Terms, der sonst die Energieauflösung des Spektrometers beeinträchtigen würde. Ls und Gs sind Parameter und genau bekannt, wie auch die generierte Steigung Sg. S1 muss gemessen werden, was mit Messungen entsprechend Gl. 7 für A gleich 0 getan werden kann, d. h. wenn keine Röntgenereignisse irgendwo im Filter vorhanden sind. Dann ist H = –(Sg – S1)(Ls + Gs) und ist gleich der "Grundlinie" zwischen dreieckförmigen Pulsen. Durch wiederholte Messungen können wir den Grundlinienwert B mit beliebiger Genauigkeit bestimmen: B = <S1(Ls + Gs)> = <PKVALB + Sg(Ls + Gs)> (8)wobei PKVALB die vom FiPPI erhaltenen Werte von PKVAL 117 sind, wenn der Indikator BKCOL 315 zu 1 gesetzt ist, wir oben beschrieben. Mit B gegeben können wir die Energie eines Röntgenstrahls aus E = G(PKVALN + Sg(Ls + Gs) – B) (9)berechnen, wobei G die Verstärkung des Systems ist und dies die normalen Werte von PKVAL sind, d. h. mit Indikator BKCOL 315 gleich 0.
  • Die Grundlinie B muss mit hinreichender Genauigkeit bestimmt werden, so dass sie nicht die Auflösung des Spektrometers beeinflusst. Da in Gl. 9 sich die Varianzen σp und σB von PKVAL und B quadratisch addieren, sollte σB somit in der Größenordnung von 1/10 σP sein und B sollte von einem Durchschnitt von etwa 100 Messungen von PKVALB bestimmt werden, Gaußverteilte Fehler vorausgesetzt.
  • Die Bestimmung von B verläuft in der bevorzugten Ausführung in zwei Schritten. Zuerst, in Aufgabe Nr. 6 der Routine Datenaufnahmestart 395, werden 100 Messungen von PKVALB gemacht und dann sein Durchschnitt B und die Varianz σB berechnet. Das liefert einen genauen Startwert für B. Zweitens, im Data Acquisition Task 402 (16), wird B jedes 256. Mal durch die Schleife in der Prozedur Update Baseline Estimate 438 aktualisiert. Von einer Reihe von möglichen gleitenden Durchschnittswerten von B wird in der spezifischen Ausführung durch Bi = ((N – 1)/N)Bi–1 + bi/N (10)berechnet, um eine exponentiell abfallende Vergangenheit zu liefern, wobei bi der momentane Messwert von PKVALB + SB(Ls + Gs) ist. Dies ist effizient, da nur der momentane Wert von B gespeichert werden muss, und es sehr schnell mit einem Festkomma-DSP durch Shiftoperationen berechnet werden kann, wenn die Verhältnisse Potenzen von 2 sind. Erfahrung lehrt, dass sogar relativ schnellen Veränderungen in B mit dieser Technik gefolgt werden können. Falls erwartet wird, dass B sich sehr schnell verändert, kann der Wert 256 im Test NLOOP Modulo 256 = 0 428 verringert werden, um die Grundlinie öfter aufzunehmen.
  • 4.4.3.2. Fall des kontinuierlich entladenen Vorverstärkers
  • Für einen CD Vorverstärker fällt das Signal auf beiden Seiten des Röntgenpulses exponentiell ab, mit verschiedenen durchschnittlichen Steigungen, wie in 19B und 20 gezeigt. Die Situation ist daher komplizierter als für einen PR Vorverstärker und benötigt einen veränderten Algorithmus als Ersatz für Gl. 9. Änderungen in der Spektrometerhardware oder der Firmware des FiPPI sind jedoch nicht nötig.
  • 20 zeigt die Situation. Wir suchen die Amplitude A, nehmen aber den Wert H auf, die Differenz zwischen den gleitenden Durchschnittswerten <V2>, aufgenommen 0.5(Ls + Gs) nach dem Puls, und <V1>, aufgenommen 0.5(Ls + Gs) vor dem Puls. S2 und S1 sind die Steigungen des Signals an den beiden Messpunkten, Ve sein Wert zur Zeit te gerade vor dem Röntgenereignis und V0 der Wert auf den es exponentiell abfällt. Wir definieren die Konstant K als K = (Ls + Gs)/2τ, wobei τ die exponentielle Abfallszeit des Vorverstärkers ist.
  • Die exponentiellen Abfälle sind dann: V = V0 + (Ve – V0)exp((te – t)/τ)für t < te, und V = V0 + (Ve + A – V0)exp(-(t – te)/τ) (11)für t > te, und S1 = (Ve – V0–1 exp((Ls + Gs)/(2τ)) = –(V1 – V0–1 S2 = (Ve + A – V0–1 exp(–(Ls + Gs)/(2τ)) = –(V2 – V0–1. (12)
  • Eine Annäherung für H ist: H = A + (S2 + S1)(Ls + Gs)/2 = A + (S2 + S1)Kτ. (13)
  • Die Steigungen S1 und S2 sind mit der selben Genauigkeit: τS1 = –(V1 – V0) = –(Ve – S1τK – V0), or S1 = –(Ve – V0)/(τ(1 – K)) und: S2 = –(Ve + A – V0)/(τ(1 + K)) (14)
  • Einsetzen in Gl. 13 führt zu: H = A/(1 + K) – 2K(Ve – V0)/[(1 + K)(1 – K)] (15)wobei weder Ve noch V0 ein gemessener Wert ist. Wir können einen Schätzwert für Ve erhalten, indem wir die gegenwärtige Spannung zu einem beliebigen Punkt messen. Der mathematischen Einfachheit halber wählen wir den Punkt V2, zur Zeit (Ls + Gs)/2, wo gilt: V2 = (Ve + A + S2τK) = Ve + A – (Ve + A – V0)K/(1 + K), also (16) Ve = (1 + K)V2 – A - KV0. (17)
  • Einsetzten in Gl. 15 führt zu: A = (1 – K)H + (V2 – V0)2K (18)wobei H und V2 gemessene Größen sind und V0 ist nominal eine Konstante ist. Wie in Gl. 9. kann A mit der Systemverstärkung skaliert werden um die Röntgenenergie zu erhalten. Schätzwerte von 2 KV0 können durch das Messen von A gefunden werden, wenn keine Röntgenstrahlen vorhanden sind. 2 KV0 spielt genau dieselbe Rolle für die Berechnung von A in Gl. 18 wie die Grundlinie B in Gl. 9, und dieselben Algorithmen können benutzt werden um seinen Wert genau zu bestimmen. Etwaige lineare Steigungsterme aufgrund von Leckströmen im Detektor sind in diesem Term mit eingeschlossen.
  • Die Korrektur für CD Vorverstärker wird somit im Programm des DSP 27 implementiert, indem Gl. 9 durch E = G[(1 – K)PKVAL + 2K(UFVAL – <V0>)] (19)ersetzt wird, und die jeweiligen Werte von V0 zur Berechnung von <V0> werden gegeben durch: V0 = [(1 – K)PKVAL/(2K) – UFVAL]A=0. (20)
  • 4.4.3.3. Alternativbehandlung des kontinuierlich entladenen Vorverstärkers
  • Analyse des Rauschens zeigt, dass Gl. 19 unter übermäßigem Rauschen leidet, wenn der Wert von K nicht klein ist, (d. h. wenn die Filterzeit sich der Abfallzeit des Vorverstärkers annähert). Das ist so weil zugleich das Rauschen in PKVAL abnimmt, wenn die Filterzeit zunimmt und weil Die Gewichtung K des ungefilterten Terms UFVAL zunimmt. Für eine typische Abklingzeit des Vorverstärkers von 50 μs wird die Auflösung mit 4 μs Filterzeit nur um ein paar Prozent verschlechtert, mit 20 μs dagegen wird das Rauschen um fast 90% zunehmen.
  • Die Aufgabe ist dann, einen statistisch genaueren Wert von V2 in Gl. 18 zu verwenden. Da <V2> der beste Messwert für V2 ist, den wir machen können, können wir eine alternative Korrektur durch Einsetzten von S2 und S1 aus Gl. 12 für H in Gl. 13 ableiten, unter Berücksichtigung dass H = <V2> – <V1>: H = A – K (V2 + V1) + 2 KV0 = <V2> – <V1> (21)
  • Ersetzen von V2 und V1 durch ihre durchschnittlichen gefilterten Werte <V2> und <V1> und Umschreiben führt zu A = <V2>(K + 1) – <V1>(K – 1) – 2 KV0 (22)als Ersatz für Gl. 18, wobei alle Terme nun so statistisch genau wie möglich sind.
  • Implementierung von Gl. 22 erfordert ein verändertes Design des langsamen Filters im FiPPI, wie durch die Schaltzeichnung und Signalformen in 21A und 21B gezeigt, die mit 7A und 7B verglichen werden sollten. Diese Schaltung generiert den gleitenden Mittelwert V2 und benutzt dann einen FIFO um V1 zu generieren, was einfach dasselbe Signal entsprechend verzögert ist. Da Dezimierung um 4 Bits typischerweise für die langen gewünschten Formungszeiten benötigt wird, ist das Eingangssignal CS[13 : 0] 527 jetzt 14 Bits weit. Die Länge des FIFO 528 wird durch den Parameter PA[4 : 0] 152 bestimmt, des gleich Ls ist. D 532 hat nur 12 Bits in der Annahme, dass kein Röntgenpuls 1/8 des Eingangsbereiches des ADCs übersteigt, anderenfalls kann die Zahl der Bits in D und den folgenden Stufen erhöht werden. Die Verzögerung zwischen V2 und V1 ist gleich Ls + Gs und wird durch den Parameter PB[4 : 0] 162 in den FIFO 537 geladen. V2 und V1 werden in den Ausgangsspeicher 100 durch die Aktionen des Doppelpulsprüfers 108 genau wie oben beschrieben aufgenommen, wobei V2[16 : 0] 535 als PKVAL 117 und V1[16 : 0] 538 als UFVAL 118 ausgegeben wird.
  • Da der FiPPI in der bevorzugten Implementierung in einem Field Programmable Gate Array (FPGA) implementiert ist, ändert die Wahl zwischen Gl. 18 und 22 das Spektrometer nicht physisch, sondern nur das in das FPGA geladene File und die Software des DSP.
  • Da Gl. 18 und 22 nur aus dem Verhalten von exponentiell abfallenden Funktionen abgeleitet wurden, unabhängig von der vorliegenden digitalen Implementierung, können sie auch durch analoge Mittel implementiert werden. Somit wird, durch DC Kopplung eines CD Vorverstärkers mit einem analogen Spektrometer mit dreieckförmiger Formung und Grundlinienkorrektur und durch Verwenden der Verstärkerausgabe als H in Gl. 18 und einer zeitverzögerten Kopie der Verstärkerausgabe als V2, ein Signal generiert, das für momentane Grundlinienverschiebungen durch das exponentiell abfallende Signal korrigiert ist, was den Bedarf für Pole-Zero Kompensation vermeidet, die in AC gekoppelten Systemen notwendig ist.
  • Gl. 22 kann ebenso mit analogen Schaltungen implementiert werden, wie in 22 gezeigt. Diese Schaltung enthält eine direkte analoge Übersetzung der in 21A gezeigten digitalen Schaltung, offensichtlich für jemand in analoger Elektronik Erfahrenen, gekoppelt an eine Summenschaltung 552 um die Summe von V2 und V1 zu implementieren. Die Korrektur für V0 würde in einer praktischen Anwendung durchgeführt, indem eine Schaltung zur Wiederherstellung der Grundlinie zum Ausgang der Schaltung hinzugefügt wird, was jemand im Feld Erfahrenen wohl bekannt ist. Diese Schaltung kann wesentliche Vorteile gegenüber herkömmlichen Ansätzen bieten, falls hohe Eingangszählraten und kurze Formungszeiten gewünscht werden, insbesondere in dem Zeitbereich, in dem analoge Verzögerungsleitungen leicht implementiert werden können.
  • 5. Zusammenfassung
  • Zusammengefasst kann gesehen werden, dass die vorliegende Erfindung eine physisch kompakte, preiswerte und schnelle Methode und Gerät zur Verarbeitung von gepulsten Signalen von einem System aus Detektor und Vorverstärker, und zur Erstellung einer vollständige Energieanalyse der in den Detektor einfallenden Strahlung liefert. Kombinatorische Logik wird für eine beschränkte, aber ausreichende Menge von Verarbeitung mit der Rate der Datenaufnahme verwendet, während ein programmierter Prozessor die genauere Analyse mit der Ereignisrate durchführt. Diese Arbeitsteilung erlaubt es der Erfindung, hohe Leistungen und geringe Kosten zu erreichen.
  • Oben aufgeführt ist eine vollständige Beschreibung von spezifischen Ausführungen der Erfindung. Als ein erstes Beispiel, obwohl die spezifische Ausführung eine Eingangsstufe zur Anpassung des Signals benutzt, um die Zahl der erforderlichen ADC Bits zu reduzieren, hängt die Funktion der restlichen Erfindung nicht von dieser Konstruktion ab. Falls billigere und schnellere ADCs mit mehr Bits erhältlich werden würden, kann dieser Abschnitt eliminiert werden. Des weiteren, obwohl es preiswert ist, einen einzigen digitalen Signalprozessor für die Implementierung der verschiedenen in der Erfindung benötigten Berechnungen zu verwenden, können diese Berechnungen unter mehreren Mikroprozessoren aufgeteilt werden, und in bestimmten Anwendungen kann dies effektiver sein (z. B. wenn Fähigkeit für eine höhere Gesamtzählrate verlangt wird).

Claims (24)

  1. Eine Methode zur schnellen digitalen Analyse eines rauschbehafteten elektronischen Signals, das stufenförmige Pulsereignisse mit einer durchschnittlichen Rate R enthält, um die Amplitude von zumindest einiger dieser stufenförmiger Pulse zu bestimmen, wobei genanntes elektronische Signal durch einen Analog-Digital Wandler (ADC) digitalisiert wurde, der mit einer Abtastrate S größer als R arbeitet, um eine digitale Darstellung des elektronischen Signals zu erzeugen – diese Darstellung wird im folgenden als digitalisiertes Eingangssignal bezeichnet – charakterisiert dadurch, dass die Methode festverdrahtete digitale kombinatorische Logik (25) enthält, verbunden mit genanntem ADC und getaktet mit einer Frequenz S oder einem Vielfachen davon; digitale Verarbeitungseinheiten (27) enthält, im folgenden als DSP bezeichnet und mit der genannten kombinatorischen Logik verbunden; die kombinatorische Logik benutzt um: kontinuierlich einen oder mehrere digitale Filter (98, 105) auf das genannte digitalisierte Eingangssignal anzuwenden; das Vorkommen von Ereignissen im digitalisierten Eingangssignal zu finden (107); und für zumindest einige der gefundenen Ereignisse Ausgabewerte von einem oder mehreren der digitalen Filter festzuhalten obige festgehaltenen Ausgabewerte von der kombinatorischen Logik zum DSP übergibt; und den DSP benutzt um mit der Rate der gefundenen Ereignisse Schätzwerte der genannten Pulsamplituden aus den festgehaltenen Werten zu bestimmen und falls nötig eine oder mehrere Korrekturen zu auszuführen um eine bestimmte Genauigkeit zu erreichen.
  2. Die Methode aus Anspruch 1, mit dem zusätzlichen, im genannten DSP ausgeführten Schritt die Schätzwerte zu ordnen um eine spektrale Repräsentation der Amplituden der gefundenen Pulse zu erstellen.
  3. Die Methode aus Anspruch 1, wobei die oben genannten Korrekturen des genannten DSPs beinhalten, die Schätzwerte der Pulsamplituden für Fehler zu kompensieren, die durch das Anwenden der digitalen Filter auf nicht ideal stufenförmige Wellenzüge verursacht werden.
  4. Die Methode aus Anspruch 3, wobei die genannte Kompensation beinhaltet, die Schätzwerte der Pulsamplituden für Manipulationen des elektronischen Signals zwischen seiner Quelle und dem Eingang des ADC zu korrigieren.
  5. Die Methode aus Anspruch 4, wobei die genannte Manipulation den Schritt beinhaltet, das elektronische Signal gemäß einer Gruppe von Parametern zu konditionieren, deren Werte durch den genannten DSP gesteuert werden.
  6. Die Methode aus Anspruch 5, mit den zusätzlichen Schritten, Erkennen ob das Eingangssignal den Eingangsbereich des ADC übersteigt und gegebenenfalls mindestens einen der folgenden Schritte auszuführen: dem DSP anzuzeigen um das Aufnehmen potentiell verfälschter gefilterter Schätzwerte der Amplituden zu vermeiden, und dem DSP anzuzeigen um die Gruppe von Parametern anzupassen um das Eingangssignal in den Eingangsbereich des ADCs zurückzuführen
  7. Die Methode aus Anspruch 4, wobei die genannte Manipulation den Schritt beinhaltet, das elektronische Signal gemäß einer Gruppe von Parametern zu konditionieren, um den dynamischen Bereich des Eingangssignals zu reduzieren.
  8. Die Methode aus Anspruch 7, wobei der genannte Konditionierungsschritt beinhaltet, ein Signal zu erzeugen, das entweder aus einem Offset, dessen Wert durch einen Parameter bestimmt wird, oder aus einer Rampenfunktion, deren Steigung durch einen zweiten Parameter bestimmt wird, oder aus beiden besteht und dieses Signal von dem Eingangssignal zu subtrahieren.
  9. Die Methode aus Anspruch 7, wobei der DSP die Parameterwerte benutzt um die Schätzwerte der Pulsamplituden zu korrigieren.
  10. Die Methode aus Anspruch 3, wobei die genannten stufenförmigen Pulse der genannten Eingangssignalereignisse exponentiell zwischen den Pulsen abklingen; die genannte kombinatorische Logik auch zur Aufnahme von Werten, welche das genannte digitalisierte Eingangssignals beschreiben, benutzt wird; die genannten aufgenommenen Werte einen Wert H, und einen Wert V2 beinhalten, wobei der genannte Wert H die Differenz zwischen zwei Regionen oberhalb und unterhalb einer Stufe des digitalisierten Eingangssignals ist, aufgenommen durch einen Trapezfilter, und der genannte Wert V2 ein momentaner Wert des digitalisierten Eingangssignals ist, aufgenommen in der näheren Umgebung des Schrittes des digitalisierten Eingangssignals; und die genannte Kompensation den Schritt beinhaltet, V2 mit einer Konstante zu gewichten und zu H zu addieren
  11. Die Methode aus Anspruch 3, wobei das genannte Eingangssignal aus stufenförmigen Pulsen mit exponentiellem Abklingen zwischen den Pulsen besteht; die genannten aufgenommenen Werte die Werte V1 und V2 beinhalten, aufgenommen durch einen gleitenden Mittelwertfilter vor und nach einem gefundenen stufenförmigen Ereignis; und die Kompensation den Schritt beinhaltet, eine gewichtete Differenz von V1 und V2 zu bilden
  12. Die Methode aus Anspruch 11, wobei die genannte gewichtete Differenz die Terme (K + 1) V2 und (K – 1) V1 beinhaltet, wobei K eine Konstante ist, die von der exponentiellen Abklingzeit und den Parametern des gleitenden Mittelwertfilter abhängt.
  13. Die Methode aus Anspruch 1, wobei die oben genannte Benutzung der kombinatorischen Logik zur Anwendung eines oder mehrerer digitaler Filter auf das genannte digitalisiertes Eingangssignal einen Schritt zur Dezimierung der ADC Ausgabe um N beinhaltet.
  14. Die Methode aus Anspruch 1, wobei einer oder mehrere der genannten Filter digital implementierte Trapezfilter sind.
  15. Die Methode aus Anspruch 1, mit den weiteren Schritten die zumindest während einiger der Zeitintervalle ausgeführt werden, in denen kein Ereignis gefunden wurde, in welchen: Grundlinienwerte von einem oder mehreren der genannten digitalen Filtern aufgenommen werden; Die aufgenommenen Grundlinienwerte von. der oben genannten kombinatorischen Logik dem oben genannten DSP übergeben werden; und das oben genannte Bestimmen der Schätzwerte der Amplituden durch den DSP auf den genannten aufgenommenen Grundlinienwerten basiert.
  16. Die Methode aus Anspruch 15, wobei Aufnehmen der Grundlinienwerte auch das Aufnehmen eines oder mehrerer Werte des genannten digitalisierten Eingangssignals einschließt.
  17. Die Methode aus Anspruch 15 und 16, wobei der genannte DSP einen oder mehrere Mittelwerte der genanten aufgenommenen Grundlinienwerte berechnet und die Bestimmung der genannten Schätzwerte der Amplituden auf einem oder mehreren der genannten berechneten Mittelwerten basiert.
  18. Die Methode aus Anspruch 17, wobei der DSP die genannte Manipulation des Eingangssignals zwischen seiner Quelle und dem Eingang des ADC steuert und die genannten aufgenommenen Grundlinienwerte vor der Berechnung des genannten einen oder mehreren Mittelwerte für die genannten Manipulationen korrigiert.
  19. Die Methode aus Anspruch 1, wobei der genannte Schritt zum Finden der erwähnten Ereignisse beinhaltet, das genannte digitalisierte Eingangssignal mit einem Trapez- oder Dreieckfilter mit kurzer Zeitkonstante zu filtern und die Ausgabe dieses Filters mit einem Schwellenwert zu vergleichen.
  20. Die Methode aus Anspruch 1, wobei die genannte kombinatorische Logik mittels der folgenden Schritte auch Doppelpulserkennung durchführt: die Zeit zwischen aufeinander folgenden Ereignissen zu messen; und solche Ereignisse als Doppelpulse zu verwerfen, deren Abstand von einem oder beiden der vorhergehenden oder nachfolgenden Ereignissen einen voreingestellten Wert nicht überschreitet.
  21. Die Methode aus Anspruch 1, wobei die genannte kombinatorische Logik auch mittels der folgenden Schritte Doppelpulserkennung durchführt: die Breite des Ausgabepulses des schnellen Filters bei einem Schwellenwert T für jedes gefundene Ereignis zu messen; und das Ereignis als Doppelpuls zu verwerfen falls der genannte Messwert einen bestimmten Testwert übersteigt.
  22. Die Methode aus Anspruch 1, wobei die genannte kombinatorische Logik auch mittels der folgenden Schritte Doppelpulserkennung durchführt: die Breite des Ausgabepulses des schnellen Filters bei der Hälfte der Pulsamplitude für jedes gefundene Ereignis zu messen; und das Ereignis als Doppelpuls zu verwerfen falls der genannte Messwert einen bestimmten Testwert übersteigt
  23. Die Methode aus Anspruch 1, wobei die kombinatorische Logik auch alle gefundenen Ereignisse für eine Korrektur der Totzeit zählt.
  24. Ein schnelles Spektrometergerät (22) zur digitalen Analyse eines rauschbehafteten elektronischen Signals, das stufenförmige Pulsereignisse mit einer durchschnittlichen Rate R enthält, welches Mittel zur Bestimmung der Amplituden zumindest einiger der genannten stufenförmige Pulse zu schätzen und zur Analog-Digital Wandlung (ADC) (48) beinhaltet, das mit einer Abtastrate S größer als R arbeitet um eine digitale Darstellung des genannten rauschbehafteten elektronischen Signals zu erzeugen – diese Darstellung wird im folgenden als digitalisiertes Eingangssignal bezeichnet – charakterisiert dadurch, dass das Gerät festverdrahtete digitale kombinatorische Logik (25) enthält, verbunden mit oben genanntem ADC und getaktet mit einer Frequenz S oder einem Vielfachen von S; und beinhaltend einen oder mehrere digitale Filter (98, 105) um das genannte digitalisierte Eingangssignal aufzunehmen und zu filtern Mittel (107) um das Vorkommen von Ereignissen im digitalisierten Eingangssignal zu finden Mittel (100) um für zumindest einige der gefundenen Ereignisse Ausgabewerte von einem oder mehreren der digitalen Filter festzuhalten, und Mittel zur digitalen Signalverarbeitung DSP (27) enthält, wobei der genannte DSP enthält: Mittel zur Verbindung mit der genannten kombinatorischen Logik um die genannten festgehaltenen Werte aufzunehmen, Mittel zur Berechnung von Schätzwerten der genannten Pulsamplitude aus den genannten festgehaltenen Werten mit der Rate der gefundenen Ereignisse, und Mittel um eine oder mehrere Korrekturen auszuführen, die zum Erreichen einer bestimmten Genauigkeit notwendig sein können.
DE69631165T 1995-08-14 1996-08-09 Verfahren und vorrichtung für digitales hochgeschwindigkeits-röntgenspektrometer Expired - Lifetime DE69631165T2 (de)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US702327 1985-02-15
US226695P 1995-08-14 1995-08-14
US2266 1995-08-14
US695062 1996-08-02
US695063 1996-08-02
US08/695,062 US5774522A (en) 1995-08-14 1996-08-02 Method and apparatus for digitally based high speed x-ray spectrometer for direct coupled use with continuous discharge preamplifiers
US08/695,063 US5684850A (en) 1995-08-14 1996-08-02 Method and apparatus for digitally based high speed x-ray spectrometer
US08/730,916 US5873054A (en) 1995-08-14 1996-08-02 Method and apparatus for combinatorial logic signal processor in a digitally based high speed x-ray spectrometer
US730916 1996-08-02
US08/702,327 US5870051A (en) 1995-08-14 1996-08-02 Method and apparatus for analog signal conditioner for high speed, digital x-ray spectrometer
PCT/US1996/013082 WO1997007591A1 (en) 1995-08-14 1996-08-09 Method and apparatus for digitally based high speed x-ray spectrometer

Publications (2)

Publication Number Publication Date
DE69631165D1 DE69631165D1 (de) 2004-01-29
DE69631165T2 true DE69631165T2 (de) 2004-09-02

Family

ID=27532952

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69631165T Expired - Lifetime DE69631165T2 (de) 1995-08-14 1996-08-09 Verfahren und vorrichtung für digitales hochgeschwindigkeits-röntgenspektrometer

Country Status (4)

Country Link
EP (1) EP0880821B1 (de)
JP (2) JP4083802B2 (de)
DE (1) DE69631165T2 (de)
WO (1) WO1997007591A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112011101532B4 (de) * 2011-02-16 2014-01-23 Rigaku Corporation Röntgenstrahlenerfassungssignalverarbeitungsgerät und Verfahren dafür

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3304801B2 (ja) * 1997-02-05 2002-07-22 日本電子株式会社 Ad変換回路
US6587814B1 (en) * 1999-08-27 2003-07-01 William K. Warburton Method and apparatus for improving resolution in spectrometers processing output steps from non-ideal signal sources
US6609075B1 (en) * 2001-06-04 2003-08-19 William K. Warburton Method and apparatus for baseline correction in x-ray and nuclear spectroscopy systems
US6732059B2 (en) * 2001-08-23 2004-05-04 William K. Warburton Ultra-low background gas-filled alpha counter
JP3980451B2 (ja) * 2002-08-30 2007-09-26 株式会社東芝 波形弁別装置
WO2005069040A1 (en) * 2004-01-13 2005-07-28 Koninklijke Philips Electronics, N.V. Analog to digital conversion shift error correction
US7966155B2 (en) * 2004-06-04 2011-06-21 William K. Warburton Method and apparatus for improving detection limits in x-ray and nuclear spectroscopy systems
EP1794884A4 (de) 2004-09-16 2009-03-04 Southern Innovation Internat P Verfahren und vorrichtung zum auflösen individueller signale in detektorausgangsdaten
CN101558325B (zh) 2006-12-13 2012-07-18 皇家飞利浦电子股份有限公司 用于对x射线光子进行计数的装置、成像设备和方法
CN101680956B (zh) * 2007-06-19 2013-02-13 皇家飞利浦电子股份有限公司 用于多谱光子计数读出电路的数字脉冲处理
AU2009230876B2 (en) 2008-03-31 2014-07-10 Southern Innovation International Pty Ltd Radiation imaging method with individual signal resolution
EP2260334A4 (de) 2008-03-31 2015-03-11 Southern Innovation Internat Pty Ltd Verfahren und vorrichtung zur bohrlochprotokollierung
JP2011516838A (ja) 2008-03-31 2011-05-26 サザン イノヴェーション インターナショナル プロプライアトリー リミテッド スクリーニング方法および装置
WO2010068996A1 (en) 2008-12-18 2010-06-24 Southern Innovation International Pty Ltd Method and apparatus for resolving piled-up pulses by using a mathematical transform
US8330123B2 (en) * 2010-01-28 2012-12-11 I.S.S. (Usa), Inc. System and method for digital parallel frequency fluorometry
US8374814B2 (en) 2011-02-16 2013-02-12 Rigaku Corporation X-ray detection signal processing apparatus and method therefor
US8446308B2 (en) 2011-04-21 2013-05-21 Kabushiki Kaisha Toshiba Apparatus for detection of a leading edge of a photo sensor output signal
EP2530490B1 (de) * 2011-06-03 2019-02-27 Toshiba Medical Systems Corporation Vorrichtung zur strahlungserfassung, strahlungserfassungssystem und strahlungserfassungsverfahren
CN102353972B (zh) * 2011-07-01 2013-04-10 成都理工大学 多种模式的数字化多道谱仪
JP5823208B2 (ja) * 2011-08-19 2015-11-25 株式会社東芝 X線コンピュータ断層撮影装置
EP2728379B1 (de) * 2011-11-15 2016-08-17 Fuji Electric Co., Ltd. Impulsverarbeitungsvorrichtung und strahlungsanalysevorrichtung
FR2984041B1 (fr) * 2011-12-13 2014-01-10 Commissariat Energie Atomique Numerisation asynchrone de signaux transitoires issus de detecteurs de rayonnement
JP6159144B2 (ja) * 2013-05-10 2017-07-05 株式会社堀場製作所 パルス波高検出装置、放射線検出装置、放射線分析装置、及びパルス波高検出方法
JP6381973B2 (ja) * 2014-06-03 2018-08-29 株式会社日立製作所 高計数率用パルス型放射線検出器
JP6545221B2 (ja) * 2017-05-15 2019-07-17 アンリツ株式会社 スペクトラムアナライザ及び信号分析方法
US11417509B2 (en) 2017-07-21 2022-08-16 Atonarp Inc. Current detection device and spectrometer using ihe same
US10224192B2 (en) * 2017-07-21 2019-03-05 Atonarp Inc. High-speed low-noise ion current detection circuit and mass spectrometer using the same
US11646190B2 (en) 2017-07-21 2023-05-09 Atonarp Inc. Current detection device and spectrometer using the same
CN118519183B (zh) * 2024-07-22 2024-10-22 陕西正泽生物技术有限公司 一种用于医用回旋加速器的辐射监测方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL7110516A (de) * 1971-07-30 1973-02-01
US4658216A (en) * 1983-07-14 1987-04-14 The United States Of America As Represented By The Department Of Energy High resolution, high rate X-ray spectrometer
HU210832B (en) * 1986-05-07 1995-08-28 Mta Atommag Kutato Intezete Method for processing signals and adaptive implementation of said method for nuclear spectrometers
US5067090A (en) * 1989-05-01 1991-11-19 Schlumberger Technology Corporation Nuclear spectroscopy method and apparatus for digital pulse height analysis
US5304808A (en) * 1993-02-08 1994-04-19 The United States Of America As Represented By The United States Department Of Energy Method and apparatus for data sampling
US5349193A (en) * 1993-05-20 1994-09-20 Princeton Gamma Tech, Inc. Highly sensitive nuclear spectrometer apparatus and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112011101532B4 (de) * 2011-02-16 2014-01-23 Rigaku Corporation Röntgenstrahlenerfassungssignalverarbeitungsgerät und Verfahren dafür

Also Published As

Publication number Publication date
WO1997007591A1 (en) 1997-02-27
JP4083802B2 (ja) 2008-04-30
JP2007163516A (ja) 2007-06-28
JPH11510900A (ja) 1999-09-21
EP0880821B1 (de) 2003-12-17
DE69631165D1 (de) 2004-01-29
EP0880821A1 (de) 1998-12-02
EP0880821A4 (de) 2000-03-01

Similar Documents

Publication Publication Date Title
DE69631165T2 (de) Verfahren und vorrichtung für digitales hochgeschwindigkeits-röntgenspektrometer
DE112017005641T5 (de) Histogramm-Ausleseverfahren und Histogramm-Ausleseschaltkreis zum Ermitteln der Flugzeit eines Photons
DE69414851T2 (de) Verfahren und vorrichtung für ein hochempfindlicher spektrometer
DE69125266T2 (de) Auslesen von photodioden unter verwendung von mehrfach abtastenden sigma-delta-analog-digital-umsetzern
DE102011005604B4 (de) Verwendung einer Schaltungsanordnung eines direktkonvertierenden Detektors und Verfahren zum Auslesen eines direktkonvertierenden Detektors
DE112007002487T5 (de) Hochgeschwindigkeits-Vorverstärkerschaltung, Detektionselektronik und Strahlungsdetektionssysteme daraus
DE69829769T2 (de) Zeitmessschaltung
DE102018220688A1 (de) Analog-Digital-Wandler
DE69620523T2 (de) Pulsverarbeitungssystem für einen Gammateilchen-CdTe-Strahlungsdetektor
EP3839576A1 (de) Photonenzählender röntgendetektor und verfahren zum betreiben eines photonenzählenden röntgendetektors
DE102016110558A1 (de) Hintergrundschätzung von Komparator-Offset eines Analog-Digital-Wandlers
EP0550830B1 (de) Schaltungsanordnung für die digitale Verarbeitung von Halbleiterdetektorsignalen
EP3887865B1 (de) Verfahren zur bestimmung einer ankunftszeit eines eine physikalische messgrösse repräsentierenden, digitalisierten signalpulses, auswerteeinheit, vorrichtung, auswertesystem und strahlendetektionssystem
EP0922962B2 (de) Verfahren und Vorrichtung zur zeitdiskreten Messung einer Reaktanz
EP0231786A2 (de) Verfahren zur Elimination von Störungen eines Messsignals
DE102017102857B4 (de) Analog/Digital-Umsetzer mit Integrator mit Ladungsneuausgleich
Lauer Digital signal processing for segmented HPGe detectors: preprocessing algorithms and pulse shape analysis
DE69528949T2 (de) Verbessertes Gammakamera-System
DE3635477C2 (de) Verfahren und Schaltungsanordnung zur Reduzierung des Zähluntergrundes der Messung mit einer Koinzidenz-Antikoinzidenz-Auswertung und Verwendung des Verfahrens
DE4226175C2 (de) Schaltungsanordnung für die digitale Verarbeitung von Halbleiterdetektorsignalen
DE102016224509A1 (de) Empfängeranordnung und Verfahren zum Empfang wenigstens eines Lichtimpulses und zur Ausgabe eines Empfangssignals
EP1237014B1 (de) Verfahren und Vorrichtung zur Verarbeitung von Detektorsignalen
Twomey et al. High-count-rate spectroscopy with Ge detectors: quantitative evaluation of the performance of high-rate systems
DE102019104710A1 (de) Verfahren zum Betreiben eines Signalfilters und Strahlungsdetektionssystem
DE102019202833A1 (de) Datenreduktion unter Verwendung eines analogen Speichers

Legal Events

Date Code Title Description
8364 No opposition during term of opposition