Sei sulla pagina 1di 17

Pr actica 4

La Transformada de Fourier
4.1 Resumen

En la teor a de sistemas lineales es fundamental la representaci on de una se nal en t erminos de sinusoides o exponenciales complejas. Ello es debido a que una exponencial compleja es una autofunci on 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 representaci on en frecuencia de la se nales, a trav es de la Transformada de Fourier, resulta imprescindible para analizar las se nales y los sistemas. Objetivo: Familiarizarse con la Transformada de Fourier: su signicado, sus propiedades, y su manejo. Se introducir an diversas funciones para calcular y visualizar la Transformada de Fourier en sus diversos aspectos, que ser an 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 c omo 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 peri odica de per odo 2 . As , la ecuaci on de s ntesis de x[n] a partir de su transformada se puede ver como el 51

52

PRACTICA 4. LA TRANSFORMADA DE FOURIER

c alculo de los coecientes de la serie de Fourier de la se nal peri odica X (ej ), mientras que la ecuaci on de an alisis reeja el desarrollo en serie de la transformada en funci on de los coecientes x[n]. A la hora de plantear la DTFT computacionalmente cabe hablar de dos problemas: la transformada de se nales innitas, y el hecho de que la transformada es continua, cuando s olo podemos trabajar de forma discreta. Ante el primer problema s olo cabe decir que se podr a evaluar la transformada de se nales innitas cuando esta se pueda representar anal ticamente. En cuanto a la naturaleza discreta de los c alculos, aunque la transformada es continua s olo podremos obtener muestras de la misma, que pueden constituir una buena aproximaci on si se toman sucientes (el concepto de suciencia quedar a m as claro m as adelante en el curso). La funci on t calcula la transformada de Fourier de una se nal nita en el n umero de puntos equiespaciados especicado en la llamada a la funci on.

TEORICA 4.2. INTRODUCCION

53

Ejercicio 17 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 nito de frecuencias. As , sea la se nal h[n] = [n] + 0.5 [n 1] + 0.2 [n 2] La siguiente instrucci on nos permite calcular 128 valores de su transformada de Fourier:
octave:#> 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

k =

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:
octave:#> plot(2*pi*(0:127)/128,abs(H)); octave:#> 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 . Si lo que necesitamos es la respuesta en frecuencia de un ltro de la forma
N M

ak y [n k ] =
k=0 k=0

bk x[n k ]

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

IMPORTANTE!!!: Acudir a este ejercicio cada vez que teng ais dudas acerca de como representar la transformada de Fourier de una se nal.

54

PRACTICA 4. LA TRANSFORMADA DE FOURIER

Otra funci on de Octave 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 ltros IIR (respuesta impulsional de duraci on innita) que se pueden expresar de forma racional en el dominio de la frecuencia. En la secci on de descripci on de funciones utilizadas, al nal de esta practica, vemos c omo se aplica: en la llamada a la funci on se especican los coecientes del ltro, as como el n umero deseado de puntos de su transformada, como se puede comprobar con un help freqz en Octave.

4.2.2

Autofunciones

El concepto de autofunci on 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 ser a

y [n] =
k=

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

(4.1)

Un sistema LIT tiene como autofunciones el conjunto de exponenciales complejas de la forn ma z0 , que s olo se ven modicadas 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 ecuaci on de s ntesis se puede reconstruir la se nal con exponenciales complejas, tal y como se describe a continuaci on:

X (ej ) =
n=

x[n]ejn

(4.2)

x[n] =

1 2

X (ej )ejn d

(4.3)

TEORICA 4.2. INTRODUCCION

55

Ejercicio 18 En este ejercicio se va a identicar 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 inter es. 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 denir la respuesta impulsional, basta con efectuar en Octave octave:#> 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 ejk n , para las siguientes frecuencias discretas: k = 2k/10, k = 0, , 9: octave:#> octave:#> octave:#> octave:#> omegas =(2*pi*(0:9))/10; e1 = exp(j*omegas(1)*(0:47)); e2 = exp(j*omegas(2)*(0:47)); ...

Tambi en se puede realizar un bucle for para la generaci on de esas diez se nales, introduci endolas como las o columnas de un matriz. Calcular la salida del ltro para cada una de las exponenciales, convolucionando cada se nal de entrada con el ltro denido al comienzo: octave:#> y1 = conv(e1,h); octave:#> y2 = conv(e2,h); octave:#> ... Superponer en la misma gr aca la entrada e1 y la salida y 1: octave:#> octave:#> octave:#> octave:#> plot(e1); hold; plot(y1); hold;

Razonar el porqu e de la aparici on 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).

56

PRACTICA 4. LA TRANSFORMADA DE FOURIER

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 divisi on en un instante apropiado nos dar a el valor de dicho escalar. ( NO TRATAR DE HACER UNA DE VECTORES!!!) DIVISION

Ejercicio 19 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: octave:#> 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: octave:#> hold; octave:#> H=fft(h,128); octave:#> 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 simetr a de la representaci on, dado que estamos visualizando la transformada en el intervalo [0, 2 ), y la magnitud es par (h[n] real).

TEORICA 4.2. INTRODUCCION

57

4.2.3

Simetr as

A la hora de trabajar con simetr as en torno al origen, hay que insistir en que Octave considera que las se nales comienzan en n = 0 a la hora de evaluar su transformada de Fourier. Ejercicio 20 Considerar el pulso rectangular de anchura L denido como x[n] = 1 0n<L 0 resto (4.6)

Obtener la expresi on anal tica de su transformada de Fourier a partir de la ecuaci on (4.2). Observar en la ecuaci on resultante el t ermino de fase debido a que el pulso est a centrado en (L 1)/2. Utilizando la funci on 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 anal tico de la transformada realizado anteriormente: octave:#> octave:#> octave:#> octave:#> octave:#> 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 te oricamente las frecuencias a las cuales se hace 0 la transformada, en funci on de L. Razonar para qu e valores de frecuencia se producen las discontinuidades en la fase. Para L = 9, pensar qu e desplazamiento deber a sufrir el pulso denido 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 habr a que introducir una correcci on:

58

PRACTICA 4. LA TRANSFORMADA DE FOURIER

Ejercicio 21 Escribir el c odigo 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 funci on 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 funci on fft() considera el instante de comienzo de la se nal en n0 = 0. Recordar adem as 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, est an equiespaciados entre 0 y 2 . Efectuar el producto punto a punto entre dos vectores de tal modo que los dos sean las o columnas. De lo contrario se obtendr a un error de no correspondencia entre matrices. A n de probar la funci on, 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)

TEORICA 4.2. INTRODUCCION

59

en donde la parte par de una se nal z [n] se dene 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 simetr a que presentan respecto al origen. Cuesti on 10 Sea la descomposici on vista anteriormente de una se nal x[n] x[n] = xrealpar [n] + xrealimpar [n] + j ximagpar [n] + j ximagimpar [n] 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 funci on recientemente construida en el ejercicio 4.4 para constatar las propiedades de simetr a 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 sim etrica, es decir, el m odulo es par y la fase impar. La transformada de una se nal imaginaria pura es conjugada antisim etrica, es decir, X (ej ) = X (ej ) (4.9)

Ejercicio 22 Vericar que la transformada de la se nal x[n] = (0.5)n sin(2n/24), para 0 n < 32 es conjugada sim etrica, observando los diagramas de m odulo y fase. Para observar el m odulo, 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, an alogamente a lo realizado en el primer ejercicio. Comprobar que la transformada de la se nal chirp x[n] = ej 2n /25 para 16 n 16 es par, usando la funci on dtft() desarrollada en el ejercicio anterior.
2

4.2.4

Se nales de duraci on innita

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 combinacio-

60

PRACTICA 4. LA TRANSFORMADA DE FOURIER

nes de exponenciales, y que se corresponden con transformadas racionales en ej . Dichas transformadas son de la forma:
M jk k=0 bk e N jk k=0 ak e

H (ej ) =

(4.11)

que se corresponden con sistemas de la forma:

ak y [n k ] =
k=0 k=0

bk x[n k ]

(4.12)

La funci on freqz nos permite calcular valores de ese tipo de transformadas en una serie de puntos, a trav es del c alculo de dos transformadas, una para el numerador y otra para el denominador.

Ejercicio 23 Sea el sistema LIT descrito mediante la ecuaci on en diferencias siguiente: y [n] = 1 y [n 1] + x[n] + x[n 1] 2 (4.13)

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

TEORICA 4.2. INTRODUCCION

61

4.2.5

Otras propiedades de la Transformada de Fourier

La propiedad de enventanado explica cu al es la transformada del producto de dos se nales en el tiempo:

y [n] = x[n] w[n] Y (ej ) =

1 2

X (ej )W (ej () )d

(4.14)

en donde el segundo miembro representa una convoluci on peri odica. En una convoluci on de ese tipo se opera sobre se nales peri odicas. La integral se lleva a cabo sobre un intervalo de longitud igual al per odo de las se nales, siendo el resultado tambi en peri odico con el mismo per odo. De alguna forma es la propiedad dual a la propiedad de la convoluci on , que nos relaciona una convoluci on 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 m as 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 11 Demostrar que la transformada de Fourier de la parte par de una se nal real x[n] es la parte real de la transformada de Fourier X (ej ). Razonar que si x[n] = 0, n < 0, entonces X (ej ) se puede obtener a partir de Re X (ej ) .

62

PRACTICA 4. LA TRANSFORMADA DE FOURIER

Ejercicio 24 Sea un pulso x[n] de longitud 21, que podr a 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 ser a 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 tambi en desde la perspectiva del enventanado, en la cual la ventana ser a el pulso original, y la se nal deseada la exponencial compleja. Entonces, la multiplicaci on en el tiempo signica que las deltas originales en frecuencia son ensanchadas debido a la convoluci on con la sinc, transformada del pulso, como se puede apreciar en la siguiente gura, 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 much simos tipos de ventanas, cada
30

25

magnitud de la transformada

20

15

10

0 0

50

100

150

200 250 300 350 512 frecuencias entre 0 y 2pi

400

450

500

una de las cuales con propiedades diferentes. Acabamos de ver la m as simple, la ventana rectangular, 1 en el intervalo de denici on y 0 fuera del mismo. Tambi en 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

TEORICA 4.2. INTRODUCCION

63

los l obulos laterales de sus transformadas son mucho m as peque nos que los de una sinc, con lo que esa ca da m as r apida en frecuencia hace posible una menor distorsi on del espectro original. Como incoveniente hay que resaltar que la anchura del l obulo central es mayor que la correspondiente a una sinc. A modo de ejemplo ponemos la ecuaci on de la ventana de Hamming, de uso muy extendido: x[n] = 0.54 0.46cos( 2n L ) 0 n L 0 resto (4.17)

Ejercicio 25 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 funci on 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 t erminos de anchura del l obulo principal y altura de l obulos laterales. Razonar qu e ventana ser a m as 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: octave:#> octave:#> octave:#> octave:#> octave:#> 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)));

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 nitos de se nales de longitud innita. Es decir, se puede pensar en considerar la se nal original multiplicada por una ventana de longitud igual a la duraci on del intervalo considerado, como se ver a en el siguiente ejercicio.

64

PRACTICA 4. LA TRANSFORMADA DE FOURIER

Ejercicio 26 Sea la se nal h[n] = n u[n] la respuesta impulsional de un sistema denido por la ecuaci on 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 nito de esa se nal, es decir: htrunc[n] = para L=2, 4, 6, 8. octave:#> [H,w] = freqz(b,a,512,"whole"); % a, b representan los coeficientes de la ecuacion en diferencias octave:#> plot(2*pi*(0:511)/512,abs(H)); octave:#> Htrunc=fft(htrunc,512); octave:#> hold octave:#> plot(2*pi*(0:511)/512,abs(Htrunc)); Comprobar a partir de qu e 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 ltro anterior con el ltro de respuesta al impulso h[n] = [n 1]. Determinar el valor de dicha respuesta en frecuencia para = /4. n u[n] 0 n < L 0 resto (4.18)

4.3

Dudas m as comunes

P: Quiero que dejen de superponerse las gr acas en una misma gura. R: Hay que teclear hold off. P: Octave no encuentra la funci on 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 est ais representando la magnitud de la transformada, sino que est ais tratando de representar un vector complejo frente al eje de frecuencias.

FUNCIONES UTILIZADAS 4.4. DESCRIPCION

65

4.4

Descripci on funciones utilizadas

A continuaci on se describen algunas de las funciones utilizadas a lo largo de esta pr actica, y que se seguir an empleando en lo que resta de curso. La funci on 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 funci on filter() ltra una se nal de entrada a trav es de un sistema denido por una ecuaci on en diferencias, el cual viene especicado a partir de sus coecientes 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 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 funci on freqz() eval ua la respuesta en frecuencia de un sistema que viene denido por una ecuaci on en diferencias. Permite de esta forma evaluar la transformada de respuestas impulsionales de duraci on innita, cuando estas se corresponden con sistemas racionales, o lo que es lo mismo, denidos por ecuaciones en diferencias. Permite calcular la respuesta entre 0 y o entre 0 y 2 :

for 1<=n<=length(x)

66

PRACTICA 4. LA TRANSFORMADA DE FOURIER

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 te oricos recomendados del cap tulo 2 de [3] son los siguientes: 21, 25, 27, 34, 35, 36, 37.

Bibliograf a
[1] C. Burrus, J. McClelland, A. Oppenheim, T. Parks, R. Schafer, and H. Scuessler, editors. Computer-based exercises for Signal Processing using MATLAB. Prentice-Hall, 1994. [2] John Eaton. Octave Documentation. GNU, 1997 (En fotocopiadora). [3] A.V. Oppenheim and R.W. Schafer. Discrete-Time Signal Processing. Prentice-Hall, 1989. [4] A.V. Oppenheim, A.S. Willsky, and I.T. Young. Signals and Systems. Prentice-Hall, 1983.

67

Potrebbero piacerti anche