Sine wave with variable frequency

조회 수: 9 (최근 30일)
Alhassane
Alhassane 2024년 12월 27일
댓글: Alhassane 2024년 12월 27일
I would like to create a sine wave with frequency changing every 2*T. Can someone help please.

채택된 답변

Manikanta Aditya
Manikanta Aditya 2024년 12월 27일
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
Manikanta Aditya
Manikanta Aditya 2024년 12월 27일
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 2024년 12월 27일
Thank you Manikanta Aditya.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Electromechanical에 대해 자세히 알아보기

제품


릴리스

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by