procesamiento digital de señales

7
INTRODUCCIÓN AL PROCESAMIENTO DIGITAL DE SEÑALES AUTOR: JORDI PASCUAL GRANADO 1. Introducción: El procesamiento digital de señales es un área de la ciencia y la ingeniería que se ha desarrollado muy rápidamente durante los últimos 30 años y cuya aplicación se ha extendido ampliamente en campos muy diversos como la medicina, el ocio o las comunicaciones. Esto es consecuencia de los importantes avances logrados en la tecnología de computadores y la fabricación de circuitos integrados, que han propiciado la aparición de procesadores de propósito específico como los microcontroladores y los DSP (Digital Signal Processor). Gracias a este espectacular desarrollo de los procesadores digitales, hoy en día es posible aplicar toda la teoría de procesamiento digital de señales que se viene desarrollando desde los años 50 pero cuya aplicación fue inviable hasta principios de los 70, al menos con un coste competitivo respecto a los sistemas analógicos. 2. Evolución histórica del Procesamiento Digital de Señales: La primera vez que se pensó en usar una computadora como parte de un sistema de procesamiento de señales en tiempo real fue en 1950, cuando Brown y Campbell presentaron un esquema que usaba una computadora digital tanto en el lazo directo como el lazo de realimentación de un sistema de control. En esta primera propuesta se asumía el uso de elementos de computación analógicos además de la computadora digital, ya que la velocidad de procesamiento de los ordenadores era muy limitada, y debido a esto pasaron varios años hasta que se aplicara realmente un sistema en que el procesamiento de señales fuera completamente digital. Las primeras computadoras digitales desarrolladas específicamente para control en tiempo real fueron destinadas a operaciones del ejército del aire. En 1954 fue usada por primera vez con éxito una computadora digital para el sistema de control de vuelo automático de un avión. En 1959 se aplicó por primera vez un sistema de control por computador en la industria, aunque se habían usado antes como sistema de monitorización, pero no controlaban realmente los procesos. Este fue el primero que sí lo hacía y fue instalado en una refinería de la Texaco en Texas, haciendo uso de una memoria de tambor. A partir de este momento se siguieron implantando sistemas de control por computador en varias instalaciones industriales, pero todos ellos tenían una característica en común: el tipo de control realizado era control supervisor, es decir, el computador sólo daba consignas de funcionamiento a controladores analógicos que controlaban los actuadores del proceso. Por lo tanto el ordenador no controlaba directamente los procesos sino indirectamente a través de las consignas enviadas a los controladores analógicos. El primer sistema de procesamiento en tiempo real de control digital directo (DDC) fue implantado en Noviembre de 1962 en una planta industrial de amoniaco-sódico en el Reino Unido. Este sistema requería de una gran velocidad de procesamiento ya que controlaba directamente los actuadores a diferencia de los sistemas implantados hasta esa fecha. No obstante, a pesar de que se llevara a cabo este sistema con éxito, la baja velocidad de procesamiento y escasa capacidad de almacenamiento de las computadoras existentes hasta principios de los años setenta, mas el elevado coste de las mismas, impidió que el uso de los sistemas de control y procesamiento por computador se extendiera de forma masiva a nivel industrial. A partir de la década de los setenta, con el desarrollo de la integración de circuitos, la aparición de los microprocesadores y la importante reducción de costes, comenzó a hacerse viable la

Upload: jordi-pg

Post on 02-Jul-2015

358 views

Category:

Documents


4 download

TRANSCRIPT

INTRODUCCIÓN AL PROCESAMIENTO DIGITAL DE SEÑALES

AUTOR: JORDI PASCUAL GRANADO1. Introducción:

El procesamiento digital de señales es un área de la ciencia y la ingeniería que se ha desarrollado muy rápidamente durante los últimos 30 años y cuya aplicación se ha extendido ampliamente en campos muy diversos como la medicina, el ocio o las comunicaciones. Esto es consecuencia de los importantes avances logrados en la tecnología de computadores y la fabricación de circuitos integrados, que han propiciado la aparición de procesadores de propósito específico como los microcontroladores y los DSP (Digital Signal Processor). Gracias a este espectacular desarrollo de los procesadores digitales, hoy en día es posible aplicar toda la teoría de procesamiento digital de señales que se viene desarrollando desde los años 50 pero cuya aplicación fue inviable hasta principios de los 70, al menos con un coste competitivo respecto a los sistemas analógicos.

2. Evolución histórica del Procesamiento Digital de Señales:

La primera vez que se pensó en usar una computadora como parte de un sistema de procesamiento de señales en tiempo real fue en 1950, cuando Brown y Campbell presentaron un esquema que usaba una computadora digital tanto en el lazo directo como el lazo de realimentación de un sistema de control. En esta primera propuesta se asumía el uso de elementos de computación analógicos además de la computadora digital, ya que la velocidad de procesamiento de los ordenadores era muy limitada, y debido a esto pasaron varios años hasta que se aplicara realmente un sistema en que el procesamiento de señales fuera completamente digital.

Las primeras computadoras digitales desarrolladas específicamente para control en tiempo real fueron destinadas a operaciones del ejército del aire. En 1954 fue usada por primera vez con éxito una computadora digital para el sistema de control de vuelo automático de un avión.

En 1959 se aplicó por primera vez un sistema de control por computador en la industria, aunque se habían usado antes como sistema de monitorización, pero no controlaban realmente los procesos. Este fue el primero que sí lo hacía y fue instalado en una refinería de la Texaco en Texas, haciendo uso de una memoria de tambor.

A partir de este momento se siguieron implantando sistemas de control por computador en varias instalaciones industriales, pero todos ellos tenían una característica en común: el tipo de control realizado era control supervisor, es decir, el computador sólo daba consignas de funcionamiento a controladores analógicos que controlaban los actuadores del proceso. Por lo tanto el ordenador no controlaba directamente los procesos sino indirectamente a través de las consignas enviadas a los controladores analógicos.

El primer sistema de procesamiento en tiempo real de control digital directo (DDC) fue implantado en Noviembre de 1962 en una planta industrial de amoniaco-sódico en el Reino Unido. Este sistema requería de una gran velocidad de procesamiento ya que controlaba directamente los actuadores a diferencia de los sistemas implantados hasta esa fecha. No obstante, a pesar de que se llevara a cabo este sistema con éxito, la baja velocidad de procesamiento y escasa capacidad de almacenamiento de las computadoras existentes hasta principios de los años setenta, mas el elevado coste de las mismas, impidió que el uso de los sistemas de control y procesamiento por computador se extendiera de forma masiva a nivel industrial.

A partir de la década de los setenta, con el desarrollo de la integración de circuitos, la aparición de los microprocesadores y la importante reducción de costes, comenzó a hacerse viable la

implantación de sistemas de procesamiento y control digital en aplicaciones industriales y de comunicaciones. Esto propició la especialización de los microprocesadores para propósitos específicos, apareciendo los microcontroladores y procesadores digitales de señales (DSP), que han seguido evolucionando de manera exponencial hasta la actualidad. Esto no sólo ha permitido el uso de sistemas de procesamiento digital de señales en la industria, sino que se ha extendido durante los últimos años a otros campos como el ocio, las comunicaciones, la medicina, etc.

En la actualidad los sistemas de procesamiento digital de señales han sustituido casi por completo a los sistemas analógicos, gracias a la implantación de los DSP (Procesadores Digitales de Señales), que con un coste muy reducido pueden procesar señales de audio, video, comunicaciones, etc. con una calidad muy superior a la de los sistemas analógicos debido a que permiten realizar cálculos muy complejos en tiempo real, pudiendo aplicar técnicas como: filtros adaptativos, cancelación de eco, redes neuronales, etc. Que serían imposibles de desarrollar mediante sistemas analógicos.

3. Definición:

Según el Oxford Dictionary of Computing: “un sistema de tiempo real es cualquier sistema en el que el tiempo en el que se produce su respuesta es significativo. Esto es debido a que la entrada corresponde a algún cambio en el mundo físico, y la salida está relacionada con ese cambio. El intervalo desde el tiempo de entrada al tiempo de salida debe ser suficientemente pequeño para una puntualidad aceptable”.

Si el sistema de procesamiento es digital, podemos tomar esta definición de sistema de tiempo real como válida, pero para ello el sistema deberá cumplir la condición de que el periodo de muestreo sea inferior al intervalo de tiempo considerado como puntualidad aceptable. Realmente esta condición no es un añadido sino que se desprende de la propia definición.

4. Elementos que componen un sistema de procesamiento digital de señales:

Un sistema de procesamiento digital de señales está compuesto básicamente por los distintos bloques que se observan en la siguiente figura:

El primer bloque que nos encontramos es un filtro de entrada cuya función es acondicionar la señal para el siguiente bloque que es el conversor Analógico/Digital. Esto es necesario debido a que las señales analógicas generalmente no están limitadas en banda, es decir, su rango de frecuencias no está limitado sino que abarca todo el espectro, y según el teorema del muestreo, es necesario que las señales continuas que se vayan a muestrear con una frecuencia fs estén limitadas en banda a una frecuencia máxima de fs/2 para que no se produzca el efecto llamado aliasing (solapamiento) que puede llegar a distorsionar completamente la señal. Por lo tanto, es necesario introducir un filtro paso bajo que tenga frecuencia de corte en fs/2, para eliminar las componentes de frecuencias por encima de ésta.

El efecto del filtro sobre el espectro de frecuencias de la señal se ve en la siguiente figura:

El segundo bloque es el conversor A/D, que convierte la señal analógica de entrada en digital y está compuesto por dos bloques: un muestreador, que toma muestras de la señal en valores de tiempo discretos y múltiplos del periodo de muestreo Ts, y una etapa de digitalización, que obtiene un valor numérico a partir del valor analógico discretizado con un número de bits n. Son de vital importancia la elección de la frecuencia de muestreo fs y el tamaño de palabra del conversor A/D, que influirá en la precisión de las muestras tomadas. Así por ejemplo, con un tamaño de palabra de 8 bits tenemos 28 = 256 niveles para cuantificar el valor analógico, mientras que con un tamaño de palabra de 16 bits tenemos una precisión de 216 = 65536 niveles. El efecto de la frecuencia de muestreo es muy importante, ya que el filtro de entrada introduce una frecuencia de corte en fs/2 y por lo tanto mientras mayor sea fs mejor aproximada estará la señal de entrada. El efecto del muestreo en el espectro de la señal es la repetición del mismo periódicamente a una distancia fs, como se observa en la figura.

El siguiente bloque es el buffer de entrada o imagen de los datos de entrada, en el que se guarda memoria de las muestras anteriores de la señal de entrada para poder realizar cálculos con series de datos en lugar de usar valores de muestras aisladas.

Tras el bloque de imagen de entrada tenemos el bloque de procesamiento digital de la señal, en el que se realizan todos los cálculos numéricos con las muestras de la señal, y será realizado por un procesador digital, ya sea un ordenador de propósito general, un microcontrolador o un DSP.

La salida de datos es simétrica con la entrada, es decir, nos encontramos con un buffer de datos de salida en el que se irán guardando las muestras resultantes del procesamiento realizado por el procesador. Después estas muestras serán reproducidas con una frecuencia de muestreo fs por medio del conversor Digital a Analógico (D/A) y filtradas por el filtro de salida para eliminar las bandas de frecuencia centradas en múltiplos de fs. Esto es lo que se llama muestreo y reconstrucción, y lo que hace es convertir una serie de datos discreta en una señal continua.

5. Fundamentos de teoría de señales y sistemas discretos (Señales digitales)

Definimos señal como la variación de una magnitud física con el tiempo, espacio o alguna otra variable independiente. Por ejemplo s(t) = 2*Sen(wt) es una señal que depende de la variable independiente t.

Podemos distinguir entre cuatro tipos de señales en función del carácter de la variable de tiempo y de los valores que ésta toma:1. Señales de tiempo continuo: son señales que están definidas para todo valor de tiempo t y además el tiempo se evalúa en un intervalo continuo que puede variar desde -∞ a ∞. Es decir, son funciones de una variable continua.2. Señales de tiempo discreto: son señales que sólo están definidas en valores discretos de tiempo. Estos valores no tienen porque estar equidistantes, pero en la práctica se suelen tomar con un periodo constante llamado periodo de muestreo.

3. Señales de valores continuos: señales de tiempo continuo o de tiempo discreto que toma valores continuos de la magnitud que representa, es decir, en los instantes de tiempo en que se evalúa puede tomar cualquier valor dentro de un intervalo continuo.4. Señales de valores discretos: señales de tiempo continuo o de tiempo discreto que toman valores discretos de la magnitud que representan.

A menudo se suele confundir las señales digitales con las señales de tiempo discreto, pero hay que hacer una distinción entre ellas: las señales de tiempo discreto provienen de señales continuas muestreadas, mientras que las señales digitales son señales de tiempo discreto que además han sido cuantificadas, es decir, que son además de valores discretos.

En las siguientes figuras se observa claramente la diferencia entre una señal discreta y una señal digital (muestreada y cuantificada):

En esta figura se observa una señal continua que se va a muestrear, obteniendo la señal que se presenta en la siguiente figura:

La señal discreta (muestreada) tiene valores continuos en instantes de tiempo discretos, pero para digitalizar la señal es necesario cuantificarla, tal como se muestra en la siguiente figura.

Por tanto, el proceso de conversión de una señal analógica a una señal digital se divide en dos bloques como se muestra en la figura siguiente:

El objeto de este artículo son las señales digitales, sin embargo conviene tener presente que éstas provienen del muestreo y cuantificación de señales continuas, y por lo tanto representarán con mayor o menor precisión a éstas en función de los siguientes parámetros:

1. Frecuencia de muestreo: frecuencia con la que se toman valores de la señal continua. El resultado del muestreo de la señal es un tren de pulsos de distinta amplitud.

2. Rango del conversor A/D: intervalo entre los valores máximo y mínimo que el conversor A/D puede convertir de valor analógico a digital.

3. Nivel de cuantificación Q: se define como el rango entre dos puntos de codificación adyacentes y depende del número de bits que usemos para la digitalización. Por ejemplo, para un conversor cuyo rango de variación de voltaje sea 0-10 V y use 8 bits para la conversión tendrá una resolución de 10/28 = 0.039V.

Por tanto, mientras mayor sea la frecuencia de muestreo y mayor el número niveles de cuantificación, más fielmente representará la señal digital a la señal continua.

6. Sistemas discretos

Ya hemos definido lo que es una señal digital, pero el interés de trabajar con ellas es poder procesar señales numéricamente, y esto es lo que hacen los sistemas de control discretos. Un sistema de control discreto recibe una secuencia de valores numéricos, los procesa mediante un algoritmo matemático y produce una salida digital que será otra secuencia de valores numéricos. De esta manera, si los sistemas continuos se representan matemáticamente por una ecuación diferencial, los sistemas discretos se representan matemáticamente por una ecuación en diferencias, que expresada de un modo genérico es: y(k) = H[ y(k-1), ..., y(k-n), x(k), ..., x(k-m) ]

Con un conjunto de condiciones iniciales y(0), ..., y(n-1) que definen unívocamente la solución y(k). Una ecuación en diferencias dada de esta forma se dice que representa a un sistema recursivo, ya que los valores futuros de la salida dependen de los valores pasados de la misma, en cambio, se dice que

un sistema es no recursivo si los valores futuros de la salida sólo dependen de los valores pasados de la entrada pero no de la salida, es decir, la expresión matemática que los representa es de la siguiente forma: y(k) = H[ x(k), x(k-1), ..., x(k-n) ]

Cuando el sistema es lineal, es decir, cumple el principio de superposición, la ecuación en diferencias que lo representa queda de la siguiente manera:

(recursivo) a0.y(k) + ... + an-1.y(k-n+1) + an.y(k-n) = b0.x(k) + ... + bm.x(k-m)

(no recursivo) y(k) = b0u(k) + b1u(k-1) + ... + bnu(k-n)

donde los valores de los coeficientes ai y bi pueden ser variables con el tiempo. Si son constantes para todo k, se dice que el sistema es Lineal e Invariante en el Tiempo (LTI).

Nos vamos a centrar en el estudio de sistemas discretos lineales, ya que existen numerosas técnicas numéricas para el análisis y diseño de sistemas lineales, y además gran cantidad de sistemas prácticos son lineales o se pueden linealizar.

7. Respuesta de sistemas Lineales Invariantes en el Tiempo (LTI)

Hemos visto que los sistemas discretos lineales se caracterizan por una ecuación en diferencias, pero otra forma de caracterizarlos es mediante la respuesta ante una entrada impulso unitario δ(k), ya que una cualquier señal discreta se puede descomponer en una suma de impulsos unitarios multiplicados por constantes, y esto nos permite calcular la respuesta de un sistema LTI a cualquier señal aplicando el principio de superposición si conocemos la respuesta ante un impulso δ(k). Esto se puede observar en la figura siguiente:

Se puede observar que la señal discreta representada en la figura está compuesta por una serie de impulsos unitarios δ(n-k) multiplicados por distintas amplitudes, por lo que se puede expresar como:

∑=

−=n

kknkxnx

0)().()( δ

y por lo tanto se puede calcular la salida de un sistema LTI frente a esta señal si se conoce la repuesta a un impulso unitario δ(n) aplicando el principio de superposición. De esta manera, si la respuesta a impulso de un sistema lineal es una secuencia finita de valores h0, h1, ..., hm, se tiene que para una señal x(n) la salida será:

∑=

−=m

kk knxhny

0)(.)( para n = 1, 2, 3, ...

Esto es lo que se llama suma de convolución, debido a que es la convolución de la respuesta a impulso h(n) sobre la señal de entrada x(n). Observamos que por este método calculamos la respuesta del sistema a una señal arbitraria realizando m multiplicaciones y m sumas para cada muestra, de manera que si tomamos m muestras realizaremos m2 multiplicaciones y m2 sumas.

Hemos visto que un sistema lineal invariante en el tiempo queda caracterizado por su respuesta a impulso h(n), pero es conveniente hacer una subdivisión de éstos en dos tipos:

1. Sistemas FIR (Finite Impulse Response): son aquellos cuya respuesta ante un impulso unitario tiene una duración finita. La salida se puede calcular usando la suma de convolución ya que el número de operaciones es finito:

∑=

−=m

kk knxhny

0)(.)(

2. Sistemas IIR (Infinite Impulse Response): son aquellos cuya respuesta ante un impulso unitario tiene una duración infinita. Para este tipo de sistemas la respuesta ante una señal arbitraria es una suma infinita,

∑∞

=−=

0)(.)(

kk knxhny

y por lo tanto la respuesta del sistema se debe calcular por otro método, como por ejemplo resolviendo la ecuación en diferencias que lo representa, que generalmente viene dada de forma recursiva para sistemas IIR:

)(...)()()1(...)( 010 mkxbkxbnkyankyakya mnn −++=−++−++ −

En muchos casos prácticos, la respuesta de un sistema IIR estable (si es estable cumple que la respuesta ante un impulso unitario tiende a cero cuando t tiende a infinito) se puede aproximar por una respuesta FIR. Esto es interesante para el diseño de filtros digitales adaptativos, ya que su diseño es bastante más sencillo para filtros FIR que para filtros IIR. Por otro lado, los sistemas FIR son inherentemente estables, ya que producen la salida a partir de la suma de un número finito de términos, mientras que los sistemas IIR producen la salida a partir de la suma de una serie infinita de términos, y por lo tanto pueden divergir volviéndose inestables. Esta es la razón por la que normalmente se prefiere usar filtros digitales de tipo FIR en lugar de usar filtros IIR, y más aún cuando se trata de filtros adaptativos que cambiarán a lo largo del tiempo y no se puede asegurar que no se vuelvan inestables en algún momento.

Bibliografía:

[1] John G. Proakis and Dimitris G. Manolakis. Introduction to Digital Signal Processing. Macmillan Publishing Company, 1989.

[2] Paul A. Lynn and Wolfgang Fuerst. Introductory Digital Signal Processing with Computer Aplications. Ed. Wiley & Sons. 1989.

[3] Oppenheim, A. V. and Willsky, A. S. Signals and Systems. Prentice Hall, 1983.[4] Jorge Luis Martínez Rodríguez. Control de Procesos Industriales. Universidad de Málaga,

Octubre de 1997.[5] Javier Fernández de Cañete, M. J. López Baldán, I. Garcia Moral. Control Automático de

Sistemas en tiempo discreto. Universidad de Málaga, Diciembre de 1997.