Tratamiento Digital de la Senal˜ -...

265
Departamento de Comunicaciones-UPV Tratamiento Digital de la Se˜ nal Teor´ ıa y Aplicaciones Antonio Albiol Valery Naranjo Josep Prades

Transcript of Tratamiento Digital de la Senal˜ -...

Page 1: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

Departamento de Comunicaciones-UPV

Tratamiento Digital de la Senal

Teorıa y Aplicaciones

Antonio AlbiolValery NaranjoJosep Prades

Page 2: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion
Page 3: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

Indice

1. Muestreo 11.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2. Muestreo de senales paso-bajo . . . . . . . . . . . . . . . . . . . 1

1.2.1. Recuperacion de una senal paso-bajo a partir desus muestras . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2.2. Consideraciones practicas . . . . . . . . . . . . . . . . . 81.3. Procesado discreto de senales continuas . . . . . . . . . . . . . 91.4. Muestreo y reconstruccion de senales paso-banda . . . . . . . . 12

1.4.1. Muestreo de senales paso-banda como senales reales . . 131.4.2. Muestreo de senales paso-banda como senales complejas 14

1.5. Cambio de la velocidad de muestreo . . . . . . . . . . . . . . . 181.5.1. Diezmado por un factor entero . . . . . . . . . . . . . . 191.5.2. Interpolacion por un factor entero . . . . . . . . . . . . 211.5.3. Cambio de la frecuencia de muestreo por un factor racional 251.5.4. Aplicacion del diezmado a la conversion C/D . . . . . . 271.5.5. Aplicacion de la interpolacion a la conversion D/C . . . 28

1.6. Codificacion de senales . . . . . . . . . . . . . . . . . . . . . . . 301.6.1. Recuperacion de la senal . . . . . . . . . . . . . . . . . . 311.6.2. El ruido de cuantificacion . . . . . . . . . . . . . . . . . 331.6.3. Cuantificacion no uniforme . . . . . . . . . . . . . . . . 35

2. Transformada Discreta de Fourier 392.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392.2. La Transformada Discreta de Fourier . . . . . . . . . . . . . . . 392.3. Propiedades de la DFT . . . . . . . . . . . . . . . . . . . . . . 412.4. Relacion entre convolucion circular y lineal . . . . . . . . . . . 46

i

Page 4: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

2.4.1. Cond. para igualdad entre conv. lineal y circular . . . . 482.4.2. Coincidencias entre la convolucion lineal y la circular . . 50

2.5. Implementacion de filtros LTI utilizando DFT . . . . . . . . . . 522.6. Muestreo de la Transformada de Fourier . . . . . . . . . . . . . 542.7. La FFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

2.7.1. Consideraciones previas . . . . . . . . . . . . . . . . . . 582.7.2. Algoritmos de diezmado en el tiempo . . . . . . . . . . 612.7.3. Algoritmos de diezmado en frecuencia . . . . . . . . . . 692.7.4. Consideraciones adicionales sobre la FFT . . . . . . . . 722.7.5. Algoritmos con N 6= 2υ . . . . . . . . . . . . . . . . . . 78

2.8. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

3. Implementacion de filtros 833.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

3.1.1. Aplicaciones de los filtros . . . . . . . . . . . . . . . . . 833.1.2. Ventajas e inconvenientes de los filtros digitales . . . . . 85

3.2. Planteamiento general del filtrado digital . . . . . . . . . . . . . 873.2.1. Implementabilidad de filtros FIR . . . . . . . . . . . . . 893.2.2. Implementabilidad de filtros IIR . . . . . . . . . . . . . 903.2.3. Proceso de implementacion de un filtro digital . . . . . 91

3.3. Implementacion de filtros digitales . . . . . . . . . . . . . . . . 923.3.1. Diagramas de flujo . . . . . . . . . . . . . . . . . . . . . 923.3.2. Formas directas . . . . . . . . . . . . . . . . . . . . . . . 943.3.3. Realizacion en Cascada . . . . . . . . . . . . . . . . . . 963.3.4. Realizacion en paralelo . . . . . . . . . . . . . . . . . . . 983.3.5. Formas transpuestas . . . . . . . . . . . . . . . . . . . . 983.3.6. Determinacion de la funcion de transferencia de un grafo 1003.3.7. Secuencia de calculo . . . . . . . . . . . . . . . . . . . . 102

3.4. Efectos de precision finita . . . . . . . . . . . . . . . . . . . . . 1083.4.1. Cuantificacion de los coeficientes . . . . . . . . . . . . . 1083.4.2. Cuantificacion de las muestras de entrada . . . . . . . . 1143.4.3. Redondeos en las operaciones . . . . . . . . . . . . . . . 1163.4.4. Escalado en sistemas de coma fija . . . . . . . . . . . . 1233.4.5. Ciclos lımite . . . . . . . . . . . . . . . . . . . . . . . . 126

3.5. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

ii

Page 5: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

4. Filtros Adaptativos 1314.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

4.1.1. Ejemplos de sistemas adaptativos . . . . . . . . . . . . . 1314.1.2. Caracterısticas fundamentales de los sistemas adaptativos1324.1.3. Fundamentos de los de sistemas adaptativos . . . . . . . 132

4.2. Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1334.2.1. Identificacion de sistemas . . . . . . . . . . . . . . . . . 1334.2.2. Prediccion . . . . . . . . . . . . . . . . . . . . . . . . . . 1344.2.3. Cancelacion de ruido . . . . . . . . . . . . . . . . . . . . 1344.2.4. Canceladores de eco . . . . . . . . . . . . . . . . . . . . 1364.2.5. Ecualizadores adaptativos . . . . . . . . . . . . . . . . . 1394.2.6. Filtro en hendidura . . . . . . . . . . . . . . . . . . . . . 140

4.3. Filtrado Optimo . . . . . . . . . . . . . . . . . . . . . . . . . . 1404.3.1. El combinador lineal . . . . . . . . . . . . . . . . . . . . 1414.3.2. Notacion matricial . . . . . . . . . . . . . . . . . . . . . 1424.3.3. Respuesta deseada y error . . . . . . . . . . . . . . . . . 1424.3.4. Superficie de error . . . . . . . . . . . . . . . . . . . . . 1434.3.5. Gradiente y error cuadratico medio mınimo . . . . . . . 1464.3.6. Ejemplo de superficie de error . . . . . . . . . . . . . . . 148

4.4. Algoritmos de gradiente . . . . . . . . . . . . . . . . . . . . . . 1494.4.1. Caso Unidimensional . . . . . . . . . . . . . . . . . . . . 1504.4.2. Caso Multidimensional . . . . . . . . . . . . . . . . . . . 152

4.5. El algoritmo LMS . . . . . . . . . . . . . . . . . . . . . . . . . 1534.5.1. Ejemplo numerico del algoritmo LMS . . . . . . . . . . 1554.5.2. Aspectos practicos del algoritmo LMS . . . . . . . . . . 156

4.6. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1584.7. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

4.7.1. Ejercicios con Matlab . . . . . . . . . . . . . . . . . . 159

5. Analisis Espectral 1635.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1635.2. Tipos y tecnologıas de analizadores espectrales . . . . . . . . . 164

5.2.1. Analizadores por banco de filtros . . . . . . . . . . . . . 1645.2.2. Analizadores de barrido . . . . . . . . . . . . . . . . . . 1665.2.3. Analizadores digitales . . . . . . . . . . . . . . . . . . . 167

iii

Page 6: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.3. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . 1675.3.1. Senales deterministas de duracion limitada . . . . . . . 1685.3.2. Senales deterministas de duracion ilimitada . . . . . . . 1685.3.3. Senales aleatorias estacionarias . . . . . . . . . . . . . . 1685.3.4. Senales no estacionarias . . . . . . . . . . . . . . . . . . 1705.3.5. Aspectos practicos del analisis espectral digital . . . . . 170

5.4. Analisis espectral de senales deterministas . . . . . . . . . . . . 1725.4.1. Ventanas de analisis . . . . . . . . . . . . . . . . . . . . 1745.4.2. Resolucion en frecuencia y margen dinamico . . . . . . . 1785.4.3. Uso de la FFT. Muestreo en frecuencia . . . . . . . . . 1815.4.4. El problema de la media . . . . . . . . . . . . . . . . . . 185

5.5. Analisis espectral no parametrico . . . . . . . . . . . . . . . . . 1865.5.1. Sesgo y Varianza . . . . . . . . . . . . . . . . . . . . . . 1865.5.2. El periodograma . . . . . . . . . . . . . . . . . . . . . . 1875.5.3. Autocorrelacion . . . . . . . . . . . . . . . . . . . . . . . 1935.5.4. El metodo Blackman-Tukey . . . . . . . . . . . . . . . . 2005.5.5. El metodo de Welch o WOSA . . . . . . . . . . . . . . . 2055.5.6. Resumen metodos no-parametricos . . . . . . . . . . . . 209

5.6. Analisis Tiempo-Frecuencia . . . . . . . . . . . . . . . . . . . . 2105.6.1. La TF dependiente del tiempo . . . . . . . . . . . . . . 2115.6.2. Eleccion de la ventana . . . . . . . . . . . . . . . . . . . 2135.6.3. Interpretacion como banco de filtros de la TF depen-

diente del tiempo . . . . . . . . . . . . . . . . . . . . . . 2165.6.4. Transformada Inversa . . . . . . . . . . . . . . . . . . . 2175.6.5. Muestreo en frecuencia y en tiempo . . . . . . . . . . . 218

5.7. Analisis Espectral Parametrico . . . . . . . . . . . . . . . . . . 2195.7.1. Modelos AR . . . . . . . . . . . . . . . . . . . . . . . . . 222

5.8. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

A. Senales Aleatorias Discretas 233A.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233A.2. Procesos Estocasticos Discretos . . . . . . . . . . . . . . . . . . 234

A.2.1. Funciones de Distribucion y de Densidad de Probabilidad235A.3. Promedios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236

A.3.1. Promedios instantaneos . . . . . . . . . . . . . . . . . . 236

iv

Page 7: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

A.3.2. Promedios con memoria . . . . . . . . . . . . . . . . . . 237A.4. PED Estacionarios . . . . . . . . . . . . . . . . . . . . . . . . . 238

A.4.1. Propiedades de los PED estacionarios . . . . . . . . . . 239A.4.2. Estacionariedad en el mundo real . . . . . . . . . . . . . 240

A.5. Procesos Ergodicos . . . . . . . . . . . . . . . . . . . . . . . . . 241A.6. Densidad Espectral de Potencia . . . . . . . . . . . . . . . . . . 243A.7. Filtrado de Procesos Discretos . . . . . . . . . . . . . . . . . . 247A.8. Ruido Blanco Discreto . . . . . . . . . . . . . . . . . . . . . . . 248A.9. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249Bibliografıa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

v

Page 8: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

vi

Page 9: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

Prologo

Este libro tiene sus orıgenes en la experiencia adquirida en la imparticionde un curso de Tratamiento Digital de la Senal durante casi 20 anos en laETSI de Telecomunicacion de la Universidad Politecnica de Valencia.

El libro, en esta su segunda edicion se ajusta al temario impartido en laactualidad (2007). Respecto a la edicion precedente se han corregido diversospequenos errores que se habıan detectado en la primera edicion, y se ha rees-crito el principio del capıtulo 2 para no incluir las series discretas de Fourier.

Este texto tiene su razon de ser en la falta de un texto nacional o extranjeroque se ajuste al temario visto en la asignatura. Algunos aspectos que no seencuentran en otros textos de gran difusion ([9] o [6]) son el muestreo de senalespaso-banda o el estudio de los efectos de precision finita en filtros digitales enDSPs con arquitecturas modernas. Otros libros (por ejemplo [4] o [11]) sonespecıficos de alguno de los temas de la asignatura, y tratan con mucha mayorprofundidad los aspectos de analisis espectral o filtrado adaptativo. Puedellamar la atencion la no existencia de un tema dedicado al diseno de filtrosdigitales, clasico en la mayorıa de los libros sobre la materia. Dicho tema se hasuprimido del temario de la asignatura y ha sido relegado a una asignatura delaboratorio debido a la disponibilidad generalizada de software de diseno defiltros que simplifica notablemente la tarea del disenador. Nos ha parecido masinteresante mantener un tema sobre aspectos practicos de implementacion defiltros digitales, que requieren de mas criterio por parte del ingeniero disenador.

Se ha procurado en todo momento mantener a lo largo del libro un lenguajelo mas claro e intuitivo posible, huyendo de un excesivo rigor matematico enbeneficio de la claridad. Ası por ejemplo siempre que se ha creıdo convenientese ha anadido una figura para reforzar las ideas o expresiones matematicas.

Como base para la lectura del libro es necesario tener una base de la teorıade sistemas lineales, tanto discretos como continuos. Se suponen conocidosaspectos como el concepto de senal discreta, la transformada de Fourier, o latransformada Z. Sobre estos temas se pueden consultar los libros [8] o [10]entre muchos otros.

vii

Page 10: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

viii

Se ha incluido un apendice sobre procesos aleatorios discretos debido aque resulta fundamental la perfecta comprension de los conceptos que en el secontienen para la comprension del resto del texto. El segundo lo hemos incluidoporque nos ha parecido interesante que el alumno conozca cuando aparecieronlas ideas y tecnicas que se presentan en la parte principal del texto.

Con el fin de mantener el libro lo mas vivo posible se han habilitado unaspaginas Web, donde se recogeran diversas informaciones relacionadas con ellibro tales como erratas, programas, problemas adicionales, etc. La direcciones:

http://personales.upv.es/∼aalbiol/librotds07Por otra parte, sera bien recibido cualquier errata, comentario o sugerencia

que pueda contribuir a mejorar este libro en futuras ediciones.Esperamos que este libro sea de ayuda a los alumnos de nuestra Escuela

ası como a todos aquellos que busquen un texto sobre la materia donde laclaridad en la exposicion sea la intencion fundamental.

Los autoresValencia, julio de 2007.

Page 11: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

Capıtulo 1

Muestreo y ProcesadoDiscreto de Senales Continuas

1.1. Introduccion

El procesado de senales de forma discreta presenta una serie de ventajasfrente a la alternativa analogica como son inmunidad frente al ruido, esta-bilidad frente a temperatura, repetitividad,. . . Sin embargo la mayorıa de lassenales que interesa procesar son de naturaleza analogica. En ese caso es ne-cesaria una discretizacion de la senal continua. Ademas, en muchas ocasionesinteresa que el procesado (continuo o discreto) de una senal produzca comoresultado una senal analogica. En ambos casos es necesario convertir la senalde continuo a discreto o viceversa.

En este tema veremos, en la seccion 1.2, la conversion continuo-discretoy viceversa para el caso mas habitual de que las senales sean paso-bajo. Enel apartado 1.3 trataremos el efecto que produce procesar muestras de unasenal continua de forma discreta. El punto 1.4 aborda el muestreo de senalespaso-banda, de bastante interes en comunicaciones. En la seccion 1.5 nos ocu-paremos de como obtener, a partir de un conjunto de muestras de una senalobtenidas a una frecuencia de muestreo, un nuevo conjunto de muestras corres-pondientes a una frecuencia de muestreo diferente. Por ultimo, estudiaremosla cuantificacion y la codificacion en la seccion 1.6.

1.2. Muestreo y reconstruccion de senales paso-bajo

Sea xc(t) una senal continua. Supongamos que disponemos de un bloqueque denominaremos conversor continuo a discreto cuya relacion entrada salida

1

Page 12: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

2 CAPıTULO 1. MUESTREO

C/D- -

6

xc(t) x[n]

fs

Figura 1.1: Representacion esquematica de un conversor continuo dis-creto.

venga dada por:x[n] = xc(n Ts) (1.1)

donde x[n] es la senal discreta de salida correspondiente a muestras de la senalxc(t). El parametro Ts recibe el nombre de periodo de muestreo, y representala separacion (en segundos) entre dos muestras consecutivas. A su inversa fs =1/Ts se le denomina frecuencia de muestreo. Dicho bloque lo representaremosesquematicamente como se muestra en la figura 1.1. A la operacion que realizadicho bloque se le denomina muestreo de la senal continua xc(t).

En la practica, el valor de las muestras de salida x[n] se suele cuantificaren amplitud obteniendose una representacion binaria del valor de la muestra.En este caso se habla de convertidores analogico-digitales (A/D). Nosotrosconsideraremos que la discretizacion de amplitud es suficientemente fina comopara poder considerar sus efectos despreciables. Por ello supondremos (salvoen la seccion 1.6) que las muestras pueden tomar cualquier valor real.

La senal continua de entrada tendra una transformada de Fourier Xc(fc)1

y la senal discreta de la salida tendra una transformada de Fourier X(ejω).Dado que x[n] proviene del muestreo de xc(t) (ec. (1.1)) parece logico pensarque tambien exista una relacion entre las correspondientes transformadas deFourier. Veamos cual es esta relacion. Consideremos la siguiente senal continua:

xs(t) = xc(t) ·∑n

δ(t− nTs) =∑n

xc(n Ts) δ(t− nTs) (1.2)

Recordemos que:

TF

∑n

δ(t− nTs)

=

(1Ts

∑n

δ(fc − n fs)

)

1En este tema, y para evitar confusiones, denominaremos fc a la variable independientede la Transformada de Fourier (TF) de senales continuas, fd a la variable independiente dela TF de senales discretas, Ω = 2πfc a la pulsacion continua, y ω = 2πfd a la pulsaciondiscreta.

Page 13: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

1.2. Muestreo de senales paso-bajo 3

Tomando Transformadas de Fourier a cada uno de los terminos de la ecua-cion (1.2) resulta:

Xs(fc) = Xc(fc) ∗(

1Ts

∑n

δ(fc − nfs)

)=∑n

xc(n Ts) e−jΩTsn (1.3)

Teniendo en cuenta que:

X(ejω) =∑n

x[n] e−jωn =∑n

xc(n Ts) e−jωn

y que:

Xc(fc) ∗(

1Ts

∑n

δ(fc − nfs)

)=

1Ts

∑n

Xc(fc − nfs)

-

-

-

6

6

6

fc

fc

fd

@@

@@

@@

@@

@@

@@

@@

@@

@@

@@

@@

@@

@@

@@

@@

@@

. . .

. . .

. . .

. . .

c)

b)

a)

Xc(fc)

Xs(fc)

X(ejω)

W

W

W/fs

fs−fs

fs

1

fs

1−1

Figura 1.2: Relaciones entre espectros en el muestreo de senales.

Page 14: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

4 CAPıTULO 1. MUESTREO

resulta la relacion:

X(ejω) |ω=ΩTs=1Ts

∑n

Xc(fc − n fs) = Xs(fc) (1.4)

Observemos que Xs(fc) es a la vez:

La repeticion periodica (escalada en amplitud por fs) del espectro de lasenal original Xc(fc). En otras palabras, consiste en replicas centradasen fc = 0 y fc = ±k fs, del espectro de la senal original.

Un escalado por un factor fs de X(ejω). Es decir, el valor de X(ejω) enfd = 1 corresponde con el que toma Xs(fc) en fc = fs.

La figura 1.2 muestra dichas relaciones.Notese que las relaciones expresadas por la ecuacion (1.4) son validas para

toda senal continua real o compleja.Finalmente, podemos escribir la relacion directa entre X(ejω) y Xc(fc)

X(ejω) =1Ts

∑n

Xc

(fd − n

Ts

)(1.5)

Centremonos ahora en el caso de senales reales continuas paso-bajo, esdecir, senales cuyo espectro se puede considerar nulo para fc > W , siendoW el ancho de banda. Las senales paso-bajo reales suelen corresponder a lasque producen la mayorıa de fuentes de senal: audio, voz, television, senalesdigitales en banda base,. . . Al muestrear una de estas senales, pueden sucederdos casos:

Que al repetirse el espectro no se produzca solapamiento entre las dife-rentes repeticiones. Este es el caso mostrado en la figura 1.2 donde esfacil observar que fs > 2 W

Que al repetirse el espectro se produzca solapamiento entre las diferentesrepeticiones. En la figura 1.3 se ilustra este caso que corresponde a lacondicion fs < 2 W .

Al solapamiento espectral se le conoce habitualmente como aliasing. En elcaso en que no se produzca aliasing, veremos que se puede recuperar la senalcontinua paso-bajo x(t) a partir de sus muestras x[n]. En el siguiente apartadose detalla como.

Page 15: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

1.2. Muestreo de senales paso-bajo 5

-

-

-

6

6

6

fc

fc

fd

""

""

""

""

""

""

""

""

""

bb

bb

bb

bb

bb

bb

bb

bb

bb

""

""

""

""

""

""

bb

bb

bb

bb

bb

bb

""

""

""

""

""

""

bb

bb

bb

bb

bb

bb

""

"

""

"

bb

b

bb

b

. . .

. . .

. . .

. . .

Xc(fc)

Xs(fc)

X(ejω)

W

W

W/fs

fs−fs

fs

1

fs

1−1

Figura 1.3: Relaciones entre espectros en el muestreo de senales en elcaso de que exista aliasing (W > fs/2).

1.2.1. Recuperacion de una senal paso-bajo a partir desus muestras

Supongamos que tenemos un conjunto de muestras x[n] que han sido to-madas a una frecuencia de muestreo fs. Dado dicho conjunto de muestras deuna senal continua, la cantidad de senales continuas que pueden correspondera dichas muestras es infinita. Este hecho queda ilustrado en la figura 1.4, dondese pueden observar dos senales distintas que corresponden a un mismo con-junto de muestras. Observese que las muestras unicamente permiten conocerdirectamente la senal continua en los instantes tk = k Ts.

Para conocer los valores de la senal en instantes de tiempo intermedios, esnecesario hacer alguna hipotesis sobre la naturaleza de la senal muestreada.Si consideramos que la senal analogica a la que corresponden las muestras espaso-bajo de ancho de banda fs/2 entonces solo existe una unica senalcontinua a la que pueden corresponder las muestras.

Page 16: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

6 CAPıTULO 1. MUESTREO

Si las muestras de la senal no contienen aliasing, es decir si fs > 2 Wentonces la senal que se recupera es xc(t), de la cual se tomaron las muestras.En caso contrario, la senal que se recupera no coincide con la senal xc(t).Podemos resumir por tanto, los condiciones necesarias para recuperar unasenal continua a partir de sus muestras:

1. Las muestras x[n] tomadas equiespaciadamente.

2. Conocer el periodo de muestreo Ts para saber a que instantes correspon-den las muestras.

3. Saber que la senal xc(t) original es paso-bajo.

4. Que su ancho de banda sea W < fs/2.

Es interesante notar que la falta de cualquiera de los 4 elementos arriba indi-cados no permite reconstruir la senal analogica original.

El hecho de que se pueda recuperar exactamente una senal a partir de susmuestras es equivalente a decir que las muestras contienen la misma cantidadde informacion que la senal continua. Por lo tanto, cualquier manipulacionde la senal continua que pudieramos pensar, podra ser realizada sobre susmuestras.

0 5 10 15−2

−1

0

1

2

0 5 10 15−2

−1

0

1

2

Figura 1.4: Ejemplo de dos senales continuas diferentes cuyas muestrascoinciden.

Page 17: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

1.2. Muestreo de senales paso-bajo 7

GeneradorImpulsos Hr(fc)- - -

6

fs

x[n] xc(t)

xs(t)

D/C

Figura 1.5: Diagrama de bloques de un conversor discreto-continuo.

La figura 1.2 nos da una pista de como recuperar la senal analogica a partirde las muestras.

1. En primer lugar, generaremos xs(t) a partir de x[n]. Esta senal corres-ponde a un tren de impulsos infinitamente estrechos e infinitamente altoscuya area coincide con el valor de las muestras. En otras palabras gene-ramos la senal analogica cuyo espectro se muestra en la figura 1.2-b apartir de la senal discreta de la figura 1.2-c.

2. Una vez se tiene xs(t) (figura 1.2-b), se aplica a un filtro analogico paso-bajo ideal cuya ganancia en la banda de paso debe ser Ts y cuyo anchode banda es fs/2 para obtener finalmente x(t) (figura 1.2-a).

Al conjunto de operaciones que acabamos de describir, se le denominaconversordiscreto a continuo y lo denotaremos como D/C . Su diagrama se muestra enla figura 1.5. Conviene notar que esta figura representa un modelo de dichosconversores pero no expresa una forma de realizacion practica, ya que en di-cho esquema es necesario generar impulsos analogicos infinitamente altos yestrechos, cosa imposible en la practica.

El filtro que se muestra en la figura 1.5 recibe el nombre de filtro de recons-truccion y debe notarse que es un filtro analogico. Su respuesta en frecuenciay su respuesta impulsiva son respectivamente:

Hr(fc) = Ts

∏(fc

fs

)hr(t) = sinc

t

Ts(1.6)

A partir de los razonamientos anteriores, podemos escribir facilmente larelacion entre la senal discreta y continua de un conversor D/C tanto en eldominio del tiempo:

xc(t) =∑n

x[n] sinc(

t− n Ts

Ts

)(1.7)

Page 18: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

8 CAPıTULO 1. MUESTREO

como en el de la frecuencia:

Xc(fc) =

Ts X(ejΩ Ts) |fc| < fs/2

0 resto(1.8)

Notese finalmente que, en el caso de no existir aliasing (figura 1.2), existeuna correspondencia biunıvoca entre los puntos del eje de frecuencias continuasy discretas:

fd ←→ fc = fs fd |fd| < 0,5 |fc| < fs/2

1.2.2. Consideraciones practicas

En este apartado veremos algunas de las consideraciones de tipo practicoque es necesario tener presente.

1. Necesidad del filtrado previo al muestreo de las senales. La mayorıade las senales reales que se pueden encontrar en la practica tienen unancho de banda limitado. Sin embargo, muchas veces interesa unicamen-te la parte de bajas frecuencias de una senal para, de ese modo, podermuestrear a una frecuencia mas baja. En esos casos se hace necesarioun filtrado analogico previo al muestreo de la senal. Incluso si se puedeconsiderar el ancho de banda de la senal a muestrear limitado a fs/2,se hace necesario filtrar la misma debido a que normalmente esta con-tendra ruido fuera de la banda de la senal que habra de ser eliminadoantes del muestreo.

2. Bandas de guarda. Dado que los filtros antialiasing y de reconstrucciontienen bandas de transicion de anchura finita, sera necesario muestreara frecuencias superiores al doble del ancho de banda si se desea poderrecuperar la senal en la practica. Como ejemplo, la senal de audio de 20kHz se muestrea a 44.1 kHz en el Compact Disc.

3. Muestreo y retencion en el D/C. Para recuperar la senal, en la fi-gura 1.5 se propone generar un tren de impulsos xs(t). Esta senal nose puede generar en la practica, por tratarse de impulsos infintamen-te estrechos y altos. En su lugar se suele utilizar un tren de impulsoscuadrados (Muestreo y Retencion, sample and hold):

x′s(t) =∑n

x[n]∏(

t− n Ts

Ts

)(1.9)

Page 19: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

1.3. Procesado discreto de senales continuas 9

Es facil observar que:

x′s(t) = xs(t) ∗∏(

t

Ts

)(1.10)

Por lo que:

X ′s(fc) = Xs(fc) Ts sinc

fc

fs(1.11)

es decir, se obtiene lo mismo que en el caso ideal pero multiplicado porun sinc. Este producto tiene dos efectos:

Un primer efecto desfavorable: una atenuacion creciente con la fre-cuencia (maxima a fc ≈ fs/2).

Un segundo efecto favorable: Atenuacion de las componentes espec-trales de xs(t) en torno a fs, 2 fs, . . . y ganancia de Ts. Este efectohace que el filtro de reconstruccion deba tener ganancia 1 en subanda de paso, y que su diseno sea mas sencillo si el conversor esdel tipo Sample and Hold, pues las repeticiones espectrales estanpreatenuadas por los nulos del sinc.

La salida de un convertidor de este tipo tiene un aspecto de escalera enel dominio del tiempo. Este efecto se debe a las repeticiones del espectro(atenuadas por el sinc) centradas en los armonicos de la frecuencia demuestreo. Para eliminar dicho efecto es necesario el filtro de reconstruc-cion anteriormente mencionado.

1.3. Procesado discreto de senales continuas

El muestreo de una senal analogica suele realizarse para:

Transmitir dichas muestras digitalmente.

Almacenar las muestras, para su posterior reproduccion, analisis, etc.

Procesarlas para obtener otro conjunto de muestras que volvera a serconvertido a continuo. Este ultimo punto es el que trataremos en estaseccion.

Considerese un diagrama como el de la figura 1.6, en el que se muestreauna senal analogica cuyas muestras son procesadas para obtener un nuevoconjunto de muestras y[n] que dara lugar a una senal analogica de salida.

En el caso mas simple h[n] = δ[n] serıa el sistema identidad. En ese casoyc(t) coincide con xc(t) si xc(t) es paso-bajo y el muestreo se realiza sin aliasing.

Page 20: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

10 CAPıTULO 1. MUESTREO

C/D h[n] D/C- - - -

6 6

xc(t) yc(t)x[n] y[n]

fs fs

Figura 1.6: Procesado discreto de una senal continua.

En el caso mas general de que h[n] sea un filtro digital arbitrario, tendre-mos:

Y (ejω) = X(ejω) H(ejω) (1.12)

Concatenando esta ecuacion con las correspondientes al conversor C/D (1.4)y al D/C (1.8) resulta la siguiente expresion para el espectro de yc(t).

Yc(fc) =

H(ejΩ Ts)

∑k

Xc(fc − k fs) |fc| < fs/2

0 resto

(1.13)

Si la senal xc(t) se muestreo sin aliasing (como en la figura 1.2), entoncesdel anterior sumatorio solo es no nulo el termino correspondiente a k = 0,resultando en ese caso:

Yc(fc) = H(ejΩ Ts) Xc(fc) |fc| < fs/2 (1.14)

Es decir, si la senal de entrada se muestrea sin aliasing, y sus muestras se filtrandigitalmente, el efecto es producir un filtrado analogico equivalente sobre lasenal de entrada por un filtro:

Heff (fc) = H(ejΩ Ts) (1.15)

Dicha expresion nos indica que la respuesta en frecuencia analogica equivalentees simplemente una desnormalizacion del eje de frecuencias del sistema discretoempleado. Por poner un ejemplo, si se utiliza una frecuencia de muestreode 10 kHz, y tuvieramos un filtro discreto h[n] paso-bajo de frecuencia decorte discreta 0.1, el conjunto de la figura 1.6 equivaldrıa a un filtro paso-bajoanalogico de 1 kHz. de ancho de banda.

En la figura 1.7 se muestra un resumen de las relaciones entre espectros alfiltrar senales analogicas de forma discreta.

Page 21: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

1.3. Procesado discreto de senales continuas 11

-

-

-

-

-

-

6

6

6

6

6

@

@@

@

@@@

@@ @

@@

@

@ @

@ @

@

@

@ @

@ @

@

fc

fc

fd

fd

fd

fc

Xc(fc)

Xs(fc)

H(ejω)

Y (ejω)

Ys(fc)

1

W−W

1

1/Ts

W−W−1/Ts 1/Ts

−f1 f1−1 1

−1 −0,5 0 0,5 1

1/Ts

−f1 f1−1 1

1/Ts

−f1/Ts f1/Ts−1/Ts 1/Ts

Ts Hr(fc)

Figura 1.7: Relaciones de espectros en el filtrado discreto de una senalcontinua.

Conviene recalcar que para que un sistema discreto produzca el efecto deun filtrado analogico, son necesarias dos cosas:

Que no exista aliasing.

Que el sistema discreto sea LTI.

Page 22: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

12 CAPıTULO 1. MUESTREO

Notese igualmente que la expresion (1.15) es valida unicamente en el mar-gen |fc| < fs/2 que es donde la senal de entrada puede tener componentesespectrales no nulas para no tener aliasing. Un aspecto interesante es que larespuesta en frecuencia analogica equivalente depende de:

La respuesta en frecuencia del filtro discreto.

La frecuencia de muestreo.

Este hecho puede ser usado, por ejemplo, para implementar filtrados analogicosdiferentes (distintas frecuencias de corte) con un mismo filtro digital cambian-do unicamente la frecuencia de muestreo.

1.4. Muestreo y reconstruccion de senales paso-banda

Un tipo de senales especialmente util en telecomunicaciones es el de lassenales paso-banda. Algunos campos donde podemos encontrar estas senalesson en radiocomunicaciones, multiplex por division en frecuencia, radar, . . . Lafigura 1.8 muestra una senal de este tipo.

Dicha senal podrıa muestrearse usando la misma regla aplicada para senalespaso-bajo, a una frecuencia de muestreo que fuera el doble de la maxima fre-cuencia de la senal, es decir

fs = 2f2

Sin embargo, esto no es lo mas eficiente posible, pues si dicha frecuencia f2 esmucho mayor que el ancho de banda W = f2 − f1 (cosa que suele suceder enla practica), la frecuencia de muestreo necesaria serıa muy alta, lo que llevarıaa los siguientes problemas:

Tecnologico: Tal vez no sea posible el muestreo a la suficiente velocidad.

Coste: Suponiendo que sea posible tecnicamente, los convertidores rapi-dos son mas caros.

Volumen de informacion: Suponiendo que se pudiera realizar la conver-sion, la cantidad de muestras por segundo generadas harıa su procesa-miento difıcil y costoso, cuando no imposible.

La ineficiencia del muestreo se manifiesta en que en el espectro de la senaldiscreta resultante aparecerıan amplios huecos. Vamos a ver en este punto dostecnicas que se utilizan para que la frecuencia de muestreo necesaria no seatan grande. La idea subyacente en ambas es que la cantidad de informacion

Page 23: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

1.4. Muestreo y reconstruccion de senales paso-banda 13

-

6Xc(fc)

fcf1 f2f0

1

@@

@@

Figura 1.8: Espectro de una senal paso-banda.

que transporta una cierta senal es proporcional a su ancho de banda y noa su frecuencia maxima. Cuando traducimos la frase anterior en terminosde frecuencia de muestreo, diremos que la frecuencia de muestreo debera serproporcional a la cantidad de informacion de la senal y, por tanto, a su anchode banda. Las muestras obtenidas contendran toda la informacion de la senalpaso-banda y, por ello, cabra hacer con ellas todo tipo de demodulaciones,filtrados, etc. pero de forma discreta.

1.4.1. Muestreo de senales paso-banda como senales reales

Consideremos las operaciones que se describen en la figura 1.9. La senalde entrada xc(t) corresponde con la senal paso-banda que deseamos muestrear(cuyo espectro se muestra en la figura 1.8). La senal x1(t) es una senal paso-bajo de ancho de banda W = f2 − f1 que puede muestrearse tal y comose vio en la seccion 1.2. Notese que en el esquema de dicha figura existe unpreprocesado analogico previo al muestreo.

El espectro de la senal x1(t) se muestra en la figura 1.11. Puede observarseque dicha senal es paso-bajo y real. Es decir, podremos utilizar una frecuenciade muestreo:

fs = 2W = 2 (f2 − f1) (1.16)

para que seamos capaces de recuperarla a partir de sus muestras.

- - -- C/DHlp(fc) ×6 6

cos 2πf1t

xc(t) x[n]x1(t)

fs

- discretocontinuo

Figura 1.9: Diagrama de bloques para muestrear de forma eficiente unasenal paso-banda como una senal real.

Page 24: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

14 CAPıTULO 1. MUESTREO

Observese que hemos muestreado una senal paso-banda con una frecuenciade muestreo igual (como mınimo) al doble de su ancho de banda. Para poderrecuperar la senal analogica original, hay que conocer los siguientes elementos:

La frecuencia de muestreo fs.

Saber que no se ha producido solapamiento espectral al muestrear x1(t).

Las muestras x[n].

La frecuencia f1 que se utilizo en el mezclador previo al muestreo.

La banda de frecuencias f1-f2 ocupada por la senal original.

Conociendo estos elementos, es posible recuperar la senal analogica originalmediante el esquema que se muestra en la figura 1.12.

Esta tecnica de muestreo puede considerarse como el muestreo de una senalpaso-banda real de frecuencia central mınima, de tal modo que la senal que semuestrea realmente, x1(t), es, de hecho, una senal paso-bajo.

1.4.2. Muestreo de senales paso-banda como senales complejas

Otra posibilidad para muestrear una senal paso-banda consiste en despla-zar el espectro de la senal original xc(t) una cantidad f0 = (f1 +f2)/2 y filtrarpaso-bajo, tal y como se muestra en la figura 1.14. Recordemos que, filtrar unasenal compleja, como x2(t), con un filtro de respuesta impulsional real hlp(t),produce una senal compleja en la que la parte real de la salida es el resultadode filtrar la parte real de la entrada y lo mismo con la parte imaginaria.

x2(t) = (xc(t) e−jΩ0t) ∗ hlp(t) =

= (xc(t) cos Ω0t) ∗ hlp(t)− j (xc(t) senΩ0t) ∗ hlp(t)

-

6Hlp(fc)

fc

1

f2 − f1

Figura 1.10: Filtro tras el mezclador previo al muestreo de la senalpaso-banda.

Page 25: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

1.4. Muestreo y reconstruccion de senales paso-banda 15

-

6X1(fc)

fc

1/2

@@

@@

f2 − f1

Figura 1.11: Espectro de x1(t).

La senal x2(t) recibe el nombre de envolvente compleja y su espectro semuestra en la figura 1.17. La parte real de la envolvente compleja recibe elnombre de componente en fase y la parte imaginaria, el de componente encuadratura. El modulo de x2(t) recibe el nombre de envolvente de la senalxc(t) (y no depende de Ω0) mientras que la fase de x2(t) recibe el nombre defase instantanea y su derivada, frecuencia instantanea.

Para recuperar xc(t) a partir de x2(t) hay que deshacer los pasos hechos.En primer lugar, obtendremos x+(t), senal compleja correspondiente a lasfrecuencias positivas de la senal paso-banda:

x+(t) = x2(t) · ejΩ0t (1.17)

- - - -D/C Hbp(fc) ×

6 6

x[n] xc(t)

cos 2πf1tfs

x1(t)

- ContinuoDiscreto

Figura 1.12: Recuperacion de una senal paso-banda a partir de susmuestras.

-

6Hbp(fc)

fcf1 f2

4

Figura 1.13: Filtro para recuperar la senal paso-banda.

Page 26: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

16 CAPıTULO 1. MUESTREO

A continuacion obtendremos la parte correspondiente a las frecuencias ne-gativas:

x−(t) = x?+(t) (1.18)

para finalmente obtener la senal paso-banda original

xc(t) = x+(t) + x−(t) = 2 Rex+(t) =

= 2 ( Rex2(t) cos Ω0t− Imx2(t) senΩ0t) (1.19)

- - -- C/DHlp(fc)×6 6

e−jΩ0t

xc(t) x[n]x2(t)

fs

- discreto

contınuo

Figura 1.14: Diagrama de bloques del muestreo de una senal paso-banda real como senal paso-bajo compleja. Las lıneas gruesas repre-sentan senales complejas. El conversor C/D de senales complejasmuestrea cada uno de los canales de entrada (parte real e imaginaria)a una frecuencia fs.

- - -- C/DHlp(fc)×6 6

cos Ω0t

xc(t) Rex[n]Rex2(t)

fs

- - -- C/DHlp(fc)×? ?

− senΩ0t

xc(t) Imx[n]Imx2(t)

Figura 1.15: Idem a la figura anterior pero con tadas las senales reales.Notese la existencia de dos canales, uno para la parte real y otro parala imaginaria.

Page 27: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

1.4. Muestreo y reconstruccion de senales paso-banda 17

-

6Hlp(fc)

fc

1

f2 − f1

2Figura 1.16: Respuesta en frecuencia del filtro de las figuras 1.14y 1.15.

-

6X2(fc)

fc

1

f2 − f1

2Figura 1.17: Espectro de x2(t).

-

6X+(fc)

fc

1

f2f1

-

6X−(fc) = X?

+(−fc)

fc

1

@@

@@

−f2 −f1

Figura 1.18: Espectro de x+(t) y x−(t). Frecuencias positivas y nega-tivas respectivamente de xc(t).

Dado que tanto la parte real como la imaginaria de x2(t) son senales paso-bajo reales, se puede muestrear cada una de ellas con una frecuencia de mues-treo mınima igual al doble de su ancho de banda, es decir

fs ≥ 2f2 − f1

2= f2 − f1 (1.20)

Page 28: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

18 CAPıTULO 1. MUESTREO

Notese que, dado que la senal x2(t) es compleja, el numero total de muestraspor segundo sera el doble de la cantidad de la ecuacion (1.20), y coincidecon el dado por la ecuacion (1.16). Ello es consistente con que el numero demuestras por segundo mınimo para representar una senal debe ser el mismo,se considere esta real o compleja.

1.5. Cambio de la velocidad de muestreo

En esta seccion nos ocuparemos de un problema que aparece a menudo enla practica. Supongamos que x1[n] sea un conjunto de muestras de una senalcontinua xc(t), tomadas con una frecuencia de muestreo fs1. Pretendemosencontrar otro conjunto de muestras x2[n] que corresponda al muestreo de lamisma senal analogica con una frecuencia de muestreo fs2.

Una posibilidad trivial para resolver el problema anterior consisitirıa en re-cuperar la senal analogica a partir de las muestras x1[n] para, a continuacion,volver a muestrear la senal a la nueva frecuencia de muestreo. Esquematica-mente dicha posibilidad se muestra en la figura 1.19. No obstante, vamos aproponer una solucion totalmente discreta al problema anterior, en la que nosea necesario pasar por la senal analogica.

Abordaremos el problema por fases, estudiando primero los casos sencillosde relaciones enteras entre las frecuencias de muestreo:

Caso en que fs2 = fs1/M siendo M entero. Denominaremos este casodiezmado por un factor entero.

Caso en que fs2 = Lfs1 siendo L entero. Denominaremos esta operacioninterpolacion por un factor entero.

Caso en que fs2 = (L/M) fs1, es decir, que exista una relacion racionalentre las frecuencias de muestreo. Dependiendo de si L/M es mayor omenor que la unidad hablaremos de interpolacion o diezmado por unfactor racional.

D/C C/D- - -

6 6fs1 fs2

x1[n] x2[n]xc(t)

Figura 1.19: Solucion trivial al problema del cambio de la frecuenciade muestreo.

Page 29: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

1.5. Cambio de la velocidad de muestreo 19

1.5.1. Diezmado por un factor entero

Si la frecuencia de muestreo final, es M veces menor que la inicial, es decir:

fs2 =fs1

M

el problema es relativamente sencillo. Bastara con tomar una de cada M mues-tras de la senal de entrada y copiarlas en la salida. Es decir el sistema con larelacion E/S siguiente nos hara la tarea:

x2[n] = x1[M n] (1.21)

La figura 1.20 muestra la representacion esquematica del sistema descrito porla ecuacion (1.21).

- -↓Mx1[n] x2[n]

Figura 1.20: Representacion grafica de un diezmador por M .

La figura 1.21 muestra la relacion en el dominio del tiempo entre las mues-tras. Cuando se diezma una senal como se acaba de describir, existe un peligroque consiste en que es posible que aunque x1[n] no contenga aliasing, dado quex2[n] corresponde a una frecuencia de muestreo menor, es posible que x2[n]

-

-

6

6

n

nr

r

r

r

r

r

r

r

r

r

r

r

r

rr r r

rr r

x2[n]

x1[n]

· · ·

· · ·

· · ·

· · ·

1 2 3 4 56

1 23

Figura 1.21: Efecto de un diezmador por M = 2 en el dominio deltiempo.

Page 30: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

20 CAPıTULO 1. MUESTREO

H(ejω) ↓M- - -x1[n] x2[n]

Figura 1.22: Filtrado previo necesario antes del diezmador.

sı que tenga aliasing. De hecho, para que al diezmar por M no existiese alia-sing, el ancho de banda de la senal original W deberıa ser:

W <fs2

2=

fs1

2 M

Normalmente se cumplira unicamente que W < fs1/2, por lo que sera nece-sario realizar un filtrado paso-bajo digital previo de la senal x1[n] antes de serdiezmada. Para determinar la frecuencia de corte discreta necesaria es precisoconocer:

La frecuencia de corte analogica equivalente necesaria: fs1/2M

La frecuencia de muestreo a la que trabajara el filtro: fs1

La frecuencia de corte discreta sera pues

fs1/2 M

fs1=

12 M

Por tanto el filtro digital que se debe anteponer antes del diezmado sera unfiltro digital paso-bajo de frecuencia de corte 1/2M . En la figura 1.22 se mues-tra el diezmador con el filtro paso-bajo discreto previo para evitar el aliasing.

Es posible encontrar tambien una relacion en el dominio de la frecuenciaentre la entrada y la salida de un diezmador (sin filtro) como el de la figura 1.20.Para ello, si suponemos que x1[n] y x2[n] corresponden a sendos muestreos deuna misma senal analogica podemos escribir:

X1(ejω) =1

Ts1

∑n

Xc

(fd − n

Ts1

)(1.22)

X2(ejω) =1

Ts2

∑r

Xc

(fd − r

Ts2

)(1.23)

En esta ultima expresion, vamos a hacer r = i + k M con 0 ≤ i < M y kvariando de−∞ a∞. El sumatorio se convierte en el siguiente doble sumatorio:

X2(ejω) =1M

M−1∑i=0

1Ts1

∑k

Xc

(fd − (i + k M)

Ts1 M

)

Page 31: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

1.5. Cambio de la velocidad de muestreo 21

-

-

-

-

6

6

6

6

@@

@

@@

@

@@

@

@@

@

@@

@

@@

@

@@

@

1

1

1

1

2

2

2

2

-1

-1

-1

-1

-2

-2

-2

-2

· · ·

· · ·

· · ·

· · ·

· · ·

· · ·

· · ·

· · ·

WTs1

WTs1M

@@

@

@@

@

@@

@

AA

A

AA

A

AA

A

AA

A

AA

A

fd

fd

fd

fd

X1(ejω)

X1(ej ωM )

X1(ejω−2πM )

X2(ejω)

Figura 1.23: Relacion entre espectros en el diezmado por M = 2.

X2(ejω) =1M

M−1∑i=0

1Ts1

∑k

Xc

(fd−iM − k

Ts1

)

X2(ejω) =1M

M−1∑i=0

X1

(ejω−2πi

M

)(1.24)

1.5.2. Interpolacion por un factor entero

En este caso se pretende que la frecuencia de muestreo de salida sea unmultiplo entero de la de la entrada, es decir:

fs2 = Lfs1

Ahora no puede aparecer aliasing por el cambio de frecuencia de muestreo,pues la nueva frecuencia de muestreo es mayor. Consideremos inicialmente un

- -↑ Lx1[n] y[n]

Figura 1.24: Diagrama de un insertador de ceros.

Page 32: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

22 CAPıTULO 1. MUESTREO

-

-

6

6

n

nr

r

r

r

r

r

r

r

r

r

r

r

r

r

r r r r r r r ry[n]

x1[n]

· · ·

· · ·

· · ·

· · ·

1 2 3 4 56

1 23

Figura 1.25: Relacion entre muestras en un insertador de ceros porL = 2.

sistema denominado insertador de ceros por L cuya relacion E/S es:

y[n] =

x1[n/L] n multiplo de L

0 resto(1.25)

Conceptualmente este sistema inserta L− 1 ceros entre cada dos muestrasde la senal de entrada. La figura 1.25 ilustra el funcionamiento del insertadorde ceros en el dominio del tiempo.

El espectro de la senal rellenada por ceros vale:

Y (ejω) =∑n

y[n] e−jωn =∑n

x1[n] e−jωnL = X1(ejωL) (1.26)

Es decir, corresponde a una compresion del espectro por un factor L. Paralograr la senal interpolada x2[n] (ver figura 1.26) deberemos:

Eliminar las repeticiones de los espectros centradas en 1/L, 2/L, . . . , L−1/L

Multiplicar la repeticion centrada en el origen por L.

Ambos efectos se pueden lograr filtrando la senal y[n] con un filtro paso-bajo de respuesta en frecuencia:

H(ejω) =

L |fd| < 1/2L0 1/2L < |fd| < 0,5

(1.27)

Page 33: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

1.5. Cambio de la velocidad de muestreo 23

-

-

-

6

6

6

1

1

1

2

2

2

-1

-1

-1

-2

-2

-2

fd

fd

fd

:

:

XXzfs1

fs1

fs2

@@

@

@@

@

@@

@

@@

@

@@

@

AA

A

AA

A

AA

A

AA

A

AA

A

AA

A

AA

A

AA

A

AA

A

AA

A

AA

A

AA

A

AA

A

AA

A

· · ·

· · ·

· · ·

· · ·

· · ·

· · ·

1/2

1/2L

X1(ejω)

X1(ejωL)

X2(ejω)

Figura 1.26: Relaciones en el dominio de la frecuencia en la interpo-lacion.

Un aspecto importante a tener en cuenta es que la interpolacion de senalesno crea nueva informacion, pues las nuevas muestras de x2[n] se obtienen apartir de las originales de x1[n]. Dicho de otro modo las muestras interpoladasconstituyen informacion redundante.

↑ L H(ejω)- - -x1[n] x2[n]

Figura 1.27: Diagrama de bloques de la interpolacion de senales.

Interpoladores lineales

Acabamos de ver que para interpolar una senal, es necesario realizar unrelleno por ceros y un filtrado paso-bajo con un filtro de respuesta impulsiva:

h[n] = sincn

L

Dicho filtro es irrealizable y, por tanto, se hace necesaria una aproximacion adicha respuesta impulsiva. Un filtro que se suele utilizar a menudo es el que se

Page 34: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

24 CAPıTULO 1. MUESTREO

conoce como interpolador lineal. Se conoce con este nombre porque las nuevasmuestras se calculan trazando lıneas rectas entre las disponibles. La figura 1.28ilustra el proceso de interpolacion lineal. Cabrıa preguntarse que relacion existeentre dicha interpolacion y la ideal con filtro paso-bajo. La respuesta es quela interpolacion lineal equivale a un relleno por ceros seguido de un filtro derespuesta impulsiva triangular, como la mostrada en la figura 1.29.

La figura 1.30 compara la respuesta en frecuencia del interpolador idealcon el lineal. Podemos apreciar las siguientes diferencias:

El interpolador lineal atenua la parte alta de la banda de paso del ideal.

El interpolador lineal no elimina totalmente las repeticiones interme-dias de la figura 1.26, excepto en torno a las frecuencias k/L, donde laatenuacion es alta.

-

-

6

6

n

nr

r

r

r

r

r

r

r

r

r

r

r

r

r?

? ? ? ?

?

x2[n]

x1[n]

· · ·

· · ·

· · ·

· · ·

1 2 3 4 56

1 23

Figura 1.28: Relacion entre muestras en un interpolador lineal porL = 2. Los valores interpolados se representan con ∗.

-

6

n

h[n]

L

1

r r r r r r r r r r r r r r rFigura 1.29: Respuesta impulsiva de un interpolador lineal.

Page 35: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

1.5. Cambio de la velocidad de muestreo 25

Figura 1.30: Comparacion de los modulos de las respuestas en frecuen-cia del filtro de un interpolador ideal y de uno lineal.

Por todo ello, debe concluirse que en el caso en que la senal a interpolar ten-ga su espectro concentrado en torno a fd = 0, es decir, este sobre-muestreada,el interpolador lineal constituye una buena aproximacion al interpolador paso-bajo ideal.

1.5.3. Cambio de la frecuencia de muestreo por un factor ra-cional

A veces, el factor de cambio de frecuencia no es entero. Supongamos quedeseamos realizar el cambio de frecuencia:

fs2 =L

Mfs1

Es facil darse cuenta de que concatenando una interpolacion y un diezma-do por factores enteros L y M respectivamente se logra el objetivo deseado.Cabrıa la duda de que debe realizarse antes, la interpolacion o el diezmado.Para responder a esta pregunta hay que recordar que el diezmado destruye in-formacion, hasta dejar la senal analogica equivalente con un ancho de bandafs1/(2M). Como dicho ancho de banda sera menor que el de la senal final, sehace necesario realizar primero la interpolacion y luego el diezmado. Es decir,primero se realizara lo mostrado en la figura 1.27, seguido de lo mostrado enla figura 1.22. Al concatenar estas operaciones, aparecen dos filtros en cascada

Page 36: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

26 CAPıTULO 1. MUESTREO

que pueden sustituirse por un unico filtro cuya respuesta en frecuencia sea elproducto.

El diagrama global para el cambio de frecuencia de muestreo por un racio-nal se muestra en la figura 1.31. La respuesta en frecuencia del filtro paso-bajode dicha figura es:

Ancho de la banda de paso: mın (0,5/M, 0,5/L).

Ganancia en la banda de paso: L.

Es importante notar que, de las tres frecuencias de muestreo presentes en lafigura 1.31, el filtro trabaja a la mas alta de todas, es decir a fs1 L.

↑ L H(ejω) ↓M- - - -x1[n] x2[n]

Figura 1.31: Diagrama de bloques de cambio de frecuencia de muestreopor un racional.

Consideraciones practicas

Acabamos de ver un procedimiento para el cambio de la frecuencia demuestreo por un factor racional. Sucede a menudo que aunque la frecuenciade muestreo no cambie por un factor excesivamente grande, los terminos M yL de la fraccion, pueden serlo. Hemos comprobado que si se intenta el cambiode frecuencia de muestreo en una unica etapa, la frecuencia de trabajo delfiltro necesario puede ser muy alta. Para solucionar el problema hay que hacerlo siguiente:

Factorizar M y L.

Realizar cambios de frecuencia de muestreo por factores de muestreoracionales resultado de agrupar los factores de M con los de L, de formaque la frecuencia de muestreo en ningun punto de la cadena sea menorque mın(fs2, fs1).

Veamos un ejemplo de lo que estamos diciendo. Supongamos que desamoscambiar de la frecuencia normalizada del CD 44.1 kHz. a una de las frecuencias

Page 37: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

1.5. Cambio de la velocidad de muestreo 27

normalizadas del DAT 48 kHz. Tendremos

fs2 = 48000 = fs1L

M= 44100

L

M

es decirL

M=

480441

=160147

Si intentaramos realizar el cambio directamente, el filtro intermedio trabajarıaa una frecuencia de 44100× 160 ≈ 7 106 hz. Factorizando M y L se obtiene:

160147

=2× 2× 2× 2× 2× 5

3× 7× 7

Serıa posible por ejemplo la siguiente factorizacion:

160147

=87

43

57

De este modo, la primera etapa cambiarıa la frecuencia de muestreo por 8/7siendo la frecuencia de trabajo del filtro de fs1×8. La segunda etapa, cambiarıala frecuencia de muestreo por 4/3 y su correspondiente filtro trabajarıa afs1 × 8/7 × 4 y, por ultimo, el filtro de la tercera etapa trabajarıa a unavelocidad fs1 × 8/7× 4/3× 5

1.5.4. Aplicacion del diezmado a la conversion C/D

Supongamos que tenemos una senal continua paso-bajo xc(t) de la cualnos interesa el margen de frecuencias 0–W . Dicha senal puede tener un anchode banda mayor o bien estar inmersa en un fondo de ruido de banda ancha.Dado que unicamente estamos interesados en el margen 0–W tratarıamos demuestrear dicha senal con una frecuencia de muestreo fs = 2W . Sin embargo,para poder hacer esto deberıamos realizar un filtrado previo analogico paraprevenir el aliasing. Dicho filtro tendrıa que tener unas bandas de transicionmuy estrechas.

Supongamos que no se quisiera utilizar filtros analogicos de bandas detransicion muy estrechas (orden alto). Vamos a ver como el diezmado nospuede solucionar el problema. Supongamos que la senal a muestrear xc(t) seala mostrada en la figura 1.32 y que el filtro antialiasing utilizado sea el dela misma figura. Notese que este filtro analogico tiene bandas de transicionsuaves. La senal a la salida del filtro sera la yc(t) de la figura. Esta es la senalque muestrearemos.

Es facil darse cuenta de que si muestreamos con una frecuencia de muestreofs1 > f1 + W no se nos va a producir solapamiento espectral en la banda

Page 38: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

28 CAPıTULO 1. MUESTREO

0–W . Una vez obtenidas las muestras, podremos filtrar digitalmente con unfiltro paso-bajo cuya frecuencia de corte sea W/fs1, habiendo eliminado deeste modo el aliasing. Para lograr las muestras a una velocidad fs = 2W soloresta realizar un diezmado. Elegiremos fs1 = Lfs:

f1 + W = L2W → f1 = W (2L− 1)

A medida que L es mayor, el filtro analogico tiene bandas de transicion masanchas (es mas facil de construir), pero por contra el muestreo deberemosrealizarlo a una velocidad mayor, lo que implica, ademas, que el filtro digitalprevio al diezmador trabaja mas deprisa y tiene mas coeficientes.

-

-

-

6

6

6

fc

fc

fc

L

LLLL

L

LLLL

XXXX

Yc(fc)

Haa(fc)

Xc(fc)

W

W

W

f1

f1

@@

@@

Figura 1.32: Aplicacion del diezmado a la conversion C/D. Espectrosde las senales involucradas.

1.5.5. Aplicacion de la interpolacion a la conversion D/C

En los apartados 1.2.1 y 1.2.2 hemos visto como se puede recuperar unasenal a partir de sus muestras. Vimos que era necesario el uso de un filtroanalogico de reconstruccion. Dicho filtro deberıa tener las siguientes carac-terısticas:

Page 39: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

1.5. Cambio de la velocidad de muestreo 29

Banda de paso constante entre fc = 0 y fc = W , siendo W el ancho debanda de la senal analogica.

Atenuacion infinita (o muy grande) a partir de fc = fs −W .

Banda de transicion entre W y (fs −W ).

Si fs ≈ 2 W , la banda de transicion resultante puede ser muy estrecha, loque requerirıa de un filtro analogico de orden alto. Con el fin de que el filtroanalogico sea mas sencillo, lo que se hace a veces es elevar la frecuencia demuestreo digitalmente justo antes de la conversion. En aplicaciones de audiolas interpolaciones se hacen por factores tıpicamente entre 4–8, hablandose deconvertidores four times oversampling DAC.

Interpolar la senal antes de su conversion tambien reduce el efecto delmuestreo y retencion. La maxima atenuacion por muestreo y retencion seproduce a la frecuencia W y tiene un valor:

α(dB) = −20 log(

sincW

fs

)A medida que la frecuencia de muestreo aumenta (gracias a la interpo-

lacion), dicha atenuacion maxima disminuye. La tabla siguiente muestra losvalores de atenuacion para distintos factores de interpolacion:

L α(dB)1 3.92 0.94 0.28 0.06

Ademas, los nulos del sinc producen una atenuacion mınima de las dife-rentes repeticiones espectrales de:

α(dB) = −20 log(

sincfs −W

fs

)L α(dB)1 3.92 10.454 17.138 23.58

Page 40: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

30 CAPıTULO 1. MUESTREO

1.6. Introduccion a la codificacion de senales. Codi-ficacion PCM

En los apartados anteriores, hemos estudiado como se puede pasar de unasenal continua a una senal de tiempo discreto. Es interesante destacar quelos valores de las muestras tenıan para nosotros precision infinita, es decir,considerabamos que eran numeros reales. Sin embargo, cuando se desea trans-mitir, almacenar o procesar las senales de forma digital, es necesario obteneruna representacion binaria de los valores de dichas muestras. En este aparta-do trataremos este aspecto. La codificacion PCM (Pulse Code Modulation) oMIC (Modulacion por Impulsos Codificados) constituye la tecnica mas sencillade codificacion de una senal.

Vemos un diagrama conceptual de este tipo de codificacion en la figura 1.33.En dicha figura se pueden distinguir las siguientes operaciones:

Muestreo lo visto en la parte precedente del tema.

Cuantificacion Consiste en dividir el eje real de amplitudes en intervalosy determinar a cual de ellos, k, pertenece la muestra. La figura 1.34muestra la relacion entrada-salida del cuantificador para el caso de uncuantificador uniforme, en el que todos los intervalos tienen el mismoancho. Esta operacion es irreversible, pues a partir del ındice del intervalok es imposible saber el valor de la muestra dentro del intervalo.

Codificacion consiste en asignar una palabra binaria para cada valor de k.Es un proceso reversible. Desde el punto de vista del procesado digitalde la senal no tiene importancia la palabra binaria concreta que se usepara representar a k, y se suele usar complemento a 2 o alguna otrarepresentacion de tamano de palabra fijo. Sin embargo desde el puntode vista de la codificacion es importante asignar palabras binarias mascortas a aquellos ındices k mas probables en aras a lograr un volumenmedio de bits inferior. Los bits producidos por el codificador son los quefısicamente se almacenan, se manipulan por el hardware o se transmiten.

C/D Cuantif. Codificacion- - - -

xc(t) x[n] k 1001101 · · ·

Figura 1.33: Diagrama de bloques conceptual de la codificacion PCM.

Page 41: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

1.6. Codificacion de senales 31

−1.5 −1 −0.5 0 0.5 1 1.5−8

−6

−4

−2

0

2

4

6

8

x

k

Figura 1.34: Relacion entrada-salida de un cuantificador.

1.6.1. Recuperacion de la senal

El proceso global de recuperacion de la senal se muestra en la figura 1.35.Tal y como acabamos de ver, en el sistema MIC se obtiene un numero enterok por cada muestra de la senal x[n]. Dicho numero entero se representa conuna serie de bits en el codificador. Para recuperar (una aproximacion de) lasenal lo que se hace es invertir los pasos anteriores:

Decodificacion Consiste en obtener k a partir de los bits. Este proceso esexacto (si no hay errores de transmision), es decir el ındice obtenido esel mismo que se tenıa en el codificador.

Cuantificador inverso Asociado con cada intervalo de cuantificacion, existeun valor reconstruido. Al valor reconstruido del intervalo k lo denomi-naremos yk. La figura 1.36 muestra la relacion entre el numero de inter-valo k y su correspondiente valor reconstruido yk. En los cuantificadores

Decodif. Q−1 D/C- - - -

1001101 · · · k xq[n] x′c(t)

Figura 1.35: Diagrama de bloques conceptual de la decodificacion PCM.

Page 42: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

32 CAPıTULO 1. MUESTREO

−8 −7 −6 −5 −4 −3 −2 −1 0 1 2 3 4 5 6 7 8−1.5

−1

−0.5

0

0.5

1

1.5

k

y k

Figura 1.36: Relacion entre ındices k y valores reconstruidos yk en uncuantificador uniforme.

uniformes, dicho valor suele coincidir con el centro del intervalo de cuan-tificacion. Ademas en los cuantificadores uniformes existe una relacionlineal k ↔ yk. Ello es importante de cara a procesar senales, pues sepuede operar con los valores enteros k en vez de los valores reales yk.Al proceso k → yk se le suele llamar Cuantificador Inverso, y se re-presenta como Q−1 , aunque realmente la cuantificacion sea un procesoirreversible.

Notese que el proceso x[n]→ k → yk hace que yk ≈ x[n]. Por ello se dice queyk es x[n]-cuantificado o abreviadamente xq[n]. Ademas es posible establecerla relacion directa x→ xq. En la figura 1.37 se muestra dicha relacion global.En dicha grafica se observa una zona de saturacion y una zona con formade escalera. La zona de saturacion viene definida por un umbral de amplitudmaxima (Amax). Dicho umbral se obtiene facilmente a partir de la grafica dela figura 1.38 que muestra el error ε = xq[n]− x[n] cometido en el proceso decuantificacion; Amax corresponde al punto en que el error excede el maximoerror de un intervalo de cuantificacion de los “normales”.2

2En el caso de un numero de intervalos de cuantificacion par (caso habitual), el valor desaturacion positivo y negativo es ligeramente diferente, debido a que el numero de niveles decuantificacion en la parte positiva y negativa del eje difiere en uno.

Page 43: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

1.6. Codificacion de senales 33

−1.5 −1 −0.5 0 0.5 1 1.5−1.5

−1

−0.5

0

0.5

1

1.5

x

x q

Figura 1.37: Relacion entre x y su correspondiente valor cuantificadoxq.

Adviertase que la senal de salida no coincide con la de la entrada, inclusoen ausencia de aliasing, debido a que x[n] 6= xq[n].

1.6.2. El ruido de cuantificacion

Los valores cuantificados que resultan de la codificacion/decodificacion son:como:

xq[n] = x[n] + ε[n] (1.28)

Si el numero de niveles de cuantificacion es grande dicho error de cuanti-ficacion se suele modelar como un proceso aleatorio discreto llamado ruido decuantificacion. En el caso de un cuantificador uniforme tendremos las siguien-tes propiedades del ruido de cuantificacion:

La funcion densidad de probabilidad es uniforme entre −∆/2 y ∆/2.(Vease la figura 1.39)

∆ = uk − uk−1 =2Amax

2B∀k

Page 44: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

34 CAPıTULO 1. MUESTREO

−1.5 −1 −0.5 0 0.5 1 1.5−0.5

−0.4

−0.3

−0.2

−0.1

0

0.1

0.2

0.3

0.4

0.5

x

ε

Amax

Figura 1.38: Error de cuantificacion en funcion del valor de entrada.

-r r r r r r r r r ru1 u2 u3 u4 u5u−1u−2u−3u−4u−5 u0

y0y1 y2 y3 y4y−1y−2y−3y−4y−5

- Sat.Sat.

x

Figura 1.39: Intervalos de cuantificacion (uk+1–uk) y valores recons-truidos (yk) en un cuantificador uniforme.

La potencia es:

σ2ε =

∆2

12Es ruido blanco, es decir, los valores de ruido de cuantificacion en ins-tantes diferentes de tiempo estan incorrelados.

De acuerdo con el modelo de ruido de cuantificacion aditivo, cuando lasmuestras cuantificadas se pasan por el D/C, a la salida se obtiene la senal(supuesto que no existe aliasing):

x′c(t) = xc(t) + r(t)

donde r(t) es el ruido de cuantificacion analogico anadido resultado de aplicarε[n] al conversor D/C, y que es un proceso aleatorio de varianza σ2

r = ∆2/12cuyo espectro es plano en la banda de −fs/2 a fs/2.

Page 45: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

1.6. Codificacion de senales 35

Si suponemos que el cuantificador esta normalizado, es decir Amax = 1,podemos calcular la relacion S/N del proceso codificacion/decodificacion PCMcuando se usan B bits como:

S

N(dB) = 10 log

(σ2

x

σ2r

)= 10 log

(σ2

x

∆2/12

)= 10 log

(σ2

x

(2/2B)2/12

)=

S

N(dB) = σ2

x(dB) + 4,7 + 6B (1.29)

Notese que la anterior expresion indica que por cada bit que anadamos, mejora-mos en 6 dB la relacion S/N (reducimos la potencia del ruido de cuantificaciona la cuarta parte). La relacion S/N depende tambien, como es logico, de lapotencia de senal que tengamos, pero es interesante el hecho de que aumentan-do el numero de bits podamos hacer el ruido tan pequeno como se quiera (yla tecnologıa permita en un momento dado). Pongamos un ejemplo numericopara ver valores tıpicos de estas relaciones S/N. Si suponemos que la senalxc(t) es un tono de amplitud 1/2, su potencia sera 1/8. Por tanto tendremos:

B S/N(dB)8 43.7412 67.6416 91.74

A la hora de procesar digitalmente muestras de senales, como ya se haindicado, nosotros operaremos normalmente con los ındices k de los intervalosde cuantificacion. Interesara que exista una relacion de proporcionalidad entrelos ındices k y los valores de reconstruccion asociados yk, para que operar conlos ındices k equivalga a procesar los valores yk escalados. Los cuantificadoresque cumplen esto son los cuantificadores uniformes.

Finalmente, conviene mencionar que los diagramas de bloques presentadosen las figuras 1.33 y 1.35 son conceptuales y no corresponden al funciona-miento interno de ningun circuito. Igualmente, el modelo de ruido aditivo esvalido para senales y conversores habituales, en los que el numero de nivelesde cuantificacion es alto y la senal atraviesa muchos niveles de cuantificacionentre dos muestras consecutivas.

1.6.3. Cuantificacion no uniforme

En el apartado anterior acabamos de ver los cuantificadores uniformes.Estos presentan la particularidad de que todos sus intervalos de cuantifica-cion son iguales. En realidad no existe a priori ninguna razon para elegir losintervalos de ese modo.

Page 46: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

36 CAPıTULO 1. MUESTREO

−1.5 −1 −0.5 0 0.5 1 1.5−1.5

−1

−0.5

0

0.5

1

1.5

x

x q

Figura 1.40: Relacion entrada salida en cuantificador no uniforme.

Podrıa pensarse en elegir los intervalos de cuantificacion y los valores dereconstruccion correspondientes de forma optima. Ello es posible si se conocela funcion densidad de probabilidad de las muestras a cuantificar x[n]. Laidea subyacente consiste en elegir intervalos de cuantificacion mas estrechosalla donde la senal x[n] sea mas probable.

No estudiaremos aquı el diseno de cuantificadores optimos. Sin embargo,mencionaremos que, en el caso de las senales de voz, las amplitudes pequenasson mas probables que las grandes. Ello hace que en el campo de la telefonıase haya estandarizado el uso de dos cuantificadores no uniformes conocidoscomo ley µ (EE.UU. y Japon) y ley A (Europa), que hacen que en las am-plitudes pequenas los intervalos de cuantificacion sean mas pequenos. En lafigura 1.40 se muestra el aspecto que presenta la relacion entrada/salida de uncuantificador no uniforme. Comparese con la de la figura 1.37.

Un cuantificador no-uniforme se puede considerar tambien como una leyde compresion seguida de un cuantificador uniforme y un expansor, como semuestra en la figura 1.41. Tanto la ley A como la ley µ utilizan 8 bits pormuestra, y las correspondientes leyes de compresion son:

Fµ(x) = Sig(x)log(1 + µ |x|)log(1 + µ)

|x| ≤ 1 (1.30)

Page 47: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

1.6. Codificacion de senales 37

FA(x) =

Sig(x)

1 + lnA |x|1 + lnA

1A≤ |x| ≤ 1

Sig(x)A |x|

1 + lnA|x| ≤ 1

A

(1.31)

Los valores de los parametros normalizados en telefonıa son:

USA y Japon: µ = 100

Europa: A = 87,6

En ambos casos la varianza del ruido de cuantificacion es menor para lasmuestras pequenas que en el caso de un cuantificador uniforme del mismonumero de bits, y mas grande para las muestras grandes. Dado que una senalcontendra muestras pequenas y grandes, dependiendo de la probabilidad detener muestras grandes o pequenas (es decir de la funcion densidad de pro-babilidad de la senal a codificar) el ruido de cuantificacion sera diferente. Enel caso de la ley A, los intervalos de cuantificacion mas pequenos (en torno alorigen) tienen la misma anchura que un cuantificador uniforme de 12 bits.

Desde el punto de vista del tratamiento de las senales, es interesante desta-car que el ındice k no es proporcional al valor reconstruido. Ello hace que NOse deba operar con dichos ındices para realizar filtrados, etc. La mayorıa de losDSPs poseen instrucciones para convertir palabras de 8 bits correspondientesa cuantificaciones no uniformes a 16 bits uniforme.

Cuantif.Unif.

Cuantif.No-Unif.

- - - -- -

6 6

Compresor Expansor

x[n] xq[n]q

- k

F (x) F−1(x)

Figura 1.41: Cuantificador no uniforme.

Page 48: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

38 CAPıTULO 1. MUESTREO

Page 49: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

Capıtulo 2

Transformada Discreta deFourier

2.1. Introduccion

Hasta ahora hemos visto que para realizar el analisis en frecuencia de unasenal discreta x[n], se aplica sobre ella la Transformada de Fourier, obteniendo-se X(ejω). Dicha transformada es una funcion continua y por lo tanto no sepuede manejar de forma discreta. Serıa interesante disponer de una represen-tacion frecuencial discreta que nos facilitara la manipulacion de los datos enel dominio de la frecuencia de forma discreta por medio de un procesador desenal u ordenador.

En este capıtulo se presenta la herramienta que nos permite representar elespectro de forma discreta, llamada Transformada Discreta de Fourier (DFT).Para el calculo de dicha Transformada Discreta de Fourier existen algoritmosmuy eficientes que permiten el calculo de la misma con un numero reducido deoperaciones. Ello ha permitido que la DFT constituya una herramienta basicano solo para el analisis frecuencial sino en numerosas aplicaciones.

2.2. Representacion de Fourier de secuencias deduracion limitada. La DFT

Supongamos una secuencia de duracion limitada x[n] tal que:

x[n] =

6= 0 0 ≤ n ≤ N − 10 resto

39

Page 50: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

40 CAPıTULO 2. TRANSFORMADA DISCRETA DE FOURIER

Se define la Transformada Discreta de Fourier (DFT) de dicha senal como:

X[k] =N−1∑n=0

x[n] e−j 2 πkn/N k = 0, . . . , N − 1 (2.1)

y la Transformada Discreta de Fourier Inversa (DFT−1) como:

x[n] =1N

N−1∑k=0

X[k] ej 2 πkn/N n = 0, . . . , N − 1 (2.2)

Por tanto, la DFT puede considerarse como una transformacion que toma lasN muestras de una senal para dar lugar a N coeficientes X[k] y viceversa.

Relacion con la Transformada de Fourier

La senal x[n] tiene una transformada de Fourier que viene dada por:

X(ejω) =∞∑

n=−∞x[n] e−jωn =

N−1∑n=0

x[n] e−jωn (2.3)

donde la ultima igualdad se debe al hecho de que la senal x[n] es de duracionlimitada.

Comparando la anterior ecuacion con la definicion de DFT se puede verque:

X[k] = X(ejωk) donde ωk =2πk

N, fk =

k

N, 0 ≤ k ≤ N − 1 (2.4)

es decir los N valores de la DFT son muestras de la Transformada de FourierX(ejω) de la senal x[n].

Notese que las muestras tienen un espaciamiento en frecuencia ∆f = 1/N ,y que cubren de forma completa un periodo de la Transformada de Fourier

Extension de la senal con ceros

Es interesante notar que una senal de duracion real M muestras puede serconsiderada tambien como de duracion ficticia N , siendo N > M . Para ellobasta considerar que las muestras en exceso son nulas.

Esta observacion nos permite, usando la DFT, calcular muestras de laTransformada de Fourier de una senal, con un espaciamiento arbitrariamentepequeno sin mas que anadir ceros a la senal hasta completar una duracionficticia igual al numero de muestras espectrales que deseemos.

Page 51: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

2.3. Propiedades de la DFT 41

La relacion entre el valor del ındice de la transformada y la frecuencia dela Transformada de Fourier es:

k −→ fk =k

N−→ ωk =

2πk

N(2.5)

Periodicidad de la DFT

Si en la ecuacion 2.1 intentamos calcular X[k] para un valor k ≥ N sepuede comprobar que:

X[k + N ] = X[k] 0 ≤ k ≤ N

Lo mismo sucede con la transformada inversa.En otras palabras, aunque la DFT se calcula normalmene en el intervalo

0 ≤ k ≤ N − 1, la expresion 2.1 se puede calcular para cualquier valor de k yresulta ser periodica de periodo N .

Esta periodicidad tiene su reflejo en todas las propiedades de la DFT

Notacion

Denotaremos como ((n))N , y leeremos n modulo N a lo siguiente:

((n))N =

resto(n/N) n ≥ 0

N − resto(|n|/N) n < 0, |n| no multiplo de N0 n < 0, |n| multiplo de N

Es facil observar que se cumple siempre:

0 ≤ ((n))N ≤ N − 1 ∀n

2.3. Propiedades de la DFT

Linealidad

Sean dos secuencias x1[n] y x2[n] de duraciones N1 y N2.1 La secuenciasuma de ambas, x3[n], tendra una duracion N que sera el maximo de N1 yN2. La DFT de N puntos de x3[n] sera:

x3[n] = x1[n] + x2[n] DFTN←→ X3[k] = X1[k] + X2[k]

1Las senales se consideran no nulas en el intervalo 0, . . . , N1 − 1 y 0, . . . , N2 − 1 respecti-vamente.

Page 52: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

42 CAPıTULO 2. TRANSFORMADA DISCRETA DE FOURIER

-

6

r r r r r rn5

x[n]

-

6r rr r r r

n

x[((n− 2))6]

52

Figura 2.1: Desplazamiento circular de senales.

siendo X1[k] y X2[k] las DFTs de (N = max(N1, N2)) muestras de x1[n] yx2[n] respectivamente (aumentando con ceros la duracion de la mas corta).

Desplazamientos circulares

Sea x[n] una senal de duracion finita N , definida entre 0 y N −1. Se defineel operador desplazamiento circular o cıclico como:

y[n] = x[((n− n0))N ]

siendo n0 un desplazamiento entero. El efecto que causa un desplazamientocıclico sobre una senal se muestra en la figura 2.1. Puede observarse que:

La senal desplazada cıclicamente tambien es de duracion finita N y nonula en el intervalo 0 ≤ n ≤ N − 1.

El desplazamiento circular es similar a uno normal (llamado en estecontexto lineal) salvo por el hecho de que las muestras que al desplazarse saldrıan del intervalo 0 ≤ n ≤ N − 1 reaparecen circularmente por elotro extremo.

Si la secuencia x[n] de duracion N tiene por DFT de N puntos (DFTN ) aX[k] entonces:

x[((n− n0))N ] DFTN←→ e−j 2πN

n0 kX[k]

Notese que los desplazamientos circulares unicamente afectan a la fase dela DFT.

Page 53: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

2.3. Propiedades de la DFT 43

-

6

r r r r r rn5

x[n]

-

6

rr r r r r

n

x[((−n))6]

52

Figura 2.2: Inversion circular de senales.

Dualidad e inversion cıclica

Sea x[n] una senal de duracion finita N , definida entre 0 y N −1. Se defineel operador inversion circular o cıclica como:

y[n] = x [((−n))N ]

El efecto que causa una inversion cıclica sobre una senal se muestra en lafigura 2.2.

Puede verse lo siguiente:

La senal invertida circularmente tambien es de duracion finita N y nonula en el intervalo 0 ≤ n ≤ N − 1.

La inversion cıclica conserva la muestra de n = 0 en su ubicacion y elresto de muestras cambian de orden.

La inversion circular de la inversion circular es la senal original, es decirsi

y[n] = x [((−n))N ]

entoncesy [((−n))N ] = x[n]

Sea una secuencia x[n] de duracion finita N tal que:

x[n] DFTN−→ X[k]

entonces:X[n] DFTN−→ N x[((−k))N ]

es decir, si se calcula la DFT (directa) sobre el resultado de una DFT se obtienela inversion circular de la senal original (salvo el factor de escala N).

Esta propiedad puede ser util para calcular DFTs inversas mediante DFTsdirectas y un cierto reordenamiento del resultado.

Page 54: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

44 CAPıTULO 2. TRANSFORMADA DISCRETA DE FOURIER

Simetrıas

Sea una secuencia x[n] de duracion N tal que:

x[n] DFTN−→ X[k]

entonces se tienen las siguientes relaciones:

x[((−n))N ] DFTN←→ X[((−k))N ]

x∗[n] DFTN←→ X∗[((−k))N ]

x∗[((−n))N ] DFTN←→ X∗[k]

Por tanto, la DFT de una senal real que cumple que

x[n] = x∗[n]

se tiene queX[k] = X∗[((−k))N ]

Esta es la propiedad de simetrıa conjugada usual en las transformadasde Fourier de senales reales.

Para que la DFT de una senal sea real debe cumplirse x[n] = x∗[((−n))N ],que en el caso de que la senal x[n] sea real implica x[n] = x[((−n))N ].

Modulacion

Sea una secuencia x[n] de duracion finita N tal que:

x[n] DFTN−→ X[k]

entonces:x[n] ej2πk0n/N DFTN←→ X[((k − k0))N ]

Convolucion circular

Sean dos secuencias x1[n] y x2[n] ambas de duracion N (N = maxN1, N2,completando con ceros la mas corta si fuera necesario) cuyas DFTN son, res-pectivamente, X1[k] y X2[k]. Supongamos que calculamos:

X3[k] = X1[k]X2[k] k = 0, . . . , N − 1

Page 55: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

2.3. Propiedades de la DFT 45

y que obtenemos la secuencia x3[n]:

x3[n] = DFT−1 (X3[k]) n = 0, . . . , N − 1

La relacion que existe entre x3[n] y x1[n] y x2[n] es:

x3[n] =N−1∑m=0

x1[m]x2[((n−m))N ] (2.6)

y recibe el nombre de convolucion circular. Se suele escribir:

x3[n] = x1[n]©N x2[n]

En la figura 2.3 puede verse un ejemplo de convolucion circular entre dossecuencias de duracion limitada. El valor de N seleccionado para realizar laconvolucion es el maximo de las duraciones de ambas secuencias, en este casoN = 5. Dicho ejemplo puede compararse con la convolucion lineal de ambassecuencias mostrada en la figura 2.4. Comparando ambas convoluciones po-demos observar que la circular es distinta de la lineal por la aparicion de lasmuestras que entran al intervalo de suma por la derecha debidas a la inver-sion ((−m))N , que coinciden con las que aparecen en la parte de m < 0 en laconvolucion lineal.

Con respecto a la convolucion circular cabe hacer una serie de observacio-nes:

En general, la convolucion circular de dos secuencias NO coincide con laconvolucion lineal.

La convolucion circular, en la practica, no se calcula nunca aplicando laecuacion (2.6).

En la practica, la convolucion circular se calcula siempre mediante DFTinversa del producto de dos DFTs. Ello se debe a la existencia de algo-ritmos muy eficientes de calculo de la DFT que se estudian al final deltema (FFT).

La convolucion lineal es util para calcular la salida de filtros.

La convolucion circular no sirve para nada.

Podrıamos resumir lo anterior diciendo que la convolucion circular es algo quese calcula muy rapido pero no sirve para nada.

Page 56: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

46 CAPıTULO 2. TRANSFORMADA DISCRETA DE FOURIER

-

-

-

-

6

6

6

6

x2[((1−m))N ]

x2[((−m))N ]

x2[m]

x1[m]

m

m

m

m

q qq q q

qqq q q

qqq qq

q q q q q

intervalode suma

-

Figura 2.3: Procedimiento de convolucion circular modulo 5 entre dossecuencias.

En realidad la convolucion circular sı tiene una utilidad y esta es que, bajodeterminadas condiciones, puede lograrse que la convolucion circular coincidacon la convolucion lineal (recordemos que en general esto no sucede). En esecaso se tiene la eficiencia computacional de la convolucion circular y la utilidadde la lineal. En la siguiente seccion nos ocuparemos de ver las condiciones paraque esto suceda.

2.4. Relacion entre convolucion circular y lineal

En el apartado anterior hemos visto que en general la convolucion circulary lineal son diferentes. En este punto veremos que bajo ciertas condiciones se

Page 57: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

2.4. Relacion entre convolucion circular y lineal 47

-

-

-

-

6

6

6

6

x2[1−m]

x2[−m]

x2[m]

x1[m]

m

m

m

m

qq q q qqq

qq q q q qqq

qqq qq

q q q q q

intervalode suma

-

Figura 2.4: Procedimiento de convolucion lineal entre dos secuenciasx1[n] y x2[n].

puede lograr que algunos e incluso todos los valores de la convolucion circularsean identicos a la convolucion lineal.

Esto nos sera de utilidad en la siguiente seccion en la que veremos comose pueden realizar filtrados (convoluciones lineales) usando convoluciones cir-culares (productos de DFTs, que se calculan con pocas operaciones).

Page 58: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

48 CAPıTULO 2. TRANSFORMADA DISCRETA DE FOURIER

2.4.1. Condiciones para la igualdad entre convolucion lineal ycircular

En este apartado vamos a establecer las condiciones bajo las cuales laconvolucion circular y la lineal coinciden. Supongamos que tenemos dos senalesde duracion finita:

x[n] de duracion L muestras.

h[n] de duracion P muestras.

Llamemos N = max(L,P ) y calculemos z[n] = x[n]©N h[n] e y[n] = x[n] ∗h[n]. En las figuras 2.3 y 2.4 podemos ver cual es la causa de que convolucionlineal y circular no coincidan. Las diferencias se deben a las muestras que

-

-

-

-

6

6

6

6

h[((1−m))N ]

h[((−m))N ]

h[m]

x[m]

m

m

m

m

q qq q q q q q q q

N − 1

qqq q q q q q q q

N − 1

N − P + 1

qqq qq q q q q q

N − 1P − 1

q q q q q q q q q qN − 1L− 1

intervalode suma

-

Figura 2.5: Determinacion del periodo N para realizar la convolucioncircular. Hay que lograr que (N − P + 1) > (L− 1).

Page 59: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

2.4. Relacion entre convolucion circular y lineal 49

aparecen en la parte derecha en torno a m = N − 1 en la convolucion circular(figura 2.5). La idea para lograr que ambas coincidan es hacer que dichasmuestras se multipliquen por cero. Para ello, deberemos calcular la convolucioncircular de un tamano superior a L y P . El valor mınimo de N necesario es:

N = L + P − 1 (2.7)

Ya hemos indicado que las convoluciones circulares se calculan en la practicamediante DFTs. Por tanto, podremos resumir el procedimiento a seguir pararealizar la convolucion lineal mediante DFTs del siguiente modo:

1. Anadir ceros por la derecha a x[n] y h[n] hasta completar un tamanoN ≥ (L + P − 1)

2. Calcular las DFTN tanto de x[n] como de h[n].

3. Realizar el producto elemento a elemento de los vectores X[k] y H[k],con k = 0, . . . , N − 1.

4. Calcular la DFT inversa del resultado del producto anterior.

Para finalizar, en la figura 2.6 se muestra graficamente el metodo anterior.

-

-

-

-

- -

Rell. 0

Rell. 0

DFTN

DFTN

DFT−1N

6

? ×

x[n]

h[n]

x[n] ∗ h[n]

Figura 2.6: Metodo de calculo de la convolucion lineal usando DFT

Page 60: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

50 CAPıTULO 2. TRANSFORMADA DISCRETA DE FOURIER

2.4.2. Coincidencias entre la convolucion lineal y la circular

En este apartado supondremos que tenemos dos senales:

x[n] de duracion L muestras.

h[n] de duracion P muestras.

donde P < L. Supongamos ahora que calculamos c[n], la convolucion circularmodulo N de ambas senales, tomando N = L.

c[n] = x[n]©N h[n]

Sea z[n] la convolucion lineal entre x[n] y h[n].

z[n] = x[n] ∗ h[n]

Para calcular dichas convoluciones, y teniendo en cuenta que x[n] solo esno nula para 0 ≤ n ≤ N − 1

z[n] = x[n] ∗ h[n] =∞∑

m=−∞x[m]h[n−m] ==

N−1∑m=0

x[m]h[n−m]

c[n] = x[n]©N h[n] =N−1∑m=0

x[m]h[((n−m))N ]

donde podemos observar que la unica diferencia consiste en que la inversiony los desplazamientos de la senal h son lineales para la convolucion lineal ycirculares para la convolucion cıclica. La figura 2.7 ilustra este hecho. En ellase puede apreciar que las diferencias surgen por las muestras de la derecha dela version desplazada circularmente. Sin embargo, conforme n aumenta resultaque cada vez hay menos muestras en la parte de la derecha hasta que paran ≥ 2 (en este ejemplo), se da la siguiente situacion

h[2−m] = h[((2−m))N ] 0 ≤ m ≤ N − 1

A partir de ese momento, si seguimos desplazando hasta llegar a n = N − 1,las versiones desplazadas cıclica y linealmente coinciden, y con ellas coincidenlos correspondientes valores de la convolucion lineal y circular.

Page 61: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

2.4. Relacion entre convolucion circular y lineal 51

-

-

-

-

-

6

6

6

6

6

h[((2−m))N ]

h[((1−m))N ]

h[((−m))N ]

h[m]

x[m]

m

m

m

m

m

q q q q q q q q qqN − 1

q q q q q q q q q q

qq q q q q q q q q

qq q qq q q q q qP − 1

q q q q q q q q q qintervalode suma-

-

-

-

-

-

6

6

6

6

6

h[2−m]

h[1−m]

h[−m]

h[m]

x[m]

m

m

m

m

m

q q q q q q q q qqN − 1

q q q q q q q q q qq

qq q q q q q q q q qq q

qq q qq q q q q qP − 1

q q q q q q q q q qintervalode suma-

a) b)

Figura 2.7: Comparacion entre los deplazamientos que suceden cuandola convolucion circular se realiza de un tamano igual a la longitud dela senal mas larga. a) Convolucion circular. b) Convolucion lineal.

Analizando un poco la figura, es facil darse cuenta que en general losP − 1 primeros valores de la convolucion circular no coinciden con los de laconvolucion circular, es decir

z[n] 6= c[n] 0 ≤ n < P − 1

pero el resto sı que coinciden

z[n] = c[n] P − 1 ≤ n ≤ N − 1

El hecho de que aunque no sean identicas por completo, sin embargo tenganalgunos valores comunes sera utilizado por uno de los metodos que se detallanen la seccion 2.5.

Page 62: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

52 CAPıTULO 2. TRANSFORMADA DISCRETA DE FOURIER

2.5. Implementacion de filtros LTI utilizando DFT

Acabamos de ver como se puede utilizar la DFT para realizar convolucioneslineales. En esta seccion veremos como utilizarla para filtrar senales. Consi-deraremos unicamente filtros FIR causales cuya respuesta impulsiva sera deduracion P muestras (definida entre n = 0, . . . , P − 1).

Si la senal a filtrar x[n] es de duracion finita, podemos aplicar lo visto enel punto anterior. No obstante, si la senal a filtrar tuviera duracion infinita,el metodo anterior no podrıa llevarse a la practica. En general tendremosproblemas cuando:

La senal tenga un comienzo, pero no se sepa cuando termina. En ese casodeberemos esperar hasta que se de por terminada x[n]. En aplicacionesinteractivas (telefonıa) esto puede ser inaceptable.

Otro problema sera el retardo: para calcular la DFT (y por tanto laconvolucion) se necesita que esten presentes todas las muestras de lasenal a filtrar (x[n]), por lo que tendremos un retardo algorıtmico iguala la duracion de la senal.

Para mitigar los anteriores problemas se utilizan dos metodos basados enlas siguientes ideas:

1. Se divide la senal de entrada en trozos de duracion razonable para queel retardo no sea muy largo.

2. Se calcula la salida para cada trozo.

3. Finalmente, se combinan las respuestas de cada trozo de forma adecuada.

Los dos metodos para filtrar senales basandonos en la DFT se conocencomo el metodo de solape- suma y el de solape-almacenamiento. En los si-guientes apartados se describen los mismos.

Metodo de solape-suma

Los pasos a seguir para filtrar una senal x[n] de duracion infinita (o des-conocida) con un filtro h[n] de duracion P utilizando este metodo son:

1. Se divide x[n] en trozos de longitud L, sin solape y sin dejar huecos.Es decir, el primer bloque (bloque 0) incluira las muestras de n =0, . . . , L − 1, el segundo (bloque 1) las muestras n = L, . . . , 2L − 1, y

Page 63: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

2.5. Implementacion de filtros LTI utilizando DFT 53

- - - L L L

x0[n] x1[n] x2[n]

-P − 1+

+

y0[n]

y1[n]

y2[n]

Figura 2.8: Metodo Solape-Suma

ası sucesivamente. Llamaremos xk[n] al bloque k-esimo de muestras deentrada. Notese que

x[n] =∞∑

k=0

xk[n]

2. Como cada bloque es de duracion finita se calcula la respuesta a cadabloque utilizando el metodo visto en la seccion 2.4. Para ello:

Se desplaza previamente cada trozo al origen:

x′k[n] = xk[n + kL]

Se calcula y′[k] utilizando el esquema de la figura 2.6.Se desplaza la salida k-esima a su posicion.

yk[n] = y′k[n− kL]

3. La salida total se calcula como:

y[n] =∞∑

k=0

yk[n]

Dado que los bloques y[k] tienen una duracion mayor que la de los blo-ques x[k], existira un solapamiento entre las respuestas de los distintosbloques, lo que obligara a tener que realizar sumas de las colas de unbloque con el comienzo del siguiente. La cantidad de nuestras que sesolapan es P − 1. (Ver figura 2.8).

Page 64: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

54 CAPıTULO 2. TRANSFORMADA DISCRETA DE FOURIER

Metodo de solape-almacenamiento

La senal, como en el caso anterior, x[n] de duracion infinita, se pretendefiltrar con un filtro h[n] de duracion P , para lo cual se debe seguir:

1. Se divide x[n] en trozos de longitud L, (en este metodo L > P ). Llama-remos a cada trozo xk[n] con k = 0, 1, . . .

2. Se calculan las DFTs de L puntos tanto del trozo k-esimo como de h[n].Se multiplican y se calcula la DFT inversa de L puntos. El resultado,como sabemos, es un vector de L muestras que contiene la convolucioncircular.

zk[n] = xk[n]©L yk[n]

De cada vector zk[n]:

Las primeras P − 1 muestras no coinciden con la convolucion linealy se desechan.

Las muestras de n = P, . . . , L−1 coinciden con las de la convolucionlineal.

3. Al tomar el bloque siguiente (k + 1), previendo que sus primeras P − 1muestras de la convolucion circular van a ser erroneas, se elige el bloquede modo que sus P−1 primeras muestras coincidan con las P−1 muestrasfinales del bloque k. Finalemente, se desplaza cada salida a su lugarcorrespondiente para componer la senal de salida.

4. De ese modo, la salida final, se obtiene yuxtaponiendo las muestras decada bloque que coinciden con la convolucion lineal.

En el bloque inicial, como no hay bloque anterior con el que solapar lasP − 1 primeras muestras, se anteponen P − 1 ceros.

La figura 2.9 muestra el procedimiento.

2.6. Muestreo de la Transformada de Fourier

Sea x[n] una secuencia cualquiera con transformada de Fourier X(ejω).Dicha senal podra tener duracion finita o infinita.

Supongamos ahora que tomamos N muestras equiespaciadas de su trans-formada de Fourier en fk = k

N (ωk = 2πk/N) con k = 0, . . . , N − 1.El anterior conjunto de N muestras de la Transformada de Fourier podrıamos

suponer que son los coeficientes de la DFS de una senal periodica x[n]. Lo que

Page 65: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

2.6. Muestreo de la Transformada de Fourier 55

y[n]

z2[n]

z1[n]

z0[n]

x2[n]

x1[n]

x0[n]

x[n]

-

L

-P − 1

0..,0

@@

@@

@@

Figura 2.9: Metodo Solape-Almacenamiento

vamos a hacer en este apartado es encontrar la relacion existente entre la senalx[n] cuya transformada de Fourier se muestrea y la senal periodica x[n] re-sultado del calculo de la DFS−1 sobre las muestras de la Transformada deFourier.

Las ecuaciones involucradas se muestran a continuacion. En primer lugarse calcula la TF de la senal x[n]:

X(ejω) =∞∑

m=−∞x[m] e−jωm (2.8)

En segundo lugar se muestrea dicha TF:

X[k] = X(ejω)∣∣∣ω=2πk/N

= X(ej2πk/N ) (2.9)

Page 66: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

56 CAPıTULO 2. TRANSFORMADA DISCRETA DE FOURIER

Observese que X[k] es periodica por serlo X(ej ω). El periodo de X(ej ω) es2π y la separacion entre muestras es 2π/N , con lo que el periodo de X[k]resultara ser N . Por otro lado la DFS−1 de los X[k] obtenidos resulta ser:

x[n] =1N

N−1∑k=0

X[k] ej2πkn/N (2.10)

Sustituyendo en la ecuacion (2.10) la expresion de X(ej ω) dada por la ecua-cion (2.8) se obtiene:

x[n] =1N

N−1∑k=0

∞∑m=−∞

x[m] e−j2πkm/N ej2πkn/N

Reordenando los sumatorios tenemos:

x[n] =∞∑

m=−∞x[m]

1N

N−1∑k=0

ej 2 πN

(n−m) k

donde:

1N

N−1∑k=0

ej 2 πN

(n−m) k =

1 si n−m = r N0 resto

=

∞∑r=−∞

δ[n−m− rN ]

obteniendose finalmente:

x[n] =∞∑

m=−∞x[m]

∞∑r=−∞

δ[n−m− rN ] = x[n] ∗∞∑

r=−∞δ[n− rN ]

x[n] =∞∑

r=−∞x[n− r N ] (2.11)

La ecuacion (2.11) indica que la secuencia periodica x[n], que tiene comoDFS los coeficientes obtenidos al muestrear la transformada de Fourier de lasecuencia x[n], se obtiene repitiendo la propia secuencia x[n] cada N muestras yposteriormente sumando todas las repeticiones, como puede verse en el ejemplode la figura 2.10.

Podemos realizar las siguientes observaciones:

Si la duracion de la secuencia original x[n] es menor o igual que N(y por tanto finita) no habra solape entre las distintas repeticiones. Siconocemos el intervalo en que la senal x[n] era no nula sera posiblerecuperar dicha senal a partir de x[n].

Page 67: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

2.6. Muestreo de la Transformada de Fourier 57

-

-

-

6

6

6

x[n]

x[n] ∗ δ[n− 3]

x[n]

n

n

n

q q qq q qq q q

q q q q q q q qq q q

q q qq q q q q q

...

...

...

...

...

...

Figura 2.10: Obtencion de x[n] a partir de x[n] (periodo N=3).

Si la duracion de la secuencia original x[n] es mayor que N habra solape.En ese caso no es posible conocer la secuencia inicial a partir de x[n].

El razonamiento anterior nos viene a decir que si la senal es de duracion finitay menor que el numero de muestras tomadas de la TF, las muestras de la TF(coeficientes de la DFS de x[n]) contienen toda la informacion de x[n] (o deforma equivalente de su TF X(ejω)).

Notese la dualidad que existe entre el muestreo de la TF de una senaldiscreta y el muestreo de senales continuas en el tiempo:

En el caso del muestreo en el dominio del tiempo, para que el muestreode una senal continua x(t) contenga toda la informacion de la senal, laseparacion de las muestras mınima debe ser:

∆t =1

Ancho del espectro

donde ancho del espectro es la anchura del intervalo del eje de frecuencias(positivas y negativas) en que la TF de la senal es no nula.

En el caso del muestreo de la TF, la separacion entre muestras espectralesdebe ser:

∆f =1

Duracion de la senal

en ambos casos la separacion entre muestras consecutivas debe ser menor quela inversa de la extension de la senal en el dominio contrario al que se muestrea.

Page 68: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

58 CAPıTULO 2. TRANSFORMADA DISCRETA DE FOURIER

2.7. Calculo eficiente de la Transformada Discretade Fourier (La FFT)

La FFT es un metodo rapido de calculo de la transformada discreta deFourier que fue publicado en 1964 por Cooley y Tukey, el cual es ya conocidouniversalmente por sus siglas en ingles FFT (Fast Fourier Transform). Laeficiencia de este metodo se muestra en la tabla 2.1, donde se compara elnumero de operaciones a realizar para implementar la DFT de N puntos porel metodo directo (N2) y por el algoritmo rapido (N log2 N), ası como laeficiencia conseguida utilizando la FFT ( N2

N log2 N ).

N Directo FFT Eficiencia32 1024 160 6.464 4096 384 10.7128 16384 896 18.3256 65536 2048 32. . . .. . . .. . . .

4096 ≈ 17,106 ≈ 49,103 341

Cuadro 2.1: Eficiencia de la FFT

La FFT es un metodo muy eficiente de calculo, como puede verse en latabla 2.1, si se requieren los N valores de X[k]; si no, puede resultar ineficiente.

En este capıtulo veremos dos tipos de algoritmos para implementar la FFT:

Algoritmos de diezmado en el tiempo.

Algoritmos de diezmado en frecuencia.

2.7.1. Consideraciones previas

Antes de proceder a describir los algoritmos realizaremos algunas conside-raciones previas.

Numero de operaciones en el metodo directo

En este apartado trataremos de establecer de forma aproximada el numerode operaciones necesario para el calculo de la DFT directa e inversa. La DFT

Page 69: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

2.7. La FFT 59

(o su inversa) consisten en calcular las expresiones de las ecuaciones (2.12y 2.13), que se reproducen a continuacion:

Ecuacion de Analisis (Transformada Directa)

X[k] =N−1∑n=0

x[n]W k nN (2.12)

dondeWN = e−j2π/N

Ecuacion de Sıntesis (Transformada Inversa)

x[n] =1N

N−1∑k=0

X[k]W−k nN (2.13)

Ası, segun la ecuacion (2.12), para implementar la DFT por el metododirecto, para cada valor de k (o para cada n si se trata de la DFT inversa) sedeben realizar N productos complejos y N − 1 sumas complejas, por lo queen total, el numero de operaciones a realizar sera:

Nvalores de k(Nproductos complejos + (N − 1)sumas complejas

)Num. de ops. = N2

productos complejos + N (N − 1)sumas complejas

Los productos complejos tienen mayor carga computacional2, por lo quepara medir el numero de operaciones se mide el numero de productos complejosnecesarios, que en el caso del calculo de la DFT es N2. Por otro lado, elnumero de operaciones reales que habra que realizar siempre sera proporcionalal numero de productos complejos, ya que:

Num. de ops. ≈ 4 N2productos reales+4N2

sumas reales ∝ N2productos complejos

2Sean dos numeros complejos z1 = a + j b y z2 = c + j d, el numero de operaciones realesnecesarias para realizar su suma es:

z1 + z2 = (a + c) + j (c + d) −→ 2 sumas reales

y para calcular su producto:

z1 × z2 = (ac− bd) + j (ad + bc) −→ 4 productos reales y 2 sumas reales

Page 70: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

60 CAPıTULO 2. TRANSFORMADA DISCRETA DE FOURIER

Propiedades de las exponenciales complejas

Las propiedades de las exponenciales complejas a usar para disminuir elnumero de operaciones necesarias son:

Simetrıa conjugada.

Wk (N−n)N = W−k n

N = (W k nN )∗

Periodicidad en n y en k.

W k nN = W

k (n+N)N = W

(k+N) nN

Si N par, entonces:W

r+N/2N = −W r

N

WN/2 = W 2N

Transformada inversa

En el resto del tema, solo desarrollaremos los distintos tipos de algoritmospara el calculo de la DFT, ya que las estructuras necesarias para implementarla DFT inversa son similares (unicamente se diferencian en los coeficientesmultiplicativos). Ademas, la DFT inversa se puede incluso calcular utilizandoel algoritmo rapido de calculo de la DFT ya que hay relaciones entre ellas quenos permiten hacerlo. Como ejemplo, presentaremos dos formas de relacionarambas transformaciones:

1. DFT y DFT inversa se diferencian unicamente en el factor 1/N y enel signo de la exponencial ej 2 π

Nk, como puede observarse comparando

las ecuaciones de analisis y sıntesis (2.12 y 2.13). Por tanto, se podrıarealizar la DFT inversa usando una FFT y utilizando la expresion (2.14),resultando un algoritmo cuyo diagrama de bloques se muestra en lafigura 2.11.

x[n] =1N

(N−1∑k=0

X∗[k] e−j 2 πN

n k

)∗(2.14)

2. Aplicando la propiedad de la dualidad de la DFT. Si

x[n] DFT−→ X[k]

Page 71: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

2.7. La FFT 61

entonces

X[k] DFT−→ N x[((−n))N ] 0 ≤ n ≤ N − 1

Basandonos en esta expresion podemos obtener x[n] utilizando un al-goritmo FFT al que se introduce como entrada los coeficientes de laDFT (X[k]), simplemente reordenando el resultado y multiplicando lasmuestras de salida por un factor 1/N .

2.7.2. Algoritmos de diezmado en el tiempo

En esta seccion se van a explicar el primer tipo de algoritmos FFT, losde diezmado en el tiempo. Estos algoritmos, al igual que los de diezmado enfrecuencia que veremos en la seccion 2.7.3, son mas eficientes si la DFT acalcular es de N puntos, con N potencia de 2 (N = 2υ υ ∈ Z). Sin embargo,en la seccion 2.7.5 veremos una generalizacion de los mismos para el caso enque N no sea potencia de 2.

Los algoritmos de diezmado en el tiempo se basan en descomponer x[n]en subsecuencias recursivamente, calcular las DFTs de cada subsecuencia ycombinarlas para componer la DFT de subsecuencias mayores, hasta llegar ala secuencia x[n] de N puntos.Tomando como partida la ecuacion de analisis de la DFT,

X[k] =N−1∑n=0

x[n]W k nN

se separa el sumatorio en terminos de n par e impar, resultando:

X[k] =∑

n parx[n]W k n

N +∑

n imparx[n]W k n

N =

=

N2−1∑

r=0

x[2 r]W 2 r kN +

N2−1∑

r=0

x[2 r + 1]W (2 r+1) kN

- - - - -X[k]( )∗ FFT ( )∗ 1

N

x[n]

Figura 2.11: FFT inversa usando la FFT directa.

Page 72: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

62 CAPıTULO 2. TRANSFORMADA DISCRETA DE FOURIER

bbbb

bbbb

bbbb

bbbb

bbbb

bbbb

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

@@R

@@R

@@R

@@R

@@

@@

@@

@@

@@

@@@

@@

@@

@@

@@

@@

@@@

@@

@@

@@

@@

@@

@@@

@@

@@

@@

@@

@@

@@@

DFTN/2

DFTN/2

3 3

2 2

1 1

0 0

3 3

2 2

1 1

0 0

x[7]

x[5]

x[3]

x[1]

x[6]

x[4]

x[2]

x[0]

X[7]

X[6]

X[5]

X[4]

X[3]

X[2]

X[1]

X[0]

H[3]

H[2]

H[1]

H[0]

G[3]

G[2]

G[1]

G[0]

W 7N

W 6N

W 5N

W 4N

W 3N

W 2N

W 1N

W 0N

Figura 2.12: Algoritmo FFT de diezmado en el tiempo (N = 8): des-composicion inicial.

aaaa

aaa

-

-

-

A

A

A

B

B

B

C

*

a

C = A + B

B = A

B = a×A

Figura 2.13: Sımbolos utilizados en los diagramas de bloques del algo-ritmo FFT.

Si se tiene en cuenta que:W 2

N = WN2

Page 73: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

2.7. La FFT 63

resulta:

X[k] =

N2−1∑

r=0

x[2 r]W r kN2

+

N2−1∑

r=0

x[2 r + 1]W r kN2

W kN

llamando:

G[k] =N/2−1∑

r=0

x[2 r] W r kN/2

H[k] =N/2−1∑

r=0

x[2 r + 1] W r kN/2

se obtiene la nueva ecuacion de analisis reducida.

X[k] = G[k] + H[k]W kN (2.15)

Observese que G[k] es la DFT de N/2 puntos de las muestras pares dex[n] y H[k] de las impares, sin embargo, la ecuacion (2.15) es valida parak = 0 . . . N − 1. Para completar la DFT de N puntos se utiliza la propiedadde periodicidad, ya que ambas DFTs calculadas (G[k] y H[k]) son periodicasen k, de periodo N/2.

La figura 2.12 muestra como serıa el calculo de la DFT realizada de laforma vista arriba para una secuencia de N = 8 muestras. El significado delos distintos elementos que aparecen en dicha figura estan especificados en lafigura 2.13.

El numero de operaciones necesarias para llevar a cabo la DFT de la formamostrada en la figura 2.12 seran las necesarias para realizar dos DFTs de 4puntos y 8 productos complejos. Generalizando a una DFT de N puntos, elnumero de operaciones (productos complejos) sera:

2×(

N

2

)2

+ N = N +N2

2productos complejos

es decir, las necesarias para realizar dos DFTN/2 mas N productos.Si N > 2 −→ N + N2/2 < N2, ası pues, se demuestra que con este metodo elnumero de operaciones sera menor (si N > 2) que con el metodo directo.

El proceso puede repetirse para cada una de las DFTs de N/2 puntos de lafigura 2.12 (en nuestro ejemplo, DFTs de 4 puntos como la de la figura 2.14),para ello, cada bloque de DFT de N/2 se divide en dos de N/4 seleccionandomuestras pares e impares, resultando el diagrama de la figura 2.15.

Si ademas, aplicamos a las exponenciales que aparecen en figura 2.15 lapropiedad W k

N/2 = W 2kN , obtenemos la figura 2.16 en la que todas las expo-

nenciales aparecen expresadas en la misma base (WN ).

Page 74: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

64 CAPıTULO 2. TRANSFORMADA DISCRETA DE FOURIER

Iterando, se podrıa llegar a DFTs de dos puntos, como la de la figura 2.17.Si sustituimos en nuestro ejemplo cada bloque DFT de N/4 puntos por elgrafo de la figura 2.17 se obtine el diagrama de bloques de la FFT de 8 puntos(figura 2.18).

Como puede observarse en la figura 2.18, el algoritmo se divide en 3 etapas,en general en log2 N etapas. Cada una de ellas parte de N valores de entraday obtiene N valores de salida, combinando los valores de entrada por mediode una serie de productos y sumas.

cc

cc

cc

cc

cc

cc

-

-

-

-

-

-

-

-

-

-

-

-

@@R

@@R@@

@@

@@

@@@

@@

@@

@@

@@@

DFTN/2

DFTN/2

1 1

0 0

1 1

0 0

x[3]

x[1]

x[2]

x[0]

X[3]

X[2]

X[1]

X[0]

H[1]

H[0]

G[1]

G[0]

W 3N

W 2N

W 1N

W 0N

Figura 2.14: Algoritmo FFT de diezmado en el tiempo (N = 4).

Page 75: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

2.7. La FFT 65

cccccccc

cccccccc

cccccccc

cccccccc

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

@@R

@@R

@@

@@

@@

@@

@@

@@

@@

@@

@@R

@@R

@@

@@

@@

@@

@@

@@

@@

@@

@@

@@@R

@@

@@@R

@@

@@

@@

@@

@@

@@

@@@

@@

@@

@@

@@

@@

@@

@@@

@@

@@@R

@@

@@@R

@@

@@

@@

@@

@@

@@

@@@

@@

@@

@@

@@

@@

@@

@@@

DFTN/4

DFTN/4

DFTN/4

DFTN/4

1 1

0 0

1 1

0 0

1 1

0 0

1 1

0 0

x[7]

x[3]

x[5]

x[1]

x[6]

x[2]

x[4]

x[0]

X[7]

X[6]

X[5]

X[4]

X[3]

X[2]

X[1]

X[0]

W 7N

W 6N

W 5N

W 4N

W 3N

W 2N

W 1N

W 0N

W 3N/2

W 2N/2

W 1N/2

W 0N/2

W 3N/2

W 2N/2

W 1N/2

W 0N/2

Figura 2.15: Algoritmo FFT de diezmado en el tiempo (N = 8): re-sultado de descomponer las DFTs de N/2 en DFTs de N/4.

El numero de operaciones (productos complejos) del algoritmo FFT, de-sarrollado hasta las DFTs de 2 puntos (como el de la figura 2.18) sera:3

N productosetapa

×Numetapas = N × log2 N

En la figura 2.18 se observa tambien que el procedimiento para pasar deuna etapa a la siguiente se basa en el grafo de la figura 2.19, el cual a partirde un par de valores de una etapa y dos exponenciales, potencias de WN con

3El numero de operaciones calculado es para calculos generalizados, pero particularizandose podrıan optimizar mas, por ejemplo, eliminando la multiplicacion por coeficientes quevalen la unidad. Por contra, no estan contabilizadas las operaciones de control (por ejemploel control de las iteraciones de los bucles). No obstante la mayorıa de los DSPs tienenarquitecturas que hacen que el coste computacional de estas operaciones sea nulo.

Page 76: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

66 CAPıTULO 2. TRANSFORMADA DISCRETA DE FOURIER

cccccccc

cccccccc

cccccccc

cccccccc

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

@@R

@@R

@@

@@

@@

@@

@@

@@

@@

@@

@@R

@@R

@@

@@

@@

@@

@@

@@

@@

@@

@@

@@@R

@@

@@@R

@@

@@

@@

@@

@@

@@

@@@

@@

@@

@@

@@

@@

@@

@@@

@@

@@@R

@@

@@@R

@@

@@

@@

@@

@@

@@

@@@

@@

@@

@@

@@

@@

@@

@@@

DFTN/4

DFTN/4

DFTN/4

DFTN/4

1 1

0 0

1 1

0 0

1 1

0 0

1 1

0 0

x[7]

x[3]

x[5]

x[1]

x[6]

x[2]

x[4]

x[0]

X[7]

X[6]

X[5]

X[4]

X[3]

X[2]

X[1]

X[0]

W 7N

W 6N

W 5N

W 4N

W 3N

W 2N

W 1N

W 0N

W 6N

W 4N

W 2N

W 0N

W 6N

W 4N

W 2N

W 0N

Figura 2.16: Algoritmo FFT de diezmado en el tiempo (N = 8): dosetapas finales.

bb

bb

-

-

@

@@

@@

@@R

x[1]

x[0]

X[1]

X[0]

WN2

N = −1

W 0N = 1

Figura 2.17: Algoritmo FFT de diezmado en el tiempo (N = 2).

exponentes separados N/2, obtiene un par de valores de la etapa siguiente. Elgrafo de la figura 2.19 representa la estructura de calculo mas basica y recibeel nombre de mariposa, debido a su forma.

Page 77: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

2.7. La FFT 67

bbbbbbbb

bbbbbbbb

bbbbbbbb

bbbbbbbb

-

-

-

-

-

-

-

-

1

1

1

1

PPq

PPq

PPq

PPq

PPPPPPPP

PPPPPPPP

PPPPPPPP

PPPPPPPP

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

@@R

@@R

@@

@@

@@@

@@

@@

@@@

@@R

@@R

@@

@@

@@@

@@

@@

@@@

@@

@@R

@@

@@R

@@

@@

@@

@@

@@

@@

@

@@

@@

@@

@@

@@

@@

@

@@

@@R

@@

@@R

@@

@@

@@

@@

@@

@@

@

@@

@@

@@

@@

@@

@@

@

x[7]

x[3]

x[5]

x[1]

x[6]

x[2]

x[4]

x[0]

X[7]

X[6]

X[5]

X[4]

X[3]

X[2]

X[1]

X[0]

W 7N

W 6N

W 5N

W 4N

W 3N

W 2N

W 1N

W 0N

W 6N

W 4N

W 2N

W 0N

W 6N

W 4N

W 2N

W 0N

W 4N

W 4N

W 4N

W 4N

W 0N

W 0N

W 0N

W 0N

Figura 2.18: Algoritmo FFT de diezmado en el tiempo (N = 8).

Si se tiene en cuenta que:

WN2

N = e−j( 2 πN

)N2 = e−j π

y por tanto el factor Wr+N

2N que aparece en la mariposa puede ser sustituido

por:

Wr+N

2N = W

N2

N W rN = −W r

N

el calculo de la mariposa de la figura 2.19 puede simplificarse, resultando la

bb

bb

-

-

@

@@

@@

@@R

etapa m− 1 etapa m

Wr+N

2N

W rN

Figura 2.19: Grafo de una mariposa generica de la figura 2.18.

Page 78: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

68 CAPıTULO 2. TRANSFORMADA DISCRETA DE FOURIER

de la figura 2.20, la cual requiere unicamente un producto complejo en lugarde dos para calcular los dos valores de salida.

aa

aa

aa

-

-

-

-

@

@@

@

Retapa m− 1 etapa m

W rN −1

Figura 2.20: Grafo simplificado de una mariposa.

Usando la estructura de mariposa simplificada de la figura 2.20 en el grafodel algoritmo de la FFT de 8 puntos de la figura 2.18, se obtiene el grafode la figura 2.21. Con esta simplificacion se consigue reducir el numero deoperaciones finales por un factor 2, ya que el numero de productos complejosa realizar en cada mariposa se reduce a la mitad. Ası, el numero de operacionestotales queda reducido a:

num. de ops =N

2log2 N

bbbbbbbb

bbbbbbbb

bbbbbbbb

bbbbbbbb

bbbbbbbb

bbbbbbbb

bbbbbbbb

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

1

1

1

1

PPq

PPq

PPq

PPq

PPPPPPP

PPPPPPP

PPPPPPP

PPPPPPP

-

-

-

-

-

-

-

-

@@R

@@R

@@

@@

@@

@@

@@

@@

@@R

@@R

@@

@@

@@

@@

@@

@@

-

-

-

-

-

-

-

-

@@

@@R

@@

@@R

@@

@@

@@

@@

@@

@@

@@

@@

@@

@@

@@

@@

@@

@@R

@@

@@R

@@

@@

@@

@@

@@

@@

@@

@@

@@

@@

@@

@@

x[7]

x[3]

x[5]

x[1]

x[6]

x[2]

x[4]

x[0]

X[7]

X[6]

X[5]

X[4]

X[3]

X[2]

X[1]

X[0]

W 0N

W 0N

W 0N

W 0N

−1

−1

−1

−1

W 2N

W 2N

W 0N

W 0N

−1

−1

−1

−1

W 3N

W 2N

W 1N

W 0N

−1

−1

−1

−1

Figura 2.21: Algoritmo FFT de diezmado en el tiempo (N = 8) conmariposas simplificada.

Page 79: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

2.7. La FFT 69

2.7.3. Algoritmos de diezmado en frecuencia

Como hemos visto en el punto 2.7.2, los algoritmos de diezmado en eltiempo se basan en dividir la secuencia de entrada x[n] en subsecuencias, lascuales se vuelven a dividir hasta obtener una subsecuencia de tamano 2. Luego,las DFTs de estas subsecuencias se combinan para obtener la DFT completa.Si en vez de dividir x[n] lo que se divide en subsecuencias es X[k], el algoritmoresultante recibe el nombre de algoritmo de diezmado en frecuencia.

Sea x[n] una secuencia de N puntos, donde N es potencia de 2 y cuya DFTes X[k]:

X[k] =N−1∑n=0

x[n]Wn kN

Si separamos X[k] en dos subsecuencias de coeficientes en funcion del valor dek, tenemos:

k par −→ k = 2 r −→ X[2 r] =N−1∑n=0

x[n]Wn 2 rN (2.16)

k impar −→ k = 2 r + 1 −→ X[2 r + 1] =N−1∑n=0

x[n]Wn (2 r+1)N (2.17)

Empezaremos el estudio por los valores que ocupan una posicion par en lasecuencia de coeficientes de la DFT. Separando el sumatorio de la ecuacion(2.16) en dos sumatorios tenemos:

X[2 r] =N/2−1∑n=0

x[n]Wn rN/2 +

N−1∑n=N/2

x[n]Wn rN/2

Arreglando el segundo sumatorio para que ambos tengan los mismos lımites,se obtiene:

X[2 r] =N/2−1∑n=0

x[n]Wn rN/2 +

N/2−1∑n=0

x[n + N/2]W r (n+N/2)N/2

Page 80: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

70 CAPıTULO 2. TRANSFORMADA DISCRETA DE FOURIER

cccc

cccc

cccc

cccc

cccc

cccc

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

@@@R

@@@R

@@@R

@@@R

@@

@@

@@

@@

@@

@@

@@@

@@

@@

@@

@@

@@

@@

@@@

@@

@@

@@

@@

@@

@@

@@@

@@

@@

@@

@@

@@

@@

@@@

DFTN/2

DFTN/2

3 3

2 2

1 1

0 0

3 3

2 2

1 1

0 0

x[7]

x[6]

x[5]

x[4]

x[3]

x[2]

x[1]

x[0]

X[7]

X[5]

X[3]

X[1]

X[6]

X[4]

X[2]

X[0]

−1

−1

−1

−1

h[3]

h[2]

h[1]

h[0]

g[3]

g[2]

g[1]

g[0]

W 3N

W 2N

W 1N

W 0N

Figura 2.22: Algoritmo FFT de diezmado en frecuencia (N = 8): des-composicion inicial.

Aplicando la propiedad de periodicidad de las exponenciales 4

X[2 r] =N/2−1∑n=0

x[n]Wn rN/2 +

N/2−1∑n=0

x[n + N/2]W r nN/2

X[2 r] =N/2−1∑n=0

(x[n] + x[n + N/2]) Wn rN/2 (2.18)

4La exponencial es periodica, de periodo N/2, por lo que:

Wr (n+N/2)

N/2 = W r nN/2

Page 81: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

2.7. La FFT 71

Procediendo de la misma forma con los coeficientes de orden impar, desa-rrollaremos la ecuacion (2.17), obteniendo:

X[2 r + 1] =N/2−1∑n=0

x[n]Wn rN/2 Wn

N +N−1∑

n=N/2

x[n]Wn rN/2 Wn

N

Arreglando los lımites de los sumatorios:

X[2 r + 1] =N/2−1∑n=0

x[n]Wn rN/2 Wn

N +N/2∑n=0

x[n + N/2]W (n+N/2) rN/2 W

n+N/2N

Si aplicamos, ahora, la propiedad de periodicidad en N/2 de la exponencial:

X[2 r + 1] =N/2−1∑n=0

x[n]Wn rN/2 Wn

N +N/2∑n=0

x[n + N/2]Wn rN/2 W

n+N/2N

6

6

6

6

6

-

-

-

-

-

n

n

n

n

n

x[n]

HHH

HHH

HHH

6

6

?

?

m

m

+

+

-

-

h[n]

g[n]

N/2

N/2− 1

N/2− 1

N/2− 1

N/2− 1

Figura 2.23: Obtencion de g[n] y h[n] a partir de x[n].

Page 82: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

72 CAPıTULO 2. TRANSFORMADA DISCRETA DE FOURIER

Teniendo en cuenta que Wn+N/2N = −Wn

N :

X[2 r + 1] =N/2−1∑n=0

x[n]Wn rN/2 Wn

N +N/2∑n=0

x[n + N/2]Wn rN/2 (−Wn

N )

Finalmente, se obtiene la expresion (2.19) que nos permite obtener los coefi-cientes impares de X[k] a partir de muestras de x[n]

X[2 r + 1] =N/2−1∑n=0

(x[n]− x[n + N/2]) Wn rN/2 Wn

N (2.19)

Si en las ecuaciones (2.18) y (2.19) hacemos el cambio:

x[n] + x[n + N/2] = g[n]

yx[n]− x[n + N/2] = h[n]

se obtienen dos nuevas ecuaciones (2.20 y 2.21) que nos sirven de base parael desarrollo del grafo que representa el algoritmo de diezmado en frecuencia.Graficamente, puede observarse en la figura 2.23 como se obtendrıan g[n] yh[n] a partir de x[n].

X[2 r] =N/2−1∑n=0

g[n]Wn rN/2 (2.20)

X[2 r + 1] =N/2−1∑n=0

(h[n]WnN ) Wn r

N/2 (2.21)

El grafo para realizar la FFT de 8 puntos con un algoritmo de diezmado enfrecuencia serıa el de la figura 2.22. De la misma manera que en los algoritmosde diezmado en el tiempo, se podrıa seguir iterando hasta descomponer X[k]en subsecuencias de 2 elementos.

2.7.4. Consideraciones adicionales sobre la FFT

Una vez vistos los dos tipos de algoritmos para realizar la FFT, en estepunto vamos a ocuparnos de una serie de consideraciones practicas a tener encuenta a la hora de implementarlos, como:

Cantidad de memoria utilizada en la implementacion del algoritmo, lacual se minimiza con los algoritmos en el sitio.

Page 83: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

2.7. La FFT 73

bbbbbbbb

bbbbbbbb

bbbbbbbb

bbbbbbbb

bbbbbbbb

bbbbbbbb

bbbbbbbb

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

1

1

1

1

PPq

PPq

PPq

PPq

PPPPPPP

PPPPPPP

PPPPPPP

PPPPPPP

-

-

-

-

-

-

-

-

@@R

@@R

@@

@@

@@

@@

@@

@@

@@R

@@R

@@

@@

@@

@@

@@

@@

-

-

-

-

-

-

-

-

@@

@@R

@@

@@R

@@

@@

@@

@@

@@

@@

@@

@@

@@

@@

@@

@@

@@

@@R

@@

@@R

@@

@@

@@

@@

@@

@@

@@

@@

@@

@@

@@

@@

x[7]

x[3]

x[5]

x[1]

x[6]

x[2]

x[4]

x[0]

X[7]

X[6]

X[5]

X[4]

X[3]

X[2]

X[1]

X[0]

W 0N

W 0N

W 0N

W 0N

−1

−1

−1

−1

W 2N

W 2N

W 0N

W 0N

−1

−1

−1

−1

W 3N

W 2N

W 1N

W 0N

−1

−1

−1

−1

-etapa 1

-etapa 2

-etapa 3

Figura 2.24: Algoritmo FFT de diezmado en el tiempo (N = 8) conmariposa simplificada.

Ordenacion de los datos de entrada al algoritmo.

Formas alternativas de realizar el algoritmo FFT.

Minimizacion de los calculos de las exponenciales involucradas en el pro-ceso utilizando distintas estrategias.

Algoritmos en el sitio

El diagrama de flujo de la FFT (figura 2.21) representa el algoritmo aimplementar. Dentro de este grafo aparecen una serie de nodos que representanlas variables necesarias para realizar el programa, es decir, la cantidad dealmacenamiento necesario. En un grafo como el de la figura 2.24 se observaque el algoritmo se divide en υ = log2 N etapas, en nuestro ejemplo el numerode etapas es 3. Cada etapa obtiene N complejos de salida (8 en el ejemplo), apartir de otros N complejos de entrada.

Una forma de almacenar los datos y resultados necesarios para realizar elprograma que implemente un algoritmo como el de la figura 2.24 es utilizandovectores que permitan almacenar los valores complejos de las entradas y lassalidas de las distintas etapas. Para tener almacenados N complejos de entrada

Page 84: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

74 CAPıTULO 2. TRANSFORMADA DISCRETA DE FOURIER

c

c

c

c

c

c

-

-

-

-

@

@@

@@

@

@@R

Xm−1(q)

Xm−1(p)

Xm(q)

Xm(p)

W rN −1

Figura 2.25: Obtencion de los elementos p y q para la etapa m.

y otros N de salida en cada etapa se necesitan 2 vectores de complejos paratodo el algoritmo, ya que el vector de salida de una etapa se convierte en elvector de entrada de la siguiente, y por tanto, en principio solo se necesitael vector con los resultados de la etapa anterior y el correspondiente a losresultados que se estan calculando en la etapa actual.

Los elementos de cada vector de salida se obtienen como resultado deaplicar sobre los elementos del vector de entrada estructuras mariposas comola de la figura 2.25, en la que Xm(l) representa el elemento l-esimo del vectorde salida de la etapa m-esima. En la primera etapa, X0 sera la secuencia deentrada x[n], mientras que en la ultima, Xυ seran los coeficientes de la DFT.

En la figura 2.25 puede observarse que para obtener los valores de cual-quier par de elementos de una etapa (Xm(p) y Xm(q)) solo se necesitan losvalores de los elementos que estan en la misma posicion en el vector de laetapa anterior (Xm−1(p) y Xm−1(q)). Por este motivo, de los dos vectores quenecesitabamos inicialmente para implemtar el algoritmo, podemos prescindirde uno. Ası, el almacenamiento necesario en el programa sera solamente unvector de complejos junto con una variable auxiliar. Los calculos realizados deesta forma reciben el nombre de calculos en el sitio, ya que los resultados sealmacenan en el mismo vector que contenıa los datos.

Orden de los datos

En el punto anterior hemos visto que en el grafo del algoritmo FFT seutilizan estructuras del tipo de la de la figura 2.25, las cuales nos permitenrealizar los calculos en el sitio. Este tipo de estructuras ha sido propiciado porel hecho de que los datos de entrada estan ordenados en orden bit inverso.

Para explicar el significado de orden bit inverso vamos a ver un ejemplo deuna secuencia de 8 muestras, la cual hay que ordenar. En esta secuencia de 8muestras, el orden que ocupa cada una de ellas puede almacenarse con 3 bits

Page 85: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

2.7. La FFT 75

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

x[111] = x[7]

x[110] = x[6]

x[101] = x[5]

x[100] = x[4]

x[011] = x[3]

x[010] = x[2]

x[001] = x[1]

x[000] = x[0]

1

0

1

1

0

0

1

1

1

1

0

0

0

0

x[n2 n1 n0]

n2 n1 n0

Figura 2.26: Ordenamiento de una secuencia en orden natural.

x[n2n1n0], donde n0 es el bit menos significativo (LSB), de tal forma que elorden de cada muestra viene dado por una combinacion de estos tres bits.

La forma de ordenacion mas normal es el orden natural, mostrado en lafigura 2.26, el cual consiste en ir dividiendo la secuencia en funcion del valorde estos tres bits, empezando por el mas significativo (n2); es decir, si n2 es 0la muestra quedara ordenada en una mitad, si es 1 en la otra. A continuacionse repite el proceso en ambas mitades, pero observando ahora el bit n1. Final-mente se repite el proceso para todas las subsecuencias obtenidas en el pasoanterior teniendo en cuenta el bit n0.

Otra forma de ordenar la secuencia es en orden bit inverso, como en lafigura 2.27, donde la filosofıa de ordenacion es la misma que en el orden na-tural pero el sentido de la misma es del bit menos significativo (n0) al massignificativo (n2).

En los diagramas de flujo que representan el algoritmo de la FFT (2.18y 2.21) se observa que antes de empezar el algoritmo, la secuencia debe serordenada en orden bit inverso, para poder ası implementar un algoritmo en elsitio, resultando una secuencia de coeficientes X[k] ordenada en orden natural.

En la figura 2.12 podemos observar que la secuencia x[n] se divide en mues-tras pares (mitad superior) e impares (mitad inferior), lo cual equivale a unaseparacion de las muestras examinando el LSB (n0), es decir, las muestrascon n0 = 0 (pares) quedaran ordenadas en la mitad superior y las que tienen

Page 86: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

76 CAPıTULO 2. TRANSFORMADA DISCRETA DE FOURIER

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

x[111] = x[7]

x[011] = x[3]

x[101] = x[5]

x[001] = x[1]

x[110] = x[6]

x[010] = x[2]

x[100] = x[4]

x[000] = x[0]

1

0

1

1

0

0

1

1

1

1

0

0

0

0

x[n2 n1 n0]

n0 n1 n2

Figura 2.27: Ordenamiento de una secuencia en orden bit inverso.

n0 = 1 (impares) pasaran a la mitad inferior. Para las dos subsecuencias obte-nidas se debe repetir el mismo proceso (N veces), hasta obtener subsecuenciasde un solo elemento (figuras 2.17 y 2.15). Ası pues, la ordenacion bit inversode la figura 2.27 es equivalente a separar la secuencia en muestras que ocupanlugares pares o impares en la misma.

Formas alternativas

Si observamos las figuras que representan el grafo del algoritmo FFT (figu-ras 2.18 y 2.21) podemos darnos cuenta que podrıamos cambiar el orden de losdatos de entrada al algoritmo FFT siempre y cuando, con la nueva ordenacion,una muestra siga el mismo proceso, es decir, pase por las mismas ramas queen el algoritmo original. Lo realmente importante es que una muestra sufralos calculos necesarios para que a la salida se obtengan los coeficientes de laDFT, sin importar el orden en que se realicen los mismos. Ası pues, se podrıapensar en nuevas ordenaciones de los datos que den lugar a nuevos grafos pararepresentar el algoritmo FFT. En la figura 2.28 puede observarse la forma delgrafo cuando el orden de la secuencia de entrada corresponde al orden natural,que es, precisamente, el grafo original presentado por Cooley y Tukey.

Las implementaciones con las muestras de entrada en orden natural sonmuy utiles en procesos en los que haya que concatenar FFT e FFTi, por ejem-plo un filtrado (figura 2.29). De esta forma se pueden evitar varias ordenaciones

Page 87: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

2.7. La FFT 77

bbbbbbbb

-

-

-

-

-

-

-

-

bbbbbbbb

-

-

-

-

-

-

-

-

@@

@@

@@

@@

@@R

@@

@@

@@

@@

@@R

@@

@@

@@

@@

@@R

@@

@@

@@

@@

@@R

@@

@@

@@

@@

@@@

@@

@@

@@

@@

@@@

@@

@@

@@

@@

@@@

@@

@@

@@

@@

@@@

bbbbbbbb

-

-

-

-

-

-

-

-

bbbbbbbb

-

-

-

-

-

-

-

-

@@

@@@R

@@

@@@R

@@

@@

@@

@@

@@

@@

@@

@@@R

@@

@@@R

@@

@@

@@

@@

@@

@@

bbbbbbbb

-

-

-

-

-

-

-

-

bbbbbbbb

-

-

-

-

-

-

-

-

*

*

*

*

HH

HHHj

HH

HHHj

HH

HHHj

HH

HHHj

HH

HH

HH

HH

HH

HH

HH

HH

HH

HH

HH

HH

bbbbbbbb

x[7]

x[6]

x[5]

x[4]

x[3]

x[2]

x[1]

x[0]

X[7]

X[5]

X[3]

X[1]

X[6]

X[2]

X[4]

X[0]

−1

−1

−1

−1

W 0N

W 0N

W 0N

W 0N

W 2N

W 2N

W 0N

W 0N

−1

−1

−1

−1

W 3N

W 1N

W 2N

W 0N

−1

−1

−1

−1

Figura 2.28: Algoritmo FFT de diezmado en el tiempo (N = 8) conentrada en orden natural.

-

-

-

-

Rellenocon 0

Rellenocon 0

FFTN

FFTN

6

?

- FFT−1N

-

h[n]

x[n]

ordennatural

ordennatural

ordennatural

ordennatural

ordenbit inverso

ordenbit inverso

ordenbit inverso

ordennatural

×

Figura 2.29: Filtrado utilizando FFTs.

de la secuencia, proceso que puede resultar cada vez mas lento a medida queN crece.

Ademas de la estructura de la figura 2.28 existen otras formas derivadasde las distintas ordenaciones de los datos de entrada y los nodos intermedios,de las cuales no vamos a ocuparnos aquı.

Page 88: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

78 CAPıTULO 2. TRANSFORMADA DISCRETA DE FOURIER

Calculo de coeficientes

Como hemos visto anteriormente, para implementar el algoritmo FFT hacefalta una serie de coeficientes exponenciales W r

N donde r = 0 . . . (N/2) − 1,cuyo calculo es un proceso que debe ser optimizado. Para ello se utilizan dosmetodos diferentes:

Uso de una tabla: calcular previmente todos los coeficientes necesariospara implementar el algoritmo y guardarlos en una tabla. Este metodominimiza el tiempo de calculo, pero necesita memoria para almacenar latabla.

Calculo recursivo: consiste en calcular los coeficientes cuando sean nece-sarios. En una etapa dada todos los coeficientes necesarios son multiplosde WN . Para optimizar se aplica la siguiente formula recursiva:

W lN = WN W

(l−1)N

es decir, para obtener el l-esimo multiplo de WN se necesita esta ba-se y el ultimo coeficiente calculado. Este metodo minimiza la memorianecesaria optimizando tambien el tiempo de calculo. Sin embargo, hayque tener en cuenta que los coeficientes sufren un error de cuantificacional almacenarlos, el cual se ira acumulando al ir aplicando la recursion,haciendose inaceptable si N crece mucho. Este problema tiene un pe-queno arreglo introduciendo puntos de inicializacion en la recursion, por

ejemplo WN4

N = −j.

2.7.5. Algoritmos con N 6= 2υ

Hasta ahora hemos visto unicamente algoritmos rapidos de calculo de laDFT si la secuencia sobre la que se quiere realizar tiene un numero de puntospotencia de 2 (N = 2υ). Estos algoritmos pueden generalizarse para valoresde N 6= 2υ, aunque ya no son tan eficientes. Los pasos a llevar a cabo paraimplementar el algoritmo, en el caso general, serıan los siguientes:

1. Descomponer el numero de puntos en factores primos N = n1 n2 . . . nL.

2. La DFT de N puntos se divide en n1 DFTs de N/n1 combinandolas pormedio de unas operaciones auxiliares.

3. Cada DFT de N/n1 puntos se dividen en n2 DFTs de N/(n1 n2) puntos.

Page 89: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

2.7. La FFT 79

4. El proceso continuarıa hasta tener que implementar DFTs de nL puntos,las cuales habrıa que realizarlas por el metodo directo, por eso interesaque nL sea el factor mas pequeno.

El caso optimo de este algoritmo general serıa que todos los factores fueraniguales e igual, a su vez, al factor primo menor, es decir, n1 = n2 = . . . = nL =2; este serıa el caso visto en secciones anteriores N = 2υ. El caso peor serıaque N fuera un numero primo, ya que entonces no se podrıa descomponer enfactores y habrıa que calcular una DFT de N puntos por el metodo directo.

Vamos a ver un ejemplo que nos ayudara a comprender como se extenderıanestos algoritmos de diezmado en el tiempo al caso general en que N 6= 2υ.

Ejemplo: N = 3γ

Tendremos que realizar 3 DFTs de N/3 puntos.

X[k] =N−1∑n=0

x[n]W k nN

Separando las muestras en las situadas en3,

3 +1 y

3 +2, tenemos5:

X[k] =

N3−1∑

r=0

x[3 r]W 3 r kN +

N3−1∑

r=0

x[3 r + 1]W (3 r+1) kN +

N3−1∑

r=0

x[3 r + 2]W (3 r+2) kN

siendoW 3 r k

N = W r kN3

tenemos finalmente que:

X[k] =

N3−1∑

r=0

x[3 r]W r kN3

+

N3−1∑

r=0

x[3 r + 1]W r kN3

W kN+

N3−1∑

r=0

x[3 r + 2]W r kN3

W 2 kN

(2.22)

En la ecuacion (2.22) puede observarse que

N3−1∑

r=0

x[3 r]W r kN3

,

N3−1∑

r=0

x[3 r + 1]W r kN3

y

N3−1∑

r=0

x[3 r + 2]W r kN3

, son DFTs de N/3 puntos combinadas entre sı por coefi-

cientes exponenciales multiplos de WN . Este proceso debe iterarse hasta obte-ner DFTs simples de 3 puntos. Con esto queda visto que el algoritmo general

5La notacion3 indica multiplos de 3.

Page 90: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

80 CAPıTULO 2. TRANSFORMADA DISCRETA DE FOURIER

conserva la misma idea que los algoritmos de diezmado en el tiempo (idem pa-ra frecuencia) vistos en secciones anteriores para N = 2υ, aunque en nuestroejemplo la base en vez de 2 es 3. Si los factores en los que se descompone Nson diferentes (n1 6= n2 6= . . . 6= nL), la base sera mixta.

2.8. Problemas

1. Demuestre las propiedades de la seccion 2.3.

2. Sea x[n] una senal real de duracion N . Se define la senal x1[n] de lasiguiente forma:

x1[n] =

x[n] 0 ≤ n ≤ N − 1

x[2N − 1− n] N ≤ n ≤ 2N − 1

Dibuje una senal arbitraria de 3 puntos y su correspondiente x1[n]

Si llamamos X1[k] a la DFT de 2N puntos de x1[n], demuestre que:

Cx[k] = ejπk/2N X1[k]

es real.

Encuentre que simetrıas existen en los valores de Cx[k].

Demuestre que se puede obtener x[n] a partir de Cx[k], k =0, . . . , N − 1 e indique como. 6

3. Considere que x[n] sea una senal real y par que sea no nula en el intervalon = −M, . . . , M . Indique de que senal z[n] (no nula de n = 0, . . . , N − 1habrıa de calcularse la DFTN para que los N valores obtenidos consti-tuyan muestras de X(ejω).

4. Demuestre que para una secuencia de N muestras, y su correspondienteDFT de N muestras se cumple:

N−1∑n=0

|x[n]|2 =1N

N−1∑k=0

|X[k]|2

5. Sean dos senales de duracion finita x[n] e y[n] tal que

x[n] =

x[n] si 0 ≤ n ≤ 190 resto

y[n] =

y[n] si 0 ≤ n ≤ 40 resto

6A Cx[k] se le denomina Transformada del coseno.

Page 91: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

2.8. Problemas 81

a) ¿Cual es el maximo numero posible de valores distintos de 0 en elresultado de la convolucion lineal entre x[n] e y[n]? b) La convolucioncircular de 20 puntos de x[n] e y[n] es:

x[n]©20 y[n] = 15 0 ≤ n ≤ 19

Los primeros 4 puntos de la convolucion lineal de x[n] e y[n] son:

x[n] ∗ y[n] = 4 0 ≤ n ≤ 3

Determine el valor del maximo numero posible de puntos de la convolu-cion lineal entre x[n] e y[n].

6. Determine el numero medio de operaciones por muestra en los metodossolape-suma y solape- almacenamiento usando FFTs.

7. Indique como generalizar el metodo de diezmado en frecuencia al casoN = 3ν . Indique cuanto vale el numero de productos complejos en estecaso.

8. Demuestre que una DFT de 4 puntos se puede realizar sin productoscomplejos.

9. Desarrolla hasta la FFT2 el algoritmo de diezmado en frecuencia paraN = 8 de la figura 2.22.

10. Dibuje el diagrama de flujo del algoritmo FFT de diezmado en el tiempocuando N = 9 (ver seccion 2.7.5).¿Cual sera en este caso el orden de losdatos de entrada?. ¿Cuantas operaciones por etapa se realizan? ¿Cuantasoperaciones totales?.

11. Determine el numero de operaciones a realizar para implementar el al-goritmo FFT de diezmado en el tiempo cuando N = aγ siendo a, γ ∈ Z.

Page 92: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

82 CAPıTULO 2. TRANSFORMADA DISCRETA DE FOURIER

Page 93: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

Capıtulo 3

Implementacion de FiltrosDigitales

3.1. Introduccion

En este tema se estudian los filtros digitales desde el punto de vista de suimplementacion. Es decir, partiendo de su funcion de transferencia, H(z), setratan las tecnicas para llevar a la realidad el filtro. Aunque el enfoque del temaes generico en cuanto a la tecnologıa (hardware cableado o programado), enalgunas secciones se tratan aspectos especıficos de dispositivos programablespara tratamiento de senal (DSP).

Tambien se estudian en el tema los efectos de precision finita en filtrosdigitales.

3.1.1. Aplicaciones de los filtros

Los filtros, sean estos digitales o analogicos, tienen un gran numero deaplicaciones. En este punto veremos algunas de ellas que permitan ilustrarbrevemente el gran numero de aplicaciones que poseen los conceptos que seiran estudiando a lo largo del tema.

En casi todas las aplicaciones subyace una de las dos posibles formas deconsiderar un filtro:

En el dominio de la frecuencia: como sabemos, los filtros actuan modifi-cando la amplitud y fase de las componentes sinusoidales de una senal.Recordemos que cualquier senal puede considerarses como suma de si-nusoides a traves de la transformada de Fourier. Este hecho es usado endistintas aplicaciones que veremos a continuacion para:

83

Page 94: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

84 CAPıTULO 3. IMPLEMENTACION DE FILTROS

• Eliminar determinadas componentes espectrales.

• Enfatizar o atenuar algunas componentes espectrales.

• Desfasar de forma distinta las diferentes componentes espectrales

En el dominio del tiempo: en este dominio, como es conocido, la relacionentre la entrada y la salida de un filtro viene dada por la convolucion.Notemos que la convolucion indica que la senal de salida, para un cier-to instante, no es otra cosa que una suma (finita o infinita) de valoresponderados de la entrada en ciertos instantes (normalmente proximos).En funcion de los coeficientes de ponderacion, que dependen de la res-puesta impulsional, encontraremos filtros que realizan un promedio enun determinado intervalo de tiempo, o que buscan las transiciones en elmismo,. . .

Pasemos a continuacion a revisar algunas de las posibles aplicaciones yobservemos como siempre corresponden a una de las dos formas anteriores deconsiderar las senales.

Limitacion del ancho de banda En telecomunicacion, existe muy a me-nudo la necesidad de limitar el ancho de banda de las senales. Algunosejemplos de esta necesidad los encontramos en:

Multiplexado por division en frecuencia. Mediante esta tecnica secomparte un mismo medio fısico para transmitir diversas senales.Para ello se desplaza cada una de las senales mensaje medianteuna portadora a una frecuencia diferente. A cada mensaje se lereserva un cierto ancho de banda. Normalmente, el ancho de bandade las senales mensaje es mayor que el asignado al mismo. Paraevitar que los espectros de los distintos mensajes se solapen se hacenecesario que antes de mezclar los distintos mensajes se asegure quesus espectros no se solaparan. El filtrado se puede realizar tanto enbanda base como en paso-banda, pero en cualquier caso siempreantes de la mezcla de las senales.

Multiplexado por division en tiempo. La idea es tambien transmitirpor un mismo medio fısico diversos mensajes, aunque en este casola forma de realizarlo es mediante la transmision cıclica de mues-tras de los distintos mensajes. Dado que se transmiten muestras, esnecesario que las mismas se hayan obtenido de modo que no existaaliasing. Ello implica la necesidad de que el ancho de banda de lassenales, antes de ser muestreadas, sea menor que la mitad de lafrecuencia de muestreo.

Page 95: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

3.1. Introduccion 85

Separacion de senales multiplexadas en frecuencia Tal y como se aca-ba de mencionar, cuando se multiplexan senales en frecuencia, cada unade ellas ocupa una banda de frecuencias diferente. Para extraer una senales necesario el uso de un filtro que deje pasar la banda de frecuenciasocupada por la misma y atenue el resto. Si se desean obtener todas lassenales sera necesario el uso de banco de filtros.

Controles de tono en audio De todos son conocidos los controles de gra-ves y agudos de los equipos de audio. Estos controles no son otra cosaque filtros cuyas caracterısticas podemos variar mediante un mando, deforma que enfaticemos o atenuemos a voluntad bien las frecuencias altas,bien las bajas.

Ecualizadores de audio Permiten controlar de forma mas flexible la res-puesta en frecuencia. Consisten normalmente en agrupaciones en cas-cada o paralelo de filtros paso-banda centrados en distintas frecuenciasen los que es posible variar su ganancia. Dado que permiten variar in-dividualmente la respuesta en frecuencia en un numero mas grande defrecuencias, permiten un control mas exacto de la respuesta en frecuenciaque los controles de tono.

Interpolacion y diezmado de senales discretas Esta es una aplicaciontıpica de los filtros digitales. Recordemos que la senal debe ser prefil-trada antes de ser diezmada, y cuando se interpola hay que filtrar lasenal tras el relleno por ceros.

Conversion D/A Para eliminar las frecuencias imagen, es necesario el usode un filtro reconstructor tras la conversion D/A.

La anterior relacion no pretende ser exhaustiva y unicamente pretende ilustraralgunas de las aplicaciones mas conocidas de los filtros.

3.1.2. Ventajas e inconvenientes de los filtros digitales

A la hora de plantearse la realizacion de un filtro, hay que realizar unaprimera eleccion en cuanto a si el diseno lo realizaremos de forma analogicao digital. Cada una de estas alternativas presenta ventajas e inconvenientes,siendo mision del ingeniero que realice el diseno decidir la mejor opcion encada caso.

De entre las ventajas de los filtros digitales podemos citar:

Posibilidad de lograr fase lineal exacta.

Page 96: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

86 CAPıTULO 3. IMPLEMENTACION DE FILTROS

Insensibilidad a condiciones externas, especialmente la temperatura. Noprecisan calibracion ni compensaciones.

Posibilidad de filtrar varias senales a la vez. Dado que normalmentese implementan mediante programas en un microprocesador (DSP), esposible filtrar varias senales sin mas que anadir conversores A/D y D/Aextra de modo que se puede rentabilizar el uso del DSP.

Posibilidad de integracion. Dado que existen DSP’s con conversores A/Dy D/A integrados, es posible integrar varios filtros en un unico chip.

Gran margen dinamico. En filtros analogicos es difıcil lograr en la practi-ca atenuaciones mayores de 60–70 dB. En digital el lımite viene impuestopor la calidad de los conversores A/D y D/A y el numero de bits usadosen la aritmetica del DSP.

Repetitividad. Un aspecto importante en la produccion en serie es el sercapaz de realizar cientos o miles de filtros identicos. En el caso de filtrosdigitales esto se logra sin mas que ejecutar el mismo programa en cadaDSP. Con filtros analogicos, y dado que todos los componentes tienenuna cierta tolerancia, esto es difıcil de lograr especialmente si el ordendel filtro es alto.

Posibilidad de reprogramacion. Para cambiar la repuesta en frecuenciadel filtro basta con cambiar el programa que ejecuta el DSP. No sera ne-cesario realizar un nuevo hardware.

Posibilidad de realizar funciones adicionales. Dado que normalmente lacapacidad de calculo del DSP permite disponer de tiempo de sobra pararealizar otras funciones, es posible utilizar este tiempo para realizar cosastales como codificar, controlar, etc.

Posibilidad de uso en muy bajas frecuencias. Los filtros analogicos des-tinados a trabajar en muy bajas frecuencias precisan de capacidades einductancias grandes, lo que normalmente es problematico a la hora dereducir el volumen y el coste. Los filtros digitales, tienen un comporta-miento normalizado con respecto a la frecuencia, es decir, el filtro digitaltrabaja de la misma forma con altas o bajas frecuencias analogicas contal de que su frecuencia digital normalizada sea la misma (recordemosque la frecuencia normalizada depende de la frecuencia de muestreo).

Pasemos a comentar brevemente ahora los inconvenientes y limitacionesfundamentales de los filtros digitales:

Page 97: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

3.2. Planteamiento general del filtrado digital 87

A/D D/Ah[n]- - - -

6 6

x(t)x[n] y[n]

y(t)

fs fs

Figura 3.1: Esquema de filtrado de una senal analogica mediante unfiltro digital.

Calidad del A/D y el D/A. Cuando un filtro digital se usa para filtrarsenales analogicas, (figura 3.1) es necesario un interfaz analogico. Lacalidad en cuanto a numero de bits, linealidad, etc. de los conversores vaa condicionar mucho la calidad del filtrado analogico equivalente que selogre.

Velodidad del A/D y el D/A. Para poder filtrar senales analogicas usan-do filtros digitales ya hemos dicho que se hace necesario un interfazanalogico. En la medida en que se disponga de conversores suficiente-mente rapidos y precisos se podra llevar a cabo el filtrado digital. Ac-tualmente (1998) la tecnologıa ofrece conversores de muy bajo coste yalta calidad en frecuencias de audio (fs ≈ 45 Khz), donde es posibleencontrar conversores de mas de 20 bits. En el margen de frecuenciasde video (fs ≈ 13 Mhz) existen conversores estandar de 8 bits, pero sepueden encontrar de 10 y 12. Existen tambien conversores A/D y D/Apara aplicaciones especiales capaces de trabajar a frecuencias muy eleva-das (con pocos bits). De entre ellos se puede mencionar los que utilizanalgunos osciloscopios digitales con frecuencias de muestreo de 2 Ghz, con6 bits de resolucion.

Efectos de precision finita. Se deben a redondeos en las operaciones querealizan los filtros digitales. Se estudiaran a lo largo del tema.

Tiempo y coste del desarrollo del hardware. Un filtro digital impli-cara normalmente el desarrollo de un sistema microprocesador con in-terfaz analogico.

3.2. Planteamiento general del filtrado digital

Las propiedades que caracterizan totalmente un filtro digital son una delas siguientes:

La respuesta impulsional h[n].

Page 98: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

88 CAPıTULO 3. IMPLEMENTACION DE FILTROS

La respuesta en frecuencia H(ejω).

La funcion de transferencia H(z) mas una region de convergencia (ROC)que suele corresponder a las condiciones de estabilidad y/o causalidad.

Para que un filtro digital sea implementable, se deben dar las siguientes cir-cunstancias:

Causalidad. Este requerimiento solo afecta a los sistemas que funcionanen tiempo real. En aquellos casos en los que el filtro digital opere sobresenales almacenadas previamente, o cuando la variable independienteno sea el tiempo, este requisito no es necesario. No obstante nosostrossupondremos, salvo indicacion en contra, que los filtros seran causales.

Estabilidad. Aunque estrictamente no es necesaria, suele cumplirse siem-pre en los sistemas practicos para evitar que la senal de salida crezcaindefinidamente. Practicamente todos los filtros que estudiaremos seranestables y salvo que se indique lo contrario asumiremos la estabilidad.

Cantidad de almacenamiento finita. Como veremos, un filtro digital cal-cula valores de la salida en funcion de valores anteriores de la entrada yde la propia salida. Para que el filtro no se colapse y pueda seguir fun-cionando por tiempo indefinido, es necesario que la cantidad de valoresa almacenar no crezca con el tiempo.

Cantidad de operaciones por muestra de salida finita. Relacionado conel anterior punto, el numero de operaciones por muestra a realizar debeser finito, es decir, no crecer con el tiempo. Esta condicion (y la an-terior) imponen ciertas limitaciones a la hora de saber que filtros sonimplementables y cuales no.

Los filtros analogicos suelen implementarse con elementos circuitales quedependen de la frecuencia, tıpicamente bobinas, condensadores, lineas de trans-mision, . . . Los diferentes metodos de calculo de la salida y(t) en funcion de laentrada x(t) tienen por tanto un caracter analıtico o de diseno pero nunca deimplementacion.

Por contra, la expresion de la convolucion:

y[n] = x[n] ∗ h[n] =∞∑

k=−∞h[k]x[n− k] (3.1)

sirve no solo para analizar el comportamiento del filtro sino para implemen-tarlo. Ello es debido a que la expresion (3.1) incluye unicamente productos y

Page 99: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

3.2. Planteamiento general del filtrado digital 89

sumas que son realizables en un microprocesador. Si en dicha expresion (3.1)imponemos la causalidad, resulta:

y[n] = x[n] ∗ h[n] =∞∑

k=0

h[k]x[n− k] (3.2)

3.2.1. Implementabilidad de filtros FIR

En el caso en que el filtro a implementar sea FIR, es decir de respuestaimpulsional finita, la expresion (3.2) se convierte en:

y[n] =L∑

k=0

h[k]x[n− k] (3.3)

Es facil ver que para calcular cada valor de la salida y[n] es necesario:

Realizar L + 1 productos.

Realizar L sumas.

Almacenar L valores anteriores de la entrada x[n]

Dado que tanto la cantidad de almacenamiento como el numero de opera-ciones por muestra de salida es finito podemos decir que los filtros FIR sonimplementables, y que la expresion de la convolucion constituye una formadirecta de implementacion. Ya se han estudiado otras formas de implementarfiltros FIR como las vistas en el tema de DFT/FFT. Estas no seran objetode tratamiento aquı. Mas adelante, estudiaremos otras formas de implementarfiltros FIR. Recordemos que la funcion de transferencia de un filtro FIR causales de forma polinomica:

H(z) = h[0] + h[1] z−1 + h[2] z−2 + · · ·+ h[L] z−L (3.4)

en la que se puede observar que los coeficientes de la funcion de transferen-cia (3.4) coinciden con los de la expresion (3.3) de filtrado.

Un aspecto importante que conviene tener presente y en el que luego seinsistira, es que un mismo filtro puede ser implementado de formas diferentes.Podrıa surgirnos la pregunta ¿Que interes puede tener conocer distintas im-plementaciones posibles de un mismo filtro? Si la aritmetica utilizada fuera deprecision infinita, es decir, si dispusieramos de un microprocesador con capa-cidad de manejar tamanos de palabra infinitos, la respuesta a esta preguntaserıa ninguno. Ahora bien, si la aritmetica empleada es de precision finita,puede tener ventajas el uso de una u otra implementacion.

Page 100: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

90 CAPıTULO 3. IMPLEMENTACION DE FILTROS

Cuando el filtro digital se utilice para el filtrado de senales analogicas conla configuracion mostrada en la figura 3.1, las muestras de la entrada seranproporcionadas de forma secuencial al filtro digital. Para que pueda funcionar,el tiempo necesario para realizar los calculos necesarios para calcular un valorde la salida (L + 1 productos y L sumas) debe ser menor que el periodo demuestreo Ts.

3.2.2. Implementabilidad de filtros IIR

En el caso de filtros IIR causales, la ecuacion (3.2) siempre contendra unnumero infinito de terminos y por tanto no sera util a la hora de implementarfiltros. Existen no obstante algunos filtros IIR que permiten ser implementadoscon un numero finito de operaciones por muestra. La clave para que esto resulteposible no es otra que:

Procesar las muestras de salida en orden creciente, es decir, calcular y[n]desde n = −∞ hacia n =∞. Los filtros FIR tambien calculan la salidanormalmente de esta forma, aunque no existe ninguna razon para ello,ya que los distintos valores de y[n] se calculan de forma independiente.

Utilizar valores de la salida calculados previamente, para calcular y[n]

En otras palabras, aquellos filtros IIR que permitan ser expresados como:

y[n] =L∑

k=0

bk x[n− k] +N∑

r=1

ary[n− r] (3.5)

y siempre y cuando los valores de x[n] se vayan teniendo disponibles secuen-cialmente y los de y[n] se tengan que calcular del mismo modo (caso habitual),podran ser implementados con un numero finito de operaciones por muestra.

La funcion de transferencia de los sistemas IIR que se pueden escribir laforma de la ecuacion (3.5) es:

H(z) =b0 + b1 z−1 + · · ·+ bLz−L

1− a1 z−1 − · · · − aNz−N(3.6)

es decir, de forma racional. Este tipo de funciones de transferencia tiene unarespuesta impulsional en forma de suma de exponenciales. Podemos decir portanto que, aquellos sistemas IIR causales cuya respuesta impulsiva sea unasuma de exponenciales seran implementables con un numero finito de opera-ciones por muestra.

Page 101: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

3.2. Planteamiento general del filtrado digital 91

3.2.3. Proceso de implementacion de un filtro digital

En esta seccion veremos cuales son los principales pasos que deberemosseguir desde que decidimos construir un filtro digital hasta que lo tenemosfuncionando.

1. Obtencion de especificaciones. El primer paso de todo diseno consisteen establecer lo que se quiere realizar. Este primer paso no es en abso-luto trivial, pues tiene influencia en el resto de procesos. En concretohabra que tener en cuenta que:

Las especificaciones dependen de la aplicacion.

Las especificaciones pueden venir dadas por normas.

En general, cuanto mas exigentes seamos con las especificacionesmayor sera el coste del diseno.

2. Diseno del filtro. Consiste en obtener los coeficientes de H(z). A estepunto le dedicaremos un tema.

3. Seleccion del hardware. En este punto existen varias opciones:

Hardware dedicado. Se trata de construir un circuito integrado es-pecıfico para realizar este filtrado. Normalmente solo es rentable sise pretenden construir grandes series, y/o si la (alta) frecuencia demuestreo impide el uso de dispositivos programables.

Hardware programable (DSP): Se trata en este caso de usar micro-procesadores especializados para el tratamiento de senal en tiemporeal. Dentro de estos a su vez hay dos alternativas basicas:

• DSP coma fija. Suelen tener un menor coste que los de comaflotante. El consumo es menor, lo que los hace preferibles enaplicaciones portatiles basadas en baterıas. Existen versionescon velocidades mayores de reloj. Como contrapartida el sof-tware es mas costoso de programar, lo que incrementa el costede este aspecto. Un ejemplo tıpico de aplicacion de este tipo deDSP es en los terminales de telefonıa movil GSM.

• DSP coma flotante. Tienen como principal ventaja la menordificultad del desarrollo del software.

La eleccion del DSP a usar debe depender de su capacidad pararealizar las operaciones requeridas por unidad de tiempo (dependedel orden del filtro y de la frecuencia de muestreo), ası como deotros aspectos como la facilidad del desarrollo (disponibilidad deherramientas de diseno), soporte del fabricante, precio unitario,. . .

Page 102: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

92 CAPıTULO 3. IMPLEMENTACION DE FILTROS

4. Eleccion de la estructura del filtro. Una vez elegido el hardware es nece-sario realizar un programa que ante una muestra de la entrada calculeuna muestra de la salida. Existen diversas formas, que veremos mas ade-lante, todas ellas equivalentes con precision infinita en los calculos, paracalcular las muestras de la salida. Cada una de estas formas recibira elnombre de estructura.

5. Analisis de los efectos de precision finita. Sobre todo con los DSP depunto fijo es necesario realizar un estudio de los efectos secundarios quese producen por el hecho de no usar aritmetica de precision infinita.

6. Implementacion del hardware incluyendo interfaz analogico. Sera basi-camente un diseno digital con microprocesador.

7. Implementacion del software. Consiste en programar en el lenguaje ade-cuado la rutina que ante una muestra de la entrada calcula la muestra dela salida. Puede ser desarrollado en lenguajes de alto nivel (normalmenteC) y mediante un compilador generar el codigo. No obstante, sobre todoen disenos crıticos, muchas veces se prefiere la programacion directa enensamblador ya que de esta forma el codigo puede ser optimizado mas.

3.3. Implementacion de filtros digitales

En este apartado supondremos que conocemos los coeficientes de un filtro,y pretendemos implementarlo, es decir, pretendemos realizar algo que dadauna senal cualquiera de entrada x[n] vaya calculando las muestras de la senalfiltrada y[n]. Ası mismo, en esta seccion veremos los efectos de precision finitasobre los filtros digitales.

3.3.1. Diagramas de flujo

Consideremos, por ejemplo, el caso de un sistema IIR causal. La ecua-cion (3.5) que reproducimos a continuacion expresa una forma de implementarel filtrado. En otras palabras, expresa explıcitamente que operaciones hay querealizar para calcular de forma recursiva la salida.

y[n] =L∑

k=0

bk x[n− k] +N∑

r=1

ary[n− r] (3.7)

Resulta util realizar una representacion grafica de las operaciones que ex-presa la ecuacion (3.7). Para ello utilizaremos los denominados diagramas de

Page 103: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

3.3. Implementacion de filtros digitales 93

flujo o grafos. Un diagrama de flujo es una red de ramas dirigidas que in-terconectan nodos. Los nodos corresponden normalmente a variables y tienenasociado un cierto valor. Las ramas son conexiones orientadas que en su origenestan conectadas a un nodo del que toman su valor, y tras aplicarle una ciertaoperacion entregan, a otro nodo, el valor procesado de su entrada. Los tiposde rama que consideraremos en los filtros lineales son:

Constantes multiplicativas El valor de salida de la rama es el de la entradamultiplicado por una cierta constante. Se representa como muestra lafigura 3.2.

-b ba

Figura 3.2: Rama multiplicativa.

Retardo Los valores de los nodos deben ser recalculados cada vez que lle-ga una nueva muestra. Interesa a menudo guardar el valor de un nodopara el instante siguiente. Esto lo haremos con ramas de retardo y lorepresentaremos como se muestra en la figura (3.3).

-b bz−1

Figura 3.3: Rama Retardo.

Conexion La salida de la rama es igual a su entrada. Equivale a una ramamultiplicativa cuya constante vale a = 1. No representaremos el valor dea.

Observemos que en ambos tipos de rama, la etiqueta corresponde con la fun-cion de transferencia de la misma.

En cuanto a los nodos seran los puntos donde confluyan ramas. Distingui-remos los siguientes tipos de nodo:

Nodo fuente A el no entran ramas, unicamente salen. Suele correspondercon generadores o fuentes de senal.

Nodos sumidero De el no salen ramas, unicamente entran. Suelen corres-ponder con la salida de los filtros.

Nodos intermedios Son los que tienen ramas entrantes y salientes. El valordel nodo es la suma de los valores de salida de las ramas que entran. Sihay varias ramas de salida, el valor del nodo es pasado a todas ellas.

Page 104: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

94 CAPıTULO 3. IMPLEMENTACION DE FILTROS

r r r r r rr r r rr r r rr r r rr r r r

- - - --

?

?

?

?

6

6

6

6

6

6

6

6

?

?

?

?

b0

b1

b2

b3

b4

a1

a2

a3

a4

z−1

z−1

z−1

z−1

z−1

z−1

z−1

z−1

-

-

-

-

x[n] y[n]

*

x[n− 1]XXXXy

y[n− 1]

Figura 3.4: Representacion mediante diagrama de flujo de las opera-ciones para implementar un filtro IIR en forma directa I. La figura seha particularizado para L = N = 4.

Una vez definidos los elementos basicos de un grafo, veamos en la figu-ra 3.4 la representacion grafica de la ecuacion (3.7). La misma muestra unadescripcion grafica de las operaciones a realizar cada vez que llega una nuevamuestra de entrada. Los nodos normalmente se asocian con variables en unprograma. Todos los nodos deben actualizar su valor cada vez que llega unanueva muestra de entrada. El nodo marcado con x[n] es un nodo fuente. Elnodo y[n] es un nodo sumidero. Puede observarse tambien las cadenas de ele-mentos retardadores de la entrada y de la salida que permiten almacenar losvalores de instantes anteriores de ambas senales.

3.3.2. Formas directas

La figura 3.4 muestra lo que se conoce como Forma Directa I de un filtroIIR. Se pueden distinguir claramente dos etapas. Como cada una de ellas es unLTI es posible permutarlas. Si ademas, tras la permutacion, se repara en queambas cadenas de retardadores son alimentadas con las mismas muestras, esposible llegar a la estructura que se muestra en la figura 3.5. La misma expresauna forma alternativa de realizar los calculos necesarios para determinar cada

Page 105: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

3.3. Implementacion de filtros digitales 95

r r r r rr r rr r rr r rr r r

- - --

?

?

?

?

6

6

6

6

6

6

6

6

b0

b1

b2

b3

b4

a1

a2

a3

a4

z−1

z−1

z−1

z−1

-

-

-

-

x[n] y[n]

Figura 3.5: Representacion mediante diagrama de flujo de las opera-ciones para implementar un filtro IIR en forma directa II.

muestra de la salida ante una nueva muestra de la entrada. Esta estructurarecibe el nombre de Forma Directa II de un filtro IIR. Tiene como principalventaja el hecho de que como normalmente N = L se precisa la mitad de lamemoria (elementos z−1).

Mediante los diagramas de flujo hemos sido capaces de encontrar dos for-mas distintas de calcular las muestras de salida. Ambas son equivalentes conprecision infinita.

Los diagramas de flujo proponen una implementacion hardware directa delos filtros digitales. Notese que las cadenas de retardadores se pueden imple-mentar con registros de desplazamiento y los sumadores y multiplicadores soncircuitos digitales combinacionales.

Tambien existen dispositivos analogicos de tiempo discreto que utilizanestructuras como las mostradas en las figuras 3.4 y 3.5. Un ejemplo de losmismos son los filtros con tecnologıa CCD empleados en los receptores de TV.

En cuanto a los filtros FIR, la ecuacion (3.3) permite dibujar el grafo dela figura 3.6. Dicha estructura se corresponde con la llamada forma directa deun filtro FIR. Tambien se le suele denominar filtro transversal.

Page 106: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

96 CAPıTULO 3. IMPLEMENTACION DE FILTROS

r r r r r r- - - - -

r r r r r r- - - - -

? ? ? ? ?

x[n]

y[n]

z−1 z−1 z−1 z−1

h[0] h[1] h[2] h[3] h[4]

Figura 3.6: Forma Directa de un filtro FIR.

3.3.3. Realizacion en Cascada

Dada la funcion de transferencia racional de un filtro, es posible factori-zarla:

H(z) =b0 + b1 z−1 + · · ·+ bLz−L

1− a1 z−1 − · · · − aNz−N= b0

L∏k=1

(1− ckz−1)

N∏k=1

(1− dkz−1)

(3.8)

donde ck son los ceros de H(z) y y dk sus polos. Una vez realizada la facto-rizacion, es posible descomponer H(z) como producto (cascada) de seccionesde orden 1 (ceros/polos reales) u orden 2 (ceros /polos complejos agrupadospor pares conjugados). Veamos un ejemplo. Supongamos la siguiente funcionde transferencia:

H(z) =1− 0,8z−1 + 0,37z−2 − 0,05z−3

1 + 0,9z−1 + 0,4z−2 + 0,1z−3=

=(1− 0,6z−1 + 0,25z−2) (1− 0,2z−1)(1 + 0,5z−1) (1 + 0,4z−1 + 0,2z−2)

A traves de esta factorizacion, es inmediata la implementacion que se muestraen la figura 3.7.

Observese que:

En la figura 3.7 las secciones de orden 1 o 2 se han realizado con formasdirectas II. Tambien podrıan haberse realizado con secciones en formadirecta I.

Aunque la relacion entrada-salida es la misma que si se hubiera imple-mentado en forma directa el filtro de orden 3, los calculos intermediosinvolucrados son diferentes.

El orden de las secciones podrıa ser cambiado. La relacion E/S no cam-biarıa pero sı las operaciones internas.

Page 107: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

3.3. Implementacion de filtros digitales 97

La forma de emparejar los ceros y los polos puede cambiar. Es decir,podrıa haber emparejado el cero real con los polos complejos y haberformado ası una de las secciones.

Resumiendo, podemos decir que existen multiples posibilidades de realizacionen cascada todas ellas equivalentes con precision infinita.

Los filtros FIR tambien admiten una realizacion en cascada.

r r r r r r r rr r rr

- - - - - - -

?

-

-

-

?

?

6 6z−1 z−1

z−1

-0.5 -0.2 -0.6

0.25

-0.4

−0,2

x[n] y[n]

Figura 3.7: Realizacion en cascada del ejemplo del texto.

r r r r rr r rr r rr r r

- - --

?

?

?

6

6

6

6

6

6

−0,8

0,37

−0,05

−0,9

−0,4

−0,1

z−1

z−1

z−1

-

-

-

x[n] y[n]

Figura 3.8: Realizacion en forma directa II del ejemplo de la figura 3.7.

Page 108: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

98 CAPıTULO 3. IMPLEMENTACION DE FILTROS

3.3.4. Realizacion en paralelo

Consideremos la funcion de transferencia H(z) de un filtro IIR de coefi-cientes reales:

H(z) =

L∑k=0

bk z−k

1−N∑

n=1

an z−n

(3.9)

En el caso mas general podemos descomponer la anterior expresion como sumade fracciones simples:

H(z) =Np∑k=0

ck z−k +N1∑k=1

Ak

1− dk z−1+

N2∑k=1

Bk(1− ek z−1)(1− fk z−1) (1− f∗k z−1)

(3.10)

donde:

El primer termino solo existe si el grado del numerador de H(z) en z−1

es mayor o igual que el del denominador. En ese caso Np = L−N .

El segundo termino existe unicamente si H(z) tiene polos reales. En esecaso N1 es el numero de polos reales.

El tercer termino existe si H(z) tiene polos complejos. En ese caso N2

es el numero de pares de polos complejos conjugados.

Veamos un ejemplo que solo tiene polos reales:

H(z) =1 + 2 z−1 + z−2

1− 0,75 z−1 + 0,125 z−2= 8 +

181− 0,5z−1

− 251− 0,25z−1

Dado que los filtros FIR no tienen polos, estos no admiten realizacion enparalelo.

3.3.5. Formas transpuestas

Existe un teorema de la teorıa de grafos (cuya demostracion no veremos)que dice:

En sistemas con una entrada y una salida, si se invierte el sentidode todas las ramas de un grafo sin cambiar sus pesos, el sistemaobtenido es equivalente

Page 109: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

3.3. Implementacion de filtros digitales 99

r r r r r r

r rr

r- - - - -

-

- - -

?

?

z−1

z−1

8

18

-25

0.25

0.5

x[n] y[n]

Figura 3.9: Realizacion en paralelo del ejemplo del texto.

Notese que para aplicar el teorema anterior hay que considerar la entrada delnuevo sistema (con las ramas en sentido inverso) en el punto donde el sistemaoriginal tenıa la salida y viceversa.

El anterior teorema puede aplicarse a cualquier grafo: FIR, IIR, cascada,paralelo, . . .

Veamos un ejemplo. En la figura 3.11 vemos como serıa la forma directaII de un filtro cuya funcion de transferencia es:

H(z) =b0 + b1 z−1 + b2z

−2

1− a1 z−1 − a2z−2(3.11)

r r r r rr r rr r r

- - --

?

?6

6

6

6

20,75

−0,25

z−1

z−1

-

-

x[n] y[n]

Figura 3.10: Realizacion en forma directa del ejemplo de realizacionen paralelo de la figura 3.9.

Page 110: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

100 CAPıTULO 3. IMPLEMENTACION DE FILTROS

r r r r rr r rr r r

- - --

?

?6

6

6

6

b0

b1

b2

a1

a2

z−1

z−1

-

-

x[n] y[n]

Figura 3.11: Realizacion en forma directa II de la funcion de transfe-rencia de la ecuacion (3.11).

r r r r rr r r

r

- - - -

-

-

? ?

6

6

z−1

z−1

b0

b1

b2

a1

a2

x[n] y[n]

Figura 3.12: Forma transpuesta de la forma directa II de la funcionde transferencia de la ecuacion (3.11).

Si cambiamos el sentido de todas las ramas, obtenemos el grafo de la figura 3.12correspondiente a la forma transpuesta de la figura 3.5.

Aunque en principio la apariencia de la forma transpuesta es similar a laoriginal, un examen detallado de las ramas permite descubrir que las operacio-nes intermedias realizadas son totalmente distintas en ambos casos. Aunqueno veremos una demostracion del teorema de transposicion de grafos, en laseccion siguiente comprobaremos que la funcion de transferencia H(z) de laforma transpuesta coincide con la original de la ecuacion (3.11).

3.3.6. Determinacion de la funcion de transferencia de un grafo

En esta seccion presentaremos un procedimiento general de analisis de gra-fos que nos permitira determinar su H(z). Para centrar la explicacion utilizare-

Page 111: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

3.3. Implementacion de filtros digitales 101

mos como ejemplo la forma transpuesta de la figura 3.12 de la que calcularemossu funcion de transferencia.

Para analizar un grafo, los pasos a seguir son:

Asignar variables a los distintos nodos. El nodo de la entrada lo llama-remos x, el de la salida y, y al resto vk. Hay que tener presente que:

• si en un nodo entra una sola rama de peso 1, la variable de ese nodosera la misma que la del nodo origen de la rama.

• podemos reducir el numero de nodos si eliminamos aquellos quecorrespondan a sumas parciales.

En el ejemplo analizado, la figura 3.13 muestra los nombres dados a cadanodo.

Dado que el grafo representa las operaciones a realizar por muestra, siconsideramos todos los instantes de tiempo tendremos una secuenciapara cada nodo. El siguiente paso consiste en establecer las relacionesentre (las transformadas Z de) los distintos nodos. Tendremos que plan-tear tantas ecuaciones como nodos intermedios tengamos mas uno (dela salida). En nuestro ejemplo:

y Y (z) = b0 X(z) + V1(z) z−1

v1 V1(z) = b1 X(z) + V2(z) z−1 + a1 Y (z)v2 V2(z) = b2 X(z) + a2 Y (z)

Finalmente, dado que tendremos una ecuacion menos que incognitas (laentrada no tiene ecuacion), solo resta despejar la relacion Y (z)/X(z) =

r r r r rr r r

r

- - - -

-

-

? ?

6

6

z−1

z−1

b0

b1

b2

a1

a2

x y

y

v1

v2

Figura 3.13: Forma transpuesta con variables asignadas a nodos.

Page 112: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

102 CAPıTULO 3. IMPLEMENTACION DE FILTROS

H(z) para obtener la funcion de transferencia. Realizando esto en nuestrocaso se obtiene:

H(z) =Y (z)X(z)

=b0 + b1 z−1 + b2z

−2

1− a1 z−1 − a2z−2

que puede comprobarse que coincide con (3.11) de la forma directa dela figura 3.11.

3.3.7. Secuencia de calculo

Los grafos indican las operaciones a realizar cada vez que llega una nue-va muestra de entrada. En muchas ocasiones, dichas operaciones deben serprogramadas en un lenguaje que realice las operaciones de forma secuencial.En ese caso habra que realizar un programa que implemente exactamente lasoperaciones descritas en el grafo.

El primer paso consiste en asignar a cada nodo una variable. Los programasrealizados tendran el aspecto de una subrutina en el que todas las variablesdeben actualizar sus valores de forma ordenada. Inicialmente, consideraremoslas siguientes reglas a la hora de decidir el orden de actualizacion:

Al comienzo de la subrutina, todas las variables se consideraran del ins-tante n− 1.

Cuando una variable se actualiza pasa a ser del instante n. A la salidade la subrutina todas las variables se consideraran del instante n.

Cuando se suman variables, tienen que corresponder al mismo instante.

Hay que evitar sobreescribir cosas que puedan ser necesarias.

Veremos a continuacion algunos ejemplos para centrar las ideas.

Ejemplo 1: Forma directa II de un filtro IIR

Consideremos la estructura de la figura 3.14 en la que se han se senaladolos nodos. El procesador sobre el que se vaya a implementar el filtrado, enestado normal estara sin hacer nada (IDLE). Supondremos que cuando elA/D digitaliza una nueva muestra se genera una interrupcion. El programaque realmente realiza el filtrado sera una rutina de interrupcion.

Inicialmente se esta en estado de reposo. Este estado suele correspondera un modo de bajo consumo de los DSP. De este estado se sale unicamentecuando se produce una interrupcion (debida a la llegada de una muestra del

Page 113: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

3.3. Implementacion de filtros digitales 103

r r r r rr r rr r r

- - --

?

?6

6

6

6

b0

b1

b2

a1

a2

z−1

z−1

-

-

x y

v0

v1

v2

Figura 3.14: Forma directa II con asignacion de variables a nodos.

VARS x, y, v0, v1, v2

ESPERAR: IDLEGOTO ESPERAR

INTERR:X=INPUT /* Leer muestra de A/D */V2=V1V1=V0V0=X+ A1 V1V0=V0 + A2 V2Y=B0 V0 + B1 V1Y=Y+B2 V2OUT (Y) /*Sacar muestra al D/A */RTI /*Retorno de interrupcion*/

Figura 3.15: Programa en pseudocodigo que implementa la forma di-recta II de la figura 3.14.

A/D). Al llegar la interrupcion se ejecuta la rutina de atencion de la mismay se pasa a ejecutar la siguiente instruccion, que nos devuelve al estado IDLEhasta que llegue una nueva muestra.

El programa que implementarıa los calculos de la figura 3.14 se muestraen la figura 3.15. Existe una primera seccion con la declaracion de las varia-

Page 114: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

104 CAPıTULO 3. IMPLEMENTACION DE FILTROS

bles necesarias, un pequeno programa principal y la rutina de atencion a lainterrupcion que es propiamente lo que nos interesa. Dicha rutina comienzaleyendo la nueva muestra del A/D. A continuacion hemos de actualizar el restode los nodos. Cabrıa preguntarse ¿Por que se comienza por V2? La respuestaserıa: por eliminacion.

Si hubieramos empezado por V1 hubieramos perdido su valor en el ins-tante anterior, que ya no habrıamos podido copiar a V2.

Lo mismo con respecto a empezar por V0.

Y no puede ser calculado al principio pues para ello son necesarios losvalores en el instante actual de V0, V1 y V2.

Por lo tanto el unico orden posible es el que se muestra en la figura 3.15.

Ejemplo 2: Forma directa de un filtro FIR (version 1)

Consideremos ahora la forma directa de un filtro FIR de orden 4 que semuestra en la figura 3.16. En ella ya se han representado las variables queutilizaremos en nuestro programa.

El programa necesario para implementar los calculos que expresa la figu-ra 3.16 se muestra en la figura 3.17. Hay que notar que el orden en que sehan de realizar las operaciones es necesariamente el mostrado, por las mismasrazones que en el ejemplo 1. Se pueden realizar las siguientes observaciones.

Los calculos que se hacen en los filtros suelen ser de la forma Y =Y +A ·B, es decir un producto y una acumulacion (MAC: Multiply andAcumulate). La mayorıa de los DSP comerciales son capaces de realizarestas operaciones en una unica instruccion.

El resto de las operaciones son simples desplazamientos de datos. Noteseque en este caso la cantidad de instrucciones utiles es practicamente lamisma que de desplazamientos (inutiles).

r r r r r r- - - - -

r r r r r r- - - - -

? ? ? ? ?

X

Y

z−1 z−1 z−1 z−1

b0 b1 b2 b3 b4

X V 1 V 2 V 3 V 4

Figura 3.16: Forma directa con variables asignadas a nodos de un filtroFIR.

Page 115: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

3.3. Implementacion de filtros digitales 105

VARS X, Y, V1, V2 ,V3, V4ESPERAR: IDLE

GOTO ESPERARINTERR:

V4=V3V3=V2V2=V1V1=XX=INPUT /* Lee muestra de A/D */Y= B0 XY= Y + B1 V1Y=Y+B2 V2Y=Y+B3 V3Y=Y+B4 V4OUT (Y) /*Saca muestra al D/A */RTI /*Retorno de interrupcion*/

Figura 3.17: Programa en pseudocodigo que implementa la forma di-recta del filtro FIR de la figura 3.16.

Para evitarnos las instrucciones de los desplazamientos, los DSP tienenalguna de las siguientes soluciones:

• Al mismo tiempo que hago el MAC copio uno de los factores auna posicion de memoria correlativa. Llamaremos a esta instruc-cion MACD (MAC con Desplazamiento). Es tıpica de los DSP dela marca Texas Instruments entre otros. En la figura 3.18 se muestracomo deberıa reescribirse el programa para reducir a aproximada-mente la mitad el numero de instrucciones que ejecuta el DSP.Notese que el orden en que se realizan las sumas es el inverso al dela figura 3.17. Esto es necesario para poder utilizar las instruccio-nes MACD. Notese tambien que a diferencia de lo explicado masarriba, cada ciclo de la interrupcion prepara las variables para elinstante siguiente, es decir a la entrada de la rutina de interrupcionlas variables son del instante n y al final de la misma son las delinstante n + 1.

Page 116: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

106 CAPıTULO 3. IMPLEMENTACION DE FILTROS

VARS X, Y, V1, V2 ,V3, V4ESPERAR: IDLE

GOTO ESPERARINTERR:

X=INPUT /* Leer muestra de A/D */Y= B4 V4

Y=Y+B3 V3 /*1a instruccion MACD */V4=V3

Y=Y+B2 V2 /*2a instruccion MACD */V3=V2

Y=Y+B1 V1 /*3a instruccion MACD */V2=V1

Y=Y+B0 X /*4a instruccion MACD */V1=X

OUT (Y) /*Sacar muestra al D/A */RTI /*Retorno de interrupcion*/

Figura 3.18: Programa en pseudocodigo que implementa la forma di-recta del filtro FIR de la figura 3.16 utilizando instrucciones MACD.

• Uso de buffers circulares por hardware. Consiste en no mover lasmuestras, sino variar un puntero. Ejemplos tıpicos de DSP que tie-nen este tipo de recurso son el TMS32050 (Texas Instruments) lafamilia 2100 de Analog Devices entre otros.

Buffers Ciculares

Consisten basicamente en una zona de memoria, a la que se accede con unpuntero. Sobre dicho puntero se pueden realizar operaciones aritmeticas deltipo incremento o decremento con las siguientes particularidades:

Cuando al incrementar el puntero se supera la ultima direccion de me-moria del buffer, automaticamente se apunta a la primera.

Page 117: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

3.3. Implementacion de filtros digitales 107

?

Puntero Muestras

x[n]x[n− 1]

x[n− 2]

x[n−M − 1]x[n−M ]x[n− L]

@@

Buffer Muestras

Buffer Coeficientesb0 b1 bL

6

Puntero Coeficientes

Figura 3.19: Buffer Circular.

Cuando se decrementa el puntero y se supera la primera direccion, au-tomaticamente el puntero apunta a la ultima.

Los DSP que utilizan esta tecnica tienen una arquitectura que permite rea-lizar los incrementos y comprobaciones de si se ha alcanzado el final por har-dware (sin necesitar instrucciones adicionales). El esquema de como se podrıarealizar un filtrado FIR utilizando esta tecnica se muestra en la figura 3.19.Supongamos, por ejemplo, un filtro FIR:

y[n] =L∑

k=0

h[k]x[n− k]

Para calcular un valor de la salida, nos hacen falta la muestra actual x[n] yL muestras anteriores de la entrada. Supondremos que tenemos un buffer deL + 1 elementos que contiene dichas muestras y un puntero que apunta a lamuestra actual.

Cuando llega una nueva muestra:

1. El puntero se incrementa. Ahora apunta a la muestra mas antigua delbuffer

2. Se escribe la nueva muestra en el lugar apuntado por el puntero.

Tras esto, el puntero apunta a la muestra mas reciente. A continuacion, pararealizar los productos y sumas, se realizan L + 1 operaciones, de decrementosobre el puntero de las muestras, y de incremento (circular) sobre el de loscoeficientes, de forma que se va recorriendo las mismas y se van efectuando los

Page 118: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

108 CAPıTULO 3. IMPLEMENTACION DE FILTROS

productos y sumas. Notese que como el buffer es de tamano L+1, si realizamosL+1 incrementos (o decrementos) el puntero tendra la misma posicion al finalque la que tenıa al inicio.

Observese que, dado que ademas, el control de los bucles no consume ciclosde CPU en la mayorıa de DSP, es posible implementar un filtro FIR con unainstruccion por muestra.

3.4. Efectos de precision finita

En esta seccion se estudian los efectos que se producen debido a que losnumeros involucrados en la implementacion de filtros digitales (coeficientes ymuestras) estan cuantificados.

Los efectos de precision finita son normalmente despreciables si se empleaaritmetica de coma flotante. Sin embargo si la aritmetica es de coma fija esnecesario tenerlos presentes. En el resto de esta seccion se presentan los dife-rentes efectos debidos a la precision finita en sistemas con aritmetica de comafija.

3.4.1. Cuantificacion de los coeficientes

Cuando se disena un filtro, se emplean diversos metodos que proporcionanun conjunto de coeficientes bk y ak para numerador y denominador respec-tivamente. A la hora de implementar el filtro, dichos coeficientes deben serintroducidos en un programa y por lo tanto codificados con un numero finitode bits.

H(z) =N(z)D(z)

(3.12)

Si consideramos una forma directa, los coeficientes a introducir en el procesa-dor seran directamente los coeficientes de H(z). Centremonos por ejemplo enel numerador:

N(z) = b0 + b1z−1 + b2z

−2 + · · ·+ bMz−M (3.13)

Si llamamos bk a los coeficientes cuantificados (los que utilizamos realmenteen el DSP):

bk = Q[bk]

y consideramos el polinomio formado por los coeficientes cuantificados

N(z) = b0 + b1z−1 + b2z

−2 + · · ·+ bMz−M (3.14)

es facil darse cuenta que:

Page 119: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

3.4. Efectos de precision finita 109

El hecho de que los coeficientes esten cuantificados cambia la respuestaen frecuencia del filtro. Para ello basta con darse cuenta que la respuestaen frecuencia es el cociente de los polinomios numerador y denominadorparticularizados en z = ejω

Al cuantificar los coeficientes de un polinomio (numerador o denomina-dor), sus raıces cambian de lugar. Si llamamos zj a las raıces, tenemos:

zj = zj + ∆zj

La cuantificacion de los coeficientes en una forma directa afecta de formaindependiente al numerador y al denominador. Es decir, la cuantificacionde los coeficientes del numerador afecta solo a los ceros, mientras que losdel denominador a los polos unicamente.

Mediante un analisis de sensibilidad, se puede llegar a la conclusion de quelo que se mueve una raız, ∆zj , por el hecho de cuantificar los coeficientes delpolinomio:

Es mayor cuantos menos bits se empleen en cuantificar los coeficientes.

Es mayor cuanto mayor es el grado del polinomio. Cuanto mayor es elgrado del polinomio, mas coeficientes se cuantifican, y dado que todoslos coeficientes influyen en cada raız, esta se movera mas.

Es mayor si la raız tiene raıces proximas. Los filtros suelen tener muchospolos proximos si el filtro tiene una respuesta en frecuencia abrupta.

IMPORTANTE: Al cuantificar los coeficientes del denominador de unfiltro IIR puede suceder que alguna raız (polo) se salga de la circunferen-cia unidad. Ello provocarıa que aunque el filtro con los coeficientes sincuantificar sea estable, el filtro de coeficientes cuantificados sea inestable.Esta situacion se dara si tenemos muchos polos y/o estan muy proximosentre sı y/o se usan pocos bits y/o los polos estan muy proximos a lacircunferencia unidad. Si tenemos sospechas de que puede suceder esto,deberemos comprobar siempre la estabilidad del filtro con los coeficientescuantificados.

En la figura 3.20 se muestra un ejemplo correspondiente a un filtro IIR deButterworth, en el que se puede apreciar en la figura (a) el efecto sobre labanda de paso por el hecho de que los coeficientes esten cuantificados y enla figura (b) el efecto sobre la banda atenuada. Notese, que normalmente la

Page 120: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

110 CAPıTULO 3. IMPLEMENTACION DE FILTROS

0 0.25 0.50

1

f

Butterworth-8

Coef sin cuantificarCoef. cuantif. 8 bits

0 0.25 0.5-100

-90

-80

-70

-60

-50

-40

-30

-20

-10

0

f

Butterworth-8

Coef sin cuantificarCoef. cuantif. 8 bits

(a):Escala lineal (b):Escala en dB

Figura 3.20: Efectos en la respuesta en frecuencia de la cuantificacionde los coeficientes.

cuantificacion de los coeficientes empeora la respuesta en frecuencia (mayorrizado en la banda de paso y menor atenuacion en la banda atenuada.

En la figura 3.21 se muestran los polos del mismo filtro de Butterworthcon coeficientes sin cuantificar y cuantificados con 8 bits. Puede apreciarsecomo los polos cambian de ubicacion. Notese como los polos que tienen menospolos cerca (el D y el D’) se mueven menos que aquellos que tienen mas polosproximos (el A y el A’).

Para reducir los efectos de la cuantificacion de los coeficientes interesarıaque:

Los polinomios del numerador y denominador tuvieran un grado pe-queno.

Los polos estuvieran lo mas separados posible.

La forma en cascada, como hemos visto, descompone H(z) como producto desecciones de orden 1 y 2. De esta forma cada coeficiente influye unicamenteen un par de raıces complejas conjugadas. Ademas los coeficientes del deno-minador influyen unicamente en los polos y los del numerador en los ceros. Espor ello que la respuesta en frecuencia de las secciones en cascada se degradamenos que en una forma directa, especialmente si el orden del filtro es altoy/o los polos estan muy proximos.

En cuanto a la forma paralelo, esta descompone H(z) como suma de frac-ciones simples. Cada una de ellas tiene un denominador que corresponde a un

Page 121: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

3.4. Efectos de precision finita 111

Polos Butterworth 8. o: cuantif. 8 bits *: Sin cuantif

0.6

0.9

30

210

60

240

90

270

120

300

150

330

180 0

A

B

C

D

A'

B'

C'

D'

Figura 3.21: Movimiento de los polos de un filtro de Butterworth deorden 8 al cuantificar los coeficientes.

polo real o un par de polos complejos conjugados. Por tanto los coeficientes deldenominador de una fraccion solo influyen en los polos asociados a la misma(lo mismo que en la forma en cascada). Por contra, en la forma paralelo, losceros dependen de todos los coeficientes de los denominadores y todos los delos numeradores. Cabe esperar por tanto que los ceros se muevan mas que enla forma directa.

En general, con respecto a la cuantificacion de los coeficientes, la mejor esla forma en cascada, seguida por la forma en paralelo, y finalmente la formadirecta. Como contrapartida, las formas cascada y paralelo suelen requerir unmayor numero de operaciones por muestra para ser implementadas.

Mallas de raıces en secciones de segundo orden

En la seccion anterior hemos visto que interesa descomponer polinomiosde grados altos en productos de polinomios de grados 1 y 2. Vamos a estudiaren este punto, las raıces de los polinomios de segundo grado con coeficientes

Page 122: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

112 CAPıTULO 3. IMPLEMENTACION DE FILTROS

−1 −0.5 0 0.5 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

16 bits

Figura 3.22: Malla de raıces de una seccion de orden 2 con coeficientescuantificados con 6 bits.

cuantificados. Consideremos un polinomio de grado 2, 1 − a1z−1 − a2z

−2, ysus raıces r e±jθ

1− a1z−1 − a2z

−2 = (1− r ejθz−1)(1− r e−jθz−1)

= 1− 2r cos θz−1 + r2 z−2 (3.15)

Por simple identificacion es facil ver que a1 corresponde con (el doble de) laparte real de la raız mientras que a2 corresponde con el modulo al cuadradode la misma. Si cuantificamos a1 y a2 de forma uniforme, consideramos todaslas posibles combinaciones de valores cuantificados de a1 con cada valor cuan-tificado a2, y realizamos una representacion grafica de las raıces se obtiene lafigura 3.22, denominada malla de raıces. Es posible observar que las raıces nose distribuyen de forma uniforme por el plano z siendo menos densa la rejillaen las proximidades del eje real, y mas densa cerca del eje imaginario. Lospuntos de la rejilla representan el conjunto de las raıces posibles del polino-mio de grado 2 con coeficientes cuantificados. En otras palabras, los filtrosimplementados tendran sus raıces en uno de los puntos marcados. Si el filtroque deseamos realizar tiene sus raıces (ceros o polos) cerca del eje imaginario,no habra problemas, pero si las raıces estan cerca del eje real, como aquı ladensidad es menor, el error que se comete en la ubicacion de las raıces (y portanto en la respuesta en frecuencia) sera mayor.

Page 123: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

3.4. Efectos de precision finita 113

- -

?

?

?

b

z−1

z−1

XXXXXX@@

6−b

HHH

6a

HHH

6a

- s

x[n]

y[n]

a = r cos θ

b = r sen θ

s

s

s

ss s

Figura 3.23: Forma acoplada de una seccion de segundo orden.

Para solucionar el problema de la no-homogeneidad de la malla de raıcessurgen las formas acopladas. Estas no son mas que estructuras, en las quelos coeficientes que intervienen en la misma son la parte real e imaginaria delos polos. Por tanto, cuando se cuantifican los coeficientes uniformemente, seesta cuantificando uniformemente la parte real e imaginaria de los polos. Laforma acoplada se muestra en la figura 3.23. La funcion de transferencia (verproblema 3) de la estructura de la figura 3.23 es:

H(z) =r sin θ z−1

1− 2r cos θ z−1 + r2 z−2(3.16)

Las posibles ubicaciones de los polos al cuantificar uniformemente los coefi-cientes de la forma acoplada se muestra en la figura 3.24. Las formas acopladasson interesantes si tenemos polos cerca del eje real. Tienen el inconveniente derequerir mas operaciones por muestra.

Efectos de la cuantificacion de los coeficientes en filtros FIR

Los filtros FIR resultan interesantes por dos propiedades que tienen:

Son siempre estables.

Si los coeficientes son simetricos tienen fase lineal.

Page 124: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

114 CAPıTULO 3. IMPLEMENTACION DE FILTROS

−1 −0.5 0 0.5 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

16 bits

Figura 3.24: Malla de raıces de una forma acoplada.

Cabrıa preguntarse si por el hecho de que los coeficientes esten cuanti-ficados se pierden estas propiedades. Con respecto a la estabilidad, esta semantiene pues cualquier filtro FIR es estable. Con respecto a la linealidad defase, esta se produce si existe simetrıa en los coeficientes. Notese que por elhecho de cuantificar los coeficientes no se pierde la simetrıa, por lo que la cuan-tificacion de los coeficientes no afecta a la linealidad de la fase de los filtrosFIR.

Por tanto, el unico efecto de la cuantificacion de los coeficientes sera unavariacion en la posicion de los ceros y del modulo de H(ejω).

3.4.2. Cuantificacion de las muestras de entrada

Sea x[n] la secuencia de muestras de entrada a un filtro digital. En la practi-ca dichas muestras estan cuantificadas, es decir toman un conjunto discretode valores posibles. (vease el apartado 1.6)

El efecto de la cuantificacion se puede ver como si las muestras (sin cuan-tificar) antes de entrar en el filtro se hubieran hecho pasar por un sistema nolineal sin memoria cuya relacion entrada salida se muestra en la figura 3.25.

De esta forma, el filtro digital H(z) con muestras de entrada cuantificadas,se puede considerar como si tuvieramos muestras sin cuantificar aplicadas aun sistema no lineal (el cuantificador) seguido del filtro H(z). El analisis del

Page 125: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

3.4. Efectos de precision finita 115

comportamiento del filtro precedido por una no linealidad es complicado. Sise cumple que:

El numero de niveles de cuantificacion es alto.

Entre dos muestras consecutivas, hay muchos niveles de cuantificacionde diferencia.

es posible usar un modelo que simplifica el analisis de los efectos de la cuan-tificacion. Dicho modelo consiste en suponer que la senal cuantificada x[n]es:

x[n] = x[n] + e[n] (3.17)

siendo x[n] las muestras sin cuantificar y e[n] un proceso aleatorio con lassiguientes propiedades:

e[n] es ruido blanco, es decir las muestras de e[n] en diferentes instantesestan estadısticamente incorreladas.

e[n] esta incorrelada con la senal de entrada x[n].

La media de e[n] es nula.

-1.5

-1

-0.5

0

0.5

1

1.5

-1.5 -1 -0.5 0 0.5 1 1.5x

y

Figura 3.25: Relacion entrada salida de un cuantificador.

Page 126: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

116 CAPıTULO 3. IMPLEMENTACION DE FILTROS

Q- - H(z) -x[n]

x[n]

- -

6

+ x[n]

x[n]

e[n]

H(z) -./

Figura 3.26: Modelado de la cuantificacion de las muestras de entradacomo un ruido aditivo a la entrada del filtro.

La varianza (potencia) vale

σ2e =

∆2

12(3.18)

siendo ∆ el tamano del escalon de cuantificacion.

La funcion densidad de probabilidad es uniforme entre −∆/2 y ∆/2.

Por lo tanto a la hora de analizar el efecto de la cuantificacion de las muestrasde entrada en la salida del mismo, supondremos que:

Las muestras de entrada estan sin cuantificar.

Tenemos una segunda senal, el ruido de cuantificacion e[n], a la entradadel filtro y sumada con la anterior.

Como el filtro es un sistema lineal, para determinar la salida determi-nare independientemente la senal a la salida, y la potencia y DEP delruido de cuantificacion tras pasar por el filtro.

En otras palabras, modelaremos el comportamiento de la no linealidad supo-niendo que tenemos un ruido anadido en la salida.

Notese que el uso del modelo de ruido aditivo simplifica notablemente elanalisis. Sin embargo el modelo no es mas que eso, un modelo, que unicamentees valido si se cumplen las hipotesis vistas mas arriba. Es decir, por ejemplo noes posible intentar medir el ruido de cuantificacion anulando las muestras deentrada y observando la potencia de ruido a la salida del filtro, ya que en esecaso los valores cuantificados tambien son cero, y la salida del filtro tambien.

3.4.3. Redondeos en las operaciones

Las operaciones basicas que se realizan para implementar filtros digitalesson productos y sumas. Vamos a ver en este punto como influye el hecho deque los numeros esten representados en coma fija para realizar las operaciones.

Page 127: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

3.4. Efectos de precision finita 117

En sistemas de coma fija, los numeros (coeficientes y muestras) se repre-sentan utilizando B bits de los cuales:

1 bit corresponde al signo.

B− 1 bits corresponden a la mantisa segun un determinado formato. Sesuelen emplear los formatos signo y modulo, complemento a 1 y comple-mento a 2. El mas utilizado es complemento a 2 por una razon que severa mas adelante.

Sea cual sea el formato empleado, se tendran B − 1 bits que denotaremoscomo b0, . . . , bB−2, siendo b0 el bit menos significativo (LSB) y bB−2 el massignificativo (MSB).

Hay dos formas habituales de considerar el numero representado por unconjunto de bits. En la primera forma, el numero representado es un entero:

I =B−2∑k=0

bk 2k (3.19)

En la segunda forma, se considera que el numero representado es un numeromenor que la unidad, que denominaremos fraccionario:

F = bB−2 2−1 + bB−3 2−2 + · · ·+ b0 2−(B−1) (3.20)

En la implementacion de filtros digitales se suele preferir esta segunda formadebido a que el producto de dos numeros fraccionarios (menores que uno) dacomo resultado un numero fraccionario.

Cuando se multiplican dos numeros fraccionarios, el resultado requiere serrepresentado con mas bits. Para entender la afirmacion anterior pensemos ennumeros fraccionarios en base 10, y pongamos un ejemplo en que los factorestienen dos dıgitos:

0,31× 0,47 = 0,1457

Como puede verse, el resultado tiene un tamano de mantisa que es el doblede la de los factores. Si dicho resultado, debe ser almacenado de nuevo condos dıgitos se estarıa cometiendo un error que podra ser por truncamiento oredondeo. Habitualmente en los DSP se redondea el resultado. El redondeo delresultado se suele modelar como una cuantificacion, de forma similar a comovimos en el apartado 3.4.2.

Estrictamente hablando, la cuantificacion representa una no linealidad, loque convierte el filtro implementado en no lineal. Sin embargo, bajo las mismashipotesis que se vieron en el apartado 3.4.2 se puede modelar cada redondeo

Page 128: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

118 CAPıTULO 3. IMPLEMENTACION DE FILTROS

como una fuente de ruido aleatorio que denominaremos ruido de redondeo,con las siguientes caracterısticas:

Es ruido blanco, es decir las muestras del ruido de redondeo en diferentesinstantes estan estadısticamente incorreladas.

El ruido de redondeo esta incorrelado con la senal de entrada x[n].

La media del ruido de redondeo es nula en el caso del redondeo y −∆/2en el caso del truncamiento.

La varianza vale

σ2e =

∆2

12(3.21)

siendo ∆ el tamano del escalon de cuantificacion.

La funcion densidad de probabilidad es uniforme entre −∆/2 y ∆/2 enel caso de redondeo y entre −∆ y cero en el caso de truncamiento.

Los distintos ruidos de redondeo son estadısticamente independientes.

Los diferentes ruidos de redondeo, se propagaran por las ramas del filtromanifestandose a la salida del filtro como un ruido anadido. En la seccion 3.4.3veremos como se calcula dicha potencia de ruido a la salida del filtro.

Con respecto a las sumas, estas no presentan ningun problema en cuanto aerrores de redondeo: la suma de dos numeros con dos decimales es un numerocon dos decimales. Sin embargo, hay que prestar atencion a que la suma dedos numeros menores que la unidad puede ser mayor que la unidad. Este temasera tratado en el punto 3.4.4

Arquitecturas de DSP

Las operaciones producto y suma (acumulacion) constituyen el nucleo delas operaciones a realizar en los filtros digitales; se suelen llevar a cabo enunidades de calculo especializadas de los DSP denominadas MAC (MultiplyAcumulate). Existen dos tipos de arquitecturas basicas que denominaremos deacumulador de simple ancho (o los MAC antiguos) y de acumulador de dobleancho (o MAC modernos). La mayorıa de los DSP actuales corresponden alsegundo tipo, pero dado que aun existen DSP del otro tipo (principalmentedebido a su menor coste), ambos seran tratados aquı.

La figura 3.27 muestra ambos tipos de MAC para un tamano de palabrade B bits.

Page 129: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

3.4. Efectos de precision finita 119

B B

B

+

×-

?

?

?

B B

B mas significativos

BB

Acumulador

Salida al busB

B B

2B

+

×-

?

?

?

B B

2B

2B2B

Acumulador

Salida al busB

(a) (b)

Figura 3.27: Modelos de arquitectura de MAC. (a):MAC con acumu-lador de simple ancho. (b):MAC con acumulador de doble ancho.

En el MAC con acumulador de simple ancho se realiza el redondeo in-mediatamente despues de cada producto.

En el MAC con acumulador de doble ancho el redondeo se realiza cuandoel resultado final es extraıdo del MAC, es decir las acumulaciones serealizan con toda la precision del resultado del producto. El resultado seextrae del MAC para:

• Almacenar su valor para un instante posterior (z−1)

• Cuando el resultado se corresponde con el nodo de salida del filtroy por lo tanto el resultado debe ser enviado al D/A con B bits.

• En implementaciones en cascada y paralelo, cuando el resultadocorresponde a la salida de un bloque de la estructura.1

En la figura 3.28 se muestran las fuentes de ruido para acumulador desimple y doble ancho en una forma directa II. Mientras que con acumuladores

1Existen dos posibles formas de implementar estas estructuras. Una consistirıa en imple-mentar cada una de las secciones independientemente, tomando la salida de una etapa comoentrada de la siguiente. La otra consistente en implementar de forma global la estructura.En este segundo caso es posible realizar implementaciones con menos redondeos a costa deuna mayor complejidad de implementacion, ya que en vez de implementar un bloque basi-co (seccion de segundo orden) y utilizarlo repetidamente hay que hacer una estructura amedida.

Page 130: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

120 CAPıTULO 3. IMPLEMENTACION DE FILTROS

r r r r rr r rr r r

- - - -

6

6

6

6?

?

- -

- -rr?

?

rrr

?

?

?

z−1

z−1

a2

a1

b2

b1

b0

n2

n1

n5

n4

n3 r r r r rr r rr r r

- - - -

6

6

6

6?

?

- -

- -

r r? ?

z−1

z−1

a2

a1

b2

b1

b0

n1 n2

(a) (b)

Figura 3.28: Fuentes de ruido de redondeo en una forma directa II.(a):con acumuladores de simple ancho. (b): con acumuladores de dobleancho

de simple ancho tras cada producto hay un redondeo (una fuente de ruido), conacumulador de doble ancho hay una fuente de ruido cada vez que se terminade hacer productos y acumulaciones. La ventaja de los acumuladores de dobleancho es que reducen el numero de redondeos que se efectuan. Ello hace quela potencia de ruido de redondeo a la salida del filtro sea menor.

Calculo de la potencia de ruido de redondeo a la salida

Acabamos de ver como el redondeo en las operaciones se puede modelarcomo unas fuentes de ruido aditivo. Normalmente, lo que interesa conocer esla potencia de ruido de redondeo a la salida del filtro.

Este ruido es algo similar al ruido introducido por los componentes queprocesan las senales analogicas en los filtros analogicos. La diferencia funda-mental con el caso analogico es que el ruido en los filtros digitales puede hacersearbitrariamente pequeno sin mas que aumentar el numero de bits con que serealizan las operaciones.

Para calcular la potencia de ruido total a la salida del filtro, hay quedeterminar la potencia de ruido de cada una de las fuentes a la salida del filtroy finalmente sumarlas en potencia (debido a que realizamos la hipotesis de quelos diferentes ruidos son procesos aleatorios independientes). En el caso de lafigura 3.28-(b) vemos como el ruido n2 esta directamente en la salida, mientrasque el ruido n1 es como si estuviera a la entrada. Por tanto, dicho ruido n1

se manifiesta a la salida tras ser filtrado por una funcion de transferencia quecoincide en este caso con la H(z) del filtro. Recordemos que si un ruido blanco

Page 131: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

3.4. Efectos de precision finita 121

de potencia σ2 atraviesa un filtro de respuesta impulsional h[n] presentara ala salida del mismo una potencia Pout que vendra dada por:

Pout = σ2∑n

|h[n]|2 (3.22)

Si suponemos que tenemos B bits (incluyendo el signo), la potencia de cadafuente de ruido sera:

σ2 =

(2/2B

)2

12=

2−2B

3(3.23)

Por lo tanto la potencia total de ruido, debida a ambos redondeos, valdrıa enel caso de acumuladores de doble ancho:

Pout =2−2B

3+

2−2B

3

∑n

|h[n]|2 (3.24)

En el caso de acumuladores de simple ancho (figura 3.28-(a)), se deberıadeterminar la funcion de transferencia desde cada una de las fuentes de ruidohasta la salida. Suele ser conveniente, dado que muchas de esas funciones detransferencia son la misma, agrupar las fuentes de ruido en fuentes con mayorpotencia. Ası por ejemplo, las fuentes n1 y n2 podrıan agruparse en una unicafuente de potencia doble en la entrada mientras que n3, n4 y n5 se puedenagrupar en una fuente de ruido de potencia triple a la salida. La potenciatotal de ruido en el caso de acumuladores de simple ancho resulta pues:

Pout = 32−2B

3+ 2

2−2B

3

∑n

|h[n]|2 (3.25)

Para poder agrupar las fuentes, es necesario moverlas. Para ello hay que seguirunas reglas:

Si una fuente inyecta ruido de cuantificacion en un nodo del que solosale una rama cuyo peso es ±1 o z−1, dicha fuente de ruido puede sermovida al nodo destino de dicha rama. En la figura 3.29, consistirıa enmover la fuente de donde esta en a) a b).

Si una fuente inyecta ruido de cuantificacion en un nodo al que llega unarama cuyo peso es ±1 o z−1, y dicha rama es la unica que sale del nodoorigen de la misma, la fuente de ruido puede ser movida al nodo origen.En la figura 3.29, consistirıa en mover la fuente de donde esta en b) aa).

Es importante tener en cuenta que en caso de duda no se debe mover lasfuentes de ruido, ya que no agrupar al maximo las fuentes de ruido unica-mente nos hara realizar mas calculos de los mınimos necesarios, mientras queagruparlas mal provocara que todos los calculos sean erroneos.

Page 132: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

122 CAPıTULO 3. IMPLEMENTACION DE FILTROS

r r

r r

r r

r rr rr rr r

- -- -

@@R

@@R

@@

@@

@@I

@@I

@@

@@

c1 c1

c5 c5

c4 c4

c3 c3

c2 c2

1 1z−1 z−1

a) b)

AAK

n1 n1

Figura 3.29: Movimiento de fuentes de ruido.

Ruido de redondeo en formas en cascada

En las formas en cascada, el ruido de redondeo de una etapa es filtradopor las siguientes. Dicho filtrado puede amplificar o atenuar el ruido. Existiranvarias formas de agrupar ceros y polos. Dependiendo del agrupamiento y elorden, existiran formas mas o menos ruidosas. Aunque no existe una reglauniversal, se ha encontrado una regla empırica para agrupar ceros y polos:

1. Tomar los polos mas cercanos a la circunferencia unidad.

2. Emparejar los anteriores polos con los ceros que tengan mas proximos.

3. Repetir los dos pasos anteriores para el resto de ceros y polos.

Una vez realizado el emparejamiento, se ordenan de una de las dos siguien-tes formas:

Las secciones se ordenan por proximidad de los polos a la circunferenciaunidad.

Las secciones se ordenan por lejanıa de los polos a la circunferenciaunidad.

Productos por coeficientes mayores que uno

En ocasiones, hay filtros que tienen coeficientes mayores que la unidad. Conel formato fraccionario para numeros de coma fija, hemos visto que el mayornumero representable es (ligeramente menor que) la unidad. Las unidades decalculo de los DSP permiten ser configuradas para realizar el producto de unnumero fraccionario por un entero. De este modo para realizar el producto por1.4 hay que realizar dos productos, primero por 0.7 y a continuacion por 2.

Page 133: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

3.4. Efectos de precision finita 123

Los productos por numeros enteros, no introducen ruido de redondeo yaque el producto de un entero por un numero fraccionario no genera nuevosdecimales.

En la figura 3.30-(b) y (c) se muestra un ejemplo de realizacion en formadirecta II, en la que todos los coeficientes son menores que la unidad o enteros.

q q q q qq q qq q q

- - --

?

?6

6

6

6

0,16

0,24

0,18

1,42

−0,80

z−1

z−1

-

-

x[n] y[n]q q q q q

q q qq q q

- - --

?

?6

6

2 6

6

0,16

0,24

0,18

0,71

−0,40

z−1

z−1

-

-

x[n] y[n]

(a) (b)

q q q q qq q qq q q

- - -2

-

?

?6

6

6

6

0,08

0,12

0,09

0,71

−0,40

z−1

z−1

-

-

x[n] y[n]

(c)

Figura 3.30: Implementacion de filtros con coeficientes mayores queuno. (a):Filtro original. (b): Primera forma de hacer que todos loscoeficientes sean menores que uno o enteros. (c): Segunda forma dehacer que los coeficientes sean enteros o menores que uno.

3.4.4. Escalado en sistemas de coma fija

Cuando los valores de los nodos de un filtro se representan en coma fijacaben como hemos visto dos interpretaciones. En la primera los numeros sonenteros (ec. (3.19)) y en la segunda son fraccionarios (ec. (3.20)). Ya vimosque en filtros digitales se suele utilizar mas la segunda.

Page 134: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

124 CAPıTULO 3. IMPLEMENTACION DE FILTROS

Cuando se suman dos de estos numeros fraccionarios, el resultado puede sermayor que la unidad. En este caso se produce una saturacion (overflow) cuyosefectos concretos dependen del DSP concreto. Normalmente lo que sucede encaso de saturacion es:

Se produce una verdadera saturacion: 0,7 + 0,5 = 1

Se obtiene un resultado cıclico: 0,7 + 0,5 = −0,8 (= 1,2− 2)

En ambos casos el resultado es erroneo. Otra posible circunstancia que puedehacernos tener valores mayores que la unidad es cuando multipliquemos unvalor fraccionario por un coeficiente entero (mayor que la unidad).

Ası como el ruido de redondeo es inevitable, la saturacion es evitable. Paraello lo que debe hacerse es garantizar que la senal de entrada es lo suficiente-mente pequena como para que en ningun nodo se supere la amplitud maximaposible.

Para determinar que amplitud maxima debe tener la senal de entradavamos a realizar el siguiente analisis. Supongamos que:

|x[n]| ≤M

Sea hxa[n] la respuesta impulsional desde la entrada del filtro hasta el nodo a.Llamemos ya[n] la senal asociada a dicho nodo.

ya[n] = x[n] ∗ hxa[n] =∑k

hxa[k]x[n− k]

por tanto:

|ya[n]| = |∑k

hxa[k]x[n− k]| ≤∑k

|hxa[k]x[n− k]| ≤M∑k

|hxa[k]|

Si deseo que |ya[n]| sea menor que C debo hacer que:

|x[n]| < M =C∑

k

|hxa[k]|(3.26)

Normalmente C = 1 (senales normalizadas). No obstante, si el valor delnodo va a ser multiplicado por un coeficiente mayor que la unidad, r, debemoshacer que el valor a la entrada de dicho nodo sea menor que C = 1/r.

Si la senal de entrada, esta acotada en el margen |x[n]| < 1, debere preesca-lar la senal de entrada para reducir su amplitud antes de introducirla al filtromultiplicandola por M (M < 1). De esa forma asegurare que la senal a laentrada del filtro tiene la amplitud correcta. El unico efecto del preescalado esuna reduccion de la ganancia del filtro. Dicha ganancia puede ser compensada:

Page 135: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

3.4. Efectos de precision finita 125

- - H(z) -M

|x[n]| < 1 |x1[n]| < M y[n]u u

Figura 3.31: Preescalado para prevenir saturaciones.

De forma analogica, aumentando la ganancia de las etapas que siguen ala salida y[n].

De forma digital, multiplicando por 1/M la salida y[n]

De forma digital modificando algunos coeficientes del filtro. Por ejemplo:

H(z) =b0 + b1 z−1 + · · ·+ bLz−L

1− a1 z−1 − · · · − aNz−N=

= Mb0/M + b1/M z−1 + · · ·+ bL/Mz−L

1− a1 z−1 − · · · − aNz−N

Si tengo varios nodos, debo garantizar la anterior condicion para todos losnodos en que se producen sumas. Ello implica tomar el menor M de los dis-tintos nodos.

Si se utiliza complemento a 2, no sera necesario comprobar aquellos nodosque sean sumas parciales cuyo valor unicamente se sume con otros nodos. Elloes debido a una propiedad de los numeros en complemento a 2 (para masdetalles se pueden consultar libros de electronica digital o fundamentos decomputadores) que dice que:

Si al hacer sumas (y restas) encadenadas de numeros en comple-mento a 2, se producen overflows parciales y se desprecian los bitsde acarreo, el resultado final sera correcto si este no presenta over-flow

Page 136: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

126 CAPıTULO 3. IMPLEMENTACION DE FILTROS

Un ejemplo de lo que queremos decir en base 10 serıa, en el que suponemosnumeros fraccionarios (menores que la unidad):

((0,7 + 0,4)− 0,6)) + 0,3) = 0,8

En calculos en complemento a 2, 0,7 + 0,4 = 0,1 (se desprecia el acarreo), ytras restar 0.6 y sumar 0.3 obtendrıamos el resultado correcto. Esta propiedadno la tienen otro tipo de representaciones numericas como el complemento a1 o signo y mantisa.

En la practica, dado que las estructuras de los filtros contienen retardado-res, muchas veces nos podremos ahorrar comprobaciones sin mas que compro-bar un nodo de la cadena de retardadores.

El criterio dado por la expresion (3.26) es el unico que garantiza totalmentela no saturacion. Sin embargo en muchas ocasiones puede resultar demasiadoconservador. Notese que el ruido de redondeo, es independiente de la amplitudde la senal de entrada, y por tanto, reducir en exceso la amplitud de entradaimplica una disminucion (innecesaria) de la relacion S/N a la salida del filtro.Existen otros criterios, que aunque no garantizan totalmente el que no seproduzca saturacion, sı que lo hace si se cumplen ciertas hipotesis. Si la senalde entrada es un tono de frecuencia ω0 (o una senal de banda estrecha centradaen la misma frecuencia), la condicion que se debe cumplir es:

M <C

|Hxa(ejω0)|(3.27)

tomandose el mınimo M de los distintos nodos. Si se sabe que es un tono perono se conoce la frecuencia del tono, la condicion es:

M <C

maxω |Hxa(ejω)|(3.28)

3.4.5. Ciclos lımite

Cuando las operaciones se realizan con redondeos y saturaciones, los filtroslineales pasan a comportarse como no lineales. Si no se producen saturaciones yel numero de niveles de cuantificacion de diferencia entre muestras consecutivases alto, se puede ignorar el comportamiento no lineal y pasar a modelar lascuantificaciones como ruido aditivo.

Los ciclos lımite son oscilaciones que se producen a la salida de los filtrosIIR cuando la senal de entrada se hace nula. Como se sabe, los filtros IIR causa-les y estables que hemos visto a lo largo del tema, tienen respuestas impulsivasque decrecen de forma exponencial. Ello hace que cuando la entrada del filtro

Page 137: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

3.5. Problemas 127

es cero, la salida tiende a cero de forma exponencial. Sin embargo, cuando lasenal de salida comienza a hacerse pequena, el filtro empieza a comportarse deforma no lineal. La no linealidad combinada con la realimentacion de los filtrosIIR puede producir unas oscilaciones llamadas ciclos lımite. Resumiendo, paraque se puedan producir ciclos lımite debe suceder:

Que el filtro tenga realimentaciones (IIR).

Que el filtro presente un comportamiento no lineal. Esto sucede cuandola amplitud es muy pequena (y la relacion E/S del cuantificador es unaescalera) o cuando la amplitud de salida es muy grande (saturacion).

Existen determinadas estructuras especiales que garantizan que nunca sepuedan producir ciclos lımite, a costa de realizar un mayor numero de opera-ciones por muestra.

3.5. Problemas

1. Determine la longitud maxima de un filtro FIR que se pueda implementarusando un DSP que utiliza buffers circulares y que ejecuta 16 millonesde instrucciones por segundo siendo la frecuencia de muestreo 44.1 Khz.

2. Implemente un programa para realizar los calculos de la forma directaII transpuesta de la figura 3.13.

3. Determinar la funcion de transferencia de la estructura de la figura 3.23y verificar que coincide con la de la ecuacion (3.16).

4. Realizar un programa que permita implementar los calculos para calcularuna muestra de salida cuando llega una de entrada de la estructura dela figura 3.23.

5. Dibuje las fuentes de ruido de redondeo de un filtro IIR de orden 4implementado en forma directa I. Considere los casos de acumuladoresde simple y de doble ancho. Agrupe las fuentes tanto como le sea posibley determine la funcion de transferencia de cada fuente hasta la salida.

6. Indique las fuentes de ruido de cuantificacion en un filtro FIR en formatranspuesta tanto en el caso de acumuladores de simple como de dobleancho.

7. Indique las fuentes de ruido de redondeo en las operaciones en una for-ma acoplada (figura 3.23. Agrupe las fuentes tanto como sea posible.

Page 138: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

128 CAPıTULO 3. IMPLEMENTACION DE FILTROS

Determine la potencia total de ruido de redondeo a la salida. Realice elejercicio para acumuladores de simple y doble ancho.

8. Determinar el numero de posibles realizaciones en cascada para un filtrode orden 2N (todos los polos y los ceros complejos).

9. Considere el filtro:

H(z) =0,0102 + 0,0408 z−1 + 0,0613z−1 + 0,0408z−3 + 0,0102z−4

1− 1,9684 z−1 + 1,7359z−2 − 0,7245z−3 + 0,1204z−4

Se pide (utilizando Matlab para los calculos):

Dibuje las formas directas I y II del anterior filtro.

Determine la amplitud maxima de la entrada en ambos casos paraque no se pueda producir saturacion en caso de senal de entradaarbitraria.

Determine la amplitud maxima de la entrada en ambos casos paraque no se pueda producir saturacion en caso de que la senal deentrada sea un tono.

Suponiendo que se implementa el filtro con un DSP de 16 bits, conacumulador de doble ancho, determine la potencia de ruido a lasalida para las formas directas I y II.

Calcular la relacion S/N maxima a la salida cuando la entrada esun tono para la forma directa I y II.

10. Considere la H(z) del problema anterior.

Factorice (con la ayuda de Matlab) para poder realizar una im-plementacion en cascada.

H(z) = GG1

(1 + b11 z−1 + b21z

−2)

1− a11 z−1 − a21z−2

G2(1 + b12 z−1 + b22z

−2)

1− a12 z−1 − a22z−2

Dibuje todas las posibles realizaciones en cascada. Implemente cadaseccion en forma directa II. Note que tiene dos grados de libertadadicionales, pues puede elegir libremente dos de las variables G, G1

y G2 con tal que:0,0102 = G×G1 ×G2

Elija G lo mayor posible de modo que no se produzca saturacion enningun nodo de la primera seccion. A continuacion G1 para que nose produzca saturacion en la segunda etapa. Considere que la senala la entrada seran tonos de frecuencia arbitraria.

Page 139: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

3.5. Problemas 129

Para cada una de las cuatro posibilidades, determine el ruido deredondeo a la salida si el DSP tiene un tamano de palabra de B = 14bits.

11. Compruebe que las tres estructuras de la figura 3.30 tienen la mismaH(z). Indique las fuentes de ruido de redondeo en las tres si se realiza unaimplementacion en coma fija con DSP de acumulador de doble ancho.

12. Considere la siguiente H(z):

H(z) =0,0102 + 0,0408 z−1 + 0,0613z−1 + 0,0408z−3 + 0,0102z−4

1− 1,9684 z−1 + 1,7359z−2 − 0,7245z−3 + 0,1204z−4

Dibuje la implementacion en forma directa II transpuesta.

Determine la maxima amplitud a la entrada.

Determine la potencia de ruido de redondeo a la salida si el DSPtiene una longitud de palabra de 16 bits y se utilizan acumuladoresde doble ancho. ¿Y para el caso de acumuladores de ancho simple?

Proponga ahora una realizacion en la que todos los coeficientes seanenteros o menores que uno. Indique cuales serıan las fuentes de ruidoahora.

Page 140: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

130 CAPıTULO 3. IMPLEMENTACION DE FILTROS

Page 141: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

Capıtulo 4

Filtros Adaptativos

4.1. Introduccion

Un filtro adaptativo no es mas que un filtro cuyos coeficientes varıan conel tiempo. Lo que los hace especialmente interesantes es que la variacion delos coeficientes es automatica. En otras palabras, disenar un filtro adaptati-vo consistira en determinar la regla de variacion de los coeficientes. El restosera automatico.

Existen dos razones fundamentales para elegir un filtro adaptativo frentea un filtro de coeficientes fijos:

Porque no sepamos que filtro usar a priori.

Porque el filtro optimo que necesitemos, debido a que la senal no seaestacionaria, deba variar con el tiempo.

4.1.1. Ejemplos de sistemas adaptativos

En esta seccion vamos a presentar algunos ejemplos de sistemas adaptativoscon los que estamos familiarizados.

CAG es un circuito usado ampliamente que permite variar su ganancia enfuncion de la amplitud de la senal de entrada. Cuando la senal de entradaes de poca potencia el factor de amplificacion es grande y a la inversa,de modo que la potencia a la salida tiene una amplitud practicamenteindependiente de la amplitud de entrada.

Pupila sistema biologico que regula su apertura en funcion inversa a la luzincidente, de modo que el margen de variacion de energıa luminosa que

131

Page 142: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

132 CAPıTULO 4. FILTROS ADAPTATIVOS

reciben las celulas de la retina sea mucho menor que las variaciones deluminosidad que se pueden encontrar en la naturaleza.

Los ejemplos anteriores son ejemplos sencillos de sistemas que varıan sucomportamiento en funcion de las senales recibidas. En el caso de sistemasartificiales para el filtrado de senales, aunque conceptualmente serıa posiblepensar en sistemas analogicos adaptativos, en la practica unicamente se handesarrollado sistemas adaptativos discretos de cierta complejidad.

4.1.2. Caracterısticas fundamentales de los sistemas adaptati-vos

Las caracterısticas fundamentales de los sistemas adaptativos son:

Automaticamente se adaptan (auto-optimizan) de acuerdo al entornocambiante (no estacionario).

Pueden ser entrenados: pueden aprender como funcionar de forma opti-ma.

No hay metodos de sıntesis de filtros adaptativos, se autodisenan. Loque existen son reglas de aprendizaje (algoritmos de adaptacion).

El estudio se hace considerandolos sistemas no lineales variantes.

Son mas complejos y difıciles de analizar que los sistemas fijos. Su com-portamiento, sin embargo, es mejor ante senales de caracterısticas des-conocidas o variantes. El analisis se suele hacer por simulacion.

4.1.3. Fundamentos de los de sistemas adaptativos

Todos los sistemas adaptativos que veremos, independientemente de suaplicacion responden a un esquema general que se muestra en la figura 4.1. En

Algor. Adapt.

Filtro. Adapt.- -

--

6

d[n]

x[n] y[n]

Figura 4.1: Esquema general de un sistema adaptativo.

Page 143: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

4.2. Aplicaciones 133

dicho esquema, existen dos elementos basicos:

El filtro adaptativo propiamente dicho.

Un algoritmo de adaptacion, que recibe como entradas la senal de en-trada x[n], la salida del filtro y[n] y una senal auxiliar llamada senal dereferencia o senal deseada, d[n].

El algoritmo de adaptacion compara la salida y[n] con la senal de referenciad[n] y trata de calcular los mejores coeficientes del filtro para que y[n] separezca (de forma estadıstica) a d[n].

En los sistemas adaptativos siempre encontraremos un conjunto de senales:

x[n]: Senal de entrada al filtro adaptativo.

y[n]: Senal de salida del filtro adaptativo.

d[n]: Senal de referencia.

e[n] = d[n]− y[n]: Senal error entre la senal de referencia y la salida delfiltro.

Los algoritmos adaptativos tratan normalmente de minimizar algun parame-tro de dicha senal de error, tıpicamente su potencia.

En el resto del capıtulo veremos, en la seccion 4.2, algunas aplicacionestıpicas de los filtros adaptativos. Seguiremos con una aproximacion a la teorıade los filtros optimos. Finalmente presentaremos los algoritmos adaptativosbasados en el gradiente y su implementacion practica, el LMS.

4.2. Ejemplos de aplicacion de sistemas adaptativos

En esta seccion vamos a estudiar algunos ejemplos de aplicacion de lossistemas adaptativos que nos van a ir permitiendo descubrir sus ventajas ylimitaciones.

4.2.1. Identificacion de sistemas

Lo que se hace en esta aplicacion es modelar un sistema lineal desconocido,denominado planta, con un filtro adaptativo. Para ello se aplica una senal tantoa la Planta como al sistema adaptativo y se varıan los coeficientes hasta queel error entre las dos salidas sea mınimo. En ese momento, las respuestasen frecuencia de la planta y del filtro adaptativo seran lo mas parecidas quese pueda. Como del filtro adaptativo se conocen los coeficientes, podremosconocer la respuesta en frecuencia de la planta.

Page 144: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

134 CAPıTULO 4. FILTROS ADAPTATIVOS

Planta???

Filtro. Adapt.

d[n]

x[n]

y[n]-

-

-6

?+

e[n]

Figura 4.2: Identificacion de Sistemas.

4.2.2. Prediccion

En esta aplicacion se trata de predecir valores futuros de la senal de en-trada. Para ello se ensena al sistema adaptativo que coeficientes deberıa tenerpara minimizar el error entre la muestra actual y una prediccion de la mismahecha en base a muestras anteriores de la misma senal de entrada. Los coe-ficientes obtenidos se copian en otro filtro que filtra la senal de entrada sinretardar. Si la senal de entrada es estacionaria, la salida de este segundo filtroes una prediccion de la muestra que esta por venir.

z−1 Filtro Adap.

Coef. Copiados

-- -

-

?

- x[n + 1]

e[n]

d[n]

y[n]

x[n− 1]

x[n]+

?? ?

Figura 4.3: Prediccion lineal.

4.2.3. Cancelacion de ruido

Para entender esta aplicacion fijemos un escenario tıpico donde se pue-de encontrar la misma. Imaginemos un microfono que recoge la voz en un

Page 145: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

4.2. Aplicaciones 135

ambiente ruidoso. Dicho microfono entregara una senal que sera suma de lavoz (s) mas un ruido (n1). Supongamos que situamos otro microfono en elmismo ambiente ruidoso. Dicho microfono captara otro ruido n2 distinto (porestar captado en un lugar diferente) pero correlado con n1. La relacion entreambos ruidos viene dada por un filtrado lineal y supondremos que el segundomicrofono, por su ubicacion, no capta voz. Se supone que la voz esta incorre-lada con el ruido ambiente.

El esquema del origen de las senales se muestra en la figura 4.4. Lassenales que introduciremos a nuestro filtro adaptativo seran las captadas porlos microfonos.

Lo que se hace es introducir un filtrado adaptativo en el canal que tienesolo ruido y, mediante el algoritmo de adaptacion, minimizar la potencia dela senal e. Si el filtro adaptativo tuviera un numero de coeficientes suficiente,tras la adaptacion, el ruido n3 a la salida del filtro adaptativo deberıa ser iguala n1, obteniendo en la salida unicamente voz.

Para entender como funciona, pensemos que el filtro adaptativo unicamentesabe ajustar sus coeficientes de forma que la potencia de la senal e sea lo maspequena posible. Dado que la voz esta incorrelada con el ruido ambiente, launica senal que el filtro puede cancelar es el ruido ambiente que esta correladoen ambas ramas.

Ee2 = E(s + n1 − n3)2 =

= Es2+ E(n1 − n3)2+ 2Es (n1 − n3) =

= Es2+ E(n1 − n3)2

Dado que s2 no depende de los coeficientes del filtro, el error sera mınimocuando:

E(n1 − n3)2 = 0

En la practica hay una serie de consideraciones que conviene tener encuenta.

La primera de ellas es relativa a la causalidad. El filtro adaptativosera necesariamente causal. Ello implica que introducira un cierto re-tardo sobre la senal n2. Para que se pueda producir la cancelacion, lasenal n1 debera estar retrasada con respecto a n2. En caso contrario nose podra lograr la cancelacion.

Es posible que existan componentes de ruido incorreladas en las senalescaptadas por los dos microfonos. En ese caso, el filtro tratara de atenuar

Page 146: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

136 CAPıTULO 4. FILTROS ADAPTATIVOS

Filtro Adap.

H

-

-

-

6

n3

?6

s

nn2

n1

++

e

Salida

s + n1

Senales disponiblescomo entrada

Figura 4.4: Cancelacion de ruido.

dichas componentes de la rama que se filtra. Las componentes incorre-ladas de la rama superior pasaran a la salida, pues para el algoritmoadaptativo son indiscernibles de la senal de voz.

El numero de coeficientes del filtro debe ser suficientemente largo. Sifuera FIR, la duracion de la respuesta impulsional deberıa coincidir o sersuperior a la de H. En caso contrario, no se podra lograr la cancelaciontotal.

4.2.4. Canceladores de eco

En los circuitos internacionales de muy larga distancia, aparecen problemasde ecos producidos en las bobinas hıbridas conversoras de dos a cuatro hilos(figura 4.5). Debido a desadaptaciones de impedancias, parte de la senal B dela figura 4.5 pasa a C (sumada con la senal que procede de E), retornandohasta D. Si la distancia del tramo a cuatro hilos es larga, se producen retardosapreciables en los ecos que resultan muy molestos si superan unas decenas demilisegundos.

La primera solucion que se dio al problema fueron los llamados supresoresde eco. Los mismos se situaban en cada uno de los extremos del circuito a cua-

-

-

A

D

B

C

E

Figura 4.5: Ecos en circuitos vocales de larga distancia.

Page 147: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

4.2. Aplicaciones 137

D.A.?

?

-

Figura 4.6: Supresor de ecos.

tro hilos; consistıan en un circuito detector de actividad que, cuando detectabavoz proveniente del extremo lejano abrıa el circuito hacia el mismo convirtien-do la transmision en semiduplex y suprimiendo con ello el eco (figura 4.6).

Los primeros circuitos supresores analogicos de eco eran del tipo mostradoen la figura 4.6. En ellos se puede ver que en la rama receptora de la partede cuatro hilos de la bobina hıbrida habıa un detector de actividad (DA) desenal remota. Si se detecta senal remota, se abrıa un contacto en el extremotransmisor a cuatro hilos que impedıa el retorno de la senal remota. Estesistema, sin embargo, tiene el inconveniente de que no permite que los dosinterlocutores hablen a la vez, convirtiendo el circuito en semiduplex. Esto, enel caso de las comunicaciones vocales no es grave, pues normalmente, durantelas conversaciones, un interlocutor habla y el otro escucha. Sin embargo, si lalınea telefonica se utiliza para transmitir datos utilizando un modem duplex,esta solucion no sirve.

En los modems duplex tambien existe una separacion de dos a cuatro hilosen el terminal. En este caso no cabe utilizar la tecnica del supresor de ecospues la transmision debe ser duplex. Ademas, debe tenerse presente que lasenal que pasa del extremo transmisor a cuatro hilos al receptor es de muchomayor nivel que la senal recibida del extremo remoto, por lo que, aunque laatenuacion transhıbrida sea grande, la interferencia del transmisor local sobre

6TRX

RCXLinea

Figura 4.7: Interfaz telefonico de un modem.

Page 148: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

138 CAPıTULO 4. FILTROS ADAPTATIVOS

??

?

:A

CB

D

Figura 4.8: Cancelador adaptativo de ecos.

el receptor puede ser elevada. A esta interferencia se la denomina eco local yprovoca un aumento de la tasa de errores que puede llegar a ser inaceptable.

El problema de los ecos puede resolverse con filtros adaptativos permitien-do una comunicacion duplex. La figura 4.8 explica como se pueden emplearfiltros adaptativos para este fin. Lo que se hace es reproducir en el sistemaadaptativo el sistema lineal equivalente que recorre la senal de eco desde larama A receptora hasta la rama B y restar las senales. En este caso tambien,el algoritmo de adaptacion trata de minimizar la potencia de la senal de error.La senal en B se compone de dos terminos, la senal proviniente de D y la senalindeseada A’, que es el resultado de que parte de la senal A pasa a traves de lahıbrida. Suponiendo que la senal recibida y la transmitida estan incorreladas,dado que el filtro adaptativo unicamente contiene en su entrada (A) la senalque origina el eco, el filtro adaptara su respuesta en frecuencia de modo quecancele la senal A’, no viendose afectada la senal procedente de D.

Aunque en principio cabrıa pensar en canceladores fijos, en la practicaesto no se hace ası pues el filtro que hay que poner para lograr la cancelaciondepende de la lınea concreta empleada.

Para finalizar este punto, conviene puntualizar un aspecto practico impor-tante. Aunque teoricamente serıa posible adaptar el filtro durante su funcio-namiento duplex, en la practica no se hace ası por razones que se comentaranmas adelante. Lo que se hace realmente, en el caso de circuitos vocales, esadaptar los coeficientes unicamente durante los periodos en que la senal provi-niente de D (figura 4.8) es nula o muy pequena. La diferencia con el supresorde eco es que durante los periodos de conversacion simultanea de los dos extre-mos, suponiendo que la funcion de transferencia del eco no varıe excesivamenterapido, es posible mantener una conversacion duplex sin ecos. En el caso de losmodems, la solucion consiste en la transmision semiduplex durante un periodode inicializacion de unas senales que permiten adaptar los canceladores. Unavez lograda la adaptacion, el filtro adaptativo deja de adaptarse para pasar acomportarse como un filtro fijo.

Page 149: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

4.2. Aplicaciones 139

4.2.5. Ecualizadores adaptativos

En comunicaciones digitales aparecen dos causas de error: Interferenciaentre sımbolos (ISI) y ruido.

La senal a la entrada de un receptor digital se puede escribir como:

y(t) =∑j

aj p(t− jT ) + r(t) (4.1)

donde ak son los sımbolos transmitidos, r(t) es el ruido, y p(t) es la convolu-cion entre el pulso transmitido, la respuesta impulsiva del canal y el filtro delreceptor. Dicha senal se muestrea en los instantes tk = kT obteniendo:

y(tk) = ak p(0) +∑j 6=k

aj p(kT − jT ) + r(tk) (4.2)

El primer termino de la ecuacion anterior esta relacionado con el sımbolo trans-mitido en el instante tk. El segundo termino es lo que se denomina interferenciaentre sımbolos y el tercero, es el ruido. Esta senal discreta se debe filtrar enrecepcion para minimizar los terminos indeseados, tanto de interferencia entresımbolos como de ruido. El filtro optimo depende del canal concreto empleadopara la transmision (p(t)) y por lo tanto desconocido, ası como de la formadel espectro del ruido aditivo.

La figura 4.9 muestra un ecualizador adaptativo que minimiza el error enlos instantes de muestreo. El conmutador estara en (2) en un primer momento.Durante este tiempo el transmisor genera una secuencia conocida por el re-ceptor y que es la misma que genera Test . El filtro adaptativo modificara suscoeficientes de modo que la senal error (suma de interferencia entre sımbolosy ruido) sea lo mas pequena posible.

Tras la fase de aprendizaje el conmutador esta en (1) y se toma comosenal deseada la propia detectada. Si la probabilidad de error es pequena estosera correcto. Ademas la velocidad de adaptacion debera ser suficientemente

Ec. Adapt. Test- - -

-

21

?

EEE r

+-

Decision Salidaak

dey

Figura 4.9: Ecualizador adaptativo para transmision de datos.

Page 150: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

140 CAPıTULO 4. FILTROS ADAPTATIVOS

lenta como para que un sımbolo erroneo aislado no afecte demasiado y desco-rrija el filtro de un modo irrecuperable.

Si las caracterısticas del canal varıan lentamente, el filtro se adaptara tam-bien, siempre y cuando la variacion sea suficientemente lenta como para quela probabilidad de error no aumente en exceso y el sistema deje de funcionar.

4.2.6. Filtro en hendidura

El objetivo de esta aplicacion es eliminar una componente de frecuenciade una senal.

90o

- -

-

-

-

-6

?

6

+

+

-

e

y

SalidadEntrada

cos ω0t

x

W0

W1

Figura 4.10: Diagrama del filtro en hendidura

Para ello, se introduce en el filtro adaptativo un tono de la frecuencia quese desea eliminar. En este caso, el algoritmo de adaptacion tambien minimizala potencia de la senal de error, y lo hace ajustando la amplitud y la fase deltono a la salida, y, de modo que se cancele con la componente de la mismafrecuencia de la rama d. Una ventaja del sistema es que variando la frecuenciade la senal x puedo variar la frecuencia que se elimina.

4.3. Filtrado Optimo

Una vez vistas algunas de las posibles aplicaciones de los filtros adaptativos,vamos a comenzar en esta seccion el estudio de su funcionamiento. En estepunto estudiaremos como influye en la potencia de la senal error el valor delos coeficientes del filtro adaptativo, y encontraremos el valor de los coeficientesque minimizan dicha potencia.

Page 151: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

4.3. Filtrado Optimo 141

r r r? ?

+

?

?· · ·w0 w1 wL

y

x0 x1 xL

Figura 4.11: Combinador lineal.

4.3.1. El combinador lineal

El combinador lineal es una estructura del tipo mostrado en la figura 4.11.En ella podemos apreciar un vector de entradas xk, cada una de las cuales semultiplica por un coeficiente wk para, a continuacion, sumar el resultado. Sellama combinador lineal porque, para un vector de coeficientes fijo, es lineal.Todas las entradas, pesos y salida varıan con n (tiempo). Durante el procesode adaptacion, si los coeficientes wk dependen de los valores de las entradasxk, el sistema dejara de ser lineal.

Las entradas del combinador lineal, en la aplicacion de filtrado adaptativo,son muestras con diferentes retardos de la senal de entrada x. A esta estructurase la conoce como filtro transversal (FIR). La estructura de un filtro transver-sal (FIR) se muestra en la figura 4.12. En el caso de filtros adaptativos, loscoeficientes dependeran del tiempo.

r r r r r rr r r r r r

- - - -

- - - -

? ? ? ? ?w0 w1 w2 wL−1 wL

z−1 z−1 z−1x[n]

y[n]

Figura 4.12: Filtro Transversal.

Page 152: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

142 CAPıTULO 4. FILTROS ADAPTATIVOS

4.3.2. Notacion matricial

En el filtro transversal de la figura 4.12 podemos expresar la salida y[n] encualquier instante como:

y[n] =L∑

k=0

wk[n]x[n− k] (4.3)

Dicha expresion se puede formular matricialmente de la forma:

y[n] = W T [n]X[n] = XT [n]W [n] (4.4)

donde el producto de matrices esta definido en la forma habitual, W [n] es unvector columna1 que contiene los pesos del combinador lineal:

W T [n] = [w0[n], w1[n], . . . , wL[n]] (4.5)

y X[n] es un vector que contiene muestras de la senal x[n]:

XT [n] = [x[n], x[n− 1], . . . , x[n− L]] (4.6)

4.3.3. Respuesta deseada y error

Los sistemas que vamos a estudiar en estas notas seran todos de lazo ce-rrado. En ellos existen siempre las siguientes senales(figura 4.13):

x[n]: Senal de entrada al filtro adaptativo.

y[n]: Senal de salida del filtro adaptativo.

d[n]: Senal de referencia.

e[n] = d[n]− y[n]: Senal error entre la senal de referencia y la salida delfiltro.

En funcion de la aplicacion concreta (ver seccion 4.2), dichas senales tendranun origen u otro. Sin embargo, en todos los ejemplos de aplicacion vistos, esposible identificar las mismas.

Consideraremos que el filtro adaptativo es un filtro transversal (FIR). Aun-que existen algoritmos adaptativos para filtros IIR, no los consideraremos en

1Los vectores se consideraran siempre vectores columna. Para considerar un vector comofila debera aparecer transpuesto (XT ).

Page 153: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

4.3. Filtrado Optimo 143

Filtro. Adapt.-

-6

?+

e[n]

x[n]

d[n]

y[n]

Figura 4.13: Estructura tıpica de filtrado adaptativo.

estas notas, debido a que se emplean mucho menos, y las estrategias de adap-tacion que siguen son mas complejas.

El objetivo de los algoritmos adaptativos que veremos sera siempre mini-mizar la potencia media de la senal error e[n]. De algun modo, determinaranlos coeficientes del filtro transversal de modo que la senal y[n] se cancele lomas posible con d[n].

4.3.4. Superficie de error

Supongamos inicialmente que x[n] y d[n] son procesos aleatorios estacio-narios. La potencia de la senal e[n] depende de los coeficientes que pongamosen el filtro adaptativo transversal. A la funcion que expresa la potencia de lasenal error en funcion de los coeficientes del filtro la denominaremos Superficiede Error. Supongamos momentaneamente que el vector de pesos del filtro Wno varıa con el tiempo n. La senal de error es:

e[n] = d[n]− y[n] = d[n]−W T X[n] (4.7)

Su potencia instantanea vale:

(e[n])2 = (d[n])2 + W T X[n]XT [n]W − 2 d[n]XT [n]W (4.8)

Tomando esperanzas matematicas en la anterior expresion y teniendo en cuen-ta que el vector de coeficientes W lo hemos fijado (es decir no es aleatorio)resulta:

E(e[n])2 = E(d[n])2+ W T EX[n]XT [n]W − 2 Ed[n]XT [n]W (4.9)

Page 154: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

144 CAPıTULO 4. FILTROS ADAPTATIVOS

A la matriz R = EX[n]XT [n]

se la denomina matriz de autocorrelacion de

la senal de entrada y vale:

R = E

x[n]

x[n− 1]...

x[n− L]

[

x[n] x[n− 1] · · · x[n− L]] (4.10)

R = E

x[n]x[n] x[n]x[n− 1] · · · x[n]x[n− L]

x[n− 1]x[n] x[n− 1]x[n− 1] · · · x[n− 1]x[n− L]...

......

...x[n− L]x[n] x[n− L]x[n− 1] · · · x[n− L]x[n− L]

=

(4.11)

R =

Rx[0] Rx[1] Rx[2] · · · Rx[L]Rx[1] Rx[0] Rx[1] · · · Rx[L− 1]

......

......

...Rx[L] Rx[L− 1] Rx[L− 2] · · · Rx[0]

(4.12)

Analogamente, se define el vector de correlaciones cruzadas entre la entrada yla senal de referencia P = E d[n]X[n]:

P = E d[n]X[n] = E

d[n]

x[n]

x[n− 1]...

x[n− L]

= E

d[n]x[n]

d[n]x[n− 1]...

d[n]x[n− L]

P =

Rdx[0]Rdx[1]

...Rdx[L]

(4.13)

Estamos suponiendo que las senales x[n] y d[n] son estacionarias. En ese casoni la matriz de autocorrelacion R ni el vector de correlaciones cruzadas Pdependen del tiempo2. Usando la matriz de autocorrelacion y el vector decorrelaciones cruzadas es posible escribir la potencia media de la senal erroren funcion de los coeficientes de la siguiente forma:

E(e[n])2 = ξ = E(d[n])2+ W T R W − 2P T W (4.14)

2Aunque al principio del tema se dijo que una de las utilidades de los filtros adaptativosera su uso con senales no estacionarias, supondremos por el momento que las senales deentrada son estacionarias, discutiendo mas adelante que sucede si no lo son.

Page 155: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

4.3. Filtrado Optimo 145

La anterior ecuacion expresa el valor medio de la potencia de la senal error enel caso de que:

Los coeficientes no varıen. En la practica, y dado que el filtro es adap-tativo, lo que sucedera es que un algoritmo de adaptacion tratara deencontrar el valor de los coeficientes W que minimice ξ.

Las senales sean estacionarias. En realidad, en los metodos que veremos,sera suficiente con que las senales tengan una estadıstica que varıe sufi-cientemente despacio como para que el algoritmo de adaptacion puedaconverger correctamente y seguir las variaciones estadısticas de la senal.En el caso de senales no estacionarias lo que sucedera es que la funcionξ ira modificandose lentamente con el tiempo.

La ecuacion (4.14) expresa una funcion que tiene una forma muy peculiardenominada cuadrica. En el caso de dos coeficientes (L = 1) dicha ecuaciones un paraboloide (figura 4.14). Cabrıa la duda de si es un paraboloide conun maximo o con un mınimo. Por reduccion al absurdo es facil ver que debetener un mınimo, porque si no necesariamente existirıan valores de los pesosque harıan que ξ fuese negativo, cosa imposible, pues es un valor cuadraticomedio.

−20−10

010

20

−20

−10

0

10

200

50

100

150

200

250

300

350

w0w1

MS

E

Figura 4.14: Potencia media de la senal error en funcion de los pesosdel filtro transversal para dos coeficientes.

Page 156: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

146 CAPıTULO 4. FILTROS ADAPTATIVOS

Resumiendo pues, la funcion que me indica cual es la potenciamedia de la senal error en funcion de los coeficientes de un filtroFIR es una cuadrica con un unico mınimo local que coincide conel mınimo global.

4.3.5. Gradiente y error cuadratico medio mınimo

Se define el gradiente de una funcion escalar que depende de un vectorcomo:

∇ξ =[

∂ξ

∂w0,

∂ξ

∂w1, . . . ,

∂ξ

∂wL

]T(4.15)

El vector gradiente en un cierto punto tiene las siguientes propiedades:

La direccion es la de maxima pendiente en un punto (crecimiento).

Su modulo es el valor de esa maxima pendiente.

Los mınimos (y maximos) locales de la funcion se corresponden conpuntos de gradiente nulo.

Dado que la funcion valor cuadratico medio de la senal error (ξ) tiene un unicomınimo local, podremos hallar los coeficientes optimos W ∗, es decir los queminimizan la potencia de la senal error, sin mas que calcular el gradiente dela funcion ξ, anularlo y despejar el valor de los peso optimos.

Para calcular el gradiente, tomamos la ecuacion (4.14), calculamos las de-rivadas parciales, y formamos el vector gradiente. Dicho gradiente se puedeexpresar de nuevo en forma matricial del siguiente modo:

∇ξ = 2R W − 2P (4.16)

El error cuadratico medio mımimo se producira cuando los pesos del filtroanulen el gradiente.

∇ξ = 0 = 2R W ∗ − 2P (4.17)

Suponiendo que R sea no singular (es decir, invertible) entonces el vectorde coeficientes optimo, W ∗, vale:

W ∗ = R−1 P (4.18)

Al vector de pesos obtenido de esta forma se le denomina Filtro Optimo deWiener, y representa el mejor conjunto de pesos posible en el sentido de mi-nimizar la potencia de la senal error.

Page 157: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

4.3. Filtrado Optimo 147

Es facil ver cuanto vale ξmın, es decir, el valor de la potencia media cuandolos coeficientes del filtro son los optimos. Tras unas operaciones matricialeselementales, y teniendo en cuenta que la matriz R es simetrica, se llega a:

ξmın = Ed2 − P T W ∗ (4.19)

A partir de las anteriores ecuaciones podemos hacer una serie de comentarios:

Los coeficientes optimos dependen de la estadıstica de las senales deentrada x[n] y d[n]. Por esta razon suele hablarse de filtrado estadıstico.

Si la senal x[n] y la senal d[n] estan incorreladas, el vector P sera nuloy por tanto los pesos optimos (ecuacion 4.18) tambien lo seran.

Si conociera la autocorrelacion de la senal x[n], la correlacion cruzadaentre x[n] y d[n] y ademas las senales fueran estacionarias, podrıa utilizarun filtro fijo con los coeficientes W ∗.

Normalmente la autocorrelacion de la senal de entrada y la correlacioncruzada son desconocidas, por lo que deben ser estimadas a partir de laspropias muestras de las senales para poder determinar W ∗.

El filtro optimo NO anula siempre la senal error; lo que hace siempre esminimizar su potencia.

En el caso de que la matriz R sea singular, se utilizara la pseudoinversapara determinar los pesos optimos. Intuitivamente, lo que sucede, cuandola matriz es singular, es que el paraboloide de la figura 4.14 se degeneraconvirtiendose en un canal. En ese caso existen multitud de vectores Wque presentan la misma potencia de la senal error (todos los del fondodel canal). En ese caso, si se considera la pseudoinversa de la matriz Rlo que se obtiene es el vector de menor norma de los que constituyen elfondo del canal.

Otra posibilidad para encontrar los pesos optimos consiste en realizar unalgoritmo iterativo, en el que nos movamos en direccion contraria al gradiente(es decir, cuesta abajo) con pasos de un tamano proporcional al gradiente.Este se puede escribir tambien como:

∇ξ = 2R (W −W ∗) (4.20)

es decir, el gradiente es proporcional a la distancia entre el vector de pesos Wy el vector de pesos de error cuadratico medio mınimo W ∗. El hecho de que elgradiente sea proporcional a la diferencia entre los pesos y los pesos optimos

Page 158: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

148 CAPıTULO 4. FILTROS ADAPTATIVOS

justifica el hecho de que los pasos de los algoritmos iterativos sean de tamanoproporcional al gradiente. La estrategia de variar los pesos iterativamente endireccion contraria al gradiente es el fundamento del algoritmo adaptativo masutilizado, el LMS, que veremos mas adelante.

4.3.6. Ejemplo de superficie de error

Consideremos un sistema como el de la figura 4.13 con dos coeficientes(L = 1) y supongamos que las senales que se aplican a su entrada son:

d[n] = 2 cos (2πn/N + φ)

x[n] = sen (2πn/N + φ)

siendo φ una variable aleatoria uniforme entre −π y π.Puedo ahora obtener R y P :

R =

[0,5 0,5 cos 2π/N

0,5 cos 2π/N 0,5

](4.21)

P T =[

0 − sen 2π/N]

(4.22)

Ademas Ed2 = 2. Particularizando la ecuacion (4.14) para este caso seobtiene:

ξ = 2 + 0,5(w2

0 + w21

)+ w0 w1 cos

N+ 2 w1 sen

N(4.23)

Los pesos optimos, particularizando en la expresion (4.18), son:

W ∗ =[

2cotg (2π/N) −2cosec (2π/N)]

(4.24)

siendo el valor mınimo de la potencia de la senal error ξmın = 0.La figura 4.15 muestra las curvas de nivel de la superficie de error para

N = 4 y N = 10. En ella es posible apreciar que, en funcion del valor de N , nosolo cambia la posicion del punto mınimo sino que la superficie de error tieneuna forma u otra, pasandose de curvas de nivel de aspecto circular a curvas denivel con un marcado caracter elıptico. Si las curvas de nivel son circulares, elgradiente es el mismo en cualquier punto de la curva de nivel, mientras que sila curva de nivel es elıptica, el gradiente sobre distintos puntos de una mismacurva de nivel varıa de un punto a otro, siendo mayor en las zonas estrechasde la elipse (curvas de nivel mas proximas). Este hecho sera importante en losalgoritmos de gradiente.

Page 159: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

4.4. Algoritmos de gradiente 149

−20 −15 −10 −5 0 5 10 15 20−20

−15

−10

−5

0

5

10

15

20

w0

w1

N=4

−20 −15 −10 −5 0 5 10 15 20−20

−15

−10

−5

0

5

10

15

20

w0

w1

N=10

Figura 4.15: Ejemplo de superficie de error para distintos valores deN . Se indica con ‘∗’ el mınimo de la superficie de error.

4.4. Algoritmos de gradiente

En la seccion anterior hemos visto que la funcion que mide la potencia dela senal error, en funcion del valor de los pesos del filtro FIR, presenta ununico mınimo local que a la vez es el mınimo global de la misma.

Existen procedimientos de adaptacion que estiman la matriz de autocorre-lacion y el vector de correlaciones cruzadas muestra a muestra determinando

Page 160: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

150 CAPıTULO 4. FILTROS ADAPTATIVOS

los pesos optimos mediante la ecuacion (4.18) con las matrices estimadas. Es-tos metodos emplean tecnicas eficientes que evitan el tener que invertir unamatriz cada vez que llega una nueva muestra.

Los procedimientos que vamos a estudiar mas en profundidad son los de-nominados algoritmos de gradiente. Se les llama de este modo porque buscanel vector de pesos optimo de forma recursiva, moviendose pequenos pasos delongitud proporcional al gradiente y en direccion contraria al mismo. El vectorde pesos se actualiza mediante la ecuacion:

W [n + 1] = W [n]− µ∇ξ[n] (4.25)

El parametro µ controla el tamano de los pasos del algoritmo:

Si µ aumenta, la velocidad de convergencia sera mas rapida. Si es exce-sivamente grande, el metodo puede hacerse inestable y diverger en lugarde converger. Ademas, ya veremos que la solucion final alcanzada es masinestable en la practica.

Si µ disminuye, la convergencia se ralentiza pero, a cambio, la solucionfinal es mas estable.

Para analizar el comportamiento del algoritmo, vamos a estudiar inicialmenteel caso unidimensional (L = 0) para pasar luego al caso multidimensional.

4.4.1. Caso Unidimensional

En el caso de un coeficiente, la superficie de error es una simple parabola.Es posible escribir la parabola en funcion del valor del mınimo local:

ξ = ξmın + λ (w − w∗)2 (4.26)

La constante λ controla el ancho de las ramas de la parabola, w∗ la posiciondel mınimo y ξmın la altura del mınimo. El gradiente en este caso es la derivaday vale:

∂ξ

∂w= 2λ (w − w∗) (4.27)

La recursion (4.25) particularizada para nuestro caso de un solo coeficienteresulta:

w[n + 1] = w[n]− 2µλ(w[n]− w∗) (4.28)

Esta ecuacion en diferencias recursiva, tiene por solucion:

w[n] = w∗ + (1− 2µλ)n (w[0]− w∗) (4.29)

Page 161: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

4.4. Algoritmos de gradiente 151

0 5 10 15 20 25 30−1

0

1

2

3

4

5

6

n

w

r=−0.7

r=0.8

Figura 4.16: Formas de convergencia por gradiente en funcion de larazon geometrica r para un coeficiente.

Para que w[n] tienda al optimo w∗, cuando n→∞, debe cumplirse que:

|1− 2µλ| < 1

Al valorr = 1− 2µλ

se le denomina razon geometrica y juega un papel fundamental en la velocidady forma de convergencia:

Si |r| ≥ 1 el proceso iterativo no converge.

Si 0 < r < 1 (0 < µ < 1/2λ) el proceso converge de forma no oscilatoria,tanto mas rapido cuanto mas parecido sea r a cero.

Si−1 < r < 0 (1/2λ < µ < 1/λ) el proceso converge de forma oscilatoria,tanto mas rapido cuanto mas parecido sea r a cero.

Resumiendo, para que el algoritmo converja debe cumplirse:

0 < µ <1λ

En cuanto a ξ tambien decrece de forma exponencial pero como (r2)n, esdecir, de forma no oscilatoria.

Page 162: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

152 CAPıTULO 4. FILTROS ADAPTATIVOS

4.4.2. Caso Multidimensional

En el caso de que el filtro tenga mas de un coeficiente, la superficie deerror deja de ser una parabola para convertirse en un (hiper)paraboloide. Siobservamos la figura 4.15, podemos ver el aspecto que toman las curvas denivel para el caso de dos coeficientes. Es posible realizar un cambio de ejes enla superficie de error de forma que los ejes se alineen con los ejes principales delas elipses de la superficie de error. Dichos ejes coinciden con los autovectoresde la matriz R. Si realizaramos cortes de la superficie de error por los ejesprincipales, obtendrıamos parabolas cuyo λk asociado es el autovalor asociadoal autovector de R correspondiente a la direccion en la que realizamos el corte.Puede demostrarse que la convergencia del vector de pesos es independienteen cada una de las direcciones asociadas a los autovectores, teniendo cada unode estos modos una razon geometrica de adaptacion que vale:

rk = (1− 2µλk) 0 ≤ k ≤ L (4.30)

Para garantizar la convergencia debe cumplirse |rk| < 1 para todos losmodos. Esto implica que:

µ <1

λmax(4.31)

La convergencia se alcanza cuando han convergido todos los modos. La con-vergencia es mas lenta cuanto mas parecido sea |rk| a 1. Esto suele producirsepara λmın. La razon geometrica del modo mas lento, en el caso de tomar µ lomas grande posible para asegurar la convergencia, vale:

r =(

1− 2λmın

λmax

)(4.32)

Si la razon λmax/λmın es grande, el valor de la constante geometrica de laecuacion (4.32) puede ser muy proximo a uno, con lo que la convergencia delalgoritmo del gradiente se hace muy lenta.

La figura 4.17 muestra un ejemplo de convergencia por gradiente. En ellapuede apreciarse como inicialmente el algoritmo converge rapidamente hastauno de los ejes principales del paraboloide. Se puede decir que el modo asociadoal eje mas estrecho del paraboloide (λ mayor) converge rapidamente, peropuede observarse como el modo asociado a la convergencia en el eje mayor delas elipses (λ menor) converge mucho mas lentamente; sera la convergencia deeste modo la que limite la velocidad de convergencia global. Observese tambiencomo, inicialmente, el tamano de los pasos es mayor; mientras que conformenos acercamos al optimo, debido a que el valor del gradiente es menor, se vanacortando.

Page 163: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

4.5. El algoritmo LMS 153

−20 −15 −10 −5 0 5 10 15 20−20

−15

−10

−5

0

5

10

15

20

w0

w1

Figura 4.17: Convergencia de una algoritmo de gradiente.

Resumiendo, podemos decir que:

El autovalor mas grande de R condiciona el valor maximo de µ paragarantizar la estabilidad de la convergencia.

El valor λmax/λmın determina la maxima velocidad de convergencia al-canzable por un algoritmo de gradiente.

4.5. El algoritmo LMS

En la seccion anterior hemos visto una estrategia para encontrar el mınimode la superficie de error consistente en moverse pequenos pasos en direccioncontraria al gradiente. En la practica se dispone de muestras de las senalesd[n] y x[n], pero se desconoce el valor del gradiente.

El algoritmo conocido como LMS (Least Mean Squares) consiste en sus-tituir el gradiente en la ecuacion (4.25) por una estima del mismo obtenida

Page 164: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

154 CAPıTULO 4. FILTROS ADAPTATIVOS

−20 −15 −10 −5 0 5 10 15 20−20

−15

−10

−5

0

5

10

15

20

w0

w1

Figura 4.18: Convergencia de los coeficientes en el algoritmo LMS.

con muestras de las senales. En concreto, para actualizar los pesos, se sigue laecuacion:

W [n + 1] = W [n] + 2µ e[n]X[n] (4.33)

donde la estima del gradiente es:

∇ξ[n] = −2e[n]X[n] (4.34)

Es facil comprobar que la media de la estima del gradiente coincide con elgradiente teorico:

E∇ξ[n]

= E −2e[n]X[n] = E

−2(d[n]−XT [n]W ) X[n]

= 2

(R W − P

)(4.35)

expresion que coincide con el gradiente teorico de la ecuacion (4.16). El hechode que el gradiente no sea mas que una estima hace que el comportamiento delalgoritmo LMS sea similar al de un algoritmo con gradiente en media aunquela trayectoria seguida por los coeficientes sea mas erratica.

En las figuras 4.18, 4.19 y 4.20 se muestra un ejemplo de adaptacion usandoel algoritmo LMS. Las senales usadas son las del ejemplo de la seccion 4.3.6,

Page 165: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

4.5. El algoritmo LMS 155

0 100 200 300 400 500 600 700 800 900 1000−10

−8

−6

−4

−2

0

2

4

6

8

10

n

e[n]

Figura 4.19: Senal error en el algoritmo LMS.

salvo que la senal d[n] tiene anadido un ruido blanco de σ2 = 0,05. Ello influyeunicamente en que la superficie de error tiene el mınimo ligeramente masalto. Recordemos que tenemos dos coeficientes. En la figura 4.18 se muestrala evolucion de los pesos. Puede observarse que es similar a un algoritmo degradiente pero mas erratica.

La figura 4.19 muestra la evolucion temporal de la senal de error. Podemosapreciar como disminuye su amplitud llegando a un punto donde no parecedecrecer mas. En ese momento, el algoritmo habrıa finalizado su adaptacion,y la potencia media de la senal error una vez concluıda la misma, serıa ξmın.

La figura 4.20 muestra la evolucion temporal de los pesos. Podemos apre-ciar como alcanzan un valor en torno a su valor final para luego permaneceroscilantes alrededor del mismo. Ello es debido a lo que se denomina desajustey que se explica mas abajo.

4.5.1. Ejemplo numerico del algoritmo LMS

En esta seccion vamos a dar un ejemplo numerico del proceso de adaptacionde un algoritmo LMS. Como hemos podido ver en la seccion anterior, estealgoritmo es bastante simple, pero es necesario ser cuidadoso a la hora de

Page 166: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

156 CAPıTULO 4. FILTROS ADAPTATIVOS

0 100 200 300 400 500 600 700 800 900 1000−20

−15

−10

−5

0

5

10

n

w0[n] w1[n]

w0

w1

Figura 4.20: Evolucion temporal de los pesos en el algoritmo LMS.

implementarlo. Basicamente hay que realizar una serie de pasos que se repitencada nuevo instante:

Recibir x[n] y d[n].

Actualizar el vector de entradas X.

Calcular la salida y[n] = W T [n]X[n].

Calcular la senal e[n] = d[n]− y[n].

Actualizar los pesos W [n + 1] = W [n] + 2µe[n]X[n]

La tabla 4.1 muestra un fragmento de los anteriores valores en un caso de doscoeficientes, con 2µ = 0,1 .

4.5.2. Aspectos practicos del algoritmo LMS

En los apartados anteriores hemos visto como el algortmo LMS es unaaproximacion a un algoritmo de gradiente que utiliza una estima del mismoconsistente en muestras de la senal de entrada y la senal error. Existen algunasconsideraciones que conviene hacer en la practica debido al hecho de no utilizarel verdadero gradiente.

Page 167: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

4.5. El algoritmo LMS 157

n d[n] x[n] w0[n] w1[n] y[n] e[n]...

......

......

......

-2 1.6 0-1 1.8 0.6 -2 1 -1.2 30 0.6 0.9 -1.82 1 -1.038 1.6381 -0.8 0.9 -1.673 1.0983 -0.517 -0.282...

......

......

......

Cuadro 4.1: Ejemplo numerico de adaptacion LMS.

La primera se refiere al valor maximo que podemos dar a la constantede adaptacion µ. Segun se dijo, su valor deberıa ser menor que la inversadel mayor autovalor de la matriz R. Desgraciadamente, en la practica, noconocemos dicha matriz por lo que resulta imposible calcular sus autovalores.Dado que los autovalores de la matriz de autocorrelacion R son todos positivos,el mayor autovalor sera menor que la suma de todos ellos. Ademas existe unapropiedad de las matrices que dice que la suma de los autovalores coincide conla traza de la misma, siendo la traza la suma de los elementos de la diagonalprincipal. En la matriz R los elementos de la diagonal principal valen todosRx[0], es decir, la potencia de x[n]. Llamando Potx a dicha potencia podemos,pues, encontrar una cota para el valor maximo de µ de forma que se garanticela estabilidad de la convergencia.

µ <1

(L + 1) · Potx(4.36)

En esta expresion intervienen unicamente el numero de coeficientes del filtro yla potencia media de la senal x[n], facilmente estimable. Si la senal x[n] pudieravariar su potencia (es decir, fuera no estacionaria), deberıamos introducir algunmecanismo de monitorizacion de la misma o situarnos en el caso de la maximapotencia esperada, pues en caso contrario, el algoritmo de adaptacion podrıadiverger.

La segunda consideracion se refiere a que el vector

∇ξ[n] = −2 e[n]X[n]

altera los coeficientes en cada nueva muestra. Ello hace que aunque en media elincremento de los pesos una vez alcanzada la adaptadacion sea nulo, estos nodejen de variar si la senal e[n] no tiende a cero. Se podrıa ver el fenomeno comosi nos estuvieramos moviendo por el fondo del paraboloide constantemente.

Page 168: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

158 CAPıTULO 4. FILTROS ADAPTATIVOS

Ello provoca un aumento en la potencia media de la senal error, y variacionesen los pesos de media nula pero varianza distinta de cero.

La varianza de las variaciones de los pesos es proporcional a µ y ξmın. Adicha varianza se le llama desajuste. Se define el exceso de error cuadraticomedio, como la diferencia entre la potencia media de la senal error alcanzableen la practica con el LMS y ξmın. Dicha diferencia, conocida como exceso depotencia de error, tambien es proporcional a µ y ξmın. Ello explica la nece-sidad de que µ no se escoja demasiado grande pensando en la velocidad siξmın 6= 0, ya que, en caso contrario, tendrıamos un exceso de potencia de errorinaceptable.

Esta es la razon por la que cuando estudiamos los canceladores de eco,dijimos que, durante el funcionamiento full duplex, el algoritmo no actualizabasus coeficientes.

4.6. Conclusiones

En este punto revisaremos las principales ideas vistas en el tema:

Los filtros adaptativos constituyen una solucion a problemas de filtradoen muchas situaciones.

Se basan en filtrar una senal x de modo que la salida del filtro y separezca lo mas posible a una senal de referencia d.

El criterio mas empleado es minimizar la potencia de la senal error.

Si el filtro adaptativo es FIR la superficie de error tiene un unico mınimolocal que ademas es el mınimo global.

El algoritmo LMS es, por su sencillez, el mas utilizado.

La constante de adaptacion:

• interesa grande para convergencia rapida.

• interesa pequena para reducir el desajuste.

La estabilidad de la convergencia viene determinada por el autovalormas grande de la matriz de autocorrelacion.

La velocidad de convergencia viene limitada por el cociente λmax/λmın.Si este cociente es grande, la convergencia puede ser muy lenta.

Page 169: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

4.7. Problemas 159

Si la senal es no estacionaria es como si el paraboloide se moviese/deformaselentamente.

Si la potencia de x[n] puede variar con el tiempo, hay que monitorizarlapara evitar que el algoritmo pueda hacerse inestable.

4.7. Problemas

1. Suponga que la matriz de autocorrelacion de la senal de entrada de unafiltro adaptativo que funciona segun el algoritmo LMS es:

R =

[3 22 3

]

a) Comprobar que es una matriz de autocorrelacion valida.

b) Determinar los autovalores y autovectores de R.

c) Dibuje de forma aproximada las curvas de nivel de la funcion errorcuadratico.

d) Determine el valor de µ maximo para que el algoritmo LMS con-verja.

e) Suponiendo W T [0] = [ 0 0 ] y W ∗ = [ 2 −1 ] dibujar de formaaproximada la evolucion de los pesos. (µ = 2/3 µmax)

2. Partiendo de los valores de las tres columnas de la izquierda de la ta-bla 4.1, rellenar el resto de las columnas y comprobar el resultado.

4.7.1. Ejercicios con Matlab

En la direccionhttp://ttt.upv.es/∼aalbiol/librotds

se encuentran los ficheros que hacen falta para realizar estos ejercicios.El programa LMS.M implementa el algoritmo de adaptacion del mismo nom-

bre.

1. En este primer ejercicio comprobaremos una de las aplicaciones de la pre-diccion lineal. En codificacion de senales interesa muchas veces codificarla diferencia entre una senal y una prediccion de la misma. Normalmentela prediccion se hace de forma lineal y en base a muestras anteriores. En

Page 170: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

160 CAPıTULO 4. FILTROS ADAPTATIVOS

el receptor es posible reconstruir la senal original si se recibe el error deprediccion y los coeficientes utilizados para realizar la prediccion.

e[n] = x[n]− x[n] = x[n]− a1 x[n− 1]− · · · − ap x[n− p]

Interesa utilizar unos coeficientes para realizar la prediccion de formaque la potencia del error de prediccion sea mınima. Suponiendo quelas senales a codificar sean senales de voz, y dado que estas son noestacionarias, parece logico que los coeficientes de prediccion optimosdeban ir variando con el tiempo. Una forma de determinar los coeficienteses mediante un filtrado adaptativo de la senal x[n].

En el fichero voz.mat encontrara las senales que necesita. Para ello,ejecute el algoritmo LMS tomando los siguientes valores de entrada:

Senal d[n]: el vector voz.

Senal x[n]: lo mismo retrasado una muestra.

Numero de coeficientes: 10.

Valores iniciales de los coeficientes: todo ceros.

Valor de µ: 0.15 de su valor maximo. Teniendo en cuenta que la senalx es no estacionaria, para estimar su potencia utilice el fragmentoo1 correspondiente a una zona de maxima amplitud y estime suvalor cuadratico medio.

Se pide:

a) Determine la potencia media de la senal voz y de la senal error.

b) Compruebe que los coeficientes varıan lentamente. Represente gra-ficamente la evolucion temporal de los pesos. En una aplicacionde codificacion dichos coeficientes deberıan transmitirse al receptorcomo informacion lateral junto a la senal error de prediccion. Ellosupondrıa una informacion adicional a transmitir, reduciendo deeste modo la eficiencia de la compresion. Una forma de evitar estoconsiste en darse cuenta que los coeficientes varıan lentamente, porlo que pueden transmitirse solo de vez en cuando, realizando unainterpolacion de los mismos en el receptor.

2. En este ejercicio, supondremos que tenemos una configuracion de identi-ficacion de sistemas (figura 4.2). En el fichero IDSIST.MAT encontrara lassenales que necesita. Se ha introducido el vector x como entrada de unsistema planta y se ha obtenido a su salida el vector d. Las muestras delvector x son ruido blanco.

Page 171: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

4.7. Problemas 161

a) Determine el valor de µmax para que el algoritmo LMS converjasuponiendo que el filtro adaptativo tiene 8 coeficientes.

b) Sabiendo que la planta tiene una respuesta impulsional de duracionmenor que 8, encuentre la respuesta en frecuencia de la planta, esdecir, el filtro que aplicando x a su entrada produce d a su salida.Utilice para ello el algoritmo LMS, con un µ de valor 0.1 veces elmaximo. Dibuje la senal error y la evolucion temporal de los pesospara comprobar que el algoritmo ha terminado de converger.

c) Un problema que surge en la practica, es que la senal d[n] tieneanadido un ruido incorrelado. Demuestre que si anadimos un ruidoincorrelado con x[n] a la senal d[n] el unico cambio en la superficiede error consiste en que su valor mınimo ξmın aumenta.

Planta???

Filtro. Adapt.

d

x[n]

y[n]-

-

-6

?

- r[n]

XXXXydn

+

+

e[n]

Figura 4.21: Ruido aditivo a la salida de la planta. El algoritmo adap-tativo no tiene acceso a d[n] sino a dn[n].

d) Vamos a simular lo que sucede cuando la salida de la planta tieneun ruido aditivo incorrelado con la entrada. Genere un vector rde muestras aleatorias gaussianas y varianza 0.01. Genere el vectordn = d + r. Suponiendo que cuando la senal d no tenıa ruido lapotencia de la senal error tras la adaptacion valıa cero, calcule cuales el valor de ξmın en el caso de utilizar dn.

e) Utilice un filtro adaptativo de 8 coeficientes con un valor de µ iguala una decima parte de su valor maximo. y ejecute el algoritmo LMStratando de estimar la respuesta en frecuencia de la planta. Dibujela evolucion temporal de los pesos. ¿Que observa con respecto alcaso en que no tenıamos ruido en la salida de la planta?

f ) Repita el punto anterior pero con un valor de µ igual a 1/5 del valormaximo. Dibuje nuevamente la evolucion temporal de los pesos ycompare que sucede cuando se incrementa µ.

Page 172: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

162 CAPıTULO 4. FILTROS ADAPTATIVOS

g) Considere un margen de muestras de las senales error en los que sehaya producido la adaptacion para ambos casos (µ = 1/10 µmax yµ = 1/5 µmax), por ejemplo entre la 400 y la 900. Calcule la potenciamedia de la senal error para los dos valores de µ en ese intervalo demuestras. Determine el exceso de potencia de error debido a que loscoeficientes siempre estan readaptandose (y por lo tanto nunca enel optimo) en cada caso. Compruebe la relacion de µ con el excesode potencia de error que se vio en teorıa.

h) En los anteriores apartados hemos comprobado la adaptacion cuan-do la senal de entrada x es blanca. En este caso todos los autovaloresson iguales y por lo tanto la convergencia es rapida. En este aparta-do considere la senal x2 (no blanca) que se aplica a la planta paraobtener d2.

Estime los valores de autocorrelacion de la senal x2.Determine los autovalores de la matriz de autocorrelacion ydetermine la dispersion de autovalores.Ejecute el algoritmo LMS y compruebe que no se ha alcanzadola adaptacion. Verifique que la adaptacion es mucho mas lentaque en el caso en que la senal de entrada era blanca.Determine la respuesta en frecuencia de los coeficientes en laultima adaptacion. Comparela con la respuesta en frecuencia dela planta. Compruebe que el error en la respuesta en frecuen-cia no es uniforme en todas las frecuencias. Para determinarla respuesta en frecuencia utilice la funcion freqz() y paracompararlas utilice abs(H1-H2)

Calcule el espectro de la senal de entrada x2 utilizando el pro-grama wosa.m que se encuentra en el servidor de la asignaturaen el directorio anespec.[E, f]=wosa(x2,30,256,10,hamming(30));plot(f,E)

¿Determine la relacion que existe entre el error en la estima dela respuesta en frecuencia y el espectro de la senal de entradaResuma los principales efectos de que la senal de entrada nosea blanca en la identificacion de sistemas.

Page 173: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

Capıtulo 5

Analisis Espectral

5.1. Introduccion

¿Que es el analisis espectral? El analisis espectral de senales no es otra cosaque el tratar de ver las senales de una forma distinta a como se manifiestannormalmente. Concretando un poco mas, las senales que habitualmente mane-jamos se presentan como variaciones de una magnitud fısica (corriente, voltaje,presion acustica, . . . ) en funcion del tiempo. Podrıamos decir, que las senalesse producen de forma natural en el dominio del tiempo. Sin embargo, muchasveces, mirar una senal en su dominio natural (el tiempo generalmente) no ayu-da demasiado a comprender la misma. En muchas ocasiones, descomponer lasenal como suma de sinusoides resulta de gran interes practico. En general,se entendera por analisis espectral en el sentido mas amplio del termino, eldescomponer una senal como suma de una coleccion de senales (ortogonales).En la gran mayorıa de los casos, y es lo que se estudiara en este tema, lassenales en las que descompondremos seran sinusoides. La razon de ello, es quelas sinusoides son autofunciones de los sistemas lineales.

El analisis espectral, resumiendo, sera pues el conjunto de herramientasque permiten considerar las senales desde un punto de vista diferente, cuandoello resulta de interes.

Otra forma de hablar, diferente pero equivalente a la vez, y poco formal,podrıa ser decir que las senales, en su dominio temporal, nos indican la fuerzade la senal a lo largo del tiempo, mientras que en su dominio espectral, lafuerza de la misma para cada frecuencia. De un modo mas tecnico diremosque el analisis espectral nos da la distribucion de energıa (o potencia segun elcaso) por frecuencias, es decir, cuanta energıa (o potencia) tiene la senal encada frecuencia.

163

Page 174: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

164 CAPıTULO 5. ANALISIS ESPECTRAL

5.2. Tipos y tecnologıas de analizadores espectrales

El analisis espectral es una herramienta profusamente utilizada en Teleco-municaciones y un sinfın de otras disciplinas. Existen distintos tipos de anali-zadores espectrales, fundamentalmente en funcion del rango de frecuencias aanalizar y de la aplicacion. Los principales son:

Analizador espectral por banco de filtros.

Analizadores de barrido.

Analizadores digitales.

En las secciones siguientes expondremos los principios de funcionamiento decada uno de ellos ası como algunas de sus aplicaciones mas tıpicas.

5.2.1. Analizadores por banco de filtros

Practicamente todos hemos podido ver los displays que presentan algunosequipos de alta fidelidad, en los que un conjunto de barras indican en cadamomento la amplitud de la senal en la correspondiente banda de frecuencias.Este tipo de presentacion corresponde al resultado de un analisis espectralmediante un banco de filtros.

Consisten en un conjunto de filtros paso-banda (figura 5.1), cada uno delos cuales tiene a su salida un medidor de potencia. Cada canal (salida delfiltro) proporciona una indicacion del comportamiento medio en su correspon-diente banda de paso. Los medidores de potencia consisten basicamente en unelevador al cuadrado seguido de un filtro paso-bajo (figura 5.2). El ancho de

-

-

-

-

-

-

-

-

-

-

H1

H2

HN

Pot1

Pot2

PotN

......

Figura 5.1: Esquema general de analizador espectral por banco de fil-tros.

Page 175: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.2. Tipos y tecnologıas de analizadores espectrales 165

- x2 Hpbk

- -

Potk

Figura 5.2: Esquema de un medidor de potencia de un analizador es-pectral por banco de filtros.

banda de este filtro paso-bajo es el responsable de que la salida de cada canalsea mas o menos fluctuante. El criterio para fijar el ancho de banda de estosfiltros paso bajo es:

Para senales estacionarias interesarıa anchos de banda pequenos. Elloimplicarıa retardos de grupo altos (desfase entre lo que se oye y lo quese mide). Esto no obstante, no serıa ningun problema para senales esta-cionarias, pues por definicion de estacionariedad el contenido espectralde la misma no varıa con el tiempo.

Para senales dinamicas interesarıa anchos de banda grandes, para que lasrespectivas salidas pudieran seguir la evolucion temporal de las senalesen los diferentes canales. El problema que presentarıa tomar anchos debanda excesivamente grandes, serıa lo fluctuante que resultarıa la estimaespectral. Esto se comprendera mejor al final del tema.

En la practica, los equipos profesionales de medida suelen tener anchos debanda normalizados dependientes del ancho de la banda analizada.

La utilidad (teorica al menos) de dichos displays no es distraernos la vistamientras escuchamos la musica (aunque para la gran mayorıa sı lo sea), sinopermitirnos ecualizar la sala de audicion de forma que todas las frecuenciassuenen igual si originalmente son iguales. Para ello, se debe disponer de unafuente de senal cuyo contenido en frecuencia se conozca, se reproduce a travesdel equipo de audio y se analiza espectralmente (mediante el banco de filtros)la senal captada en un microfono (calibrado). Actuando sobre los mandos delecualizador del equipo es posible compensar los distintos niveles de amplifi-cacion de la senal acustica debidos a no idealidades de altavoces, distintasabsorciones acusticas de los materiales del recinto,. . .

Este tipo de analizadores es valido cuando el numero de canales espec-trales deseado no es excesivamente grande ni se requiere una gran resolucionespectral. Pueden implementarse de forma analogica (operacionales, bobinas,

Page 176: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

166 CAPıTULO 5. ANALISIS ESPECTRAL

condensadores, . . . ) o digital (digitalizando la senal e implementando los fil-tros digitalmente). Presentan la ventaja de que se hace un analisis espectralsimultaneo de todas las frecuencias.

5.2.2. Analizadores de barrido

Mientras que los analizadores de banco de filtros, presentan la importanteventaja de realizar un analisis espectral en paralelo (todas las frecuencias ala vez), tienen el inconveniente de que cuando los anchos de banda a analizarson grandes y/o los anchos de banda de los canales son pequenos, el numerode filtros necesarios se dispara, y con ello la complejidad y el coste. Para ellosurgen los analizadores espectrales de barrido. Su diagrama general se muestraen la figura 5.3.

El sistema consta de un oscilador local, un mezclador (multiplicador), unfiltro llamado de frecuencia intermedia o predeteccion, y un medidor de po-tencia analogo a los vistos en los analizadores por banco de filtros (elevador alcuadrado y filtro paso-bajo o de postdeteccion).

Supongamos que inicialmente, la frecuencia del oscilador local es fija. Cuan-do se multiplica un tono por otro, como se sabe, aparecen las frecuencias sumay resta de las originales con la frecuencia del oscilador local. Si a la entradatenemos una senal de frecuencia f1 = f0 − fOL al batirse con el oscilador lo-cal obtendremos dos terminos, uno en f0 y otro en |f0 − 2fOL|. El filtro defrecuencia intermedia se encargara de rechazar el termino de |f0 − 2fOL|. Sia la entrada tenemos la frecuencia f2 = f0 + fOL, tras el mezclador tambienobtendremos un termino en f0. Supongamos que la senal de entrada ha si-do filtrada de modo que solo una de las dos frecuencias (f1 por fijar ideas)esta presente en la entrada del analizador (este filtrado se denomina rechazode frecuencia imagen y esta presente en todos los sistemas superheterodinos).Si f0 es una frecuencia generica de la banda de paso del filtro de frecuenciaintermedia, resultara que para una cierta frecuencia del oscilador local, unacierta banda de la senal de entrada (f1) coincidira con la banda de paso delfiltro de frecuencia intermedia. Es facil darse cuenta que el sistema mide la

- - - - -

6

HFI x2 Hpb×

OL

Figura 5.3: Esquema de un analizador de espectros de barrido.

Page 177: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.3. Planteamiento del problema 167

potencia en la banda de frecuencias que al mezclarse con el oscilador local vaa caer en la banda de paso del filtro de frecuencia intermedia.

Variando la frecuencia del oscilador local, es posible variar la banda defrecuencias de la senal original que se correspondera con la banda de pasodel filtro de frecuencia intermedia. Esto permite un analisis secuencial de lasdistintas bandas de frecuencia. En la practica, la velocidad de cambio de lafrecuencia del oscilador local no puede ser demasiado elevada, lo que llevaa que puedan ser necesarios tiempos de medida grandes si se desea analizaramplias bandas de frecuencia.

Fijemonos que, en este caso, tambien se mide la distribucion de potenciade la senal en distintas frecuencias, pero esta vez de modo secuencial, con loque si la senal no es estacionaria y el tiempo de medida es demasiado largo,pueden presentarse resultados erroneos.

Este tipo de analizadores se emplea sobre todo en radio-frecuencia. Encuanto a la tecnologıa empleada suele ser analogica hasta el filtro de frecuenciaintermedia inclusive y analogica o digital, segun modelos de equipos, a partirde dicho filtro.

Algunas de entre las muchas aplicaciones de este tipo de analizadorespodrıan ser el analisis de ocupaciones de canales de RF (en un sistema deTV cable o en el aire), o el analisis de emisiones parasitas de cualquier equipoelectronico (medidas EMI).

5.2.3. Analizadores digitales

Van a constituir el resto del tema. En este punto, solo diremos que lassenales a analizar son digitalizadas, y se analizan mediante distintos proce-dimientos las muestras obtenidas. Son los metodos mas potentes que existenpor la complejidad de los procedimientos implementables. Su unica limita-cion practica esta en la disponibilidad/calidad de los convertidores de datos(A/D) y en el ancho de banda de la senal (numero de muestras por segundoa procesar).

5.3. Planteamiento del problema del analisis espectral

En esta seccion vamos a centrar un poco mas el problema que pretendemosresolver mediante el analisis espectral. En general, podemos hablar de unaserie de tipos de senales que podemos estar interesados en analizar. En lossiguientes apartados iremos viendo para cada uno de estos tipos que es lo quepretendemos obtener analizando espectralmente, y los posibles problemas.

Page 178: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

168 CAPıTULO 5. ANALISIS ESPECTRAL

5.3.1. Senales deterministas de duracion limitada

Este tipo de senales es el que ofrece conceptualmente menos problemas.La herramienta a utilizar sera la transformada de Fourier, y en la practicala FFT. Ello es posible porque la FFT recibe como entrada un vector demuestras de duracion limitada, y proporciona como resultado un vector demuestras espectrales. Si se desea una mayor finura de muestreo espectral,siempre podremos anadir ceros al final de las muestras antes de calcular laFFT.

Si se eleva al cuadrado el modulo de la FFT se obtiene la denominadaDensidad Espectral de Energıa (DEE).

5.3.2. Senales deterministas de duracion ilimitada

Cuando las senales son de duracion ilimitada, nos encontramos con el pri-mer obstaculo insalvable del analisis espectral. La Transformada de Fourier(TF), es una operacion que permite pasar de un dominio (el tiempo) a otro(la frecuencia). Sin embargo, por la propia definicion, para calcular la TF encualquier frecuencia, es necesario conocer la senal en todo instante. Esto, parasenales de duracion infinita, implicarıa esperar hasta el final de los tiemposantes de poder empezar a calcular la TF, ası como haber conocido dicha senaldesde el principio de los mismos (eso sin contar con los problemas de conver-gencia de la serie).

En primer lugar, no estabamos aquı para grabar el principio de la senal.En segundo lugar, tampoco lo estaremos para el final de la misma. Ademases bastante improbable que la senal que pretendemos analizar existiera desdesiempre ni vaya a durar por siempre. Todas estas cuestiones, aparentementefilosoficas, conducen al procedimiento de medida siguiente. Lo que haremossera tomar un trozo de senal y analizarlo utilizando los metodos de senalesde duracion limitada (cualquier trozo de senal tiene duracion limitada), su-poniendo que el segmento seleccionado es suficientemente representativo de lasenal total.

Dentro de este tipo de senales consideraremos, por su importancia, el es-tudio mas en detalle de sumas de tonos y senales periodicas.

5.3.3. Senales aleatorias estacionarias

Para describir en el dominio de la frecuencia senales aleatorias estacionariasexiste un concepto llamado Densidad Espectral de Potencia (DEP).

Page 179: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.3. Planteamiento del problema 169

Recordemos que la DEP (Φx(ejω)) de una senal aleatoria estacionaria x[n]viene dada por:

Φx(ejω) = TF Rx[m] (5.1)

donde Rx[m] es la autocorrelacion de la senal x[n] dada por

Rx[m] = E x∗[n]x[n + m] (5.2)

Observese que para que la ecuacion 5.2 no dependa de n el proceso aleatoriodebe ser estacionario. Notese tambien que, para senales de este tipo, es total-mente equivalente el calculo de la autocorrelacion o el calculo directo de laDEP, pues del uno al otro se pasa simplemente por una TF. Ası pues, vere-mos mas adelante en el desarrollo del tema, como existen ciertos metodos deanalisis espectral que se basan en la estima de la funcion de autocorrelacionpara, a partir de ella, mediante la TF, calcular la DEP.

La relacion entre la autocorrelacion y la DEP, nos permite presentar elanalisis espectral desde otro punto de vista. Es conocido que la autocorrelacionmide el parecido de una senal consigo misma desplazada. El que una senal separezca en distintos instantes de tiempo puede verse como que el procesoaleatorio tiene una cierta memoria, es decir, que el valor del proceso aleatorioen un instante no es totalmente independiente de lo que vale en instantesproximos. Desde ese punto de vista, la autocorrelacion (y con ella la DEP)puede verse como una medida de esa memoria del proceso aleatorio.

El proceso que menos memoria tiene es el ruido blanco. Como se sabe, laDEP de dicho ruido es constante, y la autocorrelacion es una δ en el origen.Ello quiere decir que la senal no se parece (estadısticamente) a sı misma sal-vo en el mismo instante. De esto es posible sacar una conclusion. Espectrossuaves (que varıen lentamente con la frecuencia) corresponderan a senales conpoca memoria (gran cantidad de informacion por unidad de tiempo) mientrasque senales con autocorrelacion ancha (espectros estrechos) corresponderan asenales con bastante memoria (poca informacion por unidad de tiempo).

Para terminar esta seccion, un ultimo aspecto teorico. Existe otro conceptorelativo a los procesos aleatorios que es el de ergodicidad. Dicha propiedadviene a decir que, si un proceso estacionario ademas es ergodico, resulta queobservando una unica realizacion desde −∞ a ∞ se tiene toda la informaciondel proceso. En otras palabras, esta propiedad es la que permite que, cogiendouna realizacion (cualquiera) del proceso, se pueda inferir el comportamientoestadıstico del conjunto de infinitas realizaciones posibles del mismo. Esto,que puede parecer de poca importancia, es de importancia suprema a la horade dar un fundamento teorico solido a lo que estamos haciendo, pues en lapractica siempre dispondremos unicamente de una realizacion del proceso (la

Page 180: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

170 CAPıTULO 5. ANALISIS ESPECTRAL

senal a analizar). No obstante, indicaremos tambien que la ergodicidad es unapropiedad de los procesos aleatorios que siempre supondremos pero que nuncacomprobaremos (porque no se pueden conocer las infinitas realizaciones delproceso aleatorio y, si se conocieran, la propiedad no nos servirıa para nada).

La ergodicidad, como acabamos de ver, es la propiedad teorica que nospermite analizar un proceso aleatorio a partir de una unica realizacion. Esto, detodos modos, aun no resuelve el analisis espectral practico pues serıa necesarioconocer la realizacion para todo tiempo. Para solucionar este problema serecurre a lo mismo que en el caso de senales deterministas de duracion infinita.Se cogera un trozo de senal, y se realizara el analisis de dicho fragmento. Laforma de pasar del analisis de un fragmento a la DEP de la senal aleatoriasera estudiada con detalle en los apartados correspondientes.

5.3.4. Senales no estacionarias

Si la senal a analizar es no estacionaria resulta que la ecuacion (5.2) de-pende no solo de m sino de n. En ese caso la DEP no existe estrictamentehablando. Para solventar este problema, presente en muchas senales de interespractico (voz, sonar, radar,. . . ), se recurrira a un concepto nuevo llamado dis-tribucion tiempo frecuencia.

En la seccion correspondiente estudiaremos con mas profundidad estos pro-cedimientos, pero de momento pensemos que lo que haremos sera considerarque el espectro varıa con el tiempo. Este concepto, facil de comprender in-tuitivamente, choca frontalmente con nuestros conocimientos teoricos hasta elmomento, en donde los dominios del tiempo y la frecuencia, NUNCA aparecenjuntos.

5.3.5. Aspectos practicos del analisis espectral digital

En este apartado vamos a revisar sucintamente cuales son las limitacionesy condicionantes de tipo practico que surgen en el analisis espectral medianteprocedimientos digitales.

El primer paso para analizar espectralmente una senal (analogica) de formadigital sera digitalizarla. En dicho proceso apareceran dos elementos:

El filtro anti-aliasing.

El convertidor A/D.

El primero, es necesario siempre para evitar la mezcla de componentes espec-trales que se producirıa si no estuviera presente. Dado que los filtros imple-mentables no tienen atenuaciones infinitas en las bandas atenuadas ni bandas

Page 181: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.3. Planteamiento del problema 171

- Haa A/D An. Dig.- - -

Figura 5.4: Esquema del interfaz necesario para analizar digitalmenteel espectro de una senal analogica.

de transicion abruptas, el espectro que se presentara al conversor A/D nosera exactamente el mismo de la senal a analizar. Interesara pues que estefiltro tenga buenas prestaciones, y compensar las medidas en funcion del filtroutilizado.

El segundo elemento, el conversor A/D, idealmente no deberıa introducirningun efecto negativo sobre el analisis. En la practica introduce dos.

Ruido de cuantificacion.

No linealidades.

El ruido de cuantificacion es sobradamente conocido y, desde el punto devista del analisis espectral, es como si la senal que realmente vamos a analizarfuera la suma de la que deseamos analizar mas un ruido (blanco). Ello puedellevar a errores importantes en la estima espectral, especialmente en aquellasfrecuencias en que la senal de entrada es comparable al ruido de cuantificacion.Este efecto no es corregible, y solo es posible saber si lo estamos haciendo bieno mal.

El efecto de las no linealidades se produce porque no todos los escalones decuantificacion son identicos. Ello lleva a los fenomenos de distorsion e intermo-dulacion, consistentes, en que si la entrada al sistema fuera un tono analogico,a la salida del A/D tendrıa la suma de varios tonos digitales armonicamenterelacionados. Como los metodos digitales procesan la salida del A/D los resul-tados seran erroneos, es decir, verıa mas tonos de los que realmente hay. Estetipo de errores no es evitable (salvo cambiando el A/D) ni compensable, porlo que debe tenerse plenas garantıas sobre la calidad del A/D antes de intentarel analisis espectral.

Con respecto a la duracion infinita de las senales ya se ha mencionadomas arriba la solucion que adoptaremos, consistente en coger fragmentos deduracion limitada. Finalmente indicaremos que los procedimientos que vana ser vistos a lo largo del resto del tema, corresponden a procedimientos deanalisis de senales discretas. Los resultados que dan dichos procedimientoslo son en frecuencias digitales fd entre -0.5 y 0.5. Para pasar los resultados a

Page 182: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

172 CAPıTULO 5. ANALISIS ESPECTRAL

frecuencias analogicas fa es necesario multiplicar por la frecuencia de muestreofs.

fa = fd · fs (5.3)

5.4. Analisis espectral de senales deterministas

Esta seccion se va a dedicar al analisis espectral de sumas de tonos. Dadoque las senales periodicas son sumas de tonos, este apartado incluira el analisisde senales periodicas como extension.

Supondremos que la senal a analizar es la suma de dos tonos:

x[n] = A1 cos(ω1n + φ1) + A2 cos(ω2n + φ2) (5.4)

No contemplamos el caso de un unico tono, puesto que los efectos que vamos apresentar en breve necesitan de la presencia de varios tonos. Para no recargarla notacion, y dado que no se pierde generalidad, vamos a suponer que las fasesiniciales de los tonos son ambas cero φ1 = φ2 = 0. La figura 5.5 reperesentaun ejemplo de senal de este tipo con f1 = 0,15 y f2 = 0,28.

0 20 40 60 80 100 120 140 160 180 200-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

n

x[n]

Figura 5.5: Suma de dos tonos en el dominio del tiempo.

Para poder realizar el analisis, se considera un numero finito, L, de mues-tras de la senal. Supongamos que asignamos a dicho trozo (arbitrariamente)

Page 183: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.4. Analisis espectral de senales deterministas 173

al intervalo n = 0, · · · , L− 1. En principio se puede suponer cualquier instanteinicial para la senal, puesto que la eleccion del origen de tiempos es total-mente arbitraria (salvo que se vayan a comparar dos senales). Ademas, sisupusieramos otro intervalo, esto solo afectarıa a la fase y no al modulo de latransformada, y normalmente estaremos interesados en el modulo.

Supondremos igualmente, que la senal fuera del segmento de muestrasdisponibles es nula. El proceso pues, de seleccion de un trozo de senal, se puedever como multiplicar la senal x[n] de duracion infinita por otra de duracionfinita w[n] que denominaremos ventana.

xw[n] = x[n]w[n] (5.5)

donde

w[n] =

6= 0 0 ≤ n ≤ L− 10 resto

(5.6)

Una vez tenemos una senal de duracion finita, simplemente calcularemosla TF de la misma:

Xw(ejω) =L−1∑n=0

xw[n]e−jωn = X(ejω) ∗W (ejω) (5.7)

donde ∗ es la convolucion periodica de transformadas de Fourier

X(ejω) ∗W (ejω) =12π

∫ π

−πX(ej(ω−θ)) W (ejθ) dθ (5.8)

En la figura 5.6 se muestra la transformada de Fourier de la senal de la figu-ra 5.5 utilizando como ventana la siguiente funcion (L = 200):

w[n] =

1 0 ≤ n ≤ L− 10 resto

(5.9)

Dicha ventana recibe el nombre de ventana rectangular de duracion L y suefecto practico es la simple truncamiento de la senal.

De dicha figura se pueden extraer una serie de conclusiones interesantes:

Se ven claramente los dos picos correspondientes a los dos tonos (maslos respectivos de frecuencias negativas).

La amplitud de los picos, contrariamente a lo que dice la teorıa no esinfinita. Ello es debido a haber cogido unicamente una porcion de dura-cion finita de la senal. En concreto, para un tono aislado de amplitud Ay pulsacion ω0, el valor del pico de la transformada vale:

Xw(ejω0) =A

2W (ej0) (5.10)

Page 184: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

174 CAPıTULO 5. ANALISIS ESPECTRAL

-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.50

20

40

60

80

100

120

f

Figura 5.6: Modulo de la transformada de Fourier de dos tonos trun-cados.

La anchura de los picos de cada tono no es nula. En efecto presentanun cierto ancho. Para evaluar cuanto es este ancho, pensemos que laconvolucion por una delta (TF teorica de un tono) consiste en desplazarla funcion a donde esta la delta. Ası pues, la forma que vemos en cadapico es la TF de la ventana desplazada a ese pico.

Aparecen una serie de oscilaciones espureas de menor amplitud, practi-camente por todo el espectro. Tambien son debidas a la convolucion conla TF de la ventana.

De todo ello se puede deducir que, los efectos indeseados anteriores, sontodos debidos al hecho de truncar la senal con una ventana. Eligiendo dife-rentes ventanas, podremos alterar el aspecto de la transformada de Fourier deforma que los picos sean mas o menos anchos, y las oscilaciones espureas seanmas o menos grandes.

5.4.1. Ventanas de analisis

En el apartado anterior, hemos concluido que las propiedades del anali-zador espectral de tonos, dependen unicamente de la ventana de truncacion

Page 185: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.4. Analisis espectral de senales deterministas 175

-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5-40

-35

-30

-25

-20

-15

-10

-5

0

f

dB

NLS

ALP

Figura 5.7: Modulo de la transformada de Fourier de una ventanarectangular de 30 puntos.

empleada. Existen muchas posibles elecciones para las ventanas. Las dos prin-cipales caracterısticas que afectan sus propiedades de analisis espectral son:

El ancho del lobulo principal, ALP , definido como el ancho de la trans-formada de Fourier entre los dos nulos mas proximos al origen de fre-cuencias. Se expresa en hercios.

El nivel de lobulos secundarios, NLS definido como la diferencia de am-plitud entre el maximo local de la TF en el origen y el siguiente masgrande. Se suele expresar en dB (20 log A0/A1, siendo A0 el modulo dela TF en el origen y A1 el modulo del siguiente maximo local de la TF).

La figura 5.7 muestra dichos parametros para una ventana rectangular deduracion 30.

Cada uno de los parametros anteriormente mencionados, es decir, el anchodel lobulo principal y el nivel de lobulos secundarios, es responsable de uno delos problemas que se manifiestan en la figura 5.6:

El hecho de tener en cada tono anchos de pico no nulos se debe al anchodel lobulo principal de la TF de la ventana.

Page 186: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

176 CAPıTULO 5. ANALISIS ESPECTRAL

La presencia de multiples pequenos picos espureos es debida a los lobulossecundarios de la TF de la ventana.

Las ventanas mas empleadas suelen ser funciones simetricas decrecienteshacia los extremos del margen de valores no nulos de la misma, y con un valormaximo de 1 en el centro del intervalo. De entre las mas usuales estan lasrectangulares, triangulares, Hanning y Hamming. Las expresiones analıticasde las distintas ventanas pueden encontrarse en la bibliografıa [6]. AdemasMatlab tiene funciones que generan un gran numero de ventanas diferentesde todas las longitudes.

Para nuestros propositos de analisis espectral conviene conocer las propie-dades de las mas conocidas, que se muestran en la tabla 5.1.

Tipo ALP (Hz) NLS (dB)Rectang. 2/L 13Triang. 4/L 26Hanning 4/L 32Hamming 4/L 42

Cuadro 5.1: Principales parametros de las ventanas mas usuales.

La figura 5.8 muestra las ventanas triangular, Hanning y Hamming en eldominio del tiempo. La figura 5.9 muestra las transformadas de Fourier delas ventanas rectangular y triangular normalizadas por su valor maximo y lafigura 5.10, lo mismo para las ventanas de Hanning y Hamming, todas ellas deduracion 31. A la vista de dichas figuras y de la tabla 5.1, es posible estableceruna serie de conclusiones o reglas practicas a la hora de elegir una ventana:

Para una longitud de ventana L dada, la ventana rectangular es la quepresenta un lobulo principal mas estrecho (mejor resolucion), y un nivelde lobulos secundarios mas grande.

El nivel de lobulos secundarios mas pequeno (de las ventanas considera-das en esta comparativa) corresponde a la de Hamming.

El ancho del lobulo principal es inversamente proporcional a la duracionde la misma.

Aunque no se puede deducir de las graficas mostradas, el nivel de lobulossecundarios NO depende de la duracion de la ventana sino de la forma(tipo) de la misma.

Page 187: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.4. Analisis espectral de senales deterministas 177

0 5 10 15 20 25 300

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

n

Hanning

Hamming

Triangular

Figura 5.8: Ventanas triangular, Hanning y Hamming en el dominiodel tiempo.

Aunque la ventana de Hanning tiene un nivel de lobulos secundariosmayor que la ventana de Hamming, estos decrecen mas rapidamente.

En general, para una misma duracion de la ventana, mejorar en algunode los aspectos implica empeorar en otro.

Un aspecto practico no mencionado hasta ahora pero que conviene teneren cuenta es que siempre utilizaremos ventanas de duracion lo mas pequenaposible para lograr nuestros propositos. Ello es debido a dos razones:

El tiempo de medida sera mas corto, pues tardaremos menos tiempo entener las muestras necesarias.

El coste computacional y de memoria sera menor.

Para concluir este apartado, mencionaremos simplemente que existe ungran numero de ventanas distintas, cada una con sus pros y sus contras [1],entre las que merece destacarse la ventana de Kaiser. Dicha ventana permitefijar ambos parametros de la misma (ancho del lobulo principal y nivel delobulos secundarios) a voluntad. Para una discusion mas detallada sobre laventana de Kaiser puede consultarse [6].

Page 188: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

178 CAPıTULO 5. ANALISIS ESPECTRAL

−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5−50

−40

−30

−20

−10

0

f

Triangular

−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5−50

−40

−30

−20

−10

0Rectangular

Figura 5.9: Ventanas rectangular y triangular en el dominio de la fre-cuencia.

−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5−50

−40

−30

−20

−10

0Hamming

−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5−50

−40

−30

−20

−10

0

f

Hanning

Figura 5.10: Ventanas Hanning y Hamming en el dominio de la fre-cuencia.

5.4.2. Resolucion en frecuencia y margen dinamico

Si en vez de tener dos tonos de frecuencias bastante diferentes como en elejemplo de la figura 5.6, hubieramos tenido dos tonos de frecuencias pareci-das, hubiera resultado que sus correspondientes picos habrıan estado bastante

Page 189: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.4. Analisis espectral de senales deterministas 179

proximos. Si la separacion en frecuencia de los dos tonos hubiera sido menorque el ancho del lobulo principal de la ventana, en vez de dos picos, se habrıavisto un unico pico. En este caso dirıamos que no somos capaces de resolverlos dos tonos.

Definiremos la resolucion de un estimador espectral como la separacionmınima en frecuencia que deben tener dos tonos de igual amplitud para que elestimador presente dos picos claramente diferenciados. La resolucion coincideaproximadamente con el ancho del lobulo principal de la ventana de trunca-miento empleada. La figura 5.11 muestra el estimador espectral de dos tonosde frecuencias 0.15 y 0.151 con la misma ventana rectangular de L = 200 dela figura 5.6. En este caso la resolucion es de ∆f = 2/200 mientras que laseparacion de frecuencia de los tonos es de 1/1000, por lo que no se resuelven.

Si en vez de considerar una duracion de 200 muestras para la ventana,hubieramos tomado 4000, hubieramos obtenido el resultado de la figura 5.12en la que claramente aparecen los dos tonos.

Si en vez de tener dos tonos de la misma amplitud, hubieramos tenidodos tonos de amplitud bastante diferente, habrıa resultado que, incluso si lafrecuencia de los mismos hubiera sido bastante diferente, habrıa sido difıcildistinguir el tono de pequena amplitud de un lobulo lateral del tono de mayoramplitud. Dicho de otro modo, es mas facil distinguir tonos de amplitudes si-

0 20 40 60 80 100 120 140 160 180 200-2

-1

0

1

2

n

-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.50

50

100

150

f

Figura 5.11: Suma de dos tonos de frecuencias similares, que no sonresueltos mediante el analisis espectral.

Page 190: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

180 CAPıTULO 5. ANALISIS ESPECTRAL

0.14 0.142 0.144 0.146 0.148 0.15 0.152 0.154 0.156 0.158 0.160

500

1000

1500

2000

2500

Figura 5.12: Suma de dos tonos de frecuencias similares, que sı sonresueltos mediante el analisis espectral (detalle de una zona del eje defrecuencias).

milares que no de amplitudes muy dispares. La diferencia de amplitud maximaque puede tener un tono frente al otro (en dB) para que se garantice que sedetecta (suponiendo que la separacion en frecuencia garantiza su deteccion encuanto a resolucion) es lo que denominaremos margen dinamico del analizadorespectral. Este parametro esta ıntimamente relacionado con el nivel de lobulossecundarios de la ventana de analisis.

La figura 5.13 muestra el resultado del analisis espectral1 de dos tonos defrecuencias 0.15 y 0.2 y amplitudes con 30 dB de diferencia, cuando se utilizauna ventana rectangular de 100 puntos. En esta figura es imposible afirmar lapresencia del tono de menor amplitud, pese a que por resolucion, no tendrıamosningun problema. La figura 5.14 muestra el resultado del analisis espectral dela misma senal de la figura 5.13, pero utilizando una ventana Hamming de100 puntos. Ahora es facil distinguir la presencia del tono de menor amplitudgracias al menor nivel de lobulos secundarios de la ventana utilizada.

1Las escalas en dB (logarıtmicas) suelen ser utiles para visualizar senales de amplitudesmuy distintas.

Page 191: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.4. Analisis espectral de senales deterministas 181

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-40

-30

-20

-10

0

10

20

30

40

f

Figura 5.13: Estima espectral de la suma de dos tonos de amplitudesmuy dispares, usando ventana rectangular.

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-40

-30

-20

-10

0

10

20

30

40

f

Figura 5.14: Estima espectral de los dos tonos de la figura 5.13 usandoventana Hamming de la misma duracion.

5.4.3. Uso de la FFT. Muestreo en frecuencia

Hasta ahora, el procedimiento empleado para realizar el analisis espectralde tonos, implicaba que una vez truncada la senal, se calculaba la TF de lamisma.

Page 192: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

182 CAPıTULO 5. ANALISIS ESPECTRAL

La TF de una senal discreta, no obstante, es una funcion contınua. Dichasfunciones son bastante engorrosas de manejar por ordenador, por lo que fre-cuentemente se manejan muestras de dicha TF. De hecho, todas las graficaspresentadas en los apartados anteriores, corresponden realmente a muestrassuficientemente proximas de la TF (funcion contınua).

La herramienta natural para obtener muestras de la TF de una senal deduracion finita es la FFT. En principio cabrıa pensar que dado que tenemossegmentos de L muestras, las FFT a utilizar deberıan ser del mismo tamano.Sin embargo, aunque la teorıa nos dice que dicho numero de muestras espec-trales es suficiente para representar sin ambiguedad la senal, en aplicacionesde analisis espectral puede inducir a errores de interpretacion. Veamoslo conalgunos ejemplos. En la figura 5.15 se muestra el analisis de una senal que esun unico tono de frecuencia 0.05, utilizando una ventana de analisis rectangu-lar y de duracion L = 100. Se ha empleado para confeccionar dicha figura unaFFT de 100 puntos. La figura muestra los valores de la FFT como cırculosy unos trazos rectos que los unen. Aparentemente, el resultado es excelenteporque dado un tono tengo una delta como espectro. Nada mas enganoso comoveremos dentro de un momento.

La figura 5.16 muestra lo mismo que la figura 5.15 pero esta vez paraun tono de frecuencia 0.0438, no muy diferente de la del ejemplo anterior. Siobservamos lo que sucede vemos que el aspecto de la figura 5.16 es totalmente

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

5

10

15

20

25

30

35

40

45

50

f

Figura 5.15: Estima espectral de un tono de frecuencia 0.05 con unaventana rectangular de duracion 100 puntos.

Page 193: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.4. Analisis espectral de senales deterministas 183

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

5

10

15

20

25

30

35

40

f

Figura 5.16: Estima espectral de un tono de frecuencia 0.0438 con unaventana rectangular de duracion 100 puntos.

distinto al de la figura 5.15. La explicacion de la drastica diferencia de ambasgraficas, ante una pequena diferencia en la frecuencia de la senal a analizar,hay que buscarla en el hecho de que lo que estamos viendo no son mas que unconjunto de muestras de la TF unidas por rectas. Puede darse el caso, y dehecho ası sucede, que dicho numero de muestras, aun siendo suficiente pararecuperar la senal, produzca impresiones visuales muy enganosas si dichasmuestras se utilizan para realizar un analizador espectral.

Si antes de calcular la FFT de la senal truncada le anadieramos ceros, sa-bemos que lo que obtendrıamos serıa simplemente un muestreo mas denso dela TF. Si hacemos esta operacion rellenando con ceros las L = 100 muestrashasta tener un total de N = 1000 obtenemos los resultados de las figuras 5.17y 5.18. En ellas puede observarse la posicion de las muestras de las figuras 5.15y 5.16 respectivamente. Vemos que en la figura 5.15 ha sido toda una casuali-dad tomar las muestras en los nulos y en el pico, mientras que en la figura 5.16parece como si hubieramos tenido peor suerte.

Page 194: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

184 CAPıTULO 5. ANALISIS ESPECTRAL

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

10

20

30

40

50

60

f

Figura 5.17: Estima espectral de un tono de frecuencia 0.05 con unaventana rectangular de duracion 100 puntos, rellenando con ceros antesde hacer la FFT, y las muestras anteriores superpuestas.

Los efectos que produce el submuestreo de la TF al analizar espectralmentetonos son los siguientes(ver figura 5.18):

Errores en la amplitud de los picos detectados (suponiendo que consi-deremos como amplitud del tono la correspondiente al maximo de lagrafica).

Errores en la frecuencia de los picos detectados (suponiendo que consi-deremos como frecuencia del tono la posicion del maximo de la grafica).

Interpretaciones confusas de los lobulos laterales. (¿tenemos un tono ovarios de distintas amplitudes?)

Todos estos efectos, tienen facil solucion sin mas que muestrear de formamas fina la TF. Esto, como ya se ha comentado, se hace anadiendo ceros alfinal de la senal antes de tomar la FFT, tomando de este modo la FFT detamano N puntos con N > L. Es facil ver que a medida que tomamos masmuestras en la FFT los errores cometidos disminuyen. Como regla practicapodemos decir que el numero de puntos N de la FFT deberıa ser de al menos3 o 4 veces el numero de puntos, L, de la ventana de senal tomada.

Una cuestion a la que hay que prestar atencion es al orden de las ope-raciones de enventanado y rellenado con ceros. Siempre se realiza primero el

Page 195: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.4. Analisis espectral de senales deterministas 185

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

10

20

30

40

50

60

f

Figura 5.18: Estima espectral de un tono de frecuencia 0.0438 conuna ventana rectangular de duracion 100 puntos, rellenando con cerosantes de hacer la FFT.

enventanado de las muestras, para una vez hecho esto anadir tantos ceros alfinal como se deseen. Hacerlo en orden inverso, provoca resultados erroneos.

Para terminar este apartado, deberıamos incidir en un aspecto que provocano pocos errores. Muchas veces, se tiende a pensar, que anadiendo ceros al finalde una senal y tomando la FFT se aumenta la resolucion del analisis efectuado.Esto es falso.

La resolucion viene dada unicamente por la ventana de analisis w[n] (anchodel lobulo principal de su TF). Rellenar con ceros unicamente proporcionauna version mas suave del estimador espectral. La resolucion (recordemos,capacidad de distinguir tonos de frecuencias similares) no se afecta en absolutopor anadir mas o menos ceros antes de tomar la FFT.

5.4.4. El problema de la media

El valor medio o componente contınua puede ser considerado como untono de frecuencia nula. Muchas veces estamos interesados en las componentesde alterna de la senal. Ademas, dado el diferente origen de la componentecontınua (polarizaciones, senalizaciones, etc.) y de las componentes alternas,puede haber una gran disparidad de amplitudes entre las mismas. Cuando se

Page 196: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

186 CAPıTULO 5. ANALISIS ESPECTRAL

analizan espectralmente senales cuya media es no nula aparecen los mismosproblemas que para cualquier tono:

El ancho del lobulo principal me impide ver otras componentes de muybaja frecuencia.

Los lobulos secundarios de la componente contınua pueden ser de mayoramplitud que otras componentes espectrales.

Dichos problemas, no son observables si se utilizan ventanas rectangularesy un numero de muestras espectrales igual a la duracion de la ventana. Sinembargo, si se usan otras ventanas o el numero de muestras espectrales esmayor que la duracion de la ventana (porque se rellena con ceros antes decalcular la FFT), dichos efectos pueden no permitir realizar un analisis correctodel resto de componentes espectrales. El procedimiento a seguir, partiendo deun segmento de L muestras es:

Restar la media de las L muestras.

Enventanar el resultado con la ventana deseada de L muestras.

Opcionalmente, anadir los ceros necesarios para obtener el muestreo enfrecuencia deseado.

5.5. Analisis espectral no parametrico

En esta seccion vamos a abordar el analisis espectral de senales aleato-rias estacionarias. Por lo tanto, el objetivo sera tratar de estimar la DEP delproceso aleatorio del cual disponemos de un fragmento temporal.

Los metodos que veremos en esta seccion se denominan metodos no-parametri-cos. Esto es ası porque no presuponen nada sobre la senal que estamos anali-zando. Mas adelante, veremos otros metodos que presuponen que las senalesbajo analisis son de un determinado tipo (metodos parametricos). En este ca-so, y si las senales realmente son del tipo supuesto, los metodos parametricosdan mucho mejor resultado que los que veremos en esta seccion. No obstante,en ausencia de conocimiento del tipo de senal que vamos a analizar, los meto-dos no-parametricos son mejores puesto que simplemente nos dan muestras dela DEP sin ninguna suposicion.

5.5.1. Sesgo y Varianza

Cuando las senales a analizar son aleatorias, nos encontramos con queante una serie de operaciones deterministas, el resultado sera diferente en

Page 197: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.5. Analisis espectral no parametrico 187

funcion de la realizacion concreta del proceso que estemos utilizando. Ellolleva a que la estima espectral sea considerada como aleatoria. Esto quieredecir que en funcion del trozo que cojamos de senal para analizar, el resultadosera diferente.

Si denominamos Φx(ejω) a la verdadera (y desconocida) DEP del procesox[n] y Φx(ejω) a la estima que estamos haciendo, resulta que Φx(ejω) es unavariable aleatoria para cada ω. Para saber la bondad de un estimador, cabrıapreguntarse dos cuestiones:

¿La media (esperanza) de Φx(ejω) coincide con Φx(ejω)? Esto es equi-valente a preguntarse si repitiendo la misma medida muchas veces ytomando la media nos iremos acercando al valor teorico. Si

EΦx(ejω) = Φx(ejω) (5.11)

diremos que el estimador es insesgado. En caso contrario sera sesgado,esto querra decir que, por mucho que repitamos el experimento, nun-ca llegaremos a la solucion correcta. En caso de estimadores sesgados,diremos que una estima es mejor cuanto menor sea el sesgo.

¿Es grande la varianza del estimador?, es decir, ¿obtengo cosas muydistintas con distintos trozos de senales? Un estimador sera mejor cuantomenor sea la varianza.

Los estimadores espectrales que veremos a continuacion, se caracterizantodos porque ante una cantidad dada de muestras, es posible inclinar la calidadde la estima hacia uno de los dos aspectos anteriores, reducir el sesgo o reducirla varianza, pero no los dos a la vez.

5.5.2. El periodograma

El periodograma es el estimador espectral mas simple, y por ello suele serel mas utilizado.

Supongamos que tenemos L muestras de un proceso aleatorio x[n]. Defini-remos el estimador periodograma como:

Φx(ejω) =1L

∣∣∣∣∣L−1∑n=0

x[n] e−jωn

∣∣∣∣∣2

(5.12)

Tal y como se menciono mas arriba, en funcion de las muestras que cojamosel resultado sera uno u otro. La figura 5.19 muestra un fragmento de ruidoblanco (potencia unidad) en el dominio del tiempo. La figura 5.20 muestra

Page 198: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

188 CAPıTULO 5. ANALISIS ESPECTRAL

0 50 100 150 200 250 300-3

-2

-1

0

1

2

3

4

n

Figura 5.19: Muestras de ruido blanco en el domino del tiempo.

el periodograma considerando L = 128 muestras de dos fragmentos de senaldistintos de la figura 5.19. Como puede apreciarse, los resultados obtenidoscon el periodograma dependen del trozo concreto de senal analizado, y resultadifıcil a la vista de la figura 5.20 concluir que la senal analizada es ruido blanco.

Cabrıa preguntarse que obtendrıamos si tomaramos no dos fragmentos sinoun numero muy elevado de ellos y tomasemos la media (frecuencia a frecuencia)de los respectivos periodogramas. Hallarıamos de este modo el periodogramamedio que se puede demostrar que vale:

EΦx(ejω)

=

1L

Φx(ejω) ∗∣∣∣WR(ejω)

∣∣∣2 (5.13)

siendo WR(ejω) la TF de la ventana rectangular de duracion L (numero demuestras empleadas). Como puede verse la media del periodograma no coin-cide en general con la verdadera DEP Φx(ejω), por la convolucion de la expre-sion (5.13), por lo que en general el periodograma sera un estimador espectralsesgado. Unicamente en el caso del ruido blanco, dicha convolucion coinci-dira con Φx(ejω).

El sesgo sera pequeno cuando∣∣WR(ejω)

∣∣2 se parezca a una delta con res-pecto a la forma que tenga Φx(ejω). Para ello bastara con tomar ventanas mas

Page 199: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.5. Analisis espectral no parametrico 189

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

2

4

6

f

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

2

4

6

f

Figura 5.20: Periodogramas de dos fragmentos distintos deruido blanco.

largas (valores de L mayores). Obviamente, cuantas mas muestras intervenganen la estima del espectro mejor sera el resultado, pero el precio a pagar es unmayor tiempo para hacer la medida (y coste computacional). A la vista de laexpresion (5.13) es facil prever lo que sucedera en el caso de que la senal a ana-lizar con el periodograma sean tonos (de fase aleatoria). Apareceran en media,los mismos problemas de resolucion y lobulos laterales vistos en la seccion 5.4.

Sin embargo, el principal problema del periodograma no es su sesgo (com-batible tomando ventanas mas largas cuando se pueda) sino su varianza. En lafigura 5.20 hemos podido ver el aspecto totalmente erratico de un periodogra-ma correspondiente a una DEP que vale 1 para todo ω. Se puede demostrarque, cuando el sesgo es pequeno, la varianza del periodograma vale aproxima-damente:

VARΦx(ejω)

≈ E

Φx(ejω)

2(5.14)

La ecuacion anterior expresa que la desviacion tıpica de nuestro estimadores comparable a la media. Esto quiere decir que nuestro estimador tiene de-masiada varianza (es demasiado aleatorio). Este es el principal problema delperiodograma y, tal y como puede verse en la expresion (5.14), la varianza nose puede mejorar aumentando el numero de muestras utilizadas en el analisis.Para comprobar que la varianza no depende del numero de muestras empleadas

Page 200: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

190 CAPıTULO 5. ANALISIS ESPECTRAL

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

1

2

3

4

5

6

7

f

Figura 5.21: Periodograma para una longitud de ventana de L = 256.

en el analisis, en la figura 5.21 se puede observar lo que sucede si tomamosL = 256. Como vemos, la amplitud de las fluctuaciones no ha cambiado. Ladiferencia mas sustancial con la figura 5.20 es que las fluctuaciones son masestrechas. Ello se debe a que con L = 256 la resolucion mejora y aparecen maspicos.

El periodograma modificado

Hemos visto, en el apartado anterior, que el periodograma tenıa un sesgoque venıa dado por una convolucion con la TF de una ventana rectangular.Si en vez de seleccionar las muestras de las que calculamos la TF del periodo-grama mediante una ventana rectangular, utilizamos otra ventana arbitrariaw[n] de duracion L, tenemos lo que se denomina periodograma modificado. Secalcula como:

Φx(ejω) =1

LU

∣∣∣∣∣L−1∑n=0

x[n]w[n] e−jωn

∣∣∣∣∣2

(5.15)

Las ventanas que se suelen emplear son las mismas vistas en la seccion 5.4.La constante U de la anterior expresion se elige para compensar el efecto deatenuacion en los extremos de las ventanas; de no tenerse en cuenta infraes-timarıamos siempre la potencia de la senal. Su valor se elige de modo que

Page 201: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.5. Analisis espectral no parametrico 191

cuando la senal a analizar es ruido blanco, el estimador resulte insesgado:

U =1L

L−1∑n=0

(w[n])2 (5.16)

U vale 1 para la ventana rectangular y U < 1 para el resto de ventanas usuales.La esperanza matematica del periodograma modificado vale:

EΦx(ejω)

=

1LU

Φx(ejω) ∗∣∣∣W (ejω)

∣∣∣2 (5.17)

Como se ve, la diferencia con el periodograma esta en que la convolucion serealiza con el modulo al cuadrado de la ventana usada en vez de la rectangular.Esto permite elegir la ventana mas apropiada en funcion del ancho del lobuloprincipal y nivel de lobulos secundarios deseados.

Con respecto a la varianza, el periodograma modificado tiene, a igualdadde longitud de ventana, una varianza ligeramente menor que el periodograma.

Componentes tonales y no tonales

En el espectro de una senal aleatoria podemos distinguir dos tipos desenales diferentes:

Componentes tonales: Son aquellas que condensan una potencia finitaen una unica frecuencia (ancho de banda nulo).

Componentes no tonales. Son aquellas que para disponer de una potenciafinita es necesario integrar la potencia de un cierto ancho de banda nonulo.

Las componentes tonales y no-tonales de una senal aleatoria tienen compor-tamientos diferentes cuando se analizan mediante el periodograma (o modi-ficado). Mientras que para las no-tonales, a partir de una cierta longitud deventana el estimador se vuelve insesgado, para las tonales, el estimador siemprees sesgado.

Una forma posible de distinguir componentes tonales y no-tonales es cal-culando periodogramas de diferentes longitudes. Mientras que para las com-ponentes no-tonales no varıa2 la amplitud del estimador, para las tonales, la

2La variacion se supone en media. Obviamente, dado el caracter aleatorio del estimador,si se toma un numero distinto de muestras el resultado sera diferente, pero en media no varıacon la longitud de la ventana.

Page 202: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

192 CAPıTULO 5. ANALISIS ESPECTRAL

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

20

40

60

80

f

L=256

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

20

40

60

80L=128

Figura 5.22: Periodograma de un tono mas ruido, para distintos valoresde longitud de ventana.

amplitud del estimador es directamente proporcional a la longitud de ventanaempleada (figura 5.22). Para entenderlo, considere el periodograma de un tonoe intente determinar cual sera la amplitud del pico del periodograma.

Periodogramas y DFT

El calculo del periodograma implica el calculo de una TF. En la practica,lo que se calcula son muestras de dicha TF mediante una DFT (normalmenteusando el algoritmo FFT). Los mismos comentarios relativos al relleno conceros visto en la seccion 5.4 son aplicables aquı. Es decir, suele ser convenienterellenar con ceros las muestras enventanadas antes de calcular la DFT, pa-ra que no aparezcan artefactos debidos al submuestreo del periodograma yaestudiados. Conviene insistir en que el relleno por ceros:

No mejora la resolucion (sesgo) del estimador.

No reduce ni aumenta la varianza del estimador.

Unicamente proporciona una version interpolada en frecuencia, con res-pecto a no rellenar con ceros.

Page 203: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.5. Analisis espectral no parametrico 193

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

2

4

6

f

L=128 N=1024

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

2

4

6L=N=128

Figura 5.23: Periodogramas del mismo fragmento de ruido blanco cony sin relleno con ceros antes de hacer la DFT.

La figura 5.23 muestra el periodograma usando una ventana rectangular deL = 128 muestras, con relleno por ceros (hasta un total de N = 1024) y sin el.De alguna forma, el periodograma unicamente contiene L valores independien-tes (para L pulsaciones distintas, mientras que para el resto de pulsaciones susvalores son interpolados, bien con rectas (sin relleno de ceros) bien con curvas( con relleno de ceros).

5.5.3. Autocorrelacion

Al principio de esta seccion recordamos que la DEP y la autocorrelacionestaban relacionadas mediante una TF. Resulta, por tanto, equivalente, cal-cular la una o la otra. En este apartado, veremos procedimientos para estimarla autocorrelacion de una senal aleatoria. Ademas descubriremos la razon dela excesiva varianza del periodograma.

Recordemos que la autocorrelacion de un proceso aleatorio se define como:

Rx[m] = E x∗[n]x[n + m] (5.18)

Page 204: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

194 CAPıTULO 5. ANALISIS ESPECTRAL

Si sustituimos las esperanzas matematicas por promedios temporales (asu-miendo ergodicidad), podemos llegar a dos estimadores de la autocorrelacion.Suponiendo que tenemos L muestras de una senal real, definimos el estimadorinsesgado de la autocorrelacion Rx[m] como:

Rx[m] =

1

L− |m|

L−1−|m|∑k=0

x[k]x[k + |m|] |m| < L

0 |m| ≥ L

(5.19)

Analogamente, definimos el estimador sesgado Rx[m] como:

Rx[m] =

1L

L−1−|m|∑k=0

x[k]x[k + |m|] |m| < L

0 |m| ≥ L

(5.20)

Observese como estos dos estimadores solo se diferencian en la constanteque divide. Mientras en el insesgado, se divide por el numero de muestrasque se solapan al desplazar la senal, en el sesgado se divide siempre por elnumero total de muestras. La figura 5.24 muestra el numero de muestras quese solapan (numero de productos que se pueden realizar) al ir desplazando lassenales.

-

-

x[k + |m|]

x[k]|m|

0 L− 1− |m| L− 1 k

Figura 5.24: Diagrama de los desplazamientos de senales para la estimade la autocorrelacion.

A partir de las expresiones (5.19) y (5.20) es inmediato deducir la relacionentre ambos estimadores

Rx[m] =L− |m|

LRx[m] (5.21)

Es decir, en el intervalo de valores de m (−L + 1 ≤ m ≤ L − 1) donde losestimadores son no nulos, la relacion existente es que el estimador sesgado es

Page 205: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.5. Analisis espectral no parametrico 195

el resultado de enventanar con una ventana triangular (de ancho total 2L− 1muestras) el estimador insesgado.

Debemos insistir en este punto, en que al igual que el periodograma tenıaun resultado distinto segun el conjunto concreto de muestras que tomemos,a los estimadores de autocorrelacion les sucede exactamente lo mismo, es de-cir el resultado obtenido sera aleatorio (dependera de las muestras concretasutilizadas en los calculos), y tendra una media y una varianza (funcion deldesplazamiento m). Con respecto a la media se puede demostrar:

ERx[m]

= Rx[m] |m| < L (5.22)

de ahı que a Rx[m] se le denomine insesgado, y

ERx[m]

=

L− |m|L

Rx[m] |m| < L (5.23)

Aparentemente, y dado que los estimadores insesgados son mejores podrıaparecer una inutilidad tener un estimador sesgado de la autocorrelacion. Enbreve entenderemos por que se utiliza tambien el estimador sesgado. Tambiendebemos darnos cuenta, que la media del estimador insesgado unicamentecoincide con la verdadera autocorrelacion para |m| < L, ya que fuera de eseintervalo no podemos estimar la autocorrelacion por no disponer un fragmentode senal de duracion suficiente.

La figura 5.25 muestra los estimadores sesgado e insesgado de la autoco-rrelacion de un fragmento de 100 muestras de ruido blanco de potencia mediaunidad. En ella podemos observar una serie de detalles. En primer lugar, vemosque no coincide con la δ en el origen teorica correspondiente a la autocorre-lacion de un ruido blanco. En segundo lugar, vemos que el valor en el origenno coincide con la potencia media teorica. Esto se debe al caracter aleato-rio del estimador comentado mas arriba. En tercer lugar, vemos que en laszonas donde la autocorrelacion teorica es cero tenemos una serie de valoresaleatorios. Vemos ademas que en el caso del estimador insesgado, la amplitudde los errores aleatorios crece a medida que aumenta |m|. Ello es debido aque a medida que aumenta |m| el numero de muestras solapadas de la senaldesplazada y sin desplazar es menor, lo que hace que el numero de productosa promediar sea menor, produciendo un aumento de la varianza. En el casodel estimador sesgado, la amplitud de las aleatoriedades disminuye debido alefecto de enventanado triangular (recordemos que el sesgado es el insesgadomultiplicado por una ventana triangular).

En la figura 5.26 se muestran las estimas de la autocorrelacion usando estavez L = 400 muestras de ruido blanco. Puede observarse que, para un mismo

Page 206: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

196 CAPıTULO 5. ANALISIS ESPECTRAL

-100 -80 -60 -40 -20 0 20 40 60 80 100-1

-0.5

0

0.5

1Insesgado

-100 -80 -60 -40 -20 0 20 40 60 80 100-0.5

0

0.5

1

m

Sesgado

Figura 5.25: Estimadores de la autocorrelacion de un fragmento de 100muestras de ruido blanco.

valor de |m| en las figuras 5.25 y 5.26, la varianza del estimador es menor enel caso de tener mas muestras.

Se pueden establecer una serie de observaciones con respecto a los estima-dores de la autocorrelacion:

Para un desplazamiento m fijo, la varianza de ambos estimadores decrecea medida que aumentamos el numero de muestras disponible L. Estoes en cierto modo logico, pues a medida que tenemos mas muestras lacantidad de muestras que se solapan es mas grande (ver figura 5.24) ypor lo tanto la cantidad de productos a promediar es mayor.

Para el estimador insesgado, para un numero total de muestras L fijo,la varianza del estimador crece a medida que |m| aumenta.

La relacion entre las varianzas de los estimadores sesgado e insesgado es:

VARRx[m]

=(

L− |m|L

)2

VARRx[m]

|m| < L (5.24)

lo que explica el caracter decreciente de las aleatoriedades de las figu-ras 5.25 y 5.26.

Page 207: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.5. Analisis espectral no parametrico 197

-400 -300 -200 -100 0 100 200 300 400-1

-0.5

0

0.5

1Insesgado

-400 -300 -200 -100 0 100 200 300 400-1

-0.5

0

0.5

1

m

Sesgado

Figura 5.26: Estimadores de la autocorrelacion de un fragmento de 400muestras de ruido blanco.

Transformada de Fourier de los estimadores de autocorrelacion

En el punto anterior hemos visto como podemos estimar la autocorrelacionde un proceso aleatorio a partir de un conjunto de muestras del mismo. Recor-demos que nuestro objetivo en este tema no es la correlacion en sı misma sinotratar de estimar la DEP del proceso. Podemos entonces, pensar que ya quela DEP es la TF de la autocorrelacion, podremos tener un estimador espectralrealizando la TF de la autocorrelacion estimada. Dado que nuestra estima dela autocorrelacion es de duracion finita podemos escribir:

Φx(ejω) =L−1∑

m=−L+1

Rx[m]e−jωm (5.25)

Dicho estimador, dado que la estima de la autocorrelacion es aleatoria (depen-dera de las muestras concretas empleadas), tambien sera aleatorio, y tendra porlo tanto una media y una varianza para cada ω. La media se puede demostrarque vale:

EΦx(ejω)

= Φx(ejω) ∗WR(ejω) (5.26)

Page 208: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

198 CAPıTULO 5. ANALISIS ESPECTRAL

donde WR(ejω) es la TF de la ventana rectangular wR[m]3:

wR[m] =

1 |m| ≤ L− 10 resto

(5.27)

Este resultado, era en cierto modo esperable, pues el estimador insesgadode la autocorrelacion Rx[m] tiene por media el enventanado con una ventanarectangular de la verdadera autocorrelacion. Como sabemos, multiplicar en undominio equivale a convolucionar en el otro, lo que explica la expresion (5.26).Dada la relacion mediante una ventana triangular entre los dos estimadores deautocorrelacion es facil deducir lo que sucedera si tomamos la TF del estimadorsesgado Rx[m] de la autocorrelacion.

Φx(ejω) =L−1∑

m=−L+1

Rx[m]e−jωm (5.28)

EΦx(ejω)

= Φx(ejω) ∗WT (ejω) (5.29)

donde WT (ejω) es la transformada de Fourier de la siguiente ventana triangu-lar:

wT [m] =

(L− |m|)/L |m| ≤ L− 1

0 resto(5.30)

Las expresiones (5.26) y (5.29) explican la razon de ser del estimador sesga-do de la autocorrelacion. La expresion (5.29) es siempre positiva, debido a quela transformada de Fourier de una ventana triangular es positiva para todo ω(una ventana triangular es la convolucion de dos rectangulares). Dado que laDEP teorica Φx(ejω) es positiva siempre, la convolucion de dos funciones posi-tivas tambien es siempre positiva. De alguna forma, tomar la TF del estimadorsesgado garantiza que la media de los resultados obtenidos sera positiva. Sinembargo, esto mismo no sucede con la TF del estimador insesgado dado quela TF de una ventana rectangular tiene lobulos negativos. Resumiendo:

Las DEP teoricas son siempre positivas.

La TF del estimador sesgado de la autocorrelacion Rx[m] esta garanti-zado que es positiva.

La TF del estimador insesgado de la autocorrelacion Rx[m] no esta ga-rantizado que sea positiva en todas las frecuencias.

3Notese que esta es una ventana rectangular simetrica con respecto al origen, a diferenciade la vista con el periodograma.

Page 209: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.5. Analisis espectral no parametrico 199

La posible no positividad de la estima de la DEP nos lleva a que en lasfrecuencias en que la estima de la DEP es negativa, tengamos un resultado to-talmente absurdo. El uso del estimador sesgado de la autocorrelacion, permiteque este problema no se manifieste nunca.

Es posible establecer una relacion adicional entre las transformadas deFourier de los estimadores de la autocorrelacion y el periodograma. Se puededemostrar que el periodograma coincide con Φx(ejω), es decir:

TFRx[m] ≡ Periodograma (5.31)

Adicionalmente, la relacion (5.31) permite explicar la gran varianza delperiodograma. Antes hemos concluido que, cuando estimamos la autocorrela-cion, hay algunos valores que estimamos bastante bien (los de |m| pequeno)y otros que los estimamos con bastante error (los valores de |m| proximos aL) debido a que tenemos pocas muestras que se solapen para calcular la me-dia de los productos). Estos valores erroneos de la autocorrelacion, hacen quecuando calculamos la TF todos los valores de la TF tengan una gran varianza.De alguna forma, en la autocorrelacion, las varianzas grandes estan localiza-das mientras que en el periodograma tenemos una gran varianza para todoω. En la seccion 5.5.4 veremos como podemos emplear este conocimiento paraobtener un estimador espectral mucho menos fluctuante que el periodograma.

Calculo de la autocorrelacion mediante DFT

El metodo de estima espectral Blackman-Tukey que se vera en la siguienteseccion, parte de la estima de la autocorrelacion, por lo que es interesantedisponer de metodos de calculo rapido de la misma.

Las expresiones vistas en el punto anterior para el calculo de la autoco-rrelacion (5.19) y (5.20) son directamente aplicables para el calculo de losestimadores. Sin embargo, el numero de operaciones a realizar para su calculocuando se requieren los 2L−1 valores (L−1 se pueden obtener por la simetrıaconjugada de la autocorrelacion), es proporcional a L2. Es posible establecerun procedimiento para usar DFT (junto con algunas operaciones auxiliares)para calcular las estimas de autocorrelacion de forma eficiente. El metodo sebasa en que Rx[m] es la TF−1 del periodograma. Como Rx[m] tiene duracion2L− 1 muestras, si tomamos el mismo (o mayor) numero de muestras del pe-riodograma mediante una DFT inversa obtendremos Rx[m]. Recordemos queel numero de muestras espectrales del periodograma se puede fijar facilmentesin mas que rellenar con ceros antes de hacer la DFT. El procedimiento paraobtener Rx[m] es:

Page 210: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

200 CAPıTULO 5. ANALISIS ESPECTRAL

-

-

s

sQ

QQ

Q

QQ

QQ

0

N − 1 m

m

DFT−1

Autocorr

?

Figura 5.27: Diagrama de los desplazamientos de senales para la estimade la autocorrelacion usando DFT.

Partimos de L muestras de senal. Las completamos anadiendo ceros has-ta un total de N , con N ≥ (2L − 1). Normalmente elegiremos un valorde N potencia de 2 para poder usar la FFT de forma lo mas eficienteposible.

Calculamos la DFT directa del anterior vector.

Tomamos el modulo al cuadrado y dividimos por L, es decir, calculamosel periodograma (N muestras del mismo).

Calculamos la DFT inversa. El resultado es Rx[m] en un orden un pocoparticular.

Para entender el orden en que tenemos los valores de Rx[m] pensemos que laDFT inversa nos devuelve una porcion de una senal periodica en el intervalo 0a N − 1. Dado que la autocorrelacion que queremos, se corresponde a valorespositivos y negativos de m hay que reordenar el resultado como muestra lafigura 5.27.

5.5.4. El metodo Blackman-Tukey

En la seccion anterior, hemos visto cual es el origen del problema de va-rianza del periodograma.

El metodo Blackman-Tukey (BT) resuelve el problema de la varianza en-ventanando (truncando) la estima de la autocorrelacion de modo que unica-mente se consideren para tomar la TF aquellos valores de la correlacion queresulten fiables (gran numero de muestras solapadas al desplazar). El estima-dor BT consiste pues en:

Page 211: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.5. Analisis espectral no parametrico 201

Estimar la autocorrelacion (sesgado o insesgado).

Enventanar la autocorrelacion, para descartar los valores erroneos de lamisma.

Tomar la TF.

Para estimar la autocorrelacion se emplean los procedimientos vistos en elapartado anterior. Para truncar la autocorrelacion:

RBTx [m] = Rx[m]w[m] (5.32)

donde la ventana w[n] es una ventana simetrica alrededor del origen de dura-cion impar (2M +1). Notese que se puede emplear tanto el estimador sesgadocomo el insesgado de la autocorrelacion, ya que el sesgado no es mas que elinsesgado enventanado, por lo que, enventanar el sesgado, no es otra cosa queenventanar el insesgado con una ventana que sea el producto de la ventanatriangular y w[n].

A continuacion se calcula la TF:

ΦBTx (ejω) =

M∑m=−M

RBTx [m]e−jωm (5.33)

-200 -150 -100 -50 0 50 100 150 200-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

m

Figura 5.28: Estima de la autocorrelacion de un fragmento de 200muestras de ruido blanco.

Page 212: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

202 CAPıTULO 5. ANALISIS ESPECTRAL

-200 -150 -100 -50 0 50 100 150 200-1

-0.5

0

0.5

1

1.5

m

Figura 5.29: Autocorrelacion de la figura 5.28 enventanada con unaventana hamming de M = 20.

El resto de expresiones que se daran en este apartado se refieren el estima-dor insesgado de la autocorrelacion.

Se puede demostrar que la media del estimador espectral BT vale:

EΦBT

x (ejω)

= Φx(ejω) ∗W (ejω) (5.34)

es decir, la convolucion de la verdadera DEP con la TF de la ventana empleadapara truncar la autocorrelacion. Si dicha TF de la ventana es positiva para todoω, se garantizara la positividad de la media del estimador, en caso contrario,no.

Recordemos que la convolucion produce un sesgo en la estima. Dicho sesgose manifestaba como una perdida de resolucion y unos lobulos laterales.

Si recordamos que el periodograma era la TF del estimador sesgado (en-ventanado triangular del insesgado), podemos decir que el periodograma esun caso particular del estimador BT. Comparado con el periodograma, unaestima BT con M < L − 1 tendra peor resolucion (la TF de una ventanaes mas ancha cuanto menos muestras tiene la ventana). Por contra, el mis-mo estimador BT tendra menor varianza que el periodograma, pues a la horade calcular la TF estamos descartando los valores de la autocorrelacion degran varianza. Notese que enventanar la autocorrelacion equivale a forzar que

Page 213: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.5. Analisis espectral no parametrico 203

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

1

2

3

4

5

6

f

Figura 5.30: TF de la figura 5.29. Esta serıa la estima espectral BTdel ruido blanco analizado.

determinados valores (los de |m| grande) tengan por correlacion un valor nulo.En el caso de senales ruidosas (autocorrelaciones estrechas), si realmente laautocorrelacion es nula para |m| el metodo BT no producira ninguna perdidade resolucion y sı una reduccion de la varianza. Podrıamos decir que el metodoBT produce una perdida de resolucion en la estima si y solo si al enventanarestoy truncando valores no-nulos de la autocorrelacion teorica.

La figura 5.28 muestra la estima de la autocorrelacion de 200 muestras deruido blanco. La figura 5.29 muestra la misma autocorrelacion enventanadacon una ventana de Hamming de M = 20 (duracion total igual a 41). Lafigura 5.30 muestra la TF de dicha autocorrelacion. Puede apreciarse como elresultado es mucho menos fluctuante que el del periodograma de las mismasmuestras que se muestra en la figura 5.31.

Resumiendo, podrıamos decir que el metodo BT es un estimador espec-tral, que con respecto al periodograma tiene mas sesgo (peor resolucion) peromenor varianza (siempre a igualdad del numero de muestras disponibles). Lareduccion de la varianza se logra descartando los valores poco fiables de laautocorrelacion.

Page 214: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

204 CAPıTULO 5. ANALISIS ESPECTRAL

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

1

2

3

4

5

6

f

Figura 5.31: Periodograma de las mismas 200 muestras de las figuras5.28, 5.29 y 5.30.

Uso de la DFT en el metodo Blackman Tukey

Tal y como acabamos de ver en la ecuacion 5.33, el metodo BT implica elcalculo de la TF de una autocorrelacion. Como siempre, dicha TF se calculamediante una DFT. Como siempre, se pueden utilizar DFT del tamano N quese quiera, sin mas que rellenar con ceros adecuadamente. Para calcular la TFde la autocorrelacion enventanada hay que reordenar los datos antes, pues laautocorrelacion tiene un margen de ındices −M ≤ m ≤ M mientras que laDFT tiene un margen de ındices 0 ≤ n ≤ N − 1.

Como siempre, para entender de que se ha de calcular la DFT basta pensaren la periodicidad de la DFT. Si llamamos g[m], con 0 ≤ m ≤ N −1, al vectordel que se debe calcular la DFT, tenemos (suponiendo N ≥ 2M + 1):

g[m] =

RBT

x [m] 0 ≤ m ≤M

RBTx [m−N ] N −M ≤ m ≤ N − 1

0 resto(5.35)

La figura 5.27 puede ayudar a comprender la ecuacion (5.35).

Page 215: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.5. Analisis espectral no parametrico 205

5.5.5. El metodo de Welch o WOSA

En el apartado anterior hemos visto como el metodo de Blackman-Tukeypermite reducir la excesiva varianza del periodograma. Otra idea posible parareducir la varianza serıa la de promediar diferentes periodogramas para, de estemodo, reducir la varianza. Promediar, es una de las tecnicas clasicas usadasen estadıstica para reducir la varianza. Ası, por ejemplo, si imaginamos quetratamos de estimar la estatura media de una poblacion, la estima sera masfiable (menor varianza) si tomamos 100 individuos que si tomamos uno. Algosimilar ocurre con el periodograma. Si en vez de coger un unico periodograma,promediamos un determinado numero de ellos K, la varianza de la estima sereducira. En esto consiste el metodo de Welch tambien conocido como WOSA(Weighted Overlapped Segment Averaging).

El metodo consiste en realizar el periodograma K veces sobre conjuntosde muestras diferentes pertenecientes a la misma senal. Con respecto a estepunto, conviene recordar que una de las condiciones que debe darse para queel promediado reduzca la varianza, es que los valores a promediar tienen queser independientes. Si esto no ocurre, el promediado no reduce la varianza.Para entender esto, supongamos que queremos estimar la media de las tiradasde un dado. Si realizamos 1000 tiradas, anotamos los resultados y sumamosy dividimos por 1000, tenemos una estima fiable (varianza pequena) debido aque estamos promediando 1000 valores independientes. Si por contra, tiramos

0 20 40 60 80 100 120 140 160 180 200-3

-2

-1

0

1

2

3

4

n

Figura 5.32: Suma de tono y ruido blanco en el dominio del tiempo.

Page 216: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

206 CAPıTULO 5. ANALISIS ESPECTRAL

el dado 10 veces, pero apuntamos cada numero 100 veces y dividimos por1000, obviamente el resultado sera menos fiable (mayor varianza) que en elcaso anterior, pues aunque tambien hemos promediado 1000 numeros, en uncaso eran independientes y en otro no.

Centrandonos en nuestro problema, supongamos que se registra una senaly se graban un numero total de muestras igual a LT . La idea consiste en cogerventanas de longitud L (L < LT ), realizar el periodograma (o periodogramamodificado) de cada una de ellas y promediar los resultados. El numero de pe-riodogramas que promediaremos, K, dependera de la relacion LT /L ası comodel solape entre ventanas consecutivas. Cuanto mayor sea el solape, mayorsera el numero de ventanas que podremos tomar para un numero dado demuestras LT . Por contra, si el solape es muy grande, el resultado de los perio-dogramas no sera independiente, lo que reducira la eficacia del promediado ala hora de reducir la varianza. Se ha comprobado experimentalmente que lamaxima reduccion de varianza se corresponde con un factor de solape de 1/2,es decir, cuando se coge una nueva ventana para calcular su periodograma,se toma como primera mitad de la nueva ventana, la segunda de la ventanaanterior y se anaden L/2 muestras nuevas.

Si denotamos como Φ(k)x (ejω) al periodograma de la k-esima ventana, y que

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

1

2

3

4

5

6

7

8

f

Figura 5.33: Periodograma de un fragmento de 128 muestras de senalde la figura 5.32.

Page 217: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.5. Analisis espectral no parametrico 207

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

1

2

3

4

5

6

7

f

Figura 5.34: Metodo de WOSA, utilizando 15 ventanas de longitud 128con solape 1/2. El numero total de muestras es de 1024.

promediamos los periodogramas de K ventanas, el estimador WOSA vale:

ΦWOSAx (ejω) =

1K

K∑k=1

Φ(k)x (ejω) (5.36)

Con respecto a la media del estimador de Welch, podemos escribir:

EΦWOSA

x (ejω)

= EΦ(k)

x (ejω)

(5.37)

Como se ve, con respecto al sesgo, se comporta como un periodograma unicode longitud L. Si recordamos que tenemos LT muestras, que hemos divididoen ventanas de L muestras, y comparamos el estimador de Welch con el perio-dograma unico de las LT muestras, vemos que el metodo de Welch tiene peorresolucion (mas sesgo) que el periodograma unico, debido a que la longitud dela ventana que utiliza es menor.

Con respecto a la varianza, y suponiendo que las K ventanas cuyo perio-dograma se promedia se tomen con un solape maximo de 1/2 (es decir, losperiodogramas son practicamente independientes), la varianza vale:

VARΦWOSA

x (ejω)≈ 1

KVAR

Φ(k)

x (ejω)

(5.38)

En las figuras siguientes vamos a examinar un ejemplo de analisis espectralutilizando el metodo WOSA y lo compararemos con el periodograma. La senal

Page 218: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

208 CAPıTULO 5. ANALISIS ESPECTRAL

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

5

10

15

20

25

30

35

40

45

50

f

Figura 5.35: Periodograma de las 1024 muestras de la figura 5.34.

a analizar sera la suma de un ruido blanco de potencia unidad y un tono deamplitud 0.5. La figura 5.32 muestra el aspecto temporal de la mencionadasenal, en el que es practicamente imposible discernir la presencia del tono.

En la figura 5.33 podemos apreciar el periodograma (modificado, usandouna ventana de Hamming) de un fragmento de 128 muestras de la senal. Po-demos observar, que aunque aparece un pico, este es difıcilmente discerniblede las fluctuaciones de la estima espectral del ruido. Podrıamos decir que con128 muestras, NO serıa posible detectar el tono mediante el periodograma.

En la figura 5.34, se dispone de 1024 muestras de la misma senal, a partirde las cuales se generan 15 ventanas (solape 1/2) para cada una de las cuales secalcula el periodograma de longitud 128 y se promedian los resultados. Com-parando con la figura 5.33 vemos que se han reducido mucho las fluctuacionesde la estima del espectro del ruido que ahora aparece mucho mas concentradoalrededor de su valor teorico (uno). Ahora, podemos apreciar claramente elpico en el espectro debido al tono. Podemos apreciar que la resolucion de lasfiguras 5.33 y 5.34 es la misma.

En la figura 5.35 se han tomado las mismas muestras de la figura 5.34,1024, y se ha calculado un periodograma unico de 1024 muestras. Podemosobservar que el tono tambien resulta facilmente detectado en este caso, queutiliza 1024 muestras. Sin embargo, la forma en que se detecta es diferentede la de la figura 5.34. Mientras que en la figura 5.34 se han reducido lasfluctuaciones aleatorias y se ha mantenido la altura del pico con respecto a

Page 219: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.5. Analisis espectral no parametrico 209

5.33, en la figura 5.35, la amplitud de las fluctuaciones (varianza del estimador)es la misma que en la figura 5.33, pero la amplitud del pico debido al tonoha aumentado debido a haber utilizado una ventana mas larga (con mejorresolucion).

La pregunta de que interesa mas dado un numero de muestras total, sicalcular un unico periodograma de una ventana larga, o promediar varios deventanas cortas, tiene por respuesta un “depende” de lo que pretendamos.Si unicamente pretendemos detectar un tono en ruido, hemos visto que daigual. Si en vez de un tono hubieramos tenido 2, nos verıamos obligados autilizar ventanas que permitieran resolver los mismos. Si no estamos interesa-dos unicamente en la deteccion sino en conocer ”bien.el espectro, promediarvarios periodogramas nos da una estima mas fiable. Ademas, si disponemosde muchas muestras es posible promediar varios periodogramas de ventanaslargas,. . .

Resumiendo, y a la vista de las figuras, podemos extraer las siguientesconclusiones:

Dado un numero total de muestras LT , el metodo de Welch tiene:

• Peor resolucion que el periodograma unico de longitud LT .

• Menor varianza que el periodograma unico de longitud LT .

Dado un tamano de ventana fijo L, el metodo de Welch presenta:

• La misma resolucion que el periodograma.

• Menor varianza que el periodograma.

Sin embargo debe tenerse presente que el metodo de Welch en este se-gundo caso juega con ventaja pues dispone de mas muestras de partida.

5.5.6. Resumen metodos no-parametricos

Como resumen de los metodos no-parametricos vistos en esta seccion po-demos establecer una serie de conclusiones:

El periodograma es el metodo basico de analisis. Es computacionalmenteeficiente (FFT).

• Su sesgo se puede reducir tomando mas muestras.

• Su varianza no se puede reducir y es siempre grande.

Los otros metodos, Blackman-Tukey y Welch, permiten reducir la va-rianza de la estima del periodograma.

Page 220: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

210 CAPıTULO 5. ANALISIS ESPECTRAL

El periodograma es un caso particular de los metodos Blackman-Tukeyy Welch.

Para un numero de muestras total dado, la reduccion de la varianza selogra siempre a base de aumentar el sesgo.

Podrıamos resumir lo anterior diciendo que estos metodos proporcio-naran buenos resultados cuando el numero de muestras disponible seagrande.

5.6. Analisis Tiempo-Frecuencia

En las secciones anteriores se ha considerado el analisis espectral de senalesestacionarias. Para dichas senales, tiene sentido hablar de un espectro para to-da la senal. Cuando la senal es no estacionaria, la autocorrelacion deja dedepender unicamente de la diferencia de instantes para depender tambien delinstante concreto considerado. En ese caso, aunque puede hablarse de un espec-tro medio, en realidad carece de sentido practico la mayor parte de las veces.Para entender lo que queremos decir pensemos en un tono cuya frecuenciavarıa lentamente. Muchas veces estaremos interesados en saber la frecuenciadel tono en funcion del tiempo. Veamos un ejemplo. La figura 5.36 muestrauna senal que es un pulso de envolvente trapezoidal, con una portadora cuyafrecuencia comienza siendo 0.05 para ir aumentando hasta llegar a 0.15; dichafigura muestra igualmente el modulo de su TF.

La figura 5.37 muestra una senal similar pero en este caso la frecuenciadisminuye desde 0.15 hasta 0.05. Puede observarse que las transformadas deFourier son identicas en ambos casos y proporcionan una especie de espectromedio de las frecuencias ocupadas por la senal (de 0.05 a 0.15 en ambos casos).¿Como puede ser que dos senales diferentes tengan la misma TF? La respuestaa esta pregunta es que realmente no tienen la misma TF. La diferencia esta enla fase. Sin embargo, su espectro de energıa coincide y no aporta ningunainformacion sobre el orden en que se suceden las distintas frecuencias. Dichainformacion se encuentra naturalmente en la fase. Recordemos que la TF deuna senal desplazada en el tiempo, solo difiere en la fase de la TF de la senaloriginal. De alguna forma, la posicion temporal de cada componente espectralesta imbricada (de forma no obvia) en la informacion de fase de la TF.

Tal vez resulta mas interesante, en vez de ver la senal de forma global,mirar pequenos fragmentos donde la frecuencia fuera constante, e ir viendocomo evoluciona la frecuencia con el tiempo. Esta es la idea de la TF de Fourier

Page 221: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.6. Analisis Tiempo-Frecuencia 211

0 50 100 150 200 250 300 350 400 450 500-1

-0.5

0

0.5

1

n

x[n]

S1

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

10

20

30

40

f

|X(f

)|

Figura 5.36: Pulso de RF de frecuencia creciente y su TF.

dependiente del tiempo que se vera en el siguiente apartado. De alguna forma,intercambiaremos parte de la informacion contenida en la fase por informaciontemporal explıcita.

5.6.1. La TF dependiente del tiempo

Se define la TF dependiente del tiempo, o de tiempo corto (STFT) como:

X[n, λ) =∞∑

m=−∞w[m]x[n + m] e−jλm (5.39)

Analicemos un poco la anterior expresion. Lo primero que llama la atenciones que la STFT es una funcion de dos variables; la primera n es discretay representa el instante de tiempo al que se refiere el calculo de la TF. Lasegunda, λ, es contınua y, como puede verse en la expresion, hace el papel deω en las TF’s normales. Dentro de poco entenderemos el porque de usar unaletra diferente. Para expresar claramente el hecho de que la primera variablees discreta y la segunda contınua, utilizamos la notacion ”[·)”. La variable λes ademas periodica (como ω); no obstante, y para no recargar la notacion, noescribiremos ejλ. Continuando con nuestro analisis, vemos que X[n, λ) no es

Page 222: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

212 CAPıTULO 5. ANALISIS ESPECTRAL

0 50 100 150 200 250 300 350 400 450 500-1

-0.5

0

0.5

1

n

x[n]

S2

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

10

20

30

40

f

|X(f

)|

Figura 5.37: Pulso de RF de frecuencia decreciente y su TF.

otra cosa que la TF ordinaria de la senal:

w[m]x[n + m] (5.40)

w[m] es una ventana similar a las vistas que limita el trozo de senal a analizar.Supondremos que es no nula en torno al origen. x[n + m] es la version despla-zada n hacia la izquierda de la senal que estamos analizando. Lo que estamoshaciendo es desplazar la senal de modo que el fragmento que originariamenteestaba en m = n, tras el desplazamiento este situado en m = 0. De este modo,variando n, cada vez tenemos un trozo distinto de senal cerca del origen.

Un aspecto no mencionado hasta ahora, es el relativo a la representacion dela STFT. Dicha transformada es compleja y de dos variables. Lo que se suelehacer es representar el modulo (o la fase) como una funcion bidimensional, enla que un eje representa el tiempo y el otro (entre −π y π) la pulsacion λ. Entrelos metodos habitualmente empleados para representar funciones de este tipoestan las curvas de nivel, las imagenes de falso color o las representacionestridimensionales. Las figuras 5.38, 5.39 y 5.40 muestran la STFT de la senalde la figura 5.36. En ellas se puede apreciar que para cada instante, tenemosun pico (tono) y que la posicion de este pico va aumentando de frecuencia amedida que aumenta el tiempo.

Page 223: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.6. Analisis Tiempo-Frecuencia 213

0100

200300

400500

0

0.1

0.2

0.3

0.4

0.50

5

10

15

20

25

30

Figura 5.38: Modulo de la STFT de la senal de la figura 5.36 vista en3D.

0 50 100 150 200 250 300 350 400 450 5000

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

n

f

Figura 5.39: Modulo de la STFT de la senal de la figura 5.36 vista concurvas de nivel.

5.6.2. Eleccion de la ventana

En el apartado anterior hemos visto que, en cada instante n, tenemosuna TF de la senal enventanada con una ventana w[m] que supondremos de

Page 224: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

214 CAPıTULO 5. ANALISIS ESPECTRAL

-

6f

n

Figura 5.40: Modulo de la STFT de la senal de la figura 5.36 vista conniveles de gris. Colores mas claros representan, valores mas grandes.Pueden apreciarse los lobulos laterales debidos al uso de una ventanarectangular

longitud L. La eleccion de la ventana a utilizar sigue los mismos criterios vistosen los apartados anteriores con respecto a la resolucion y lobulos laterales.

Si queremos tener una buena resolucion en frecuencia emplearıamos venta-nas largas. Esto, que en el caso de senales estacionarias no representa ningunproblema, en el caso de senales no estacionarias puede dar lugar a que dentrode la ventana de analisis estemos considerando porciones no estacionarias desenal. En ese caso, la eleccion de una ventana larga nos llevarıa de nuevo aobtener espectros medios de lo que sucede en la ventana. Diremos que en esecaso estamos perdiendo resolucion temporal.

No vamos a dar aquı una definicion rigurosa de resolucion temporal, pe-ro intuitivamente, podrıamos decir que tendrıa que ver con la capacidad dedetectar correctamente eventos de duracion corta. Parece obvio que para de-tectar el fenomeno de duracion corta, es necesario que al menos para algunn, la ventana este situada unicamente sobre el fenomeno de duracion corta.Vemos por tanto que para tener una buena resolucion temporal nos interesanventanas cortas.

Tras la anterior discusion estamos llegando a una de las limitaciones fun-damentales del analisis de senales que podrıamos enunciar del siguiente modo:

Page 225: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.6. Analisis Tiempo-Frecuencia 215

0 50 100 150 200 250 300 350 400 450 500-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

n

Figura 5.41: Senal que es la suma de dos tonos de freceuncias simila-res, salvo en un intervalo de 25 muestras en que es un unico tono defrecuencia bastante distinta de las anteriores.

Es imposible conocer simultaneamente con infinita resolucion elcontenido tiempo-frecuencial de una senal.

Esta afirmacion resume el hecho contradictorio que acabamos de ver:

Si deseamos buena resolucion frecuencial, es decir, conocer bien la senalen la frecuencia, interesan ventanas de analisis largas.

Si deseamos una buena resolucion temporal, es decir, conocer bien comoevoluciona la senal en el tiempo, interesan ventanas de analisis cortas.

En la practica, en funcion de la senal que vayamos a analizar y de lainformacion que deseemos utilizaremos una longitud de ventana u otra.

La figura 5.41 muestra una senal que es la suma de dos tonos salvo en unintervalo de 25 muestras que es un tono de frecuencia y amplitud diferente.Dicha senal es analizada en la figura 5.42 con una ventana corta (21 mues-tras) de modo que se aprecia perfectamente el transitorio, pero muy mal losdos tonos de frecuencias similares. En la figura 5.43 se realiza una analisispero utilizando una ventana mas larga (71 muestras). Ahora, los 2 tonos sedistinguen claramente, pero es difıcil decir que sucede en el transitorio.

Page 226: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

216 CAPıTULO 5. ANALISIS ESPECTRAL

-

6f

n

Figura 5.42: Analisis de la senal de la figura 5.41 con una ventana deduracion 21.

-

6f

n

Figura 5.43: Analisis de la senal de la figura 5.41 con una ventana deduracion 71.

5.6.3. Interpretacion como banco de filtros de la TF depen-diente del tiempo

Supongamos que tomamos la Transformada de Fourier de Tiempo Cor-to X[n, λ) y la particularizamos para λ = λ0. Obtendremos de esta forma

Page 227: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.6. Analisis Tiempo-Frecuencia 217

una secuencia (compleja) que denominaremos xλ0 [n]. Veamos que propiedadestiene.

xλ0 [n] = X[n, λ0) =∞∑

m=−∞w[m]x[n + m] e−jλ0m (5.41)

Realizando en la anterior expresion el cambio de m por −m′ obtenemos:

xλ0 [n] =∞∑

m′=−∞x[n−m′]w[−m′] ejλ0m′

= x[n] ∗ hλ0 [n] (5.42)

conhλ0 [n] = w[−n] ejλ0n (5.43)

Es posible calcular la respuesta en frecuencia de este filtro tomando, comosiempre, la TF de la respuesta impulsional.

Hλ0(ejω) = W (ej(λ0−ω)) (5.44)

Es decir, para cada λ la secuencia xλ[n] es el resultado de filtrar la senal originalx[n] con un filtro de respuesta impulsiva hλ[n]. Suponiendo que la TF de laventana sea paso bajo (caso habitual) el filtro hλ[n] es un filtro paso-bandacuya banda de paso esta centrada en la frecuencia ω = λ, y cuya respuestaen frecuencia tiene la forma de la TF de la ventana utilizada desplazada enfrecuencia

Esta interpretacion de la TF es sumamente interesante, puesto que nosdice que realizar consecutivamente TF equivale a implementar un banco defiltros, cuyas respuestas en frecuencia dependen de la ventana elegida.

5.6.4. Transformada Inversa

La STFT se ha aplicado, entre otros, al campo de la codificacion de senalesvocales. En esta aplicacion lo que se hace es, en vez de codificar las muestrasde la senal, codificar valores de la STFT. Dado que los valores de la STFT secorresponden a diferentes frecuencias, y que el oıdo no tiene la misma sensi-bilidad al ruido de cuantificacion en todas las frecuencias, es posible asignarlos bits de forma no uniforme a cada frecuencia. Ademas, dado que las senalesno son estacionarias, es posible variar la asignacion binaria en funcion de lasfrecuencias activas en cada instante.

Lo anterior lleva a la necesidad de recuperar la senal original x[n] a partirde X[n, λ). Para ello hay que deshacer ordenadamente los pasos hechos.

Page 228: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

218 CAPıTULO 5. ANALISIS ESPECTRAL

1. Para cada n se hace una TF−1. Obtenemos con ello w[m]x[n + m], esdecir un fragmento enventanado de la senal.

2. Para recuperar x[n] basta con particularizar el resultado anterior param = 0 y dividir por w[0].

Para finalizar esta seccion, haremos un comentario de tipo practico. Ob-servemos que de toda la TF−1 del punto 1 unicamente estamos interesadosen un valor (el de m = 0). En ese caso, resulta mucho mas eficaz calcularunicamente la TF−1 para ese valor de m concreto que no utilizar una FFT−1

(ver siguiente seccion) para luego quedarnos con un unico valor.

5.6.5. Muestreo en frecuencia y en tiempo

En la definicion hecha en la ecuacion (5.39) de la STFT, aparece una TF.Supondremos que la ventana w[n] tiene unicamente L valores no nulos. Comocabe esperar, dicha TF se calcula en la practica como una FFT. Es decir, serealiza un muestreo en frecuencia (λ) de la transformada. Para que no existaambiguedad, el numero de muestras espectrales, N , debera ser al menos igual ala longitud de la ventana w[n]. Para realizar las FFT, como siempre, podemosrellenar con ceros las L muestras de senal enventanadas antes de hacer la FFT.

En la misma definicion de la ecuacion (5.39) se ve que en cada transformadade Fourier intervienen L muestras. Esto permite, si se desea, no tener quecalcular las transformadas de Fourier para todo n sino unicamente cada Rmuestras. Si se cumple R ≤ L sera posible recuperar la senal original, pues encada TF−1 se recuperan hasta L muestras de la misma.

Resumiendo, si:

L es la longitud de la ventana.

N es el numero de puntos de la FFT.

R es el factor de diezmado temporal.

para poder recuperar la senal debe cumplirse:

R ≤ L ≤ N (5.45)

Esta relacion es interesante tenerla presente en aplicaciones de codificaciondonde es de suma importancia guardar el mınimo numero de valores de laSTFT para ser capaces de recuperar la senal.

Page 229: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.7. Analisis Espectral Parametrico 219

5.7. Analisis Espectral Parametrico

En la parte precedente del tema, se han estudiado metodos de analisisespectral de los denominados no-parametricos. Se denominan ası porque nosuponen nada sobre la naturaleza de la senal bajo analisis y porque simple-mente producen como resultado muestras en frecuencia de la estima de laDEP. Estos metodos tienen unas limitaciones que son:

Poca resolucion con registros cortos de senal. La razon ultima de la li-mitacion en resolucion de estos metodos, reside en que se asume que laautocorrelacion es nula fuera del intervalo que se puede calcular. Pense-mos por ejemplo en el periodograma, que es la TF del estimador sesgadode la autocorrelacion; si tomamos una ventana de L muestras es imposi-ble estimar la correlacion para |m| > L. Lo que hacemos es suponer quefuera del intervalo en que podemos calcularla, la autocorrelacion vale 0.

Mucha varianza. Hemos analizado anteriormente las causas de la varian-za y formas de reducirla. Podemos dar otra vision estadıstica de porque la varianza es grande. Supongamos inicialmente el periodograma.Si suponemos que el numero de muestras espectrales que tomamos, N ,coincide con la longitud de la ventana de muestras, L, resulta que lo queestamos haciendo es estimar un conjunto de L muestras espectrales apartir de L muestras temporales. En estadıstica, hay una regla practicaque dice que si la cantidad de valores a estimar es igual a la cantidad dedatos que tenemos, la estima tendra gran varianza. Si recordamos lo quesucedıa tanto en el metodo de BT como de Welch, allı tenıamos muchasmas muestras totales que muestras espectrales calculabamos (supuestasFFT’s sin relleno de ceros, pues con relleno con ceros la FFT simple-mente interpola como sabemos). Es por ello que estos metodos tenıanuna varianza menor, porque la relacion entre valores estimados y datosdisponibles era pequena.

La idea de los metodos parametricos consiste basicamente en presuponer quela DEP (o la autocorrelacion) son de una determinada forma que dependede esos pocos parametros. De ese modo, con muchas menos muestras que losmetodos no parametricos:

Solo tendremos que estimar unos pocos parametros, para estimar la DEP.La relacion entre los parametros y la DEP la suponemos conocida.

Al ser muy pocos los parametros a estimar, es posible utilizar pocasmuestras y aun ası tener una estima de poca varianza.

Page 230: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

220 CAPıTULO 5. ANALISIS ESPECTRAL

-

6

@@

Extrapolacion por modelo

Estimado a partir de muestras

m

Rx[m]

Figura 5.44: Extrapolacion de la autocorrelacion usando un modelo.

Utilizando pocas muestras, es posible estimar unicamente unos (pocos)valores de la autocorrelacion. Si con esos pocos valores somos capacesde extraer los parametros del modelo, seremos capaces de inferir la por-cion de autocorrelacion que no podemos medir. Para entender lo quequeremos decir, pensemos en un ejemplo (figura 5.44). Supongamos quehacemos la hipotesis de que la autocorrelacion de la senal que estoy ana-lizando tiene forma de triangulo. Supongamos que estimo unos pocosvalores de correlacion a partir de las muestras; como dichos valores sonpocos, es posible estimarlos con poca varianza. A partir del conocimientode parte de la autocorrelacion puedo deducir el resto teniendo en cuentala hipotesis de que la autocorrelacion tiene forma de triangulo.

La esencia de los metodos parametricos, consiste pues en asumir un modelo desenal, y bajo esa hipotesis realizar el analisis. Observemos que si se cumple elmodelo, estos metodos dan mejores resultados que los metodos no parametricosdebido a que puedo extrapolar la autocorrelacion a partir de valores fiables envez de suponer que es cero o estimarla con mucha varianza.

Un aspecto que se plantea de inmediato es: ¿como se cual es el modelocorrecto que se ajusta a la senal que estoy analizando?. Esta pregunta lamen-tablemente no tiene una respuesta clara. En la practica, en algunos casos, elmodelo fısico de generacion de la senal nos puede dar una pista sobre el tipode modelo a aplicar a la senal analizada. Es el caso de la voz. Si no tengoningun conocimiento sobre el mecanismo fısico que origina la senal que estoytratando de analizar, los metodos no parametricos y la experiencia me puedenayudar a seleccionar el modelo adecuado.

Vamos a ver a continuacion los principales modelos utilizados en el analisisespectral. Todos tienen en comun el que suponen que la senal analizada puedeser considerada como el resultado de filtrar un ruido blanco de potencia mediaunidad. (Figura 5.45)

Page 231: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.7. Analisis Espectral Parametrico 221

Suponiendo conocido el filtro h[n] (real) y por las relaciones de correlacionentre entrada y salida de un filtro lineal, tenemos que:

Rx[m] = h[m] ∗ h[−m] (5.46)

Φx(ejω) = |H(ejω)|2 (5.47)

expresiones en las que se ha hecho uso de que e[n] es un ruido blanco depotencia media unidad.

El problema consiste pues, en estimar cuales son los parametros del filtro(sus coeficientes), de modo que el filtro aplicado a un ruido blanco generenuestra senal; tenemos como dato muestras de nuestra senal x[n]. El anteriorproblema es imposible de resolver en general. Lo que se hace en la practica essuponer que el filtro es de un determinado tipo y orden, y calcular entonceslos parametros del filtro que mejor se ajustan al modelo supuesto.

Los principales tipos de modelos empleados son:

MA (Moving Average): En este caso se supone que el filtro h[n] es FIR.por lo que la autocorrelacion tambien tiene extension finita (ver ecua-cion (5.46)). Esta hipotesis es la misma que hace, por ejemplo, el metodode BT. Por tanto, estos modelos, se pueden considerar estudiados dentrode los metodos no-parametricos.

AR (Auto-Regresive): En este caso se supone que el filtro es todo polos, esdecir, que el numerador de su funcion de transferencia es una constante.La expresion que estamos suponiendo para el filtro es de la forma:

HAR(z) =G

1− a1z−1 − a2z−2 − · · · − apz−p(5.48)

donde se ve claramente que conociendo los coeficientes del filtro, conozcoel filtro y mediante la ecuacion (5.47) la DEP de la senal. Al valor pse le denomina orden del modelo, y se suele hablar de modelos AR-p.Dado que la respuesta impulsional de estos filtros es infinita, tambien losera su autocorrelacion. Este tipo de modelos permiten pues, conociendo

- -Ruido blanco

e[n]

Senal a analizar

x[n]h[n]

Figura 5.45: Modelo de generacion de senales en analisis espectral pa-rametrico.

Page 232: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

222 CAPıTULO 5. ANALISIS ESPECTRAL

los coeficientes del filtro, conocer la autocorrelacion para todo m de modoanalogo a como hicimos en la figura 5.44.

ARMA (Auto-Regresive and Moving Average): Este tipo de modelos supo-nen que el filtro tiene por numerador y denominador polinomios en z−1,es decir:

HARMA(z) =b0 + b1z

−1 + b2z−2 + · · ·+ bqz

−q

1− a1z−1 − a2z−2 − · · · − apz−p(5.49)

Por su mayor complejidad, no estudiaremos aquı este tipo de modelos. Ellector interesado puede consultar [4].

5.7.1. Modelos AR

En esta seccion estudiaremos como se pueden estimar los coeficientes delfiltro del modelo a partir de las muestras de senal.

Estamos suponiendo que el filtro es todo polos. Por lo tanto:

HAR(z) =X(z)E(z)

=G

1− a1z−1 − a2z−2 − · · · − apz−p(5.50)

La anterior ecuacion permite establecer la ecuacion en diferencias que relacionalas muestras de e[n] con las de x[n]:

x[n] = G e[n] + a1 x[n− 1] + a2 x[n− 2] + · · ·+ ap x[n− p] (5.51)

Multiplicando por x[n] ambos miembros de la ecuacion anterior, y tomandoesperanzas matematicas, se obtiene:

Rx[0] = G Rxe[0] + a1 Rx[1] + a2 Rx[2] + · · ·+ ap Rx[p] (5.52)

Por las propiedades de la correlacion cruzada entre la entrada y la salida deun filtro, sabemos que:

Rxe[m] = Ex[n + m] e[n] = h[m] ∗Re[m] = h[m] (5.53)

Aplicandolo en la ecuacion (5.52):

Rxe[0] = h[0] = G (5.54)

por lo que podemos escribir:

Rx[0] = G2 + a1 Rx[1] + a2 Rx[2] + · · ·+ ap Rx[p] (5.55)

Page 233: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.7. Analisis Espectral Parametrico 223

Multipliquemos ahora por x[n − 1] ambos miembros de la ecuacion (5.51) yvolvamos a tomar esperanzas matematicas:

Rx[1] = G Rxe[−1] + a1 Rx[0] + a2 Rx[1] + · · ·+ ap Rx[p− 1] (5.56)

Por la ecuacion (5.53) sabemos que

Rxe[−1] = h[−1] = 0

por lo que obtenemos:

Rx[1] = 0 + a1 Rx[0] + a2 Rx[1] + · · ·+ ap Rx[p− 1] (5.57)

Si multiplicamos ahora por x[n − 2] y tomamos esperanzas, y repetimos elproceso hasta x[n− p] obtenemos un sistema de ecuaciones:

G2 + a1 Rx[1] + a2 Rx[2] + · · ·+ ap Rx[p] = Rx[0]0 + a1 Rx[0] + a2 Rx[1] + · · ·+ ap Rx[p− 1] = Rx[1] (5.58)

· · · = · · ·0 + a1 Rx[p− 1] + a2 Rx[p− 2] + · · ·+ ap Rx[0] = Rx[p]

Dicho sistema de ecuaciones de p + 1 ecuaciones y p + 1 incognitas se conocecomo Ecuaciones de Yule-Walker y permite obtener los coeficientes del filtrodel modelo AR a partir de valores de correlacion de la senal. Dichos valoresse estiman directamente a partir de las muestras de la senal tal y como se vioen la seccion 5.5.3. El mencionado sistema se suele escribir en forma matricialdel siguiente modo:

Rx[0] Rx[1] Rx[2] · · · Rx[p]Rx[1] Rx[0] Rx[1] · · · Rx[p− 1]Rx[2] Rx[1] Rx[0] · · · Rx[p− 2]

......

......

...Rx[p] Rx[p− 1] Rx[p− 2] · · · Rx[0]

1−a1

−a2...−ap

=

G2

00...0

(5.59)

Resumiendo el metodo de analisis espectral mediante modelos AR, consis-tirıa en:

Elegir el orden y el tipo de modelo.

Estimar los valores de correlacion necesarios para plantear las ecuacionesde Yule-Walker. Suele utilizarse el estimador sesgado.

Page 234: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

224 CAPıTULO 5. ANALISIS ESPECTRAL

0 5 10 15 20 25 30 35 40 45 50-10

-8

-6

-4

-2

0

2

4

6

8

10

n

Figura 5.46: Muestras pertenecientes a un fragmento de proceso alea-torio tipo AR de orden 4.

Resolver las ecuaciones de Yule-Walker.

Mediante la expresion (5.47) calcular la DEP.

Vamos a ver a continuacion algunos ejemplos de analisis mediante estatecnica para tener una idea de lo que se puede lograr con ella. La figura 5.46muestra un fragmento de 50 muestras de un proceso AR de orden 4. Dichofragmento ha sido obtenido filtrando un ruido blanco con un filtro todo polosde orden 4 conocido. Por tanto, conocemos la DEP teorica de dicho fragmentode senal. En un problema de analisis real no conocerıamos la DEP verdaderadel proceso (¡es lo que tratamos de averiguar!). Cuando veamos los resultadosobtenidos por diferentes metodos compararemos lo que se obtiene con cadauno de ellos con dicha DEP teorica.

En la figura 5.47 vemos el resultado de realizar un analisis espectral utili-zando un modelo AR de orden 4 (el correcto). Vemos que el resultado obtenidose acerca mucho al real (pocos dB de diferencia), pese a haber utilizado muypocas muestras. Las diferencias se deben a que la autocorrelacion empleadaen las ecuaciones de Yule-Walker es estimada y no la teorica.

Para que entendamos la potencia de este tipo de analisis, vamos a compararel analisis de las mismas 50 muestras de senal mediante un periodograma.

Page 235: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.7. Analisis Espectral Parametrico 225

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-10

-5

0

5

10

15

20

25

f

dB

Figura 5.47: Comparacion entre la DEP teorica y la estima AR deorden 4 de la senal de la figura 5.46.

La figura 5.48 muestra el resultado. Como puede apreciarse, el periodogramapresenta un resultado totalmente aleatorio.

Podrıa pensarse en utilizar alguna de las tecnicas vistas en los metodosno parametricos para reducir la varianza. Veamos que sucede, si por ejemploconsideramos el metodo BT con un ancho de ventana de 21 (rectangular). Elresultado se muestra en la figura 5.49.

A la vista de las figuras 5.47, 5.48 y 5.49 uno podrıa tener la idea deque los metodos parametricos son muy superiores a los no parametricos. Yen efecto ası es siempre que acertemos con el modelo adecuado. Si se utilizaun modelo no adecuado, los resultados obtenidos son totalmente absurdos.En la figura 5.50 se muestra el resultado de realizar el analisis de las mismasmuestras de senal pero suponiendo modelo AR de orden 2 y en la figura 5.51suponiendo orden 8 (recordemos que el orden verdadero es de 4).

Como puede verse los resultados son totalmente insatisfactorios debido ano haber elegido correctamente el modelo.

Page 236: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

226 CAPıTULO 5. ANALISIS ESPECTRAL

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-20

-15

-10

-5

0

5

10

15

20

25

30

f

dB

Figura 5.48: Comparacion entre la DEP teorica y periodograma de lasenal de la figura 5.46.

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-20

-15

-10

-5

0

5

10

15

20

25

30

f

dB

Figura 5.49: DEP teorica, estima mediante BT del espectro de la senalde la figura 5.46 y diferencia en dB.

Page 237: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.7. Analisis Espectral Parametrico 227

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-10

-5

0

5

10

15

20

25

f

dB

Figura 5.50: Comparacion entre la DEP teorica y la estima medianteun modelo AR de orden 2 del espectro de la senal de la figura 5.46.

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-10

-5

0

5

10

15

20

25

f

dB

Figura 5.51: Comparacion entre la DEP teorica y la estima medianteun modelo AR de orden 8 del espectro de la senal de la figura 5.46.

Page 238: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

228 CAPıTULO 5. ANALISIS ESPECTRAL

5.8. Problemas

1. La transformada de Fourier de tiempo corto se puede definir de unaforma diferente a como se expresa en la ecuacion (5.39). Dicha formaalternativa es:

X[n, λ) =∞∑

m=−∞x[m]w[n−m] e−jλm

a) Realice una interpretacion grafica de la anterior definicion y compare-la con la de la ecuacion (5.39).

b) Encuentre la relacion X[n, λ) ?←→ X[n, λ).

c) Demuestre que s[n] = X[n, λ0) es una senal paso-bajo ∀λ0

d) Sea x[n] una senal arbitraria que se aplica a la entrada de un filtroFIR de respuesta impulsiva h[n] para obtener y[n] a la salida.

y[n] =M∑

k=0

h[k]x[n− k]

Encuentre la relacion X[n, λ) ?←→ Y [n, λ) si se utiliza en amboscasos la misma ventana.

e) Demuestre que si la longitud de la ventana es larga comparada conM , la longitud del filtro h[n] se cumple:

Y [n, λ) ' H(ejλ) X[n, λ)

siendo H(ejω) la respuesta en frecuencia del filtro.

Ejercicios con MATLAB

Los archivos necesarios para realizar estos ejercicios se encuentran en:http://ttt.upv.es/∼aalbiol/librotds

1. Identificar pares multifrecuencia. En este ejercicio, vamos a tratar decomprobar la utilidad del analisis espectral en la decodificacion de senali-zacion telefonica multifrecuencia. Como se sabe en telefonıa existe unaforma de transmitir senalizacion consitente en transmitir una pareja defrecuencias diferente para cada numero que se desee transmitir. La tablade frecuencias se muestra a continuacion. Las fases de los tonos genera-dos, es en general aleatoria, lo que hace que el aspecto temporal de lassenales pueda ser bastante diferente para un mismo dıgito.

Page 239: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.8. Problemas 229

El archivo UNOS.MAT contiene dos vectores correspondientes a dosunos distintos (fases iniciales diferentes) y con una pequena propor-cion de ruido. Compruebe que son diferentes, y que en el dominiodel tiempo no resulta sencillo decidir el dıgito correspondiente.

1209 hz 1336 hz 1477 hz679 hz 1 2 3770 hz 4 5 6852 hz 7 8 9941 hz * 0 #

Cuadro 5.2: Tablas de codigos multifrecuencia.

El archivo DTMF.MAT tiene varios dıgitos, correspondientes a unnumero de telefono de 7 cifras. Intente averiguar cuales son, uti-lizando el mınimo numero de muestras, la ventana que crea masconveniente, y comparando con las frecuencias de la tabla.

¿Cual cree que es la maxima velocidad de pulsacion de dıgitos quese puede tener para poder decodificar correctamente los mismos?(suponga que no existen pausas entre los dıgitos).

2. El juego de los espıas. En este ejercicio, suponga que es el responsa-ble de un servicio de contraespionaje, y que su objetivo es interceptarlos mensajes del enemigo. Se sabe, que el enemigo transmite mensajescodificados en forma de presencia de tonos camuflados junto a otros quesolamente pretenden distraer nuestra atencion (tonos de camuflaje). Enconcreto se sabe que emplea dos tecnicas:

Enviar tonos de pequena amplitud comparados con los de camuflaje(30 dB menos) y de frecuencia claramente distinta a la de los tonosde camuflaje.

Enviar tonos de amplitud menor aunque comparable a la de lostonos de camuflaje pero de frecuencia muy similar a la de algunode los tonos de camuflaje. Se ha estimado que la separacion mınimade frecuencia que se preve que utilice es de 1/200 hz.

Los tonos de camuflaje son de distinta frecuencia de una transmisiona otra pero en una cierta transmision todos tienen la misma amplitud.El enemigo transmite estas senales durante bastante tiempo pero in-teresa ser capaces de detectar la presencia de los tonos lo antes posible(utilizando la minima cantidad de muestras) dado que es posible que el

Page 240: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

230 CAPıTULO 5. ANALISIS ESPECTRAL

mensaje implique un riesgo sobre nosotros. Su mision es definir y apli-car el procedimiento para detectar la presencia de los mensajes (tonos),utilizando la mınima cantidad de muestras posibles. En el servidor deTDS, se encuentra el archivo CAMU1.MAT que contiene un vector conmuestras de un mensaje interceptado al enemigo.

Para comprobar la utilidad de las herramientas de analisis presen-tadas hasta el momento, compruebe que a la vista de las muestras(en el tiempo) si le es posible saber las frecuencias de los tonos decamuflaje y de los posibles mensajes.

Utilizando las tecnicas de analisis espectral que considere oportu-nas, determine la presencia de tonos camuflados.

¿Cual es el mınimo numero de muestras necesario para detectar lostonos?

3. Analisis espectral de senales de voz. En este ejercicio se van a comprobaralgunas de las propiedades de la voz en el dominio de la frecuencia. Paraello se tomara el fichero DONDE.MAT que contiene la palabra “donde”dicha de forma enunciativa e interrogativa en las variables d1 y d2.

El espectro localizado (en fragmentos donde se puede suponer estacio-nariedad) de la senal de voz se caracteriza por dos aspectos:

El pitch o frecuencia fundamental de los sonidos sonoros. Los soni-dos sonoros son cuasi-periodicos. Por lo tanto su espectro esta for-mado aproximadamente por deltas situadas en los armonicos de lafrecuencia fundamental. El pitch es el reponsable del tono de voz yes de aproximadamente unos 100 hz para los hombre y de unos 200hz para las mujeres (depende bastante de los individuos particula-res). Para un mismo individuo, y dentro de una frase se producenvariaciones del mismo que subjetivamente el cerebro asocia con laentonacion de la frase. Ası, una frase enunciativa tiene una varia-cion temporal del pitch muy pequena, mientras que en una fraseinterrogativa el pitch aumenta al final de la misma.

Los formantes. Antes hemos mencionado que los sonidos sonorosson casi periodicos. Si el pitch estaba relacionado con el periodode repeticion, los formantes estan relacionados con la forma de losperiodos. Dicha forma depende como se sabe de la envolvente es-pectral. Los formantes son las frecuencias de resonancia (picos) dedicha envolvente espectral. La envolvente espectral es la respon-sable de que identifiquemos los distintos sonidos, es decir, de quedistingamos la ‘o’ de la ‘e’, por ejemplo.

Page 241: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

5.8. Problemas 231

En el ejercicio vamos a aplicar los conocimientos que tenemos para inferirinformacion de las senales de voz.

a) Determinacion de la entonacion. Parece logico que dado que lo quebuscamos es la evolucion de una frecuencia (pitch) con el tiempose utilicen tecnicas de analisis tiempo-frecuencia. En el servidorencontrara la funcion stft.m que implementa la transformada deFourier de tiempo corto. Para ser capaz de ver la evolucion delpitch, es necesario que la resolucion en frecuencia de la ventana deanalisis empleada permita resolver los distintos armonicos.

Determine cual es la longitud mınima de ventana de Hammingque se deberıa utilizar si no se sabe si el locutor es hombre omujer.Utilizando una duracion de ventana el doble de la anteriormen-te calculada, analice mediante la TF de tiempo corto las senalesd1 y d2. Visualice los resultados utilizando la funcion Matlabpcolor. ¿Puede a la vista de los resultados inferir cual es lainterrogativa? Puede comprobar si ha acertado utilizando lafuncion sound de Matlab. Observe las senales en el dominiodel tiempo e indique si hubiera sido capaz de encontrar la fraseinterrogativa en dicho dominio.En la segunda parte vamos a analizar mediante metodos pa-rametricos fragmentos de senal de voz para hacer reconocimien-to de sonidos. La senal de voz se corresponde bastante bien conun modelo AR. En dichos modelos todo polos la forma del es-pectro presenta una serie de resonancias debidas a cada uno delos polos. El numero de resonancias depende del ancho de ban-da considerado. Para un ancho de banda de 4 khz (fs = 8 khz)se suele considerar un orden de 10 (5 resonancias). Indique sia la vista de los resultados del punto anterior dicha cantidadparece razonable.

Formante 1 Formante 2A 620–800 1000-1500E 420–500 1600-2000I 200–300 2000-2500O 400–500 800-1000U 230–290 600-900

Cuadro 5.3: Tablas de frecuencias de formantes en castellano.

Page 242: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

232 CAPıTULO 5. ANALISIS ESPECTRAL

Se han seleccionado bloques de 40 ms. correspondientes a laso’s y las e’s del primer y segundo vector(o1, o2, e1, e2). Analicelas senales mediante un modelo AR de orden 10. Una vez obte-nidos los coeficientes del filtro, represente los polos de todos losfiltros en una misma grafica (con distintos sımbolos). Sabiendoque el argumento de los polos corresponde con la frecuencia deresonancia, ¿Cree poder identificar las senales?Compruebe que en el dominio del tiempo, las senales correspon-dientes a un mismo sonido (‘o’ por ejemplo) son suficientementedistintas como para que sea difıcil reconocer el sonido en dichodominio.

Page 243: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

Apendice A

Senales Aleatorias Discretas

A.1. Introduccion

En tratamiento digital de la senal existen dos conceptos fundamentales:las senales y los sistemas. Una manera de considerar las senales es a travesde un enfoque determinista, en el cual una senal discreta es una secuencia denumeros correspondientes a los valores de amplitud de la senal en distintos ins-tantes de tiempo. En teorıa de la senal hay una gran variedad de herramientas(Transformada de Fourier, Transformada Z, etc.) que permiten la descripcionde senales deterministas en dominios distintos al tiempo. En lo referente a lossistemas, resulta interesante conocer como un sistema modifica la senal quetiene en su entrada, con el objetivo de ser capaces de disenar sistemas querealicen tareas de interes. Si un sistema se caracteriza adecuadamente y ensu entrada hay una senal determinista, se puede saber analıticamente cual esla senal determinista en su la salida. Parece razonable pensar, por tanto, queel enfoque determinista es de gran utilidad. Sin embargo, en la practica esteenfoque es poco util debido fundamentalmente a dos razones:

Habitualmente, la secuencia de entrada en un sistema discreto de interesno es unica. Ası por ejemplo, en comunicaciones, las senales suelen pro-venir de fuentes de informacion continuas o discretas, donde la forma deonda de la senal depende del mensaje que se transmite, el cual, habitual-mente no se conoce a priori. Asumiendo la variabilidad de la senal en laentrada de un sistema, el enfoque determinista tiene poco interes, ya quepor ejemplo, a la hora de disenar el sistema: ¿Cual serıa, de entre todaslas posibles, la senal que deberıamos considerar como senal de entrada?

La existencia de senales de naturaleza intrınsecamente aleatoria llamadasruido. El ruido es una senal impredecible debida a diversos fenomenos

233

Page 244: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

234 APENDICE A. SENALES ALEATORIAS DISCRETAS

fısicos que esta siempre presente (al menos en condiciones fısicas norma-les). Por ejemplo, en sistemas de comunicacion, uno de los principalesinconvenientes para una correcta deteccion o decodificacion, aparte de laatenuacion y la distorsion de la senal transmitida, es el ruido introducidoen el proceso de transmision-recepcion.

Estas dos razones hacen que, en la practica, sea necesaria una caracteriza-cion aleatoria o estadıstica en la que las senales se consideren realizaciones deprocesos estocasticos.

A.2. Procesos Estocasticos Discretos

Un proceso estocastico discreto (PED) x[n] asocia a cada instante discre-to de tiempo n una variable aleatoria x[n], constituyendo una concatenacion entiempo discreto de variables aleatorias. Desde otro punto de vista, cada reali-zacion xk[n] del proceso x[n], constituye una secuencia en la que la amplitudde cada muestra es el valor que ha tomado la variable aleatoria correspondien-te a ese instante de tiempo y en esa realizacion (Figura A.1).

Figura A.1: Proceso Aleatorio Discreto.

Page 245: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

A.2. Procesos Estocasticos Discretos 235

La existencia en la practica de procesos aleatorios discretos, o al menos desecuencias que se pueden considerar realizaciones de tales procesos, se debefundamentalmente a dos razones:

Muestreo de Procesos Continuos. En general, las fuentes de informaciondigital provienen del muestreo (discretizacion en el tiempo) de fuentesde informacion continuas, por lo que si la fuente continua se modela atraves de un proceso estocastico continuo x(t), su muestreo propor-cionara un proceso discreto x[n]. Ademas, en la practica, la amplitudde la secuencia resultante tambien se discretiza (cuantificacion) lo queda lugar a una secuencia error discreta llamada ruido de cuantificacion,que bajo ciertas circunstancias pueden modelarse como PED.

Generacion de Ruido en los Procesadores Digitales. Los procesadoresdigitales operan con precision finita, introduciendo errores (redondeo enlos calculos, almacenamiento en memoria, etc.) que se pueden modelarcomo PED.

A continuacion trataremos la caracterizacion estadıstica de los procesosestocasticos discretos.

A.2.1. Funciones de Distribucion y de Densidad de Probabili-dad

Si en un PED x[n] consideramos un instante de tiempo n, la varia-ble aleatoria x[n] puede caracterizarse a traves de su funcion de distribucionPx[n](x)

Px[n](x) = Prob x[n] ≤ x (A.1)

a traves de la cual podemos obtener su funcion de densidad de probabilidad(fdp) px[n](x)

px[n](x) =dPx[n](x)

dx(A.2)

que es funcion de dos variables, una continua x y otra discreta n. El significadofısico de la fdp es una funcion cuya integral proporciona probabilidad

Probx0 ≤ x[n] ≤ x1 =∫ x1

x0

px[n](x) dx (A.3)

Si consideramos dos instantes de tiempo, n1 y n2, la relacion estadıstica entrelas dos variables aleatorias x[n1] y x[n2] viene determinada totalmente a travesde la funcion de distribucion de segundo orden

Px[n1] x[n2](x1, x2) = P x[n1] ≤ x1, x[n2] ≤ x2 (A.4)

Page 246: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

236 APENDICE A. SENALES ALEATORIAS DISCRETAS

y su funcion de densidad px[n1] x[n2](x1, x2)

px[n1],x[n2](x1, x2) =∂2Px[n1] x[n2](x1, x2)

∂x1 ∂x2(A.5)

Estas definiciones pueden generalizarse para obtener la funcion de distribucionconjunta de n-esimo orden ası como su funcion de densidad de probabilidadconjunta correspondiente. En general, para caracterizar de forma completaun proceso deberıamos conocer la funcion de distribucion conjunta de ordeninfinito, informacion que en la practica no suele estar disponible. Por estarazon, en lugar de estas funciones se utiliza una caracterizacion a traves de losllamados promedios.

A.3. Promedios

Los promedios estadısticos o simplemente estadısticos, son parametros ofunciones que permiten una caracterizacion sencilla aunque incompleta de pro-cesos estocasticos. Los promedios pueden clasificarse en: aquellos que hacenreferencia a medidas instantaneas del proceso, esto es, caracterısticas del proce-so en cada instante de tiempo individual (promedios instantaneos), y aquellosque miden la dependencia que hay en el proceso en dos instantes de tiempo(promedios con memoria).

A.3.1. Promedios instantaneos

Los promedios instantaneos son tres:

Valor medio o Media µx[n] que se define como la esperanza de cadavariable aleatoria en cada instante de tiempo

µx[n] = Ex[n] =∫ ∞

−∞x px[n](x) dx (A.6)

siendo E· el operador esperanza matematica.

Valor cuadratico medio o Potencia Media Px[n] que se define como laesperanza de la variable aleatoria |x[n]|2 en cada instante de tiempo

Px[n] = E|x[n]|2 =∫ ∞

−∞|x|2 px[n](x) dx (A.7)

La Varianza σ2x[n], definida como

σ2x[n] = E|x[n]− µx[n]|2 (A.8)

Page 247: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

A.3. Promedios 237

que tambien es igual a

σ2x[n] = E|x[n]|2 − |µx[n]|2 (A.9)

La varianza σ2x[n] es una medida de cuanto pueden variar los valores

que toma un proceso aleatorio en cada instante de tiempo. De hecho, sila varianza de un proceso es 0 en todo n, entonces el proceso se puedecaracterizar exactamente de forma determinista.

Observe que los tres parametros anteriores dependen del instante de tiem-po considerado. Ademas, existen semejanzas entre estos parametros y otrossimilares utilizados en la caracterizacion de senales deterministas como porejemplo: valor medio u offset, potencia media de una senal y valor eficaz.La relacion entre ambos tipos de parametros se hara mas patente cuando seintroduzca mas tarde el concepto de ergodicidad.

A.3.2. Promedios con memoria

Existen dos tipos de promedios con memoria: los que hacen referencia ala dependencia que hay en un mismo proceso en dos instantes de tiempo yaquellos que muestran esa dependencia entre dos procesos distintos.

Entre los primeros estan:

La autocorrelacion Rxx[n1, n2]

Rxx[n1, n2] = Ex[n1] x∗[n2] =∫ ∞

−∞

∫ ∞

−∞x1 x∗2 px[n1] x[n2](x1, x2) dx1 dx2

(A.10)

La autocovarianza Cxx[n1, n2]

Cxx[n1, n2] = E (x[n1]− µx[n1]) (x[n2]− µx[n2])∗ (A.11)

Observe queRxx[n, n] = Px[n], Cxx[n, n] = σ2

x[n]. (A.12)

y que si la media del proceso es cero, autocorrelacion y autocovarianza coin-ciden. La autocorrelacion Rxx[n1, n2] es un promedio que mide el grado deparecido estadıstico del proceso en dos instantes de tiempo n1 y n2. La auto-covarianza tambien mide el parecido del proceso en dos instantes de tiempo,pero sin considerar sus medias. En ocasiones la autocorrelacion y la autocova-rianza se denotan mediante Rx[n1, n2] y Cx[n1, n2] respectivamente.

Page 248: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

238 APENDICE A. SENALES ALEATORIAS DISCRETAS

Los promedios con memoria que miden la dependencia entre dos procesosestocasticos distintos en dos instantes de tiempo son:

La correlacion cruzada Rxy[n1, n2]

Rxy[n1, n2] = Ex[n1] y∗[n2] =∫ ∞

−∞

∫ ∞

−∞x y∗ px[n1],y[n2](x, y) dx dy

(A.13)

La covarianza cruzada Cxy[n1, n2]

Cxy[n1, n2] = E (x[n1]− µx[n1]) (y[n2]− µy[n2])∗ (A.14)

Cabe destacar que todos los promedios, ya sean parametros o funciones, ca-recen de aleatoriedad, esto es, no varıan segun la realizacion del proceso sinoque representan al conjunto de todas las realizaciones.

A.4. PED Estacionarios

Los promedios proporcionan una caracterizacion mas simple del procesoque la funcion de densidad de probabilidad conjunta, pero aun ası, la caracte-rizacion se hace a traves de funciones de una variable (media, potencia media,varianza) o dos variables (autocorrelacion, covarianza). Existe una clase deprocesos, los procesos estocasticos estacionarios (en sentido amplio), que ad-miten una caracterizacion mas sencilla todavıa, y que se basan en las siguientespropiedades:

Los promedios instantaneos son independientes del instante n conside-rado

• Ex[n] = µx = cte.

• E|x[n]|2 = Px = cte.

• σ2x[n] = σ2

x = cte.

Los promedios con memoria dependen solo de la diferencia de tiemposcorrespondientes a las variables aleatorias consideradas

• Rxx[m] = E x[n + m] x∗[n]• Cxx[m] = E (x[n + m]− µx) (x[n]− µx)∗

Page 249: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

A.4. PED Estacionarios 239

En el caso de procesos estacionarios, la autocorrelacion es una medida delparecido estadıstico del proceso en un instante de tiempo y una version de eldesplazada m muestras o, de otra forma, el parecido que hay en el procesoentre dos instantes de tiempo distintos. En m = 0, el grado de parecido esmaximo ya que ambos procesos coinciden por lo que Rxx[0] constituye siempreun maximo de la autocorrelacion. Si m 6= 0, entonces la autocorrelacion mideel grado de parecido cuando el proceso se desplaza en el tiempo, o dicho deotro modo, del grado de memoria en funcion del tiempo que tiene el proceso.

La caracterizacion de los procesos estacionarios es sencilla puesto que lospromedios de primer orden son unicamente un parametro mientras que lospromedios con memoria son funciones de una unica variable (la diferencia detiempos).

A veces resulta interesante ver la dependencia entre dos procesos estacio-narios distintos. Dos procesos estacionarios x[n] e y[n] son conjuntamenteestacionarios (en sentido amplio) si cada uno lo es y su correlacion cruzadasolo depende de la diferencia de tiempos

Rxy[m] = E x[n + m] y∗[n] (A.15)

En ese caso, la covarianza cruzada es

Cxy[m] = E (x[n + m]− µx) (y[n]− µy)∗ = Rxy[m]− µx µ∗y (A.16)

A.4.1. Propiedades de los PED estacionarios

A continuacion se enumeran algunas de las propiedades de los promediosde primer y segundo orden.

1. Hermiticidad. A traves de un cambio de variable es facil demostrar que

Rxx[m] = R∗xx[−m]

Rxy[m] = R∗yx[−m]

Cxx[m] = C∗xx[−m]

Si ademas los procesos x[n] e y[n] son reales

Rxx[m] = Rxx[−m]

Rxy[m] = Ryx[−m]

Cxx[m] = Cxx[−m]

y por tanto las secuencias de autocorrelacion y autocovarianza son pares.

Page 250: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

240 APENDICE A. SENALES ALEATORIAS DISCRETAS

2. Suma de dos procesos x[n] e y[n] conjuntamente estacionarios.Si z[n] = ax[n] + by[n] entonces

Rzz[m] = |a|2Rxx[m] + ab∗Rxy[m] + a∗bRyx[m] + |b|2Ryy[m] (A.17)

y en el caso en que los procesos esten incorrelados (Rxy[m] = Ryx[m] =0):

Rzz[m] = |a|2Rxx[m] + |b|2Ryy[m] (A.18)

3. Funcion semidefinida positiva∑i

∑j

ai Rxx[i− j] aj ≥ 0, ∀ai, aj (A.19)

4. Maximo de la autocorrelacion y la autocovarianza

Rxx[0] ≥ |Rxx[m]|, ∀mCxx[0] ≥ |Cxx[m]|, ∀m (A.20)

A.4.2. Estacionariedad en el mundo real

Anteriormente se ha introducido el concepto de PED estacionario y se hanvisto las ventajas analıticas que este tipo de procesos tienen. No obstante,cabe preguntarse: en el mundo real, ¿existen PED estacionarios?. Uno de losprincipales inconvenientes para que la respuesta sea afirmativa, es que losprocesos estacionarios son de duracion infinita y por tanto, la estacionariedaddebe exigirse en todo instante de tiempo, desde n = −∞ hasta n = ∞. Sinembargo, en el mundo real toda senal util tiene un principio y un fin, porlo que necesariamente las propiedades del proceso varıan con el tiempo. Peroobviando este tema, ¿Cabe suponer que la estacionariedad se conserve mientrasdure la senal? La respuesta es en general negativa ya que, en la practica, laspropiedades estadısticas de los procesos de interes varıan con el tiempo. Peroaun ası, se asume que los procesos son estacionarios debido a las ventajasanalıticas que ello comporta. Ademas, existen procesos como por ejemplo lasenal de voz, que aunque no son estacionarios, cuando se analizan en intervalosde tiempo suficientemente pequenos conservan sus propiedades estadısticas.Esta estacionariedad local permite el diseno de sistemas adaptativos capacesde variar sus caracterısticas ajustandose adecuadamente a los cambios que seproducen en la senal.

Page 251: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

A.5. Procesos Ergodicos 241

A.5. Procesos Ergodicos

Para obtener los promedios de un PED estacionario, es necesario conocersus funciones de densidad de probabilidad de primer y segundo orden, funcio-nes que habitualmente no estan disponibles. Ademas, en la practica, la unicainformacion con la que habitualmente se cuenta es una realizacion del pro-ceso. No obstante, existen procesos estocasticos donde los promedios puedenobtenerse tanto a partir de las definiciones vistas hasta ahora como a partirde una unica realizacion xk[n] mediante los llamados promedios temporales.Estos procesos reciben el nombre de procesos ergodicos. Por tanto, si un pro-ceso estacionario es ademas ergodico en media, entonces la media temporal decualquier realizacion xk[n]

< xk[n] >= lımN→∞

12N + 1

N∑n=−N

xk[n] (A.21)

coincide con la media estadıstica µx. Si el proceso es ergodico en autocorrela-cion, entonces la autocorrelacion temporal de cualquier realizacion

< xk[n + m]xk[n] >= lımN→∞

12N + 1

N∑n=−N

xk[n + m]x∗k[n] (A.22)

coincide con la autocorrelacion estadıstica Rxx[m]. Por tanto, si el procesoes ergodico, la unica informacion necesaria para obtener la media y la au-tocorrelacion es una realizacion xk[n] cualquiera. Observe que los promediostemporales (A.21) y (A.22) constituyen las definiciones de media y autocorre-lacion en el caso de senales deterministas definidas en potencia. En la figuraA.2 se muestran las distintas formas de calcular los promedios de un proceso.En el caso del calculo de los promedios estadısticos, hay que fijarse en cadavariable aleatoria x[n] considerando su valor en las infinitas realizaciones delproceso (. . . , x−1[n], x0[n], x1[n], . . .). En el caso particular del calculo de la me-dia, para cada n obtendrıamos la media del proceso en ese instante. Si ademasel proceso es estacionario, es suficiente con calcular la media en un instante,ya que su valor permanece constante con el tiempo. A la hora de calcular lospromedios temporales, hay que fijarse en las realizaciones xk[n] del proceso ycalcular la media temporal de cada realizacion. Si el proceso es estacionario yergodico, entonces las medias temporales de todas las realizaciones coinciden(por lo que es suficiente con calcularla una vez) y a la vez, coinciden con lamedia estadıstica.

Una pregunta interesante es: en el mundo real, ¿Existen procesos ergodicos?

Page 252: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

242 APENDICE A. SENALES ALEATORIAS DISCRETAS

Figura A.2: Promedios estadısticos y temporales de un Proceso Es-tocastico Discreto.

La pregunta es difıcil de responder porque:

Para calcular los promedios temporales de una realizacion necesitamosla realizacion completa, esto es, desde n = −∞ hasta n =∞, lo cual esimposible ya que nuestra vida, al igual que la de la fuente de informacion,es finita.

Aunque tuvieramos el promedio temporal, para calcular el promedioestadıstico y de esta manera comprobar que coinciden, necesitarıamoslas infinitas realizaciones del proceso, lo cual es imposible.

Ademas, en el hipotetico caso en que tuviesemos disponibles las infinitasrealizaciones del proceso, la ergodicidad del proceso dejarıa de ser importante,puesto que nada impedirıa calcular a partir de ellas los promedios estadısticos.Aunque sea imposible comprobar la ergodicidad de un proceso en la practica,

Page 253: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

A.6. Densidad Espectral de Potencia 243

podrıamos asumirla si encontraramos razones que justificasen su aceptacion.Desafortunadamente resulta difıcil encontrar fenomenos fısicos donde esto seaposible. A pesar de todo esto, la ergodicidad es una propiedad que se sueleasumir ya que permite el calculo de promedios a partir de una unica realizacion.

No obstante, aun asumiendo ergodicidad, en la practica solo podemos dis-poner de una realizacion truncada en el tiempo (duracion finita) sobre la querealizar una estimacion del promedio en cuestion. Para cada realizacion, el es-timador temporal proporcionara un parametro o una secuencia, dependiendodel tipo de promedio (instantaneo o con memoria) buscado. Por tanto, el con-junto de parametros o secuencias, que potencialmente puede proporcionar elestimador al considerar todos las posibles realizaciones del proceso constituyenuna variable aleatoria o un proceso estocastico discreto respectivamente. Conel fin de ponderar la fiabilidad de un estimador se introducen los conceptosde sesgo y consistencia (ver problemas 5 y 6). Si la esperanza del estimadorcoincide con el promedio buscado, se dice que el estimador es insesgado. Si alconsiderar una realizacion de duracion infinita, la varianza del estimador escero, se dice que el estimador es consistente.

A.6. Densidad Espectral de Potencia

la Transformada de Fourier es una representacion especialmente util enprocesado de senal. Sin embargo, al igual que con los procesos estacionarioscontinuos, los procesos estacionarios discretos no admiten una caracterizacionfrecuencial a traves de la transformada de Fourier en la forma conocida paralas senales deterministas, debido a su naturaleza aleatoria y a que su duracion(infinita) no garantiza la convergencia de la integral de Fourier.

No obstante, podrıamos truncar las realizaciones del proceso, considerandosolo las 2N + 1 muestras centrales de cada realizacion:

n = −N, · · · ,−1, 0, 1, · · · , N

Como las secuencia que resultan del truncamiento son de energıa finita, tienenTransformada de Fourier

X(k)N (ejω) =

N∑n=−N

xk[n] e−jωn, (A.23)

Page 254: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

244 APENDICE A. SENALES ALEATORIAS DISCRETAS

y la consideracion de todas las posibles transformadas de Fourier darıa lugara un proceso aleatorio continuo (en ω)

XN (ejω) =N∑

n=−N

x[n] e−jωn . (A.24)

La potencia media de XN (ejω) es

E|XN (ejω)|2

=

N∑n1=−N

N∑n2=−N

Ex[n1] x∗[n2] e−jω(n1−n2) (A.25)

y haciendo el cambio de variable m = n1 − n2 y recordando que el procesox[n] es estacionario, se tiene

E|XN (ejω)|2

=

N∑n2=−N

N−n2∑m=−N−n2

Rxx[m] e−jωm (A.26)

En la expresion anterior, el segundo sumatorio siempre cuenta con 2N + 1terminos, los cuales dependen del valor del ındice n del primer sumatorio, taly como se muestra en la Figura A.3.

En la siguiente tabla se muestra el numero de veces que aparece cadatermino de la forma Rxx[m] e−jωm en la expresion (A.26).

-

-

-

−2N

−2N

−2N

−N N

0

0

0

2N

2N

2N

m

m

mn2 = −N

n2 = 0

n2 = N

...

...

Figura A.3: Conjunto de terminos Rxx[m] e−jω del segundo sumatoriode (A.26) en los casos n2 = −N, 0 y N .

Page 255: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

A.6. Densidad Espectral de Potencia 245

Terminos No de vecesRxx[−2N ]ejω2N y Rxx[2N ]e−jω2N 1

Rxx[−2N + 1]ejω(2N−1) y Rxx[2N − 1]e−jω(2N−1) 2... ...

Rxx[−1]ejω y Rxx[1]e−jω 2N

Rxx[0] 2N + 1

A partir de la tabla es facil convertir el doble sumatorio en uno solo obteniendo

E|XN (ejω)|2 = (2N + 1)2N∑

m=−2N

(1− |m|

2N + 1

)Rxx[m] e−jωm (A.27)

Sin embargo, la funcion anterior no representa al proceso x[n] sino a unaversion truncada de el. Para obtener una representacion que caracterice en fre-cuencia al proceso en su totalidad se define la Densidad Espectral de Potencia(DEP) de x[n] como

Sxx(ejω) = lımN→∞

E|XN (ejω)|22N + 1

(A.28)

lo cual conduce a

Sxx(ejω) =∞∑

m=−∞Rxx[m] e−jωm (A.29)

con lo cual la Densidad Espectral de Potencia y la Funcion de autocorrela-cion de un proceso son pares transformados (Teorema de Wiener-Khinchin).Al igual que ocurre con la autocorrelacion, la DEP de un proceso se denota aveces simplemente mediante Sx(ejω).

Observe que Sxx(ejω) es una funcion, no un proceso, ya que es la trans-formada de Fourier de la funcion de autocorrelacion del proceso (funcion de-terminista). Por tanto, la DEP hereda las propiedades de la T. de Fourier desecuencias, de forma que, Sxx(ejω) es una funcion periodica y de periodo 2π ydebido a la simetrıa de la funcion de autocorrelacion (Rxx[m] = R∗

xx[−m]), esuna funcion real. Ademas como la potencia no puede ser negativa, la DEP esuna funcion no negativa (Sxx(ejω) ≥ 0).

Teniendo en mente el T. de Wiener-Khinchin, la autocorrelacion del pro-ceso se puede obtener mediante

Rxx[m] =12π

∫ π

−πSxx(ejω) ejωm dω (A.30)

Page 256: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

246 APENDICE A. SENALES ALEATORIAS DISCRETAS

y recordando que la potencia media es la autocorrelacion del proceso evaluadaen m = 0, se obtiene

Px =12π

∫ π

−πSxx(ejω) dω (A.31)

lo cual justifica el nombre que hemos dado a esta funcion, ya que es una funcionque integrada en ω proporciona potencia. Por tanto, la Densidad Espectral dePotencia indica como esta distribuida la potencia en funcion de la frecuencia.Recuerde que existe una expresion similar en el caso de los procesos continuos,pero mientras en estos ultimos la integral se extiende desde −∞ hasta ∞, enel caso de procesos discretos se integra desde −π hasta π.

Si el proceso es real, la potencia en una determinada banda frecuencial(ω1, ω2), esto es, la potencia de la senal que resultarıa si se filtrara el procesoa traves de un filtro paso-banda ideal con banda de paso (ω1, ω2), es

P(ω1,ω2) =22π

∫ ω2

ω1

Sxx(ejω) dω = 2∫ f2

f1

Sxx(ej2πf ) df (A.32)

ya que como la DEP de un proceso real es una funcion par, es suficienteintegrar en el intervalo [ω1, ω2] y multiplicar el resultado por 2.

Resulta interesante recordar que para senales deterministas tambien exis-ten funciones similares a la DEP: Densidad Espectral de Energıa para senalesdefinidas en energıa y Densidad Espectral de Potencia para senales determi-nistas definidas en potencia.

Por otro lado, se puede definir un espectro cruzado entre dos procesosx[n] e y[n] conjuntamente estacionarios mediante

Sxy(ejω) = TFRxy[m] (A.33)

y de la misma formaSyx(ejω) = TFRyx[m] (A.34)

Estos espectros cruzados carecen de significado fısico (a diferencia de la DEP).Sin embargo, pueden utilizarse para comprobar ciertas caracterısticas de losprocesos que relacionan. Por ejemplo, si los procesos x[n] e y[n] ortogo-nales (Rxy[m] = 0), entonces Sxy(ejω) = Syx(ejω) = 0. Tambien pueden serutiles para estimar la respuesta frecuencial de sistemas LTI (problema 4) y ala hora de calcular la llamada Funcion de Coherencia

γxy(ejω) =Sxy(ejω)√

Sxx(ejω) Syy(ejω)(A.35)

Page 257: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

A.7. Filtrado de Procesos Discretos 247

que permite establecer el grado de linealidad que presentan dos procesos x ey en funcion de la frecuencia.

A.7. Filtrado de Procesos Discretos

Desde la perspectiva determinista, la secuencia de entrada y salida en unsistema LTI discreto con respuesta impulsiva h[n], estan relacionadas a travesde la convolucion lineal

y[n] =∞∑

k=−∞x[k]h[n− k] (A.36)

Desde el punto de vista aleatorio, cada realizacion del proceso en la entradax[n] da lugar a una realizacion del proceso de salida y[n] (Figura A.4),relacionadas tambien a traves de la convolucion lineal.

- -h[n]x[n] y[n]

Figura A.4: Filtrado de un proceso.

Resulta interesante relacionar los promedios del proceso de salida con losde la entrada. Desde aquı y hasta el final de la seccion, denotaremos mediantex[n] e y[n] a los PED x[n] e y[n] respectivamente. Asumiendo un procesode entrada estacionario, la media del proceso de salida es:

µy = E

∞∑

k=−∞x[n− k]h[k]

= Ex[n]∞∑

k=−∞h[k] = µx H(ej0) (A.37)

donde hay que recordar que la respuesta impulsiva es una secuencia determi-nista. La correlacion cruzada entrada-salida Rxy[m] es

Rxy[m] = E x[n + m] y∗[n]

= E

x[n + m]

∑k

x∗[n− k]h∗[k]

Page 258: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

248 APENDICE A. SENALES ALEATORIAS DISCRETAS

=∑k

h∗[k]Ex[n + m]x∗[n− k]

=∑k

h∗[k]Rxx[m + k]

= Rxx[m] ∗ h∗[−m] (A.38)

De forma analoga:Ryx[m] = Rxx[m] ∗ h[m] (A.39)

En cuanto a la autocorrelacion de la salida Ryy[m]

Ryy[m] = E y[n + m] y∗[n]

= E

y[n + m]

∑k

x∗[n− k]h∗[k]

=

∑k

h∗[k]Ey[n + m]x∗[n− k]

=∑k

h∗[k]Ryx[m + k]

= Ryx[m] ∗ h∗[−m]= Rxx[m] ∗ h∗[−m] ∗ h[m] (A.40)

Por lo que respecta a los espectros de las correlaciones, a partir de (A.38),(A.39) y (A.40) y considerando h[n] real, se obtiene

Sxy(ejω) = Sxx(ejω) H∗(ejω) (A.41)Syx(ejω) = Sxx(ejω) H(ejω) (A.42)Syy(ejω) = Sxx(ejω) H(ejω) H∗(ejω) = Sxx(ω) |H(ejω)|2 (A.43)

La ecuacion (A.43) es especialmente importante pues permite relacionar lasdensidades espectrales de los procesos de entrada y salida de un sistema LTI.

A.8. Ruido Blanco Discreto

El ruido blanco es un proceso estocastico de media nula caracterizado portener una DEP constante

Sww(ejω) = σ2w (A.44)

e igual a la varianza del proceso. La autocorrelacion es pues

Rww[m] = σ2w δ[m] (A.45)

Page 259: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

A.9. Problemas 249

con lo que en el ruido blanco no existe ninguna dependencia entre dos muestras,por muy cercanas que esten. A diferencia del ruido blanco continuo, su versiondiscreta si que tiene potencia media finita puesto que

Pw =∫ 0,5

−0,5Sww(ej2πf ) df = σ2

w (A.46)

por lo que es un proceso realizable, a diferencia del ruido blanco continuo.Aunque en las expresiones (A.44) y (A.46) se obtiene el mismo valor, noteseque el significado fısico es distinto: densidad espectral de potencia en el primercaso y potencia media en el segundo. Si el ruido blanco ademas tiene una f.d.p.gaussiana, se dice que es un ruido blanco gaussiano. No obstante, merece lapena recalcar que la gaussianidad no implica que el proceso sea blanco niviceversa. Si un ruido blanco se filtra a traves de un sistema LTI discreto,entonces la DEP del proceso de salida es

Syy(ejω) = σ2ww |H(ejω)|2 (A.47)

obteniendose un proceso de salida cuya DEP tiene la misma forma que |H(ejω)|2y recibe el nombre de ruido coloreado siendo su potencia media

Py =∫ 0,5

−0,5Syy(ej2πf ) df = σ2

ww

∫ 0,5

−0,5|H(ej2πf )|2 df = σ2

ww

∞∑n=−∞

|h[n]|2

(A.48)El termino

∑n |h[n]|2 recibe el nombre de ganancia del filtro para el ruido

blanco, ya que representa la ganancia en potencia que tiene el filtro unica-mente cuando la entrada es un ruido blanco. Esta magnitud constituye unacaracterıstica exclusiva del filtro.

En ocasiones, varios ruidos blancos independientes se suman dando lugara otro ruido

w[n] = w1[n] + w2[n] + · · ·+ wN [n] (A.49)

que tambien es blanco ya que su autocorrelacion es

Rww[m] = (σ21 + σ2

2 + · · · + σ2N ) δ[m] (A.50)

y su DEP esSww(ω) = σ2

1 + σ22 + · · · + σ2

N (A.51)

A.9. Problemas

1. La funcion de MATLAB randn permite generar ruido blanco gaussianode media cero y varianza unidad.

Page 260: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

250 APENDICE A. SENALES ALEATORIAS DISCRETAS

1.1. Genere una secuencia de ruido de longitud N = 16, de media ceroy varianza 9. Utilizando las funciones mean() y std() calcule la mediay la varianza de la secuencia generadas. ¿Que tipos de promedios hacalculado, estadısticos o temporales? ¿Los resultados obtenidos son losesperados? ¿Por que? ¿Como solucionarıa el problema?

1.2. Suponga que se pretenden calcular promedios, pero de forma es-tadıstica. Para ello, utilice MATLAB y sus funciones mean() y std().Segun los resultados obtenidos, ¿cree que el proceso considerado es es-tacionario? ¿y ergodico?

1.3. Un proceso MA (Moving Average) es un proceso basado en el modelo

x[n] =M−1∑k=0

bk w[n− k]

donde w[n] es ruido blanco gaussiano de media nula. El proceso MApuede ser visto como el filtrado del ruido blanco. ¿Cual es la respuestaimpulsiva del filtro? ¿Cual es la media del proceso MA? Si el filtro tieneuna respuesta impulsiva h[n] = b0, n = 0, . . . ,M − 1, ¿Cuales son loscoeficientes bk para que la varianza del proceso MA sea igual a la delruido?

1.4. Genere un ruido blanco de longitud N = 256 de varianza 9, y fıltrelopara obtener el proceso MA del apartado anterior con M = 16. Calculecon MATLAB la media y la varianza del proceso. Los valores obtenidos,¿Coinciden con los resultados teoricos? Comente los resultados.

2. Un proceso Autoregresivo de primer orden AR(1) esta caracterizado porla expresion

x[n] = w[n] + ax[n− 1]

donde w[n] es un ruido blanco de potencia σ2n.

2.1 Todo proceso AR se puede obtener mediante el filtrado IIR del ruidoblanco w[n]. ¿Cual es en este caso la respuesta impulsiva del filtro IIR?

2.2 Calcula la respuesta frecuencial del filtro y la DEP del proceso x[n].Comente como cambia la DEP en funcion del signo de a.

2.3 Calcule la autocorrelacion Rxx[m]. ¿Cual es la potencia del proceso?

Page 261: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

A.9. Problemas 251

3. La prediccion lineal es una tecnica de procesado de senal en la que seintenta predecir el valor de una muestra de un proceso x[n] a partir demuestras anteriores (Figura A.5). La base de esta tecnica es el predic-tor, un sistema que proporciona el valor predicho para x[n] mediantecombinacion lineal de muestras anteriores:

x =P∑

j=1

aj x[n− j]

siendo aj los coeficientes de prediccion y P el orden de prediccion. Elerror de prediccion e[n] es

e[n] = x[n]− x[n] = x[n]−P∑

j=1

aj x[n− j]

y los coeficientes de prediccion optimos deben de elegirse para minimizarla potencia de dicho error.

-

-

-

6

x[n]

Predictor

x[n]

e[n]-

Figura A.5: Prediccion de x[n].

3.1 Si x[n] es un proceso de media nula, obtenga las expresiones de losvalores de los coeficientes de prediccion optimos.

3.2 Suponga que el predictor utilizado es de orden 1, y que el proceso esautoregresivo AR(1). Calcule el coeficiente de prediccion optimo. ¿Cuales DEP del error de prediccion?

4. Una aplicacion de los espectros cruzados Sxy(ejω) es el calculo de res-puestas frecuenciales de sistemas LTI.

4.1 Suponga que un sistema LTI tiene en la entrada el proceso x[n]y en su salida el proceso y[n]. Demuestre que la respuesta frecuencial

Page 262: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

252 APENDICE A. SENALES ALEATORIAS DISCRETAS

del sistema se puede obtener a traves de

H(ejω) =Syy(ejω)Sxy(ejω)

H(ejω) =Syx(ejω)Sxx(ejω)

4.2 En muchas ocasiones la salida del sistema esta contaminada por rui-do aditivo, tal y como se muestra en la figura A.6, siendo unicamenteaccesibles las secuencias x[n] e y[n], lo cual puede complicar la deter-minacion de la respuesta frecuencial. Una posible situacion donde estoocurre es cuando el transductor utilizado para captar la salida es de peorcalidad que el de entrada, de forma que el ruido que introduce es muchomayor que el introducido para captar la entrada. Considere las siguientesrespuestas frecuenciales

H1(ejω) =Szz(ejω)Sxz(ejω)

H2(ejω) =Szx(ejω)Sxx(ejω)

¿Cual de las dos funciones proporciona una mejor estimacion de la res-puesta frecuencial? (Suponga que el ruido esta incorrelado con la senalde entrada)

4.3 En otras ocasiones se da la situacion contraria, esto es, la senalcaptada en la entrada esta contaminada por ruido (Figura A.7). En estecaso, ¿Cual de las dos medidas eligirıa?

4.4 ¿Y si, como se muestra en la Figura A.8, se tiene simultaneamenteruido en la adquisicion de la entrada w1[n] y la salida w2[n]?

5. Sea v[n] un proceso estocastico real estacionario de media µ y cuyasvariables aleatorias estan incorreladas

Ev[n] v[k] = Ev[n]Ev[k] = µ2, ∀n 6= k

Suponga ademas que la varianza de v[n] es σ2.

- - -?

x[n] Sist. LTI

w[n]y[n]

z[n]+

Figura A.6: Sistema LTI con ruido aditivo a la salida.

Page 263: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

A.9. Problemas 253

- -

?

?

x[n]

Sist. LTI

w[n]

z[n]v[n]

+

Figura A.7: Sistema LTI con ruido en la adquisicion de la entrada.

- - -

?

?

6

x[n]

Sist. LTI

w1[n]w2[n]

z[n]v[n]y[n]

+

+

Figura A.8: Sistema LTI con ruido aditivo en la adquisicion de laentrada y la salida.

a) Calcule y dibuje la funcion de autocorrelacion y la Densidad Es-pectral de Potencia del proceso.

b) Suponga ahora que un proceso x[n] se obtiene a partir de v[n]mediante

x[n] = v[n] + 3v[n− 1]

Calcule la media, la funcion de autocorrelacion y la Densidad Es-pectral de Potencia de x[n].

6. Sea el proceso estocastico definido como

x[n] = A cos(ω0n) + w[n]

donde A es una variable aleatoria de media cero y varianza σ2A y w[n] es

ruido blanco de media cero, independiente de A y varianza σ2w.

Page 264: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

254 APENDICE A. SENALES ALEATORIAS DISCRETAS

a) Compruebe si x[n] es un proceso estacionario y, en caso de que losea, calcule su Densidad Espectral de Potencia.

b) Repita el apartado anterior pero suponiendo que ahora x[n] es

x[n] = A cos(ω0n + φ) + w[n]

donde φ es una variable aleatoria uniformemente distribuida entre−π y π e independiente de A y w[n].

7. Sea x[n] un proceso estacionario de media desconocida (µx) del cualdisponemos de una realizacion x[n]. Definimos un estimador de mediamediante

µx =1

2N + 1

N∑n=−N

x[n]

¿Es un estimador insesgado? ¿Es consistente? ¿Que condicion debe decumplirse para que x[n] sea ergodico en media? ¿La cumple un procesoAR de primer orden, con 0 < ρ < 1?

8. Sea x[n] un proceso aleatorio estacionario. Para la obtencion de laautocorrelacion utilizamos el estimador

rxx[m] =1

2N + 1

N∑n=−N

x∗[n]x[n + m]

donde rxx[m] puede considerarse la realizacion de un proceso aleatoriorxx[m]. ¿El estimador es insesgado? ¿Bajo que condiciones es consisten-te?

Page 265: Tratamiento Digital de la Senal˜ - personales.upv.espersonales.upv.es/aalbiol/librotds/librotds07.pdf · Este libro tiene sus or´ıgenes en la experiencia adquirida en la imparticion

Bibliografıa

[1] F.J. Harris. On the use of wndows for harmonic analysis with the discretefourier transform. Proceedings IEEE, 66(1):51–83, january 1978.

[2] Simon Haykin. Adaptive Filter Theory. Prentice Hall, 3rd edition, 1996.

[3] Emmanuel C. Ifeachor and Barrie W. Jervis. Digital Signal Processing :A Practical Approach. Addison-Wesley, 1993.

[4] Steven M. Kay. Modern Spectral Estimation Theory and Application.Prentice Hall, 1988.

[5] S. L. Marple. Digital spectral analysis with applications. Prentice Hall,1987.

[6] Alan V. Oppenheim and Ronald W. Schaffer. Discrete-Time Signal Pro-cessing. Prentice Hall, 1989.

[7] Alan V. Oppenheim, Ronald W. Schaffer, and John R. Buck. Discrete-Time Signal Processing. Signal Processing. Prentice Hall, 2nd edition,1999.

[8] Alan V. Oppenheim and Alan S. Wilsky. Senales y Sistemas. PrenticeHall, 2nd edition, 1997.

[9] John G. Proakis and Dimitris G. Manolakis. Tratamiento Digital deSenales. Principios Algoritmos y Aplicaciones. Prentice Hall, 1997.

[10] Samir S. Soliman and Mandyam D. Srinath. Continuous and DiscreteSignals and Systems. Prentice Hall, 1998.

[11] Bernard Widrow. Adaptative signal processing. Prentice Hall, 1985.

255