Computerprogramm zur automatischen Auswertung von Massenspektren

September 12, 2017 | Author: Michael Beer | Category: Chromatography, Mass Spectrometry, Matlab
Report this link


Description

Fachhochschule Vorarlberg University of Applied Sciences Masterarbeit Fachhochschul-Studiengang Master Informatik

Computerprogramm zur automatischen Auswertung von Massenspektren

ausgef¨ uhrt von Michael Beer, BSc 1210249007 zur Erlangung des akademischen Grades Master of Science in Engineering

Dornbirn, im August 2014

Betreuer: Prof.(FH) Univ.-Doz. Dipl.-Ing. Dr. Karl Unterkofler

Eidesstattliche Erkl¨ arung Ich erkl¨ are hiermit an Eides statt, dass ich die vorliegende Masterarbeit selbstst¨andig und ohne Benutzung anderer als der angegebenen Hilfsmittel angefertigt habe. Die aus fremden Quellen direkt oder indirekt u ¨ bernommenen Stellen sind als solche kenntlich gemacht. Die Arbeit wurde bisher weder in gleicher noch in a¨hnlicher Form einer anderen Pr¨ ufungsbeh¨ orde vorgelegt und auch noch nicht ver¨offentlicht.

............................................................

............................................................

Ort, Datum

Unterschrift

I

Inhaltsverzeichnis

I.

Definition

1

1. Einleitung

2

1.1. Medizinischer Hintergrund . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

1.2. Fl¨ uchtige Organische Verbindungen (VOC) . . . . . . . . . . . . . . . . .

4

2. Forschungsfrage

5

3. Das Chromatogramm

7

3.1. Der chromatographische Prozess . . . . . . . . . . . . . . . . . . . . . . .

7

3.2. Selektivit¨ at und Effizienz . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

3.3. Kenngr¨ oßen zur Auswertung des Chromatogramms . . . . . . . . . . . . .

9

3.3.1. Retentionszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

3.3.2. Aufl¨ osung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.4. Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4. Beschreibung des Programms

12

4.1. MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.1.1. Programmiersprache und Kompilierung . . . . . . . . . . . . . . . 13 4.1.2. Aufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.1.3. Bibliotheken

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.2. Datenaufbereitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.2.1. AMDIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

II

4.2.2. NIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

II. Implementierung

20

5. Matlab als Integrationssystem

21

5.1. St¨ orungen und Fehlerquellen

. . . . . . . . . . . . . . . . . . . . . . . . . 21

5.1.1. Basisliniendrift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.1.2. Tail Peak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.1.3. Tailing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.1.4. Rauschen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.2. Kompensation des Basisliniendrift . . . . . . . . . . . . . . . . . . . . . . 25 5.2.1. Asymmetric Least Squares (AsLS) Algorithmus . . . . . . . . . . . 28 5.3. Kurvenapproximation durch Gauß-Funktionen . . . . . . . . . . . . . . . . 34 5.3.1. Kurvenapproximation in Matlab . . . . . . . . . . . . . . . . . . . 36 5.3.2. Vergleich Matlab und PDF Funktion . . . . . . . . . . . . . . . . . 38 5.4. Bestimmung der Peakfl¨ ache durch Integration . . . . . . . . . . . . . . . . 39 6. GUI

40

6.1. Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 6.2. Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

III. Experiment und Verifikation

43

7. Durchf¨ uhrung und Testanalyse

44

7.1. Ausgangssituation und Vorgehensweise . . . . . . . . . . . . . . . . . . . . 44 7.2. Kalibrierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 7.2.1. Erl¨ auterung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 7.2.2. Bestimmung der Kalibriergeraden am realen Analyten . . . . . . . 48 7.3. Messungen von Analyten mit unbekannter Konzentration . . . . . . . . . 54 7.3.1. Durchf¨ uhrung der Peak-Separation . . . . . . . . . . . . . . . . . . 55

III

7.3.2. Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 7.3.3. Fehlerquellen und L¨osungsans¨atze . . . . . . . . . . . . . . . . . . 60 8. Zusammenfassung und Ausblick

63

Literatur

65

IV

Abbildungsverzeichnis

2.1. Beispiel eines Doppelpeaks der als Summe von zwei Gaußkurven erzeugt worden ist. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

3.1. Unterschiedliche Molek¨ ule wandern unterschiedlich schnell durch die Trennstrecke (Stauffer, 2008, S. 4) . . . . . . . . . . . . . . . . . . . . . . . . . .

8

3.2. Gleichartige Molek¨ ule haben leicht unterschiedliche Wanderungsgeschwindigkeiten (Stauffer, 2008, S. 4) . . . . . . . . . . . . . . . . . . . . . . . .

9

3.3. Totzeit, Brutto- und Nettoretentionszeit von Peak Nr. 3 (Stauffer, 2008, S. 6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.4. Registriertes Signal am Detektor des GC/MS mit einer Aufl¨osung von 0.65 11 3.5. Die h¨ ohere Aufl¨ osung von 1.75 f¨ uhrt zu einer besseren Trennung Detektorsignals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.1. Diagramm 1: Aufgezeichneter TIC am GCMS. Die Markierung zeigt auf die Retentionszeit von 24.1238 an der sich der Peak des Stoffes 2-Pentanon befindet. Diagramm 2: Der auf 1 skalierte Peak des Stoffes 2-Pentanon (rot). Dar¨ uber verl¨ auft der TIC (blau). Die linear verlaufende Kurve zeigt die Integrationsgrenzen f¨ ur diesen Peak an. . . . . . . . . . . . . . . . . . 15 5.1. Falsch identifizierte Basislinie (rot) bevor Beginn des Peaks . . . . . . . . 22 5.2. Verschmelzen von verschiedenen Peaks (Tail Peak) verursacht Probleme bei der Quantifizierung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.3. Doppel-Peak (DP) Signal mit u ¨berlagertem Signalrauschen . . . . . . . . 27

V

5.4. Das Signal des Chromatogramms weist einen Basisliniendrift auf. Die Ann¨ aherung an die gesch¨ atze Basislinie (rot) wird u ¨ber das AsLS-Verfahren durchgef¨ uhrt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5.5. Simuliertes Doppel-Peak Signal (—) und dessen Basisliniendrift (-·-). Die durch den AsLS-Algorithmus angen¨aherte Basislinie (- - -) weist eine geringe Abweichung zur Exakten auf. . . . . . . . . . . . . . . . . . . . . . . 34 5.6. Dichtefunktion mit µ=0 und σ=1 (—), σ=1.5 (- - -) bzw. σ=2 (-·-) . . . . 35 5.7. Gauss-Kurvenapproximation am Rauschsignal, nachdem die Subtraktion des Basisliniendrifts durchgef¨ uhrt wurde. . . . . . . . . . . . . . . . . . . . 37 6.1. GUI Layout der Gauss-Fit Testumgebung . . . . . . . . . . . . . . . . . . 42 7.1. Schritt 1-2: Maßl¨ osungen zunehmender Konzentrationen werden im Diagramm nach Signal und Konzentration aufgetragen (Quelle: (ChemgaPedia, 2014b)).

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

7.2. Schritt 3: Die Kalibriergerade wird durch eine lineare Regressionsgerade bestimmt (Quelle: (ChemgaPedia, 2014b)). . . . . . . . . . . . . . . . . . 47 7.3. Schritt 4-6: Das Messsignal der unbekannten Probe wird anhand der zuvor ermittelten Kalibriergeraden gegen die Konzentration im Diagramm aufgetragen und anschließend berechnet (Quelle: (ChemgaPedia, 2014b)).

48

7.4. Das Matlab-UI zeigt das ausgewertete Chromatogramm u ¨ber den TIC und das normierte Signal von 2-Methyl Octan (Ion 43) an und ermittelt dessen Peakfl¨ ache (rot markiert). . . . . . . . . . . . . . . . . . . . . . . . 49 7.5. Messdaten der Mixtur aus allen Analyten dargestellt als TIC . . . . . . . 55 7.6. UI des Unterpramms, welches die Kurvenapproximationen der Analyten 1-Pentene, 2-Pentene (E)- und 2-Pentene (Z)- durchf¨ uhrt und die berechneten Resultate wiedergibt. . . . . . . . . . . . . . . . . . . . . . . . . 56 ¨ 7.7. Die Analyten 2-Methyl Hexan und 3-Methyl Hexan weisen eine Uberlagerung ihrer Messsignale auf und m¨ ussen daher mit zwei Gaußkurven angen¨ahert werden. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

VI

7.8. Vergleich der Soll-Konzentrationen mit den Ist-Konzentrationen der Analyten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 ¨ 7.9. Die Stoffe 4-Methyl-Octan und 2-Metyhl-Octan weisen bei ihrer Uberlagerung einen deutlichen Unterschied in den Amplituden auf. . . . . . . . . . . . . 60 7.10. Die Peak¨ uberlagerung der Stoffe 1-Pentene, 2-Pentene (E)- und 2-Pentene (Z)-. Hier stellen sich ebenfalls große Unterschiede in den Amplituden ein. 61 7.11. Setzen der Integrationsgrenzen am Peak mit kleinster Amplitude . . . . . 62 7.12. Vergleich der Soll- mit der Ist-Konzentrationen mit verbessertem Integrationsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

VII

Tabellenverzeichnis

6.1. Fragestellungen und Antworten, welche die Anforderungen an die grafische Benutzeroberfl¨ ache (GUI) beschreiben . . . . . . . . . . . . . . . . . . . . 41 7.1. Gruppe Standard 1 enth¨ alt die vier chemischen Verbindungen. . . . . . . 45 7.2. Gruppe Standard 2 enth¨ alt die drei chemischen Verbindungen. . . . . . . 45 7.3. Kalibriertabellen der Analyten aus der Gruppe Standard 1“ . . . . . . . 50 ” 7.4. Kalibriertabellen der Analyten aus der Gruppe Standard 2“ . . . . . . . 51 ” 7.5. Gemessene Fl¨ ache und die daraus berechnete Steigung und Konzentration der jeweiligen Analyten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 7.6. Ermittelte Konzentrationen der Testanalyten gegen¨ ubergestellt zu den Konzentrationen, welche tats¨achlich am GC-MS prepariert wurden. . . . . 59

VIII

Kurzfassung Der Goldstandard f¨ ur die Analyse von fl¨ uchtigen organischen Verbindungen (VOCs) im Atemgas ist das Gaschromatographie-Massenspektrometer (GC-MS) welches ein sogenanntes Chromatogramm der Inhaltsstoffe des Atemgases erstellt. Das Chromatogramm erm¨oglicht die Identifikation und die Berechnung der Konzentration der verschiedenen VOCs im Atemgas. Im ersten Abschnitt der Arbeit werden die verschieden Kenngr¨oßen des Chromatogramms definiert sowie die Begriffe Selektivit¨at und Effizienz erl¨autert. Im zweiten Teil wird das Integrationssystem Matlab vorgestellt, welches die Darstellung ¨ und die Berechnung der Trennung von Stoffgemischen bei Uberlagerung von Peaks im Chromatogramm erm¨ oglicht. St¨ orungen und Fehlerquellen werden analysiert und durch den Einsatz von Kompensationsalgorithmen entfernt.

Die Entwicklung einer grafischen Benutzeroberfl¨ache dient der einfachen Bedienbarkeit und der Steuerung der Anwendung. Der dritte Teil dokumentiert die Anwendbarkeit des Algorithmus zur Peak-Trennung an einem realen Chromatogramm und vergleicht die berechneten mit den tats¨achlichen Konzentrationen der Stoffmischungen. ¨ Nach Uberpr¨ ufung der Ergebnisse werden weitere L¨osungsans¨atze diskutiert.

IX

Abstract The high-end standard for the analysis of volatile organic compounds (VOCs) in breath gas is the gas chromatography-mass spectrometry (GC-MS). This analytical method creates a chromatogram of the ingredients of breath gas. It enables the identification of different kinds of VOCs and evaluates their concentration. The first part of this study defines various characteristics of the chromatogram and explains the concepts of selectivity and efficiency. The second section illustrates how the integration system Matlab computes and separates mixtures by the superimposing of peaks in the chromatogram. Failures and errors are removed through the use of compensation algorithms.

The development of a graphical user interface simplifies the utilization of these software application procedures. The third part demonstrates the peak separation algorithm on a real chromatogram, comparing computed and factual mixture concentrations. After reviewing the results, other approaches will be discussed.

X

Teil I.

Definition

1

1. Einleitung Atemgasanalyse zur medizinischen Diagnostik ist eine nicht-invasive Methode, die in den kommenden Jahren zur klinischen Anwendungsreife gelangen wird. Pilotuntersuchungen zeigen, dass diese Methode sowohl in der Fr¨ uherkennung als auch bei der Verlaufskontrolle von Krankheiten eine wichtige Rolle spielt. Patienten akzeptieren die wiederholte Abnahme von Atemgasproben bereitwillig, was eine Mehrfachgewinnung von Proben sehr erleichtert. Atemgasproben k¨ onnen in Echtzeit gesammelt werden und erm¨oglichen daher auch eine kontinuierliche Beobachtung der Ver¨anderung von K¨orpersubstanzen zum Beispiel am Ergometer, im Schlaflabor oder auch in der Intensivstation. Da die Atemluft aus den Lungenbl¨ aschen mit dem Blut u unne Membran in Kontakt ¨ ber eine d¨ steht, kommt im Prinzip jeder fl¨ uchtige organische Stoff, der im Blut vorkommt, in geringer Konzentration auch in der Ausatemluft vor.

Die Atemgasanalytik dient der Untersuchung der menschlichen Atemluft und wird dazu verwendet R¨ uckschl¨ usse u ¨ ber den klinischen Zustand eines Patienten zu geben. Der Vorteil bei der Abnahme von Atemgasen im Gegensatz zu Blutproben ist, dass diese nicht-invasiv (ohne Eingriff) erfolgt und beliebig oft (auch kontinuierlich) wiederholt werden kann. ¨ Uber d¨ unne Membranen in den Lungenbl¨aschen (Alveolen) steht der Blutkreislauf des menschlichen K¨ orpers mit dem Atemkreislauf direkt in Verbindung. Die Analysetechniken von heute erlauben es durch den Einsatz verschiedener Techniken, geringste Mengen von ca. 300 bis 3000 der sogenannten volatilen organischen Substanzen (kurz VOCs) in der Ausatemluft, nachzuweisen. Eine dieser Techniken ist die Gaschromatographie. Die-

2

se Analysemethode erlaubt es, die in der Atemluft vorkommenden Gemische in einzelne chemische Verbindungen aufzutrennen. Die Auswerteeinheit registriert die getrennten Komponenten der Atemluft und erstellt ein Chromatogramm. Die Anzahl der Peaks (Spitzen) im Chromatogramm entspricht der Anzahl der aufgetrennten Probekomponenten, die Fl¨ ache unter ienm Peak ist proportional zur Konzentration eines Stoffes. Dieses Konzentrationsmuster l¨ asst u ¨ ber einen Vergleich Ver¨anderungen im K¨orper erkennen und auftretende Krankheiten identifizieren. Dieses Verfahren der Gaschromatographie ist nur bei Komponenten anwendbar, welche gasf¨ormig sind oder sich durch Verdampfen m¨oglichst unzersetzt in den gasf¨ ormigen Zustand u uhren lassen. ¨berf¨ Das Institut f¨ ur Atemgasanalytik in Dornbirn befasst sich mit der Grundlagenforschung und der Entwicklung der Atemgasanalyse f¨ ur die medizinische Diagnostik. Die Quantifizierung der Messdaten, welche von Gaschromatographen mit Massenspektrometer (GCMS) registriert werden, wird anhand propriet¨arer und freier Software durchgef¨ uhrt. Das dadurch entstehende Chromatogramm wird dazu genutzt, die unbekannten Konzentrationen von Atemgasproben auszuwerten. Diese Arbeit besch¨aftigt sich mit der Bestimmung jener Konzentrationen und welche Fehler dabei auftreten k¨onnen. Die Grundlage daf¨ ur bilden spezielle Algorithmen und N¨aherungsverfahren aus der Signaltheorie.

1.1. Medizinischer Hintergrund Der Gedanke, Krankheiten und Stoffwechselver¨anderungen u ¨ ber die Ausatemluft fest¨ zustellen, liegt sehr nahe. Bei der Uberpr¨ ufung der Lungenfunktion werden molekulare Bestandteile der Ausatemluft untersucht (vgl. Schubert, 2012, S. 1-2). Mit der Entwicklung und Verbesserung von mathematischen Modellen f¨ ur die Atemgasanalyse k¨ onnen in weiterer Folge neue Methoden zur fr¨ uhzeitigen Diagnose von Er¨ krankungen (z.B. Lungenkrebs) sowie zur Uberwachung von K¨orperfunktionen in der Intensivstation geschaffen werden. Die optimale Steuerung von Narkose in der An¨asthesie ¨ (z.B. Sevofluran, Propofol, etc.) und die Uberwachung der Vertr¨achlichkeit bzw. Metabolisierung von Medikamenten sind weitere Einsatzgebiete der Atemgasanalyse.

3

1.2. Fl¨ uchtige Organische Verbindungen (VOC) Schon Hippokrates nutzte den Geruch der ausgeatmeten Luft zur Diagnose von Krankheiten. Das moderne Zeitalter der Atemgasanlyse begann jedoch erst 1971 als Nobelpreistr¨ager Linus Pauling nachwies, dass im menschlichen Atem u uchtige or¨ber 200 fl¨ ganische Substanzen (volatile organic compounds, VOCs1 ) in geringen Konzentrationen vorkommen. Der menschliche Atem besteht aus einem komplexen Gasgemisch aus u uchtigen organischen Verbindungen. Sie bieten eine neue nicht¨ber 200 verschiedenen fl¨ ¨ invasive Diagnosem¨ oglichkeit in der Medizin. Uber die Konzentration der Komponenten kann die pathologische Quelle zur¨ uckverfolgt werden (vgl. King, 2010, S. 4). Herzfrequenz, Atemfrequenz und physiologische Vorg¨ange beeinflussen die Konzentrationen der Stoffe in der Ausatemluft, da sie den Atem- und Blutfluss steuern. Durch den einsatz von mathematischen Modellen ist es m¨oglich, die Dynamik des Atem- und Blutkreislaufes zu beschreiben und diesen Einfluss zu ber¨ ucksichtigen.

1

Abk.: VOC (volatile organic compound) ist die Bezeichnung f¨ ur kohlenstoffhaltige Stoffe, die leicht verdampfen. Diese liegen schon bei niedrigen Temperaturen als Gas vor.

4

2. Forschungsfrage In der Stereochemie werden Verbindungen, welche dieselbe Summenformel aufweisen, aber in ihrer Eigenschaft und ihrem Verhalten nicht identisch sind, Isomere genannt. Anhand der unterschiedlichen Art der Verkn¨ upfung zwischen den Atomen, werden Isomere in die zwei Hauptklassen Konstitutionsisomere und Stereoisomere eingeteilt. Bei Konstitutionsisomeren sind die Verkn¨ upfungen unterschiedlich, bei Stereoisomeren sind die Atome auf gleiche Weise miteinander verkn¨ upft. Die Reihenfolge, wie einzelne Atome aneinander gebunden sind, ist dieselbe. Die dreidimensionale Anordnung der Atome ist allerdings unterschiedlich (vgl. Vollhardt u. a., 2011, S. 187ff). Beispiele f¨ ur Stereoisomere sind die relativ stabilen cis-trans-Isomere und die schnell ¨aquilibrierenden Konformere. Beispiele f¨ ur typische Konstitutionsisomere sind Ethanol und Dimethylether (vgl. Bruice, 2011, S. 190).

Struktur Summenformel

CH3 CH2 OH

CH3 OCH3

Bezeichnung

Ethanol

Dimethylether

Aus diesem Kontext resultiert folgende Forschungsfrage: Wie k¨ onnen Signalkurven von Stoffgemischen mit nahezu identischen Retentionszeiten mathematisch voneinander getrennt werden?

Isomere zeigen im Chromatogramm Peaks, die sich nahezu u ¨berlagern. Dies tritt auf, wenn zwei Konglomerate nahezu die selben Retentionszeiten aufweisen. Sie besitzen in

5

jeder Fragmentierung dieselbe Struktur und somit ist es nicht m¨oglich, ihre Peaks anhand der Massenzahl zu trennen. Damit die Konzentration dieser Isomere bestimmt werden kann, ist es notwendig diese Peaks voneinander zu trennen und diese in Einzelpeaks der Komponenten zu zerlegen. Da die Separation dabei nicht u ¨ ber die chromatographische Abtrennung von Substanzen erfolgen kann, muss sie durch rechnerische Analyse erreicht werden.

Wird ein geeignetes Peak-Modell f¨ ur eine Gruppe sich u ¨ berlappender Peaks angewendet, so k¨ onnen Informationen zu den Eigenschaften der Einzelpeaks gewonnen werden. Diese Informationen sind notwendig um manuelle Fl¨achenberechnungen und somit Konzentrationsbestimmungen durchzuf¨ uhren. Das folgende Beispiel zeigt eine Kurvenapproximation mittels des 2-Gauß-Modells. Dabei werden zwei verschiedene Gauß-Peaks addiert und zus¨atzlich mit Rauschen u ¨berlagert. Umgekehrt soll nun ein Doppelpeak des Chromatogramms durch die Summe von zwei Gauß-Peaks approximiert werden, damit dann die Konzentrationen der einzelnen Stoffe berechnet werden kann. Andere Verfahren werden anschließend erl¨autert und analysiert.

Abbildung 2.1.: Beispiel eines Doppelpeaks der als Summe von zwei Gaußkurven erzeugt worden ist.

6

3. Das Chromatogramm Die Chromatographie besch¨ aftigt sich mit der Trennung von Stoffgemischen. Sie dient zur Bestimmung der enthaltenen Stoffe und zur Ermittlung, in welchen Mengenverh¨altnissen diese in der Probe vorliegen. Anhand dieses Prozesses k¨onnen die Konglomerate getrennt ¨ werden, um deren Verbindungen zu erkennen. Einen guten Uberblick zum chromatographischen Prozess und dessen Kenngr¨oßen gibt das Buch von Kromidas und Kuss (Kromidas u. Kuss, 2008) sowie die Diplomarbeit von Weidling (Weidling, 1999).

3.1. Der chromatographische Prozess Die Trennung des Stoffgemisches gelingt in der Folge dadurch, das Gemisch unterschiedlich schnell durch die Trennstrecke wandern zu lassen (vgl. Stauffer, 2008, S. 3). Die Trennstrecke umfasst zwei Phasen. In der station¨aren Phase befindet sich auf der Trennstrecke eine pulverf¨ ormige Substanz. W¨ahrend dieser Phase m¨ ussen die Substanzen des Stoffgemisches damit in Wechselwirkung treten k¨onnen um sp¨ater voneinander getrennt werden zu k¨ onnen. Zur Bef¨ orderung der Probenmolek¨ ule durch die S¨aule dient die mobile Phase, in der die Molek¨ ule ebenfalls in Wechselwirkung treten. Durch die Trennmechanismen Absorption 1 und Adsorption 2 erfahren die Molek¨ ule beim Wandern durch die Trennstrecke eine unterschiedliche Laufzeit. Ein Chromatogramm entsteht, wenn das zu untersuchende Stoffgemisch am Detektor angelangt ist. Die Konzentration des angelangten Stoffgemisches wird u ¨ ber die Zeit in ein Koordinatensystem aufgetragen (vgl. Weidling, 1999, S. 7). Aus den daraus entstehenden Peakfl¨achen 3 kann auf die Pro1

Absorption liegt vor, wenn ein Stoff von einem anderen in einer Phase aufgenommen wird. Adsorption ist die Bindung einer Substanz an eine Oberfl¨ ache. 3 Eine Peakfl¨ ache ist die Fl¨ ache unter einem Peak, welche durch Integration bestimmt wird. 2

7

benmenge geschlossen werden. In der Gaschromatographie spricht man hier von einer quantitativen Analyse (vgl. Stauffer, 2008, S. 4).

3.2. Selektivit¨ at und Effizienz Unterschiedliche Substanzen besitzen unterschiedliche Wanderungsgeschwindigkeiten w¨ahrend des Trennvorganges. Die station¨are Phase bewirkt diesen Vorgang, in dem die Stoffe verschieden stark absorbiert bzw. adsorbiert werden. F¨ ur das resultierende Chromatogramm ist eine große Differenz der Geschwindigkeiten erw¨ unscht. Dies hilft bei der Auswertung und erm¨ oglicht das Chromatogramm qualitativ und quantitativ zu bestimmen. Durch das Verh¨ altnis der Substanzen kann die Zusammensetzung des Gemisches besser rekonstruiert werden. Diese erw¨ unschten Kenngr¨ oßen des chromatographischen Systems werden als Selektivit¨ at und Effizienz bezeichnet. Das System besitzt eine gute Selektivit¨at (Abb. 3.1), je gr¨oßer der Unterschied der Wanderungsgeschwindigkeit der unterschiedlichen Komponenten ist und wenn die Trennung klar pr¨azisiert wird. Es ist ein Maß welches die Retention4 des Substanzgemisches beschreibt (vgl. Stauffer, 2008, S. 4). Der unerw¨ unschte Unterschied in der Wanderungsgeschwindigkeit gleichartiger Molek¨ ule wird Effizienz (Abbildung 3.2) genannt. Je geringer die Diskrepanz, desto schmaler sind die resultierenden Peaks im Chromatogramm und desto effizienter ist die theoretische Bodenzahl“, welche ein Maß f¨ ur die Peakverbreiterung ist (vgl. Stauffer, 2008, S. 11). ”

Abbildung 3.1.: Unterschiedliche Molek¨ ule wandern unterschiedlich schnell durch die Trennstrecke (Stauffer, 2008, S. 4)

4

Retention [lat.]: Zur¨ uckhalten von Stoffen im Filter oder im Adsorptionsmittel in der Filtrations- und Chromatographietechnik. (Vgl. Brockhaus, 1994, S. 402)

8

Abbildung 3.2.: Gleichartige Molek¨ ule haben leicht unterschiedliche Wanderungsgeschwindigkeiten (Stauffer, 2008, S. 4)

oßen zur Auswertung des Chromatogramms 3.3. Kenngr¨ Die folgenden Kenngr¨ oßen liefern Informationen u ¨ber das Chromatogramm. Retentionszeit und Aufl¨ osung geben Auskunft u ¨ ber die Art und Eigenschaften der Probekomponenten und helfen dabei die Messdaten korrekt auszuwerten.

3.3.1. Retentionszeit Die Bruttoretentionszeit (tR ; tms ) ist die Zeit, welche die Molek¨ ule einer Komponente ben¨otigen, die Trennstrecke inklusive Detektor zu durchlaufen. Die folgende Gleichung beschreibt die Berechnung der Retentionszeit. Diese ist vom Retentionsvolumen VR und Eluentenfluss F abh¨ angig (vgl. Stauffer, 2008, S. 5).

tR =

VR F

(3.1)

Die Nettoretentionszeit ts beschreibt, welche Zeit eine Komponente ben¨otigt, die station¨are Phase zu durchqueren. Sie errechnet sich aus der Totzeit (tm ; t0 ) und der Bruttoretentionszeit tR (vgl. Stauffer, 2008, S. 6).

ts = tR − t0

(3.2)

die nachfolgende Grafik (Abb. 3.3) zeigt ein Chromatogramm, welches Stoffkonzentrationen von unterschiedlichen Kompomenten auf der Signal- und Zeitachse auftr¨agt. Es verdeutlicht die Messung von Brutto- und Nettoretentionszeit sowie Totzeit.

9

Abbildung 3.3.: Totzeit, Brutto- und Nettoretentionszeit von Peak Nr. 3 (Stauffer, 2008, S. 6)

3.3.2. Aufl¨ osung Bei einem chromatographischen System wird eine optimale Trennung angestrebt. Die Aufl¨osung ist hier eine Maßzahl daf¨ ur, wie weit die Peaks zweier Substanzen voneinander getrennt sind. Sie ist das Verh¨altnis von Selektivit¨at und Effizienz. Das bedeutet, dass ein unaufgel¨ ostes Signal durch das Vergr¨oßern der Effizienz oder der Selektivit¨at getrennt werden kann (vgl. Stauffer, 2008, S. 9ff). Um ein Chromatogramm quantitativ auszuwerten, wird eine ausreichend hohe Aufl¨osung gefordert. Dies wird beispielsweise bei der Integrationsmethode gefordert damit die Fl¨ache unter dem Peak bestimmt werden kann.

Die Aufl¨ osung zweier benachbarter Peaks ist durch das Verh¨altnis aus der Differenz der Retentionszeiten tR2 − tR1 (f¨ ur tR2 > tR1 ) und dem Mittelwert der Peakbreiten (wb1 + wb2 )/2 gegeben (vgl. Schmid, 2011, S. 40). R=2∗

tR2 − tR1 wb1 + wb2

(3.3)

Abbildung 3.4 zeigt ein Detektorsignal von zwei sich u ¨ berlappenden Peaks, welche eine Peakaufl¨ osung von 0.75 besitzen. Anzustreben ist eine h¨ohere Aufl¨osung, um beide Peaks basisliniengetrennt zu erhalten (Abb. 3.5).

10

Abbildung 3.4.: Registriertes Signal am Detektor des GC/MS mit einer Aufl¨osung von 0.65

Abbildung 3.5.: Die h¨ ohere Aufl¨ osung von 1.75 f¨ uhrt zu einer besseren Trennung Detektorsignals

3.4. Integration Wird die Fl¨ ache unter einem Peak berechnet, so erfolgt dies u ¨ber Integration. Die Integrationsgrenzen sind u ¨ber die beiden Peakfußpunkte, den Peakbeginn und das Peakende, definiert. Die Substanzmenge verh¨ alt sich proportional zur Peakfl¨ache und ist daher f¨ ur die Analytikerin und den Analytiker maßgebend (vgl. Weidling, 1999, S. 15).

11

4. Beschreibung des Programms Dieses Kapitel beschreibt, wie des Computeralgebrasystems Matlab in der Chromatographie eingesetzt werden kann. Basierend auf den Grundlagen der Matrizenrechnung wird auf die Vorteile und Probleme des Systems eingegangen und beschrieben wie Programmierroutinen effizienter abgearbeitet werden k¨onnen.

4.1. MATLAB MATLAB (abgeleitet von Matrix Laboratory) ist ein Mathematikprogrammsystem, welches zur Berechnung von mathematischen Problemen eingesetzt wird. Die Syntax von Matlab ist mathematisch orientiert und nutzt umfangreiche Funktionsbibliotheken aus der Technik sowie Natur- und Wirtschaftswissenschaften. Im Gegensatz zu einem Computeralgebrasystem wie beispielsweise Wolfram Mathematica oder Maple, welche mit algebraische Ausdr¨ ucken arbeiten, dient Matlab prim¨ar der numerischen L¨osung von Problemen. In neueren Versionen von Matlab ist es allerdings durch die Integration des Computeralgebrasystems von MuPAD auch m¨oglich, symbolische Berechnungen durchzuf¨ uhren. Besondere F¨ ahigkeiten von Matlab liegen in der numerischen (n¨aherungsweisen) Berechnung. Das bedeutet, dass Berechnungsmethoden und Algorithmen mit gerundeten Gleitkommazahlen gel¨ ost werden und ihre Resultate lediglich N¨aherungswerte liefern (vgl. Benker, 2010, S. 1-15).

12

4.1.1. Programmiersprache und Kompilierung Die Programmiersprache von Matlab ist propriet¨ar1 , ¨ahnelt der Programmiersprache C und wird vom Computer interpretiert. Das bedeutet, dass der geschriebene Programmtext Zeile f¨ ur Zeile ausgef¨ uhrt wird und nicht wie bei kompiliertem Code in Maschinencode2 u ¨ bersetzt wird. Sie gestattet das Erstellen von Programmen und ist mit den verwendbaren Toolboxen erweiterbar. Die Syntax von Matlab st¨ utzt sich auf Matrizen und bringt somit den Vorteil, dass vordefinierte Funktionen einbezogen werden k¨onnen. Der grundlegende Datentyp ist eine Matrix oder ein mehrdimensionales Feld. Dar¨ uber hinaus stellt Matlab ein einfaches Debugging3 zur Verf¨ ugung und weist zudem eine hohe Absturzsicherheit auf. Allerdings ist bei Matlab auch damit zu rechnen, dass der interpretierte Code deutlich langsamer ist als der kompilierte. Dies macht sich insbesondere bei Schleifen bemerkbar. Bis zum Jahr 2000 hat Matlab s¨amtlichen Code rein u ¨ ber den Interpreter analysiert. Dies hatte zur Folge, dass bestimmte Programmteile sehr langsam u uhrt wurden. Mit der Einf¨ uhrung des Just-in-Time Compilers ¨ bersetzt und ausgef¨ (seit Matlab 6.5) konnte allerdings sukzessive Effizienzsteigerung gew¨ahrleistet werden. Der JIT-Compiler kompiliert den Programmtext zur Laufzeit in Maschinencode. Dies erfolgt allerdings nur, wenn eine deutliche Verbesserung in der Geschwindigkeit vorliegt. Ein Anwendungsfall daf¨ ur w¨ are das sogenannte Entfalten von Schleifen“ (FOR ” oder WHILE ). Ein erheblicher Nachteil der JIT-Kompililierung besteht darin, dass die Zeit f¨ ur die Kompilierung ein Teil der Ausf¨ uhrungszeit ist. Dar¨ uber hinaus sind gewisse Einschr¨ankungen wie beispielsweise gegeben, wenn der JIT-Compiler eingesetzt wird. Keine Verbesserung der Durchlaufzeit einer Schleife wird vorgefunden, wenn folgende Bedingungen verzeichnet werden:

1 2

Eine Software ist propriet¨ ar, wenn diese nicht frei und quelloffen ist. ¨ Maschinensprache ist die f¨ ur einen Computer unmittelbar (d.h. ohne Ubersetzung) verst¨ andliche Darstellungsform eines Programms, ausschließlich bestehend aus der geeigneten Zusammenstellung ein-

3

zelner Bits oder Bitgruppen (Maschinencode) (Brockhaus, 1994) Debugging beschreibt das Verfahren zum Diagnostizieren und Auffinden von Fehlern im Programm

13

ˆ Der JIT-Compiler steigert die Ausf¨ uhrungsgeschwindigkeit nur f¨ ur Schleifen, wel-

che double, logical, char und integer Datentypen beinhalten. ˆ Es existiert ein Feld (Array) in der Schleife, welches mehr als eine Dimension

aufweist. ˆ Innerhalb der Schleife werden externe Funktionen (keine Matlab internen Funktio-

nen) aufgerufen. ¨ ˆ Wenn innerhalb der Schleife eine Anderung des Datentyps einer Variable erfolgt (Vgl. Chapman, 2008, S. 165ff). Um sich nicht auf JIT-Compiler st¨ utzen zu m¨ ussen, wird je nach M¨oglichkeit auf eine vektorisierte Programmierung gesetzt. Dieses Problem soll in folgendem Beispiel erl¨autert werden. Vektorisiertes Programmieren - Ein Beispiel Ein vom Detektor aufgenommenes Chromatogramm weist bei einer Retentionszeit von 24.1238 Minuten die chemische Verbindung 2-Pentanon auf. Abbildung 4.1 zeigt den aufgenommenen TIC4 sowie den Peak des Stoffes an der angegebenen Retentionszeit.

Daten zum Stoff 2-Pentanon: Struktur

4

Summenformel

C5 H10 O

Bezeichnung

2-Pentanon, CAS 107-87-9

Molare Masse

86.13g · mol−1

Total Ion Chromatogram (TIC) ist die Summe u aten (alle Massen-Peaks). ¨ber alle Signalintensit¨

14

Abbildung 4.1.: Diagramm 1: Aufgezeichneter TIC am GCMS. Die Markierung zeigt auf die Retentionszeit von 24.1238 an der sich der Peak des Stoffes 2Pentanon befindet. Diagramm 2: Der auf 1 skalierte Peak des Stoffes 2Pentanon (rot). Dar¨ uber verl¨auft der TIC (blau). Die linear verlaufende Kurve zeigt die Integrationsgrenzen f¨ ur diesen Peak an.

Um die Fl¨ achenberechnung unter der Kurve innerhalb der angegebenen Grenzen durchf¨ uhren zu k¨onnen, ist es notwendig, die Datenpunkte so zu filtern, dass unerw¨ unschte Werte (außerhalb der Grenzen) aus den Datenpunkten entfernt werden. Um zu zeigen, dass dieses Problem u ¨ber verschiedene Programmierschritte zu realisieren ist, dienen folgende Codefragmente (4.2 und 4.3) aus Matlab. Beide L¨osungen sind ¨aquivalent zueinander, allerdings weist die L¨osung mit der vektorbasierten Programmierung eine h¨ ohere Effizienz auf.

F¨ ur die Datenpunkte des Signals werden zwei Variablen definiert. xData f¨ ur die unterschiedlichen Retentionszeiten und yData f¨ ur deren Funktionswerte.

15

Codefragment 4.1: Variableninformation kann u ¨ ber die Konsole abgefragt werden 1

>> whos xData yData Name

Size

Bytes

4

xData

1x33

264

double

5

yData

1x33

264

double

2

Class

Attributes

3

Die Methode xAxisBorderFilter soll nun alle Datenpunkte aus dem Signal entfernen, die sich nicht innerhalb der Grenzen lower border und upper border befinden.

In Codeausschnitt 4.2 wird die Implementierung dieser Funktion abgebildet. Die Filterung der Datenpunkte wird hier u ¨ ber eine Schleife realisiert, die u ¨ber die Eingabedatenpunkte iteriert. Liegt ein x-Wert innerhalb der Grenzen, so wird dieser und der dazugeh¨ orende Funktionswert y in den neu angelegten Variablen gespeichert.

Codefragment 4.2: Eine Matlab-Funktion, welche alle außerhalb liegenden x- bzw. yWerte anhand einer for-Schleife aus der Datenpunktwolke entfernt und diese dann zur¨ uckliefert 1 2

function [ x, y ] = xAxisBorderFilter( xData, yData, ... lower border, upper border )

3 4

% Initialize the return variables

5

i = 1; x = []; y = [];

6 7

for j=1:length(xData) if (xData(j) >= lower border) && (xData(j) upper border)];

5 6

x(idx) = [];

7

y(idx) = [];

8 9

end

Im Falle der zuvor beschriebenen Filterung der Werte u ¨ber die Integrationsgrenzen ist der Unterschied in der Performance nicht zu sp¨ uren. Das h¨angt damit zusammen, dass die Matrizen y und x lediglich 33 Eintr¨age besitzen. Der vektorisierte Code ist deutlich besser zu lesen und auch deutlich k¨ urzer.

17

4.1.2. Aufbau Der Aufbau von Matlab teilt sich in den Kern und in Erweiterungspakete (Toolboxen). Der Kern beinhaltet alle Grundoperationen und Grundfunktionen, welche beim Start in den Hauptspeicher des Rechners geladen werden. Diese werden in die Hauptbestandteile ˆ Programmiersprache ˆ Arbeitsumgebung (Verwaltung als auch der Import und Export von Variablen) ˆ Grafiksystem ˆ Funktionsbibliotheken (f¨ ur vordefinierte Funktionen) ˆ Programmierschnittstellen (f¨ ur C und FORTRAN) unterteilt

Toolboxes z¨ ahlen zu den wichtigsten Erweiterungsm¨oglichkeiten. Diese Sammlung von Matlab-Dateien wird lediglich bei Bedarf geladen und spart somit Speicherplatz auf dem Rechner. In diesem Kapitel wird allerdings nicht n¨aher auf die verf¨ ugbaren Erweiterungspakete eingegangen. Das Nachschlagewerk Benker (Vgl. Benker, 2010, S. 8-9) bietet eine gute Hilfestellung bei der Verwendung von Toolboxes.

4.1.3. Bibliotheken Ein umfangreiches Angebot an Bibliotheken sind ein großer Vorteil von Matlab gegen¨ uber anderen Programmiersprachen. Eine davon ist die Curve Fitting Toolbox, die Applikationen und Funktionen zur Anpassung von Kurven und Oberfl¨achen an Daten beinhaltet. Diese Bibliothek ist im nachfolgenden Abschnitt n¨aher erkl¨art, da diese f¨ ur die Berechnung der Peak-Separation von Chromatogrammen von großer Bedeutung ist. Anhand eines vorgegebenen Modells wird durch Approximation eine Ann¨aherung zu einer Datenpunktwolke gesucht. Ebenfalls unterst¨ utzt die Toolbox die Gl¨attung von Kurven und erm¨ oglicht es, die konfigurierte Kurvenapproximation in einer generierten Matlab-Datei abzuspeichern.

18

4.2. Datenaufbereitung Die am GC-MS aufgenommenen Messdaten werden mit Hilfe von verschiedenen Softwareprogrammen aufbereitet, um die Kompatibilit¨at mit Matlab zu gew¨ahrleisten. Zu den kommerziellen Programmen z¨ahlen Mnova MS 5 , ClearView / TargetView 6 , SpectralWorks 7 uvm. Programme wie AMDIS und OpenChrom sind hingegen frei verf¨ ugbar. Am Institut f¨ ur ¨ Atemgasanalytik in Dornbirn (Osterreich) wird AMDIS f¨ ur die Interpretation der GCMS Daten eingesetzt.

4.2.1. AMDIS AMDIS steht f¨ ur Automated Mass Spectral Deconfolution and Identification System und ist eine GC-MS Interpretationssoftware. Diese wird genutzt, um die Rohdaten aus der GC-MS-Daten Datei weiter zu verarbeiten. Die Software durchsucht dort nach Ionen im Chromatogramm, welche zur gleichen Zeit im Energieniveau fallen und steigen und ordnet diese einer einzigen Komponente zu. Wenn die Komponente gefunden wird, vergleicht das Programm diese mit der Bibliothek von Spektren und Retentionindizes, welche zur Verf¨ ugung gestellt wurde. Dies k¨ onnte beispielsweise die Datenbankbibliothek der NIST sein.

4.2.2. NIST NIST Gas Chromatography Library 8 ist eine Datenbank welche Daten von Retentionsindizes und deren chromatographische Zust¨ande f¨ ur u ¨ ber 70.000 Komponenten zur Verf¨ ugung stellt. Diese sind durch ihre Elementarformel, nominale Masse und der CASRN (Chemical Abstracts Services registry number ) eindeutig identifizierbar.

5

Mnova von Mestrelab Research - http://mestrelab.com/software ClearView und TragetView von Markes International - http://www.markes.com 7 SpectralWorks - http://www.spectralworks.com 8 NIST Standard Reference Database 1A - http://www.nist.gov/srd/nist1a.cfm 6

19

Teil II.

Implementierung

20

5. Matlab als Integrationssystem Aufgabe eines Integrationssystems ist es, die Parameter eines Chromatogramms so genau wie m¨ oglich zu bestimmen. Zu diesen Parametern geh¨oren die Retentionszeiten, Peakh¨ohen und Peakfl¨ achen. Die gr¨oßte Substanzmenge ist durch den h¨ochsten Peak gekennzeichnet. Das ausgewertete Signal baut auf ein Basissignal auf, welches vom Detektor erzeugt wird. Die Bestimmung des wahrscheinlichsten Verlaufs dieser Basislinie ist daher ebenfalls eine wesentliche Aufgabe des Integrationssystems. Der Verlauf der Basislinie fließt maßgebend in die Berechnung der Konzentration des zu analysierenden Stoffes ein. F¨ ur die Qualit¨ at der ausgewerteten Ergebnisse ist auch die Aufl¨osung des Chromatogramms entscheidend. Somit f¨allt der Anteil des Integrationssystems am Gesamtfehler meist gering aus und kann daher als vernachl¨assigbar angesehen werden. Allerdings sind die zuvor beschriebenen Bedingungen in der Praxis nicht immer gegeben. Auch wenn die heutigen Computer sehr pr¨azise rechnen, kann es doch sein, dass der Anwender berechnete Resultate hinterfragt.

5.1. St¨ orungen und Fehlerquellen Im folgenden Abschnitt werden mathematische Vorgehensweisen zur Signalanalyse diskutiert und anhand von simulierten Beispielen erkl¨art. Dar¨ uber hinaus werden Integrationsfehler gelistet, die das Auswerten der Stoffkonzentrationen erschweren.

5.1.1. Basisliniendrift Instabile Basislinien treten in vielen Arten von instrumentellen Messungen auf. Diese k¨onnen großen Ungenauigkeiten und Probleme bei der Ann¨aherung der Nachweisgren-

21

ze verursachen. Ein Ansteigen der Basislinie im Chromatogramm kann auftreten, wenn sich der Gasdruck innerhalb der Trenns¨aule a¨ndert. Eine weitere Ursache k¨onnte ein pl¨otzlicher Temperaturanstieg des Detektors oder der S¨aule sein. Der Drift der Basislinie verf¨alscht das Chromatogramm soweit, dass es sowohl zu Verf¨alschungen der Retentionszeiten als auch zu Abweichungen der Fl¨ache unter der Kurve kommt. Aus diesem Grund wird eine Basislinienkorrektur verwendet. In vielen instrumentalen Softwaresystemen ist dies ein teilweise manueller Prozess, bei dem man den Beginn und das Ende des Peaks definiert. Anschließend konstruiert die Software eine Verbindungslinie, die einer Sch¨atzung der Basislinie entspricht. Infolgedessen wird diese Basislinie vom Peak-Signal subtrahiert. Dieser Ansatz ist zeitaufwendig und besitzt eine begrenzte Reproduzierbarkeit.

Abbildung 5.1.: Falsch identifizierte Basislinie (rot) bevor Beginn des Peaks

Korrekturverfahren der Basislinie sind bereits patentiert. Der Erfinder Richard F. Lacey (Lacey, 1989) beschreibt in seinem Patent, wie systematische Fehler im Chromatogramm durch orthogonale Subtraktion entfernt werden k¨onnen. Ein anderes Verfahren zur Kompensation des Basisliniendrifts beschreiben die Erfinder Pospisil und Kolb (Pospisil u. Kolb, 1985). Dabei nutzen sie das Signal eines Funktionsgenerators, welcher den Basisliniendrift als Funktion der Temperatur generiert. Dieses Signal wird dann genutzt um die gew¨ unschte Kompensation durchzuf¨ uhren.

22

In einem Fachbericht listen die Autoren Eilers und Boelens bestehende Ans¨atze f¨ ur die automatische Basislinienkorrektur auf. Diese sind nur dann g¨ ultig, wenn positive Peakspitzen vorausgesetzt werden (vgl. Eilers u. Boelens, 2005, S. 2-3).

5.1.2. Tail Peak Ein anderes Beispiel f¨ ur eine St¨ orung im Chromatogramm zeigt sich anhand des sogenannten Tail Peak“. Dort setzt ein zweiter Peak auf der Schulter des Hauptpeaks ” auf. Generell wird bei der Quantifizierung der Stoffe ein Chromatogramm angestrebt, bei dem alle Peaks basisliniengetrennt sind. Erreichbar wird dies durch Variation der Aufl¨osung R. Diese wird bei gleich großen Peaks mit dem Wert R = 1.5 angegeben (siehe Kapitel 3.3.2). Existieren hohe Konzentrationsunterschiede zwischen den Peaks, so tritt ein Effekt auf, dass zwei Peaks miteinander verschmelzen. Abbildung 5.2 zeigt diesen Extremfall anhand einer Skizze. Die weitere Vorgehensweise h¨angt dabei vom Anwender ab, der entscheidet, ob dieser Peak abgeschnitten wird, oder separat betrachtet werden muss. Im weiteren Teil dieser Arbeit wird lediglich der Anwendungsfall der Peak-Separation beschrieben.

Abbildung 5.2.: Verschmelzen von verschiedenen Peaks (Tail Peak) verursacht Probleme bei der Quantifizierung.

23

5.1.3. Tailing Tailing ist gegeben, wenn der chromatographische Peak (Gauß’sche Glockenkurve) symmetrisch bzw. von seiner Idealform abweicht. In der Chromatographie wird dies durch den Tailingfaktor T angegeben. Es wird dabei zwischen Leading bzw. Fronting und Tailing unterschieden. Zeigt eine Kurve ein Tailing, so besitzt sie einen schnellen Anstieg und ein langsames Abfallen. Bei einem Fronting ist dies umgekehrt - langsames Ansteigen und schnelles Abfallen. Das Tailing kann mit Hilfe von zwei u ¨bereinandergelagerte, verschobene Gaußkurven simuliert werden. Dabei ist der zweite Peak breiter und er besitzt eine geringere Amplitude als der erste.

5.1.4. Rauschen Die Differenz zwischen dem gr¨ oßten und dem kleinsten Messpunkt im betrachteten Abschnitt im Chromatogramm wird Rauschen genannt. Das elektronische Rauschen wird durch Hintergrundsignale am Detektor hervorgerufen. Angestrebt wird ein hohes Signalzu-Rausch-Verh¨ altnis S/N (signal-to-noise-ratio). Dieses gibt die Qualit¨at des Nutzsignals an, welches von einem Rauschsignal u ¨berlagert wird. Berechnet wird es u ¨ber das Verh¨altnis der mittleren Leistung beider Signale (vgl. Franz, 2008, S. 9-10).

SN R = mit

PSignal 2·H H = hn = PRauschen hn 2

(5.1)

H = Signalh¨ ohe hn = Rauschen

Um das Rauschen zu unterdr¨ ucken besitzen die Detektoren einen eingebauten Tiefpassfilter, welcher konfigurierbar ist. Eine st¨arkere Unterdr¨ uckung wird erreicht, wenn der Filter auf eine Signal¨ anderung langsamer reagiert. Dies hat zur Folge, dass die erfassten Peaks verzerrt werden. Somit sollte die Zeitkonstante am Filter so eingestellt werden, dass eine m¨ oglichst große Nachweisgrenze erzielt wird.

24

5.2. Kompensation des Basisliniendrift Im folgenden Abschnitt wird die Ermittlung der Basislinie unter Matlab n¨aher eingegangen. Dazu ist das Erstellen einer Testfunktion notwendig, welche das Chromatogramm eines Isomers simuliert. Wie in Abschnitt 2 beschrieben, weisen Isomere u ¨berlagernde Peaks auf. Ein weiterer unangenehmer Nebeneffekt ist der Basisliniendrift (siehe Abschnitt 5.1.1) und das Signalrauschen. Die Ursache f¨ ur das Grundrauschen liegt in der elektronischen Signalverarbeitung. Durch die Regelung der Temperatur und des Pumpensystems ist diese f¨ ur das Rauschen maßgebend verantwortlich. Modellierung des Detektorsignals Mathematisch kann die Testfunktion wie folgt beschrieben werden. Die Funktion besteht aus der Summe zweier Normalverteilungen, welche verschiedene Erwartungswerte µ und Standardabweichungen σ besitzen k¨onnen. Der Erwartungswert und die Standardabweichung sind jedoch positiv (µ > 0 und σ > 0) zu w¨ahlen, da sonst negative Peaks entstehen.

Funktion 1 (µ = 3, σ = 1): 1 2 1 f1 (x) = √ · e− 2 (x−3) 2π

(5.2)

Funktion 2 (µ = 7.5, σ = 1.7): 1 −1 √ ·e 2 f2 (x) = 1.7 · 2π



x−7.5 1.72

2

(5.3)

Werden beide Funktionen miteinander addiert, so ergibt dies eine Funktion mit einem Doppel-Peak“. Der folgende Matlab-Code erstellt zwei u ¨berlagerte Wahrschein” lichkeitsdichtefunktionen, welche normalverteilt sind. Anschließend werde beide Kurven miteinander addiert.

25

Codefragment 5.1: Matlab-Code erstellt zwei verschiedenen Normalfunktionen, welche sich u ¨berlagern. 1

% Create Double-Peak Signal

2

f1 = normpdf(x,3,1);

3

f2 = normpdf(x,7.5,1.7);

4

sum = f1+f2;

Signalrauschen Zus¨atzlich wird nun ein Rauschen u ¨ber die Testfunktion gelegt, um den selben Effekt, der bei einem Chromatogramm entsteht, zu simulieren. Ein Signalrauschen kann in unterschiedlichen Wahrscheinlichkeitsverteilungen auftreten. Eine dennoch u ¨ bliche Verteilung ist die Normalverteilung, welche f¨ ur die folgende Berechnung verwendet wird. Dies bedeutet, dass die generierten Zufallszahlen den Wahrscheinlichkeiten der Gauß-Verteilung zugrunde liegen. Kleine Abweichungen vom Erwartungswert treten h¨aufiger auf als große.

Die Berechnung von normalverteilten Pseudozufallszahlen erfolgt in Matlab u ¨ ber die Funktion random. Erwartungswert und Standardabweichung werden basierend auf der Standardnormalverteilung Φ0;1 auf µ = 0 und σ = 1 gesetzt. Um das Verh¨altnis zwischen Signal und Rauschen anzupassen, werden die generierten Zufallszahlen mit dem Faktor 2 · 10−2 gestaucht und dem zuvor erstellten Doppel-Peak Signal aufaddiert.

Codefragment 5.2: Addieren des k¨ unstlichen Rauschens 1

% Add the noise

2

[m,n] = size(sum);

3

noise = (random('norm',0,1,n,1).*0.02)' + sum;

Als Resultat erhalten wir ein verrauschtes Doppel-Peak Signal mit unterschiedlichen Amplituden und Erwartungswerten (Abb. 5.3).

26

Doppel−Peak Signal mit überlagertem Rauschen 0.5 DP Signal mit Rauschen DP Signal

0.45

0.4

0.35

y

0.3

0.25

0.2

0.15

0.1

0.05

0

0

1

2

3

4

5

6

7

8

9

10

11

x

Abbildung 5.3.: Doppel-Peak (DP) Signal mit u ¨ berlagertem Signalrauschen

Erstellen des Basisliniendrift Der Basisliniendrift (siehe Abschnitt 5.1.1) kann durch ein Polynom n-ten Grades modelliert werden. F¨ ur den ersten Versuch wird ein Polynom 2. Grades verwendet und die Koeffizienten werden angepasst. Mathematisch ist dies wie folgt zu interpretieren:

f (x) = 0.001 · x2 + 0.0002 · x + 0.1

(5.4)

Der Matlab Code daf¨ ur l¨ asst sich folgendermaßen anpassen.

Codefragment 5.3: Erstellt den Basisliniendrift und addiert diesen zu den erstellen Funktionen. 1

% Add the baseline drift

2

p = 0.001*x.ˆ2 + 0.0002*x + 0.1;

3

sum = sum+p;

27

5.2.1. Asymmetric Least Squares (AsLS) Algorithmus Das Ziel besteht darin einen alternativen und allgemeinen Ansatz zur Sch¨atzung der Basislinie zu finden. Dies soll in bestimmten zeitlichen Grenzen am Signal durchgef¨ uhrt werden. Mit Hilfe der asymmetrischen Methode der kleinsten Quadrate (Asymmetric Least Squares) werden im Gegensatz zur gew¨ohnlichen Fehlerquadratmethode positive Abweichungen zur gesch¨ atzten Basislinie viel geringer gewichtet als die negativen. Zur Entfernung des unerw¨ unschten Basisliniendrifts ist das AsLS-Verfahren durchaus n¨ utzlich, da es schnell und sehr flexibel anzupassen ist. In der Modellierung mittels Regression gibt es relativ wenige Publikationen u ¨ber die Verwendung des AsLS-Verfahrens. Im technischen Bericht erl¨ autern und simulieren die Autoren Eilers und Boelens den in Matlab umgesetzten AsLS-Algorithmus (vgl. Eilers u. Boelens, 2005, S. 3-5). Darin wird erw¨ahnt, dass gerade bei chromatographischen Signalen diese Methode sehr gut funktioniert und dort auch gerne angewendet wird. Dort sind Peaks gesch¨arft und weisen eine gute Isolation mit geringem Rauschen auf. Abbildung 5.4 zeigt ein Chromatogramm, das einen Drift der Basislinie aufweist. Diese wird durch Ann¨aherung mittels AsLS-Verfahren bestimmt.

28

Abbildung 5.4.: Das Signal des Chromatogramms weist einen Basisliniendrift auf. Die Ann¨ aherung an die gesch¨atze Basislinie (rot) wird u ¨ ber das AsLSVerfahren durchgef¨ uhrt. Der folgende Algorithmus 5.1 zeigt die Implementierung des Asymmetric Least Squares Verfahrens. Die Variable y bestimmt das Signal der L¨ange m, welches in gleichm¨aßigen Abst¨anden abgetastet wurde. Die Grundlage f¨ ur die Ann¨aherung der Basislinie z basiert auf dem Ansatz der Methode der kleinsten Quadrate (engl. method of least squares). Diese wird angewendet um eine Fitfunktion1 durch Messpunkte hindurch zu legen. Die Idee liegt darin, dass sich die Abst¨ande der Messpunkte zur hineingelegten Fit-Funktion minimal werden. Dazu werden alle Abst¨ande (Residuen) aufsummiert und quadriert. Die Summe der Quadrate aus den Residuen ist u ur ¨ ber die Gleichung 5.5 gegeben, wobei n f¨ die Anzahl der Datenpunkte steht. Das Resultat S ist die Summe der Fehlerquadrate.

S=

n X i=1

(yi − zi )2

(5.5)

Die zus¨ atzliche Skalierung oder Gewichtung w wird dabei in den Ann¨aherungsprozess 1

Die Fitfunktion ist eine mathematische bestimmte (gesch¨ atze) Funktion, die an eine bestehende Funktion angen¨ ahert wurde.

29

inkludiert. Die Gewichtung verhindert, dass große Ausreißer das Ergebnis st¨arker Verf¨alschen. Hinzu kommt noch ein zweiter Term ∆2 zi = (zi − zi−1 )−(zi−1 − zi−2 ), welcher den nicht ebenen Verlauf und das Verhalten von z bestimmt.

S=

n X i=1

2

ωi (yi − zi ) + λ

n X

∆2 zi

2

(5.6)

i

¨ Die Anzahl an Iterationen ist in der Praxis von der Anderungen der Gewichtung w ¨ abh¨angig. Unterschreitet die Anderung der Gewichtung einen Wert, so kann die Schleife beendet werden.

30

Algorithm 5.1 Basisliniensch¨ atzung mittels AsLS-Algorithmus Require: y > 0 ∨ λ > 0 ∨ p < 1 m ← length(y) D ← dif f (speye(m), 2) w←I while run > 0 do wprev ← w W ← diag(w) C ← W + λ(D ′ D) z ← C −1 (C ′−1 (wy)) w ← p · (y > z) + (1 − p) · (y < z) wdif f ← wprev − w for j := 1 to length(wdif f ) do if wdif f (j) < ǫ then run ← 0 else run ← 1 break end if end for if it > 100 then break {Max. Anzahl Iterationen erreicht} end if it ← it + 1 end while return z

31

In Matlab wird der angef¨ uhrte Algorithmus wie folgt implementiert. Um einen angenehmen Aufruf des N¨ aherungsverfahrens zu gew¨ahrleisten, lohnt es sich den Algorithmus in eine eigene Funktion zu verpacken. Eingangsparameter sind die Funktionswerte y, der Parameter f¨ ur die Gl¨ atte der gesch¨atzten Basislinie λ und ein Indikator f¨ ur die Rauschst¨ arke p des Signals. Besitzt die gesch¨atzte Basislinie einen glatten bzw. ebenen Verlauf, so f¨ uhrt dies zu einem hoch skalierten λ. Bei einem steilen Anstieg ist dieser Parameter niedriger zu w¨ ahlen. Liegt ein starkes Rauschen auf dem Signal, so ist der Parameter p h¨ oher zu w¨ ahlen, bei geringem Rauschen dementsprechend niedriger. Generell haben sich Werte von 0.001 ≤ p ≤ 0.1 und 102 ≤ λ ≤ 109 als gute Wahl herausgestellt.

Codefragment 5.4: Matlab Codebeispiel zur Entfernung des Basisliniendrifts mittels Asymmetric Least Squares Verfahren 1

function z = baseline( y, lambda, p )

2

% Estimate baseline with asymmetric least squares

3

% params:

lambda = smoothness (10ˆ2 Elapsed time is 0.058702 seconds.

7.3.2. Ergebnisse Als Erg¨ anzung zur Tabelle7.5 sind in Tabelle 7.3.2 die Peakfl¨achen der unbekannten Konzentrationen der Analyten gelistet. Diese werden als Konzentration (Ist)“ darge” legt. Die Konzentration der effektiv am GC-MS preparierten Analyten ist mit Konzen” tration (Soll)“ benannt. Die Tabellenspalte Fl¨ache“ bezeichnet die gemessene Fl¨ache ” der unbekannten Komponenten. Anhand der jeweiligen angegebenen Steigung der Kalibriergeraden K kann somit die Konzentration der Analyten mittels Gleichung (7.3) berechnet werden.

58

Tabelle 7.6.: Ermittelte Konzentrationen der Testanalyten gegen¨ ubergestellt zu den Konzentrationen, welche tats¨achlich am GC-MS prepariert wurden. Komponente

Fl¨ ache

K

Konz. (Ist)

Konz. (Soll)

2 Pentene (E)-

1,96E+05

1,66E+04

11,80

7,88

2 Pentene (Z)-

8,81E+04

1,23E+04

7,16

4,73

1 Pentene

5,01E+05

6,58E+03

76,15

77,12

2 Methyl Hexan

2,31E+05

1,62E+04

14,21

10,34

3 Methyl Hexan

6,56E+05

1,03E+04

63,79

57,50

4 Methyl Octan

7,89E+05

1,51E+04

52,41

51,83

2 Methyl Octan

3,21E+05

1,90E+04

16,86

7,55

Die in Tabelle 7.3.2 ermittelten Ist-Werte der Konzentrationen werden in Abbildung 7.8 den Soll-Werten gegen¨ ubergestellt. Die Einheit der Konzentration wird in Teilchen pro Milliarde (ppb: parts per billion) angegeben. Der tolerierte Fehler ist mit ±15% angegeben.

Abbildung 7.8.: Vergleich der Soll-Konzentrationen mit den Ist-Konzentrationen der Analyten

59

Die berechneten Konzentrationen der Komponenten 1-Pentene, 3-Methyl-Hexan und 4-Methyl-Octan liegen innerhalb der Toleranzfehlergrenze. Auffallend ist allerdings, dass f¨ ur die Stoffpaare 2-Pentene (E)- sowie 2-Pentene (Z)- als auch bei 2-Methyl Hexan und 2-Methyl-Octan die erwarteten Konzentration deutlich vom Soll abweichen. Des Weiteren weisen die Konzentrationen des Ist-Ergebnis fast immer h¨ohere Werte auf als jene der Soll-Konzentrationen.

7.3.3. Fehlerquellen und L¨ osungsans¨ atze ¨ Eine m¨ ogliche Ursache f¨ ur die gr¨ oßere Abweichung ist die Uberlagerung von Peaks mit sehr unterschiedlicher H¨ ohe. Abbildung 7.9 soll dies am Beispiel von 4-Metyhl-Octan und 2-Methyl-Octan verdeutlichen. Der Peak mit gr¨oßerer Amplitude verf¨alscht das Ergebnis der Koeffizienten der zweiten Amplitude so stark, dass ein sehr ungenaues Resultat bei der Fl¨achenberechnung die Folge ist.

Abbildung 7.9.: Die Stoffe 4-Methyl-Octan und 2-Metyhl-Octan weisen bei ihrer ¨ Uberlagerung einen deutlichen Unterschied in den Amplituden auf.

60

Ein ¨ahnliches Verhalten weist auch die Peak¨ uberlagerung von 1-Pentene, 2-Pentene (E)- und 2-Pentene (Z)- auf (Abb. 7.10). Die große Amplitude von 1-Pentene beeinflusst die beiden anderen Amplituden so, dass in Folge eine ungenaue Fl¨achenberechnung entsteht.

Abbildung 7.10.: Die Peak¨ uberlagerung der Stoffe 1-Pentene, 2-Pentene (E)- und 2Pentene (Z)-. Hier stellen sich ebenfalls große Unterschiede in den Amplituden ein.

Um m¨ oglichst nahe an die Ergebnisse der Soll-Konzentrationen zu kommen, empfiehlt es sich daher die Integrationsgrenzen an einem einzelnen Peak zu setzen. Speziell bei Peaks mit kleinerer Amplitude zahlt sich dieser Schritt aus. Die ermittelte Fl¨ache weicht somit nur gering vom Soll ab und die proportional abh¨angige Konzentration liegt innerhalb der notwendigen ±15% Fehlertoleranz. Durchgef¨ uhrt wird die Approximation dann u ¨ber eine einfache bzw. einzelne Gaußkurve. Im Screenshot 7.11 wird ersichtlich, wie die Integrationsgrenzen zu setzen. Das anschließende Balkendiagramm 7.12 zeigt den Vergleich der Soll- bzw. Ist-Werte. Anhand dieses Verfahrens k¨onnen alle Analyten nahezu ident an das Ziel gef¨ uhrt werden.

61

Abbildung 7.11.: Setzen der Integrationsgrenzen am Peak mit kleinster Amplitude

Abbildung 7.12.: Vergleich der Soll- mit der Ist-Konzentrationen mit verbessertem Integrationsverfahren

62

8. Zusammenfassung und Ausblick Die rechnerunterst¨ utzte Auswertung von Gaschromatogrammen bietet dem Anwender/der Anwenderin die M¨ oglichkeit, eine Quantifizierung der registrierten Komponenten durchzuf¨ uhren. Zum einen kann durch die gezielte Trennung von Peakpaaren eine ausreichend genaue Berechnung der eingesetzten Konzentrationen durchgef¨ uhrt werden, zum anderen sind wesentlich weniger Anwendungsschritte bei der Durchf¨ uhrung der Fl¨achenberechnung der Peaks notwendig.

Den Kern dieser Arbeit bildet der Einsatz des numerischen Computeralgebrasystem Matlab, das als Integrationssystem zur Bestimmung wichtiger Parameter des Gaschromatogramms dient. Dabei werden sowohl St¨orungen und Fehlerquellen bei der Integration als auch L¨ osungsans¨ atze und mathematische Verbesserungen diskutiert. Das Konzept beruht auf einem auf Matlab basierenden Programm zur Analyse des am GC/MS registrierten Chromatogramms. Dieses untersucht das Signal anhand bestimmter Stoffkomponenten und wertet deren Peakfl¨ achen aus. Die Ergebnisse werden dann zur weiteren Berechnung der einzelnen Stoffkonzentration herangezogen.

Aus dieser grundlegenden Analyse l¨asst sich die zu Beginn gestellte Forschungsfrage wie folgt beantworten: Zentrales Thema ist die Separation von nicht vermeidbaren Peakpaaren, die nahezu die selben Retentionszeiten vorweisen und deren Fl¨achen einzeln bestimmt werden m¨ ussen. Dazu ist die Auswahl eines geeigneten Verfahrens zur Kurvenapproximation zu w¨ ahlen, mit dem es m¨oglich ist, die Parameter der Kurven zu gewinnen. Eine unerw¨ unschte St¨ orgr¨oße wie der Basisliniendrift kann durch den Einsatz

63

der asymmetrischen Methode der kleinsten Quadrate großteils eliminiert werden. Basierend auf dem Hauptprogramm zur Peakanalyse, welches den Import der aufbereiteten Messdaten kontrolliert, wird ein Unterprogramm entwickelt. Dieses f¨ uhrt die Separation und Integration der Peaks einer ausgew¨ahlten Komponente aus und wird vom Hauptprogramm gestartet. Die angen¨aherte Funktion wird grafisch dargestellt und die berechneten Eigenschaften (Peakfl¨ache, Retentionszeiten, etc.) der Konglomerate k¨onnen ausgelesen werden.

Der zweite Teil der Arbeit befasst sich mit dem Test der entwickelten Software. Getestet wird einerseits der entwickelte Algorithmus zur Peak-Separation und andererseits die Genauigkeit der Bestimmung der Konzentration der einzelnen chemischen Verbindungen. Dazu wurde am Atemgasinstitut in Dornbirn ein Chromatogramm mit Komponenten unbekannter Konzentrationen produziert und am GC/MS aufgezeichnet.

Aufbauend auf die ausgearbeitete Analysesoftware besteht die M¨oglichkeit in einem weiteren Forschungsteil die Kalibrierung des Detektorsignals am Analyseger¨at durchzuf¨ uhren. Die aufw¨ andige Eingabe der eingesetzten Probenmengen im Datenanalysetool, wie beispielsweise einem Tabellenkalkulationsprogramm, k¨onnte im n¨achsten Schritt automatisiert und somit vereinfacht werden. In weiterer Folge ist zu u ¨ berlegen, in wie weit zus¨atzliche mathematische Modelle, welche zur Ann¨ aherung an das Messsignal eingesetzt werden, die Qualit¨at der berechneten Koeffizienten und Peakfl¨ achen beeinflussen.

64

Literaturverzeichnis [Benker 2010] Benker, Hans: Ingenieurmathematik kompakt - Probleml¨ osungen mit MATLAB: Einstieg und Nachschlagewerk f¨ ur Ingenieure und Naturwissenschaftler (German Edition). Springer, 2010. – ISBN 3642054528 [Brockhaus 1994] Brockhaus: Der Brockhaus: in f¨ unf B¨ anden. Bd. 4. 8. F.A. Brockhaus GmbH, Mannheim, 1994 [Bruice 2011] Bruice, P. Y.: Organische Chemie: Studieren kompakt. 5. Auflage. Person Studium, 2011 [Chapman 2008] Chapman, Stephen J.: Essentials of MATLAB Programming. Cengage Learning, 2008. – ISBN 049529568X [ChemgaPedia 2014a] ChemgaPedia: Datenauswertung Chromatographie. 2014 [ChemgaPedia 2014b] ChemgaPedia: Gehaltsbestimmung in einer Probe mit einer Kalibrierung mit Standard-L¨ osungen mit internem Standard. 2014 [Eilers u. Boelens 2005] Eilers, P. H. C. ; Boelens, H. F.: Baseline Correction with Asymmetric Leas Squares Smoothing / Department of Medical Statistics, Leiden University Medical Centre. P.O. Box 9604, 2300 RC Leiden, The Netherlands, October 2005. – Forschungsbericht [Franz 2008] Franz, J.: Emv. Vieweg + Teubner, 2008. – ISBN 9783835102361 [King 2010] King, J.: Mathematical Modeling of Blood-Gas Kinetics for the Volatile Organic Compounds Isoprene and Acetone, Universit¨at Innsbruck, Diss., 2010

65

[Kromidas u. Kuss 2008] Kromidas, S. ; Kuss, H.-J.: Chromatogramme richtig integrieren und bewerten. Ein Praxishandbuch f¨ ur die HPLC und GC. WILEY-VCH Verlag GmbH & Co. KgaA, Weinheim, 2008 [Kuss 2008] Kuss, H.-J.: Integrationsfehler und Auswertung. In: Chromatogramme richtig integrieren und bewerten. WILEY-VCH Verlag GmbH & Co. KgaA, Weinheim, 2008, Kapitel 2 [Lacey 1989] Lacey, R.F.: Baseline correction for chromatography. Januar 18 1989. – EP Patent App. EP19,880,306,030 [Pospisil u. Kolb 1985] Pospisil, P. ; Kolb, B.D.: Device for the compensation of the base line drift of a chromatographic column. Januar 9 1985. – EP Patent App. EP19,840,107,477 [Schmid 2011] Schmid, T.: Chromatographische und elektrophoretische Verfahren. September 2011 [Schubert 2012] Schubert, R.: Atemgasanalyse unter spiroergometrischer Belastung mittels Echtzeit-Massenspektrometrie, Universit¨at Rostock, Diss., 2012 [Smith 2006] Smith, S.T.: MATLAB: Advanced GUI Development. Dog Ear Pub., 2006. – ISBN 9781598581812 [Stauffer 2008] Stauffer, D.: Das Chromatogramm. In: Chromatogramme richtig integrieren und bewerten. Ein Praxishandbuch f¨ ur die HPLC und GC. WILEY-VCH Verlag GmbH & Co. KgaA, Weinheim, 2008, Kapitel 1 [Vollhardt u. a. 2011] Vollhardt, K.P.C. ; Schore, N.E. ; Butensch¨ on, H.: Organische Chemie. Wiley-VCH, 2011. – ISBN 9783527327546 [Weidling 1999] Weidling, Ch.: Wissensbasierte Auswertung von Chromatogrammen, TU Ilmenau, Diplomarbeit, September 1999

66



Comments

Copyright © 2024 UPDOCS Inc.