step amplitude change in a sine wave code Matlab
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Macyln Chingwena
el 29 de Jul. de 2020
Respondida: Macyln Chingwena
el 29 de Jul. de 2020
Hello. How do i create a step change in the amplitude of a sine wave. This is the code i have thus far:
I want to change the amplitude from 5 to say 10 after a few cycles like in the top fgure. Thanks for the help in advance.
0 comentarios
Respuesta aceptada
Sriram Tadavarty
el 29 de Jul. de 2020
Hi Macyln,
I am not exactly sure as what you are looking for. Based on the figure, i see that you wanted to have different levels of sine output at different times.
Here is a small script that can help you, if thats the case:
clear all
Ts = 1e-6;
fundamental_frequency = 50;
fundamental_period = 1/fundamental_frequency;
t = 0:Ts:(fundamental_period*10-Ts);
threshold = t(floor(length(t)/2)); % Half the cycles
% You can threshold with the time index directly or for 100 samples as such, use t(100)
index = t < threshold;
v_ref_A = zeros(size(t,1),1);
v_ref_A(index) = 5*sin(2*pi*fundamental_frequency*t(index));
v_ref_A(~index) = 10*sin(2*pi*fundamental_frequency*t(~index));
plot(t,v_ref_A)
Note, this can be extended with multiple thresholds. I have provided only for a half the length cycle.
Please let me know, if this is not something you are after.
Hope this helps.
Regards,
Sriram
1 comentario
Más respuestas (1)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!