Вы находитесь на странице: 1из 13

Universidad de las Fuerzas Armadas ESPE

Extensión-Latacunga
Nombre: Darwin Taco Periodo Académico: Carrera: Electrónica e
Marzo 19-Julio19 Instrumentación

Curso: Cuarto “A” Asignatura: Señales y Fecha: 24-07-2019


Sistemas

Trabajo Autónomo 3.1


Tema: Transformada de Fourier
Resolver los siguientes ejercicios utilizando MATLAB

1. Para cada una de las señales periódicas que aparecen en la figura:


a) Calcule la serie exponencial compleja de Fourier (Sugerencia: Utilice Symbolic Math
Toolbox MATLAB para calcular los coeficientes)
b) Esquematice los espectros de amplitud y de fase para: k = ±1, ±2, ±3, ±4, ±5.

2 ;0 < 𝑡 < 2
𝑥(𝑡) = {
−1 ; 2 < 𝑡 < 3
𝑇=3
clc
clear all
%
______________________________________________________________________
_____
t=[-3 -1 -1 0 0 2 2 3 3 5 5 6 6 8];
x=[2 2 -1 -1 2 2 -1 -1 2 2 -1 -1 2 2];
subplot(2,2,[3,4]);
plot(t,x,'LineWidth',2);
axis ( [-3 8 -2 3] )
xlabel ('Time (sec) ' )
ylabel(' x (t) ')
title( ' (a) Señal Periódica')
grid on
syms t n
% ______________________Calcular la serie exponencial compleja de
fourier
% 1)Periodo
T=3; %T Periodo.
wo=2*pi/T; %w Frecuencia fundamental
% f Función de la gráfica
% Ao Coeficiente de Fourier de serie exponencial
% An Coeficiente de Fourier de serire exponencial

% 2) calculamos C0
A0=1/T*(int(2,t,0,2)+int(-1,t,2,3));
% 3) calculamos Ck

d=vpa(A0,5); %Muestra Ao con una cantidad de cifras de presición


fprintf('Serie Compleja de Fourier\n')
fprintf('A0 = %f\n',d)
f=2;
f1=-1;
An=1/T*(int(f*exp(-n*wo*t*i),t,0,2)+int(f1*exp(-n*wo*t*i),t,2,3));%
Coeficiente de Fourier
fprintf('An = \n')
pretty(simplify(An)) % Muestra An de una forma más estética y
compresible

%_____________________________________________-

g=inline(abs(An)); %Transformo a tipo vector (Espectro de Amplitud)


%Uso de lazos for para generar vectores que no contengan 0 porque
n!=0.
c=1;
n1=-5:-1;
for(i=-5:-1)
x1(c)=g(i);
c=c+1;
end
n2=1:5;
c=1;
for(i=1:5)
x2(c)=g(i);
c=c+1;
end

subplot(2,2,1); %Forma de mostrar la gráfica


hold on
stem(n1,x1,'filled');
stem(n2,x2,'filled');
xlabel('n')
ylabel('Amplitud')
title('Espectro de amplitud')
hold off
grid
%
______________________________________________________________________
_______
h=atan(imag(An)/real(An)); % Calculo Espectro de Fase
h=inline(h);
c=1;
for(i=-5:-1)
h1(c)=h(i)*180/pi;
c=c+1;
end
c=1;
for(i=1:5)
h2(c)=h(i)*180/pi;
c=c+1;
end
% Código de graficación
subplot(2,2,2);
hold on
stem(n1,h1,'filled')
stem(n2,h2,'filled');
xlabel('n')
ylabel('Fase')
title('Espectro de fase')
hold off
grid

Corrido del programa:


𝑥(𝑡) = {−𝑡 + 2 ; 0 < 𝑡 < 2
𝑇=2
clc
clear all
%
______________________________________________________________________
_____
t=[-2 -2 0 0 2 2 4 4 6];
x=[0 2 0 2 0 2 0 2 0];
subplot(2,2,[3,4]);
plot(t,x,'LineWidth',2);
axis ( [-2 6 -1 3] )
xlabel ('Time (sec) ' )
ylabel(' x (t) ')
title( ' (a) Señal Periódica')
grid on
syms t n

% ______________________Calcular la serie exponencial compleja de


fourier
% 1)Periodo
T=2; %T Periodo.
wo=2*pi/T; %w Frecuencia fundamental
% f Función de la gráfica
% Ao Coeficiente de Fourier de serie exponencial
% An Coeficiente de Fourier de serire exponencial

% 2) calculamos C0
f=(-t+2);
A0=1/T*(int(f,t,0,2));
% 3) calculamos Ck

d=vpa(A0,5); %Muestra Ao con una cantidad de cifras de presición


fprintf('Serie Compleja de Fourier\n')
fprintf('A0 = %f\n',d)

An=1/T*(int(f*exp(-n*wo*t*i),t,0,2));% Coeficiente de Fourier


fprintf('An = \n')
pretty(simplify(An)) % Muestra An de una forma más estética y
compresible

%_____________________________________________-

g=inline(abs(An)); %Transformo a tipo vector (Espectro de Amplitud)


%Uso de lazos for para generar vectores que no contengan 0 porque
n!=0.
c=1;
n1=-5:-1;
for(i=-5:-1)
x1(c)=g(i);
c=c+1;
end
n2=1:5;
c=1;
for(i=1:5)
x2(c)=g(i);
c=c+1;
end

subplot(2,2,1); %Forma de mostrar la gráfica


hold on
stem(n1,x1,'filled');
stem(n2,x2,'filled');
xlabel('n')
ylabel('Amplitud')
title('Espectro de amplitud')
hold off
grid
%
______________________________________________________________________
_______
h=atan(imag(An)/real(An)); % Calculo Espectro de Fase
h=inline(h);
c=1;
for(i=-5:-1)
h1(c)=h(i)*180/pi;
c=c+1;
end
c=1;
for(i=1:5)
h2(c)=h(i)*180/pi;
c=c+1;
end
% Código de graficación
subplot(2,2,2);
hold on
stem(n1,h1,'filled')
stem(n2,h2,'filled');
xlabel('n')
ylabel('Fase')
title('Espectro de fase')
hold off
grid

Corrido del programa:


𝑡 0<𝑡<2
𝑥(𝑡) = {
2 2<𝑡<4
𝑇=4

Código Modificado:
t=[-8 -6 -4 -4 -2 0 0 2 4 4 6 8];
x=[0 2 2 0 2 2 0 2 2 0 2 2];
subplot(2,2,[3,4]);

f=t;
f1=2;
A0=1/T*(int(f,t,0,2)+int(f1,t,2,4));

An=1/T*(int(f*exp(-n*wo*t*i),t,0,2)+int(f1*exp(-n*wo*t*i),t,2,4));%
Coeficiente de Fourier
fprintf('An = \n')
𝑡
− +1;0 < 𝑡 < 2
𝑥(𝑡) = { 𝑡2
− 1; 2 < 𝑡 < 4
2
𝑇=4
Codigo modificado:
t=[-6 -4 -2 0 2 4 6];
x=[0 1 0 1 0 1 0];

f=-t/2+1;
f1=t/2-1;
1
4𝑡 ; 0 < 𝑡 <
4
1 1
𝑥(𝑡) = 1; <𝑡 <
4 2
1 3
{−4𝑡 + 3 ; 2 < 0 < 4
3
𝑇=
4
Codigo Modificado:
t=[-5/4 -1 -3/4 -1/2 -1/4 0 1/4 1/2 3/4 1 5/4];
x=[1 1 0 1 1 0 1 1 0 1 1];

f=4*t; % 0 1/4
f1=1; % 1/4 1/2
f2=-4*t+3; % 1/2 3/4
A0=1/T*(int(f,t,0,1/4)+int(f1,t,1/4,1/2)+int(f2,t,1/2,3/4));

An=1/T*(int(f*exp(-n*wo*t*i),t,0,1/4)+int(f1*exp(-
n*wo*t*i),t,1/4,1/2)+int(f2*exp(-n*wo*t*i),t,1/2,3/4));% Coeficiente
de Fourier
fprintf('An = \n')
pretty(simplify(An))

0; 0<𝑡 <1
𝑥(𝑡) = {
2𝑡 − 2 ; 1 < 𝑡 < 2
𝑇=2

Codigo Modificado:

t=[-4 -3 -2 -2 -1 0 0 1 2 2 3 4 4];
x=[0 0 2 0 0 2 0 0 2 0 0 2 0];
f=2*t-2; % 1 2

A0=1/T*(int(f,t,0,2));

An=1/T*(int(f*exp(-n*wo*t*i),t,0,2));% Coeficiente de Fourier


fprintf('An = \n')

2.- Calcule la DFT para cada una de las señales, utilizando de MATLAB. Dichas señales son cero
para n < 0 y n ≥ 4:

clc
clear all
syms k
% x[n] = [na na na]
x=[1 0 1 0]; %se ingresa la funcion
N=4; % periodo
fprintf('Señal discreta \n')
for n=0:1:3
xi=x(n+1);
fprintf('x[%d] = %d\n',n,xi)
end
omega=2*pi/N; %Calculo Omega
XK=0;
for n=0:1:3
XK=x(n+1)*exp(-omega*k*n*i)+XK;
end
xk1=inline(XK);%Transformo xkf a un vector.
fprintf('X_k = %s\n \n',XK)
%Muestro el valor de Xk evaluado en k=1,2,3,4
for(k=0:1:3)
xk(1,k+1)=xk1(k);
fprintf('Con k=%i = ',k+1)
disp(xk(k+1))
end

a)

b)
c)

d)

e)

f)
3.- Considere el filtro digital ideal pasa baja con función de respuesta en frecuencia H(V)
definida por:

clc
clear all
% ejercicio 3
fprintf('Filtro ideal pasa bajo')
n = 0:31;
x = [ones(1,10) zeros(1,22)];
Xk =fft(x);
k = 0:4;
Hk = [exp(-j*10*2*pi*k/32) zeros(1,32-2*length(k))];
Hk = [Hk conj(Hk(length(k)+1:-1:2))];
Yk = Xk.*Hk;
y=ifft(Yk)

Вам также может понравиться