Sunteți pe pagina 1din 14

ESCUELA POLITCNICA NACIONAL

FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA

PROCESAMIENTO DIGITAL DE SEALES

Paralelo GR2

DEBER N 4

Karen Pantoja

Christian Basantes

ING. ROBIN ALVAREZ


Tema: Serie de Fourier
PLANTEAMIENTO DEL PROBLEMA
Para diferentes tipos de seales implementar su correspondiente serie de Fourier

TEORA
Serie de Fourier
Una serie de Fourier es una serie infinita que converge puntualmente a
una funcin peridica y continua a trozos (o por partes). Las series de Fourier constituyen
la herramienta matemtica bsica del anlisis de Fourier empleado para analizar
funciones peridicas a travs de la descomposicin de dicha funcin en una suma infinita
de funciones senoidales mucho ms simples (como combinacin de senos y cosenos con
frecuencias enteras). El nombre se debe al matemtico francs Jean-Baptiste Joseph
Fourier que desarroll la teora cuando estudiaba la ecuacin del calor. Fue el primero
que estudi tales series sistemticamente, y publicando sus resultados iniciales
en 1807 y 1811. Esta rea de investigacin se llama algunas veces Anlisis armnico.
Es una aplicacin usada en muchas ramas de la ingeniera, adems de ser una herramienta
sumamente til en la teora matemtica abstracta. reas de aplicacin incluyen anlisis
vibratorio, acstica, ptica, procesamiento de imgenes y seales, y compresin de datos.
En ingeniera, para el caso de los sistemas de telecomunicaciones, y a travs del uso de
los componentes espectrales de frecuencia de una seal dada, se puede optimizar el diseo
de un sistema para la seal portadora del mismo. Refirase al uso de un analizador de
espectros.
Las series de Fourier tienen la forma:

Donde y se denominan coeficientes de Fourier de la serie de Fourier de la


funcin

CLCULOS SERIES

2 2
a0 = ()

2

2 2
= ()()

2

2 2
= ()()

2
Como la frecuencia para todas las seales que generamos es 1000Hz el periodo T
ser igual a 1/1000 esto es igual a 10^-3seg.

SEAL SINUSOIDAL
103
2 2
0 = 3 3 (2000)
10
10
2
5104
0 = 2000 (2000)
5104
cos(2000)
0 = 2000 [ ]
2000
0 = (1 1) = 0


2 2
= (2000)(2000)

2
cos(4000)
= 11 = 2000 [ ]
8000
1 = 0
cos(6000) 3cos(2000)
= 22 = 2000 [ ]
12000
2 = 0


2 2
= (2000)(2000)

2
sen(4000)
= 11 = 2000 [ ]
2 8000
1 = 0.5
sen(6000) 3sen(2000)
= 22 = 2000 [ ]
12000
2 = 0

SEAL TRIANGULAR
103
0
2 2
0 = [ (4000 1) + 4000 + 1 ]
103 103 0
2
0 5104
0 = 2000 (4000 1) + 4000 + 1
5104 0
0 = 2000[(2000 2 ) + (2000 2 + )]

0 = 2000(5 104 + 5 104 5 104 + 5 104 ) = 0


2 2
= [(4000 1) + (4000 + 1)](2000)

2
= 11 = 4
= 22 = 0

2 2
= [(4000 1) + (4000 + 1)](2000)

2
= 11 = 0
= 22 = 0

SEAL DIENTE DE SIERRA


103
2 2
0 = 2000 1
103 103
2
5104
0 = 2000 2000 1
5104
0 = 2000[1000 2 ]
0 = 2000(2.5 104 5 104 2.5 104 5 104 )
0 = 2


2 2
= (2000 1)(2000)

2
= 11 = 2
= 22 = 2

2 2
= (2000 1)(2000)

2
= 11 = 3
= 22 = 1

SEAL CUADRADA
103
0
2 2
0 = 3 [ 3 1 + 1]
10
10
0
2
0 5104
0 = 2000 1 + 1
5104 0
0 = 2000[() + ()]
0 = 2000(5 104 5 104 ) = 0


2 0 2 2
= (2000) (2000)
0
2
= 11 = 2
= 22 = 0

2 0 2 2
= (2000) (2000)
0
2
= 11 = 6.15
= 22 = 0

CDIGO EN MATLAB

ONDA CUADRADA

clc, clear all, close all


%Paso1: Det Fmax
Fmax=100;
%Paso2: Fs. Suficientes nmero de muestras por periodo
Fs=200*Fmax;
%Paso3: Eje de tiempo; 5s Son los segundos que se utilizan (Eje de las
X)
t=0:1/Fs:5;

%Paso5: Graficar
y=0.5*square(2*pi*100*t)+0.5;
subplot(2,1,1)
g=1000;
plot(t(1:g),y(1:g))
xlabel('t');
ylabel('Amplitud');
title('Onda cuadrada');
ylim([-0.5 1.5])
grid on

subplot(2,1,2)
t = 0:.02:3.14; % definir el vector tiempo
x = zeros(size(t)); %definir el vector x
for k = 1:2:2000 %elaboracion de l serie de fourier
x =x+(4/pi).*(sin(k*10*t)/(k));
end
s=x; %suma del primer armonico y DC
plot (s+1)
title('Serie de fourier de una seal cuadrada');
xlabel('t(seg)') %escala de x
ylabel('amplitud') %escala de y
grid on
ONDA CUADRADA CON PARTE NEGATIVA

clc, clear all, close all


%Paso1: Det Fmax
Fmax=100;
%Paso2: Fs. Suficientes nmero de muestras por periodo
Fs=200*Fmax;
%Paso3: Eje de tiempo; 5s Son los segundos que se utilizan (Eje de las
X)
t=0:1/Fs:5;
subplot(2,1,1)
%Paso5: Graficar
y=0.5*square(2*pi*1000*t,70)+0.1;
g=100;
plot(t(1:g),y(1:g))
xlabel('t');
ylabel('Amplitud');
title('Onda cuadrada con parte negativa');
ylim([-0.5 1])
grid on

subplot(2,1,2)
t = 0:.02:3.14; % definir el vector tiempo
x = zeros(size(t)); %definir el vector x
for k = 1:2:2000 %elaboracion de l serie de fourier
x =x+(4/pi).*(sin(k*10*t)/(k));
end
s=x; %suma del primer armonico y DC
plot (s/2+0.6)
title('Serie de fourier de una seal cuadrada');
xlabel('t(seg)') %escala de x
ylabel('amplitud') %escala de y
grid on

ONDA TRIANGULAR
clc

F=100; %frecuencia Fundamental


Fs=200*F; %Teorema de muestreo
t=0:1/Fs:5; %Creamos el intervalo del tiempo
y=(1+sawtooth(2*pi*1000*t,0.5))/2; %comando de matlab para generar
una seal diente de sierra 0.7 indica la pendiente del diente de
sierra sumamos 1 para que se desplace la seal y dividimos en dos la
amplitud para obtener la grafica requerida
subplot(2,1,1)
g=100;
plot(t(1:g),y(1:g)) %graficar la seal
xlabel('t(seg)') %escala de x
ylabel('amplitud') %escala de y
title('Diente de sierra') %titulo
grid on %rejillas

subplot(2,1,2)
t = 0:.02:3.14; % definir el vector tiempo
x = zeros(size(t)); %definir el vector x
for k = 1:2:2000 %elaboracion de l serie de fourier
x =x+(4/pi).*(cos(k*10*t)/(k^2));
end
s=pi/2-x; %suma del primer armonico y DC
plot (s/3)
title('Serie de fourier de una seal triangular');
xlabel('t(seg)') %escala de x
ylabel('amplitud') %escala de y

ONDA TRIANGULAR CON OFFSET


clc

F=100; %frecuencia Fundamental


Fs=200*F; %Teorema de muestreo
t=0:1/Fs:5; %Creamos el intervalo del tiempo
y=(1+sawtooth(2*pi*1000*t,0.5))/2; %comando de matlab para generar
una seal diente de sierra 0.7 indica la pendiente del diente de
sierra sumamos 1 para que se desplace la seal y dividimos en dos la
amplitud para obtener la grafica requerida
subplot(2,1,1)
g=100;
plot(t(1:g),y(1:g)) %graficar la seal
xlabel('t(seg)') %escala de x
ylabel('amplitud') %escala de y
title('Diente de sierra') %titulo
grid on %rejillas

subplot(2,1,2)
t = 0:.02:3.14; % definir el vector tiempo
x = zeros(size(t)); %definir el vector x
for k = 1:2:2000 %elaboracion de l serie de fourier
x =x+(4/pi).*(cos(k*10*t)/(k^2));
end
s=pi/2-x; %suma del primer armonico y DC
plot ((s/3)-0.3)
title('Serie de fourier de una seal triangular con offset');
xlabel('t(seg)') %escala de x
ylabel('amplitud') %escala de y
grid on

ONDA DIENTE DE SIERRA


clc

F=100; %frecuencia Fundamental


Fs=200*F; %Teorema de muestreo
t=0:1/Fs:5; %Creamos el intervalo del tiempo
y=sawtooth(2*pi*1000*t); %comando de matlab para generar una seal
diente de sierra este comando nos
g=100;
subplot(2,1,1)
plot(t(1:g),y(1:g))
xlabel('t(seg)') %escala de x
ylabel('amplitud') %escala de y
title('Diente de sierra') %titulo
grid on %rejillas

subplot(2,1,2)
t = 0:.02:3.14; % definir el vector tiempo
x = zeros(size(t)); %definir el vector x
for k = 1:1:200 %elaboracion de l serie de fourier
x =x+2.*(sin(k*10*t)/k).*(-1)^(k-1);
end
s=((2/3).*x)-1;
plot (s)
title('Serie de fourier de una seal diente de sierra');
xlabel('t(seg)') %escala de x
ylabel('amplitud') %escala de y

RECTIFICADOR DE MEDIA ONDA


clc, clear all, close all
%Paso1: Det Fmax
Fmax=100;
%Paso2: Fs. Suficientes nmero de muestras por periodo
Fs=200*Fmax;
%Paso3: Eje de tiempo; 5s Son los segundos que se utilizan (Eje de las
X)
t=0:1/Fs:5;
%Paso4: Vector de amplitudes
y=abs(sin(2*pi*1000*t));
%Paso5: Graficar
y=sin(2*pi*1000*t);
for i=1:length(y)
if y(i)<0
y(i)=0;
else
y(i)=y(i);
end
end
subplot(2,1,1)
g=100;
plot(t(1:g),y(1:g))
xlabel('t');
ylabel('Amplitud');
title('Rectificador de media onda');

subplot(2,1,2)
t = 0:.02:3.14; % definir el vector tiempo
x = zeros(size(t)); %definir el vector x
for k = 2:2:2000 %elaboracion de l serie de fourier
x =x+(2/pi).*(cos(k*10*t)/((k^2)-1));
end
s=1/pi+sin(10*t)/2-x; %suma del primer armonico y DC
plot (s)
title('Serie de fourier de una seal rectificada de media onda');
xlabel('t(seg)') %escala de x
ylabel('amplitud') %escala de y
RECTIFICADOR DE ONDA COMPLETA

clc, clear all, close all


%Paso1: Det Fmax
Fmax=100;
%Paso2: Fs. Suficientes nmero de muestras por periodo
Fs=200*Fmax;
%Paso3: Eje de tiempo; 5s Son los segundos que se utilizan (Eje de las
X)
t=0:1/Fs:5;
%Paso4: Vector de amplitudes
y=abs(sin(2*pi*1000*t));
%Paso5: Graficar
g=100;
subplot(2,1,1)
plot(t(1:g),y(1:g))
xlabel('t');
ylabel('Amplitud');
title('Rectificador de onda completa');

subplot(2,1,2)
t = 0:.02:3.14; % definir el vector tiempo
x = zeros(size(t)); %definir el vector x
for k = 2:2:2000 %elaboracion de l serie de fourier
x =x+(4/pi).*(cos(k*10*t)/((k^2)-1));
end
s=2/pi-x; %suma del primer armonico y DC
plot (s)
title('Serie de fourier de una seal rectificada de media onda');
xlabel('t(seg)') %escala de x
ylabel('amplitud') %escala de y

RECTIFICADOR DE ONDA COMPLETA TRUNCADA


clc, clear all, close all
%Paso1: Det Fmax
Fmax=100;
%Paso2: Fs. Suficientes nmero de muestras por periodo
Fs=200*Fmax;
%Paso3: Eje de tiempo; 5s Son los segundos que se utilizan (Eje de las
X)
t=0:1/Fs:5;
%Paso4: Vector de amplitudes
y=abs(sin(2*pi*1000*t));
%Paso5: Graficar

for i=1:length(y)
if y(i)>0.8
y(i)=0.8;
else
y(i)=y(i);
end
end
subplot(2,1,1)
g=100;
plot(t(1:g),y(1:g))
xlabel('t');
ylabel('Amplitud');
title('Rectificador de onda completa truncada');
ylim([-0.1 1])

subplot(2,1,2)
t = 0:.02:3.14; % definir el vector tiempo
x = zeros(size(t)); %definir el vector x
for k = 2:2:2000 %elaboracion de l serie de fourier
x =x+(4/pi).*(cos(k*10*t)/((k^2)-1));
end
s=2/pi-x; %suma del primer armonico y DC
for i=1:length(s)
if s(i)>0.8
s(i)=0.8;
else
s(i)=s(i);
end
end
plot (s)
title('Serie de fourier de una seal rectificada de media onda
truncada');
xlabel('t(seg)') %escala de x
ylabel('amplitud') %escala de y
ylim([-0.1 1])

RECTIFICADOR DE MEDIA ONDA OMBINADO CON TRIANGULAR

clc, clear all, close all


%Paso1: Det Fmax
Fmax=1000;
%Paso2: Fs. Suficientes nmero de muestras por periodo
Fs=200*Fmax;
%Paso3: Eje de tiempo; 5s Son los segundos que se utilizan (Eje de las
X)
t=0:1/Fs:5;

y=sin(2*pi*1000*t);
for i=1:length(y)
if y(i)<0
y(i)=0.5*sawtooth(2*pi*2000*t(i),0.5)+0.5;
else
y(i)=y(i);
end
end
subplot(2,1,1)
g=500;
plot(t(1:g),y(1:g));
xlabel('t(seg)');
ylabel('Amplitud');
title('Rectificador de media onda conbinado con triangular');
%%serie de una seal triangular
subplot(2,1,2)
t = 0:.02:3.14; % definir el vector tiempo
x = zeros(size(t)); %definir el vector x
for k = 1:2:2000 %elaboracion de l serie de fourier
x =x+(4/pi).*(cos(k*10*t)/(k^2));
end
s=(pi/2-x)/3; %suma del primer armonico y DC
%%serie de una seal rectificada de media onda
t = 0:.02:3.14; % definir el vector tiempo
x = zeros(size(t)); %definir el vector x
for k = 2:2:2000 %elaboracion de l serie de fourier
x =x+(2/pi).*(cos(k*5*t)/((k^2)-1));
end
s1=1/pi+sin(5*t)/2-x; %suma del primer armonico y DC
%% se hace cero los intervalos para que no se sume la seal de media
onda con la triangular en los intervalos deseados
s(:,1:32)=0;
s(:,64:96)=0;
s(:,124:158)=0;
s1(:,32:64)=0;
s1(:,96:124)=0;
s2=s1+s; %% suma de seales
subplot(2,1,2)
plot(s2)
title('Serie de fourier de una seal triangular mas una de media
onda');
xlabel('t(seg)') %escala de x
ylabel('amplitud') %escala de y
grid on

CONCLUSIONES : Las series de Fourier son un buen mtodo de aproximacin para la


generacin de una seal.

S-ar putea să vă placă și