can someone please assist to make the square wave plot at 50Hz

7 ビュー (過去 30 日間)
Gihahn
Gihahn 2024 年 4 月 10 日
コメント済み: Manikanta Aditya 2024 年 4 月 10 日
fs = 1000;
f = 4; %amount of square waves of graph
t = 0:1/fs:1-1/fs;
y = 3 * square(2 * pi * f * t); %generating the square wave
plot(t, y, 'LineWidth', 2)
xlabel('Time (s)')
ylabel('Amplitude')
title('Square Wave with 50 Hz Frequency and 4 Hz Period')
grid on
ylim([-5, 5]) % Set y-axis limits
the code is above . just struggling to make the square wave plot at 50Hz . I dont seem to understand where to modify the code to plot the square wave at 50Hz

回答 (2 件)

Manikanta Aditya
Manikanta Aditya 2024 年 4 月 10 日
編集済み: Manikanta Aditya 2024 年 4 月 10 日
Hi,
To plot a square wave at 50 Hz, you need to adjust the frequency value f in your code. The frequency of the square wave is proportional to the argument of the square function, which is 2*pi*f*t in your code.
fs = 1000; % Sampling frequency
f = 50; % Frequency of the square wave (50 Hz)
t = 0:1/fs:1-1/fs; % Time vector
y = 3 * square(2 * pi * f * t); % generating the square wave
plot(t, y, 'LineWidth', 2)
xlabel('Time (s)')
ylabel('Amplitude')
title('Square Wave with 50 Hz Frequency')
grid on
ylim([-5, 5]) % Set y-axis limits
Thanks!

Hassaan
Hassaan 2024 年 4 月 10 日
fs = 1000; % Sampling frequency
f = 50; % Frequency of the square wave
% Time vector from 0 to 1 second, with step size of 1/fs
t = 0:1/fs:1-1/fs;
% Generating the square wave
% square(2 * pi * f * t) generates a square wave with amplitude between -1 and 1
% Multiplying by 3 scales the wave to be between -3 and 3
y = 3 * square(2 * pi * f * t);
% Plotting the square wave
figure; % Opens a new figure window
plot(t, y, 'LineWidth', 2, 'Color', 'b'); % 'k' stands for black color
hold on; % Keeps the plot for further additions
% Adding a zero line for reference, making it easier to see the wave oscillation
plot(t, zeros(size(t)), '--', 'Color', [0.5 0.5 0.5]);
hold off; % No more additions to this plot
% Enhancing plot aesthetics
xlabel('Time (s)', 'FontSize', 12, 'FontWeight', 'bold');
ylabel('Amplitude', 'FontSize', 12, 'FontWeight', 'bold');
title('50 Hz Square Wave Plot', 'FontSize', 14, 'FontWeight', 'bold');
grid on; % Adding a grid for better readability
% Setting y-axis limits
ylim([-5, 5]);
-----------------------------------------------------------------------------------------------------------------------------------------------------
If you find the solution helpful and it resolves your issue, it would be greatly appreciated if you could accept the answer. Also, leaving an upvote and a comment are also wonderful ways to provide feedback.
It's important to note that the advice and code are based on limited information and meant for educational purposes. Users should verify and adapt the code to their specific needs, ensuring compatibility and adherence to ethical standards.
Professional Interests
  • Technical Services and Consulting
  • Embedded Systems | Firmware Developement | Simulations
  • Electrical and Electronics Engineering
Feel free to contact me.
  1 件のコメント
Manikanta Aditya
Manikanta Aditya 2024 年 4 月 10 日
@Hassaan, Looks like you answered the same thing I mentioned in above answer.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMATLAB についてさらに検索

タグ

製品


リリース

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by