TUTORI TUT RIAL AL PAR ARA A OBT BTEN ENER ER SE SER RIE IES S DE DE FOU FOUR RIE IER R Y GRAFICARLAS EN MATLAB % Este programa grafica una función escalón y sobre ella % una aproximació aproximación n hecha con la serie de Fourier % Introducción al programa y limpia de pantalla clc clear all disp('******************************' disp('******************************' ) disp('Serie disp('Serie de Fourier') Fourier' ) % % % % %
eclaramos una !ariable " la cual es el n#mero de armónicos $ue incluir nuestra aproximación aproximación& & mientras mayor sea el n#mero& ms fiel ser la grfica obtenida a la original (Función escalón) Se declara el inter!alo (x) de la función& $ue !a de pi hasta pi or #ltimo inicialiam inicialiamos os la !ariable S+, a cero
"- input('"#mero input( '"#mero de muestras deseadas (").' )/ x-0pi.1112.pi/ sum-1/ % En el ciclo for se inicialia en 2 y termina en "& el incremento es de % 3& para as4 tener una serie de n#meros impares (2&5&6&7&89) % :os !alores pares de (n) se omiten omiten ya $ue el resultado resultado es cero para % todos ellos& no sumarn nada a la !ariable (sum) % b(n) fue obtenida anal4ticamen anal4ticamente te for n for n - 2. 3. " b(n) - ;<(n*pi)/ sum - sum = b(n) * sin(n*x)/ end % ara tener el resultado aproximado de la se>al& se suma a1<3& % este t?rmino fue obtenido a partir de el !alor promedio del rea ba@o % la cur!a de 0pi a pi& como es una función sim?trica& el !alor es 1& % esto podr4a omitirse& pero se incluye para !er ms claramente la % fórmula de la serie sum - sum = 1/ % Esta es una manera de generar la función escalón (f)& diciendo $ue % toda (x) (x) inferior inferior a 1 !aldr 02& y toda (x) mayor mayor a 1 !aldr !aldr 2 % Esto sólo es !lido en el inter!alo de pi a pi& donde se !e una se>al % cuadrada& si ampl4an los l4mites se !er la grfica de !alores constantes f-(xA1)*(02)=(xB-1)*2/ %
:uego se insertan los comandos para graficar y fin del programa
plot(x&f)/ hold on plot(x&sum) grid title('Serie de Fourier') xlabel('Ciempo' xlabel('Ciempo') ) ylabel('Dolta@e' ylabel('Dolta@e') ) disp('rograma disp('rograma e@ecutado exitosamente exitosamente' ') disp('******************************' disp('******************************' )
****************************** Serie de Fourier Número de muestras muestras deseadas deseadas (N): 1
1.5
1
0.5
0
-0.5
-1
-1.5 -4
-3
-2
-1
0
1
2
3
4
-3
-2
-1
0
1
2
3
4
Para N = 3 1.5
1
0.5
0
-0.5
-1
-1.5 -4
SEÑAL POLAR DE PULSOS RECTANGULARES
En el intervalo 0 t 2 la señal g(t) est dada !or:
1 g(t ) 1
0 t
t 2
"e!resentaremos esta señal !or la serie trigonom#tri$a de Fourier% Se o&serva 'ue la señal g(t) es una un$in im!ar !or lo 'ue an=0 $ontiene t#rminos seno%
2
bn
T 0
sen n 0 t
2 T
2
0
+ = 2
sen n 0 tdt
2 T
enton$es
2
2 $os nt 2 $os nt bn 2 n 2 n 0
=
1 n
$os n 1
1 n
1 $os n
, ......................... para n impar & n 0 ...........................para n par n
g(t) =
b sen n
n 0 t =
n 1
,
sen t
, 3
sen3t
, -
sen-t
.a e/!resin g(t) indi$a 'ue sumando una señal senoidal de re$uen$ia: 0
0
2
1 2
hertz
de
,
volts de am!litud
ms una señal senoidal de re$uen$ia =
3 Hertz una am!litud de 2
se o&tiene una señal de !ulsos re$tangulares%
, 3
volts %%%
1
om!onentes armni$os !ara la señal !olar de !ulsos re$tangulares%
ora se grai$ara el resultado o&tenido mediante la serie de Fourier en 4+.5 % 1) 5"6" E. P"78"4 4+.5 2) Se re$omienda utili9ar el editor (note!ad) de 4+.5 siguiendo los siguientes !asos ile;ne< ;mile% 5) >na ve9 es$rito el $digo salvar $omo (siem!re se salva en la $ar!eta
@ el !rimer armni$o o re$uen$ia undamental de la señal $uadrada en a9ul t=0:%1:10 =,*sin(t);!iA !lot(t) old on @ El segundo armni$o en verde =(,;!i)*Bsin(3*t);3CA old on !lot(tDgD) @el ter$er armoni$o en =(,;!i)*Bsin(-*t);-CA old on !lot(tDD) @el armoni$o =(,;!i)*Bsin(*t);CA old on !lot(tD&D) @la resultante en roo al sumar las armni$as de la señal $uadrada% @siga sumando asta 10 armni$os o&serve 'ue la resultante 'ue se a!are$e mas @a la señal $uadrada =(,;!i)*Bsin(t)sin(3*t);3sin(-*t);- sin(*t);CA !lot(tDrD) 1.5
1
0.5
0
-0.5
-1
-1.5 0
1
2
3
4
5
6
7
8
9
10
SEÑAL TRIANGULAR En$uentre el es!e$tro de re$uen$ia de la señal diente de sierra en la igura en el intervalo oG t G+ la señal g (t) est deinida !or:
Señal Hiente de Sierra%
T
1
T
Fn
g ( t ) e
jn o t
dt
0
>tili9ando la rmula integral:
x
e
dx
x
Ae jn
2
o t
Fn
o
A
te T T
jn o t
dt
0
xe
T
1
T 2 n 2 o2
x 1
jn
+enemos:
o t 1
T 0
2
i 1 2
A ,n
+enemos tam&i#n e jn
2
2
2
e jn2
j 2n
A
1
,n 2 2
= $os n 2 sen n2 = 1 jA
Fn
2n jA
Fn
A ,n
2
2
A
,n
2
2
jA 2n
2 n
uando n = 0 el resultado anterior no tiene sentido !or lo 'ue $al$ulando Fn $uando n=o% Fo =
T
1
T
1
f ( t ) dt
T
0
=
A T
T
0
A T
tdt
A t 2
T
T 2 2 0
A Fo = ao 2 T 2 2 2
gru!ando am&os resultados: jA 2
n Fn 2 A
Para n 0
>tili9ando este resultado !ara e/!resar g(t) en serie e/!onen $ial de Fourier
Para n = 0
+enemos: g(t) =
jA I
e j3
ot
jA ,
e
j 2 t
jA 2
Hes$om!oniendo a Fn en su magnitud ase:
Fn =
A
2 n
e j tg
1
e
j t
A 2
L
A 2n
Fn
jA j e 2
ot
jA j 2 e ,
ot
%%%%%%%
%
%
Fn = JFnJ e j n
A " 2 n " 0 " !
tg 1 ( ) K0 0 Fn
C
0
2
2 2 an bn
n
2
2
Para n Para n
= =
1: 2: 3: % 1:
2:
%
%
3: %
% %
%
Es!e$tro de am!litud es!e$tro de ase !ara la señal diente de sierra% 4ediante la serie trigonom#tri$a de Fourier: 1
a
T
T
f (t )dt
0
an
2
T
T
0
A T
t
A 2
$ o s n o t T
2 A $os n 0 t tsen n 0 t 2 2 T n 0 n 0 0
N7+: x $os
ax
$os a
ax 2
x sen ax a
2 2 $os n T senn T 2 A 1 T T 2 2 T 2 2 n 0 T n 0 n !" T 2 A 1 1 2 2 0 T n 2 n 0 0
2
E/!resando g(t) mediante la serie trigonom#tri$a de Fourier% Se dea al le$tor el $l$ulo de &n g(t) =
A 2
A
sen 0 t
A 2
sen 2 0 t
A 3
sen 3 0 t
A
,
sen , 0
t
%%%%%%%
n= an 2 bn 2 bn
#
n
A b n tg 1 t g 1 2 n t g 1 ( ) 2 an 0
Después de haber evauad! a ser"e de F!ur"er para a se#a $r"a%&uar &ra'()uea e% *a$ab
@SE"6E HE F7>"6E" P" SEM. +"6N8>." t=0:0%1:1-A =1;2sin(t);!iA !lot(tDgD) old on =1;2sin(2*t);(2*!i)A !lot(tD&D) old on =1;2sin(3*t);(3*!i)A !lot(tDrD) old on =1;2sin(,*t);(,*!i)A !lot(tDgD) old on =1;2sin(t);!isin(2*t);(2*!i)sin(3*t);(3*!i)sin(,*t);(,*!i)A !lot(tD&D) 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0
5
10
15
+"NSF7"4H HE F7>"6E" Creamos un script para realizar las siguientes tareas: 1. Construir una serie temporal ( x , t ) formada por n=214=16384 pares de datos, tomando un intervalo de tiempo t =!"4 s, o #ien una frecuencia de muestreo de f s=2"$ %z" &l tiempo final es t final=16383'!"4=6$$3"2 s 2. Calcular la transformada rpida de ourier fft * la guardamos en el vector g 3. Crear el arra* de frecuencias ω como en el cuadro anterior 4. Calculamos la potencia power : el cuadrado del valor a#soluto de cada elemento de g" 5. +epresentar grficamente power en trminos de la frecuencia angular ω
-serie temporal n=2.14/ dt=!"4/ t=(!:n01)'dt/ -vector de tiempos =cos(t)!"$'cos(3't)!"4'cos(3"$'t)!"'cos(4't)!"2'cos(6't)/ -amplitud0fase vs" frecuencias g=fft()/ poer=a#s(g)".2/ d=2'pi5(n'dt)/ =(!:n01)'d/ -vector de frecuencias angulares plot(,poer) la#el(7omega) *la#el((7omega)) title(&spectro de potencia)
7
7
Espectro de potencia
x 10
6
5
4
) ( P
3
2
1
0 0
2
4
6
8
10
12
14
16
-serie temporal n=2.14/ dt=!"4/ t=(!:n01)'dt/ -vector de tiempos =cos(t)!"$'cos(3't)!"4'cos(3"$'t)!"'cos(4't)!"2'cos(6't)/ -amplitud0fase vs" frecuencias *=fft()/ g=ffts9ift(*)/ poer=a#s(g)".2/ d=2'pi5(n'dt)/ =(0n52:n5201)'d/ plot(,poer) la#el(7omega) *la#el((7omega)) grid on title(&spectro de potencia) 7
7
Espectro de potencia
x 10
6
5
) ( P
4
3
2
1
0 -8
-6
-4
-2
0
2
4
6
8
n=2.14/ dt=!"4/ t=(!:n01)'dt/ -vector de tiempos =cos(t)!"$'cos(3't)!"4'cos(3"$'t)!"'cos(4't)!"2'cos(6't)/ -amplitud0fase vs" frecuencias
g=fft()/ poer=a#s(g)".2/ d=2'pi5(n'dt)/ =(!:n01)'d/ c=pi5dt/ -frecuencia angular crtica plot(,poer) lim(;! c<) la#el(7omega) *la#el((7omega)) grid on title(&spectro de potencia) 7
7
Espectro de potencia
x 10
6
5
) (
4
P
3
2
1
0 0
1
2
3
4
5
6
7