Sine wave with variable frequency

9 vues (au cours des 30 derniers jours)
Alhassane
Alhassane le 27 Déc 2024
Commenté : Alhassane le 27 Déc 2024
I would like to create a sine wave with frequency changing every 2*T. Can someone help please.

Réponse acceptée

Manikanta Aditya
Manikanta Aditya le 27 Déc 2024
You can create a sine wave with a variable frequency in MATLAB by defining a time vector and then adjusting the frequency at intervals of 2*T. Here's an example of how you can achieve this:
% Define parameters
T = 1; % Base period
fs = 1000; % Sampling frequency
t = 0:1/fs:10*T; % Time vector for 10 periods
% Initialize the sine wave
y = zeros(size(t));
% Define the frequency change interval
interval = 2 * T;
% Loop through the time vector and change frequency every 2*T
for i = 1:length(t)
if mod(t(i), interval) < T
f = 1; % Frequency for the first T seconds
else
f = 2; % Frequency for the next T seconds
end
y(i) = sin(2 * pi * f * t(i));
end
% Plot the sine wave
figure;
plot(t, y);
xlabel('Time (s)');
ylabel('Amplitude');
title('Sine Wave with Variable Frequency');
grid on;
You can adjust the frequencies and the interval as needed. This code will generate a sine wave where the frequency changes every 2*T seconds.
I hope this will help you understand better, Thanks!
  3 commentaires
Manikanta Aditya
Manikanta Aditya le 27 Déc 2024
Check this:
% Define parameters
T = 1; % Base period
fs = 1000000; % Sampling frequency (1 MHz) to accommodate high frequency
t = 0:1/fs:10*T; % Time vector for 10 periods
% Initialize the sine wave
y = zeros(size(t));
% Define the frequency change interval
interval = 2 * T;
% Loop through the time vector and change frequency every 2*T
for i = 1:length(t)
if mod(t(i), interval) < T
f = 1; % Frequency for the first T seconds
else
f = 800000; % Frequency for the next T seconds
end
y(i) = sin(2 * pi * f * t(i));
end
% Plot the sine wave
figure;
plot(t, y);
xlabel('Time (s)');
ylabel('Amplitude');
title('Sine Wave with Variable Frequency');
grid on;
Alhassane
Alhassane le 27 Déc 2024
Thank you Manikanta Aditya.

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by