Professional Documents
Culture Documents
Series de Fourier
Las ondas armónicas continuas no existen realmente, ya que todos los movimientos
ondulatorios están limitados tanto espacial como temporalmente. Utilizando el análisis de
Fourier y la transformada de Fourier se pueden describir formas de ondas más complejas
como las que producen los instrumentos musicales.
El análisis de Fourier surgió a partir del intento de éste matemático francés por hallar la
solución a un problema práctico, la conducción del calor en un anillo de hierro. Demostró
que se puede obtener una función discontinua a partir de la suma de funciones continuas.
Esta tesis fue defendida por Fourier ante la Academia Francesa, lo que motivó severas
objeciones de los matemáticos más importantes de su época como Lagrange, Laplace, etc.
Funciones armónicas
En primer lugar, vamos a distinguir entre las magnitudes: amplitud A, frecuencia f y fase φ en
la función armónica
x=Asin(2πf·t+φ).
Dos amplitudes distintas, A=10 y A=5 y la misma frecuencia f=100 Hz, (el tiempo se
mide en milisegundos, ms)
subplot(2,1,1)
x=@(t) 10*sin(2*pi*0.1*t); %amplitud 10
fplot(x,[0,50])
xlabel('t(ms)')
ylabel('x')
title('Distinta amplitud')
ylim([-11,11])
grid on
subplot(2,1,2)
x=@(t) 5*sin(2*pi*0.1*t); %amplitud 5
fplot(x,[0,50])
ylim([-10,10])
xlabel('t(ms)')
ylabel('x')
ylim([-11,11])
grid on
http://www.sc.ehu.es/sbweb/fisica3/simbolico/fourier/fourier.html 1/20
8/5/2019 Series de Fourier
subplot(2,1,1)
x=@(t) 10*sin(2*pi*0.1*t); %frecuencia, 100 Hz
fplot(x,[0,50])
xlabel('t(ms)')
ylabel('x')
title('Distinta frecuencia')
ylim([-11,11])
grid on
subplot(2,1,2)
x=@(t) 10*sin(2*pi*0.2*t); %frecuencia, 200 Hz
fplot(x,[0,50])
xlabel('t(ms)')
ylabel('x')
ylim([-11,11])
grid on
http://www.sc.ehu.es/sbweb/fisica3/simbolico/fourier/fourier.html 2/20
8/5/2019 Series de Fourier
Fases iniciales distintas: 0, π/2, π,3π/2, misma frecuencia f=100 Hz y misma amplitud
A=10
subplot(4,1,1)
x=@(t) 10*sin(2*pi*0.1*t);
fplot(x,[0,50])
xlabel('t(ms)')
ylabel('x')
title('Distinta fase inicial')
ylim([-11,11])
grid on
subplot(4,1,2)
x=@(t) 10*sin(2*pi*0.1*t+pi/2);
fplot(x,[0,50])
xlabel('t(ms)')
ylabel('x')
ylim([-11,11])
grid on
subplot(4,1,3)
x=@(t) 10*sin(2*pi*0.1*t+pi);
fplot(x,[0,50])
xlabel('t(ms)')
ylabel('x')
ylim([-11,11])
grid on
subplot(4,1,4)
x=@(t) 10*sin(2*pi*0.1*t+3*pi/2);
fplot(x,[0,50])
xlabel('t(ms)')
ylabel('x')
ylim([-11,11])
grid on
http://www.sc.ehu.es/sbweb/fisica3/simbolico/fourier/fourier.html 3/20
8/5/2019 Series de Fourier
x=200sin(2πf·100+π/2)+100sin(2πf·200+π)+100sin(2πf·400+3π/2)
f=[100,200,400]; %frecuencias
A=[200,100,100]; %amplitudes
phi=[90,180,270]; %fases
subplot(2,2,1)
stem(f,A)
axis([0,500,0,210])
xlabel('Frecuencia')
ylabel('Amplitud')
subplot(2,2,2)
stem(f,phi)
axis([0,500,0,360])
xlabel('Frecuencia')
set(gca,'YTick',0:90:360)
set(gca,'YTickLabel',{'0',90','180','270','360'})
ylabel('Fase')
subplot(2,2,3:4) %resultante
t=(0:0.1:30)/1000; %milisegundos
x=zeros(1,length(t));
for i=1:length(f)
x=x+A(i)*sin(2*pi*f(i)*t+phi(i)*pi/180);
end
plot(t,x,'r')
xlabel('t(ms)')
ylabel('x')
title('Resultante')
ylim([-410,410])
set(gca,'XTick',(0:5:30)/1000)
set(gca,'XTickLabel',{'0','5','10','15','20','25','30'})
grid on
http://www.sc.ehu.es/sbweb/fisica3/simbolico/fourier/fourier.html 4/20
8/5/2019 Series de Fourier
Función periódica
Una función es periódica de periodo P si hay un número P>0 tal que f(t+P)=f(t). Cualquier
múltiplo n entero de P es también periodo f(t+nP)=f(t)
Las funciones cos(t) y cos (√2t) son periódicas de periodo 2π y 2π/√2 respectivamente,
pero la suma
no es periódica.
x=@(t) cos(2*pi*t)+cos(4*pi*t)/2;
subplot(2,1,1)
fplot(x,[0,10]);
xlabel('t')
ylabel('x')
subplot(2,1,2)
x=@(t) cos(2*pi*t)+cos(2*pi*sqrt(2)*t);
fplot(x,[0,10]);
xlabel('t')
ylabel('x')
http://www.sc.ehu.es/sbweb/fisica3/simbolico/fourier/fourier.html 5/20
8/5/2019 Series de Fourier
Serie de Fourier
A primera vista, parece que el problema de analizar formas de ondas complejas representa
una tarea formidable. Sin embargo, si la forma de la onda es periódica, se puede representar
con una precisión arbitraria, mediante la superposición de un número suficientemente grande
de ondas senoidales que forman una serie armónica.
Toda función f(t) periódica de periodo 2P, se puede representar en forma de una suma infinita
de funciones armónicas, es decir,
∞
a0 kπt kπt
f (t) = + ∑ (ak cos + bk sin )
2 P P
k=1
donde a0 a1 ...ak ... y b1 b2 .... bk .... son los denominados coeficientes de Fourier.
mπt nπt P
∫ cos sin dt = ∫ cos(mz) sin(nz)dz = 0
P P π
−P −π
>> syms t m n;
>> assume(n,'integer');
>> assume(m,'integer');
>> int('sin(m*t)*cos(n*t)',t,-pi,pi)
ans =0
http://www.sc.ehu.es/sbweb/fisica3/simbolico/fourier/fourier.html 6/20
8/5/2019 Series de Fourier
P π
mπt nπt P
∫ cos cos dt = ∫ cos(mz) cos(nz)dt
P π
P
−P −π
0 m ≠ n
P
∫ (cos ((m + n)z) + cos ((m − n)z)) ⋅dz = {
2π
P m = n
−π
>> y=int('cos(m*t)*cos(n*t)',t,-pi,pi)
y=(2*(m*cos(pi*n)*sin(pi*m) - n*cos(pi*m)*sin(pi*n)))/(m^2 - n^2)
>> limit(y,m,n)
ans =pi*cos(pi*n)^2
mπt nπt P
∫ sin sin dt = ∫ sin(mz) sin(nz)dz
P π
P
−P −π
P
0 m ≠ n
∫ (− cos ((m + n)z) + cos ((m − n)z)) ⋅dz = {
2π
P m = n
−π
>> y=int('sin(m*t)*sin(n*t)',t,-pi,pi)
y =-(2*(m*cos(pi*m)*sin(pi*n) - n*cos(pi*n)*sin(pi*m)))/(m^2 - n^2)
>> limit(y,m,n)
ans =pi*cos(pi*n)^2
1 kπt
ak = ∫ f (t) cos dt
P P
−P
1 kπt
bk = ∫ f (t) sin dt
P P
−P
Función par
Por ejemplo, para el pulso rectangular simétrico de anchura 1, y periodo 2 se obtienen los
siguientes coeficientes.
http://www.sc.ehu.es/sbweb/fisica3/simbolico/fourier/fourier.html 7/20
8/5/2019 Series de Fourier
0.5
1
a0 = ∫ dt = 1
1
−0.5
0.5
0 k par
1 2 kπ
ak = ∫ cos (kπt) dt = (sin ( )) { (k−1)/2
1 kπ 2 2
(−1) k impar
kπ
−0.5
Se establece el número n de términos del desarrollo en serie, sin contar el primero a0/2.
Se dibuja la función f(t) entre -1 y +1 en color azul y con ancho de línea 2.
Se dibuja la aproximación a la función sumando n términos del desarrollo en serie en
color rojo de anchura de línea 1.
n=7;
hold on
x=[-1 -0.5 -0.5 0.5 0.5 1];
y=[0 0 1 1 0 0];
plot(x,y,'b','linewidth',1.5)
x=linspace(-1,1,100);
y=zeros(length(x),1);
for i=1:length(x)
y(i)=1/2;
for k=1:2:n
y(i)=y(i)+(-1)^((k-1)/2)*2*cos(k*pi*x(i))/(k*pi);
end
end
plot(x,y, 'r');
title(sprintf('Aproximación de Fourier: %i términos',n))
xlabel('t');
ylabel('f(t)')
grid on
hold off
http://www.sc.ehu.es/sbweb/fisica3/simbolico/fourier/fourier.html 8/20
8/5/2019 Series de Fourier
Fenómeno de Gibbs
Aproximamos el pulso rectangular con 50 términos y con 200 términos. Cabría esperar que la
serie convergiese a la función cuando se incrementa el número de términos, esto ocurre en
casi todos los puntos excepto en las discontinuidades, cuando la función pasa de 0 a 1 en
x=-0.5 y de 1 a 0 en x=0.5.
Se ha utilizado, las herramientas Zoom y Pan de la ventana gráfica para mostrar un trozo de
la función próximo a x=-0.5
http://www.sc.ehu.es/sbweb/fisica3/simbolico/fourier/fourier.html 9/20
8/5/2019 Series de Fourier
Función impar
Sea ahora la función
0 1
1 0 k par
bk = ∫ sin (kπt) dt − ∫ sin (kπt) dt = (−2 + 2 cos(kπ)) = { −4
kπ k impar
kπ
−1 0
El desarrollo en serie es
n=7;
hold on
x=[-1 -1 0 0 1 1];
y=[0 1 1 -1 -1 0];
plot(x,y,'b','linewidth',1.5)
x=linspace(-1,1,100);
y=zeros(length(x),1);
for i=1:length(x)
y(i)=0;
for k=1:2:n
y(i)=y(i)-4*sin(k*pi*x(i))/(k*pi);
end
end
plot(x,y, 'r');
title(sprintf('Aproximación de Fourier: %i términos',n))
xlabel('t');
ylabel('f(t)')
grid on
hold off
⎧ 0 t < 0
⎪
u(t) = ⎨ 0.5 t = 0
⎩
⎪
1 t > 0
http://www.sc.ehu.es/sbweb/fisica3/simbolico/fourier/fourier.html 11/20
8/5/2019 Series de Fourier
Vamos a elaborar un script que nos permita obtener el desarrollo en serie de Fourier de una
función f(t) periódica de periodo 2P.
0 t < a
f (t) = {
1 t ≥ a
⎧ 0 t < −a
⎪
f (t) = ⎨ 1 − a ≤ t ≤ a
⎩
⎪
0 t > a
La función f(t).
0 t < −1
⎧
⎪
⎪
⎪
⎪ 1 − 1 ≤ t < 0
f (t) = ⎨
−1 0 ≤ t < 1
⎪
⎪
⎪
⎩
⎪
0 t ≥ 1
>> syms t;
>> x=heaviside(t+1)-2*heaviside(t)+heaviside(t-1);
>> ezplot(x,[-2,2]);
>> xlabel('t'),
>> ylabel('f(t)')
>> title('Función heaviside')
>> grid on
http://www.sc.ehu.es/sbweb/fisica3/simbolico/fourier/fourier.html 12/20
8/5/2019 Series de Fourier
⎧ 0 t < a
⎪
Función par
Desarrollo en serie de Fourier de la primera función, el pulso rectangular
syms t;
P=1; %semiperiodo
f=heaviside(t+0.5)-heaviside(t-0.5);
a=@(k) int(f*cos(k*pi*t/P),t,-P,P)/P;
b=@(k) int(f*sin(k*pi*t/P),t,-P,P)/P;
fs=a(0)/2;
for k=1:10 %número de términos
fs=fs+a(k)*cos(k*pi*t/P)+b(k)*sin(k*pi*t/P);
end
pretty(fs)
syms t k P n;
assume(k,'Integer')
a=@(f,t,k,P) int(f*cos(k*pi*t/P),x,-P,P)/P;
b=@(f,t,k,P) int(f*sin(k*pi*t/P),x,-P,P)/P;
fs=@(f,t,n,P) a(f,t,0,P)/2+symsum(a(f,t,k,P)*cos(k*pi*t/P)
+b(f,t,k,P)*sin(k*pi*t/P),k,1,n);
f=heaviside(t+0.5)-heaviside(t-0.5);
P=1; %semiperiodo
pretty(fs(f,t,10,P))
Función impar
Desarrollo en serie de Fourier de la segunda función
....
f=heaviside(t+1)-2*heaviside(t)+heaviside(t-1);
P=1; %semiperiodo
pretty(fs(f,x,10,P))
Ejemplo 1
Sea la función periódica f(t)=t entre -1 y 1
syms t k P n;
assume(k,'Integer')
a = @(f,t,k,P) int(f*cos(k*pi*t/P),t,-P,P)/P;
b = @(f,t,k,P) int(f*sin(k*pi*t/P),t,-P,P)/P;
fs=@(f,t,n,P) a(f,t,0,P)/2+symsum(a(f,t,k,P)*cos(k*pi*t/P)
+b(f,t,k,P)*sin(k*pi*t/P),k,1,n);
hold on
ezplot(f,[-P P])
hg=ezplot(fs(f,t,N,P),[-P P]);
set(hg,'color','r')
hold off
xlabel('t')
ylabel('f(t)')
title('Serie de Fourier')
%armónicos
figure
k=1:N;
ak=a(f,t,k,P);
bk=b(f,t,k,P);
subplot(2,1,1)
stem(ak)
xlabel('k');
ylabel('a(k)')
subplot(2,1,2)
stem(bk)
http://www.sc.ehu.es/sbweb/fisica3/simbolico/fourier/fourier.html 14/20
8/5/2019 Series de Fourier
xlabel('k');
ylabel('b(k)')
En la gráfica se representa la contribución de los N=6 primeros armónicos cada uno de los
armónicos, en la parte superior los coeficientes ak, y en la parte inferior los coeficientes bk.
Por ser f(t)=t una función impar, ak=0,
http://www.sc.ehu.es/sbweb/fisica3/simbolico/fourier/fourier.html 15/20
8/5/2019 Series de Fourier
Ejemplo 2
Sea la función
⎧ 0 − π < t < 0
⎪
π
f (t) = ⎨ t 0 ≤ t <
2
⎩
⎪
π π
≤ t ≤ π
2 2
syms t k P n;
assume(k,'Integer')
a = @(f,t,k,P) int(f*cos(k*pi*t/P),t,-P,P)/P;
b = @(f,t,k,P) int(f*sin(k*pi*t/P),t,-P,P)/P;
fs=@(f,t,n,P) a(f,t,0,P)/2+symsum(a(f,t,k,P)*
cos(k*pi*t/P)+b(f,t,k,P)*sin(k*pi*t/P),k,1,n);
%armónicos
figure
k=1:N;
ak=a(f,t,k,P);
bk=b(f,t,k,P);
subplot(2,1,1)
stem(ak)
xlabel('k');
ylabel('a(k)')
subplot(2,1,2)
stem(bk)
xlabel('k');
ylabel('b(k)')
http://www.sc.ehu.es/sbweb/fisica3/simbolico/fourier/fourier.html 16/20
8/5/2019 Series de Fourier
Utilizamos la función latex en combinación con el programa MathType para presentar los
resultados del desarrollo en serie de Fourier
3π sin (2t) sin (4t) sin (6t) cos (2t) cos (3t) cos (5t)
− − − − − −
16 4 8 12 2π 9π 25π
π 3π 5π
sin (t)( +1) sin (3t)( −1) sin (5t)( +1)
cos (6t) cos (t) 2 2 2
− − + + +
18π π π 9π 25π
iωt
e = cos ωt + i sin ωt
a0 ak −ibk ak +ibk
c0 = ck = c−k =
2 2 2
ikπt/P −ikπt/P
f (t) = c0 + ∑ (ck e + c−k e )
k=1
P
∞
t 1
t
f (t) = ∑ ck exp (ikπ ) ck = ∫ f (t) exp (−ikπ ) dt
2P
P P
−∞
−P
Pulso rectangular
P = π
a A
k = 0 c0 = a
1 −ikt A π
ck = ∫ Ae dt = sin (ka) = {
2π kπ A
−a k ≠ 0 ck = sin (ka)
kπ
Se establece
el número n de términos del desarrollo en serie.
La semianchura a del pulso rectangular (menor que π)
Se dibuja la función f(t) entre -π y +π en color azul y con ancho de línea 2.
Se dibuja la aproximación a la función sumando n términos del desarrollo en serie
(positivos y negativos) en color rojo de anchura de línea 1.
Tomar A=1
for j=1:length(x)
y(j)=0;
for k=-n:n
if k==0
y(j)=y(j)+a/pi;
else
y(j)=y(j)+sin(k*a)*exp(1i*k*x(j))/(k*pi);
end
end
end
%ejes
plot([-4 4],[0 0],'k')
plot([0 0],[-0.2 1.2],'k')
%serie de Fourier
plot(x,real(y),'r');
title(sprintf('Aproximación de Fourier: %i términos',n))
xlabel('t');
ylabel('f(t)')
grid on
hold off
http://www.sc.ehu.es/sbweb/fisica3/simbolico/fourier/fourier.html 19/20
8/5/2019 Series de Fourier
P = π
π
A A A k
1 −ikt
ck = ∫ te dt = i cos (kπ) = (−1) i
2π kπ kπ
−π
π
Se establece
el número n de términos del desarrollo en serie.
Se dibuja la función f(t) entre -π y +π en color azul y con ancho de línea 2.
Se dibuja la aproximación a la función sumando n términos del desarrollo en serie
(positivos y negativos) en color rojo de anchura de línea 1.
Tomar A=1
http://www.sc.ehu.es/sbweb/fisica3/simbolico/fourier/fourier.html 20/20