Using the fourier series to approximate a triangular wave.

31 visualizaciones (últimos 30 días)
Gidel
Gidel el 2 de Abr. de 2023
Comentada: Walter Roberson el 3 de Abr. de 2023
I want to approximate a triangular waveform, with the Fourier Series. The triangular waveform has an amplitude of 1 and a frequency of 30 Hz.
and N-values of 1, 5, 10, and 20 number of Fourier terms for approximation.
The only function that I can think of is the sawtooth function. I was wondering if there is a more fitting function for this.
  1 comentario
John D'Errico
John D'Errico el 2 de Abr. de 2023
Editada: John D'Errico el 2 de Abr. de 2023
A sawtooth does exactly what you want. So what is the problem?

Iniciar sesión para comentar.

Respuestas (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov el 3 de Abr. de 2023
Editada: Sulaymon Eshkabilov el 3 de Abr. de 2023
Here is one simple code how to generate sawtooth approximation using different Fourier series:
t = linspace(0, 10, 1000);
Phase_shift = pi;
ST = sawtooth(2*pi*t*.5+Phase_shift);
plot(t, ST, 'm', 'LineWidth', 2.5, 'DisplayName', 'SawTooth'), hold on
t = linspace(0, 10, 1000);
N = 1;
FS1 = (2/pi)*sin(pi*t*N);
plot(t,FS1, 'r', 'LineWidth', 2, 'DisplayName','N=1')
N=5;
F=0;
for ii = 1:N
F = F+(-1)^(ii+1)*sin(pi*t*ii)*(1/ii);
FS5 = (2/pi)*F;
end
plot(t,FS5, 'g', 'LineWidth', 2, 'DisplayName','N=5')
hold on
N=10;
F=0;
for ii = 1:N
F = F+(-1)^(ii+1)*sin(pi*t*ii)*(1/ii);
FS10 = (2/pi)*F;
end
plot(t,FS10, 'b', 'LineWidth', 2 , 'DisplayName','N=10')
hold on
N=20;
F=0;
for ii = 1:N
F = F+(-1)^(ii+1)*sin(pi*t*ii)*(1/ii);
FS10 = (2/pi)*F;
end
plot(t,FS10, 'k', 'LineWidth', 1.5, 'DisplayName','N=20')
hold off
legend("show")
xlabel("Time, [s]")
ylabel('x(t)')
grid on
title('Sawtooth Approximation with Fourier Series: N = [1, 5, 10, 20]')
xlim([0, 5.5])
  2 comentarios
Gidel
Gidel el 3 de Abr. de 2023
The script does not display the figure showed, sorry.
Walter Roberson
Walter Roberson el 3 de Abr. de 2023
The figure you see in @Sulaymon Eshkabilov Answer is the result of running the posted code inside the Answers facility itself. The figure was not inserted as an image: that is actual R2023a output.

Iniciar sesión para comentar.

Productos


Versión

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by