%   .txt-Datei in Matlab einlesen ( Matrixform )

rohdaten1=dlmread('01_white_20kmh_1\23.txt', '\t', 23, 0);

%   Aufteilen in Zeit- u. Wertevektor

time1=rohdaten1(:,1);
soundpressurelevel1=(rohdaten1(:,2))';

      
%   FFT für Fahrt 1 mit Plot

t11=time1;
x11=soundpressurelevel1';

T11=diff(t11(1:2));
fs11=1/T11;
N11=length(x11);

fn=0.5*fs11;
df=fs11/N11;

f11 = 0:df:fn;

H11=fft(x11);
% Betrag
H11_pos0 = abs(H11(1:(N11/2)+1));
% Phase
phase = angle(H11);

% Skalierung
H11_pos01=[H11_pos0(1)/N11; H11_pos0(2:(N11/2))/(N11/2); H11_pos0(end)/N11];

%   A-Bewertung im Frequenzbereich
Ra=( (12200^2.*f11.^4)/((f11.^2+20.6^2) .* (f11.^2+12200^2) .* (sqrt(f11.^2+107.7^2)) .* (sqrt(f11.^2+737.9^2))) );
H11A=H11_pos01 .* Ra';

% Für Rücktransfomration
% A-Bewertung ohne Skalierung
H12A = H11_pos0 * Ra';
% beidseitiges Spektrum für ifft wieder zusammensetzen 0...fn [Hz] -fn...-df [Hz]
ReA = [H12A;H12A(end:-1:2)];
% Umrechnung von Polar- in karthes. Koordinaten
Re = ReA .* cos(phase);
Im = ReA .* sin(phase);

% complex Re + j im
HA_ifft = complex(Re,Im);
% Rücktransformation in den Zeitbereich
soundpressurelevel1_A = ifft(HA_ifft);

%   Plotten der Rohdaten

a = figure ('Name','Rohdaten Fahrt 1 im Vergleich','NumberTitle','off');
    subplot ( 211 ) ;
        plot ( t11 , soundpressurelevel1 , 'r' );
        xlabel ( 'Zeit [s]' ) ; ylabel ( 'Schalldruck [Pa]' ) ; title( 'Rohsignal' ) ;
        grid on ;
        
    subplot(212);
        plot ( t11 , soundpressurelevel1 , 'r' ) ;
        grid on ; hold on ;
        plot ( t11 , soundpressurelevel1_A , 'b' ) ;
        hold off;

b=figure('Name','FFT der 1. Fahrt','NumberTitle','off');
    subplot(3,1,1);
        semilogx(f11,H11_pos01,'r');                  
        xlabel('Frequenz[Hz]'); title('Rohdaten Spektrum');
        grid on; hold on;
        
    subplot(3,1,3);
        semilogx(f11,H11_pos01,'r');
        grid on; hold on;
        



figure(b);
    subplot(3,1,2);
        semilogx(f11,H11A,'b');
        xlabel('Frequenz [Hz]'); title('Rohdaten Spektrum A-Bewertet');
        grid on; hold off;
        
    subplot(3,1,3);
        semilogx(f11,H11A,'b');
        xlabel('Frequenz [Hz]'); title('Vergleich der Spektren');
        grid on, hold off,
        legend('Spektrum','Spektrum A-Bewertet',0);
        