Sunteți pe pagina 1din 9

Grupo

Prctica 5: Transformada de Fourier


Puesto
Apellidos, nombre Carballo Luna Luis Angel Fecha
Apellidos, nombre SOLUCION 13/05/2017

El objetivo de esta prctica es mostrar al alumno el modo de obtener la Transformada de Fourier (TF)
de una seal en tiempo continuo, observar ciertas caractersticas de la TF, y comprobar la utilidad de la
representacin de sistemas LTI en el dominio transformado.

Para llevar a cabo la prctica, desarrolle cada ejercicio en un fichero de comandos ejercicio_X.m
separado (salvo cuando se le solicite desarrollar una funcin, en cuyo caso el fichero llevar el nombre de
la funcin). Justo antes de finalizar la prctica, comprima los ficheros .m generados en un nico fichero
practica_5_Puesto_XX . zip, conctese al sistema de entrega de prcticas de la Intranet y entrguelo en
el grupo que corresponda .

5.1 Aproximacin numrica a la TF de tiempo continuo


Para obtener en MATLAB la TF de una seal continua, se acude a aproximaciones numricas: dada
una seal x(t ) , la integral que involucra el clculo de su TF es posible aproximarla por un sumatorio, del
siguiente modo:

X ( j ) = x(t ) e jt dt = lim x (n ) e
j
(n )


0

n=

Para la mayora de las seales, sta es una buena aproximacin. Si adems la seal x(t ) es nula fuera

del intervalo 0 t < T , y siempre que se tome un valor suficientemente pequeo de , es posible
escribir:

N 1
T j (n )
X ( j ) = x(t ) e x(t ) e x(n ) e
jt jt
dt =
0 dt


n=0
, donde N es un entero tal que T = N , con lo que el sumatorio se extiende t = 0 hasta
desde
t = T e incluye T valores muy prximos de la variable t (tantos y tanto ms prximos cuanto

menor sea el valor de ). Obsrvese que el sumatorio es precisamente la DFT multiplicada por de una
seal discreta x[n] = x(n ) , que toma valores n [0, N 1] . Por lo tanto, recordando lo visto en
en la
Prctica 4, la expresin Xw=tao*fft(x) arrojar una seal discreta:
X [k ] X ( j k ) donde 2k 2k , k [0, N 1]
=
k =
T N

, que contiene el valor aproximado de N muestras de la TF de x(t ) . Sin embargo, dado que la

funcin fft obtiene la DFT en el intervalo [0,2 ] , en el que el subintervalo [ ,2 ]


corresponde a pulsaciones negativas, es necesario recolocar la segunda mitad del vector X al
principio del vector
(Xw=fftshift(Xw)) para obtener la aproximacin de la TF en [ / , / ] :
X [k ] = X ( jwk ) donde k =
2k N N N
= , k , , donde se asume que N es par.
T 2 2

2k


Dado que X [k ] representa muestras de una seal continua, X ( j ) , en un intervalo de pulsaciones

k , , represntela siempre en este intervalo con el comando plot en vez de con stem.


Teniendo en cuenta estas ideas, desarrolle los ejercicios que propone esta prctica.

5.1.1 Ejercicio 1: obtencin de la TF de seales bsicas

Sean las seales:


x1 (t ) = e
2t

x 2 (t ) = e
2t
cos(2t )

x3 (t ) = e
2t
cos(8t )
x (4t ) = e
2t
cos(100t )

El objetivo es obtener y representar su TF siguiendo el mtodo ya expuesto. Para ello defina las cuatro
seales en el intervalo 0 t < 10 utilizando = 0.01 , obtenga su correspondiente TF y defina un vector
con los valores de la variable a que corresponden cada uno de los valores de las TF obtenidas (segn
lo visto, w=[-pi:2*pi/N:pi]*(1/tao); en este caso, por ser N=T/tao=1000 un nmero par y resultar
2*pi/N mltiplo de pi, haga adems w=w(1:end-1) para que la longitud de este vector iguale a los T/tao
valores del vector transformada). Represente en una misma ventana de cuatro filas y dos columnas
(utilice subplot) las ocho funciones, cada seal (en funcin de t) y su correspondiente transformada (en
funcin de , nicamente su mdulo) en una fila distinta.

A la vista de los grficos obtenidos indique las relaciones existentes entre parmetros observables en
cada una de las cuatro seales (p.ej., el valor medio y la frecuencia de variacin de cada una de ellas), y
parmetros observables en sus respectivas TF (p.ej., valores concretos, aspecto y localizacin de los
mximos):
5.1.2 Ejercicio 2: extraccin de parmetros de la TF de seales bsicas

A fin de verificar los datos observados en el ejercicio anterior, a continuacin del cdigo de dicho
ejercicio:
xi (t ) (utilice para ello la funcin mean) y compruebe
1. Obtenga el valor medio de cada seal

que coincide con el coeficiente a0 de su DSF (recuerde que este coeficiente es proporcional
al valor de la TF en el origen: a0 = X ( j0 ) / T ). Rellene la tabla adjunta:
x1 (t ) x2 (t ) x3 (t x4 (t )
)
Valor medio 0.050502 0.0051017 0.00081631 0.00052175
a0 0.050502 0.0051017 0.00081631 0.00052175

2. Obtenga en cada funcin X i ( j ) la pulsacin a la cual se produce el primer mximo


(utilice
para ello la funcin [C,I]=max()) y compruebe que coincide aproximadamente con la
pulsacin de la oscilacin de cada seal xi (t ) que figura en su respectiva expresin
analtica.
Rellene la tabla adjunta:
x1 (t ) x2 (t ) x3 (t x4 (t )
)
Pulsacin 0 2*pi 8*pi 100
k X i ( j k 0 6,2832 25.1327 99.9026
)
es mximo
*
3. Verifique la Relacin de Parseval. Para ello, obtenga por una parte la energa de cada seal
xi (t ) , y a continuacin compruebe que coincide con 1 veces la energa de cada funcin
2
X i ( j ) . Rellene la tabla adjunta:

x1 (t x2 (t ) x3 (t x4 (t )
) )
xi (t )2 dt 0,2550332 0,141532 0,130822 0,130092

1 0,255052
X ( j )
2
d 0,141532 0,130822 0,130092
i
2

*
En esta prctica se utiliza repetidamente una aproximacin discreta de una seal continua, f (t )
,
tomando una muestra cada valores, de modo que f [n] = f (n ) . En esta situacin, el rea abarcada

por
f (t ) en un intervalo de t es posible aproximarla como la suma de reas abarcadas por rectngulos de
altura f [n] y anchura , en el intervalo equivalente de n, de modo que se verifica:

f (t )dt = f [n] = f [n ]

1
Anlogamente, deduzca la aproximacin a seguir para calcular
2 X ( j )
i

paso del vector .


2
d , para ello utilice el
5.1.3 Ejercicio 3: TF de una seal de audio, obtencin y caracterizacin

El objetivo de este ejercicio es observar y caracterizar el espectro de una seal real de audio. Para
obtener muestras de una seal de audio, incluya en su fichero .m los siguientes comandos:

load laughter; % laughter.wav es el fichero con muestras de la seal de audio


tao=1/8192; % Intervalo de tiempo, en segundos, entre muestras consecutivas
T=6.4251; % Duracin total, en segundos, de la seal de audio
N=T/tao; % Nmero total de muestras o valores discretos

El resultado ser directamente un vector columna de nombre y, que contiene N=52634 muestras de
una seal de audio, y (t ) , de duracin total T=6,425s, tomadas cada = 1 8192s . Si su equipo dispone
de
altavoces, reproduzca el contenido de la seal utilizando el comando sound(y,(1/tao)).

Siguiendo el mismo procedimiento que en el ejercicio anterior, obtenga la TF de esta seal.


Represente en una misma ventana de cuatro filas (utilice subplot), por un lado la seal (en funcin de t) y
por otro, en las otras tres filas, el mdulo y las partes real e imaginaria de su correspondiente
Transformada de Fourier (en funcin de ).
Operando exclusivamente con la TF indique qu componente de frecuencia, en hertzios, de la seal
y (t ) es la de valor ms pronunciado (utilice la funcin max sobre el mdulo de la TF) y cul es el
valor
medio de la seal y (t ) :

1122 Hz
Frecuencia mxima (Hz)
(7050 rad/s)
Valor medio ( a0 ) 0.00028903
Indique adems si se verifica, por ser y (t ) una seal real, que Y ( j ) =Y
*
( j ) . Para
comprobarlo
verifique que la seal resta de ambas, Y ( j ) ( )
*
Y j , tiene energa prcticamente nula
(en
comparacin con la de Y ( j ) ). Para obtener la seal inversa utilice la funcin flipud (recuerde
que al ser y un vector columna, su TF tambin lo ser, y por lo tanto no tiene sentido utilizar
fliplr), para
obtener la seal conjugada utilice conj, y para restar ambas seales tenga en cuenta que sus ndices
correspondientes a = 0 han de estar alineados (algo que por defecto no ocurre ya que al tener la seal
transformada un nmero par de elementos, la funcin flipud no slo invierte sino que desplaza un
valor). Rellene la tabla adjunta:

Energa de Y ( j ) 0.16702
Energa de Y ( j ) (
*
Y j 0
)

5.1.4 Ejercicio 4: sntesis de la TF de una seal real a partir de su TF


El objetivo de este ejercicio es obtener una seal y (t a partir de su TF. Para ello, este ejercicio

)
contina el ejercicio anterior, es decir, el punto de partida es el vector de muestras de Y ( j ) que all
se obtuvo.

Dado el vector Yw que representa la seal Y ( j ) , el modo de obtener su transformada y r (t )


inversa, ,
representada por el vector yr, es utilizar el comando yr=ifft(fftshift(Yw)/tao);. Dado que, por
problemas de redondeo, esta operacin genera una seal con una pequea parte imaginaria, si se sabe,
como es el caso, que la seal resultante es real, conviene eliminar la parte imaginaria escribiendo
yr=real(yr); .
y (t ) , la y r (t ) , y
Represente en una misma ventana de tres filas (utilice subplot) la seal seal
la
diferencia entre ambas. Si su equipo dispone de altavoces, reproduzca el contenido de la seal original y
de su TF inversa e indique si subjetivamente aprecia diferencia entre ambas:
Para obtener una referencia cuantitativa de su similitud o de su diferencia, calcule y consigne en la
tabla adjunta la energa total de las tres seales:

y (t ) y r (t y (t ) y r (t )
)
Energa: 0.16702 0.16702 0

Comente el resultado obtenido:

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