• No results found

De piekfrequentie en de amplitude worden geschat door een parabool te fitten door het maximum van de Fourier-transformatie en de twee punten terzijde daarvan. Bij het fitten van drie punten op gelijke afstanden van elkaar door S(i) = ai2+ bi + c vinden we voor de co¨effici¨enten a, b en c de volgende waarden :

a = S(im− 1) − 2S(im) + S(im+ 1)

2 ,

b = S(im+ 1) − S(im− 1) − 4aim

2 en

c = S(im) − ai2m− bim. (3.2)

Hierin is S(i) de waarde van het te fitten spectrum in punt i en im het middelste aan de parabool te fitten punt.

Voor een parabool geldt bovendien, dat het maximum ligt bij imax = − b2a en het maximum de waarde S(imax) = − b4a2 + c heeft. Hiermee vinden we :

imax = im+ S(im− 1) − S(im+ 1)

2(S(im− 1) − 2S(im) + S(im+ 1)) en S(imax) = S(im) − (S(im− 1) − S(im+ 1))2

8(S(im− 1) − 2S(im) + S(im+ 1)) . (3.3) Deze formule’s zijn gebruikt in de berekeningen voor de amplitude en de bijbehorende piekfrequentie.

Ze zijn geschat uit het frequentiedomein via drie punten, omdat men, als men meer punten mee wil nemen, moet gaan itereren om door die punten een parabool te fitten.

Tijd om te itereren is er echter niet.

Uit de piekfrequentie en de bemonsterfrequentie wordt het verschil met de STRIP-frequentie van 100 kHz berekend.

Halfwaardebreedte

Als amplitude van het spectrum wordt de berekende amplitude genomen. Vervolgens wordt vanaf de randen naar het midden van het spectrum gezocht naar de eerste waarden, die groter zijn dan de helft van deze amplitude.

Op deze wijze wordt ervoor gezorgd, dat men altijd de grootste breedte van de piek vindt, ook al zijn er meerdere pieken in het spectrum. Bovendien wordt het hierdoor duidelijk, wanneer men ruis meet, omdat men dan vrijwel de volledige bandbreedte vindt voor de halfwaardebreedte. Tenslotte vindt men ook nog een lijnbreedte, die vergelijkbaar is met de resolutie, als de piek te weinig punten in het spectrum beslaat.

De frequentie’s bij halve amplitude worden geschat door twee rechte lijnen te fitten.

De punten, die hiertoe gebruikt zijn, zijn per geschatte halfwaarde-frequentie ´e´en van de gevonden punten voorbij de halve amplitude en het punt meer naar buiten in het spectrum gelegen, dat nog net kleiner is dan de halve amplitude.

4 Software

Er is reeds veel programmatuur aanwezig voor de 6,3 Tesla-opstelling. Enkele programma’s daarvan deden deels al, wat het shimprogramma moest gaan verzorgen. Al deze stukjes zijn bij elkaar gevoegd, ontdaan van de voor het shimmen overbodige delen en, na enige toevoegingen, tot ´e´en programma gemaakt.

4.1 Bestaande programmatuur

Figuur 4.1 geeft in een schema de structuur van de bestaande programmatuur op de Hewlett Packard-computer weer. Er bestond de volgende aanroepopzet tussen de ver-schillende programma’s.

SASC

PGSTR GLFVB INIT START BWRK VDU

EMN

AT ZGOLF FIDMP

BPLOT BWPFT BWPRM

Figuur 4.1: Schema van de bestaande programmastructuur.

Een monitorprogramma ( EMN ), van waaruit men alles via 2-letterige commando’s kan regelen. Op een dergelijke manier kan men naast het aanroepen van subroutine’s o.a.

de volgende programma’s aanroepen met de commando’s, die er tussen haakjes achter staan :

PGSTR ( commando PG ) dit programma zorgt voor de invoer van, de wijzigingen in en het oversturen van gewenste pulsprogramma’s ( een schema van pulsen, die een bepaalde tijd door de Programmable Puls Generator ( PPG ) uitgestuurd moeten worden ( zie Hoofdstuk 1 over de hardware ) ) naar de PPG. In dit programma kan men ook testmetingen verrichten, waarvan men de data alsmede de puls- en

gradi¨entvormen op de oscilloscoop kan laten verschijnen. Hiermee kan men dan de pulsen, de gradi¨enten en het pulsschema controleren op fouten.

Vanuit PGSTR kan men het programma SASC aanroepen, om enkele meetparame-ters in te stellen. SASC wordt na de in EMN aan te roepen programma’s behandeld.

GLFVB ( GV ) dit programma kan men zowel vanuit de monitor als vanuit de pro-gramma’s PGSTR en INIT aanroepen. Met dit programma kan men de verschillende radiofrequent pulsvormen, gradi¨entvormen en de zend- en ontvangstfrequentie in-stellen d.m.v. initialisatie en editen van golflabels. Het programma genereert de code voor de in te stellen data.

INIT ( IN ) dit programma stelt enkele parameters in, die nodig zijn, indien men een meting met data-acquisitie wil doen. Het instellen gebeurt d.m.v. het beantwoorden van vragen. INIT zet vervolgens de parameters in een meetlabel ( het eerste gedeelte van iedere meetfile ), dat door verschillende programma’s gebruikt kan worden.

START ( GO ) dit programma verzorgt een meting met data-acquisitie met behulp van de parameters ingesteld in het meetlabel. Verder worden er nog de volgende pro-gramma’s in START aangeroepen :

AT dit programma verzorgt het versturen van de code voor de frequentie’s naar de AT.

ZGOLF dit programma verzorgt het versturen van de door GLFVB gegenereerde code voor de puls- en gradi¨ent-vormen naar het golfvormgeheugen.

FIDMP dit programma verzorgt de daadwerkelijke data-acquisitie en andere as-pecten bij een meting.

BWRK ( BW ) in dit programma kan men de data van een meetfile bewerken. Bij de hier te geven commando’s zitten plotten, Fourier-transformeren en modulus- en argument-berekening. Dit programma maakt ook gebruik van het meetlabel. Vanuit BWRK kan men o.a. de volgende programma’s aanroepen :

BPLOT dit programma verzorgt het plotten van data.

BWPFT dit programma verzorgt de Fourier-transformatie.

BWPRM dit programma verzorgt nog vijf commando’s uit BWRK, waaronder de modulus- en argument-berekening.

SASC met dit programma kan men de fase instellen voor de plot ( zie SASC ).

VDU ( VD ) dit programma stuurt de Video Display Unit ( VDU ) aan, om gemeten plaatjes weer te geven.

Naast deze programma’s bestaat het programma SASC als hulp bij het instellen van enkele parameters.

SASC dit programma wordt als hulpmiddel gebruikt door PGSTR en BWRK, om op een gemakkelijke wijze bepaalde parameters in te kunnen stellen met behulp van hoekverdraaiingsmeters. Voor PGSTR zijn de in te stellen parameters :

• de tijden in het pulsprogramma,

• de amplitude’s van de pulsen en de gradi¨enten ( welke worden doorgegeven aan GLFVB, maar SASC wordt door PGSTR aangeroepen ) en

• de zend- en tegelijkertijd de ontvangst-frequentie ( ook data voor GLFVB ).

Voor BWRK is er voorlopig slechts ´e´en parameter in te stellen :

• de fase van het signaal voor het plotten.

Met de programma’s kan men slechts om de beurt voorbereiden, meten of bewerken.

Het meetlabel en de data worden hierbij aan de verschillende programma’s doorgegeven via een speciaal stuk geheugen : de Extended Memory Area ( EMA ).

Er was dus slechts de mogelijkheid van off line bewerken van de gemeten data. Nu moest echter het nieuw te maken programma voor het shimmen direct de gemeten data bewerken en dit steeds opnieuw achter elkaar : een vorm van on line bewerken.

4.2 Aanpassingen

Om een vorm van on line bewerken te bereiken zijn van het reeds bestaande meetpro-gramma en bewerkingspromeetpro-gramma onderdelen bij elkaar gevoegd in het nieuwe promeetpro-gramma SHIM, dat nu ook aan te roepen valt in het monitorprogramma. Niet alle mogelijkheden van meten en bewerken zijn hierbij blijven bestaan.

Dit is niet mogelijk, omdat het programma dan te groot wordt om in het geheugen te kunnen draaien. Slechts die dingen, die bij het shimmen op het frequentiespectrum en bijbehorende parameters van de NMR-metingen nodig zijn, zijn in SHIM opgenomen.

Het voorzetten van een pulsprogramma, golflabel en meetlabel is ook niet in het pro-gramma SHIM opgenomen.

Omdat het programma SHIM uit ´e´en geheel bestaat, heeft men geen EMA meer nodig, om de data tussen de verschillende programma’s uit te kunnen wisselen. Bovendien zijn bij het shimmen niet meer alle parameters uit het meetlabel nodig, dus zijn alle subroutine’s, die daarmee te maken hebben, behoorlijk ingekort.

Bovendien is het aantal bemonsterpunten beperkt, zodat er minder geheugenruimte nodig is om de data op te slaan. Hierdoor hebben de programma’s, die data gebruiken, min-der geheugenruimte nodig en kunnen ze als subroutine in het shimprogramma opgenomen worden.