Series de Fourier

30
SERIES DE FOURIER

Transcript of Series de Fourier

Page 1: Series de Fourier

SERIES DE FOURIER

Page 2: Series de Fourier

SERIES DE FOURIER

1

TABLA DE CONTENIDO

I. Introducción …………………………………………………………..2

II. Objetivos……………………………………………………………….3

III. Marco teórico………………………………………………………….4

IV. Desarrollo de Series de Fourier…………………………………….7

I. Series de Fourier complejas…………………………………7

II. Señales en Matlab………………………………………….12

III. Serie de Fourier……………………………………………..21

i. Método analítico……………………………………….........21

ii. Programando en Matlab……………………………………23

V. Conclusión……………………………………………………………28

VI. Bibliografía……………………………………………………………29

Page 3: Series de Fourier

SERIES DE FOURIER

2

I. INTRODUCCION

La idea básica de las series de Fourier es que toda función o señal periódica de

periodo T puede ser expresada como una suma trigonométrica de senos y cosenos

del mismo periodo. Descubierta a finales del siglo XVIII por Jan Baptiste Joseph

Fourier (1768 - 1830) para tratar la solución de problemas de valores en la frontera

en la conducción del calor, hoy día sus aplicaciones son amplias en

telecomunicaciones, audio, video, imagen (médica, satelital), geofísica, entre otras.

La noción de señal es bastante amplia y aparece en diferentes situaciones en las

cuales ciertas cantidades varían en el tiempo o el espacio de una magnitud física o

de otra naturaleza. Por tanto está ligada al concepto de función. El análisis armónico

también conocido como el Análisis de Fourier juega un papel muy importante en la

Ingeniería, en los sistemas de telecomunicaciones, y a través del uso de espectros

de frecuencia.

En este documento se presentan algunos ejemplos y ejercicios de la realización

manual y en el software MATLAB, el cual es un programa de cálculo científico de

gran versatilidad y facilidad de uso con un gran numero de herramientas orientadas a

una amplia diversidad de aplicaciones entre ellas la modelación y representación

grafica de las series de Fourier.

Page 4: Series de Fourier

SERIES DE FOURIER

3

II. OBJETIVOS

OBJETIVO GENERAL

Desarrollar funciones con series de Fourier de forma analítica y en el software

Matlab.

OBJETIVOS ESPECIFICOS

Analizar las aproximaciones de las funciones periódicas mediante

combinaciones lineales de funciones trigonométricas.

Representar funciones en términos de series de Fourier.

Establecer las herramientas fundamentales para el manejo de las series de

Fourier de una función periódica con Matlab.

Page 5: Series de Fourier

SERIES DE FOURIER

4

III. MARCO TEORICO

Una serie de Fourier es una ampliación de una función periódica en términos de una

suma infinita de senos y cosenos. Estas series hacen uso de las relaciones de

ortogonalidad de las funciones seno y coseno. El cálculo y estudio de series de

Fourier es extremadamente útil como una manera de romper una función arbitraria

periódica a un conjunto de términos simples que pueden ser conectados, resuelto

individualmente, y luego recombinados para obtener la solución al problema original

o una aproximación a ella, la precisión que se desea o la más útil.

Sea f(t) una función periódica de periodo T, llamaremos SERIE DE FOURIER

asociada a f(t) a una serie trigonométrica. La serie puede desarrollarse para igualar

cualquier función deseada durante cualquier duración finita de tiempo mientras la

componente fundamental de la serie pasa por un ciclo completo. Si llamamos t1 al

principio y t2 al final del período T de la componente fundamental será t2 – t1 = T y

con ello:

wT = 2p ; T = 2p/w ó w = 2p/T

El método de encontrar los coeficientes, llamado análisis de Fourier, se basa en que

las funciones seno y coseno constituyen un sistema ortogonal, esto es el promedio

de sus productos en cruz es cero.

Y con esto resulta:

Page 6: Series de Fourier

SERIES DE FOURIER

5

Casos particulares

Podemos demostrar que hay condiciones de simetría que permiten establecer la

existencia o no de determinados términos en la serie, lo que nos ahorra trabajo en el

cálculo.

Función impar: f(x) = -f(-x) sólo tienen términos en senos, haciendo uso del hecho

que f(t) = -f(-t) = -f(t'):

Y también

Función par: f(x) = f(-x) sólo tienen términos en cosenos y la constante.

Y también.

LA SERIE DE FOURIER COMPLEJA

Comenzamos recordando la formula

de Euler3: eiµ = cos µ + i sin µ. Si

tenemos en cuenta las paridades de

las funciones sin µ y cos µ, entonces

resulta que podemos invertir la

relación de Euler de la siguiente

forma:

Fig. 1. Ejemplo de una grafica de una serie de Fourier

Page 7: Series de Fourier

SERIES DE FOURIER

6

Entonces las funciones {eiµ; e¡iµ ] también forman un sistema libre. En realidad, la

sucesión de funciones {einµ ª1 n=¡1 }no solo forma un sistema libre sino que es

además un sistema ortogonal de funciones respecto del producto interior de

Ahora, dada una señal arbitraria x(t) 2 L2(¡¼; ¼), podemos asociarle su serie formal)

de Fourier compleja:

Page 8: Series de Fourier

SERIES DE FOURIER

7

IV. DESARROLLO DE SERIES DE FOURIER

IV.I. Series de Fourier complejas

Determina la serie de Fourier Compleja:

1. ( )

( ) ( )

T = 3

[

] |

[ ( )

( )

]

[

]

[

(

)

(

) ] |

[

(

)

(

)

(

) ]

( )

( ) ( ) ( )

[

( )

( )

( ) ]

[

( )]

( )

( )

3

0

𝑓′(𝑡) 𝑔(𝑡) 𝑑𝑡

+ t 𝑒 𝑖𝑛 𝜋

𝑡

- 1 𝑒 𝑖𝑛 𝜋

𝑡 ( 𝑖𝑛

𝜋

)

+ 0 𝑒 𝑖𝑛 𝜋

𝑡 ( 𝑖𝑛

𝜋

)

Page 9: Series de Fourier

SERIES DE FOURIER

8

La serie de Fourier Compleja es

( ) ∑ (

)

2. ( ) {

( ) ( )

T = 4

[ ∫ ∫

]

[ ∫ ∫

]

[ |

|

]

[ ( ) ( )]

[ ]

[ ]

[∫

]

[ ∫

]

[

( )

|

( )

|

]

[(

( )

( )) (

( )

( ))]

( ) ( ) ( )

( ) ( ) ( )

Page 10: Series de Fourier

SERIES DE FOURIER

9

[

( )

( )

( )

( )

]

[ ]

La serie de Fourier Compleja es

( )

3. ( )

( ) ( )

T = 6

[∫( )

]

[ ∫ ∫

]

[ |

|

]

[( ) (

( )

( )

)]

[ ]

[ ]

∫( )

[∫

]

𝑓′(𝑡) 𝑔(𝑡) 𝑑𝑡

+ t 𝑒 𝑖𝑛𝜋

𝑡

- 1 𝑒 𝑖𝑛𝜋

𝑡 ( 𝑖𝑛

𝜋

)

+ 0 𝑒 𝑖𝑛𝜋

𝑡 ( 𝑖𝑛

𝜋

)

Page 11: Series de Fourier

SERIES DE FOURIER

10

[

( )

|

(

( )

( )

)|

]

[

( )

( ) (

( )

( )

( ) )]

[

( )

( )

( )

( )

( )

]

( ) ( ) ( )

[

( )

( )

( )

( )

( )

]

[

( )

]

( )

La serie de Fourier Compleja es

( ) ∑ (

)

Page 12: Series de Fourier

SERIES DE FOURIER

11

4. ( )

( ) ( )

T = 5

[∫

]

[ |

]

[ ( )]

[∫

( )

]

[

( )

( )

]|

[

( )

( )

]

[

( )

]

( ) ( ) ( )

[

(

)]

( )

La serie de Fourier Compleja es

( ) ∑ (

)

Page 13: Series de Fourier

SERIES DE FOURIER

12

IV.II. Señales en Matlab

1.

>> t=0 :0.01 :pi; Los : se usan para generar matrices, indica todas las filas o todas las

columnas de esta; en una función con los dos puntos se colocan el primer y

ultimo valor que esta tomara y el incremento por defecto será 1, pero si se

desea usar un incremento diferente se coloca entre estos dos números en

este caso, el incremento será de 0.01.

>> y=t; El ; separa filas en una definición de matriz, suprime salida cuando se usa en

comandos, cabe recordar que la matriz es el tipo de datos principal que se

usa en Matlab y puede retener información numérica así como otros tipos de

información.

>> for n=-3:3 Los bucles se usan cuando se necesita repetir un conjunto de instrucciones

muchas veces, Matlab soporta dos tipos de bucles uno de ellos es for, este

es la opción mas sencilla cuando se sabe cuantas veces se repetirá el bucle, la

primera línea de su estructura identifica el bucle y define el indice en este

caso n, que es un numero que cambia en cada paso a traves del bucle.

Después viene el grupo de comandos que se quiere ejecutar. Finalmente la

terminación del bucle se identifica mediante el comando end.

tt=t+n*pi

hold on hold : congela la grafica actual, de modo que se puede recubrir una grafica

adicional, la creación de una grafica con mas de una línea se puede lograr en

muchas formas. Por defecto, la ejecución de un segundo enunciado plot

(comando que crea una grafica x-y) borrara la primera grafica. Sin embargo,

se pueden apilar las graficas unas encimas de otras con el comando hold on.

Matlab continuara poniendo en capa las graficas hasta que se ejecute el

comando hold off.

plot(tt,y)

hold off

end

Page 14: Series de Fourier

SERIES DE FOURIER

13

2. >> x1=-5:0.1:-2;

>> y1=x1+1;

>> x2=-2+eps:0.1:1; eps: reconoce diferencia mas pequeña, la distancia entre 1 y

el siguiente numero punto flotante de doble precisión mas

grande.

>> y2=ones(size(x2)); La función ones crea una matriz m X m de unos, se usa como

un marcador de posición para futuros cálculos.

>> x3=1+eps:0.1:3; size (x): determina el numero de filas y columnas en la matriz

x. Si x es un arreglo multidimensional, size determina cuantas

dimensiones existen y cuan grandes son.

>> y3=x3.^2; En todos los cálculos matemáticos es importante entender el

orden en el que se realizan las operaciones. En Matlab

primero se realizan los cálculos adentro de paréntesis, desde

el conjunto mas interno hasta el más externo.

>> x=[x1,x2,x3]; Los [] forma matrices cuyos elementos son separados por la (,)

que también separa subíndices y los () se usa en enunciados

para agrupar operaciones o se usa con un nombre de matriz

para identificar elementos específicos.

Page 15: Series de Fourier

SERIES DE FOURIER

14

>> y=[y1,y2,y3];

>> plot(x,y)

>> grid on grid : agrega una retícula o rejilla solo a la grafica actual,

mientras que grid on agrega una retícula o rejilla a la grafica

actual y a todas las subsecuentes en la figura actual.

3. >> t1=-1:0.01:0;

>> xt1=-t1+1;

>> plot(t1,xt1);

>> t2=0:0.01:2;

>> xt2=t2;

>> hold on

>> plot(t2,xt2);

>> t3=2:0.01:3;

>> xt3=2;

>> plot(t3,xt3)

>> t4=3:0.01:7;

Page 16: Series de Fourier

SERIES DE FOURIER

15

>> xt4=0;

>> plot(t4,xt4)

>> hold off

>> axis([-2 7 -1 4]) axis (v) : la entrada al comando axis es un vector de cuatro

elementos que especifica los valores mínimo y máximo para

los ejes x y y, ejemplo [xmin xmax ymin ymax].

>> xlabel('t') xlabel : agrega una etiqueta (titulo) al eje x.

>> ylabel('x(t)') ylabel : agrega una etiqueta al eje y.

>> title('Señal a trozos') title : agrega un titulo a la grafica.

El apostrofe (') al principio de los comandos anteriores le

advierte que comienza una cadena o lista de caracteres string

(solo letras). El color del texto cambia a púrpura cuando

escribe el apóstrofe final ('), lo que indica que completó la

cadena.

Page 17: Series de Fourier

SERIES DE FOURIER

16

4. >> t=-10:0.01:10;

>> f_escalon=[zeros(1,1000),ones(1,1001)]; zeros (m, n) : crea una matriz m X n de ceros.

Si se usan dos argumentos escalares como en

este caso, el primer valor especifica el numero

de filas y el segundo argumento especifica el

numero de columnas, esta función se utiliza

para crear matrices con valores “marcadores

de posición” que se llenaran mas tarde.

>> plot(t,f_escalon); f_escalon : Calcula la respuesta al escalón

unitario de un sistema lineal. Se emplea para

representar la respuesta de varios sistemas

LTI, en la misma figura.

Page 18: Series de Fourier

SERIES DE FOURIER

17

5. >> t=-10:0.01:10;

>> f_pulso=[zeros(1,950),ones(1,101),zeros(1,950)];

>> plot(t,f_pulso); f_pulso : calcula la respuesta a la señal de pulso de un

sistema lineal.

6. >> t=-10:0.01:10;

>> f_impulso=[zeros(1,1000),1,zeros(1,1000)];

>> plot(t,f_impulso); f_impulso : calcula la respuesta al impulso de un

sistema lineal. Para un sistema discreto, la respuesta

al impulso es la respuesta a un impulso unitario para

el instante de tiempo t=0. Se emplea para representar

la respuesta de varios sistemas LTI.

Page 19: Series de Fourier

SERIES DE FOURIER

18

7. >> t=-10:0.01:10;

>> width=0.10; width : devuelve el tamaño de la columna en la que se

encuentra un grupo de datos.

>> f_sierra=sawtooth(2*pi*0.1*t,width); sawtooth : genera una onda de “dientes de

sierra” triangular de periodo 2 para los

elementos del vector t, donde width es un

parámetro escalar entre 0 y 1 que determina

el punto entre 0 y 2 en el cual el máximo

ocurre. La función aumenta de -1 a 1 en el

intervalo de 0 a 2*width, y decrece de la

misma forma.

>> plot(t,f_sierra); f_sierra : calcula la respuesta a la onda de

“dientes de sierra” de un sistema lineal.

Page 20: Series de Fourier

SERIES DE FOURIER

19

8. >> t=-10:0.01:10;

>> f_triangular=sawtooth(2*pi*0.1*t,0.5);

>> plot(t,f_triangular)

Page 21: Series de Fourier

SERIES DE FOURIER

20

9. >> t=-10:0.01:10;

>> duty=50;%porcentajedelperiodoenelquelaseñalespositiva % : indica un

comentario en un archivo-m, usar un archivo-m permite

trabajar en un proyecto y guardar la lista de comandos para

uso futuro. Matlab no ejecutara código alguno en una línea

comentada, también se pueden agregar comentarios después

de un comando, pero en la misma línea.

>> f_cuadrada=square(2*pi*0.5*t,duty);

>> plot(t,f_cuadrada); square: genera una onda cuadrada con periodo 2

para los elementos del vector tiempo t, con ciclo

especifico duty, que es un numero entre 0 y 100. El

ciclo duty es el porcentaje del periodo en el cual la

señal es positiva.

Page 22: Series de Fourier

SERIES DE FOURIER

21

IV.III. Serie de Fourier

i. Método analítico

Hallar la Serie de Fourier de forma analítica

4. ( ) {

∫ ( )

[ ∫ ∫

]

[ |

|

]

[ ( ( )) ( )]

[ ]

[ ]

∫ ( ) ( )

[ ∫ ( )

∫ ( )

]

[

( )

|

( )

|

]

Como ( )

[ ]

∫ ( ) ( )

Page 23: Series de Fourier

SERIES DE FOURIER

22

[ ∫ ( )

∫ ( )

]

[ ( )

|

( )

|

]

Como ( ) ( ) ( ) ( )( ) ( )

[

( )

(

( )

)]

[

( )

]

( )

{

( ) ∑[ ( ) ( )]

( ) ∑ [

( )]

Page 24: Series de Fourier

SERIES DE FOURIER

23

ii. Programando en Matlab

Usaremos Matlab, para determinar la serie de Fourier, la sintaxis para la

grafica f(t) es:

>> t=-pi:0.01:pi;

>> f=(t<0).*(-2)+(t>=0).*(2);

>> plot(t,f)

Y su grafica es:

Veamos como calculamos los coeficientes con Matlab. Primero calcularemos

los coeficientes del coseno (an), como funciones de n

>> syms n pi t;

>> an=(1/pi)*(int(-2*cos(n*t),-pi,0)+int(2*cos(n*t),0,pi))

an =

0

Page 25: Series de Fourier

SERIES DE FOURIER

24

Los coeficientes de los senos (bn) están dados por:

>> syms n pi t;

>> bn=(1/pi)*(int(-2*sin(n*t),-pi,0)+int(2*sin(n*t),0,pi));

>> pretty(bn)

( ( ) )

(

)

Matlab no reconoce a n como un entero, así que:

>> bn=subs(bn,'(-1)^n','cos(pi*n)');

>> pretty(bn)

(

)

(( ) )

Ahora usaremos el comando FourierSum para hallar la serie de Fourier y el

comando ezplot para graficar la serie:

>> fouriersum=(8/pi)*sin(t);

>> for k=1:2:30

fouriersum=fouriersum+subs((8/pi)*sin(n*t)/n,k,n);

end

>> fouriersum

fouriersum =

(8*sin(3*t))/(3*pi) + (8*sin(5*t))/(5*pi) + (8*sin(7*t))/(7*pi) + (8*sin(9*t))/(9*pi) +

(8*sin(11*t))/(11*pi) + (8*sin(13*t))/(13*pi) + (8*sin(15*t))/(15*pi) + (8*sin(17*t))/(17*pi) +

(8*sin(19*t))/(19*pi) + (8*sin(21*t))/(21*pi) + (8*sin(23*t))/(23*pi) + (8*sin(25*t))/(25*pi) +

(8*sin(27*t))/(27*pi) + (8*sin(29*t))/(29*pi) + (16*sin(t))/pi

>> ezplot(fouriersum,3.1416*[-2 4])

>> title('Serie de Fourier')

Page 26: Series de Fourier

SERIES DE FOURIER

25

La grafica es:

Comandos utilizados:

Plot: crea una grafica x-y. Este comando ploteará los elementos del vector x en el eje

horizontal de una figura, y los elementos del vector y en el eje vertical de la figura. Por

defecto, cada vez que se use el comando plot, se borrará la figura que estaba,

quedando solo la nueva.

Los : se usan para generar matrices, indica todas las filas o todas las columnas de

esta; en una función con los dos puntos se colocan el primer y ultimo valor que esta

tomara y el incremento por defecto será 1, pero si se desea usar un incremento

diferente se coloca entre estos dos números en este caso, el incremento será de 0.01.

El ; separa filas en una definición de matriz, suprime salida cuando se usa en

comandos, cabe recordar que la matriz es el tipo de datos principal que se usa en

Matlab y puede retener información numérica así como otros tipos de información.

Syms: crea variables simbólicas, note en la ventana del área de trabajo que x y y se

mencionan como variables simbólicas y que el tamaño del arreglo para cada una es 1

x 1. Cada argumento de entrada debe comenzar con una letra y puede contener sólo

caracteres alfanuméricos. Para la compatibilidad con versiones anteriores del

software. El comando syms es particularmente conveniente porque se puede usar

para crear múltiples variables simbólicas al mismo tiempo, como con el comando. En

Page 27: Series de Fourier

SERIES DE FOURIER

26

las funciones y scripts, no utilice el comando syms para crear variables simbólicos con

los mismos nombres que las funciones de MATLAB. Para estos nombres MATLAB no

crea variables simbólicas, pero mantiene los nombres asignados a las funciones. Si

desea crear una variable simbólica con el mismo nombre que una función MATLAB

dentro de una función o un script, utilice el comando sym.

En todos los cálculos matemáticos es importante entender el orden en el que se

realizan las operaciones. En Matlab primero se realizan los cálculos adentro de

paréntesis, desde el conjunto mas interno hasta el más externo.

En algunos casos la lectura de la salida que proporciona MATLAB no es muy legible. El

comando pretty genera en ocasiones una visualización mas usual, es decir, visualiza

una expresión simbolica de forma parecida a como esta suele escribirse realmente

(forma algrebaica).

Subs: es otra forma ligeramente distinta para sustituir más de una variable simbólica

por uno o varios valores numéricos.

Las variables var1, var2,…, varN son variables simbólicas de la expresión S que se

pretenden sustituir por números, estas deben teclearse entre llaves.

Los números numero1, numero2,…, numeroN son los que se sustituirán en las

variables simbólicas comentadas anteriormente, los números pueden ser escalares,

vectores o matrices.

Los bucles se usan cuando se necesita repetir un conjunto de instrucciones muchas

veces, Matlab soporta dos tipos de bucles uno de ellos es for, este es la opción mas

sencilla cuando se sabe cuantas veces se repetirá el bucle, la primera línea de su

estructura identifica el bucle y define el indice en este caso n, que es un numero que

cambia en cada paso a traves del bucle. Después viene el grupo de comandos que se

quiere ejecutar. Finalmente la terminación del bucle se identifica mediante el

comando end.

Sin: Seno de argumento en radianes. Y = sin (X) devuelve el seno circular de los

elementos de X. La función pecado elemento opera-sabio en las matrices. Dominios de

la función y rangos incluyen valores complejos. Todos los ángulos están en radianes.

Los bucles se usan cuando se necesita repetir un conjunto de instrucciones muchas

veces, Matlab soporta dos tipos de bucles uno de ellos es for, este es la opción mas

sencilla cuando se sabe cuantas veces se repetirá el bucle, la primera línea de su

estructura identifica el bucle y define el indice en este caso n, que es un numero que

Page 28: Series de Fourier

SERIES DE FOURIER

27

cambia en cada paso a traves del bucle. Después viene el grupo de comandos que se

quiere ejecutar. Finalmente la terminación del bucle se identifica mediante el

comando end.

title : agrega un titulo a la grafica. El apostrofe (') al principio de los comandos

anteriores le advierte que comienza una cadena o lista de caracteres string (solo

letras). El color del texto cambia a púrpura cuando escribe el apóstrofe final ('), lo que

indica que completó la cadena.

Ezplot: representa gráficamente una expresión simbólica, dibuja curvas como plot en

cartesianas y paramétricas de una manera mas sencilla ya que genera

automáticamente los valores de la variable independiente. También se utiliza para

dibujar curvas en implícitas. Sea S una función simbólica que contiene una variable

var, ezplot creara un grafico de S (var) frente a var.

Page 29: Series de Fourier

SERIES DE FOURIER

28

V. CONCLUSIÓN

El estudio efectuado pone de manifiesto, que las series de Fourier son de mucha

importancia en la Ingeniería, gracias a ellas se logra identificar la frecuencia,

amplitud y fase de cada una de las modulaciones de tipo seno generadas por una

función infinita. Además de lograr identificar la forma adecuada de realizar una serie

de Fourier en Matlab, desarrollando su respectivo grafico.

Los resultados obtenidos en este trabajo evidencian que este tipo de análisis de las

series de Fourier proporcionan información complementaria a la suministrada por

parámetros de forma convencionales.

Page 30: Series de Fourier

SERIES DE FOURIER

29

VI. BIBLIOGRAFÍA

Tratamiento digital de señales-Prolakis-Manolakis. Apuntes de la cátedra Teoría de circuitos de I –FRMUTN.

Series de Fourier, Transformadas de Fourier y aplicaciones. G. González.

Consultado 30 de noviembre de 2012, en

http://www.emis.de/journals/DM/v5/art6.pdf

H. Dym, H. P. McKean. Fourier series and Integrals. Academic Press. New York, 1972.

G. Amos. Matlab, Una introducción con ejemplos prácticos. Barcelona,

España. Editorial Reverte s.a. 2005. 340 pág.

H. Moore. Matlab para ingenieros. Editorial Pearson, Prentice Hall. 600 pág.