Forum: Digitale Signalverarbeitung / DSP / Machine Learning Simulink, Treppen-Kurve glätten


von hdpois (Gast)


Lesenswert?

Hallo zusammen,

ich habe ein Problem und bin mit meinen bisherigen Versuchen nicht zur 
Lösung gekommen und hoffe daher hier Hilfe zu bekommen. Es geht um 
folgendes: Eine Position wird in ein Simulink-Modell eingelesen. 
Allerdings ist diese veränderliche Position eine Treppen-Kurve. Dabei 
wird über drei Sekunden ein Weg von 154mm zurückgelegt bei 1163 
Inkrementen. Es sind also 1163 Stufen mit einer Breite von 3s/1163 und 
einer Höhe von 154mm/1163. Ich möchte diese Treppenfunktion nun 
glätten/linearisieren/interpolieren/mitteln, wie auch immer man es 
nennen möchte. Es müssen also die Sprünge mit unendlichem Anstieg 
verschwinden.

Ich hab auch schon einige Lösungen im Netz dazu gefunden gehabt, dies 
waren aber meist selbst erzeugte Graphen/Kurven in Matlab. Bei mir 
werden allerdings „on the fly“ die Messwerte eingelesen und scheint wohl 
ein gewisses Problem darzustellen. Bitte helft mir, vielleicht ist die 
Lösung ja auch ganz trivial und ich seh den Wald vor Bäumen nicht.

PS: Die Lösung muss mit Hilfe von Simulink-Blöcken realisierbar sein, da 
das Modell auf eine externe Hardware geladen wird.

von Paulchen Panther (Gast)


Lesenswert?

Hallo,

Bin mir nicht sicher, ob ich das Problem richtig verstanden habe: Wenn 
die externe Hardware wertdiskret ist, sprich mit digitalen Signalen 
arbeitet, wirst du immer eine Steigung von unendlich haben. Wenn sich 
der Wert von 15 auf 16 ändert, kann er keine Zwischenwerte von 15.1, 
15.2, 15.3 etc annehmen.

Gruß
PP

von hdpois (Gast)


Lesenswert?

Hallo,

genauso ist es, die Position kommt von einem Encoder und bei jedem 
Inkrement steigt der Messwert eben um eine feste Länge. Es gibt keine 
Werte dazwischen, daher muss ich diese daraus resutlierende 
Treppen-Kurve auch glätten/mitteln.

von Tippgeber (Gast)


Lesenswert?

Drei Punkte einlesen, quadratisch e Funktin durch und beliebig abtaste. 
Quad-Funktion mit jedem neuen Wert aktualisieren.

von hdpois (Gast)


Lesenswert?

So etwas hatte ich bereits probiert, gelang mir aber nicht. Ich tue mich 
schon schwer drei Werte in einem Sample zu bekommen. Ich müsste ja einen 
Wert über einen gewissen Zeitraum zwischenspeichern um ihn mit den 
aktuellen zu vergleichen. Memory-Blöcke erhöhen die Berechnungszeit zu 
sehr und Transport/Time-Delay funktionieren irgendwie nicht so wie ich 
möchte. Step-Szize liegt bei 75e-6 Sekunden für ein Sample.

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
Noch kein Account? Hier anmelden.