-
Die Erfindung betrifft eine Einrichtung und ein Verfahren zum Zählen von Photonen. Ferner betrifft die Erfindung ein mit einer solchen Einrichtung ausgestattetes Lichtmikroskop.
-
Aus dem Stand der Technik sind Detektoren bekannt, die zum Detektieren einzelner Photonen ein elektrisches, zeitkontinuierliches Detektionssignal erzeugen, das für jedes detektierte Photon einen Detektionsimpuls aufweist. Die Dauer solcher Detektionsimpulse ist sehr kurz, häufig kürzer als eine Nanosekunde.
-
Um in einem bestimmten Zeitintervall die Anzahl der von dem Detektor erfassten Photonen zu ermitteln, müssen mithin Zähleinrichtungen bereitgestellt werden, die im Stande sind, solch kurze Detektionsimpulse fehlerfrei zu zählen. Als Zähleinrichtungen werden in der Regel digitale Bausteine wie beispielsweise ein FPGA (Field-Programmable Gate Array) eingesetzt, für die ein maximaler Arbeitstakt vorgesehen ist, der die Arbeitsgeschwindigkeit des Bausteins nach oben hin begrenzt. Dieser maximale Arbeitstakt eines solchen FPGA hängt beispielsweise von der Bandbreite der FPGA-internen Netze zur Verteilung des Taktes, von den Signaldurchlaufzeiten der einzelnen Logikelemente, von den Signalverzögerungen, die in den Verbindungsleitungen zwischen den Logikelementen auftreten, sowie der Komplexität der Anordnung dieser Elemente ab. Dabei sind die vorstehend genannten Größen typisch für den jeweils eingesetzten Baustein und hängen beispielsweise auch vom Herstellungsprozess ab, nach dem der Baustein gefertigt wird.
-
Mit einem solchen digitalen Baustein ist es in der Regel nicht möglich, Detektionsimpulse zu zählen, deren Impulsbreite etwa gleich oder kleiner als der durch den maximalen Arbeitstakt vorgegebene Taktzyklus ist.
-
Aus der
DE 10 2007 024 074 A1 ist ein Lichtdetektor für ein Zeilenscanmikroskop bekannt, der ein Zeilenarray von Avalanche-Halbleiterdetektoren und eine elektronische Ansteuerschaltung umfasst, die im Stande ist, die Halbleiterdetektoren in einem Geiger-Modus mit interner Ladungsverstärkung und/oder in einem linearen Modus zu betreiben. Die Ansteuerschaltung weist einen Parallelzähler auf, der die durch die Halbleiterdetektoren erfassten Lichtimpulse ausliest. Der Parallelzähler summiert ferner die während einer vorgegebenen Zählzeit von den Halbleiterdetektoren detektieren Lichtimpulse.
-
In der
DE 10 2009 040 749 A1 ist ein Verfahren zur Verarbeitung von Messwerten nach dem Prinzip der zeitkorrelierten Einzelphotonenzählung beschrieben. Bei diesem Verfahren wird aus den Detektionszeiten der einzelnen Photonen durch Datenkompression eine Signatur erzeugt, welche die Zeitfunktion des optischen Signals und damit die Struktur sowie die optischen Eigenschaften des Messobjektes beschreibt. Die Signatur wird durch eine Datenverarbeitungslogik innerhalb der Detektionshardware erzeugt.
-
In der
DE 101 10 925 A1 ist ein Verfahren zur Photonenzählung im Detektionskanal einer laserscannenden Anordnung offenbart. Bei diesem Verfahren erfolgt eine Amplitudenbestimmung der einlaufenden Photonen mittels mehrerer Schwellwerte. Die Schwellwertbestimmung ist mit einer zeitaufgelösten Messung gekoppelt, indem für einzelne Schwellwerte jeweils eine Impulszählung erfolgt und die Summe der Zählungen für die Schwellwerte ermittelt wird. Beim Erreichen eines höheren Schwellwertes wird der Zählwert des niedrigeren Schwellwertes für die Zählung abgespeichert.
-
Aufgabe der Erfindung ist es, eine Einrichtung zum Zählen von Photonen anzugeben, die es ermöglicht, durch Photonen erzeugte Detektionsimpulse mit sehr geringer Impulsbreite zuverlässig und präzise zu zählen.
-
Die Erfindung löst diese Aufgabe gemäß Anspruch 1 durch eine Einrichtung zum Zählen von Photonen, mit einer Detektoreinheit, die zum Detektieren der Photonen ein elektrisches, vorzugsweise zeitkontinuierliches Detektionssignal erzeugt, das für jedes detektierte Photon einen Detektionsimpuls enthält; einer mit dem Detektionssignal beaufschlagten Schalteinheit, die mehrere Schaltzustände aufweist und ein elektrisches, vorzugsweise zeitkontinuierliches Zustandssignal erzeugt, das den jeweiligen Schaltzuständen zugeordnete Zustandssignalpegel aufweist, wobei jeder Detektionsimpuls einen Schaltzustandswechsel auslöst; einer Abtasteinheit, die zur seriellen Erzeugung von Abtastdaten das Zustandssignal mit einer vorbestimmten Abtastfrequenz abtastet, wobei die Abtastdaten für jeden Zustandssignalpegel jeweils einen n-Bit-Binärwert mit n ≥ 1 aufweisen; einer Seriell-/Parallel-Wandlereinheit, welche die seriell erzeugten Abtastdaten parallelisiert, indem sie jeweils eine vorbestimmte Zahl an aufeinanderfolgenden Abtastdaten zu einem Abtastdatenpaket zusammenfasst; und einer Auswerteeinheit, die mit einem vorbestimmten Arbeitstakt betreibbar ist, der kleiner als die Abtastfrequenz der Abtasteinheit ist, wobei die Auswerteeinheit innerhalb jedes durch den Arbeitstakt festgelegten Taktzyklus die n-Bit-Binärwerte jeweils mindestens eines der Abtastdatenpakete zur Ermittlung eines Teilzählergebnisses, das die Anzahl der in der Schalteinheit aufgetretenen Schaltzustandswechsel angibt, auswertet und die in den einzelnen Taktzyklen ermittelten Teilzählergebnisse zu einem Gesamtzählerergebnis aufsummiert, das die Anzahl der detektierten Photonen angibt.
-
Die erfindungsgemäße Einrichtung sieht also unter anderem eine mit einer vorbestimmten Abtastfrequenz arbeitende Abtasteinheit sowie eine mit einem vorbestimmten Arbeitstakt arbeitende Auswerteeinheit vor, die kleiner als die Abtastfrequenz der Abtasteinheit ist. Beispielsweise beträgt die Abtastfrequenz der Abtasteinheit ein ganzzahliges Vielfaches des Arbeitstakts der Auswerteeinheit. Die Auswerteeinheit kann somit mit einer geringeren Arbeitsgeschwindigkeit als die Abtasteinheit betrieben werden. Dies ist dadurch möglich, dass der serielle Datenstrom von Abtastdaten, den die Abtasteinheit erzeugt, durch die Seriell-/Parallel-Wandlereinheit parallelisiert, d. h. in mehrere parallel auswertbare Datenströme zerlegt wird, bevor die Auswerteeinheit die Abtastdaten zur Ermittlung der Anzahl der detektierten Photonen auswertet. Je stärker die Parallelisierung der Abtastdaten ist, desto geringer darf der Arbeitstakt ein, mit dem die Auswerteeinheit betrieben wird.
-
Erfindungsgemäß werden die in dem Zählprozess abzuarbeitenden Schritte derart auf die die einzelnen Komponenten der Zähleinrichtung verteilt, dass die Abtasteinheit allein die Funktion hat, einen seriellen Datenstrom von Abtastdaten zu erzeugen, während die Auswerteeinheit die demgegenüber komplexere Auswertung der Abtastdaten vornimmt. Dadurch kann der Abtasteinheit eine vergleichsweise hohe Abtastfrequenz zugeordnet werden, während die Auswerteeinheit mit einem langsameren Arbeitstakt betrieben wird.
-
Dieser langsamere Arbeitstakt ist dadurch möglich, dass die von der Abtasteinheit seriell erzeugten Abtastdaten durch die Seriell-/Parallel-Wandlereinheit zu Abtastdatenpaketen zusammengefasst werden, bevor sie in der Auswerteeinheit ausgewertet werden. Fasst man die Abtastdaten bzw. die Abtastdatenpakte als Auswertevektoren auf, so wird die Vektorbreite dieser Auswertevektoren durch die Seriell-/Parallel-Wandlung erhöht und zugleich die Arbeitsgeschwindigkeit, mit der die Daten verarbeitet werden, verringert. In der Auswerteeinheit werden also die Abtastdaten gleichsam in eine Taktdomäne überführt, deren Arbeitstakt kleiner als die zur seriellen Erzeugung der Abtastdaten angewandte Abtastfrequenz ist.
-
Die mit dem Detektionssignal beaufschlagte Schalteinheit wird mit Empfang eines Detektionsimpulses von einem stabilen Schaltzustand in einen anderen stabilen Schaltzustand überführt. Diese Schaltzustände spiegeln sich in dem von der Schalteinheit ausgegebenen Zustandssignal wieder, in dem jeder Schaltzustand einen eigenen Zustandssignalpegel aufweist. Die Dauer dieser Schaltzustände ist deutlich länger als die Dauer der Detektionsimpulse, so dass die Schaltzustände nachfolgend von der Abtasteinheit zuverlässig abgetastet werden können. Dadurch ist sichergestellt, dass alle Detektionsimpulse tatsächlich gezählt werden, also kein Detektionsimpuls übersehen wird.
-
Vorzugsweise enthält das jeweilige Abtastdatenpaket den zuletzt ermittelten n-Bit-Abtastwert des unmittelbar zuvor erzeugten Abtastdatenpakets. Dadurch ist gewährleistet, dass ein Schaltzustandswechsel, der gleichsam am Übergang zwischen zwei unmittelbar aufeinanderfolgenden Abtastdatenpaketen auftritt, auch als solcher erkannt wird. Sorgt beispielsweise die Seriell-/Parallel-Wandlereinheit für eine Parallelumsetzung um den Faktor m, so werden m + 1 Abtastwerte zu einem Abtastdatenpaket zusammengefasst.
-
In einer vorteilhaften Ausgestaltung enthält die Auswerteeinheit zur Ermittlung des jeweiligen Teilzählergebnisses mindestens eine Look-Up-Tabelle, in der für die möglichen n-Bit-Binärwerte des jeweiligen Abtastdatenpakets vordefinierte Teilzählergebnisse gespeichert sind. Da in der Auswerteeinheit die auszuwertenden Abtastdaten in parallelisierter Form, nämlich in Form der Abtastdatenpakete oder Auswertevektoren, vorhanden sind, kann eine solche Look-Up-Tabelle genutzt werden, die Auswertung der durch die Abtastdaten gegebenen n-Bit-Binärwerte zu beschleunigen. Die Look-Up-Tabelle macht also eine Berechnung der Teilzählergebnisse in Abhängigkeit der gerade vorliegenden n-Bit-Binärwerte überflüssig, wodurch der Zählprozess beschleunigt wird.
-
Vorzugsweise enthält die Auswerteeinheit zur Ermittlung mehrerer aufeinanderfolgender Abtastdatenpakete mehrere gleichzeitig auslesbare Look-Up-Tabellen, welche jeweils die vordefinierten Teilergebnisse für eines der aufeinanderfolgenden Abtastdatenpakete enthalten. Ein solcher paralleler Zugriff auf Look-Up-Tabellen erhöht weiter die Arbeitsgeschwindigkeit in der Auswerteeinheit. So ermöglicht die Verwendung mehrerer Look-Up-Tabellen beispielsweise die Unterteilung des durch das jeweilige Abtastdatenpaket gegebenen Auswertevektors in Vektoren geringerer Vektorbreite, die dann jeweils mittels einer eigenen Look-Up-Tabelle ausgewertet werden können. Dadurch ist es insbesondere möglich, den Auswerteprozess möglichst gut den in dem digitalen Baustein vorhandenen Strukturen anzupassen. Ist die Auswerteeinheit beispielsweise Teil eines FPGA, so können dessen Funktionsblöcke in dieser Ausgestaltung optimal genutzt werden.
-
Durch die Verwendung einer oder mehrerer Look-Up-Tabellen ist es also möglich, das Teilzählergebnis für ein gegebenes Abtastdatenpaket innerhalb eines einzigen Taktzyklus der Auswerteeinheit zu bestimmen.
-
Vorzugsweise enthält die Auswerteeinheit einen Addierer, der die Teilzählergebnisse der mindestens einen Look-Up-Tabelle aufsummiert. Ein solcher Addierer kann ohne großen technischen Aufwand so realisiert werden, dass er allein die Latenzzeit der Auswerteeinheit um einen gewissen Betrag erhöht, ohne den Datendurchsatz zu beeinträchtigen.
-
Vorzugsweise ist die Auswerteeinheit ein Funktionsblock eines FPGA. Weitere Funktionsblöcke des FPGA können in diesem Fall auch zur Realisierung der Abtasteinheit und der Seriell-/Parallel-Wandlereinheit genutzt werden. Der FPGA bildet in diesem Fall einen Auswertebaustein, der funktionswichtige Komponenten der erfindungsgemäßen Zähleinrichtung enthält.
-
In einer möglichen Ausgestaltung ist die Abtasteinheit eine dem FPGA vorgeschaltete Einheit. Dem FPGA können in diesem Fall die Abtastdaten mit einer hohen Bandbreite, die durch die Abtastfrequenz der vorgeschalteten Abtasteinheit festgelegt ist, zugeführt werden. In einer alternativen Ausführungsform ist es jedoch ebenso denkbar, die Abtasteinheit durch einen in dem FPGA selbst vorgesehenen Funktionsblock zu realisieren, der darauf ausgelegt ist, die Abtastung mit der vorbestimmten hohen Abtastfrequenz vorzunehmen.
-
Vorzugsweise ist die Schalteinheit ein n-Bit-Binärzähler mit 2n Schaltzuständen. Für den Fall n = 1 wird vorzugsweise ein bistabiles, flankengesteuertes Kippglied mit zwei Schaltzuständen, auch als Flipflop bezeichnet, verwendet. Beispielsweise kann ein sogenannter Toggle-Flipflop als Schalteinheit genutzt werden, dessen Takteingang das Detektionssignal mit dessen Detektionsimpulsen empfängt und dessen invertierter Ausgang auf den Dateneingang zurückgekoppelt ist. Bei einem solchen bistabilen Kippglied lösen die nacheinander ankommenden Detektionsimpulse alternierend zwei stabile Schaltzustände aus, die anschließend von der Abtasteinheit abgetastet werden. Bei Verwendung eines bistabilen Kippgliedes kann die erfindungsgemäße Einrichtung besonders einfach ausgeführt werden.
-
Sollen Detektionsimpulse in sehr kurzen zeitlichen Abständen voneinander detektiert werden, so wird vorzugsweise ein n-Bit-Binärzähler mit n ≥ 2 verwendet, der beispielsweise in Form von n hintereinander geschalteten Flipflops ausgeführt sein kann. In diesem Fall enthält die Auswerteeinheit vorzugsweise einen Prüfblock, der die in den seriell erzeugten Abtastdaten enthaltenen n-Bit-Binärwerte auf Stabilität der Schaltzustände des Zählers prüft und diejenigen n-Bit-Binärwerte, die als stabil erkannt sind, bei der Ermittlung der Teilzählergebnisse berücksichtigt. Durch eine solche Stabilitätsprüfung ist sichergestellt, dass instabile Schaltzustände des Zählers, beispielsweise sogenannte Metazustände, in dem Zählprozess als solche erkannt und von der Auswertung ausgeschlossen werden, so dass sie das Zählergebnis nicht verfälschen.
-
In einer bevorzugten Ausgestaltung tastet der Prüfblock die in den seriell erzeugten Abtastdaten enthaltenen n-Bit-Binärwerte mit einer Prüffrequenz ab, die kleiner als die Abtastfrequenz ist, mit der die Abtasteinheit die n-Bit-Binärwerte seriell erzeugt. Der Prüfblock erkennt dann diejenigen n-Bit-Binärwerte als stabil an, die jeweils gleich dem von dem Prüfblock unmittelbar zuvor abgetasteten n-Bit-Binärwerte sind. Diese Ausgestaltung nutzt den Umstand, dass instabile Schaltzustände in der Regel nur sehr kurze Zeit vorliegen. Ergibt die Prüfung zweier aufeinanderfolgender n-Bit-Binärwerte, die durch Abtastung mit einer Prüffrequenz, die kleiner als die Abtastfrequenz der Abtasteinheit ist, erzeugt sind, dass diese Binärwerte gleich sind, so kann davon ausgegangen werden, dass diese Binärwerte einen stabilen Schaltzustand wiedergeben. Die Binärwerte sind damit als stabil erkannt und können bei der Ermittlung des Zählergebnisses berücksichtigt werden.
-
Vorzugsweise sind die Schaltzustände des Zählers durch die Detektionsimpulse in einer vorbestimmten Zustandsreihenfolge auslösbar. In diesem Fall bestimmt die Auswerteeinheit bei der Ermittlung des jeweiligen Teilzählergebnisses, das die Anzahl der in dem Zähler aufgetretenen Schaltzustandswechsel angibt, die Anzahl der jeweils zwischen zwei aufeinanderfolgenden stabilen Schaltzuständen durchlaufenen Zustände unter Berücksichtigung der vorbestimmten Zustandsreihenfolge. Ist der Zähler beispielsweise ein vorwärts zählender Baustein, so ist die Zustandsreihenfolge, die der Zähler in den aufeinanderfolgenden Zählschritten durchläuft, vorbestimmt. Dies ermöglicht es, durch Betrachtung zweier aufeinanderfolgender stabiler Schaltzustände unter Berücksichtigung dieser vorbestimmten Zustandsreihenfolge die zwischen diesen Zuständen aufgetretenen Zählschritte zu ermitteln.
-
In einer alternativen Ausführungsform kann als Zähler ein sogenannter Gray-Code-Zähler verwendet werden, der sich dadurch auszeichnet, dass er bei jedem Zählschritt nur ein einziges Binärzeichen ändert und damit besonders robust gegenüber Instabilitäten ist. Obgleich ein solcher Gray-Code-Zähler in der Regel eine geringere Arbeitsgeschwindigkeit als beispielsweise ein aus n hintereinandergeschalteten Flipflops gebildeter Zähler aufweist, ist er in solchen Fällen gewinnbringend einsetzbar, in denen eine besondere Robustheit gegenüber Schaltzustandsinstabilitäten gefordert ist.
-
Vorzugsweise enthält die Detektoreinheit einen Verstärker, der das Detektionssignal verstärkt, und einen dem Verstärker nachgeschalteten Komparator, der die in dem verstärkten Detektionssignal enthaltenen Detektionsimpulse zu Rechteckimpulsen formt. In dieser Ausgestaltung sind die der Abtasteinheit zugeführten Detektionsimpulse demnach verstärkte Rechteckimpulse, die sich besonders einfach und zuverlässig abtasten lassen.
-
Nach einem weiteren Aspekt der Erfindung ist ein Lichtmikroskop mit einer Zähleinrichtung vorstehend genannter Art vorgesehen.
-
Ferner sieht die Erfindung ein Verfahren zum Zählen von Photonen mit den in dem Anspruch 15 angegebenen Merkmalen vor.
-
Die Erfindung wird im Folgenden anhand der Figuren näher erläutert. Darin zeigen:
-
1 ein Blockdiagramm eines ersten Ausführungsbeispiels der erfindungsgemäßen Zähleinrichtung;
-
2 ein Blockdiagramm, das Funktionsblöcke eines in 1 dargestellten Auswertebausteins zeigt;
-
3 Diagramme zur Veranschaulichung, wie mit der Zähleinrichtung nach den 1 und 2 aus dem Detektionssignal Abtastdatenpakete in Form von parallelisierten Abtastdaten erzeugt werden;
-
4 Diagramme zur Veranschaulichung, wie mit der Zähleinrichtung nach den 1 und 2 aus den Abtastdatenpaketen die Anzahl der detektierten Photonen ermittelt wird;
-
5 ein Blockdiagramm eines zweiten Ausführungsbeispiels der erfindungsgemäßen Zähleinrichtung zeigt;
-
6 ein Blockdiagramm, das Funktionsblöcke eines in 5 dargestellten Auswertebausteins zeigt; und
-
7 ein Diagramm zur Veranschaulichung, wie mit der Zähleinrichtung nach den 5 und 6 aus einem Detektionssignal die Anzahl der detektierten Photonen ermittelt wird.
-
1 zeigt ein Blockdiagramm einer Zähleinrichtung 10, die ein erstes Ausführungsbeispiel der Erfindung darstellt. Die Zähleinrichtung 10 ist Teil eines in einem nicht gezeigten Konfokalmikroskop vorgesehenen Detektionssystems und dient dazu, bei der Aufnahme von Photonenströmen eine Vielzahl von einzelnen Photonen, z. B. von bis zu mehreren hundert Millionen Photonen, pro Sekunde zu zählen.
-
Die Zähleinrichtung 10 weist eine Detektoreinheit 12 auf, die aus einem Detektor 14, z. B. einem Fotoelektronenvervielfacher, einem Verstärker 16 und einem Komparator 18 gebildet ist. Der Detektor 14 empfängt den Photonenstrom und erzeugt ein elektrisches, zeitkontinuierliches Detektionssignal 20, das für jedes detektierte Photon einen Impuls 22 aufweist. Der Verstärker 16 verstärkt das Signal 20 zu einem Signal 24, das dem Komparator 18 zugeführt wird. Der Komparator 18 formt das Signal 24 zu einem Signal 26 um, das den Impulsen 22 entsprechende Rechteckimpulse 28 aufweist. Das Signal 26 wird im Folgenden als Detektionssignal bezeichnet, während die Rechteckimpulse 28 als Detektionsimpulse bezeichnet werden.
-
Der Detektoreinheit 12 ist eine digitale Schalteinheit 30 nachgeschaltet, die aus einem bistabilen, flankengesteuerten Kippglied mit zwei stabilen Schaltzuständen, z. B. einem Toggle-Flipflop gebildet ist. An dem Takteingang des Flipflops 30 liegt das Detektionssignal 26 an. Der invertierte Ausgang /Q des Flipflops 30 ist auf dem Dateneingang D zurückgekoppelt.
-
Die dem Takteingang des Flipflops 30 zugeführten Detektionsimpulse 28 wirken als Taktimpulse, die jeweils einen Wechsel zwischen den beiden Schaltzuständen des Flipflops 30 bewirken. Der Flipflop 30 gibt über seinen Ausgang Q ein elektrisches, zeitkontinuierliches Ausgangssignal 32 aus, das im Folgenden als Zustandssignal bezeichnet wird. Die beiden stabilen Schaltzustände des Flipflops 30 spiegeln sich in zwei möglichen Zustandssignalpegeln wider, nämlich einem tiefen Pegel und einem hohen Pegel, die das Zustandssignal 32 annehmen kann. Das Zustandssignal 32 wird einem digitalen Auswertebaustein 34, z. B. einem FPGA zugeführt.
-
2 zeigt Funktionsblöcke des Auswertebausteins 34 in einem Blockdiagramm.
-
Der Auswertebaustein 34 enthält einen Funktionsblock 36, der eine mit einer vorbestimmten Abtastfrequenz arbeitende Abtasteinheit bildet. Die Abtasteinheit 36 empfängt das Zustandssignal 32 und tastet dieses mit der vorbestimmten Abtastfrequenz ab, um eine Serie von Abtastdaten zu erzeugen, die über eine einzige Ausgangsleitung 38 an einen weiteren Funktionsblock 40, der eine Seriell-/Parallel-Wandlereinheit bildet, übertragen werden.
-
Die Abtasteinheit 36 erzeugt die Abtastdaten in Form einer Serie von 1-Bit-Binärwerten, im Folgenden einfach als Bits bezeichnet. Jedes Bit der Abtastdaten hat abhängig von dem abgetasteten Zustandssignalpegel entweder den Wert 1 oder den Wert 0 (vgl. 3).
-
Die Seriell-/Parallel-Wandlereinheit 40 wandelt die seriellen Abtastdaten in Abtastdatenpakete, in denen jeweils eine vorbestimmte Zahl an aufeinanderfolgenden Abtastdaten zusammengefasst sind. Hierzu weist die Wandlereinheit 40 mehrere Ausgangsleitungen 42 auf, auf denen die Bits eines jeweiligen Abtastdatenpakets parallel ausgegeben werden.
-
Der Wandlereinheit 40 sind mehrere Look-Up-Tabellen 44, 46 nachgeschaltet, mit denen die von der Wandlereinheit 40 erzeugten Abtastdatenpakete in später genauer erläuterter Weise ausgewertet werden. Die Look-Up-Tabellen 44 und 46 sind mit einem Addierer 48 gekoppelt, der Teilzählergebnisse, die mit Hilfe der Look-Up-Tabellen 44 und 46 ermittelt werden, zu einem Gesamtzählerergebnis aufsummiert. Dieses Gesamtzählerergebnis gibt dann die in einem vorbestimmten Zeitintervall ermittelte Zahl an Photonen an.
-
Die Wandlereinheit 40, die Look-Up-Tabellen 44, 46 und der Addierer bilden eine Auswerteeinheit 49.
-
Im Folgenden wird unter Bezugnahme auf die 3 und 4 rein beispielhaft veranschaulicht, wie die in den 1 und 2 dargestellte Zähleinrichtung 10 die Anzahl der in einem vorbestimmten Zeitintervall detektierten Photonen ermittelt.
-
3 zeigt unter a) das von dem Detektor 14 ausgegebene Signal 20 und unter b) das von dem Komparator 18 ausgegebene Detektionssignal 26. Unter c) ist dargestellt, wie sich der Pegel des von dem Flipflop 30 ausgegebenen Zustandssignals 32 mit Empfang der Detektionsimpulse 28 ändert.
-
In dem vorliegenden Ausführungsbeispiel findet mit jeder steigenden Flanke der Detektionsimpulse 28 in dem Flipflop 30 ein Wechsel zwischen den beiden möglichen Schaltzuständen statt, der sich in einer entsprechenden Pegeländerung des Zustandssignals 32 widerspiegelt. Im Ergebnis wandelt so der Flipflop 30 die kurzen Detektionsimpulse 28 in stabile Schaltzustände um, deren Länge durch den zeitlichen Abstand zweier unmittelbar aufeinanderfolgender Detektionsimpulse 28 gegeben ist.
-
3 zeigt unter d) die von der Abtasteinheit 36 des Auswertebausteins 34 seriell erzeugten Abtastdaten, die durch Abtasten des unter c) gezeigten Zustandssignals 32 zustande kommen. Die Bits dieser Abtastdaten nehmen für den tiefen Zustandssignalpegel den Wert 0 und für den hohen Zustandssignalpegel den Wert 1 an.
-
Wie aus der 3 unter c) und unter d) hervorgeht, ist die Abtastfrequenz, mit der die Abtasteinheit 36 das Zustandssignal 32 abtastet, so groß, dass für jeden stabilen Schaltzustand des Flipflops 30 mehrere Bits als Abtastdaten erzeugt werden.
-
Unter e) der 3 ist veranschaulicht, wie die Wandlereinheit 40 die seriell erzeugten Abtastdaten parallelisiert, d. h. jeweils Abtastdatenpakete oder Auswertevektoren erzeugt, die mehrere parallel verarbeitbare Bits enthalten. Dabei ist jedes Abtastdatenpaket in dem vorliegenden Ausführungsbeispiel aus siebzehn Bits gebildet, von denen das jeweils erste Bit durch Übernahme des letzten Bits des unmittelbar zuvor erzeugten Abtastdatenpakets erzeugt ist. Unter e) der 3 ist diese Übernahme des letzten Bits jeweils durch einen Pfeil veranschaulicht. Die Übernahme des jeweils letzten Bits stellt sicher, dass auch Zustandswechsel, die genau am Übergang zwischen zwei aufeinander folgenden Abtastdatenpaketen auftreten, auch als solche erkannt werden.
-
4 zeigt, wie die durch die Wandlereinheit 40 erzeugten Abtastdatenpakete mit Hilfe der Look-Up-Tabellen 44, 46 (in 4 als LUT_1 und LUT_2 bezeichnet) ausgewertet werden und mit Hilfe des Addierers 48 schließlich das Gesamtzählerergebnis ermittelt wird. Dabei zeigt 4 unter a) nochmals die seriellen Abtastdaten und unter b) die aus den seriellen Abtastdaten erzeugten Abtastdatenpakete.
-
Wie die 4 unter b) zeigt, wird jedes Abtastdatenpaket, das siebzehn Bits aufweist, nochmals in zwei kleinere Pakete oder Auswertevektoren unterteilt, um eine möglichst gute Anpassung des Zählprozesses an die in dem Auswertebaustein 34 vorhandenen Funktionsblöcke, insbesondere die Look-Up-Tabellen 44 und 46 zu erreichen. Jedes dieser kleineren Abtastdatenpakete enthält neun Bits, wobei wiederum das jeweils erste Bit durch Übernahme des letzten Bits des vorhergehenden Abtastdatenpakets erzeugt wird. Dies ist unter b) der 4 durch die geschwungenen Klammern veranschaulicht.
-
Jede Look-Up-Tabelle 44, 46 dient der Auswertung eines der beiden durch die vorstehend genannte Unterteilung erzeugten, kleineren Abtastdatenpakete. In den Look-Up-Tabellen 44 und 46 sind zu sämtlichen Bitkombinationen, die innerhalb des jeweiligen Abtastdatenpakets möglich sind, Zählwerte gespeichert, die für die jeweilige Bitkombination die Anzahl der aufgetretenen Zustandswechsel, d. h. die Anzahl der erfassten Detektionsimpulse 28 angeben. Diese Werte sind in 4 unter c) angegeben. Dort ist ferner veranschaulicht, wie diese vordefinierten Zählwerte mit Hilfe des Addierers 48 zunächst zu Teilzählergebnissen aufsummiert werden. In dem vorliegenden Ausführungsbeispiel ergeben sich für die ersten drei unter b) der 4 dargestellten Abtastdatenpakete die Werte 2, 0 und 1. Der unter c) mit dem gestrichelten Pfeil gekennzeichnete Wert stammt von einem vorhergehenden Abtastdatenpaket, das in 4 nicht dargestellt ist.
-
Um die Gesamtzahl der detektierten Photonen zu ermitteln, summiert schließlich der Addierer 48 die unter c) der 4 angegebenen Teilzählergebnisse zu einem Gesamtzählergebnis auf.
-
In den 5 und 6 ist eine Zähleinrichtung 50 als zweites Ausführungsbeispiel dargestellt, das eine Abwandlung des Ausführungsbeispiels nach den 1 und 2 ist. Diejenigen Komponenten der Zähleinrichtung 50, die identisch sind mit den entsprechenden Komponenten des ersten Ausführungsbeispiels, sind mit den für das erste Ausführungsbeispiel verwendeten Bezugszeichen versehen und werden im Folgenden nicht nochmals beschrieben.
-
Die Zähleinrichtung 50 nach zweitem Ausführungsbeispiel stellt eine Abwandlung dar, die insbesondere zur Detektion von Photonen genutzt werden kann, die in sehr kurzen zeitlichen Abständen aufeinander folgen. Hierzu ist anstelle des in dem ersten Ausführungsbeispiel vorgesehenen Flipflops 30, der einen 1-Bit-Binärzähler darstellt, ein n-Bit-Binärzähler 52 vorgesehen, wobei n ≥ 2 ist. Wie der Flipflop 30 nach erstem Ausführungsbeispiel ist auch der Zähler 52 als externer Baustein ausgeführt, d. h. nicht Teil eines digitalen Auswertebausteins 54, der wiederum beispielsweise durch einen FPGA realisiert sein kann.
-
Der Zähler 52, dem das Detektionssignal 26 mit seinen Detektionsimpulsen 28 zugeführt wird, weist 2n Schaltzustände auf und gibt ein Zustandssignal 56 aus, das für jeden dieser Schaltzustände einen eigenen Zustandssignalpegel aufweist. Wie auch bei dem Flipflop 30 nach 1 bewirkt hierbei jeder von dem Zähler 52 empfangene Detektionsimpuls einen Schaltzustandswechsel.
-
6 zeigt ein Blockdiagramm mit Funktionsblöcken, die in dem Auswertebaustein 54 nach 5 enthalten sind. Dabei bildet ein Funktionsblock 58 eine Abtasteinheit, die das von dem Zähler 52 ausgegebene Zustandssignal mit einer vorbestimmten Abtastfrequenz abtastet und so eine Serie von Abtastdaten erzeugt. Die seriell erzeugten Abtastdaten weisen für jeden Zustandspegel einen n-Bit-Binärwert auf.
-
Die Abtasteinheit 58 gibt die seriell erzeugten Abtastdaten an einen Prüfblock 60 aus, der in später erläuterter Weise die in den Abtastdaten enthaltenen n-Bit-Binärwerte auf Stabilität der Schaltzustände des Zählers 52 prüft und als instabil erkannte Werte von der weiteren Auswertung zur Ermittlung der Photonenzahl ausschließt. Hierzu tastet der Prüfblock 60 die von der Abtasteinheit 58 erzeugten Abtastdaten nochmals mit einer Abtastfrequenz ab, die kleiner ist als die Abtastfrequenz, mit der die Abtasteinheit 58 arbeitet. Die Abtastfrequenz des Prüfblocks 60 wird im Folgenden als Prüffrequenz bezeichnet.
-
Der Prüfblock 60, die Wandlereinheit 40, die Look-Up-Tabellen 44, 46 und der Addierer 48 bilden wiederum eine Auswerteeinheit 62. Dabei ist der Prüfblock 60 in dem vorliegenden Ausführungsbeispiel der Wandlereinheit 40 vorgeordnet. Der Prüfblock 60 kann jedoch auch der Wandlereinheit 40 nachgeschaltet sein.
-
Zur Funktionsweise der in den 5 und 6 gezeigten Abwandlung wird im Folgenden auf 7 verwiesen. Dort ist unter a) wiederum das von dem Detektor 14 ausgegebene Signal 20 und unter b) das von dem Komparator 18 ausgegebene Detektionssignal 26 mit den Detektionsimpulse 28 dargestellt.
-
7 zeigt unter c) seriell erzeugte Abtastdaten, die die Abtasteinheit durch Abtasten 58 des von dem Zähler 52 ausgegebenen Zustandssignals erzeugt. Dabei wird für das in 7 gezeigte Beispiel angenommen, dass der Zähler 52 ein 2-Bit-Binärzähler ist und dementsprechend die seriell erzeugten Abtastdaten 2-Bit-Binärwerte enthalten. Mit diesen 2-Bit-Binärwerten lassen sich die vier möglichen Schaltzustände des Zählers 52 darstellen, nämlich als (0,0), (1,0), (0,1) und (1,1). Unter c) sind die niederwertigen Bits in der der unteren Zeile und die höherwertigen Bits in der oberen Zeile angegeben.
-
In dem zweiten Ausführungsbeispiel nimmt der Prüfblock 60 eine Prüfung der Schaltzustände des Zählers 52 auf Stabilität vor. In dem Beispiel nach 7 ist dies durch die unter c), d) und e) angegebenen 2-Bit-Binärwerte veranschaulicht. So soll in der unter c) dargestellten Serie von 2-Bit-Binärwerten der mit X gekennzeichnete Binärwert (1,1) einen instabilen Schaltzustand des Zählers 52 angeben, der keinen gültigen Zählerwert repräsentiert.
-
Ein solcher fehlerhafter Zustand, häufig auch als Metazustand bezeichnet, tritt nur kurzzeitig auf. Bei dem in 7 gezeigten Beispiel liegt der instabile Schaltzustand nur zu einem einzigen Abtastzeitpunkt vor. Die Fehlerhaftigkeit des mit X bezeichneten Schaltzustands (1,1) zeigt auch ein Vergleich mit der Darstellung unter b) der 7. Dieser ist zu entnehmen, dass zu dem betrachteten Abtastzeitpunkt erst zwei Detektionsimpulse aufgetreten sind, während gemäß dem fehlerhaft mit (1,1) kodierten Schaltzustand X schon drei Detektionsimpulse detektiert sein müssten.
-
Um den instabilen Schaltzustand X von der Auswertung auszuschließen, nimmt der Prüfblock 60 eine weitere, langsamere Abtastung mit der schon weiter oben erwähnten Prüffrequenz vor. Die Ergebnisse dieser Abtastung sind unter d) angegeben. Insbesondere ist zu erkennen, dass allein der instabile Schaltzustand X nur ein einziges Mal auftritt, während alle anderen Schaltzustände mehrmals hintereinander auftreten. Dieser Umstand wird in dem zweiten Ausführungsbeispiel genutzt, um den instabilen Schaltzustand X von der Auswertung auszuschließen.
-
Hierzu wertet der Prüfblock 60 die unter d) angegebenen 2-Bit-Binärwerte dahingehend aus, ob diese Werte mehrmals hintereinander auftreten oder – wie im Falle des instabilen Schaltzustands X – nur ein einziges Mal. Die unter e) der 7 angegebenen 2-Bit-Binärwerte kommen so zustande, dass die unter d) angegebenen Werte jeweils mit dem ihnen unmittelbar vorhergehenden Wert auf Gleichheit geprüft werden. Sind die beiden Werte gleich, so wird dieser gleiche Wert für den gerade betrachteten Wert übernommen. Beispielsweise wird der 2-Bit-Binärwert (0,1), der unter d) an der vierten Stelle von links auftritt, nicht übernommen, da er nicht gleich dem Wert ist, der ihm unmittelbar vorhergeht, nämlich (0,0). Das gleiche gilt für den den instabilen Schaltzustand X repräsentierenden Wert (1,1). Dagegen wird beispielsweise der Wert (1,0), der unter d) an der siebenten Stelle von links auftritt, übernommen, da er gleich dem Wert ist, der ihm unmittelbar vorhergeht.
-
Die auf diese Weise von dem Prüfblock 60 erzeugten 2-Bit-Binärwerte, die unter e) der 7 dargestellt sind, werden an die Wandlereinheit 40 ausgegeben und anschließend mit Hilfe der Look-Up-Tabellen 44, 46 ausgewertet. Bei dieser Auswertung wird die Anzahl der Zählschritte ermittelt, die zwischen den Schaltzuständen auftreten, die durch die unter e) der 7 angegebenen 2-Bit-Binärwerte repräsentiert sind. Hierbei ist in der Auswerteinformation, die in den Look-Up-Tabellen 44, 46 gespeichert ist, die Zustandsreihenfolge berücksichtigt, in der der Zähler 52 seine vier möglichen Schaltzustände durchläuft. Für das in 7 dargestellte Beispiel wird angenommen, dass der Zähler 52 ein vorwärts zählender Baustein ist. Das Ergebnis dieser Ermittlung der Anzahl der Zählschritte ist in 7 unter f) angegeben.
-
Schließlich werden die einzelnen Teilzählergebnisse, die jeweils die ermittelte Anzahl an Zählschritten angeben, von dem Addierer 48 zu einem Gesamtzahlergebnis aufsummiert. Dieses Gesamtzahlergebnis gibt an, wie viele Photonen innerhalb des vorbestimmten Zeitintervalls insgesamt detektiert worden sind.
-
Bezugszeichenliste
-
- 10
- Zähleinrichtung
- 12
- Detektoreinheit
- 14
- Detektor
- 16
- Verstärker
- 18
- Komparator
- 20
- Signal
- 22
- Impuls
- 24
- verstärktes Signal
- 26
- Detektionssignal
- 28
- Detektionsimpuls
- 30
- Flipflop
- 32
- Zustandssignal
- 34
- Auswertebaustein
- 36
- Abtasteinheit
- 38
- Ausgangsleitung
- 40
- Wandlereinheit
- 42
- Ausgangsleitungen
- 44, 46
- Look-Up-Tabellen
- 48
- Addierer
- 49
- Auswerteeinheit
- 50
- Zähleinrichtung
- 52
- n-Bit-Binärzähler
- 54
- Auswertebaustein
- 56
- Zustandssignal
- 58
- Abtasteinheit
- 60
- Prüfblock
- 62
- Auswerteeinheit
- X
- instabiler Schaltzustand