Transfer Function in Simulink

I have created a model for muscle stimulus in Simulink which takes a stimulus (S) and inputs it through a transfer function block, 1/(tau*s + 1) and outputs muscle activation (A).
S --> 1/(tau*s+1) --> A
I am trying to implement a model where tau = 0.030s when A is rising and tau = 0.08s when A is falling.
How can I vary tau within the Simulink model of the transfer function with my two parameters?

回答 (3 件)

Orion
Orion 2014 年 10 月 20 日

0 投票

Hi,
you can try something like
you may need to add a second switch for the falling case.

1 件のコメント

Samson
Samson 2014 年 10 月 20 日
Doesn't this already take care of the falling case where if output A is not increasing, the switch will change from T to F?

サインインしてコメントする。

Orion
Orion 2014 年 10 月 20 日

0 投票

Actually, the simple model I made just takes care of the detect increase. it computes :
if U>U/Z % if current value > precedent value
A = fcn(0.03)
else % all other case : decrease OR S is constant
A = fcn(0.08)
end
So, as you see if S becomes constant, instantly, the function with 0.08 is used.
it depends on what you need to compute, but you may have to implement
if U>U/Z % if current value > precedent value
A = fcn(0.03)
elseif U<U/Z % if current value < precedent value
A = fcn(0.08)
else % all other case : S is constant
A = last_value_of_A;
end
and in simulink, you need 2 switch to do that.

1 件のコメント

Samson
Samson 2014 年 10 月 21 日
Hmm, would you mind showing me how to implement the second switch? I keep running into issues with having multiple signals going into A.

サインインしてコメントする。

Orion
Orion 2014 年 10 月 21 日

0 投票

here is a model which computes with 2 swicth. Note : i made a change using S instead of A to detect increase and decrease (I don't think it can really work using the ouput A)

カテゴリ

ヘルプ センター および File ExchangeGeneral Applications についてさらに検索

質問済み:

2014 年 10 月 19 日

回答済み:

2014 年 10 月 21 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by