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

7 views (last 30 days)
Gihahn on 10 Apr 2024
Commented: Manikanta Aditya on 10 Apr 2024
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

Manikanta Aditya on 10 Apr 2024
Edited: Manikanta Aditya on 10 Apr 2024
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 on 10 Apr 2024
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');
% 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.
Manikanta Aditya on 10 Apr 2024
@Hassaan, Looks like you answered the same thing I mentioned in above answer.

Categories

Find more on Spectral Measurements in Help Center and File Exchange

R2022b

Community Treasure Hunt

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

Start Hunting!