13.07.2015 Views

Cálculo de series y transformadas de Fourier usando Mathematica

Cálculo de series y transformadas de Fourier usando Mathematica

Cálculo de series y transformadas de Fourier usando Mathematica

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

DCálculo <strong>de</strong> <strong>series</strong> y <strong>transformadas</strong> <strong>de</strong><strong>Fourier</strong> <strong>usando</strong> <strong>Mathematica</strong>En este apéndice se presenta una forma sencilla <strong>de</strong> calcular los coeficientes <strong>de</strong> <strong>Fourier</strong>y las <strong>transformadas</strong> <strong>usando</strong> <strong>Mathematica</strong>. No preten<strong>de</strong> ser una introducción a un programatan sofisticado, sino proveer algunas herramientas para evitar laboriosos cálculosmanuales.La principal función a utilizar es Integrate[]. El comandoIntegrate[f, {x, xmin, xmax}]<strong>de</strong>vuelve la integral <strong>de</strong>finida R x máxx mínsiguiente ejemplo.f (x) dx. El uso <strong>de</strong> otros comandos se ilustra en elFig. D.1. Señal periódica ˜x(t).EJEMPLO D.1. Cálculo <strong>de</strong> la serie <strong>de</strong> <strong>Fourier</strong> <strong>de</strong> un tren <strong>de</strong> pulsos triangularesSe <strong>de</strong>sea calcular los coeficientes <strong>de</strong> <strong>Fourier</strong> <strong>de</strong>l tren <strong>de</strong> pulsos triangulares que se muestra en laFig. D.1. La expresión <strong>de</strong> los coeficientes está dada por la ecuación (2.30), (página 85)c k = 1 T 0ZT 0x(t)e−j 2πT 0kt dt,y en este caso es necesario separar la integral en seis partes, una para cada una <strong>de</strong> las rectas <strong>de</strong>293


294 D. Cálculos con <strong>Mathematica</strong>Fig. D.2. Detalle <strong>de</strong> un período <strong>de</strong>l tren <strong>de</strong> pulsos triangular.pendientes ±12A/T 0 como se representa en la Fig. D.2. Entonces,c k = 1 T 0Z −T0 /61T 0Z 0−T 0 /4−T 0 /121T 0Z T0 /6T 0 /12 12A−j 2πT kt 1T0t + 3A e 0 dt + 12A −j 2πT kt 1T0t + A e 0 dt +12AT0t − AeZ −T0 /12 T 0 −T 0 /6Z T0 /12 T 0 0ZT kt 1 T0 /4 0 dt + − 12ATT 0 T 0 /6 0−j 2π− 12AT 0− 12AT 0−j 2πT ktt − A e 0 dt +−j 2πT ktt + A e 0 dt +−j 2πT ktt + 3A e 0 dt.El código en <strong>Mathematica</strong> para calcular esta integral es casi una copia <strong>de</strong> la expresión anterior:In[1]:= ck = (Integrate[((12 A /T0)t + 3A)Exp[-(I 2 π k/T0)t], {t, -T0/4, -T0/6}] +Integrate[(-(12 A/T0)t - A)Exp[-(I 2 π k/T0)t], {t, -T0/6, -T0/12}] +Integrate[((12 A/T0)t + A)Exp[-(I 2 π k/T0)t], {t, -T0/12, 0}] +Integrate[(-(12 A/T0)t + A)Exp[-(I 2 π k/T0)t], {t, 0, T0/12}] +Integrate[((12 A/T0)t - A)Exp[-(I 2 π k/T0)t], {t, T0/12, T0/6}] +Integrate[(-(12 A/T0)t + 3A)Exp[-(I 2 π k/T0)t], {t, T0/6, T0/4}])/T0Las letras griegas se pue<strong>de</strong>n ingresar utilizando la tecla ‹Esc› y la letra latina equivalente: porejemplo, π se ingresa como ‹Esc›p‹Esc›, α como ‹Esc›a‹Esc›, etc. La etiqueta “In[1]:=” esagregada por el programa cuando comienza a evaluar el comando, lo que ocurre apenas se presionala tecla ‹Intro› <strong>de</strong>l teclado numérico, o la combinación ‹Mayus›+‹Intro› <strong>de</strong>l teclado común.Luego <strong>de</strong> algunos segundos, el programa respon<strong>de</strong> con:Out[1]:= ck= 1T00!A 6− 6B e I −I kπ T06 kπ@−2k 2 π 2A −6+6e I 6 kπ −I kπ T02e I +3 kπ k 2 π 2A 6−6e I 6 kπ +I kπ T0 Ae I k 36−6e π I 6 kπ +I kπ T0++2k 2 π 2 2k 2 π 2Ae I 6−6+e kπ I 6 kπ (6−I k π) T0 A −6+e I 16 kπ (6−I kπ) T0+2k 2 π 2 2e I A2 kπ k 2 π 2Esta expresión se pue<strong>de</strong> reducir utilizando el comando Simplify[] o FullSimplify[]:In[2]:=Ck = Simplify[ck]y, nuevamente, luego <strong>de</strong> algunos segundos, se obtieneOut[2]:=Ck = 12A 1 + 2Cos[ πk 3 ] Sin[ πk12 ]2k 2 π 2Procesamiento Digital <strong>de</strong> Señales U.N.S. 2011


295Fig. D.3. Gráfico <strong>de</strong> los 10 primeros coeficientes <strong>de</strong> <strong>Fourier</strong>, para A = 1.En <strong>Mathematica</strong>, los nombres <strong>de</strong> las funciones se escriben con mayúscula, y el argumento quedaencerrado entre corchetes. Por ejemplo, la expresion Cos[π/2] <strong>de</strong>vuelve 0, pero cos(π/2) <strong>de</strong>vuelve(cos π)/2, que evi<strong>de</strong>ntemente es incorrecta.La expresión <strong>de</strong> los coeficientes c k se pue<strong>de</strong> simplificar aún más (esta vez “a mano”), y finalmentese obtiene quec k = A h i i 21 + 2 cos πk123hsinc k12La función Sinc[] no está disponible en <strong>Mathematica</strong>, pero se pue<strong>de</strong> <strong>de</strong>finir <strong>de</strong> la siguiente manera:In[3]:= Sinc[x_]:=If[x==0,1,Sin[πx]/(πx)];De esta forma, se pue<strong>de</strong> <strong>de</strong>finir los coeficientes <strong>de</strong> <strong>Fourier</strong> como:In[4]:= Ck = A 121 + 2Cosh πk3i Sinch k12i 2;Algunos valores <strong>de</strong> los coeficientes se pue<strong>de</strong>n generar utilizando el comando Table[]. En el siguientefragmento <strong>de</strong> código, este comando está incluido <strong>de</strong>ntro <strong>de</strong> la instrucción FullSimplify[] paraobtener expresiones numéricas más sencillas:In[5]:= TCk = FullSimplify[Table[Ck,{k,0,10}] ]Out[5]:=(A12 , − 6(−2 + √ 3)Aπ 2 , 0, − 2A3π 2 , 0, 6(2 + √ 3)A25π 2 ,Aπ 2 , − 6(2 + √ 3)A49π 2, 0, − 2A27π 2 , 0 )Los coeficientes se pue<strong>de</strong>n graficar en función <strong>de</strong> k utilizando el comando ListPlot[]:ListPlot[Table[{k,Ck/.A->1},{k,0,10}], PlotStyle -> PointSize[0.02] ]obteniéndose el gráfico que se muestra en la Fig. D.3.Finalmente, se pue<strong>de</strong> graficar la aproximación utilizando el comando Plot[]. En este caso, <strong>de</strong>ntro<strong>de</strong>l comando Plot[] se efectúa la suma <strong>de</strong> un número finito <strong>de</strong> términos <strong>de</strong> la serie. Si se suponeA = 1 y T 0 = 1, las instrucciones necesarias para graficar la aproximación son:Plot[Sum[ 112 (1+2Cos[ kπ 3 ]) (Sinc[ k 12 ])2 Exp[I 2 π k t], {k, -10, 10}], {t, -1, 1},PlotPoints -> 50, PlotRange -> All]El gráfico <strong>de</strong> la aproximación para la suma <strong>de</strong> 21 términos <strong>de</strong> la serie se muestra en la Fig. D.4(a) ,y para 101 términos en la Fig. D.4(b) .Este ejemplo también muestra que el uso <strong>de</strong> las propieda<strong>de</strong>s <strong>de</strong> la serie y la transformadafacilita el cálculo <strong>de</strong> los coeficientes, como se <strong>de</strong>talla a continuación.Procesamiento Digital <strong>de</strong> Señales U.N.S. 2011


296 D. Cálculos con <strong>Mathematica</strong>Fig. D.4. Reconstrucción <strong>de</strong>l tren <strong>de</strong> pulsos triangulares a partir <strong>de</strong> la suma <strong>de</strong> 2 × 10 + 1 (a)y 2 × 50 + 1 (b) términos <strong>de</strong> la serie <strong>de</strong> <strong>Fourier</strong>.EJEMPLO D.2. Cálculo <strong>de</strong> los coeficientes <strong>de</strong> <strong>Fourier</strong> <strong>de</strong>l tren <strong>de</strong> pulsos triangulares utilizandopropieda<strong>de</strong>sLa i<strong>de</strong>a en este caso es calcular la transformada X( f ) <strong>de</strong> un período <strong>de</strong> la señal periódica (porejemplo, la que se muestra en la Fig. D.2), y a partir <strong>de</strong> ella calcular los coeficientes <strong>de</strong> la serie,c k = 1 T 0X( f )| f =k/T0.La manera más sencilla parecer ser comenzando con la transformada <strong>de</strong> <strong>Fourier</strong> <strong>de</strong>l pulso triangularque se extien<strong>de</strong> <strong>de</strong>s<strong>de</strong> −T 0 /12 hasta T 0 /12. Esta transformada se pue<strong>de</strong> calcular a partir <strong>de</strong> laconvolución <strong>de</strong> dos pulsos rectangulares <strong>de</strong> ancho T 0 /12, y alto √ A, como se propone en el Ejercicio17. Aplicando la propiedad <strong>de</strong> convolución, se encuentra que la transformada <strong>de</strong> este único pulsotriangular esX 1 ( f ) = AT 012hsincT012 f i 2.Los <strong>transformadas</strong> <strong>de</strong> los dos pulsos triangulares a la izquierda y a la <strong>de</strong>recha <strong>de</strong>l pulso centralse calculan aplicando la propiedad <strong>de</strong> <strong>de</strong>splazamiento. El pulso <strong>de</strong> la izquierda está a<strong>de</strong>lantadoτ = −T 0 /6 unida<strong>de</strong>s <strong>de</strong> tiempo y el pulso <strong>de</strong> la <strong>de</strong>recha está atrasado en la misma cantidad. Porlo tanto, la transformada <strong>de</strong>l pulso <strong>de</strong> la izquierda esy la <strong>de</strong>l pulso <strong>de</strong> la <strong>de</strong>rechaCombinando estos tres resultados,X( f ) = AT 012= AT 012X 2 ( f ) = e j2π T 06 f X 1 ( f )X 3 ( f ) = e −j2π T 06 f X 1 ( f ).1 + e j2π T 0 f 6 + e −j2π T 0 h i 26 fsinc T012 fh i h i 21 + 2 cos 2π T 06f sinc T012 f .Finalmente, evaluando la transformada en f = k/T 0 , y escalando por 1/T 0 se encuentra quec k = A 12h i h i 21 + 2 cos π3k sinc k12,que evi<strong>de</strong>ntemente coinci<strong>de</strong> con el resultado <strong>de</strong>l ejemplo anterior.Procesamiento Digital <strong>de</strong> Señales U.N.S. 2011

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!