sine wave measure differ

3 visualizzazioni (ultimi 30 giorni)
seungpyo kang
seungpyo kang il 21 Mar 2025
Risposto: Angelo Yeo il 22 Mar 2025
function y = generate_sine()
persistent t
Ts = 0.0001;
if isempty(t)
t = 0;
end
y = sin(377 * t);
t = t + Ts;
This is sine wave generator of 60 Hz.
when the scope set up is below, that isnt 60 Hz.
but same code, that is same function block and measure with sine wave block of 60 Hz , then measure 60 Hz
why?

Risposta accettata

Angelo Yeo
Angelo Yeo il 22 Mar 2025
For the first question, let me set the model's solver as fixed-step with sample time of 0.01. Your MATLAB Function runs every sample time and sums up by sin(377 * t). See the result below.
Now, see how the behavior changes if I change the sample time to 0.005.
As I mentioned, your MATLAB Function runs every sample time and sums up by sin(377 * t).
I do not know what exactly happens in the second model without looking into the model, but, in the first model what you might want to do is to use Clock block. Just use the Clock's output as time. In the last case below, I set the model's sample time 1/5000.

Più risposte (0)

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by