FTIR-Spektroskopie (FTIR=FourierTransformationsInfraRot): Unterschied zwischen den Versionen

Aus Physik
Zur Navigation springen Zur Suche springen
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
 
 
== Die Aufgabe ==
 
== Die Aufgabe ==
 
Bei mienem Projekt geht es um die Auswertung der Daten einer Aufnahme
 
Bei mienem Projekt geht es um die Auswertung der Daten einer Aufnahme
Zeile 11: Zeile 9:
 
Bei den Daten die das Programm auszuwerten hat, geht es um die Messungen
 
Bei den Daten die das Programm auszuwerten hat, geht es um die Messungen
 
von Schwingungen,Rotationen,Gitterbewegungen von Beschichtungen auf Scheiben.
 
von Schwingungen,Rotationen,Gitterbewegungen von Beschichtungen auf Scheiben.
  +
Die Scheibe ist für Infrarotes Licht zum Teil durchlässig.
  +
Zwischen den 2 Mediengrenzen (Beschichtung-Scheibe)
  +
kommt es zu Inteferenzeffekten.
  +
Diese "Storfunktionen gilt es zu bestimmen, die Störfunktion zu fitten und die eigentlichen Auslenkungen herauszufinden "FILTERN".
  +
  +
  +
== Wie ==
  +
  +
Aufgrund diverser funktionen zum Extremwertbestimmen und zum Fitten wurde mit Matlab gearbeitet
  +
Auch die graphischen Ausgaben lassen sich sehen.
  +
Bsp:(schlechter Fit, ist ja auch nur ein Beispiel)
  +
[[Image:PlotBsp.jpg]]
  +
  +
  +
== CodeAuszug ==
  +
  +
----
  +
%%%%%% Datenvorbereitung für die Anzeige des zum Fitten genommenen Wertebereichs %%%%%%
  +
  +
  +
WavenumberFitbereich = Wavenumber(L1);
  +
AbsorbtionFitbereich = Absorbtion(L1);
  +
  +
for n = 1: length(eingegebenerBereich)
  +
Vergleichswerte = ones(1,length(WavenumberFitbereich))*eingegebenerBereich(n)
  +
a = abs(WavenumberFitbereich-Vergleichswerte') % findet letztendlich die Stelle der Wavenumber die NaN zu setzen ist(für die n-te Grenze)
  +
WavenumberFitbereich(find(a ==min(a))) = NaN
  +
AbsorbtionFitbereich(find(a ==min(a))) = NaN
  +
end
  +
  +
WavenumberFitbereich %die Schleife hat hier zu Folge, dass der Graph nicht durchgezeichnet wird
  +
AbsorbtionFitbereich
  +
  +
  +
  +
  +
  +
%%%%%%%%%%%%%%%%%%%%%% Der erste Plot %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  +
figure(2)
  +
  +
subplot(2,1,1);plot(Wavenumber,Absorbtion);
  +
hold on
  +
plot(Wavenumber,stoerfunktion,'k');
  +
plot(WavenumberFitbereich,AbsorbtionFitbereich,'r');
  +
plot(Spitzex,Spitzey,'c-o');
  +
xlabel('Wavenumber');
  +
ylabel('Absorbtion');
  +
title('Infrarotspektrum');
  +
legend('Daten','Gefittete Störfunktion','Gefitteter Bereich')
  +
axis([xmin-(xmax-xmin)*0.05,xmax+(xmax-xmin)*0.05,ymin-(ymax-ymin)*0.1,ymax+(ymax-ymin)*0.2])
  +
grid on
  +
text(Spitzex,Spitzey,num2str(Spitzey))
  +
  +
hold off
  +
  +
subplot(2,1,2);plot(Wavenumber,Absorbtion);
  +
hold on
  +
plot(Wavenumber,stoerfunktion,'k')
  +
plot(WavenumberFitbereich,AbsorbtionFitbereich,'r')
  +
xlabel('Wavenumber');
  +
ylabel('Absorbtion');
  +
title('Infrarotspektrum(ganzer Bereich)');
  +
hold off
  +
  +
  +
==Eingabe==
  +
Stellt noch mein größtes Problem da

Aktuelle Version vom 26. Juli 2007, 21:21 Uhr

Die Aufgabe

Bei mienem Projekt geht es um die Auswertung der Daten einer Aufnahme eiener FourierInfraRot-Spektroskopie. Bsp: Example.jpg

Im Bereich zwischen 2000 und 3000 ist eigentlich nicht mit Resonanz zu Rechnen, woher kommen dann aber die Auslenkungen? Bei den Daten die das Programm auszuwerten hat, geht es um die Messungen von Schwingungen,Rotationen,Gitterbewegungen von Beschichtungen auf Scheiben. Die Scheibe ist für Infrarotes Licht zum Teil durchlässig. Zwischen den 2 Mediengrenzen (Beschichtung-Scheibe) kommt es zu Inteferenzeffekten. Diese "Storfunktionen gilt es zu bestimmen, die Störfunktion zu fitten und die eigentlichen Auslenkungen herauszufinden "FILTERN".


Wie

Aufgrund diverser funktionen zum Extremwertbestimmen und zum Fitten wurde mit Matlab gearbeitet Auch die graphischen Ausgaben lassen sich sehen. Bsp:(schlechter Fit, ist ja auch nur ein Beispiel) PlotBsp.jpg


CodeAuszug


%%%%%% Datenvorbereitung für die Anzeige des zum Fitten genommenen Wertebereichs %%%%%%


WavenumberFitbereich = Wavenumber(L1); AbsorbtionFitbereich = Absorbtion(L1);

for n = 1: length(eingegebenerBereich)

   Vergleichswerte = ones(1,length(WavenumberFitbereich))*eingegebenerBereich(n)  
   a = abs(WavenumberFitbereich-Vergleichswerte')   % findet letztendlich die Stelle der Wavenumber die NaN zu setzen ist(für die n-te Grenze)
   WavenumberFitbereich(find(a ==min(a))) = NaN
   AbsorbtionFitbereich(find(a ==min(a))) = NaN

end

WavenumberFitbereich %die Schleife hat hier zu Folge, dass der Graph nicht durchgezeichnet wird AbsorbtionFitbereich



%%%%%%%%%%%%%%%%%%%%%% Der erste Plot %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% figure(2)

subplot(2,1,1);plot(Wavenumber,Absorbtion); hold on plot(Wavenumber,stoerfunktion,'k'); plot(WavenumberFitbereich,AbsorbtionFitbereich,'r'); plot(Spitzex,Spitzey,'c-o'); xlabel('Wavenumber'); ylabel('Absorbtion'); title('Infrarotspektrum'); legend('Daten','Gefittete Störfunktion','Gefitteter Bereich') axis([xmin-(xmax-xmin)*0.05,xmax+(xmax-xmin)*0.05,ymin-(ymax-ymin)*0.1,ymax+(ymax-ymin)*0.2]) grid on text(Spitzex,Spitzey,num2str(Spitzey))

hold off

subplot(2,1,2);plot(Wavenumber,Absorbtion); hold on plot(Wavenumber,stoerfunktion,'k') plot(WavenumberFitbereich,AbsorbtionFitbereich,'r') xlabel('Wavenumber'); ylabel('Absorbtion'); title('Infrarotspektrum(ganzer Bereich)'); hold off


Eingabe

Stellt noch mein größtes Problem da