Adjusting a Sawtooth Graph and getting spectrum

6 views (last 30 days)
I am trying to graph a traingle wave with a width of 8000pi (4000pi each way from 0) and get its spectrum. This is what I have but can't get figure 1 to look right. I am unsure what I am doing wrong, my best guess would be I need to change either T or the first variable in sawtooth but doing that keeps making it worse so I'm not sure. Thank you for your time!
T = 10*50;
fs = 2000;
t = 0:1/fs:T-1/fs;
x = sawtooth(pi*4000*t,1/2);
figure(1)
plot(t,x)
grid on
figure(2)
pspectrum(x,fs,'Leakage',0.91)

Accepted Answer

Paul
Paul on 25 Feb 2024
Edited: Paul on 25 Feb 2024
Do you want a triangle or a sawtooth? Assuming the former as stated in the question, use tripuls
%T = 10*50;
fs = 2000;
t = -4000*pi:1/fs:4000*pi;
numel(t) % lots of data points
ans = 50265483
x = tripuls(t,pi*8000,0);
figure(1)
plot(t,x)
xline(4000*pi);xline(-4000*pi);
  3 Comments
Paul
Paul on 25 Feb 2024
The time vector already spans -4000*pi to 4000*pi. I added some lines to the plot to make that clear.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!