sine wave measure differ

5 Ansichten (letzte 30 Tage)
seungpyo kang
seungpyo kang am 21 Mär. 2025
Beantwortet: Angelo Yeo am 22 Mär. 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?

Akzeptierte Antwort

Angelo Yeo
Angelo Yeo am 22 Mär. 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.

Weitere Antworten (0)

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by