Hallo zusammen, für ein Uniprojekt musste ich die Profildicke entlang einer Linie von Beschichtungen auf einer rauen Oberlfäche messen. Anbei ein Plot der Messung. Die x-Achse stellt die abgefahrene Linie dar. Die y-Achse die Schichtdicke. Innerhalb dieser 25000µm langen Linie sind zwei Kanten wo eine Schicht anfängt und aufhört. Dazwischen ist die Schicht zwischen 1µm und 3µm dick. Rein von der Profilaufnahme kann man nicht erkennen wo die Schicht anfängt und aufhört. Idealerweise würde ich gerne durch ein geeignetes digitales Filter alle Frequenzen rausfiltern, die nicht durch den Sprung dieser Beschichtung entstehen und am Ende an zwei Stellen einen Peak sehen an dem die Schicht plötzlich (also hochfrequent) um 1-3µm zunimmt und pötzlich um 1-3µm abnimmt. Dazu bräuchte ich wahrscheinlich ein Hochpassfilter oder ein Bandpassfilter. Jetzt wäre meine Frage wie und mit welchen Hilfsmitteln ich das umsetzen kann. Leider habe ich softwaretechnisch wenig Erfahrung. Vlt. hat jemand auch zufällig ein passendes Beispiel bereit (evtl. für Python oder Octave) oder evtl. sogar eine ganz andere Software. Bin um jeden Umsetzungratschlag oder jede Hilfe dankbar! Vielen Dank schon mal. PS. Anbei auch noch die Messdaten in CSV Format
Bert schrieb: > Die x-Achse stellt die abgefahrene Linie dar. Sieht tatsächlich sehr "abgefahren" aus :-) Wie man das macht? Fahrgeometrie und Fahrtempo bestimmen und damit herausbekommen, wie "steil" die Kante ist - also über wieviele Punkte sie sich verteilt. Dies in einen Filter einmodellieren, also faktisch eine Rampe. Das was du "Hochpass" nennst, kommt dadurch hinein, dass die Rampenkoeffizienten im Mittel auf Null normiert werden müssen. Und ja streng genommen ist es ein Bandpass, weil die Rampe die Höhen, die kein Nutzsignal sind, unterdrückt. Was an Koeffizienten rauskommt, sollte aussehen, wie ein tiefergelegter Sägezahn. Und am Ende braucht es wahrscheinlich noch einen Filter in umgekehrter Orientierung, der das Ende erkennt.
Könnte man mit irgendeinem Kurvenfitting etwas anfangen? Wenn die Funktion ableitbar ist, könnte man hier den Wendepunkt bestimmen, und vielleicht hilft die erste Ableitung der Funktion weiter?
Christoph db1uq K. schrieb: > Könnte man mit irgendeinem Kurvenfitting etwas anfangen? Die einmodellierte Kante ist praktisch ein fit, bei dem die zu findende Form fest ist, da bekannt und zudem die Gütefunktion, die man zum Optimieren bräuchte, permanent ausgegeben wird. Heraus kommt dann irgendwann ein peak, der das (ausreichen deutliche) Vorhandensein der Kante diagnostiziert. Um diesen Peak zu prozessieren nutzt man dann die Ableitungen, weil die Amplitude mitunter unbekannt ist. > vielleicht hilft die erste Ableitung der Funktion weiter? Faktisch ist der Kantenerkenner eine Ableitung, nur nutzt diese nicht rücksichtslos die zufällige Auflösung, die durch die Abtastung entsteht, indem sie Sample zu Sample vergleich, sondern die Distanz, die dem Problem eigen ist - hier eben die Kantensteigung.
Ich dachte, das kann man gaaanz einfach mit LibreOfficeCalc machen. Geht auch, aber mit ein paar Problemen. Vielleicht sollte man doch ein richtiges Mathematikprogramm benutzen. Erst mal kann eine csv-Datei natürlich keine Kommazahlen enthalten, sondern mit Dezimalpunkt. Der Import des deutschen LibreOffice will aber Komma. Dann stellt ich fest, dass die LibreOffice Hilfe nicht mehr funktioniert, seit mit dem Ubuntu-Update vom April der Firefox in der Snap-Version installiert wird. Der mag keine html-Hilfedateien die als Admin installiert wurden, was LibreOffice aber so macht. Es gibt einige Diskussionen dazu im Web, je nach Standpunkt mit Verfluchungen der Programmautoren. Ok, hier also ein Diagramm mit eingetragener Polynom-Fitfunktion dritter Ordnung. Noch als Text: f(x) = 7,40303448254372E-12 *x3 - 2,38277811534535E-07 *x2 + 0,00335098831964075 *x + 683,995827050309 Das ist die Fitfunktion, die ins Diagramm eingetragen wurde. Man kann die Formel auch in der Tabelle mit "LINEST" oder "RGP" berechnen lassen, RGP scheint der neuere Befehl zu sein, wird automatisch so korrigiert. Daraus müssten sich dann die Ableitungen berechnen und plotten lassen. (Den Versionssprung von 7.3 auf 7.4 hat Ubuntu noch nicht vollzogen, vielleicht auch daher die Unterschiede der Doku.)
Christoph db1uq K. schrieb: > Das ist die Fitfunktion, die ins Diagramm eingetragen wurde. Das geht mit Excel auch, aber dann ist es ja dem Programm überlassen, nach welchen Kriterien es fittet, z.B. "kleinste Quadrate". Du steckst auch willkürlich die Annahme hinein, dass die Krümmung, die die Funktion mitbringt, zufällt der entspricht, welche sich durch Verfahrgeschwindigkeit + Auflösung / Abtastung ergibt. Das ist ja nicht automatisch der Fall. Du hast jetzt optisch eine X3 genommen, aber eine 4 wäre sicher besser, weil diese die lokalen Krümmungen besser nachvollzieht. Eine zu grobe Funktion laboriert an dem Problem, dass sehr weit entfernte Stellen "mitbestimmmen", wie genau sie in einem Bereich trifft. Allein optisch würde ich schon wenigstens 3 Wendepunkte mehr erkennen, wenn ich das Fit mit dem Mittelwert des Originals vergleiche. Probiere mal eine 6. Eine 7 wäre gfs auch noch besser, aber eine 15 sehr wahrscheinlich nicht, weil sie zu sehr dem Rauschen folgt. Angenommen, die 7 würde passen - dann kommt jemand auf die Idee, fährt das Ding anders oder nichtlinear durch und man liegt wieder in der Wiese. Zudem kann das Polynom so ohne Weiteres nur in Ganzzahlen klettern. Der Filter ist im Rahmen der Auflösung aber an praktisch jede Kante anzupassen. Dasselbe Problem hat man mit Bildverarbeitungsfiltern: Kantenerkennung mit Sobel kann man haken, wenn man nur einfach stumpf von Pixel zu Pixel guckt.
:
Bearbeitet durch User
Christoph db1uq K. schrieb: > Ok, hier also ein Diagramm mit eingetragener Polynom-Fitfunktion dritter > Ordnung. Noch als Text: > f(x) = 7,40303448254372E-12 *x3 - 2,38277811534535E-07 *x2 + > 0,00335098831964075 *x + 683,995827050309 Und was lernen wir daraus über die Kantenlage? Genau gar nichts. Und in den Bereichen nahe 0 und um 12000 wird zudem die Kurvenform nicht getroffen. Bert schrieb: > Rein von der Profilaufnahme kann man nicht erkennen wo > die Schicht anfängt und aufhört. Also brauchst du ein Modell, dass auf Basis von Lage und Schichtcharakteristiken den Messvorgang modelliert (inkl. Sensorauflösung) und dann die Parameter variiert, bis es passt. Der Solver von LibreOffice ist dein Freund. Über den Spung in den Daten bei 800 solltest du dir allerdings vorher Gedanken machen (unsaubere Messbereichsumschaltung?)
Ich denke, am Ende soll eine Kurve herauskommen, die aus drei Geradenstücken besteht, die genau an den Schichtgrenzen abknicken. Das ist sicher nicht exakt möglich. Vielleicht könnte man ein paar Probestücke erst mit dem Profilmessgerät vermessen und dann durchsägen und optisch mit dem Mikroskop vermessen. Damit könnte man die Kurve dann kalibrieren. Selbst dann wäre das nur für sehr ähnliche Fälle richtig.
:
Bearbeitet durch User
Christoph db1uq K. schrieb: > Ich denke, am Ende soll eine Kurve herauskommen, die aus drei > Geradenstücken besteht, 3 Pro Knick, oder? Also Strecke 1, Steigung / Übergang, Strecke 2 und später wenn es wieder runter geht. Vor allem braucht man mal gute Messdaten! Erstens sind dort (Export-)fehler in den Dezimalstellen drin und ich sehe zweitens auch nur einen Knick, wenn ich es prozessiere. Offenbar ist das der Übergang in den erhabenen Bereich. > mit dem Mikroskop vermessen Sehr interessantes Stichwort. :-) Bei dem Thema kommt dann noch eine weitere Variable (und wenn es sehr stark vergrößert, eine zweite) ins Spiel die bei der Festlegung des Filters zu berücksichtigen / zu messen wäre. Wenn es ein 2D-Problem wäre, dann gibt es noch eine dritte :-) Da gehe ich aber aus gewissen Gründen aber nicht drauf ein, wie man dafür welchen Filter baut. Für hier fände ich es am Einfachsten, die Position der Kante zu bestimmen und mit den Messdaten zu korrelieren.
>Mikroskop
Das Problem jeder zerstörungsfreien Prüfung. Aufsägen und nachschauen
ist immer genauer.
Man arbeitet mit Testkörpern aus möglichst demselben Material, in das
Teststellen eingebaut sind, z.B. statt "irgendeinem" Riss ein schmaler
Sägeschnitt, den man optisch vermessen kann. Daher auch mein Vorschlag
mit den Probekörpern.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.