|
|
Änderung der Driver_Function verzögern |
|
iness |
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 09.09.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.09.2014, 14:49
Titel: Änderung der Driver_Function verzögern
|
|
|
|
|
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
Beschreibung: |
|
Download |
Dateiname: |
modell.png |
Dateigröße: |
36.41 KB |
Heruntergeladen: |
493 mal |
Beschreibung: |
|
Download |
Dateiname: |
stand.png |
Dateigröße: |
31.41 KB |
Heruntergeladen: |
486 mal |
|
|
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.09.2014, 15:39
Titel:
|
|
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:
|
|
|
iness |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 09.09.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.09.2014, 15:50
Titel:
|
|
Danke für die schnelle Antwort
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)
Die HR (SIgnal im dritten Kasten ) ist auf jedenfall sinnvoll, ist aber diskretisiert
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.09.2014, 16:13
Titel:
|
|
|
|
|
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.
|
|
|
iness |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 09.09.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.09.2014, 16:21
Titel:
|
|
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 Bitte nicht weg gehen
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.09.2014, 16:29
Titel:
|
|
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.
|
|
|
iness |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 09.09.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.09.2014, 16:52
Titel:
|
|
ja genau.. es sollte ein Sägezahn rauskommen
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
Danke im Voraus
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.09.2014, 17:18
Titel:
|
|
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.
Beschreibung: |
|
Download |
Dateiname: |
saegezahndings.PNG |
Dateigröße: |
39.38 KB |
Heruntergeladen: |
503 mal |
|
|
|
iness |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 09.09.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.09.2014, 17:50
Titel:
|
|
Vielen vielen Dank für deine Mühe !
aber so bekommt man eine Gerade als OUtput O..o
|
|
|
iness |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 09.09.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.09.2014, 18:06
Titel:
|
|
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 sonst bin ich mit meiner Schaltung mehr als zufrieden ^^
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.09.2014, 18:11
Titel:
|
|
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?
|
|
|
iness |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 09.09.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.09.2014, 18:13
Titel:
|
|
nein leider nicht :/
deswegen versuche ich jetzt eher mit meiner Version rumzubasteln O.o
vll. geht es mit einem Delay ?
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.09.2014, 18:18
Titel:
|
|
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...
|
|
|
iness |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 09.09.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.09.2014, 18:58
Titel:
|
|
Bin ich zu doof um eine Schaltung nach zu bilden ?
Beschreibung: |
|
Download |
Dateiname: |
scope_mat.png |
Dateigröße: |
105.84 KB |
Heruntergeladen: |
466 mal |
Beschreibung: |
|
Download |
Dateiname: |
schaltung.png |
Dateigröße: |
89.61 KB |
Heruntergeladen: |
457 mal |
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.09.2014, 19:02
Titel:
|
|
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.
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|