I would like to create a sine wave with frequency changing every 2*T. Can someone help please.

 Réponse acceptée

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

Alhassane
Alhassane le 27 Déc 2024
Thanks for your answer. I needed to change at every 2*T of time the frequency from 1 to 800k. Can you help with that?
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