Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Bücher:

Studierende:
weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Diskreten Filter in Simulink auslegen

 

Stephanie2

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.10.2015, 16:33     Titel: Diskreten Filter in Simulink auslegen
  Antworten mit Zitat      
Hi,

ich habe ein wahrscheinlich relativ einfaches Problem (ich finde nur leider online keine "Anleitung" keine Schrittanweisung oder Ähnliches): Ich habe ein hochgradig nichtlineares System und möchte jetzt mittels inversem System (angenähert) Störungen beobachten. Dazu habe ich im System zweimal einen diskreten Ableitungsblock (das ganze kann vereinfacht werden in ein Masse-Dämpfer-System mit kompliziertem Reibungsmodell).
Im Normalfall schau ich mir die Frequenzantwort an, such mir die gewünschte Grenzfrequenz, transformier das mit c2d und fertig. Das klappt hier aber gar nicht. Entweder ist das System dann mordsmäßig langsam oder ich bekomm das Rauschen nicht heraus - kann mir jemand helfen wie ich hier vorgehen kann?
(Im Anhang ein Bild mit Referenz und Systemantwort, sowie die frequenztransformierte -fft- Systemantwort.) 

systemantwort.png
 Beschreibung:

Download
 Dateiname:  systemantwort.png
 Dateigröße:  15.17 KB
 Heruntergeladen:  212 mal
frequenantwort.png
 Beschreibung:

Download
 Dateiname:  frequenantwort.png
 Dateigröße:  14.79 KB
 Heruntergeladen:  220 mal


Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.10.2015, 20:38     Titel:
  Antworten mit Zitat      
Hast Du das schon mal erfolgreich so angewendet? Verstehe noch nicht ganz, was genau Du vor hast. Mit Rauschen behaftete Signale abzuleiten klingt aber generell nicht unbedingt nach etwas, was man tun möchte...

Ist es richtig, dass Du das Systemverhalten im zweiten Diagramm bis 0,5mHz aufgetragen hast? Das würde bedeuten, dass Du eine Abtastrate von 10000 Sekunden (etwa 3 Stunden) verwendest. Macht das Sinn? 
Private Nachricht senden Benutzer-Profile anzeigen
 
Stephanie2

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.10.2015, 22:53     Titel: weitere Erklärung
  Antworten mit Zitat      
Also Sampling-Time ist 1/1000 (vorgegeben durch den Roboter).

Das Signal das aus dem Roboter kommt ist die Position, um damit das Reibungsmodell zu "füttern" brauche ich Geschwindigkeit und für das inverse Modell brauche ich die Beschleunigung, daher muss ich ableiten. Das mache ich mit jeweils einem Discrete Derivative Block aus Simulink. Allerdings bekomme ich durch die Ableitung das verrauschte Signal wie im Bild zu sehen.

Mir geht es aber eher um die generelle Vorgangsweise, wie ich systematisch ein diskretes Filter aufbauen kann, bzw. wie ich aus dem verrauschten Signal die hohen Frequenzen herauslesen kann, die ich weg haben möchte.
Bzw. auch ganz allgemein: wie wird das Filter schneller (bzw. die Signalverarbeitung) und wie steiler/aggresiver. Ich habe schon ein bisschen mit einfachen Signalen und Filtern gespielt und einiges heraus gefunden aber ich dachte, da gibt es sicher ein systematisches Verfahren - wie man die Pole des Filters setzt oder eben über die Frequenztransformierte des Signals eben SYSTEMATISCH ohne lediglich herum zu probieren auf sinnvolle Werte kommt. Oder eine Faustregel mit der man mal Startwerte bekommt - lieg ich da falsch? 
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.10.2015, 14:46     Titel:
  Antworten mit Zitat      
Falls Du die signal processing toolbox hast, gibt es darin ein Programm namens fdatool . Da kannst Du Deine Filterparameter eingeben und es kommt das raus, was Du gefordert hast.

Hast Du ne Chance, noch andere Signale aus Deinem Roboter zu bekommen? Der misst ja sicherlich auch die Geschwindigkeit und womöglich sogar die Beschleunigung. Wäre deutlich robuster, als zwei mal ableiten... 
Private Nachricht senden Benutzer-Profile anzeigen
 
Stephanie2

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.10.2015, 16:58     Titel:
  Antworten mit Zitat      
Danke, ich hab die Toolbox, kenne aber das Tool nicht - ich werde mich damit mal auseinander setzen - Danke für den Tip!

Leider nein, keine Geschwindigkeit, keine Beschleunigung, es geht um einen Roboter für Mikrochrirugie, der relativ wenig Sensoren hat (Gewicht, Platz, usw.). Es wird nur die Gelenksposition jeweils gemessen. 
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.10.2015, 22:18     Titel:
  Antworten mit Zitat      
Trotzdem solltest Du vorher nochmal mit der Abtastrate Übersicht bekommen. Zumindest das Spektrum im ersten Posting deutet darauf hin, dass da irgendwas verrutscht ist... 
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.



goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2018 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.