Eötvös Loránd Tudományegyetem Természettudományi kar Fizikai Intézet Alapszakos Szakdolgozat
Nukleáris detektorok jelalakjának vizsgálata Szerző:
Témavezető:
Molnár Dávid
Horváth Ákos
fizika alapszakos hallgató
Atomfizikai Tanszék
Készült az OTKA NN104543 projekt keretében.
2013
A kutatás célja a nukleáris detektorok jelalakjának felvétele modern FPGA technológia alkalmazásával, illetve a jelalakok vizsgálata, szoftverek kidolgozása, ami amplitúdóanalízist, repülési idő mérést és a detektor karakterisztikus időállandójának meghatározását tűzi ki célul. Ennek haszna a későbbiekben: jelalakdiszkrimináció segítségével a neutronok és a gamma-fotonok megkülönböztetése modern szcintillációs detektorokban. A dolgozat tartalma: A mérési rendszer megtervezése, beszerzése és megépítése. Ezt követi majd a szoftver fejlesztése, mely kiterjed az adatok feldolgozására, és egy grafikus felület létrehozására is. Ezután pedig a rendszer kalibrálása, majd az alapmérések következnek. Itt az eszköz erejének demonstrálása a cél, illetve a többi hasonló eszközzel szembeni előnyeinek bemutatása.
The aim of this research is to record signals of nuclear detectors applying modern FPGA technology. I studied the shape of the signals and waveforms, I developed softwares for amplitude analysis, time of flight measurement and I determined the characteristic time constants of two detector materials. The benefits of this research in the future are to separate the gamma rays from neutrons in modern and fast scintillation detectors using pulse shape discrimination. The content of the thesis: How to plan, buy, and build the measurement setup. Then how did I develop the software with graphical user interface for data processing. I present the results of the calibration of the system and of the basic measurements. I determined the time constant, energy resolution, and time resolution of a setup using NaI and a plastic scintillator materials.
1
Köszönöm Horváth Ákosnak, hogy ellátott a sok információval, amiket beépíthettem a dolgozatba, továbbá hozzáférést biztosított az amplitúdóméréshez szükséges eszközökhöz, illetve ezek használatáról felvilágosított, szakirodalmat biztosított. Varga Dezsőnek, aki sok hasznos információt mondott el a mérések elméletéről, és az adatok feldolgozásáról, továbbá biztosította az időméréshez szükséges eszközöket. Maschefszki Tamás barátomnak, aki időt és energiát nem kímélve segített a programozási ismeretek elmélyítésében. Továbbá köszönöm mindazon embereknek, akik valamilyen módon hozzájárultak ahhoz, hogy ez a dolgozat elkészülhessen.
2
Tartalomjegyzék 1. Bevezető 1.1. A kutatás célja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Nukleáris elektronikai eszközök . . . . . . . . . . . . . . . . . . . . .
4 4 5
2. A mérés során felhasznált eszközök bemutatása 2.1. FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Analóg-digitál konverter . . . . . . . . . . . . . . . . . . . . . . . . . 2.3. Detektorok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 5 6 7
3. Az általam végzett nukleáris mérés részletes bemutatása 3.1. Mérési elrendezés, a mérés célja . . . . . . . . . . . . . . . . 3.2. Hardver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1. Szcintillációs detektor . . . . . . . . . . . . . . . . . 3.2.2. ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.3. FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3. Szoftver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1. FPGA szoftvere . . . . . . . . . . . . . . . . . . . . . 3.3.2. Az FPGA adatait fogadó szoftver . . . . . . . . . . . 3.3.3. A grafikus felület . . . . . . . . . . . . . . . . . . . . 3.3.4. Adatfeldolgozás . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
8 8 9 9 11 13 15 15 15 18 19
4. Mérési eredmények 4.1. Feszültség kalibráció . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1. Nullpont meghatározása . . . . . . . . . . . . . . . . . . . . . 4.1.2. Egy digitalizált feszültségértékre jutó feszültség meghatározása 4.1.3. A méréshatár maximuma és minimuma . . . . . . . . . . . . . 4.2. Szcintillációs detektorok jelalakjai . . . . . . . . . . . . . . . . . . . . 4.2.1. Amplitudó mérés . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.2. Repülési idő mérése . . . . . . . . . . . . . . . . . . . . . . . . 4.3. Utánvilágítási idő . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22 22 23 24 27 28 28 31 34
5. Összefoglaló
38
3
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
1. 1.1.
Bevezető A kutatás célja
A kutatás célja a nukleáris detektorokból érkező jelek nagysebességű feldolgozása. A detektálás során felvett jelalakok kiértékelése, és értelmezése, esetleges mérési módszerek kidolgozása. A mai modern félvezetőiparnak köszönhetően már számos technológia áll rendelkezésünkre ahhoz, hogy különböző jelfeldolgozó áramköröket építhessünk meg. Az egyszerűbb PIC-mikrovezérlőktől kezdve a nagysebességű FPGA-kig minden eszköz elérhető. Ezek az eszközök nagyon rugalmasak, rengeteg dokumentáció van róluk és jórészük megfizethető. A dolgozatomban a fő csapásvonalat a szcintillációs detektorok jeleinek vizsgálata fogja jelenteni, mely jeleket egy nagysebességű (133 MHz) analóg-digitál konverterrel fogok digitalizálni, majd egy FPGA-val továbbküldeni a számítógép felé bájtok formájában. Néhány hetes kutatómunkát követően sikerült egy olyan amerikai céget találni, akik azzal foglalkoznak, hogy nagysebességű analóg-digitál konvertereket, és hozzá tartozó FPGA lapkákat gyártanak, ráadásul többféle szoftvert is mellékelnek az FPGA-hoz, melyek segítségével megtanulható az eszközre szánt szoftverek fejlesztése. Pár levélváltást követően megrendeltem tőlük a szükséges eszközöket. Az eszközöket magam választottam ki, vettem meg, illetve a későbbiekben én építettem össze. A kutatásomhoz egy 133 MHz-es konvertert használtam fel. Ez azt jelenti, hogy 133 millió mintát vesz másodpercenként, vagyis nagyjából 7, 5 ns a két minta között eltelt idő. Ez megfelelő gyorsaságú ahhoz, hogy szcintillációs detektorok jeleit feldolgozhassam. Ez a mérési módszer azért jobb például a hangkártyás vagy a PIC-es jelfeldolgozásnál, mert sokkal gyorsabb. A hangkártya 44, 1 kHz-éhez képest kb. 3000-szer gyorsabban tudok mérni. Az eszköz beépített előerősítőjét potméterekkel vezérelve állítható a méresi-feszültségtartomány, illetve a jel eltolható az y-tengely mentén (ofszet), ezért erre nem kell plusz áramkör. Továbbá BNC csatlakozó van rajta, és a lapka úgy van megépítve, hogy 1MΩ bemeneti ellenállása és 15 pF kapacitása van, ami megfelel napjaink szabványainak.
4
1.2.
Nukleáris elektronikai eszközök
Nukleáris elektronikának szokás nevezni bármely olyan elektronikus eszközt, amelyet a nukleáris kutatásokban használnak fel. Ilyenek például a detektorok, számlálók, erősítők, analizátorok, konverterek, skálázók. Felhasználásuk széleskörű: orvosi, katonai és polgári céllal is felhasználják őket. (Például: MRI, sugárzásmérők...stb.) Az ilyen elektronikai eszközök különböző feladatokat látnak el: • Jelalak formálása: ilyen lehet például a jelalak megnyújtása, vagy invertálása. Invertálásra például akkor van szükség, mikor egy detektor a negatív irányba ad feszültséget, de az eszköz viszont csak pozitív tartományban tud mérni. • Jelek erősítése: gyenge jeleket felerősít, hogy az adott feldolgozóegység ki tudja értékelni. Például analóg-digitál konverterek előtt is van egy kis előerősítő. • Jelek szűrése: a jeleket levágja a megfelelő frekvenciahatároknál. Szintén találunk ilyet analóg-digitál konverterekben. • Jelek integrálása: a jelek alatti területet lehet mérni velük. • Koincidencia: Logikai jel jelenik meg, ha minden bemeneten van jel egy adott intervallumon belül. Ilyet például triggereléshez használnak. • Skálázó: Egy logikai impulzus minden N darab bejövő jel után.
2. 2.1.
A mérés során felhasznált eszközök bemutatása FPGA
Az FPGA jelentése: Field Programmable Gate Array, magyarul helyben programozható áramkör. Tehát a csipet nem a gyártáskor programozzák be, hanem mi, helyben. Az FPGA logikai blokkoknak nevezett programozható logikai elemeket, és újrakonfigurálható összeköttetéseket tartalmaz, ami lehetővé teszi, hogy a blokkokat összekössük. A logikai blokkok egyszerű kapuáramkörökké (ÉS, VAGY...stb.), vagy bonyolultabb matematikai függvényeket megvalósító elemekké is konfigurálhatóak. A blokkok továbbá tartalmazhatnak flip-flopokból álló memóriaelemeket, vagy bonyolultabb memóriablokkokat.
5
2.2.
Analóg-digitál konverter
A detektorból érkező elektronikus jelek digitális technológiák számára történő átalakítására és a későbbi feldolgozásához szükségünk van egy analóg-digitál konverterre (későbbiekben ADC). Az analóg-digitál konverterek feladata, hogy a folytonos analóg jelből diszkrét, egész számjegyeket állítson elő. Ez a Flash ADC-nél adott időközönként történik, de van olyan ADC is, ahol egy jel az egy számnak felel meg. Tehát feszültséget vagy áramot alakít át számokká. A mintavételezés nem csak a mért értéket, hanem az időt is képes diszkretizálni. Az ADC konverterek két fő tulajdonsága a felbontás és a sebesség. A felbontást bitben mérik. Egy 8 bites ADC például 28 vagyis 256 különböző feszültségszintet tud megkülönböztetni, azaz a mért jelet ennyi részre osztja fel. A sebességét frekvenciában (Hz, kHz, MHz) vagy másodpercenként vett mintákban (ksps, Msps) mérik. A felbontás és a sebesség megválasztásakor legtöbbször kompromisszumot kell kötni. Ez általában abból adódik, hogy méréskor vagy az időt, vagy a feszültséget kell pontosan mérnünk. Ha esetleg mindkettőt nagyon pontosan kellene mérni, akkor viszont az eszköz ára szab határokat. Az analóg-digitál konverterek néhány típusa: • Flash ADC: A flash ADC-k úgy működnek, hogy egy ellenálás-létra csomópontjaiba komparátorok vannak kötve, melyek a létra tetejére bejövő feszültséget egy referenciafeszültséghez hasonlítják. Ezekkel az eszközökkel akár gigahertzes mintavételezés is elérhető, viszont a 2n − 1 komparátorigény miatt a nagy sebesség mellett nem lehet nagy pontossággal (> 8 bit) mérni. • SAR ADC: A szukcesszív approximációs ADC-k működési elve a következő: Van egy feszültségünk, például 7 V, a mérési feszültségtartomány pedig 0 és 10 V között van. A konverter először megnézi, hogy a feszültség nagyobb-e vagy kisebb a méri tartomány felénél, 5 Voltnál. Nagyobbnak találja, ezért az 5 és 10 V közti tartományt felezi meg a következő lépésben, tehát megnézi, hogy 7,5 Volthoz képest mekkora a jelünk. Ezt így folytatja mindaddig, még az eszköz a maximális felbontási képességét el nem éri. A feszültségértékek összehasonlításának maximális száma 2n , ahol n a bitek száma.
6
• Integráló ADC Úgy működik, hogy egyszerre elindul egy integráló és egy számláló áramkör a konverterben. Az integráló áramkör egy Uref feszültséget integrál, ami egy lineárisan felfutó jelet eredményez a kimenetén, és a számláló ezzel egy időben fut. Egy komparátor a felfutó jelet folyamatosan összehasonlítja a bejövő jellel. Ha a két jel egyezik, akkor a számlálás és az integrálás megáll, és a számláló állása megmutatja a feszültséget. Ennek egy fejlettebb változata úgy mér, hogy az ismeretlen jelet integrálja egy konstans ideig, majd ellenkező előjelű Uref feszültséget kapcsolunk az integráló kondenzátorára, mely kisüti azt, és ezalatt egy periodikus jellel töltjük a számlálót. A kisülést egy komparátorral érzékeli, és ekkor leállítja a számlálást. A kondenzátorban felhalmozódott töltés nagyságát egy referenciaárammal való kisütés idejének meghatározásával tudjuk meg. Ez a fajta átalakítás az elektromos impulzusban hordozott teljes töltésmennyiséget mutatja meg, ezért QDC-nek is nevezik. Nukleáris jeleknél ennek az időbeli lezajlása olyan, hogy egy teljes esemény egészére egyetlen digitális számot kapunk és a jelalak részleteinek meghatározására nincsen idő. Ilyen egységek elterjedtek a CAMAC és VME standardekben de a flash ADC technológia sokkal több információ kinyerésére alkalmas egyes jelek esetén. A másik oldala a dolognak, hogy a sok információ miatt a flash ADC jeleinek feldolgozásához sok idő és processzorteljesítmény kell.
2.3.
Detektorok
A detektorok olyan eszközök, melyekkel az elemi kölcsönhatásokban részt vevő , illetve a magfolyamatok termékei kimutathatóak. Ezekkel az eszközökkel lehet szimplán csak számlálni a részecskéket, de bonyolultabb céllal is felhasználhatóak, például egyes részecskék töltését, kinetikus energiáját, impulzusát is mérhetjük. Ezek a mérések azon alapulnak, hogy a részecske kölcsönhat a detektor anyagával. A kölcsönhatás során többféle reakció is lejátszódhat: például a bejövő részecske szabadon mozgó töltéspárokat hoz létre az anyagban (gáztöltésű detektorok), felgerjeszti az anyagot, ami foton kibocsájtásával tér vissza az alapállapotába (szcintillációs detektorok) vagy valamilyen metastabil állapotot idéz elő (buborékkamra).
7
3.
Az általam végzett nukleáris mérés részletes bemutatása
3.1.
Mérési elrendezés, a mérés célja
1. ábra. A mérési elrendezés blokkdiagrammja
Az 1. ábrán látható a mérési összeállítás blokkdiagrammja. A képen is jól látható, hogy hogyan terjed a mért jel. A detektorból a jel bemegy az ADC-be, ahol az digitalizálja a jelet, majd az FPGA nagy sebességgel feldolgozza és elküldi a számítógépre, ahol további processzálásnak vetem alá az adatokat. A mérés célja az ADC - FPGA rendszer illesztése szcintillációs detektorokhoz, illetve a nagysebességű mintavételezés és a gyakorlatban való alkalmazás demonstrálása. A mérések során jelek időkülönbségeit, futási idejüket és nagyságukat fogom vizsgálni. Az ehhez szükséges hardverek ebben a fejezetben kerülnek bemutatásra.
8
3.2.
Hardver
A hardver fejezetben minden olyan fontosabb eszközről szó lesz, amit a mérés során felhasználok. 3.2.1.
Szcintillációs detektor
Erre a témakörre kicsit bővebben kitérek, mert a méréseim során szcintillációs detektorokból érkező jeleket fogok vizsgálni. A szcintillációs –vagyis a fényfelvillanáson alapuló– detektorokat már régóta használják. Már 1903-ban végeztek ilyen méréseket. Akkor vékony cink-szulfid réteget használva detektáltak α-részecskéket. Rutherford a híres kísérletét is ilyen eszközzel hajtotta végre, melyet annyival egészítettek ki, hogy a felvillanásokat mikroszkóppal figyelték meg. Végül a méréstechnikai áttörést a fotoelektronsokszorozó megjelenése hozta meg. A szcintillátorok olyan anyagok, melyekben a becsapódó részecskék energiája részben fényenergiává alakul át. Töltött részecskék esetében ez közvetlenül történik, semleges részecskéknél másodlagos folyamatok által. Az általam használt szcintillátor egy NaI(Tl)-szcintillátor, ami típusát tekintve szervetlen. (léteznek még szerves szcintillátorok is) A kristályban lejátszódó fluoreszcens folyamatot a szilárd testek sávelméletén keresztül könnyen megérthetjük. A kristályban elnyelt energia hatására a valenciasávból a vezetési sávba elektronok jutnak át, így a valenciasávban lyukak maradnak hátra. Ha a kristályt olyan anyaggal –ezesetben talliummal– szennyezik be, ami a tiltott sávban hoz létre energianívókat, akkor az elektronok ide is átkerülhetnek. A lumineszcencia szempontjából két ilyen nívó jöhet létre: elektroncsapda és lumineszcencia-centrum. Az elektroncsapdába kerülő elektronok hőmozgással kerülnek vissza a vezetési sávba, a lumineszcencia-centrumba kerülő elektronok pedig energia kisugárzásával a valenciasávba kerülnek vissza. Ezen folyamatok –vagyis az elektron-lyuk rekombináció– idejét hívjuk utánvilágítási időnek.
9
A detektor szerves részét képezi a fotoelektronsokszorozó is. Működésük során fotoeffektus és szekunder emisszió során hoznak létre elektronokat a beléjük érkező fotonokból. A fotoeffektus a hν = Wk + Ekin egyenlet alapján érthető meg. Ez azt mondja, hogy a bejövő foton energiája (hν) megegyezik a kilépési munka (Wk ) és a kirepülő elektron kinetikus energiájának (Ekin ) összegével. A szekunder emisszió hasonló a fotoeffektushoz, csak itt úgy valósul meg az elektronok fémből való kilépése, hogy az ahhoz szükséges kilépési energiát a fémbe csapódó elektronok vagy ionok adják meg.
2. ábra. Szcintillációs detektor metszete
A fent elkezdett gondolatmenetet a kép alapján folytatom. A fény-elektron konverzió létrejötte után a kirepülő elektronokat fókuszálni kell egy elektromos tér segítségével. A fókuszált elektronokat egy dinódarendszerre irányítjuk. A dinódák olyan fémből készülnek, melyek szekunder elektronokat bocsátanak ki. A dinóda fő jellemzője a sokszorozási tényező, mely n darab dinódára a következő képlettel írható le: M = δn ahol δ a szekunder elektronok száma. A cső túlvégén egy anód van, ami a megsokszorozott elektronokat gyűjti be. Az anódon a fényintenzitással arányos elektronáram folyik, amit meg lehet mérni.
10
3.2.2.
ADC
A méréseimhez egy 8-bites, 133 MHz-es (de később akár 230 MHz-ig bővíthető) flash ADC-t alkalmazok.
3. ábra. Általam használt Flash ADC[2]
Az 1. számmal jelölt helyre kell beforrasztani a BNC-csatlakozót. Ide érkezik be a detektorról a jel. A 2. számmal jelölt chip az ADC chip (ADC08200 [3] ), mellette, fém tokozásban, a 3. számú alkatrész az oszcillátor, mely az órajelet biztosítja a chip számára. Az általam használt áramkör egy 133 MHz-es órajelforrást használ, de ha gyorsabban akarunk mérni, akkor ezt az oszcillátort lecserélhetjük egy maximum 230 MHz-esre is, illetve egy jumper segítségével kiiktatható a lapon levő oszcillátor és kívülről is adható neki órajel. Ez több eszköz együttes szinkronizálásánál hasznos. A 4. számmal a csatlakozókat jelöltem. Ezeken keresztül jut el az adat az FPGA-ba, illetve ezeken keresztül kapja a tápfeszültséget. Az áramkör 3, 3 V-ot használ és 100 mA-t fogyaszt működése során. Mérési tartománya −100 mV és +1000 mV között van. A negatív tartományt ki lehet bővíteni 500 mV-ig egy dióda kiforrasztása segítségével, mely eredetileg az elektrosztatikus kisülések ellen védi az áramkört. További lehetőség egy feszültségosztó beiktatása az ADC és a mérendő jel közé. Fontos, hogy ezt az osztót jól be kell állítani, különben torz jelet kapunk.
11
A 4. ábrán az ADC blokkvázlata látható.
4. ábra. Az ADC blokkvázlata
Az ábrán keresztül bemutatom, hogy hogyan működik a jel feldolgozása kisebb léptékben. A bejövő analóg jel bemegy a Pre-amp feliratú előerősítőbe. Az előerősítő feladata, hogy a jelet az ADC számára felerősítse. Fontos, hogy ez a konverzió előtt, és ne után történjen meg, mert így kisebb zaj ül a jelre, illetve a digitális jelet már nem lehet erősíteni. Továbbá két kivezetett potméter segítségével beállítható, hogy mekkora feszültségtartományon szeretnénk mérni (Méréshatár ), illetve eltolhaltjuk a jel nullszintjét (Ofszet). Innen kettéágazik a jel: az egyik elágazás egy Periodikus kimenet nevű csatlakozásra megy, a másik pedig az ADC -re. A jel bekerül az ADC be, ami a 133 MHz oszcillátor -tól kapott órajel szerinti sebességgel bedigitalizálja a jelet, majd kiküldi egy 8-bites kimeneten, ahonnan már egy FPGA-val történik a további feldolgozás. Az ADC további paraméterei: • Gyártó: KNJN LLC • Cikkszám: Item#1207 (Flash) • Weboldal: http://www.knjn.com/ • Részletes angol nyelvű dokumentáció: http://www.knjn.com/docs/KNJN%20Flashy%20boards.pdf
12
3.2.3.
FPGA
Az 5. ábrán az FPGA-panel látható.
5. ábra. Általam használt Saxo[1] típusú FPGA panel
Az 1. számmal jelölt részre csatlakozik az ADC. A csatlakozáson keresztül jönnek be az adatok, illetve kapja a tápellátást az átalakító. A 2. számú alkatrész az FPGA chip. Ez egy Altera Cyclone[2] típusú FPGA chip. Ez a chip végzi el az adatok feldolgozását, a trigger kezelését, és az adatok továbbítását is, illetve ezt a chipet kell felprogramozni a megfelelő szoftverrel, hogy a mérést elvégezhessük. A 3. számú chip az USB chip, ami az összeköttetést biztosítja az FPGA és a számítógép között. A chip típusa: Cypress CY7C68013 high-speed USB-2 chip. Átviteli sebessége 30 − 40 MByte/s között van. A chip tartalmaz 4 db 512 byte-os FIFO-t, melyből kettő kifele, kettő befele kommunikál. Pontosabban ez úgy működik, hogy van két FIFO, amibe csak az FPGA tud írni, és a PC kiolvasni, illetve két másik, amibe csak a PC tud írni, és az FPGA kiolvasni. Az USB-protokoll két féle adatcsomag-típust definiál: az egyik típus arra van kihegyezve, hogy mindig megérkezzen az összes adat a fogadóhoz, a másik típus pedig arra, hogy időben állandó jel érkezzen a fogadóhoz. Ez utóbbi használatakor adatveszteség is felléphet, ezért ezt nem nagyon használják. Adatok küldésénél további fontos tényező, hogy hogyan küldhetőek ezek át. A protokoll nem enged 512 byte-nál nagyobb csomagokat elkészíteni, mert a FIFO kapacitása 512 byte, és egy adat egy byte-nak felel meg. Ilyenkor elvágja két csomagra az adathalmazt a chip és úgy kerül továbbításra. 13
Az 512 byte-nál kisebb adatcsomagot pedig egy úgynevezett flag-gel zárja le. A 4. számú alkatrész pedig egy USB-csatlakozó, melyen keresztül történik a kommunikáció az FPGA és a számítógép között. Az FPGA további paraméterei: • Gyártó: KNJN LLC • Cikkszám: Item#5100 (Saxo) • Weboldal: http://www.knjn.com/ • Részletes angol nyelvű dokumentációk: http://www.knjn.com/docs/KNJN%20FX2%20FPGA%20boards.pdf
14
3.3.
Szoftver
Itt a dolgozathoz felhasznált szoftvereket fogom bemutatni. 3.3.1.
FPGA szoftvere
Az FPGA, működéséből adódóan kétféle szoftvert igényel. Egyet rátöltünk, ami a működését vezérli, egyet pedig a számítógépünkön futtatunk (későbbiekben kliens), ami az FPGA-ból jövő adatokat fogadja, illetve kommunikál vele. Az FPGA-ra való szoftvert az eszköz gyártója biztosította számomra. Ez egy zárt forráskód, így csak a lefordított fájlt mellékelték. 3.3.2.
Az FPGA adatait fogadó szoftver
Legelőször a program trigger mechanizmusát fogom bemutatni, mert szerintem ez képezi a lényegét a mérésnek. Az 1. forráskód 1. sora egy előtag, ami két null-byteból áll, ez a csomag címzésére szolgál (PktAdr = Packet Adress). A 2 − 9. sor azt csinálja, hogy minden egyes bitet beállít a maximális értékre. Ezután a TriggerTreshold értékkel állítjuk be azt a küszöbértéket, hogy mekkora jel fölött kezdjen el mintavételezni az eszköz. Ha nullát állítunk be, akkor azonnal elkezd mérni. A küszöböt 0 − 255 közötti egész értékű byteban adjuk meg, így a program azt nézi, hogy az ADC-ből jövö byte-ok valamelyike mikor lépi át a megadott értéket. Természetesen kalibrálás után feszültségérték is megadható. A PreTriggerPoint arra szolgál, hogy a trigger beérkezése előtti jeleket (128 esetén a jelek felét, azaz 512 byte-ot) is beteszi a PC-re küldendő csomagba, és, hogy ha a digitális jelsorozat egyik eleme kielégíti a trigger feltételt, akkor az előtte levő 512 byte-nyi jelet is hozzáveszi az adatcsomaghoz. Ezt úgy teszi lehetővé az eszköz, hogy folyamatosan méri az adatokat, és a PreTriggerPoint-tal beállított értéknek megfelelő mennyiségű adat mindig letárolódik az FPGA-ban, és ha nem jön TriggerTreshold érték feletti jel 512 byte után, akkor ez a memóriaterület felülíródik. Ha a TriggerTreshold értékét eléri a jel, akkor a mintavételezés már csak a rendelkezésre álló memóriaterületnyi adattal folytatódik. A FilterDataIn_HDiv változóval állítjuk be a mintavételezési frekvenciát. Ez úgy működik, hogy az eszköz legnagyobb frekvenciát (esetünkben 133 MHz) leosztja a program kettő valahanyadik hatványával. Tehát 20 , 21 , 22 ... értékekkel. Paraméterként a hatványkitevőt adom meg a programnak. Az AcqAllowed_TriggerSlope rész pedig a trigger meredekségét állítja be. Feladata annak megadása, hogy pozitív vagy negatív meredekségre legyen triggerelés. Ha 128-t állítunk be, akkor pozitív-, ha 192-t, akkor negatív meredekségre triggerel.
15
1. forráskód Trigger kérés 1 2 3 4 5 6 7 8 9 10 11 12 13
T r i g g e r R e q u e s t . PktAdr = 0 x0000 ; T r i g g e r R e q u e s t .DAC[ 0 ] = 0xFF ; T r i g g e r R e q u e s t .DAC[ 1 ] = 0xFF ; T r i g g e r R e q u e s t .DAC[ 2 ] = 0xFF ; T r i g g e r R e q u e s t .DAC[ 3 ] = 0xFF ; T r i g g e r R e q u e s t .DAC[ 4 ] = 0xFF ; T r i g g e r R e q u e s t .DAC[ 5 ] = 0xFF ; T r i g g e r R e q u e s t .DAC[ 6 ] = 0xFF ; T r i g g e r R e q u e s t .DAC[ 7 ] = 0xFF ; T r i g g e r R e q u e s t . T r i g g e r T h r e s h o l d = TT; TriggerRequest . PreTriggerPoint = 128; T r i g g e r R e q u e s t . FilterDataIn_HDiv = SF ; T r i g g e r R e q u e s t . AcqAllowed_TriggerSlope = TS ;
A következő kódrészlet küldi el a trigger request-et az XferData függvény segítségével, ami a Cyapi.h fájlban van lekódolva. 2. forráskód Trigger kiküldése 1 2
LONG l e n = s i z e o f ( T r i g g e r R e q u e s t ) ; BulkOutPipe2−>XferData ( (PUCHAR)&T r i g g e r R e q u e s t , l e n ) ;
Ez a kódrészlet az adatokat fogadja. 3. forráskód Adat fogadása 1 2
l e n = s i z e o f ( DataPacket ) ; BulkInPipe4−>XferData ( (PUCHAR)&DataPacket , l e n ) ;
Az adatküldés-, és fogadás lényegében annyi a kód szempontjából, hogy a számítógépre írt program elküld egy úgynevezett magic number -t –ami egy azonosítója– az FPGA-nak, és ha ez megegyezik a küldöttel, akkor megtörténik a küldés, illetve a fogadás. A 4. forráskód is egy ilyen ellenörzést mutat be.
16
A következő kódrészlet a mérés előkészületeit intézi. Ellenőrzi, hogy megfelelő mennyiségű adatot fogadunk-e, illetve, hogy a megfelelő eszközzel kommunikálunk.
4. forráskód Ellenörző függvények 1
2 3
4 5
6
i f ( DataPacket . hdr1 . magic_number==0x55AA && DataPacket . hdr1 . v e r s i o n== DataPacketVersion ) { i f ( ( DataPacket . hdr1 . nb_channels_and_ADCfreq & 0x0F ) == nFlashyChannels ) { i f ( DataPacket . hdr2 . magic_number==0x55AA && DataPacket . hdr2 . v e r s i o n==DataPacketVersion ) {
Majd ezt követően beírjuk egy fájlba az adatokat. 5. forráskód Fájlba írás 1
f o r ( i =0; i
A következő kódrészlet dokumentációs funkciót tölt be. Segítségével kiszámolok pár hasznos információt, mint például, hogy mennyi idő telik el két jel között, vagy, hogy milyen hosszú egy adatcsomag (1024 byte) ideje. Ezeket az adatokat egy külön szöveges fájla is kiíratom (de nem abba, amelyikbe a mérési adatok mennek), hogy később könnyen ellenőrizhető legyen, hogy milyen beállításokkal mértem. 6. forráskód Dokumentációs funkciók 1 2 3 4 5 6 7 8
"A v a l a s z t o t t f r e k v e n c i a : "<< ( 1 3 3 / pow ( 2 . 0 , SF ) ∗ 1 0 0 0 0 0 0 )<<"Hz"<<endl << "Ket pont k o z o t t e l t e l t i d o : "<<endl << ( 1 / ( 1 3 3 / pow ( 2 . 0 , SF ) ) / 1 0 0 0 0 0 0 )<<" masodperc "<<endl << "Egy adatcsomag ( 1 0 2 4 byte ) i d e j e : "<<endl << ( 1 0 2 4 ∗ ( 1 / ( 1 3 3 0 0 0 0 0 0 / pow ( 2 . 0 , SF ) ) ) )<<" masodperc "<<endl << "A meres ( t e l j e s m i n t a v e t t j e l ) h o s s z a : "<<endl << CY∗ ( 1 0 2 4 ∗ ( 1 / ( 1 3 3 0 0 0 0 0 0 / pow ( 2 . 0 , SF ) ) ) ) <<" masodperc "<<endl << "A t r i g g e r k u s z o b e r t e k e : "<< TT <<" byte v o l t "<<e n d l ;
17
3.3.3.
A grafikus felület
A könnyebb kezelhetőség végett a program kapott egy grafikus felületet is, melynek segítségével gyorsabb és kényelmesebb a használata. A grafikus felület Visual C++ban, Windows rendszerre íródott, máson nem fut! A felület elkészítésekor fontos szempont volt, hogy minél több funkciót lehessen használni, ami megkönnyíti az adatok vizualizációját és feldolgozását. Röviden a gombok és legördülő listák funkcióiról: • Start: ezzel a gombbal indítjuk el a mérést. • Mintavételezési frekvencia: itt választható ki a kívánt mintavételezési frekvencia. Ez a programban az SF változó megadását jelenti. • Trigger küszöb: itt választható ki, hogy milyen küszöbérték elérésekor kezdődjön a mintavételezés. Ez a programban a TT változó megadásával történik. • Ciklusok száma: azt határozza meg, hogy hányszor 1024 byte-ot fogadjunk • Trigger irány: kiválasztható, hogy pozitív vagy negatív meredekségre triggereljünk. • Jelalak: a jelalak.plt gnuplot scripttel legenerálja a plotot • Hisztogram: legenerálja a hisztogram adatait és a histogram.plt gnuplot scripttel elkészíti a plotot. • Maximumok: Adatcsomagonként (1024) byte-onként meghatározza a minimumokat és a maximumokat, majd hisztogrammot generál belőlük és a max.plt scripttel kirajzolja. • Jelszűrés: a gomb alatt megadható küszöbérték feletti értékeket szűri ki és a filtered.plt gnuplot scripttel elkészíti a plotot. Ez a TriggerRequest küszöbétől független érték. • Gnuplot: a felirat alatt levő legördülő listával a már legenerált adatokat hívja meg és rajzolja ki a program a picturebox területére. • Mérési adatok: ide írja ki a 6. forráskód által generált adatokat.
18
6. ábra. Grafikus felület
3.3.4.
Adatfeldolgozás
Az alábbi részben az adatok feldolgozását szolgáló scripteket és kódrészleteket fogom bemutatni.
7. forráskód Minimumok és maximumok kiválogatása 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
i n t Max( L i s t ^ nums ) { i n t max=nums [ 0 ] ; f o r each ( i n t i i n nums ) { i f ( i >max)max=i ; } r e t u r n max ; } i n t Min ( L i s t ^ nums ) { i n t min=nums [ 0 ] ; f o r each ( i n t i i n nums ) { i f ( i <min ) min=i ; } r e t u r n min ; }
19
Az alábbi kódrészlettel a hisztogram adatait generálom le. 8. forráskód Hisztogram generálása 1 2 3 4 5 6 7
v o i d Histogram ( L i s t ^ l i s t a ) { L i s t ^ h i s z t o=gcnew L i s t () ; f o r ( i n t i =0; i <256; i ++) { h i s z t o −>Add ( 0 ) ; }
8 9 10 11 12
f o r each ( i n t i i n l i s t a ) { h i s z t o [ i ]++; }
A 9. forráskód azt csinálja, hogy ha talál egy általunk beadot küszöbértéket, akkor az adott pont helyéhez képest balra 20, jobbra pedig 100 mérési pontot eltárol egy file-ba, majd a következő keresést már a talált pont helyétől 100-zal arrébb kezdi, hogy ne legyen átlapolódás. 9.forráskód Zérus-elnyomás 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
i n t min=0; i n t l e f t =20; i n t r i g h t =100; f o r ( i n t i =0; i Count ; i ++) { i f ( adatok [ i ]> kuszob ) { KuszobKornyezet ( i , l e f t , r i g h t , sw , min ) ; i f ( ( i+r i g h t )>=adatok−>Count ) break ; else { i+=r i g h t ; min=i ; } } }
20
Az alábbi gnuplot script feliratozza a tengelyeket, és egy png formátumú képet hoz létre. Ez a kód bármilyen jelalak esetén hasonló a megfelelő változók felhasználásával. 10. forráskód Jelalak kirajzolása gnuplot scripptel 1 2 3 4 5 6 7 8
u n s e t key s e t x l a b e l " Ido ( i d o e g y s e g ) " s e t y l a b e l " F e s z u l t s e g (mV) " s e t t e r m i n a l png s e t output ’ j e l a l a k . png ’ p l o t ’ Data . t x t ’ w l p s e t t e r m i n a l wxt exit
A következő script a hisztogramot rajzolja ki és menti el egy png formátumú képként. Ez a kód általánosítható a többi hisztogram kirajzolására is. 11. forráskód Hisztogram kirajolása 1 2 3 4 5 6 7 8 9 10
u n s e t key s e t y l a b e l " Beutesszam " set xlabel " Digitalizalt feszultsegertek " s e t t e r m i n a l png s e t output ’ h i s z t o g r a m . png ’ s e t boxwidth 0 . 9 5 r e l a t i v e s e t s t y l e f i l l transparent s o l i d 0 . 5 noborder p l o t ’ h i s t o g r a m . t x t ’ w boxes l c rgb " g r e e n " n o t i t l e s e t t e r m i n a l wxt exit
21
4. 4.1.
Mérési eredmények Feszültség kalibráció
A kalibrációra azért van szükség, mert nem tudni, hogy az ADC által digitalizált feszültségérték (későbbiekben I ) mekkora valós (U ) feszültségnek felel meg. I értéke 0 és 255 között vehet fel egész értékeket. A kalibrációt úgy végeztem, hogy egy jelgenerátor (Pulse Generator PG - 1000 ) segítségével négyszögjelet állítottam elő, majd egy hitelesített digitális oszcilloszkóp (Voltcraft DSO 8204 ) segítségével megmértem a jel feszültségét. Az eszközöm mérési tartománya −100 mV és +1000 mV közé esik, én ennek a tartománynak a pozitív részében mértem.
22
4.1.1.
Nullpont meghatározása
A 7. ábráról a mérések nullpontja olvasható le. Jól látható, hogy a nullpont az 56±1 tartományban van. A későbbi kalibrációs görbe meghatározásánál az f (x) = a · x + b egyenlet b paraméterének ezt a számot fogom megadni, mert ezt pontosan ismerem. Látszik egy kis ugrálás is a jelben, ami csupán a digitalizálás során keletkezett zaj, de nem hiba! A nullpontokra illesztett egyenes (f (x) = a ∗ cdotx + b) b paramétereként b = 55, 99 ± 0.026 (0.04664%) értéket kaptam. Ez is szépen mutatja, hogy a képen is látható kiugrások milyen kis súllyal szólnak bele az eredménybe.
1270mV
59
58
I
57
56
55
54
53 0
100
200
300 Ido (idoegyseg)
7. ábra. Nullpont környéke
23
400
500
4.1.2.
Egy digitalizált feszültségértékre jutó feszültség meghatározása
130 400mV 120
110
I
100
90
80
70
60
50 0
500
1000 Ido (idoegyseg)
1500
2000
8. ábra. Kalibráláshoz generált jel A 8. ábrán egy felvett négyszögjel látható gnuplottal ábrázolva. Ilyen felvételek alapján készítettem el a kalibrációt. Két dolgot megjegyeznék itt! Az első, hogy látni, hogy a jel alja nem a 0 értékű byte-on van. Ennek oka, hogy a mérési tartomány nem 0-tól kezdődik, ráadásul nem is szimmetrikus. A nulla szint az I = 56 értéknél van, mint ezt egy korábbi pontos méréssel meghatároztam. A második megjegyzésem, hogy a jel csúcsa nem nagyon hasonlít a négyszögjelére. Ennek az az oka, hogy a négyszögjel generálása során egy kondenzátor feltöltött és kisült állapota között ugrál a jel. A kondenzátor időállandójához képest a mintavételezési idő kisebb, ezért látjuk a feltöltődést. Így én azt az értéket fogom a feszültség csúcsának tekinteni, ahol a jel már egy nagyjából konstans értéket vett fel. Ez a következő –9. ábrán– az I = 122 értéket jelenti.
24
400mV
124
122
I
120
118
116
114
200
220
240
260 Ido (idoegyseg)
280
300
9. ábra. A négyszögjel csúcsa
Ezt követően azt csináltam, hogy megmértem különböző feszültségértéket és megnéztem, hogy mekkora I érték tartozik hozzájuk. Ebből egy táblázatot készítettem (lásd 1. táblázat) és ábrázoltam a pontpárokat, majd –nagyjából lineáris összefüggést feltételezve– egy egyenest illesztettem a kirajzolt pontpárokra. Feszültség (mV) I Feszültség (mV) I
28 56 104 200 300 400 504 576 600 704 800 61 66 73 89 105 122 139 151 156 172 187 928 1000 1100 1200 1250 1270 208 219 232 246 252 254
1. táblázat. Feszültség - digitalizált számérték pontpárok
25
Az 1. táblázatból vett pontpárok és a rájuk illesztett egyenes a 10. ábrán látható.
260 f(x) = ax+b kalibracios pontok 240 220 200
I
180 160 140 120 100 80 60 0
200
400
600 800 Valos feszultseg (mV)
1000
1200
1400
10. ábra. Kalibrációs egyenes
A 10. ábrán látható egyenes egyenlete: f (x) = a · x + b ahol a a meredekség, ami megmutatja, hogy a feszültséggel 1 mV-ot haladva mekkora I -t ugrik az érték, b pedig a nullpont. Ennek értéke: 56. Az illesztés paraméterei: a = 0, 1575 ± 0, 0014 b = 56
26
1 (0, 9156%) V
4.1.3.
A méréshatár maximuma és minimuma
1270mV 255
I
250
245
240
235
1150
1160
1170
1180
1190 1200 Ido (idoegyseg)
1210
1220
1230
1240
11. ábra. Maximum környéke
A 11. ábrán a maximum környékét szemléltetem. Itt az oszcilloszkóp szerint 1270 mV volt a feszültség. Az I maximuma 255, így az 1270 mV-nál kicsit nagyobb értéket kellene kapni a maximum mérhető feszültségre. A kalibráció során kapott értékeket felhasználva a I = 254 értékhez 1257, 14 mV feszültség tartozik. Ez 1% pontosságon belül van az oszcilloszkópról leolvasott feszültséghez képest, így jónak tekintem a kalibrációt. Végül érdemes megemlítenem azt is, hogy az x-tengelyt hol metszi el az egyenes. Ezzel arra mutatok rá, hogy az I = 0 értéknél mekkora feszültséget tudunk mérni. Ez az érték −355, 48 mV. Ez tehát az eszköz által még mérhető legalacsonyabb feszültség. Fontos megjegyezni, hogy fizikailag nem tudja megmérni ezt a feszültséget az eszköz, mert a bejövő feszültséget egy dióda korlátozza, mely csak −100 mV-ig engedi mérni a feszültséget.
27
4.2.
Szcintillációs detektorok jelalakjai
Az alábbi fejezetben a szcintillációs detektorokból származó jelek vizsgálatáról fogok részletesen beszámolni. A detektorok plasztik-, és NaI(Tl) szcintillátorokból és fotoelektronsokszorozókból álltak. A mérés során több tízmillió feszültségérték lett felvéve és ezek lettek kielemezve. 4.2.1.
Amplitudó mérés
Az alábbi fejezetben a jelek amplitúdó szerinti eloszlásait fogom vizsgálni. Ez pontosabban az eszköz, sokcsatornás analizátor üzemmódjának felhasználását fogja jelenteni. Ennek módja, hogy adatcsomagonként (1024 byte-onként) megkeresem a jel minimumát vagy maximumát, és ezekből egy hisztogrammot generálok. Kellően sok mintavételezés után egy csúcs fog a hisztogrammban kirajzolódni, mely alapján majd a későbbiekben meghatározható az amplitúdó, amivel majd megadható a detektorba becsapódott részecske energiája. Itt is szükség lesz kalibrációra. Ez ebben az esetben energiakalibráció lesz mert a mérést úgy fogom elvégezni, hogy ismert radioaktív izotópok (137 Cs és 22 Na) bomlásából származó gamma-részecskék energiáit megmérem, majd ezekhez mérten átskálázom az x-tengelyt, hogy a részecske energiája keV-ben meghatározható legyen belőle. A mérést egy NaI szcintillációs detektorral végeztem, melynek paraméterei: • Szcintillátor: Gamma 7S11206031 • Fotoelektronsokszorozó: Gamma ND 321/A Ennek a jele átment egy 5 : 1 feszültségosztón, majd egy Canberra 2015A jelölésű erősítőn lett megfordítva, illetve négyszeresen erősítve. A 2. táblázatban az FPGA-n beállított értékeket közlöm az egyes források esetén. Forrás 137 Cs 22 Na
Mintavételezési frekvencia (SF ) 33, 25 MHz 33, 25 MHz
Triggerküszöb (TT ) Trigger meredekség 63 pozitív 65 pozitív
2. táblázat. Az FPGA beállításai
A két izotópból távozó gamma-fotonok energiáját is közlöm, mert ezek alapján fogom az energiakalibrációt elvégezni. A 137 Cs gamma fotonjának energiája 661 keV, 22 Na-é pedig 511 keV. 28
Natrium izotop Cezium izotop 2500
Beutesszam
2000
1500
1000
500
0 80
100
120
140
160 I
180
200
220
240
12. ábra. Kalibráció nélküli spektrumok
A 12. ábrán tehát a két csúcs, illetve a csúcsoktól balra a Compton-élek láthatóak. Most kell elvégezni az energiakalibrációt! A módszer a következő: illesztek egy-egy (x−m)2 T f (x) = √ e− 2σ2 σ 2π egyenletű Gauss-görbét a csúcsokra úgy, hogy a Compton-éleket nem illesztem meg, majd megnézem, hogy pontosan milyen I értékeknél vannak ezek a csúcsok. Ekkor már hozzá tudom rendelni az I -khez az izotópokból távozó gamma-fotonok energiáit, és ezáltal meg tudom határozni a készülék energiafelbontását az adott mérési összeállítás mellett.
29
Cezium izotop Natrium izotop 2000
Beutesszam
1500
1000
500
80
100
120
140
160
180
200
220
240
I
13. ábra. Kalibráció nélküli spektrumok Gauss-illesztéssel
A 13. ábrán már az illesztett Gauss-görbékkel látható a két spektrum. Az illesztések paramétereit a 3. táblázatban lehet megtekinteni.
137 22
Cs Na
Görbe alatti terület Maximum helye σ 22867 ± 945 181, 55 ± 0, 29 6, 24 ± 0, 29 14077 ± 686 151, 49 ± 0, 34 6, 11 ± 0, 34 3. táblázat. A görbék illesztési paraméterei
Tudni, hogy a cézium-izotópnak a csúcsa 661 keV-nél van, ami az illesztés alapján 181, 55-nél van, a nátrium-izotópnak pedig 511 keV-nél van a csúcsa, aminek a helye 151, 49-nél van. A kettejük I -beli különbségét hibán belül kereken harmincnak tekinthetem. Ez tehát azt jelenti, hogy 30 binre 150 keV jut. Ez binenként 5 keV, ami tehát az energiafelbontása az eszköznek. Ez kiterjesztve a méréshatárra azt jelenti, hogy 36 − 1031 keV értékek között van az eszköz méréshatára! Továbbá megjegyezném, hogy a 6, 2 csatornaszám szélesség (σ) 2, 1 keV abszolút energiafelbontással egyenlő, ami 3, 4%-os relatív energiafelbontást jelent. Ez szcintillációs detektorok esetén egy jó érték! 30
4.2.2.
Repülési idő mérése
Az mérést egy "AB-szcintillátorral " végeztem. Ennek a blokkvázlata a 14. ábrán látható.
14. ábra. Mérési összeállítás vázlata
Az A szcintillátor egy 2mm-es plasztik szcintillátor, a B pedig egy 4mm-es plasztik szcintillátor. Ez az összeálítás azért is jó, mert ha a B -n eseményt kapunk, akkor nagy valószínűséggel A-n is átment ugyanaz a részecske, ami a B -n nyomot hagyott, így könnyebb kiválogatni a nekünk szükséges eseményeket. A kísérlet úgy volt összeállítva, hogy az A felől érkeztek β-részecskék. Az A jele el lett késleltetve néhány ns-mal a B -hez képest, majd az összeadott jelük lett rávezetve az eszközre. Az események folyamatos mintavételezés mellett lettek felvéve. Később a megfelelő jeleket kiválogatva megmértem a két szcintillátor között eltelt időt. Ennek a kísérletnek a célja, hogy meghatározhassam, hogy mekkora pontossággal tudom megmérni két detektor között az időkülönbséget. Ez azért érdekes, mert például két, kellően távol, egymás fölé helyezett szcintillációs detektorokkal meg lehetne mérni a kozmikus müonok repülési idejét. De úgy általában bármilyen részecske repülési ideje megmérhető hasonló módszerrel.
31
Az időméréshez felvett adathalmaz tele volt rengeteg olyan felesleges adattal, amiből nem tudtam hasznos információt kinyerni. Ezek olyan jelek voltak, amikor csak az egyik detektor szólalt meg. Az olyan adatsorozatot, amikor mind a kettő detektor biztosan megszólalt, az alábbi feltételrendszerrel szűrtem ki: • Van egy lokális maximum • Ezt a lokális maximumot 28 ± 3 időegységgel később egy újabb követi • Az első lokális maximumot 60 ± 3 időegységgel később egy megadott küszöbérték feletti lokális maximum követi. Megjegyzés: Azért kell időegységekben számolni még, és nem ns-ban, mert a program gyorsabban tud egész számokkal dolgozni, mint lebegőpontossal. Később tetszés szerint áttérhetünk nanoszekundumra.
Idomeres
75
I
70
65
60
55 3880
3900
3920
3940 Ido (idoegyseg)
3960
3980
15. ábra. Feltételrendszernek megfelelő csúcssorozat 133 MHz-es mintavételezési sebességgel és 60-as küszöbbel, pozitív meredekségre triggerelve
32
Ha tehát a 15. ábrán látható csúcssorozathoz hasonlót talált az algoritmus, akkor megmérte, hogy mekkora a távolság időegységekben az első csúcs lokális maximuma és a második csúcs lokális maximuma között, majd ezt kiírta egy fájlba. Az első csúcs a B szcintillátorhoz tartozik, a második az A szcintillátorhoz, melyet elkésleltettem a B -hez képest, és a harmadik csúcs pedig a B szcintillátor jelének visszaverődéséből származik. A fájlba kiíratott időkülönbségekből hisztogrammot generáltam, és erre egy Gauss-görbét illesztettem, ami a 16. ábrán látható.
10000
Idok Gauss-gorbe
9000 8000
Beutesszam
7000 6000 5000 4000 3000 2000 1000 0 0
5
10
15
20 Ido (idoegyseg)
25
30
16. ábra. Időmérés
Az illesztés adatai: Terület = 13264, 8 ± 79, 73 (0, 601%) Maximum helye = 28, 0944 ± 0, 005123 (0, 01823%) σ = 0, 570854 ± 0, 003356 (0, 5879%)
33
35
40
A maximum helyéből meghatározható ns-ban is az átlagos repülési idő értéke, ami a 133 MHz-es mintavételezési sebességből számolva: 7, 5187 · 10−9 s · 28, 0944 = 211, 23 ± 0, 38 ns. Az egyenkénti repülési idő szórása pedig 4, 1 ns-nak adódott, a maximum alapján történő időzítés esetén. Ez a jelek felfutási idejénél nagyobb, ezért arra utal, hogy nem monoenergiájú elektronokat detektáltunk, ahogy az a várakozásoknak megfelel.
4.3.
Utánvilágítási idő
Az alábbi fejezetben a szcintillációs detektorok utánvilágítási idejét fogom meghatározni. Az energiaméréshez használt NaI detektorból kapott jeleket fogom elemezni.
60
55
50
I
45
40
35
30
25
20 0
1
2
3
4 Ido (us)
5
6
7
17. ábra. Jelfordítás nélküli jel, ráillesztett exponenciálisok összegével
34
8
A fenti illesztést a következő elméletre alapozom: A fotoelektronsokszorozó anódja egy párhuzamos RC-körként fogható fel. Az ebbe a körbe befolyó áramot pedig az i(t) = i0 e−λt egyenlet határozza meg. Itt i0 az impulzus alatt begyűjtött töltésből határozható meg, a λ pedig a szcintillátor bomlási állandója. Kirchoff csomóponti törvénye alapján a párhuzamos RC körbe befolyó áram az ellenálláson és a kapacitáson átfolyó áram összegével egyenlő. i(t) = iC + iR Továbbá: i(t) = C
dV (t) V (t) + dt R
Ennek megoldása: 1 λQ −θt 1 (e − e−λt ), ahol θ = λ−θ C RC A fenti egyenlet tovább egyszerűsíthető, ha θ << λ: V (t) =
Q −θt (e − e−λt ) C Ezen levezetések alapján a következő paraméterekkel illesztettem a görbét: V (t) '
f (x) = e
−ln(2)
g(x) =
h(x) = C0 − g(x) A ·
(x−x0 ) a1
−e
−ln(2)
(x−x0 ) b1
1 (1 + e−
(x−x0 ) c
)2
f (x) ln(a) − ln(b) − d , ahol max = f (max + x0 ) a−b
35
Az a1 változó fogja meghatározni a jel lecsengését µs-ban, a b1 pedig a felfutását. A fenti illesztést elvégzem több különböző pontsorozatra, és a 4. táblázatban közlöm az eredményeket.
1. 2. 3. Átlag Szórásnégyzet
Felfutási idő (µs) Lefutási idő (µs) 0, 276 0, 2399 0, 2997 0, 2551 0, 2895 0, 2499 0, 2884 0, 2483 0, 00094 0, 00039
4. táblázat. Fel-, és lefutási idők
A szakirodalommal[5] összehasonlítva a lefutási idő ott is 250 − 260 ns körüli értéken van szobahőmérsékleten. Ez is bizonyítja azt, hogy az eszköz precízen és megbízhatóan mér, mert a vele kapott eredmények összeférnek a szakirodalmi eredményekkel. Érdekességképpen a repülési időnél előforduló jelalakból is kiszámítottam a felfutási és lefutási időket. Itt csak egy jelre csináltam meg az illesztést.
36
80
Gauss
75
I
70
65
60
55 0
5
10
15 Ido (idoegyseg)
20
25
30
18. ábra. Repülési idő mérése során kapott jelalak
A 18. ábra paraméterei a következők: Felfutási idő = 5, 548 ± 0, 64 ns (11, 61%) Lefutási idő = 14, 986 ± 1, 28 ns (8, 566%) Felfutási idő (ns) NaI 288, 4 Plasztik 5, 54
Lefutási idő (ns) 248, 3 14, 98
5. táblázat. Fel-, és lefutási idők különböző szcintillátorokra
Az 5. táblázat tanulsága, hogy az időmérésnél felhasznált plasztik szcintillátor sokkal gyorsabb! Az utánvilágítási ideje 16× kisebb, mint a NaI detektoré, ami szép és szemmel is jól látható eredmény. Ennek oka, hogy a szervetlen szcintillátorokban kell egy kis idő, még az elektron le tud gerjesztődni, és ezáltal fotont kibocsájtani, a szerves szcintillátornál viszont tényleg szinte azonnal megjelenik a foton. 37
5.
Összefoglaló
A kutatás során sikerült egy olyan, viszonylag olcsó és könnyen beszerezhető eszközt találni, ami nagyon hasznosnak bizonyult a nukleáris adatfeldolgozás során. Sikerült a szcintillációs detektorból érkező jeleket mintavételezni és feldolgozni is. Ezekből a jelekből számos hasznos információ nyerhető ki a kísérlet összeállításától-, illetve az adatfeldolgozás módjától függően. Rámutattam arra, hogy egy ilyen kicsi és egyszerűnek mondható eszköz is képes a gyors és precíz mintavételezésre, ami szerintem hasznos lehet későbbi kutatásokhoz, főleg jelalakvizsgálatokhoz. Végül felsorolom az általam elért fontosabb eredményeket: Elvégeztem az eszköz feszültségkalibrációját, mely során arra az eredményre jutottam, hogy az eszköz méréshatára −355, 48 − 1263, 49 mV között van, és két digitalizált feszültségérték (I ) között 6, 34 mV a feszültségkülönbség. Kifejlesztettem egy sokcsatornás analizátor szoftvert is, melyet arra használtam fel, hogy két ismert radioaktív izotóp (137 Cs és 22 Na) bomlásából származó fotonok gamma-spektruma alapján a készüléket energiamérésre is bekalibráltam. Itt arra a végeredményre jutottam, hogy a méréshatárok 36 − 1031 keV között vannak, és két bin között 5 keV különbség van. Sikerült meghatározni részecskék repülési idejét két szcintillátorból kapott jelsorozatok alapján. Itt a számítások során 211, 13 ± 0, 38 ns-ot kaptam a két jel között eltelt időre. Meghatároztam kétféle szcintillátor (NaI és plasztik ) utánvilágítási idejét. Ez a NaI-ra 0, 2483 µs-nak adódott, a plasztikra pedig 14, 98 ns-nak. Itt sikerült kimutatni a jelentős sebességbeli eltérést, amit meg is magyaráztam.
38
Hivatkozások [1] http://www.knjn.com/docs/KNJN%20Flashy%20boards.pdf [2] http://www.knjn.com/docs/KNJN%20FX2%20FPGA%20boards.pdf [3] http://www.ti.com/lit/ds/symlink/adc08200.pdf [4] http://www.altera.com/devices/fpga/cyclone/cyc-index.jsp [5] Glenn F. Knoll - Radiation Detection and Measurement Second Edition (John Wiley & Sons, Inc, 1979, 1989) - 233. oldal, 8-10 ábra [6] Kiss Dezső - Kajcsos Zsolt - Nukleáris Technika (Tankönyvkiadó, Budapest, 1984) [7] Dr. Keszthelyi Lajos - Szcintillációs Számlálók (Műszaki Könyvkiadó, Budapest, 1964)
39