Professional Documents
Culture Documents
PROBLEMA:
Al generar una cierta onda con el PC y enviarla por su puerto de audio, este actúa como un filtro pasa
banda entre unos 20Hz y 20 KHz, es decir, se eliminan todas las componentes (armónicos) a partir de 20
KHz. Por otro lado, en las zonas de transición brusca, por más que se sumen muchísimos armónicos, se
produce el denominado EFECTO GIBBS tal como se ve en la siguiente figura correspondiente a una onda
cuadrada:
EXPLICACIÓN:
SERIE DE FOURIER DE UNA ONDA CUADRADA Y TRIANGULAR:
1. Efecto Gibbs
El fenómeno de Gibbs es la descripción del comportamiento que tiene la serie de
Fourier asociada a una función definida a trozos, periódica, en una discontinuidad evitable de
salto finito.
A medida que se adhieren más términos a las series, ésta se va aproximando a la onda deseada
dado que las oscilaciones se vuelven más rápidas y más pequeñas, pero los picos no disminuyen.
Estos picos en las series de Fourier de la función cuadrada nunca desaparecen; son llamados el
fenómeno de Gibbs.
𝑦(𝜔𝑡) = 𝑌𝑚 𝑥 0 ≤ 𝜔𝑡 ≤ 𝜋
𝑦(𝜔𝑡) = −𝑌𝑚 𝑥 𝜋 ≤ 𝜔𝑡 ≤ 2𝜋
Donde el periodo es: 2 𝜋
∞
2𝜋
𝜔𝑡 =
𝑇
𝑇
2
𝑎0 = ∫ 𝑦(𝑡)𝑑𝑡 = 0 𝑂𝑛𝑑𝑎 𝑠𝑖𝑚𝑒𝑡𝑟𝑖𝑐𝑎 𝑎𝑙𝑡𝑒𝑟𝑛𝑎𝑑𝑎
𝑇
0
𝑇
2
𝑎𝑛 = ∫ 𝑦(𝑡) cos(𝑛𝜔𝑡) 𝑑𝜔𝑡
𝑇
0
𝜋 2𝜋
2
𝑎𝑛 = (∫ 𝑌𝑚𝑎𝑥 cos(𝑛𝜔𝑡) 𝑑𝜔𝑡 − ∫ 𝑌𝑚𝑎𝑥 cos(𝑛𝜔𝑡) 𝑑𝜔𝑡) = 0
𝜋
0 𝜋
𝑇
2
𝑏𝑛 = ∫ 𝑦(𝑡) sen(𝑛𝜔𝑡) 𝑑𝜔𝑡
𝑇
0
𝜋 2𝜋
2
𝑏𝑛 = (∫ 𝑌𝑚𝑎𝑥 sen(𝑛𝜔𝑡) 𝑑𝜔𝑡 − ∫ 𝑌𝑚𝑎𝑥 sen(𝑛𝜔𝑡) 𝑑𝜔𝑡)
𝜋
0 𝜋
𝑌𝑚𝑎𝑥
𝑏𝑛 = [2 − 2cos(𝑛𝜋)]
𝑛𝜋
Para impares
4𝑌𝑚𝑎𝑥 1
𝑏𝑛 =
𝜋 𝑛𝑖𝑚𝑝𝑎𝑟
Entonces:
∞
4𝑌𝑚𝑎𝑥 1
𝑦(𝜔𝑡) = ∑ sen(𝑛𝜔𝑡)
𝜋 𝑛
𝑛=1
t = 0:.02:6.28;
y = zeros(10,length(t));
x = zeros(size(t));
%onda cuadrada
for k = 1:2:400
x = x + (sin(k*t)/(k)); %funcion que describe la sumatoria de
ondas
y(((k+1)/2),:) = x;
end
%gráfica de ondas para la sumatoria
figure(1)
plot(y(1:2:9,:)')
grid
title('Onda cuadrada construida con el efecto gibbs')
figure(2)
plot(x)
title('onda simple, suma')
Onda cuadrada construida con el efecto gibbs
1
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
0 50 100 150 200 250 300 350
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
0 50 100 150 200 250 300 350
𝜔𝑡
𝑦(𝜔𝑡) = 𝑌𝑚𝑎𝑥 ( 𝜋 ) 0 ≤ 𝜔𝑡 ≤ 𝜋
2
Donde el periodo es: 2 𝜋
∞
2𝜋
𝜔𝑡 =
𝑇
𝑇
2
𝑎0 = ∫ 𝑦(𝑡)𝑑𝑡 = 0
𝑇
0
𝑇
2
𝑎𝑛 = ∫ 𝑦(𝑡) cos(𝑛𝜔𝑡) 𝑑𝜔𝑡 = 0
𝑇
0
𝑇
2
𝑏𝑛 = ∫ 𝑦(𝑡) sen(𝑛𝜔𝑡) 𝑑𝜔𝑡
𝑇
0
𝜋
2 𝑌𝑚𝑎𝑥
𝑏𝑛 = (∫ 𝜋 (𝜔𝑡)sen(𝑛𝜔𝑡) 𝑑𝜔𝑡)
𝜋 ⁄2
0
4𝑌𝑚𝑎𝑥 𝜋
𝑏𝑛 = 2 [−𝑠𝑒𝑛 (𝑛 )]
𝑛(𝜋) 2
Para impares
8𝑌𝑚𝑎𝑥
𝑏𝑛 =
𝑛𝜋 2
Entonces:
∞
2𝑌𝑚𝑎𝑥 8𝑌𝑚𝑎𝑥 1
𝑦(𝜔𝑡) = − ∑ sen(𝑛𝜔𝑡)
𝜋2 𝜋2 𝑛
𝑛=1,3,5,…
t = 0:.02:10;
y = zeros(10,length(t));
x = pi;%valor inicial
for k = 1:1:400
x = x - 2*(sin(k*t)/k);%sumatoria que genera diente de sierra
y(k,:) = x;
end
figure(1)
plot(y(1:2:9,:)') %se grafica solo nueve términos de sumatoria
grid
title('Diente de sierra graficada con efecto gibbs')
figure(2)
plot(x)
title('onda simple, suma')
Diente de sierra graficada con efecto gibbs
7
-1
0 100 200 300 400 500 600 700
-1
0 100 200 300 400 500 600 700
𝜔𝑡 𝜋
𝑦(𝜔𝑡) = 𝑌𝑚𝑎𝑥 ( 𝜋 ) 0 ≤ 𝜔𝑡 ≤
2
2
𝜔𝑡 𝜋 3𝜋
𝑦(𝜔𝑡) = 𝑌𝑚𝑎𝑥 (2 − 𝜋 ) ≤ 𝜔𝑡 ≤
2 2
2
𝜔𝑡 3𝜋
𝑦(𝜔𝑡) = 𝑌𝑚𝑎𝑥 ( 𝜋 − 4) ≤ 𝜔𝑡 ≤ 2𝜋
2
2
Donde el periodo es: 2 𝜋
∞
𝜋 2𝜋
2
𝑎𝑛 = (∫ 𝑌𝑚𝑎𝑥 cos(𝑛𝜔𝑡) 𝑑𝜔𝑡 − ∫ 𝑌𝑚𝑎𝑥 cos(𝑛𝜔𝑡) 𝑑𝜔𝑡) = 0
𝜋
0 𝜋
𝑇
2
𝑏𝑛 = ∫ 𝑦(𝑡) sen(𝑛𝜔𝑡) 𝑑𝜔𝑡
𝑇
0
𝜋⁄ 3𝜋⁄
2 2
2 𝑌𝑚𝑎𝑥
𝑏𝑛 = (∫ 𝜋 (𝜔𝑡)sen(𝑛𝜔𝑡) 𝑑𝜔𝑡 + ∫ 2𝑌𝑚𝑎𝑥 sen(𝑛𝜔𝑡) 𝑑𝜔𝑡
𝜋 ⁄2
0 𝜋⁄
2
3𝜋⁄
2 2𝜋
𝑌𝑚𝑎𝑥 𝑌𝑚𝑎𝑥
− ∫ 𝜋 (𝜔𝑡)sen(𝑛𝜔𝑡) 𝑑𝜔𝑡 + ∫ 𝜋 (𝜔𝑡)sen(𝑛𝜔𝑡) 𝑑𝜔𝑡
𝜋⁄
⁄2 ⁄2
3𝜋⁄
2 2
2𝜋
4𝑌𝑚𝑎𝑥 𝜋 3𝜋
𝑏𝑛 = 2 [𝑠𝑒𝑛 (𝑛 ) − 𝑠𝑒𝑛 (𝑛 )]
(𝑛𝜋) 2 𝑛
Para impares
8𝑌𝑚𝑎𝑥 𝑛−1
𝑏𝑛 = 2
(−1) 2
(𝑛𝜋)
Entonces:
∞ 𝑛−1
8𝑌𝑚𝑎𝑥 (−1) 2
𝑦(𝜔𝑡) = ∑ sen(𝑛𝜔𝑡)
𝜋2 𝑛2
𝑛=1,3,5,…
t = 0:.02:12;
y = zeros(10,length(t));
x = zeros(size(t));%valor inicial
for k = 1:2:40
x = x + ((-1)^((k-1)/2)*sin(k*t))/k^2;%sumatoria que genera diente
de sierra
y(k,:) = x;
end
figure(1)
plot(y(1:2:9,:)') %se grafica solo nueve términos de sumatoria
grid
title('Onda triangular graficada con efecto gibbs')
figure(2)
plot(x)
title('onda simple, suma')
0.5
-0.5
-1
-1.5
0 100 200 300 400 500 600 700
0.5
-0.5
-1
-1.5
0 100 200 300 400 500 600 700
𝑦(𝜔𝑡) = 0 𝜋 ≤ 𝜔𝑡 ≤ 2𝜋
Donde el periodo es: 2 𝜋
∞
2𝜋
𝜔𝑡 =
𝑇
𝑇 𝑇
2 1 𝑌𝑚𝑎𝑥
𝑎0 = ∫ 𝑦(𝑡)𝑑𝑡 = ∫ 𝑌𝑚𝑎𝑥 sen(𝜔𝑡)𝑑𝑡 =
𝑇 2𝜋 𝜋
0 0
𝑇
2
𝑎𝑛 = ∫ 𝑦(𝑡) cos(𝑛𝜔𝑡) 𝑑𝜔𝑡
𝑇
0
𝜋
2 −𝑌𝑚𝑎𝑥
𝑎𝑛 = (∫ 𝑌𝑚𝑎𝑥 (wt)cos(𝑛𝜔𝑡) 𝑑𝜔𝑡) = 2 (1 + cos(𝑛𝜋))
𝜋 𝑛 −1
0
−2𝑌𝑚𝑎𝑥
𝑎𝑛 = 𝑝𝑎𝑟𝑎 𝑛 = 2,4,6 …
𝑛2 − 1
𝑇
2
𝑏𝑛 = ∫ 𝑦(𝑤𝑡) sen(𝑛𝜔𝑡) 𝑑𝜔𝑡
𝑇
0
𝜋
1
𝑏𝑛=1 = (∫ 𝑌𝑚𝑎𝑥 sen(𝑛𝜔𝑡) 𝑑𝜔𝑡)
𝜋
0
𝑌𝑚𝑎𝑥
𝑏1 =
2
Entonces:
∞
𝑌𝑚𝑎𝑥 𝑌𝑚𝑎𝑥 2𝑌𝑚𝑎𝑥 1
𝑦(𝜔𝑡) = + 𝑠𝑒𝑛(𝜔𝑡) − ∑ cos(𝑛𝜔𝑡)
𝜋 2 𝜋 𝑛2 − 1
𝑛=2,4,6…
t = 0:.02:11;
y = zeros(10,length(t));
x=sin(t);%valor inicial
for k = 2:2:400
x = x -(cos(k*t)/(k*k-1));%sumatoria para la onda rectificada
y((k)/2,:) = x;
end
figure(1)
plot(y(1:2:9,:)')
grid
title('Onda rectificado construida bajo el efecto Gibb')
figure(2)
plot(x)
title('onda simple, suma')
Onda rectificado construida bajo el efecto Gibb
1.5
0.5
-0.5
-1
0 100 200 300 400 500 600
0.5
-0.5
-1
0 100 200 300 400 500 600
2𝜋
𝜔𝑡 =
𝑇
𝑇 𝑇
2 1 2𝑌𝑚𝑎𝑥
𝑎0 = ∫ 𝑦(𝑡)𝑑𝑡 = ∫ 𝑌𝑚𝑎𝑥 sen(𝜔𝑡)𝑑𝑡 =
𝑇 2𝜋 𝜋
0 0
𝑇
2
𝑎𝑛 = ∫ 𝑦(𝑡) cos(𝑛𝜔𝑡) 𝑑𝜔𝑡
𝑇
0
𝜋
2 −2𝑌𝑚𝑎𝑥
𝑎𝑛 = (∫ 𝑌𝑚𝑎𝑥 (wt)cos(𝑛𝜔𝑡) 𝑑𝜔𝑡) = 2 (1 + cos(𝑛𝜋))
𝜋 𝑛 −1
0
−2𝑌𝑚𝑎𝑥
𝑎𝑛 =
𝑛2 − 1
𝑇
2
𝑏𝑛 = ∫ 𝑦(𝑤𝑡) sen(𝑛𝜔𝑡) 𝑑𝜔𝑡
𝑇
0
𝜋
1
𝑏𝑛 = (∫ 𝑌𝑚𝑎𝑥 sen(𝑛𝜔𝑡) 𝑑𝜔𝑡)
𝜋
0
𝑏𝑛 = 0
Entonces:
∞
2𝑌𝑚𝑎𝑥 4𝑌𝑚𝑎𝑥 1
𝑦(𝜔𝑡) = − ∑ cos(𝑛𝜔𝑡)
𝜋 𝜋 𝑛2 −1
𝑛=2,4,6…
t = 0:.02:11;
y = zeros(10,length(t));
x=4/pi;%valor inicial
for k = 2:2:400
x = x -(cos(k*t)/(k*k-1));%sumatoria para la onda rectificada
y((k)/2,:) = x;
end
figure(1)
plot(y(1:2:9,:)')
grid
title('Onda rectificada completamente construida bajo el efecto Gibb')
figure(2)
plot(x)
title('onda simple, suma')
Onda rectificada completamente construida bajo el efecto Gibb
1.7
1.6
1.5
1.4
1.3
1.2
1.1
0.9
0.8
0.7
0 100 200 300 400 500 600
1.5
1.4
1.3
1.2
1.1
0.9
0.8
0.7
0 100 200 300 400 500 600
REFERENCIAS
https://es.wikipedia.org/wiki/Fen%C3%B3meno_de_Gibbs
BAEZ:
Encontrar la serie de Fourier de cada una de las ondas enviadas en el DEBER DE GENERACIÓN
DE ONDAS
Onda cuadrada
clear all,close all,clc
t = 0:.02:2*pi;%Vector de tiempo
x = zeros(size(t));% Vector donde se almacenarán los datos
for k = 1:2:12
x = x + sin(k*t)/k;% Descomposición en fourier
end
plot(x)
title('Onda Cuadrada')
Onda triangular
end
plot(t,x)
title('Onda Triangular')
Rectificador de media onda
end
x=(2/pi)-(4/pi)*x;%Función final
plot(t,x)
grid on
title('Rectificador de onda completa')