Manual triangle wave generation

5 views (last 30 days)
quando
quando on 1 Jun 2020
Commented: quando on 2 Jun 2020
Hello
I want to generate a triangle wave without built in function and I want to do it using this formula
Unfortunately, the output plot is not looking right
I'd appreciate any suggestions
clc;
clear all;
A = 1;
f = 1;
fs = 1000;
t = 0 : 1/fs : 10;
n = [300];
omega0 = 2 * pi * f;
for i = 1 : length(n)
b = 0;
for j = 1 : 2 : n(i)
H = [0 : 0.5 : n(i)];
sr = (1 / j) * (-1)^H(j) *sin(j * omega0 * t);
b = b + sr;
end
b = ( 8 * A / pi ^ 2 ) * b;
figure()
plot(t, b)
end

Answers (1)

KSSV
KSSV on 1 Jun 2020
Edited: KSSV on 1 Jun 2020
A = 1;
f = 1;
fs = 1000;
t = 0 : 1/fs : 10;
n = [300];
omega0 = 2*pi*f;
K = 8*A/pi^2 ;
N = 20 ; % can be changed
x = zeros(size(t)) ;
for i = 0:N
x = x+(-1)^i*1/(2*i+1)*sin((2*i+1)*omega0*t) ;
end
plot(t,x)

Products

Community Treasure Hunt

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

Start Hunting!