Tratamiento De Señales Digitales
Short Description
Tratamiento de señales digitales...
Description
TRATAMIENT O DE TRATAMIENT SEÑAL SEÑA L ES DIGIT D IGITALES ALES
Señales digitales Vamos a estudiar sistemas lineales que trabajan con señales temporales. Hasta ahora hemos trabajado con datos multidimensionales pero estáticos, que nunca dependían del tiempo, como la clasificación de patrones. El tiempo establece un orden en la entrada de datos, i.e. los datos están indexados por una variable continua t. Los llamaremos señales temporales o series temporales. Esto da lugar a una estructura en el espacio de entrada que debe ser organizada mediante topologías adecuadas.
Señales digitales La mayor parte de lo que percibimos del mundo son fenómenos que existen en el tiempo. Los mensajes están asociados a variables físicas (la presión en el oído, ondas luminosas en la vista, etc.) que pueden ser interpretadas como funciones reales de variable real D = x(t). El tiempo es continuo y las funciones son continuas. A estas señales se las llama señales analógicas. Normalmente imponemos restricciones para simplificar el desarrollo, que no afecten a las conclusiones. Supondremos que las funciones son suaves (derivables) y tienen una cantidad finita de energía: ∞
x 2 (t )dt < ∞
−∞
Señales digitales Los ordenadores no pueden trabajar directamente con señales analógicas (continuas). Es necesario transformarlas en discretas mediante un proceso que consiste en tomar los valores de la función en diferentes valores del tiempo:
x ( n0 ) = x (t ) |t = n0 físicamente esto se implementa en un convertidor analógico a digital (A/D)
A/D
Señales digitales A/D
Así transformamos una función real en una sucesión de números reales: , x(2T ) , , ... x( NT NT ) { x(nT )} )} = x(T ) ,
y la variable se transforma en un número entero de modo que se puede almacenar en un número finito de bits. El problema consiste ahora en decidir cual debe ser el intervalo T que se elige de modo que no se pierdan las características características esenciales de la señal
Señales digitales El teorema de Nyquist dice que x(t ) puede ser recuperada con precisión y los datos x(nT ) contienen toda la información necesaria para reconstruir la señal analógica si el inverso del intervalo, es decir la frecuencia elegida cumple
f s =
1 T s
> 2 f max
donde f max es la frecuencia máxima de la señal.
Procesamiento digital Se puede considerar una señal digital , x(2T ) , , ... x( NT NT ) { x(nT )} )} = x(T ) ,
o simplificando la notación x
= [ x(n) , , x(n-1) , , ... x(n-N+1) ]t
como un vector de longitud N
Procesamiento digital Suponiendo una base ortonormal φ0, .. φ N-1se puede escribir en términos de las proyecciones: proyecciones: N −1
x =
N −1
x(i )φ i = i =0
x(i )δ(n − i ) i =0
ì1 si n = 0 δ(n) = í 0 si n ≠ 0 Lo que quiere decir que para representar una señal discreta de longitud N necesitamos el valor actual y los N-1 anteriores. Un delay (operador que retrasa la señal en un tiempo sin modificarla) es la topología natural para implementar esta descomposición. descomposición.
Procesamiento digital x(n)
x(n-1) z-1
z es el operador delay en el campo complejo, dado por z = esT donde s=σ + i w y T es el periodo.
Procesamiento digital En cada momento el vector señal cambia su posición en el espacio creando una trayectoria que se denomina trayectoria de la señal
Procesamiento digital
La diferencia con los problemas estáticos es que al añadir un nuevo dato x(n+1) el vector x que se genera tiene todas las componentes del anterior salvo la x(n-N+1) que desaparece para dejar sitio al nuevo dato. Todos los valores intermedios siguen almacenados pero en diferente posición. El vector así generado no es demasiado diferente del anterior y produce una trayectoria en espiral, mientras que en los problemas estáticos no hay ninguna relación entre un patrón y otro.
Procesamiento digital Si queremos analizar una señal discreta y periódica con 1.000.000 de datos, necesitaríamos un espacio de dimensión 1.000.000, completamente intratable. Si lo consideramos como una señal temporal, podemos limitar la posición de la trayectoria de la señal a un espacio de dimensión mucho menor (bastaría la longitud del periodo) y analizar la señal original como una trayectoria en dicho espacio.
Procesamiento digital Una de los objetivos del procesamiento digital es encontrar la dimensión del espacio de reconstrucción que cuantifica apropiadamente las características de la señal. El tamaño del este espacio determina la longitud N de una ventana de tiempo que se desliza sobre toda la serie. Tamaño que corresponde a la dimensión del espacio de reconstrucción.
Procesamiento digital La elección de la dimensión no es trivial, ya que depende entre otras cosas de los objetivos del proceso. Si reconstruimos la trayectoria del ejemplo anterior en un espacio bidimensional, aparecerá una trayectoria diferente, lo que puede complicar el procesamiento de la señal
Filtros Un sistema lineal FIR (finite impulse response) es un sistema cuya respuesta es finita y se calcula como combinación lineal de los valores anteriores de la entrada. N
y ( n) =
wi x( n − i ) i =0
Donde los wi son los pesos o coeficientes del filtro, o, en T T notación vectorial: y (n) = w x(n) = x ( n) w
Filtros
Así un sistema lineal crea una proyección de la entrada sobre un vector w definido por los parámetros del sistema y está contenido en el hiperplano generado por los últimos datos de la señal.
Filtros
Dependiendo de la posición relativa del vector de pesos y de la trayectoria de la señal, esta proyección puede que preserve la mayor parte de la información de la señal o, por el contrario, que la distorsione seriamente. El trabajo del diseñador consiste en elegir la dirección de la proyección de modo que se conserve la información esencial de la señal.
Análisis en el tiempo de sistemas lineales Una manera de describir un sistema lineal es por medio de la respuesta a un impulso h(n), la respuesta en tiempo 0 cuando la entrada es δ(n). La respuesta transitoria (transient response) es el tiempo que tarda el sistema en estabilizarse ante una entrada constante. La respuesta a un impulso describe completamente un sistema lineal, para el filtro estudiado sería: N
y ( n) =
wi δ( n − i ) i =0
es decir, una función de tiempo con valores iguales a los pesos h(i)=wi por lo que será finita (máximo N +1 +1 valores)
Análisis en el tiempo de sistemas lineales La respuesta a un sistema lineal frente a una entrada arbitraria se puede calcular por la convolución de la entrada con la respuesta a un impulso del sistema h(n): ∞
y ( n) = x( n) * h( n) =
x( n − i ) h(i ) i = −∞
Si el filtro se inicializa a 0, para n=0, y(0)=w0 x(0), para n=1, y(1)=w0 x(1)+w1 x(0), para n=2, y(1)=w0 x(2)+w1 x(1)+w2 x(0) N
para n=N, y ( N ) =
wi x( N − i ) i =0
y para un segmento de señal de longitud M tiene M+N-1 sumandos
Análisis en el tiempo de sistemas lineales Una aplicación importante de esta técnica es la llamada detección, búsqueda de una señal oculta por un ruido. Se crea un filtro cuyos pesos son los datos, conocidas a priori, de la señal. Este filtro maximiza la salida de la señal sobre el ruido circundante. De esta manera, observando los picos de la salida se puede detectar dónde se encuentra la respuesta transitoria de la señal a pesar del ruido. Este tipo de filtros se usan frecuentemente en comunicaciones como receptores óptimos.
Análisis en el tiempo de sistemas lineales Hasta ahora hemos estudiado filtros de respuesta finita al impulso (FIR), otro tipo, los de respuesta infinita (IIR), contiene a los sistemas recurrentes, como por ejemplo el sistema:
y ( n) = (1 − µ ) y ( n − 1) + x (n)
Análisis en el tiempo de sistemas lineales La respuesta de este sistema al impulso δ(n) es:
h(0) = 0 + 1 h(1) = (1 − µ ) + 0 2 h( 2) = (1 − µ ) + 0 n h( n) = (1 − µ ) + 0
que es infinita.
Análisis en el tiempo de sistemas lineales Si 0 < µ < 1 h(n) tiende a 0 con una velocidad que dependerá del coeficiente de retroalimentación µ. Se puede considerar 0 después de un tiempo finito n0. El sistema será afectado por cualquier entrada que le sea aplicada. Para µ < 0 o µ > 2 la respuesta diverge para condiciones iniciales 0. La respuesta al impulso nunca desaparece y prácticamente prácticamente no es afectado por las entradas.
Análisis en el tiempo de sistemas lineales El sistema se considerará estable si a una entrada finita, corresponde una respuesta finita, eso significa que la suma de los valores de respuesta al impulso debe ser finita. En sistemas recurrentes, en los que la relación viene dada por los parámetros de retroalimentación, la estabilidad se garantiza por la condición |1 - µ| < 1
Análisis en el tiempo de sistemas lineales Este sistema es un buen método para describir sistemas lineales, pero no es muy práctico porque: •La salida del sistema no puede ser calculada por evaluaciones sucesivas (ya que requiere la convolución entre la entrada y la respuesta al impulso) •El cálculo de la respuesta requiere un número de multiplicaciones multiplicaciones del orden de O(N 2) •No es muy adecuada para calcular el efecto de los sistemas lineales como filtros, que es el objetivo del tratamiento de señales lineales. Debemos buscar métodos que puedan ser usados para describir sistemas y calcular su respuesta en evaluaciones sucesivas con un menor coste.
Análisis en la frecuencia de sistemas lineales Esta técnica está basada en el análisis de Fourier. Consiste en descomponer la señal en energía por frecuencia y se denomina análisis espectral. Se descompone la señal en forma compleja:
e
snT
=e
anT + i∆ωnT
donde s es una variable compleja, n es un entero, a y ∆ω son reales y T es el periodo. ω es la resolución de la frecuencia, es inversa del tiempo y se considera como el incremento de frecuencia más pequeño que puede ser representado en NT segundos (∆ω = 2π/ NT NT ) También se puede considerar como la frecuencia menor que puede ser medida en una ventana de NT segundos.
Análisis en la frecuencia de sistemas lineales La señal {x(n)}se proyecta en la base ortonormal formada por los vectores X ( k )
= ei∆ωkT = e
k i 2π N
. Cada uno de
ellos describe una elipse en el espacio de señales. A esto se le llama análisis armónico o de Fourier. X(k ) es el k-esimo coeficiente de Fourier y el conjunto se denomina Serie de Fourier Discreta (DFS) de x(n) o espectro de x(n).
Análisis en la frecuencia de sistemas lineales Los X(k ) son periódicos respecto a N y se pueden descomponer en magnitud, simétrica respecto a N/ 2 y fase, antisimétrica respecto a N/ 2. 2. Es fácil calcularlos mediante un algoritmo del orden O(NlogN) llamado fast Fourier transform (FFT)
Análisis en la frecuencia de sistemas lineales Además como la longitud de un vector es independiente de las bases si éstas son ortonormales, no se pierde información.
La transformada Z y la función de transferencia Hemos usado el análisis espectral aplicado a señales, ¿se puede aplicar el mismo principio a sistemas?. Un sistema se describe por su respuesta al impulso, que puede ser considerado como una señal, pero este camino no es eficiente ya que requiere un conocimiento a priori de la respuesta al impulso. La salida de un sistema se puede calcular: •Mediante la convolución de la respuesta al impulso con la entrada •Generando las salidas mediante la ecuación de diferencias
La transformada Z y la función de transferencia La ecuación de diferencias da un algoritmo para calcular la salida del sistema, pero no predice lo que va a suceder a las características de la señal que entra, ya que el sistema y la entrada están mezcladas en la misma ecuación. Sería conveniente separar la función del sistema de la entrada. ∞
La transformada transformad a Z X ( z ) =
x( n) z − n convierte ecua-
n = −∞
ciones en diferencias en ecuaciones algebraicas, por ejemplo en el operador delay: ∞
D ( z ) =
δ( n − 1) z − n = z −1
n = −∞
La transformada Z y la función de transferencia Si aplicamos la transformada Z al combinador lineal: ∞
n
Y ( z ) =
wi x(n − i ) z n = −∞ i = 0
−n
æ ∞ − n ö = wi ç x(n − i ) z i =0 è n =−∞ N
N æ ∞ − n −i ö = X ( z ) wi z −1 = X ( z ) H ( z ) wi ç x(n) z i =0 i =0 è n = −∞ N
Donde Y(z) y X(z) son las transformadas Z de la salida y la entrada respectivamente. H(z) es la denominada función de transferencia que describe el comportamiento del sistema lineal. La salida se obtiene así multiplicando la transformada de la entrada y la función de transferencia.
La respuesta de frecuencia Podemos también construir la respuesta de cualquier sistema lineal S mediante el cálculo de la respuesta del sistema a cada uno de los vectores de la base ortonormal: N
y (n) = S ( x( n)) = S
N
α k e k = 0
iω k n
=
N
α k H (e k = 0
iω k n
)=
α k λ k e
iω k n
k = 0
Lo que significa que cualquier sistema lineal afecta a la fase y a la amplitud de cada frecuancia de la señal de entrada y que el efecto puede ser calculado independientemente en cada frecuencia. iω n
Las cantidades λ k = H (e k ) representan el efecto del sistema lineal en cada frecuencia y se denominan respuesta de frecuencia.
La respuesta de frecuencia Y (e
iω k n
) = H (e
iω k n
) X (e
iω k n
)
Esta relación es muy importante ya que nos permite predecir lo que va a suceder con la señal de entrada al atravesar el sistema lineal y por tanto especificar a través del diseño la respuesta del sistema para conseguir los objetivos de proceso que busquemos. La gran ventaja de la respuesta de frecuencia es que la inversa puede ser calculada mediante el algoritmo FFT mientras que con la función de transferencia se requiere el cálculo de la transformada Z, mucho más difícil.
Respuesta de frecuencia, polos y ceros Un aspecto que los ingenieros suelen usar es la predicción de la respuesta de frecuencia mediante los polos y los ceros de la función de transferencia. Estos se pueden calcular fácilmente a partir de la ecuación en diferencias:
y (n) − (1 − µ ) y (n − 1) = x(n) − Y ( z ) = [1 − (1 − µ ) z 1 ] = X (n)
.
H ( z ) =
1 1 − (1 − µ ) z
−1
=
z z − (1 − µ )
Que indica que la función de transferencia tiene un cero en z = 0 y un polo en z = 1 - µ
Respuesta de frecuencia, polos y ceros La forma de la respuesta de frecuencia λ k = H (e iω k n ) de pende exclusivamente de la situación de los polos y los ceros de la función de transferencia transferencia La respuesta de frecuencia puede ser obtenida gráficamente considerando la respuesta del sistema como una tienda de campaña colocada alrededor del círculo unidad. Un polo es uno de los soportes de la tienda y un cero una de las clavijas. La altura del soporte es la inversa de la distancia del polo al círculo unidad y la longitud de la clavija proporcional a la distancia del cero. Un valor alto en una frecuencia dada significará que esa frecuencia quedará amplificada, mientras que uno bajo que será atenuada.
Respuesta de frecuencia, polos y ceros
Cuanto mas cerca estén las singularidades (polos o ceros) del círculo unidad, mayores serán sus efectos (picos escarpados y valles estrechos respectivamente). La relación entre las singularidades y sus efectos en la frecuencia de respuesta es muy importante, porque conocida la situación de ceros y unos se pueden predecir los efectos que producirán sobre la señal de entrada
Tipos de filtros lineales Podemos diseñar la función de transferencia para que efectúe la operación deseada. Por ejemplo si la señal está contaminada por ruido de alta frecuencia se puede diseñar un sistema que multiplique las frecuencias bajas por números cercanos a1 y las altas por cercanos a 0 (lowpass filter)
ì1 H ( k ) = í 0
k < k 0 k > k 0
Tipos de filtros lineales Otros tipos de filtros son: highpass, para atenuar ruidos de baja frecuencia, bandpass, que sólo permite el paso de una banda de frecuencias o stopband, que corta una banda.
Tipos de filtros lineales Se pueden diseñar filtros mediante optimización, i.e. dando la respuesta deseada y dejando que sea el combinador lineal el que elija el mejor conjunto de pesos para cumplir las condiciones pedidas. En cualquier caso, los filtros lineales sólo trabajan bien si el ruido no se superpone a la señal, en otro caso, al atenuar el ruido, atenuaremos también la señal. Aquí es donde son necesarios otros filtros no lineales y más sofisticados.
View more...
Comments