das mit den messzyklen ist eine super idee, nur wird bei einer mittelwertbildung, wenn man den arithmetischen mittelwert nimmt, wie damaltor schon gesagt hat zuviel speicher verbraucht.
ich habe das jetzt so gelöst, mit einem sog. IIR-Filter, hier mal der code
Code:
LineData(data1);
if(i>0){
filterL[1]=(1-a)*data1[0]+a*filterL[0];
filterR[1]=(1-a)*data1[1]+a*filterR[0];
}
else{filterL[1]=data1[0];
filterR[1]=data1[0];}
i=1;
SerWrite("\n\rMittelwert links: ",22);
PrintInt(filterL[1]);
SerWrite(" Mittelwert rechts ",29);
PrintInt(filterR[1]);
filterL[0]=filterL[1];
filterR[0]=filterR[1];
es wird also ein mittelwert gebildet, der zur berechnung nur jeweils den vorherigen messwert benötigt, die variable a entspricht der gewichtung...
somit braucht man nicht soviel speicher...damit klappt das erkennen einer verlorenen linie ganz gut
Lesezeichen