Guía de Laboratorio 4 Fourier
Guía de Laboratorio 4 Fourier
Guía de Laboratorio 4 Fourier
1. Objetivos
2. Equipos y Materiales
1) PCs
2) MATLAB
3. Actividades
Mientras estudiaba el flujo de calor, Fourier descubrió que una función periódica
no senoidal puede expresarse como una suma infinita de funciones senoidales.
Recuerdese que una función periódica es aquella que se repite cada
T segundos, en otras palabras, una función f(t) satisface
Una serie de Fourier es una serie infinita que converge puntualmente a una función
periódica y continua a trozos (o por partes). Las series de Fourier constituyen la
herramienta matemática básica del análisis de Fourier empleado para analizar
funciones periódicas a través de la descomposición de dicha función en una suma
infinita de funciones sinusoidales mucho más simples (como combinación de senos
y cosenos con frecuencias enteras)
Universidad Nacional de San Agustín Señales y sistemas
Escuela Profesional de Ingeniería de Telecomunicaciones MG. Romel Jiménez Montes De Oca
3. Diferenciación:
La propiedad de diferenciación de la serie discreta de Fourier se asocia a la
diferencia finita de primer orden y se expresa como:
4. Integración:
Si x [n <----> ak entonces
Universidad Nacional de San Agustín Señales y sistemas
Escuela Profesional de Ingeniería de Telecomunicaciones MG. Romel Jiménez Montes De Oca
5. Convolución:
Si x1[n] <-----> ak y x2[n] <----> bk entonces:
6. Modulación
Si x1[n] <-----> ak y x2[n] <-----> bk entonces:
Propiedades:
- Linealidad
Si F1(w) y F2(w) son las transformadas de Fourier de f1(t) y f2(t)
respectivamente,entonces
- Escalamiento temporal
Si F(w) = F[f(t)], entonces.
- Corrimiento en el tiempo
Universidad Nacional de San Agustín Señales y sistemas
Escuela Profesional de Ingeniería de Telecomunicaciones MG. Romel Jiménez Montes De Oca
Si F(w) = F[f(t)], entonces.
- Corrimiento en frecuencia
Esta propiedad establece que si F(w) = F[f(t)], entonces
- Diferenciación en el tiempo
Dado que F(w) = F[f(t)], entonces
- Integración en el tiempo
Cuadro Resumen:
Universidad Nacional de San Agustín Señales y sistemas
Escuela Profesional de Ingeniería de Telecomunicaciones MG. Romel Jiménez Montes De Oca
3.2 Explique matemáticamente como se desarrolla la transformada de Fourier (Es libre de elegir los
gráficos y funciones a criterio)
Método 1
Se puede escribir la función signo en términos de la función escalón unitario como
Método 2
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:
∝
𝑎0 𝑘𝜋𝑡 𝑘𝜋𝑡
𝑓(𝑡) = + ∑ (𝑎𝑘 𝑐𝑜𝑠 + 𝑏𝑘 sin )
2 𝑃 𝑃
𝑘=1
donde a0, a1, a2, …, ak,… y b1, b2, …, bk, … son los coeficientes de Forier.
Grafique los coeficientes de las tres formas de la serie de Fourier para la señal peri ódica
Código:
clear all
clc
close
N=100;
k=-N:N;
T1=1;
T=4;
Universidad Nacional de San Agustín Señales y sistemas
Escuela Profesional de Ingeniería de Telecomunicaciones MG. Romel Jiménez Montes De Oca
wo=(2*pi)/T;
ak=2*sin(k*wo*T1)./(k*wo*T);
ak(N+1)=2*T1/T;
stem(k,ak)
clear all
clc
close
f=@(x)((x>=0)&(x<1)).*x + ((x>=1)&(x>=2)).*(2-x); % funcion
aa=0;bb=2; % intervalo
n=5; % PARA 5 ITERACIONES ==========
T=bb-aa; % periodo
f1=@(x)f(x+T); % definimos la función f en el periodo anterior
f2=@(x)f(x-T); % definimos la función f en el periodo siguiente
%
a=zeros(1,n);
b=zeros(1,n);
xx=linspace(aa,bb);
xx1=linspace(aa-T,bb-T);
xx2=linspace(aa+T,bb+T);
xxt=linspace(aa-T,bb+T,300);
a0=quad(f,aa,bb)/T;
s=a0*ones(1,length(xxt));
for k=1:n
figure(k)
Universidad Nacional de San Agustín Señales y sistemas
Escuela Profesional de Ingeniería de Telecomunicaciones MG. Romel Jiménez Montes De Oca
hold on
% calculamos ak y bk
fun1=@(x)cos(2*pi*k*x/T).*f(x);
fun2=@(x)sin(2*pi*k*x/T).*f(x);
a(k)=2*quad(fun1,aa,bb)/T;
b(k)=2*quad(fun2,aa,bb)/T;
% calculamos el término y lo sumamos a la serie
s1=a(k)*cos(2*pi*k*xxt/T)+b(k)*sin(2*pi*k*xxt/T);
s=s+s1;
% dibujamos la función
plot(xx,f(xx))
% dibujamos los términos de la serie de Fourier
plot(xxt,s,'r')
legend('f(x)','Serie')
% dibujamos otros dos periodos de la función
plot(xx1,f1(xx-T))
plot(xx2,f2(xx+T))
title([f(x)=(t) en [0,1] y f(x)=(2-t) en [1,2] (Aprox gráfica)
k=',num2str(k)])
box on
end
clear all
clc
close
f=@(x)((x>=0)&(x<1)).*x + ((x>=1)&(x>=2)).*(2-x); % funcion
aa=0;bb=2; % intervalo
n=7; % PARA 7 ITERACIONES ==========
T=bb-aa; % periodo
f1=@(x)f(x+T); % definimos la función f en el periodo anterior
f2=@(x)f(x-T); % definimos la función f en el periodo siguiente
%
a=zeros(1,n);
b=zeros(1,n);
xx=linspace(aa,bb);
xx1=linspace(aa-T,bb-T);
xx2=linspace(aa+T,bb+T);
xxt=linspace(aa-T,bb+T,300);
a0=quad(f,aa,bb)/T;
s=a0*ones(1,length(xxt));
for k=1:n
Universidad Nacional de San Agustín Señales y sistemas
Escuela Profesional de Ingeniería de Telecomunicaciones MG. Romel Jiménez Montes De Oca
figure(k)
hold on
% calculamos ak y bk
fun1=@(x)cos(2*pi*k*x/T).*f(x);
fun2=@(x)sin(2*pi*k*x/T).*f(x);
a(k)=2*quad(fun1,aa,bb)/T;
b(k)=2*quad(fun2,aa,bb)/T;
% calculamos el término y lo sumamos a la serie
s1=a(k)*cos(2*pi*k*xxt/T)+b(k)*sin(2*pi*k*xxt/T);
s=s+s1;
% dibujamos la función
plot(xx,f(xx))
% dibujamos los términos de la serie de Fourier
plot(xxt,s,'r')
legend('f(x)','Serie')
% dibujamos otros dos periodos de la función
plot(xx1,f1(xx-T))
plot(xx2,f2(xx+T))
title(['f(x)=(t) en [0,1] y f(x)=(2-t) en [1,2] (Aprox gráfica)
k=',num2str(k)])
box on
end
clear all
clc
close
f=@(x)((x>=0)&(x<1)).*x + ((x>=1)&(x>=2)).*(2-x); % funcion
aa=0;bb=2; % intervalo
n=17; % PARA 17 ITERACIONES ==========
T=bb-aa; % periodo
f1=@(x)f(x+T); % definimos la función f en el periodo anterior
f2=@(x)f(x-T); % definimos la función f en el periodo siguiente
%
a=zeros(1,n);
b=zeros(1,n);
xx=linspace(aa,bb);
xx1=linspace(aa-T,bb-T);
xx2=linspace(aa+T,bb+T);
xxt=linspace(aa-T,bb+T,300);
a0=quad(f,aa,bb)/T;
s=a0*ones(1,length(xxt));
Universidad Nacional de San Agustín Señales y sistemas
Escuela Profesional de Ingeniería de Telecomunicaciones MG. Romel Jiménez Montes De Oca
for k=1:n
figure(k)
hold on
% calculamos ak y bk
fun1=@(x)cos(2*pi*k*x/T).*f(x);
fun2=@(x)sin(2*pi*k*x/T).*f(x);
a(k)=2*quad(fun1,aa,bb)/T;
b(k)=2*quad(fun2,aa,bb)/T;
% calculamos el término y lo sumamos a la serie
s1=a(k)*cos(2*pi*k*xxt/T)+b(k)*sin(2*pi*k*xxt/T);
s=s+s1;
% dibujamos la función
plot(xx,f(xx))
% dibujamos los términos de la serie de Fourier
plot(xxt,s,'r')
legend('f(x)','Serie')
% dibujamos otros dos periodos de la función
plot(xx1,f1(xx-T))
plot(xx2,f2(xx+T))
title(['f(x)=(t) en [0,1] y f(x)=(2-t) en [1,2] (Aprox gráfica)
k=',num2str(k)])
box on
end
Código:
Universidad Nacional de San Agustín Señales y sistemas
Escuela Profesional de Ingeniería de Telecomunicaciones MG. Romel Jiménez Montes De Oca
clear all
clc
close
f=@(x)((x>=0)&(x<1)).*1 + ((x>=1)&(x>=2)).*(0); % funcion
aa=0;bb=2; % intervalo
n=201; % NÚMERO DE 201 ITERACIONES
T=bb-aa; % periodo
f1=@(x)f(x+T); % definimos la función f en el periodo anterior
f2=@(x)f(x-T); % definimos la función f en el periodo siguiente
%
a=zeros(1,n);
b=zeros(1,n);
xx=linspace(aa,bb);
xx1=linspace(aa-T,bb-T);
xx2=linspace(aa+T,bb+T);
xxt=linspace(aa-T,bb+T,300);
a0=quad(f,aa,bb)/T;
s=a0*ones(1,length(xxt));
for k=1:n
figure(k)
hold on
% calculamos ak y bk
fun1=@(x)cos(2*pi*k*x/T).*f(x);
fun2=@(x)sin(2*pi*k*x/T).*f(x);
a(k)=2*quad(fun1,aa,bb)/T;
b(k)=2*quad(fun2,aa,bb)/T;
% calculamos el término y lo sumamos a la serie
s1=a(k)*cos(2*pi*k*xxt/T)+b(k)*sin(2*pi*k*xxt/T);
s=s+s1;
% dibujamos la función
plot(xx,f(xx))
% dibujamos los términos de la serie de Fourier
plot(xxt,s,'r')
legend('f(x)','Serie')
% dibujamos otros dos periodos de la función
plot(xx1,f1(xx-T))
plot(xx2,f2(xx+T))
title([' f(x)=(1) en [0,1] y f(x)=(0) en [1,2] (Aprox gráfica)
k=',num2str(k)])
box on
end
Universidad Nacional de San Agustín Señales y sistemas
Escuela Profesional de Ingeniería de Telecomunicaciones MG. Romel Jiménez Montes De Oca
clear all
clc
close
f=@(x)((x>=0)&(x<1)).*1 + ((x>=1)&(x>=2)).*(0); % funcion
aa=0;bb=2; % intervalo
n=201; % NÚMERO DE 201 ITERACIONES
T=bb-aa; % periodo
f1=@(x)f(x+T); % definimos la función f en el periodo anterior
f2=@(x)f(x-T); % definimos la función f en el periodo siguiente
%
a=zeros(1,n);
b=zeros(1,n);
xx=linspace(aa,bb);
xx1=linspace(aa-T,bb-T);
xx2=linspace(aa+T,bb+T);
xxt=linspace(aa-T,bb+T,300);
a0=quad(f,aa,bb)/T;
s=a0*ones(1,length(xxt));
for k=1:n
figure(k)
hold on
% calculamos ak y bk
fun1=@(x)exp(i*pi*k*x/T);
fun2=@(x)exp(-i*pi*k*x/T.*f(x));
a(k)=2*quad(fun1,aa,bb)/T;
b(k)=2*quad(fun2,aa,bb)/T;
% calculamos el término y lo sumamos a la serie
Universidad Nacional de San Agustín Señales y sistemas
Escuela Profesional de Ingeniería de Telecomunicaciones MG. Romel Jiménez Montes De Oca
s1=a(k)*cos(2*pi*k*xxt/T)+b(k)*sin(2*pi*k*xxt/T);
s=s+s1;
% dibujamos la función
plot(xx,f(xx))
% dibujamos los términos de la serie de Fourier
plot(xxt,s,'r')
legend('f(x)','Serie')
% dibujamos otros dos periodos de la función
plot(xx1,f1(xx-T))
plot(xx2,f2(xx+T))
title(['f(x)=(1) en [0,1] y f(x)=(0) en [1,2] (Aprox gráfica)
k=',num2str(k)])
box on
end
Código:
%Transformada de Fourier
clear all
clc
close
% Intervalo
t=-2*pi:0.1:2*pi;
%señal
x1=sin(pi*t);
x2=(1./t);
x=x1.*x2;
%figure(1);
% Representacion en el tiempo
subplot(2,1,1)
plot(t,x);
title('X(t)=sin(pi*t)/(pi*t)');
xlabel('Tiempo "s" ');
Universidad Nacional de San Agustín Señales y sistemas
Escuela Profesional de Ingeniería de Telecomunicaciones MG. Romel Jiménez Montes De Oca
ylabel('x(t)');
% Transformada y representacion en frecuencia
% Transformada rapida de fourier
Xt=fft(x);
% Reordenando en frecuencia
X=fftshift(Xt);
% Magnitud y fase de la transformada
Xm=abs(X);
Xf=unwrap(angle(X))*180/pi;
% Base de frecuencias
delta_t = t(2)-t(1);
f = ((1:length(t)) - ceil(length(t)/2)) / length(t) / delta_t;
%figure(2);
subplot(2,1,2)
plot(f,Xm); zoom;
title('Transformada de Fourier de x(t)');
xlabel('frecuencia (Hz)');
ylabel('|X(jw)|');
Código:
%Transformada de Fourier
clear all
clc
close
% Intervalo
t=-2*pi:0.1:2*pi;
%señal
x1=sin(t);
Universidad Nacional de San Agustín Señales y sistemas
Escuela Profesional de Ingeniería de Telecomunicaciones MG. Romel Jiménez Montes De Oca
x2=(1./t);
x=x1.*x2;
%figure(1);
% Representacion en el tiempo
subplot(2,1,1)
plot(t,x);
title('X(t)=sin(omega)/(omega)');
xlabel('Tiempo "s" ');
ylabel('x(t)');
% Transformada y representacion en frecuencia
% Transformada rapida de fourier
Xt=fft(x);
% Reordenando en frecuencia
X=fftshift(Xt);
% Magnitud y fase de la transformada
Xm=abs(X);
Xf=unwrap(angle(X))*180/pi;
% Base de frecuencias
delta_t = t(2)-t(1);
f = ((1:length(t)) - ceil(length(t)/2)) / length(t) / delta_t;
%figure(2);
subplot(2,1,2)
plot(f,Xm); zoom;
title('Transformada de Fourier de x(t)');
xlabel('frecuencia (Hz)');
ylabel('|X(jw)|');
La magnitud de
El Angulo de
La parte real de
La parte imaginaria de
Universidad Nacional de San Agustín Señales y sistemas
Escuela Profesional de Ingeniería de Telecomunicaciones MG. Romel Jiménez Montes De Oca
Código:
n=-20:20;
Xn=n.*exp(-3*n);
Xk=fft(Xn)
k=n;
figure(1)
subplot(221)
stem(k,real(Xk));
title('parte imaginaria de x(K)');
subplot(223)
stem(k,imag(Xk));
title('parte imaginaria de x(K)');
%RECUPERAR LA SEÑAL X(n)
Xn=ifft(Xk);
subplot(222)
stem(n,real(Xn));
title('parte real de Xn');
subplot(224)
stem(n,imag(Xn));
title('parte imaginaria de Xcn)')
figure(2)
mag=abs(Xk);
subplot(121)
plot(Xn,mag)
title('magnitud de x(k)');
set(gca,'xtick',[15 40 60 85])
%magnitud y face
subplot(122)
fase=unwrap(angle(Xk));
plot(Xn,fase*180/pi)
title('fase de x(k)');
set(gca,'xtick',[15 40 60 85])
Universidad Nacional de San Agustín Señales y sistemas
Escuela Profesional de Ingeniería de Telecomunicaciones MG. Romel Jiménez Montes De Oca
Usando la señal
Código:
clear all
clc
close
t=-20/pi:0.1:20/pi;
x=exp(-t).*((0)*(t<0)+(1)*(t>=0));
subplot(1,3,1);
stem(t,x);
title('X(t)');
subplot(1,3,2);
x1=(1/2)*(exp(-t+3).*((0)*(t<0)+(1)*(t>=0))+exp(-t-
3).*((0)*(t<0)+(1)*(t>=0)));
%f=fft(x);
%re=real(f);
%im=imag(f);
%plot(t,re)
stem(t,x1)
title('(1/2)[X(t+3) + X(t-3)]');
subplot(1,3,3);
x2=(1/2)*(exp(-t+3).*((0)*(t<0)+(1)*(t>=0))-exp(-t-
3).*((0)*(t<0)+(1)*(t>=0)));
stem(t,x2);
title('(1/2)[X(t+3) - X(t-3)]');
Universidad Nacional de San Agustín Señales y sistemas
Escuela Profesional de Ingeniería de Telecomunicaciones MG. Romel Jiménez Montes De Oca
Universidad Nacional de San Agustín Señales y sistemas
Escuela Profesional de Ingeniería de Telecomunicaciones MG. Romel Jiménez Montes De Oca
Código:
t=-0.5:0.5;
x=exp(t);
f=fft(x);
sys=zpk(f);
step(sys)
grid
Código:
Universidad Nacional de San Agustín Señales y sistemas
Escuela Profesional de Ingeniería de Telecomunicaciones MG. Romel Jiménez Montes De Oca
clear all
clc
close
t=0:0.001:0.1;
x=t/4;
f=fft(x);
plot(t,f);
Debido a que más alla de un rango más amplio, el sistema integrador, mantiene
un mismo valor (=0), por lo que se trata de un sistema causal
4. Conclusiones (Mínimo 5)
-Gracias al trabajo se pudo analizar con más precisión el tema de Series de Fourier,
analizando detalladamente sus incisos.
- También se profundizo el desarrollo de la forma exponencial de las Series de Fourier,
comparándola a su vez con la forma trigonométrica, deduciendo diferencias entre ellas así
como resaltando sus principales características.
-Se logró ahondar en la lección de propiedades de Fourier, teniendo este trabajo como una
guía práctica para la futura consulta acerca de este tema.
-Concretizamos el aprendizaje de las propiedades de la serie de Fourier, al revisar
puntualmente aplicaciones de esta.
-Y con los ejercicios aplicativos en Matlab se reforzó todos los pormenores de las
propiedades de las Series de Fourier así como de la convolución, al tener a las gráficas
como un material ilustrativo, didáctico y fácilmente de comprender.