Está en la página 1de 14

4 La Transformada de Fourier

4.1 Resumen
En la teora de sistemas lineales es fundamental la representacion de una se
nal en terminos de
sinusoides o exponenciales complejas. Ello es debido a que una exponencial compleja es una
autofuncion de cualquier sistema lineal e invariante con el tiempo, mientras que la respuesta
a una sinusoide es otra sinusoide de la misma frecuencia, con fase y amplitud determinadas
por el sistema. De este modo, la representacion en frecuencia de la se
nales, a traves de la
Transformada de Fourier, resulta imprescindible para analizar las se
nales y los sistemas.
Objetivo: Familiarizarse con la Transformada de Fourier: su significado, sus propiedades, y
su manejo. Se introduciran diversas funciones para calcular y visualizar la Transformada de
Fourier en sus diversos aspectos, que seran de gran utilidad a lo largo del resto del curso.
Duraci
on: Dos sesiones de 2 horas

4.2 Introducci
on te
orica
Al igual que ocurre en el caso continuo, el concepto del dominio de la frecuencia es fundamental
para entender las se
nales discretas y el comportamiento de los sistemas LIT. El espectro de una
se
nal nos ense
na como es esa se
nal en el dominio frecuencial; la respuesta en frecuencia de un
sistema nos aporta el conocimiento de como se comporta ese sistema para diferentes entradas,
gracias a la perspectiva que aporta el dominio de la frecuencia.

4.2.1 C
alculo de la transformada
La transformada de Fourier de una se
nal discreta (DTFT) es una se
nal periodica de perodo
2. As, la ecuacion de sntesis de x[n] a partir de su transformada se puede ver como el calculo
de los coeficientes de la serie de Fourier de la se
nal periodica X(ej ), mientras que la ecuacion
de analisis refleja el desarrollo en serie de la transformada en funcion de los coeficientes x[n].
A la hora de plantear la DTFT computacionalmente cabe hablar de dos problemas: la transformada de se
nales infinitas, y el hecho de que la transformada es continua, cuando solo podemos
trabajar de forma discreta. Ante el primer problema solo cabe decir que se podra evaluar la
transformada de se
nales infinitas cuando esta se pueda representar analticamente. En cuanto
a la naturaleza discreta de los calculos, aunque la transformada es continua solo podremos

47

TEORICA

4.2. INTRODUCCION
PRACTICA
4. LA TRANSFORMADA DE FOURIER
obtener muestras de la misma, que pueden constituir una buena aproximacion si se toman suficientes (el concepto de suficiencia quedara mas claro mas adelante en el curso). La funcion fft
calcula la transformada de Fourier de una se
nal finita en el n
umero de puntos equiespaciados
especificado en la llamada a la funcion.
 Ejercicio 19 Veamos en este ejercicio como se puede visualizar la transformada de Fourier de una se
nal discreta, que necesariamente debe ser calculada en un conjunto finito de
frecuencias. As, sea la se
nal
h[n] = [n] + 0.5[n 1] + 0.2[n 2]
La siguiente instruccion nos permite calcular 128 valores de su transformada de Fourier:
>> H=fft(h,128);

El vector H recoge los valores de la funci


on H(ej ) en las siguientes frecuencias:
2k
, k = 0, , 127
128
Para visualizar la transformada hay que tener en cuenta que el vector H contiene valores
complejos, por lo que tendremos que representar por separado su magnitud y su fase:
k =

>> plot(2*pi*(0:127)/128,abs(H));
>> plot(2*pi*(0:127)/128,angle(H));

En el eje de abcisas se incluyen las frecuencias a las que est


a evaluada la transformada,
mientras que en el eje de ordenadas se coloca o bien la magnitud o bien la fase. El comando
plot() crea una curva continua, que no es m
as que la interpolaci
on entre los valores discretos
(128 en este caso) de la transformada que han sido calculados. De esta manera se obtiene una
representaci
on de la transformada entre 0 y 2.
IMPORTANTE!!!: Acudir a este ejercicio cada vez que teng
ais dudas acerca de como representar la transformada de Fourier de una se
nal.
Otra funcion de Matlab que nos permite obtener muestras de la Transformada de Fourier de
una se
nal es freqz, con la ventaja a
nadida de que permite trabajar con filtros IIR (respuesta
impulsional de duracion infinita) que se pueden expresar de forma racional en el dominio de la
frecuencia. En la seccion de descripcion de funciones utilizadas, al final de esta practica, vemos
como se aplica: en la llamada a la funcion se especifican los coeficientes del filtro, as como el
n
umero deseado de puntos de su transformada, como se puede comprobar con un help freqz en
Matlab.
 Cuesti
on 8 Los filtros digitales son sistemas LIT descritos por una ecuaci
on en diferencias
lineal con coeficientes constantes:
N
X

ak y[n k] =

k=0

M
X
k=0

48

bk x[n k]


TEORICA

PRACTICA
4. LA TRANSFORMADA DE FOURIER 4.2. INTRODUCCION
Utilizando las propiedades de desplazamiento y linealidad de la transformada de Fourier, demuestre que la respuesta en frecuencia de un sistema LIT descrito por una ecuaci
on en diferencias con coeficientes constantes puede expresarse como:
M
P
k=0
N
P

H(ej ) =

bk ejk
ak ejk

k=0

Si necesitamos representar una respuesta en frecuencia de un filtro expresado de esta forma,


haremos:
>> H = freqz(b,a,128,"whole");
>> plot(2*pi*(0:127)/128,abs(H));
>> plot(2*pi*(0:127)/128,angle(H));

4.2.2 Autofunciones
El concepto de autofuncion de un sistema LIT es la base para comprender su respuesta en
frecuencia. As, para un sistema con respuesta impulsional h[n], la salida ante una exponencial
compleja de la forma ej0 n sera
y[n] =

h[k]ej0 (nk) = H(ej0 )ej0 n

(4.1)

k=

Un sistema LIT tiene como autofunciones el conjunto de exponenciales complejas de la forma


z0n , que solo se ven modificadas a su paso por el sistema por una constante compleja. En el caso
de z0 = ej0 , esa constante es el valor de la respuesta en frecuencia (transformada de Fourier
de la respuesta impulsional) a la frecuencia 0 .
Por tanto, la Transformada de Fourier de una se
nal nos informa de como responde el sistema
descrito por esa se
nal para cada frecuencia de entrada, o lo que es lo mismo, nos aporta el
contenido en frecuencia de la se
nal, ya que con la ecuacion de sntesis se puede reconstruir la
se
nal con exponenciales complejas, tal y como se describe a continuacion:

X(ej ) =

x[n]ejn

(4.2)

X(ej )ejn d

(4.3)

n=

1
x[n] =
2

49

TEORICA

4.2. INTRODUCCION
PRACTICA
4. LA TRANSFORMADA DE FOURIER
 Ejercicio 20 En este ejercicio se va a identificar la respuesta en frecuencia de un sistema
(la Transformada de Fourier de su respuesta al impulso) a determinadas frecuencias. Para ello,
s
olo podemos introducir se
nales a su entrada y observar lo que ocurre a su salida.
Utilizaremos exponenciales complejas como entradas, dado su car
acter de autofunciones. Observando la salida, podremos obtener informaci
on sobre como se comporta el sistema para cada
frecuencia de interes. As, considerar el sistema con respuesta impulsional
h[n] = 0.03[n] + 0.4[n 1] +0.54[n 2] + 0.2[n 3] 0.2[n 4]
+0.1[n 5] + 0.2[n 6]

(4.4)

Para definir la respuesta impulsional, basta con efectuar en Matlab


>> h=[0.03 0.4 0.54 0.2 -0.2 0.1 0.2]
Generar un conjunto de 10 exponenciales complejas con 48 puntos de longitud de la forma
e
, para las siguientes frecuencias discretas: k = 2k/10, k = 0, , 9:
jk n

>>
>>
>>
>>

omegas =(2*pi*(0:9))/10;
e1 = exp(j*omegas(1)*(0:47));
e2 = exp(j*omegas(2)*(0:47));
...

Tambien se puede realizar un bucle for para la generaci


on de esas diez se
nales, introduciendolas como filas o columnas de un matriz.
Calcular la salida del filtro para cada una de las exponenciales, convolucionando cada se
nal
de entrada con el filtro definido al comienzo:
>> y1 = conv(e1,h);
>> y2 = conv(e2,h);
>> ...
Superponer en la misma grafica la entrada e1 y la salida y1:
>>
>>
>>
>>

plot(e1);
hold;
plot(y1);
hold;

Razonar el porque de la aparicion de los efectos en los bordes. Repetir la operaci


on para las
partes reales de e2 y de y2, notando los efectos de borde de nuevo.
NOTA: No tratar de representar las exponenciales complejas directamente, sino
sus partes reales (o imaginarias).

50


TEORICA

PRACTICA
4. LA TRANSFORMADA DE FOURIER 4.2. INTRODUCCION
En el ejercicio anterior la fase y amplitud de la se
nal de salida son diferentes a las de la se
nal de
entrada. Esa diferencia viene determinada por la respuesta en frecuencia para = omegas(2).
Por tanto, sabiendo que la se
nal de salida es en cada caso la se
nal de entrada multiplicada por
la respuesta en frecuencia evaluada a esa frecuencia:
y[n] = H(ej0 )ej0 n

(4.5)

se propone el siguiente ejercicio, consistente en evaluar la respuesta en frecuencia del sistema


para cada una de las diez frecuencias estudiadas anteriormente. Para ello, pensar que el vector
de salida es igual al vector de entrada multiplicado por un escalar complejo para casi todos
los instantes (excepto en los bordes), con lo que una simple division en un instante apropiado
DE
nos dara el valor de dicho escalar. ( NO TRATAR DE HACER UNA DIVISION
VECTORES!!!)
 Ejercicio 21 Construir un vector Haprox a partir de esos 10 valores, y visualizar un dibujo
aproximado de la transformada de Fourier de h de la forma:
>> plot(omegas,abs(Haprox));
Ese dibujo nos proporciona una aproximaci
on a la magnitud de la respuesta en frecuencia
del sistema. Podemos superponer la respuesta en frecuencia evaluada en muchos m
as puntos,
de la forma:
>> hold;
>> H=fft(h,128);
>> plot(2*pi*(0:127)/128,abs(H));
Comprobar que, efectivamente, H es igual a la respuesta en frecuencia a las frecuencias
k = 2k/10, k = 0, , 9. Notar la simetra de la representaci
on, dado que estamos visualizando la transformada en el intervalo [0, 2), y la magnitud es par (h[n] real).

4.2.3 Simetras
A la hora de trabajar con simetras en torno al origen, hay que insistir en que Matlab considera
que las se
nales comienzan en n = 0 a la hora de evaluar su transformada de Fourier.
 Ejercicio 22 Considerar el pulso rectangular de anchura L definido como

1 0n<L
x[n] =
0 resto

(4.6)

Obtener la expresion analtica de su transformada de Fourier a partir de la ecuaci


on (4.2).
Observar en la ecuacion resultante el termino de fase debido a que el pulso est
a centrado en
(L 1)/2.
Utilizando la funcion fft(), obtener 256 puntos de la transformada de un pulso de longitud
L = 16. Dibujar en diagramas separados el m
odulo y la fase, razonando su forma en base al
c
alculo analtico de la transformada realizado anteriormente:

51

TEORICA

4.2. INTRODUCCION
PRACTICA
4. LA TRANSFORMADA DE FOURIER
>>
>>
>>
>>
>>

pulso = ...
H = fft(pulso,256);
plot(2*pi*(0:255)/256,abs(H)); % Para dibujar la magnitud
figure(1);
plot(2*pi*(0:255)/256,angle(H)); % Para dibujar la fase
Calcular teoricamente las frecuencias a las cuales se hace 0 la transformada, en funcion
de L.
Razonar para que valores de frecuencia se producen las discontinuidades en la fase.
Para L = 9, pensar que desplazamiento debera sufrir el pulso definido anteriormente
para que el espectro de la se
nal resultante fuese real. Es causal el sistema resultante
representado por esa respuesta impulsional?

Para vectores cuyo primer valor represente un instante de tiempo distinto del cero habra que
introducir una correccion:
 Ejercicio 23 Escribir el codigo de una funci
on que, utilizando la funci
on fft(), calcule la
transformada de Fourier de una se
nal discreta de la siguiente forma:
function [H,w] = dtft(h,no,N)
% h: vector de entrada
% no: instante de tiempo en el cual comienza h
% N: numero de puntos a calcular de la transformada de h
% H: vector de la transformada de Fourier de H
% w: frecuencias en las que se evalua la transformada
Para realizar la funcion hay que tener en cuenta la propiedad del desplazamiento de la transformada de Fourier, bajo la cual un desplazamiento en el tiempo equivale a un desplazamiento
en frecuencia:
x[n n0 ] ejn0 X(ej )
(4.7)
Tener en cuenta que la funcion fft() considera el instante de comienzo de la se
nal en n0 = 0.
Recordar ademas que los valores de las frecuencias en los cuales la funci
on fft() calcula la
transformada vienen dados por:

k =

2k
, k = 0, , N 1
N

en donde N es el n
umero de valores que se calculan de la transformada de Fourier, que como
se puede apreciar, estan equiespaciados entre 0 y 2. Efectuar el producto punto a punto entre
dos vectores de tal modo que los dos sean filas o columnas. De lo contrario se obtendr
a un error
de no correspondencia entre matrices.

52


TEORICA

PRACTICA
4. LA TRANSFORMADA DE FOURIER 4.2. INTRODUCCION
A fin de probar la funcion, calcular la transformada de Fourier de un pulso rectangular de
longitud 9 y centrado en el 0, comprobando que la parte imaginaria de su transformada es
0. Representar la parte real de dicha transformada. Razonar la forma de la transformada de
Fourier del pulso entre L/2 y L/2 a medida que L tiende a .
En general, podemos descomponer una se
nal compleja en su parte real y su parte imaginaria,
y a su vez cada una de ellas en parte par e impar:
x[n] = xrealpar [n] + xrealimpar [n] + j ximagpar [n] + j ximagimpar [n]

(4.8)

en donde la parte par de una se


nal z[n] se define como (z[n] + z[n])/2, y la parte impar como
(z[n] z[n])/2. Hay que tener en cuenta que aunque una se
nal sea la respuesta de un sistema
causal, sus partes par e impar no, debido a la simetra que presentan respecto al origen.
 Cuesti
on 9 Sea la descomposicion vista anteriormente de una se
nal x[n]
x[n] = xrealpar [n] + xrealimpar [n] + j ximagpar [n] + j ximagimpar [n]

(4.9)

y de su transformada X(ej )
X(ej ) = Xrealpar (ej ) + Xrealimpar (ej ) + j Ximagpar (ej ) + j Ximagimpar (ej )

(4.10)

Asociar las componentes temporales con sus respectivas componentes espectrales.


Ahora podemos utilizar la funcion recientemente construida en el ejercicio 4.4 para constatar
las propiedades de simetra de la transformada de Fourier, que de forma resumida son:
La transformada de x [n] es X (ej ).
La transformada de una se
nal real es conjugada simetrica, es decir, el modulo es par y la
fase impar.
La transformada de una se
nal imaginaria pura es conjugada antisimetrica, es decir,
j
j
X(e ) = X (e )
 Ejercicio 24
Verificar que la transformada de la se
nal x[n] = (0.5)n sin(2n/24),
para 0 n < 32 es conjugada simetrica, observando los diagramas de m
odulo y fase.
Para observar el modulo, utilizar la funci
on plot() sobre el m
odulo de la salida que se
obtiene de fft(), mientras que para la fase utilizar simplemente plot() sobre la fase de
la transformada, analogamente a lo realizado en el primer ejercicio.
2

Comprobar que la transformada de la se


nal chirp x[n] = ej2n /25 para 16 n 16 es
par, usando la funcion dtft() desarrollada en el ejercicio anterior.

53

TEORICA

4.2. INTRODUCCION
PRACTICA
4. LA TRANSFORMADA DE FOURIER

4.2.4 Se
nales de duraci
on infinita
Un grupo muy u
til de transformadas es aquel que procede de los sistemas descritos mediante
ecuaciones en diferencias , que dan lugar a respuestas impulsionales que son combinaciones de
exponenciales, y que se corresponden con transformadas racionales en ej . Dichas transformadas son de la forma:
j

H(e ) =

PM

jk
k=0 bk e
PN
jk
k=0 ak e

(4.11)

que se corresponden con sistemas de la forma:


N
X

ak y[n k] =

k=0

M
X

bk x[n k]

(4.12)

k=0

La funcion freqz nos permite calcular valores de ese tipo de transformadas en una serie
de puntos, a traves del calculo de dos transformadas, una para el numerador y otra para el
denominador.
 Ejercicio 25 Sea el sistema LIT descrito mediante la ecuaci
on en diferencias siguiente:
1
y[n] = y[n 1] + x[n] + x[n 1]
2

(4.13)

Utilizar la funcion freqz() para obtener una representaci


on en frecuencia de la respuesta
impulsional del sistema, en 512 valores entre 0 y 2:
>> b = [... ];
>> a = [... ];
>> [H,w] = freqz(b,a,512,"whole");
Tener en cuenta que b representa los coeficientes de la parte directa del filtro, mientras que
a los de la parte realimentada.
Averiguar a que frecuencia se hace 0 la respuesta en frecuencia del sistema.
A partir de esa frecuencia, deducir para que se
nal de entrada se har
a 0 la salida (dicha
se
nal ha de ser una autofuncion).
Razonar en el dominio del tiempo, y para dicha se
nal de entrada, por que la salida es 0,
evaluando manualmente un par de recursiones de la ecuaci
on en diferencias.

4.2.5 Otras propiedades de la Transformada de Fourier


La propiedad de enventanado explica cual es la transformada del producto de dos se
nales en
el tiempo:
Z
1
j
y[n] = x[n] w[n] Y (e ) =
X(ej )W (ej() )d
(4.14)
2

54


TEORICA

PRACTICA
4. LA TRANSFORMADA DE FOURIER 4.2. INTRODUCCION
en donde el segundo miembro representa una convolucion periodica. En una convolucion de ese
tipo se opera sobre se
nales periodicas. La integral se lleva a cabo sobre un intervalo de longitud
igual al perodo de las se
nales, siendo el resultado tambien periodico con el mismo perodo. De
alguna forma es la propiedad dual a la propiedad de la convoluci
on , que nos relaciona una
convolucion en el tiempo con un producto en el dominio transformado:
y[n] = x[n] h[n] Y (ej ) = X(ej )H(ej )

(4.15)

al igual que ocurre en el caso continuo. Esta u


ltima propiedad no es mas que una consecuencia
del hecho de que las exponenciales complejas son autofunciones de los sistemas LIT, con lo que
el peso que tienen a la salida de un sistema se ve afectado por el valor de la transformada de
Fourier de la respuesta impulsional del sistema evaluada a esa frecuencia.
Volviendo con la propiedad de enventanado, cabe decir que si se particulariza al caso en
el que la ventana w[n] es una exponencial compleja nos encontramos con la propiedad de la
modulaci
on :
y[n] = x[n] ej0 n Y (ej ) = X(ej(0 ) )
(4.16)
de tan amplio uso en comunicaciones y radar. Esta propiedad es la dual a la propiedad del
desplazamiento temporal, que se traduce en un producto en frecuencia por una exponencial.
 Cuesti
on 10 Demostrar que la transformada de Fourier de la parte par de una se
nal real
j
x[n] es la parte real de la transformada de Fourier X(e ). Razonar que si x[n] = 0, n < 0,
entonces X(ej ) se puede obtener a partir de Re {X(ej )}.
 Ejercicio 26 Sea un pulso x[n] de longitud 21, que podra representar el resultado de muestrear un pulso utilizado en radar (emplear la funci
on ones()). Para enviarlo es necesario modularlo, de modo que el espectro resultante se sit
ue en la frecuencia que interese. Dado que
la se
nal a enviar sera real, la modulaci
on se lleva a cabo con un coseno, que en este caso
ser
a cos(n/2). Representar el espectro de las se
nales moduladas y sin modular, utilizado para
ello las funciones fft() y plot(), comprobando en donde se encuentra el pico de la transformada. Razonar la forma del espectro.

Este ejercicio que acabamos de realizar se puede ver tambien desde la perspectiva del enventanado, en la cual la ventana sera el pulso original, y la se
nal deseada la exponencial compleja.
Entonces, la multiplicacion en el tiempo significa que las deltas originales en frecuencia son
ensanchadas debido a la convolucion con la sinc, transformada del pulso, como se puede apreciar en la siguiente figura, que representa la transformada de un coseno de frecuencia 2/8 y
longitud 50 muestras. En frecuencia no hay dos deltas sino un par de sincs centradas a las
frecuencias 2/8 y 2 2/8. Existen muchsimos tipos de ventanas, cada una de las cuales
con propiedades diferentes. Acabamos de ver la mas simple, la ventana rectangular, 1 en el
intervalo de definicion y 0 fuera del mismo. Tambien es posible el uso de otras ventanas que
no son constantes, sino que van disminuyendo su amplitud a medida que se alejan del punto
centra. La ventaja principal que ofrecen frente a la rectangular es que los lobulos laterales de
sus transformadas son mucho mas peque
nos que los de una sinc, con lo que esa cada mas rapida
en frecuencia hace posible una menor distorsion del espectro original. Como incoveniente hay

55

TEORICA

4.2. INTRODUCCION
PRACTICA
4. LA TRANSFORMADA DE FOURIER
30

magnitud de la transformada

25

20

15

10

0
0

50

100

150

200
250
300
350
512 frecuencias entre 0 y 2pi

400

450

500

que resaltar que la anchura del lobulo central es mayor que la correspondiente a una sinc. A
modo de ejemplo ponemos la ecuacion de la ventana de Hamming, de uso muy extendido:

) 0nL
0.54 0.46cos( 2n
L
(4.17)
x[n] =
0
resto
 Ejercicio 27 En este ejercicio compararemos la magnitud del espectro de una ventana
Hamming y de una ventana rectangular de igual longitud, comentando las principales diferencias.
Para ello, generar un pulso de 32 unos, y calcular con fft() 128 puntos de su transformada.
Utilizando la funcion hamming(), obtener una ventana de Hamming de 32 muestras,
visualizando su forma con plot(). Calcular 128 de su transformada de Fourier.
Representar los espectros superpuestos de ambas se
nales. Observar las diferencias en
terminos de anchura del lobulo principal y altura de l
obulos laterales.
Razonar que ventana sera mas apropiada si nuestro objetivo es distorsionar lo menos
posible el espectro de la se
nal enventanada.
A modo de ejemplo de empleo de ambas ventanas, visualicemos el espectro de una se
nal
compuesta de dos tonos, uno de los cuales es mucho m
as potente que el otro:
>>
>>
>>
>>
>>

x=cos(0.5*(0:31))+20*cos(1.5*(0:31));
figure(0)
plot(2*pi*(0:127)/128,abs(fft(x.*ones(1,32),128)));
figure(1)
plot(2*pi*(0:127)/128,abs(fft(x.*hamming(32),128)));

56


PRACTICA
4. LA TRANSFORMADA DE FOURIER

4.3.

Observar que en el caso de la ventana de Hamming resulta mucho m


as f
acil apreciar el
tono de menor intensidad en el espectro.
La propiedad de enventanado se puede utilizar para analizar el efecto de la toma de registros
finitos de se
nales de longitud infinita. Es decir, se puede pensar en considerar la se
nal original
multiplicada por una ventana de longitud igual a la duracion del intervalo considerado, como
se vera en el siguiente ejercicio.
 Ejercicio 28 Sea la se
nal h[n] = n u[n] la respuesta impulsional de un sistema definido
por la ecuacion en diferencias y[n] = y[n 1] + x[n]. Por lo visto anteriormente podemos
calcular valores de su transformada exacta, utilizando la funci
on freqz(). Obtener 512 de esos
valores para a = 0.5, y compararlos con los valores obtenidos a partir de un registro finito de
esa se
nal, es decir:
 n
u[n] 0 n < L
htrunc[n] =
(4.18)
0
resto
para L=2, 4, 6, 8.
>> [H,w] = freqz(b,a,512,"whole");
% a, b representan los coeficientes de la ecuacion en diferencias
>> plot(2*pi*(0:511)/512,abs(H));
>> Htrunc=fft(htrunc,512);
>> hold
>> plot(2*pi*(0:511)/512,abs(Htrunc));
Comprobar a partir de que longitud de la se
nal truncada la diferencia entre los espectros es
inapreciable.
Obtener la respuesta en frecuencia del resultado de poner en cascada el filtro anterior con
el filtro de respuesta al impulso h[n] = [n 1]. Determinar el valor de dicha respuesta en
frecuencia para = /4.

4.3 Dudas m
as comunes
P: Quiero que dejen de superponerse las graficas en una misma figura.
R: Hay que teclear hold off.
P: Matlab no encuentra la funcion que he creado.
R: Hacer ls para comprobar si se encuentra en ese directorio. Si no es as, cambiar al
directorio correcto.
P: Al representar en pantalla la transformada de Fourier de una se
nal, aparece una curva
muy rara.
R: Seguramente no estais representando la magnitud de la transformada, sino que estais
tratando de representar un vector complejo frente al eje de frecuencias.

57

4.4.

PRACTICA
4. LA TRANSFORMADA DE FOURIER

4.4 Descripci
on funciones utilizadas
A continuacion se describen algunas de las funciones utilizadas a lo largo de esta practica, y
que se seguiran empleando en lo que resta de curso.
La funcion fft() eval
ua la transformada de una secuencia discreta en un n
umero de puntos
equiespaciados entre 0 y 2:

fft (X [, N]): fast fourier transform of a vector

La funcion filter() filtra una se


nal de entrada a traves de un sistema definido por una
ecuacion en diferencias, el cual viene especificado a partir de sus coeficientes de la parte directa
y de la parte realimentada. Calcula tantas muestras de salida como longitud tenga la entrada:

function [y [,sf]] = filter(b,a,x [,si])


Filter a vector.
y = filter(b,a,x) returns the solution to the following linear,
time-invariant difference equation:
N
M
sum a(k+1) y[n-k]= sum b(k+1) x[n-k] = 0
k=0
k=0

for 1<=n<=length(x)

where N=length(a)-1 and M=length(b)-1.


[y, sf] = filter(b,a,x,si) sets the initial state of the system, si,
and returns the final state, sf. The state vector is a column vector
whose length is equal to the length of the longest coefficient vector
minus one. If si is not set, the initial state vector is set to all
zeros.
The particular algorithm employed is known as a transposed Direct
Form II implementation.

La funcion freqz() eval


ua la respuesta en frecuencia de un sistema que viene definido por
una ecuacion en diferencias. Permite de esta forma evaluar la transformada de respuestas
impulsionales de duracion infinita, cuando estas se corresponden con sistemas racionales, o lo
que es lo mismo, definidos por ecuaciones en diferencias. Permite calcular la respuesta entre 0
y o entre 0 y 2:

58


PRACTICA
4. LA TRANSFORMADA DE FOURIER

4.5.

function [H, w] = freqz(b,...)


Computes the frequency response of a filter.
[H,w] = freqz(b)
returns the complex frequency response h of the FIR filter with
coefficients b. The response is evaluated at 512 angular frequencies
between 0 and pi. w is a vector containing the 512 frequencies.
[H,w] = freqz(b,a)
returns the complex frequency response of the rational IIR filter
whose numerator has coefficients b and denominator coefficients a.
[H,w] = freqz(b,a,n)
returns the response evaluated at n angular frequencies. For fastest
computation n should factor into a small number of small primes.
[H,w] = freqz(b,a,n,"whole")
evaluates the response at n frequencies between 0 and 2*pi.

4.5 Ejercicios recomendados


Algunos ejercicios teoricos recomendados del captulo 2 de [3] son los siguientes: 21, 25, 27, 34,
35, 36, 37.

59

4.5.

PRACTICA
4. LA TRANSFORMADA DE FOURIER

60

También podría gustarte