I have created a 1000 Hz pulse wave in Simulink using the Repeating Sequence Stair block. How can I make this pulse wave vary sinusoidally between 500Hz and 1500Hz?

Réponses (1)

Shubham
Shubham le 5 Déc 2024
Modifié(e) : Shubham le 5 Déc 2024
HI @優大,
As per my understanding, you are trying to create a pulse wave with a frequency that varies sinusoidally between 500Hz and 1500Hz. You're currently using a Repeating Sequence Stair block for creating a 1000 Hz pulse wave.
Here is how you can achieve your goal using MATLAB Function block:
  • Use a MATLAB Function block: This block will allow you to generate a pulse wave with a frequency that varies sinusoidally. Here's a sample code snippet for the function:
function y = pulse_wave(t, freq)
% Generate a pulse wave with a frequency that varies sinusoidally
% t: Current time (input from Clock block)
% freq: Sinusoidal frequency input (in Hz)
T = 1 / freq; % Calculate the period
y = mod(t, T) < (T / 2); % Generate a 50% duty cycle pulse wave
end
  • Add a Clock Block to provide the current simulation time
  • Add a Sine Wave Block to generate the sinusoidal frequency variation. Configure its parameters: Amplitude: 500 (modulation range of ±500 Hz), Bias: 1000 (base frequency of 1000 Hz) and Frequency: (2*pi* 0.1) (0.1 Hz modulation speed)
  • Connect the output of the Clock block to the first input of the MATLAB Function block.
  • Connect the output of the Sine Wave block to the second input of the MATLAB Function block.
By following these steps, you will create a pulse wave whose frequency varies sinusoidally between 500 Hz and 1500 Hz.
For more information on MATLAB Function block, refer to the following documentation link:
Hope this helps.

3 commentaires

優大
優大 le 5 Déc 2024
Thank you very much.
I copied the code and put together a block diagram.
I got this in scope, but why are the frequencies not transitioning nicely?
Shubham
Shubham le 6 Déc 2024
It may be due to the high frequency and the sample time of the simulation. If the sample time is not small enough to capture the high-frequency transitions accurately, the output may appear distorted.
優大
優大 le 7 Déc 2024
Thank you. I'll try it.

Connectez-vous pour commenter.

Produits

Version

R2019b

Question posée :

le 5 Déc 2024

Commenté :

le 7 Déc 2024

Community Treasure Hunt

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

Start Hunting!

Translated by