# NMR-spectrum voorspellen

Het voorspellen van een NMR-spectrum is relatief eenvoudig omdat een NMR-spectrum bepaald wordt door de interactie tussen een atoomkern, zijn omringende elektronen en een magneetveld. De directe omgeving van het molecule heeft op deze grootheden relatief weinig invloed. Het gevolg is dat de regels die het NMR-spectrum bepalen weinig uitzonderingen kennen en met behulp van standaard-tabellen tot goed gelijkende spectra leiden. In de volgende paragrafen wordt aangegeven hoe de verschillende parameters in berekening geïmplementeerd kunnen worden.

## Basisgegevens

Voordat een spectrum berekend kan worden dienen de volgende gegevens bekend te zijn of van reële geschatte waarden te zijn voorzien:
* Sterkte uitwendige magneetveld, meestal opgegeven in het aantal MHz waarbij de resonantie van TMS wordt gevonden.
* Spectrale bandbreedte, de standaarddeviatie van de nauwkeurigheid waarmee de frequentie van de radiostraling bekend is. De eenheid kan zowel in Hz als in ppm opgegeven zijn. In onderstaand voorbeeld wordt ppm gebruikt.
* Chemische verschuiving, voor alle van belang zijnde atomen moet de chemische verschuiving in ppm bekend zijn.
* Aantal atomen in signaal, dit bepaalt de hoogte van de diverse signalen.
* Koppelingsmatrix, de interactie tussen de verschillende atomen moet bekend zijn.
* Individuele signaalverbreding, naast de algemene onzekerheid ten aanzien van de radiofrequentie hebben sommige atomen, zoals waterstof in waterstofbruggen, soms een extra signaalverbreding.
* Startpositie spectrum, de rechterrand van het spectrum. De waarde is meestal in ppm.
* Spectrumbreedte of eindpositie van het spectrum. De waarde is meestal in ppm.
* Spectrumraster, hoe nauwkeurig moet het spectrum berekend worden? Met een te grof raster is het een reëel risico signalen niet te zien in het resultaat, een te fijn raster leidt tot lange rekentijden en (soms) problemen met computer- of programma-geheugen. In onderstaand algoritme wordt het probleem van een te grof raster opgelost door de berekende signaalwaarden, los van de verdeling van het opgegeven raster, als extra punten in de lijst met rasterpunten in te voegen.
* Ruisniveau, een zekere mate van ruis is altijd aanwezig. Om een echt realistisch spectrum te genereren is het noodzakelijk een zekere hoeveelheid ruis aanwezig te hebben.

## Berekening in stappen

De berekening verloopt in een aantal stappen:
* Bepaal de positie in Hz van de verschillende signalen.
* Bepaal de koppelingspatronen, zowel wat hun plaats in Hz als hun intensiteit betreft.
* Herleidt de plaats van signalen weer tot ppm waarden.
* Bereken voor elk spectrumrasterpunt de intensiteit voor alle signalen en tel de waarden op.
* De specifieke gegevens voor het opbouwen van de grafiek worden in de grafiekdefinitie gezet.

## Berekening signaal per spectrumpositie

Aanname: De bandverbreding zal aanleiding geven tot een Gauss-kromme voor elk van de signalen.
De grootte van een signaal op een bepaalde plaats in het spectrum laat zich dan berekenen via:
    $f(x)={I \over \sigma {\sqrt {2\pi }}}\,e^{-{\frac {1}{2}}({\frac {x-\mu }{\sigma }})^{2}}$
Waarin
* I: de intensiteit van het signaal. Één niet opgesplitst waterstofatoom wordt als 1 geteld.
* x: de spectrumpositie in ppm
* μ: de berekende plaats voor het signaal in ppm
* σ: de bandbreedte voor het betreffende signaal in ppm