function [Kennlinie,list_sort_kennlinien] = load_and_sort(limits)

% Kennlinien-Daten aus Limits in Struktur laden
m = 1;
l = 1;
for i=1:length(limits)
    % Nullen entfernen und zwischenspeichern
    temp_freq = [limits{1,i}(limits{1,i}(:,1)>0,1)];
    temp_dbV = [limits{1,i}(limits{1,i}(:,2)>0,2)];
    % gleiche y-Werte in EINE Kennlinie geladen
    for j=1:1:length(temp_dbV)-1
        if temp_dbV(j) ~= temp_dbV(j+1)
            % nicht gleich -> neue Kennlinie
            m = m + 1;
            l = 1;            
        else
            Kennlinie(m).name            = ['Limit', num2str(m)];
            Kennlinie(m).frequenz(l:l+1) = temp_freq(j:j+1,1); 
            Kennlinie(m).dbV(l:l+1)      = temp_dbV(j:j+1,1);
            l = l + 1;
        end
    end
    m = m + 1;
    l = 1;
end

% Anzahl der Kennlinien ermitteln
anzahl_k = length({Kennlinie.name});

% Werte innerhalb der Kennlinie interpolieren
for i=1:anzahl_k
    interp_freq = interp1([1:length(Kennlinie(i).frequenz)],Kennlinie(i).frequenz,[1:0.01:length(Kennlinie(i).frequenz)]);
    Kennlinie(i).frequenz = interp_freq; 
    Kennlinie(i).dbV(1:length(interp_freq)) = Kennlinie(i).dbV(1);
end

% Frequenzwerte jeder Kennlinie aufsteigend sortieren
for i=1:anzahl_k
    [Kennlinie(i).frequenz,index] = sort(Kennlinie(i).frequenz);
    % dbV Werte entsprechend der Sortierung der Frequenzen sortieren
    Kennlinie(i).dbV              = Kennlinie(i).dbV(index);
end

% Kennlinien untereinander nach dem 1. Frequenzwert aufsteigend sortieren
min_freq_1 = zeros(anzahl_k,1);
temp_dbV = zeros(1,anzahl_k);
for i=1:anzahl_k
    min_freq_1(i) = Kennlinie(i).frequenz(1);
    temp_dbV(i) = Kennlinie(i).dbV(1);
end
% erste Frequenzwerte sortieren
[freq_1_sort,list_sort_kennlinien] = sort(min_freq_1);
% in list_sort_kennlinien steht nun die Reihenfolge der sortierten
% Kennlinien nach Frequenzen aufsteigend sortieren

% wird momentan nicht benötigt..daher ist Zeile 57 auskommentiert
%Kennlinie = Kennlinie(list_sort_kennlinien);


% Wird zur Erkennung identischer (doppelter) Kennlinien benötigt
% wird momentan nicht benötigt..daher ist Zeile 73 auskommentiert
temp_dbV = zeros(1,anzahl_k);
for i=1:anzahl_k
    temp_dbV(i) = Kennlinie(i).dbV(1);
end

% dbV Werte sortieren
[temp_dbV,index] = sort(temp_dbV);  
% doppelte Kennlinien entfernen
for i=1:anzahl_k-1
    if temp_dbV(i) == temp_dbV(i+1)
        % Kennlinien haben den gleichen dbV Wert und überschneiden sich im
        % Frequenzbereich
        if (Kennlinie(index(i)).frequenz(1) <= Kennlinie(index(i+1)).frequenz(1)) || (Kennlinie(index(i)).frequenz(end) >= Kennlinie(index(i+1)).frequenz(end))
            %list_sort_kennlinien(index(i)) = [];
        end
    end
end