ilaplace gives time limited result

1 vue (au cours des 30 derniers jours)
Timo Dietz le 5 Oct 2021
Commenté : Timo Dietz le 6 Oct 2021
Hello,
I try to apply a periodical pulse signal to a pT1 filter and to convert the result to the time domain.
When the code below is executed, I receive a time domain function, which returns NaN after a certain point in time.
This time point is independent of the chosen pulse period - here 0.2s. Up to 0.2s all looks good.
A sinusodial signal works as expected....
A = 20e3;
B = 10e3;
C= 47e-9;
H_filter = B/(C*A*B*s + (A + B)); % filter definition
T = 100e-3; % pulse period time
v = 10; % factor: pulse width pw = T/v;
Hper_pulse = (1-exp(-T/v*s)) / (s*(1-exp(-T*s))); % periodic pulse signal
in_t = ilaplace(Hper_pulse); % input signal time domain
fplot(in_t, [0 0.25]);
out_s = Hper_pulse * H_filter;
out_t = ilaplace(out_s); % output signal time domain
fplot(out_t, [0 0.25]);
in_t:
out_t:
Any ideas?
TD
0 commentairesAfficher -2 commentaires plus anciensMasquer -2 commentaires plus anciens

Connectez-vous pour commenter.

Réponse acceptée

Paul le 6 Oct 2021
Sometimse fplot() gets confused. Does regular plot() show the expected result?
syms s
syms t real
A = 20e3;
B = 10e3;
C= 47e-9;
H_filter = B/(C*A*B*s + (A + B)); % filter definition
T = 100e-3; % pulse period time
v = 10; % factor: pulse width pw = T/v;
Hper_pulse = (1-exp(-T/v*s)) / (s*(1-exp(-T*s))); % periodic pulse signal
in_t(t) = ilaplace(Hper_pulse); % input signal time domain
tvec = 0:1e-4:1;
plot(tvec,double(in_t(tvec)));
out_s = Hper_pulse * H_filter;
out_t(t) = ilaplace(out_s); % output signal time domain
plot(tvec, double(out_t(tvec)));
3 commentairesAfficher 1 commentaire plus ancienMasquer 1 commentaire plus ancien
Paul le 6 Oct 2021
Modifié(e) : Paul le 6 Oct 2021
I wan't even aware thta eval() could be used with a symbolic expression as its input, so can't comment.
Timo Dietz le 6 Oct 2021
Maybe that's also the issue with fplot(). Eval() fails at the exact same time values as fplot() does.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Calculus dans Help Center et File Exchange

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by