You are on page 1of 16

EXPLICACIÓN DE LA DISTORSIÓN PRODUCIDA POR EL PUERTO PARALELO SOBRE LAS

FORMA DE ONDAS GENERADAS

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:

A. WIKIPEDIA: https://es.wikipedia.org/wiki/Serie_de_Fourier. Aquí se ve la definición de las serie de


Fourier y su aplicación a onda cuadrada y triangular y también el efecto Gibbs.
B. Documento adjunto: Ejercicios_formas_onda_Fourier_EJERCICIO 7. Aquí se puede ver las
deducciones matemáticas de la serie de Fourier para distintos tipos de ondas (algunos del deber
anterior de generación de ondas)
C. Documento adjunto: serie-fourier1. Aquí se puede ver la forma de onda producida por la suma de
cierto número de componentes.
D. En Matlab: help  Gibbs. Aquí se puede simular la sumatoria de un número de componentes y
la forma de onda que produce.
DEBER:
Encontrar paso a paso la serie de Fourier de cada una de las ondas vista hasta la fecha en
GENERACIÓN DE ONDAS y simularla en Matlab para ver cómo influye en la onda sintetizada con un
cierto número de componentes.
En esta ocasión, se entregará ya el trabajo hecho solamente para que se verifique todo (si es que hay
algún error)

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.

Cuando la función que se está desarrollando en Serie de Fourier tiene incontinuidades, no es


posible que haya una buena convergencia en los entornos de las mismas. En tales entornos, las
sumas parciales muestran tanto sobrevalores como subvalores alrededor del valor real de la
función, que pueden llegar a un 18% del salto en la discontinuidad.

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.

1.1. Onda cuadrada


La función de onda, se puede expresar como:

𝑦(𝜔𝑡) = 𝑌𝑚 𝑥 0 ≤ 𝜔𝑡 ≤ 𝜋
𝑦(𝜔𝑡) = −𝑌𝑚 𝑥 𝜋 ≤ 𝜔𝑡 ≤ 2𝜋
Donde el periodo es: 2 𝜋

𝑦(𝑡) = 𝑎0 + ∑ 𝑎𝑛 cos(𝑛𝜔𝑡) + 𝑏𝑛 sen(𝑛𝜔𝑡)


𝑛=1

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

onda simple, suma


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

1.2. Onda diente de sierra


La función de onda, se puede expresar como:

𝜔𝑡
𝑦(𝜔𝑡) = 𝑌𝑚𝑎𝑥 ( 𝜋 ) 0 ≤ 𝜔𝑡 ≤ 𝜋
2
Donde el periodo es: 2 𝜋

𝑦(𝑡) = 𝑎0 + ∑ 𝑎𝑛 cos(𝑛𝜔𝑡) + 𝑏𝑛 sen(𝑛𝜔𝑡)


𝑛=1

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

onda simple, suma


7

-1
0 100 200 300 400 500 600 700

1.3. Onda triangular


La función de onda, se puede expresar como:

𝜔𝑡 𝜋
𝑦(𝜔𝑡) = 𝑌𝑚𝑎𝑥 ( 𝜋 ) 0 ≤ 𝜔𝑡 ≤
2
2

𝜔𝑡 𝜋 3𝜋
𝑦(𝜔𝑡) = 𝑌𝑚𝑎𝑥 (2 − 𝜋 ) ≤ 𝜔𝑡 ≤
2 2
2

𝜔𝑡 3𝜋
𝑦(𝜔𝑡) = 𝑌𝑚𝑎𝑥 ( 𝜋 − 4) ≤ 𝜔𝑡 ≤ 2𝜋
2
2
Donde el periodo es: 2 𝜋

𝑦(𝑡) = 𝑎0 + ∑ 𝑎𝑛 cos(𝑛𝜔𝑡) + 𝑏𝑛 sen(𝑛𝜔𝑡)


𝑛=1
2𝜋
𝜔𝑡 =
𝑇
𝑇
2
𝑎0 = ∫ 𝑦(𝑡)𝑑𝑡 = 0
𝑇
0
𝑇
2
𝑎𝑛 = ∫ 𝑦(𝑡) cos(𝑛𝜔𝑡) 𝑑𝜔𝑡
𝑇
0

𝜋 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𝑌𝑚𝑎𝑥 sen(𝑛𝜔𝑡) 𝑑𝜔𝑡)


3𝜋⁄
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')

Onda triangular graficada con efecto gibbs


1.5

0.5

-0.5

-1

-1.5
0 100 200 300 400 500 600 700

onda simple, suma


1.5

0.5

-0.5

-1

-1.5
0 100 200 300 400 500 600 700

1.4. Rectificador de media onda


La función de onda, se puede expresar como:

𝑦(𝜔𝑡) = 𝑌𝑚𝑎𝑥 𝑠𝑒𝑛(𝜔𝑡) 0 ≤ 𝜔𝑡 ≤ 𝜋

𝑦(𝜔𝑡) = 0 𝜋 ≤ 𝜔𝑡 ≤ 2𝜋
Donde el periodo es: 2 𝜋

𝑦(𝑡) = 𝑎0 + ∑ 𝑎𝑛 cos(𝑛𝜔𝑡) + 𝑏𝑛 sen(𝑛𝜔𝑡)


𝑛=1

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

onda simple, suma


1.5

0.5

-0.5

-1
0 100 200 300 400 500 600

1.5. Rectificador de onda completa


La función de onda, se puede expresar como:

𝑦(𝜔𝑡) = 𝑌𝑚𝑎𝑥 𝑠𝑒𝑛(𝜔𝑡) 0 ≤ 𝜔𝑡 ≤ 𝜋


𝑦(𝜔𝑡) = 𝑌𝑚𝑎𝑥 𝑠𝑒𝑛(𝜔𝑡) 𝜋 ≤ 𝜔𝑡 ≤ 2𝜋
Donde el periodo es: 2 𝜋

𝑦(𝑡) = 𝑎0 + ∑ 𝑎𝑛 cos(𝑛𝜔𝑡) + 𝑏𝑛 sen(𝑛𝜔𝑡)


𝑛=1

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

onda simple, suma


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

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

clear all,close all,clc


t = 0:.02:2*pi;%Vector de tiempo
x = zeros(size(t));% Vector donde se almacenarán los datos
j=0;
for k = 1:2:4
j=j+1;
x = x -((-1)^(j))*(sin(k*t)/(k^2));% Descomposición en fourier

end
plot(t,x)
title('Onda Triangular')
Rectificador de media onda

clear all,close all,clc


t = 0:.02:2*pi;%Vector de tiempo
x = zeros(size(t));% Vector donde se almacenarán los datos
f=1;% Frecuencia
for k = 2:2:6
x = x +((1/((k^2)-1))*cos(2*pi*f*k*t));% Descomposición en fourier
end
x=(1/pi)+0.5*sin(2*pi*f*t)-(2/pi)*x;
plot(t,x)
grid on
title('Rectificador de media onda')
Rectificador de onda completa

clear all,close all,clc


t = 0:.02:2*pi;%Vector de tiempo
x = zeros(size(t));% Vector donde se almacenarán los datos
f=1;% Frecuencia
for k = 2:2:2
x = x +((1/((k^2)-1))*cos(2*pi*f*k*t));% Descomposición en fourier

end
x=(2/pi)-(4/pi)*x;%Función final
plot(t,x)
grid on
title('Rectificador de onda completa')

You might also like