%%Skript zur Messdatendarstellung des KLS. 

clear all
clc

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Daten anfordern und einlesen

%Alter Variant: Exceldatei einlesen
%[num, raw]=xlsread('a-raster_24.xlsx');
%Spalten definieren (Zeit t und Widerstandssignal r0 basieren auf num. Ansicht)
%t=num(:,1);
%r0=num(:,2);

%Neue Variante: Datei automatisiert einlesen
[t, r0] = importSig('raster_25.csv');

%Graph erstellen, Kontrollmöglichkeit um zu vergleichen ob korrekt
%eingelesen (vgl. mit Screenshot der Messung)
plot(t, r0, "k:")
legend({'Ursprüngliches Signal r0'}, 'location', 'northeast')

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Daten aufbereiten und passend visualisieren / analysieren (Filtern)


%Trend aus der Funktion nehmen; MACHT EVTL NICHT SO SINN?
%r1=detrend(r0);
%hold on
%plot(t,r1,'g');
%legend({'Ursprüngliches Signal r0', 'nach Detrending'}, 'location', 'northwest')
%xlabel('Zeit (s)'); ylabel('Spannung(mV)');
%grid on;
%hold off

%Low Pass Filter (Filter der nur kleine Frequenzen berücksichtigt)
%Mit Hilfe des Filter Designers
load low.mat
r2=filter(low,r0);

%Ausgabe der neuen gefilterten Werte, im Vgl zu den Alten als Diagramm
%plot(t, r0, "k:")
%hold on
%plot(t,r2,'r');
%legend({'Ursprüngliches Signal r0', 'nach Low-Pass Filter'}, 'location', 'northeast')
%xlabel('Zeit (s)'); ylabel('Spannung(mV)');
%grid on;
%hold off

%Verzögerung des Filters als Signal kompensieren
r3 = filtfilt(low.sosMatrix, low.Scalevalues, r0);

%Darstellen des urspr. Signals r0, des Low-Pass gefilterten Signals r2 und
%des verschobenen,lowpassgefilterten Signals r3 in einer Graphik
plot(t, r0, "k:")
hold on
plot(t,r2,'c');
hold on 
%r3 dicker in Grpahik darstellen (da ausschlaggebener Wert)
p = plot(t, r3, 'm')
p.LineWidth=2;
%Legende der Endgraphik anlegen
legend({'Ursprüngliches Signal r0', 'LP, Verzögert', 'LP, Nicht Verzögert'}, 'location', 'northeast')
xlabel('Zeit (s)'); ylabel('Spannung(mV)');
grid on;
hold off
saveas(gcf,'r25.jpg')

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Auffällige Daten detektieren (detect disorted signals)
