piecewise function Fourier seriers

2 vues (au cours des 30 derniers jours)
KUN
KUN le 3 Mar 2024
Commenté : Paul le 3 Mar 2024
I want use matlab help to derive the Fourier series of a piecewise function. I write code like following:
syms t Vin Vout Dp Ds D T
assume(t>0);
Vp = piecewise( ...
t> 0 & t< Dp*T/2, Vin, ...
t> (Dp*T/2) & t< T/2,0, ...
t> T/2 & t< (1+Dp)*T/2, -Vin, ...
t> (1+Dp)*T/2 & t< T, 0)
Vpf = fourier(Vp)
assume(t,'clear');
and result is :
fourier(piecewise(t < (Dp*T)/2, Vin, t < T/2&(Dp*T)/2 < t, 0, t < (T*(Dp + 1))/2&T/2 < t, -Vin, t < T&(T*(Dp + 1))/2 < t, 0), t, w)
The result does not helpful for me.
  2 commentaires
Torsten
Torsten le 3 Mar 2024
Maybe assuming 0 < Dp < 1 can help.
KUN
KUN le 3 Mar 2024
Thank you for reminding me.

Connectez-vous pour commenter.

Réponses (1)

Paul
Paul le 3 Mar 2024
Hi KUN,
In the context of the Fourier transform, I'm not sure that the assumption on t makes sense, at least not in the context of fourier.
IIRC, fourier doesn't like piecewise. Instead, form Vp with terms using rectangularPulse and then find the Fourier transform.
  2 commentaires
KUN
KUN le 3 Mar 2024
Thank you for your answer. I will try rectangularPulse.
Paul
Paul le 3 Mar 2024
Feel free to post back here with updated code if you still have trouble after trying rectangularPulse.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by