WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Änderung der Driver_Function verzögern

 

iness
Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 09.09.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2014, 14:49     Titel: Änderung der Driver_Function verzögern
  Antworten mit Zitat      
Hallo zusammen,
da untere Signal ist eine Herzrate (Eingangssignal, das in einem Tierversuch gemessen wurde) und das obere ist eine Driver_Function, das 1/HR als "Periode" hat. Das Problem tritt immer bei einer Änderung von der HR. Idee ist die Änderung von der HR irgendwie zu speichern, und immer erst in der nächsten "Periode" der Driver_Function einzusetzen. Dafür habe ich ein Triggered Subsystem benutzt, das die HR durchlässt, erst wenn die Driver Function steigend ist, bzw. am Anfang einer neue "Periode". Die Driver Funtion sieht aber irgendwie immer noch nicht sinnvoll aus (die Änderung wird zwar erst in der nächsten Zeitspanne übernommen, aber das Signal geht nicht bis 0 ):/
Anbei ist ein Screenshot von dem Modell, der die Driver Function ausrechnen soll und von dem Scope.
Auf schnelle Antworten werde ich mich freuen Smile

modell.png
 Beschreibung:

Download
 Dateiname:  modell.png
 Dateigröße:  36.41 KB
 Heruntergeladen:  493 mal
stand.png
 Beschreibung:

Download
 Dateiname:  stand.png
 Dateigröße:  31.41 KB
 Heruntergeladen:  486 mal
Private Nachricht senden Benutzer-Profile anzeigen


Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2014, 15:39     Titel:
  Antworten mit Zitat      
Zum Verständnis: Du willst aus der gemessenen Herzrate ein Signal erzeugen, das Du Driver_Function nennst, richtig?

Welche Form soll Driver_Function denn haben? Eine Rechteckimpulsfolge? Oder soll Driver_Function ein kontinuierlicher Wert mit der aktuellen Herzrate sein?

Die Mesreihe sieht für mich irgendwie ziemlich ungesund für eine Herzrate aus - zwischendurch ist die ja auch mal null... Ich würde eher sowas hier erwarten (Unterschrift einfach ignorieren :))
.

Oder vielleicht auch sowas:
Private Nachricht senden Benutzer-Profile anzeigen
 
iness
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 09.09.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2014, 15:50     Titel:
  Antworten mit Zitat      
Danke für die schnelle Antwort Smile
Die Driver Function , soll eine Funktion mit einer Amplitude zwischen 0 und 1 sein und eine Periodendauer von 1/Herzrate haben sein. Ziel ist es, dass wenn die Herzrate sich während einer Periodendauer der DRiver_Funktion ändert, dass die Änderung nicht sofort übernommen wird damit das Sägezahnsignal sinnvoll aussieht (von 1 bis 0) Smile
Die HR (SIgnal im dritten Kasten ) ist auf jedenfall sinnvoll, ist aber diskretisiert Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2014, 16:13     Titel:
  Antworten mit Zitat      
Im Blockschaltbild geht die Herzrate vom Inputport beim Scope ganz oben rein - das ist etwas verwirrend...

Und Du willst sicherlich ein Signal mit einer sich ändernden Periodendauer haben und nicht ein Signal mit einer festen Periodendauer, das länger angeschaltet ist, wenn die Herzrate groß ist und kürzer angeschaltet ist, wenn die Herzrate klein ist? Das wäre nämlich ziemlich einfach umsetzbar und ist auch recht gebräuchlich, so dass eine gewisse Chance besteht, dass Du eigentlich sowas haben willst. :)

Letztendlich ließe sich aber in beiden Fällen eine Änderung des Ausgangs während einer Periode verhindern, wenn Du ein Sample-and-Hold-Glied (S&H) einbaust. Bei einer veränderlicher Periodendauer bräuchte man eins mit einer variablen Abtastrate bzw. eins mit einem Steuereingang. Da müsste dann der Block, der das Driver-Signal macht dem S&H Bescheid sagen, dass es einen neuen Wert liefern soll, sobald eine Periode um ist. Dann bleibt der Eingang des Driver-Signal-Erzeugers wieder so lange gleich, bis die nächste Periode um ist.
Private Nachricht senden Benutzer-Profile anzeigen
 
iness
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 09.09.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2014, 16:21     Titel:
  Antworten mit Zitat      
Die HR wird in einer oberen Ebene diskretisiert .
Ich möchte sicherlich ein Signal mit einer sich ändernden Periodendauer (also 1/HR) haben. Ich probiere das mit S&H und sag bescheid Smile Bitte nicht weg gehen Very Happy
Private Nachricht senden Benutzer-Profile anzeigen
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2014, 16:29     Titel:
  Antworten mit Zitat      
Und es soll ein Sägezahn rauskommen? Richtig?

Das könnte vielleicht auch ganz einfach mit einem selbst zurücksetzendem Integrator gehen, der einfach 1/Herzrate aufintegriert und an einem Anschlag (hier: 1) zurückgesetzt wird. Das Zurücksetz-Signal könntest Du dann auch direkt auf Dein S&H (scheint es als fertigen Block in der DSP-Toolbox zu geben) geben. Dann wird am Ende jeder Sägezahnperiode eine neue Herzrate auf den Integrator durchgestellt und so lange aufintegriert, bis er den Endwert erreicht hat.
Private Nachricht senden Benutzer-Profile anzeigen
 
iness
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 09.09.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2014, 16:52     Titel:
  Antworten mit Zitat      
ja genau.. es sollte ein Sägezahn rauskommen Smile
das hat nicht so gut geklappt. Würdest du bitte (falls das möglich ist) ein screen shot von deiner vorgeschlagenen Idee machen? ^ ^ ich arbeite seint gestern dran und komme irgendwie nicht weiter. Das muss ich aber morgen früh abgeben Sad
Danke im Voraus
Private Nachricht senden Benutzer-Profile anzeigen
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2014, 17:18     Titel:
  Antworten mit Zitat      
Es war ein bisschen komplizierter, als gedacht, aber so sollte es klappen:



Es gibt eine kleine Einschränkung: Das Eingangssignal darf nicht null sein, sonst integriert man unendlich lang 0 auf und es kommt kein reset-Signal. Aber wenn das Eingangssignal 0 würde, hätte das Tier eine unendliche Herzfrequenz gehabt - das ist wohl eher auszuschließen :)

Die Anfangsbedingung (IC) braucht man, damit der Schalter im ersten Zeitpunkt das Eingangssignal durchreicht, sonst integriert man zu Beginn erst mal unendlich lange null auf und nichts passiert. Es kann sein, dass das S&H, wenn man es so baut im Bereich von einem Rechenschritt zwei direkt aufeinanderfolgende Eingangsswerte durchreicht, aber das sollte bei hinreichend kleinem Abtastschritt kein Problem sein.

saegezahndings.PNG
 Beschreibung:

Download
 Dateiname:  saegezahndings.PNG
 Dateigröße:  39.38 KB
 Heruntergeladen:  503 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
iness
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 09.09.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2014, 17:50     Titel:
  Antworten mit Zitat      
Vielen vielen Dank für deine Mühe !
aber so bekommt man eine Gerade als OUtput O..o
Private Nachricht senden Benutzer-Profile anzeigen
 
iness
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 09.09.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2014, 18:06     Titel:
  Antworten mit Zitat      
Okey! Die AUfgabe jetzt ist wirklich nur dafür zu sorgen, dass das Sägezahnsignal vollständig läuft, also bis zu Null geht, bevor die neue HR übernommen wird Wink sonst bin ich mit meiner Schaltung mehr als zufrieden ^^
Private Nachricht senden Benutzer-Profile anzeigen
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2014, 18:11     Titel:
  Antworten mit Zitat      
iness hat Folgendes geschrieben:
Okey! Die AUfgabe jetzt ist wirklich nur dafür zu sorgen, dass das Sägezahnsignal vollständig läuft, also bis zu Null geht, bevor die neue HR übernommen wird ;)


Das sollte eigentlich auch jetzt schon der Fall sein... Funktioniert das mit dem Zurücksetzen jetzt? Also kommt schon was Sägezahnartiges raus?
Private Nachricht senden Benutzer-Profile anzeigen
 
iness
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 09.09.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2014, 18:13     Titel:
  Antworten mit Zitat      
nein leider nicht :/
deswegen versuche ich jetzt eher mit meiner Version rumzubasteln O.o
vll. geht es mit einem Delay ?
Private Nachricht senden Benutzer-Profile anzeigen
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2014, 18:18     Titel:
  Antworten mit Zitat      
Wenn das von mir nicht funktioniert, liegt es sehr wahrscheinlich daran, dass das Ding ganz zu Beginn einmal das Eingangssignal auf den Integrator durchreichen muss.

Hast Du den Switch auf die richtige Bedingung eingestellt? Die muss auf ~=0 stehen, sonst klappt es nicht. Bei dem IC-Block muss ein Wert ungleich 0 eingetragen sein, auch das ist wichtig. Und das Eingangssignal darf im ersten Rechenschritt nicht 0 sein. Wenn das alles berücksichtigt ist, sollte es eigentlich gehen.

Ein Delay verzögert Dein Signal nur im Gesamten, hält aber keinen Wert fest. Das S&H ist schon ziemlich genau das, was Du suchst...
Private Nachricht senden Benutzer-Profile anzeigen
 
iness
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 09.09.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2014, 18:58     Titel:
  Antworten mit Zitat      
Bin ich zu doof um eine Schaltung nach zu bilden ?

scope_mat.png
 Beschreibung:

Download
 Dateiname:  scope_mat.png
 Dateigröße:  105.84 KB
 Heruntergeladen:  466 mal
schaltung.png
 Beschreibung:

Download
 Dateiname:  schaltung.png
 Dateigröße:  89.61 KB
 Heruntergeladen:  457 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2014, 19:02     Titel:
  Antworten mit Zitat      
iness hat Folgendes geschrieben:
Bin ich zu doof um eine Schaltung nach zu bilden ?


Sorry, dass ich es so drastisch formulieren muss, aber: ja ;)

Du musst den Vergleichsblock auf >=1 setzen, nicht auf <=1. Der Integrator integriert ja nach oben und soll zurückgesetzt werden, wenn er den Wert 1 erreicht hat... Dann sollte es aber klappen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.