Empresa de Servicios Integrados en Tecnología ESIT Por: Ing. Avid Roman Gonzalez Ing. Avid Roman Gonzalez 3-1 Empresa de Servicios Integrados en Tecnología ESIT PROCESAMIENTO DIGITAL DE SEÑALES 3.1 INTRODUCCION El Procesamiento Digital de Señales es un método que consiste en procesar señales del mundo real (representadas por una secuencia de números) usando técnicas matemáticas para realizar transformaciones o para extraer información. En la mayoría de los casos, estas señales se originan con datos sensoriales recibidos del mundo real: vibraciones sísmicas, imágenes visuales, ondas de sonido, etc. El Procesamiento Digital de Señales es la matemática, los algoritmos, y las técnicas usadas para manipular estas señales después de que estas hayan sido convertidas a un formato digital. Una señal digital es un lenguaje de 1s y 0s que pueden ser procesados matemáticamente. Las señales analógicas son señales del mundo real que experimentamos cada día (vibración, sonido, luz, temperatura, presión, etc.). Una señal digital es una representación numérica de una señal analógica. En el mundo real, podemos convertir estas señales en señales digitales a través de un proceso de conversión analógico digital, procesar las señales, y si es necesario regresar estas señales al mundo analógico a través de un conversor digital analógico. 3.2 SEÑALES Y SISTEMAS 3.2.1 SISTEMAS Un sistema físico es un conjunto de dispositivos conectados entre sí, cuyo funcionamiento está sujeto a leyes físicas. Desde nuestro punto de vista, es todo aquello que realiza un proceso sobre una señal = un procesador de señal. Ing. Avid Roman Gonzalez 3-2 Empresa de Servicios Integrados en Tecnología ESIT La representación de un sistema en tiempo continuo se realiza normalmente a través de ecuaciones diferenciales. Se relacionan la salida y(t) y la entrada x(t) mediante constantes, parámetros y variables independientes (tiempo): a0 d n y (t ) d n −1 y (t ) dy (t ) d m x(t ) dx(t ) ( ) a a a y t b + + ... + + = + ... + bn −1 + bm x(t ) 1 n −1 n 0 n n −1 m dt dt dt dt dt La representación de un sistema en tiempo discreto se realiza por su ecuación en diferencias o por su diagrama de bloques. N −1 y[n] = − ∑ ak × y[n − k ] + ∑ bk × x[m − k ] k =0 3.2.2 CLASIFICACION DE LOS SISTEMAS – Lineales: Los coeficientes no dependen de x ó y. No hay términos constantes. – No lineales: Los coeficientes dependen de x ó y. Hay términos constantes. – Invariantes en el tiempo: Los coeficientes no dependen del tiempo (t). – Variantes en el tiempo: Los coeficientes son funciones explícitas del tiempo (t) Propiedades que definen los sistemas: – Continuos. Ing. Avid Roman Gonzalez 3-3 Empresa de Servicios Integrados en Tecnología ESIT – Discretos – Lineales – Invariantes en el tiempo – Con Memoria. – Invertibles – Causales – Estables e Inestables 3.2.2.1 SISTEMAS LINEALES Sea y1(t) la respuesta de un sistema a una entrada x1(t), y sea y2(t) la salida correspondiente a la entrada x2(t). Entonces el sistema es lineal si : 1. La respuesta a x1(t)+ x2(t) es y1(t)+ y2(t) PROPIEDAD de ADITIVIDAD 2. La respuesta a kx1(t) es ky1(t) donde k es una constante compleja cualquiera PROPIEDAD de ESCALAMIENTO u HOMOGENIEDAD 3.2.2.1.1 PRINCIPIO DE SUPERPOSICION Un sistema lineal satisface el principio de superposición: Si al aplicar individualmente, como entradas al sistema, las señales x1(t), x2(t), ... ,xn(t)), obtenemos como salida del sistema las señales y1(t), y2(t), ...,yn(t)). Ing. Avid Roman Gonzalez 3-4 Empresa de Servicios Integrados en Tecnología ESIT La respuesta del sistema a una señal de entrada x(t) formada por la combinación lineal de dos o más señales x(t) = ax1(t)+b x2(t) +...+ kxn(t) es igual a la combinación lineal de la suma de las respuestas del sistema a cada una de las señales y(t) = ay1(t)+ by2(t) +...+ kyn(t) 3.2.2.1.2 SISTEMAS INVARIANTES EN EL TIEMPO Se dice que un sistema es invariante en el tiempo cuando su comportamiento y sus características permanecen fijos en el tiempo. La respuesta y(t) depende sólo de la entrada x(t) y no de en que tiempo se aplica al sistema . Si T{x(t)} = y(t), entonces T{x(t- t)} = y(t- t ), donde T{ } representa el sistema. Por tanto, conocida y(t) si el sistema es invariante la salida a x(t- t ) se pueda calcular a partir de un desplazamiento temporal. Ing. Avid Roman Gonzalez 3-5 Empresa de Servicios Integrados en Tecnología ESIT 3.2.2.1.3 SISTEMAS LTI Muchos sistemas continuos de interés son del tipo lineal invariante en el tiempo (LTI). La respuesta al impulso de un sistema se representa por h(t) y corresponde a la salida de un sistema LTI cuando la entrada es la señal impulso unidad δ( t). A partir de la respuesta al impulso se puede estudiar la respuesta a cualquier tipo de entrada. Para ello basta con conseguir expresar la entrada x(t) en función del impulso unidad Por esta razón h(t) también se denomina función de transferencia del sistema. 3.3 REPRESENTACION DE SEÑALES 3.3.1 Formas de especificar una señal Uno de los métodos de representar la señal x(t) es bajo la forma de suma de componentes de distintas frecuencias, cada una de ellas con una amplitud y una fase inicial Ing. Avid Roman Gonzalez 3-6 Empresa de Servicios Integrados en Tecnología ESIT 3.3.2 Espectro de una señal Si se analiza la señal x(t) en el dominio de las frecuencias, la función X(f) representa el espectro de la señal. Un espectro debe incluir para poder representar unívocamente la señal no sólo la magnitud sino también la fase inicial Espectro de una señal sinusoidal: representación real Representación mediante fasores complejos Ing. Avid Roman Gonzalez 3-7 Empresa de Servicios Integrados en Tecnología ESIT En ambos casos se dan dos representaciones Amplitud y fase vs frecuencia 3.4 ANALISIS DE FOURIER EN TIEMPO DISCRETO 3.4.1 Transformada de Fourier en Tiempo Discreto (DTFT) La DTFT describe el espectro de señales discretas. Se puede deducir a partir de la convolución discreta que se define como: y[n] = x[n]* h[n] = ∞ ∑ x[n − k ]h[k ] k = −∞ La DTFT permite representar el contenido en frecuencia, X(w), de una señal discreta x[n]. ( ) = ∑ x[n]e X (ω ) = e jω ∞ − jω n = −∞ Y su transformada inversa es: Representación del par DTFT Ing. Avid Roman Gonzalez 3-8 Empresa de Servicios Integrados en Tecnología ESIT 3.4.2 Transformada Discreta de Fourier (DFT) Muestreo en frecuencia de la DTFT para obtener la DFT Para una señal x[n] limitada a N muestras con un periodo de muestreo Ts la DTFT se reduce a: N −1 X p ( f ) = ∑ x[n] × exp(− j 2πfTs ) n =0 Xp(f) es periódica con periodo 1/Ts Si se muestrea esta señal N veces (en el periodo en frecuencias que es 1/Ts, se obtendrán los valores discretos de la DTFT con un intervalo entre frecuencias ∆f = (1/Ts)/N = 1/NTs Y por tanto XT[k] corresponde a sustituir f en los valores dados por fk = k/(NTs) : N −1 N −1 n 00 n =0 X p [k ] = ∑ x[n] ⋅ exp[− j 2πnkTs / ( NTs )] = ∑ x[n] ⋅ exp[− j 2 ρnk / N ] Esta última expresión resultante es la Transformada Discreta de Fourier de una señal x[n]. La Transformada Discreta de Fourier se calcula sobre un conjunto finito, N valores, de la señal x[n]. Es calculable numéricamente y es una aproximación al espectro de la señal. Se obtiene tomando N muestras en el dominio de la frecuencia sobre la DTFT. Ing. Avid Roman Gonzalez 3-9 Empresa de Servicios Integrados en Tecnología ESIT Transformada Discreta inversa (IDFT): Por definición: Convolución Circular o Cíclica La convolución de dos señales periódicas es infinito. Para este tipo de señales se define la convolución circular de dos secuencias xp[n] y hp[n] con periodo N : 1 y p [n] = x p [n]* hp = N N −1 ∑ x [k ]h [n − k ] k =0 p p La convolución circular requiere que las dos secuencias sean del mismo tamaño. Si no es así se rellena con ceros la secuencia más corta. Se corresponde con el producto H[k]X[k] de las dos DFT Convolución lineal mediante la DFT Para realizar la convolución lineal de una secuencia h[n] de M puntos con otra secuencia x[n] de N puntos mediante la DFT, se expanden ambas secuencias con ceros hasta formar dos secuencias de K puntos ha[n] y xa[n] con K ≥ M+N-1 y se calcula las IDFT del producto de las dos DFTs. Ing. Avid Roman Gonzalez 310 Empresa de Servicios Integrados en Tecnología ESIT 3.4.2 Transformada Rápida de Fourier FFT: El cálculo de la DFT de N puntos de una secuencia x[n] es : N −1 X [k ] = ∑ x[n]WNnk k = 0,1,..., N − 1 n =0 donde : WN = e − j 2π / N El cálculo requiere la suma compleja de N multiplicaciones complejas para cada uno de las salidas. En total, N2 multiplicaciones complejas y N(N-1) sumas complejas para realizar un DFT de N puntos. El algoritmo FFT consigue simplificar el cálculo del DFT y reduce el número de operaciones aprovechando las siguientes propiedades : Simetría y Periodicidad de los términos WN. WNn + N = WNn WNNk = 1 WNn + N / 2 = −WNn WN2 = WN / 2 El valor de N se elige de forma que Al factor r se le denomina radix y su valor más habitual es 2, de forma que y algoritmo se denomina FFT radix- 2. Radix-2 FFT-Diezmado en el tiempo: Se divide la secuencia de datos de entrada x[n] en dos grupos, uno de índices par y el otro impar. Con estas sub-secuencias se realiza el DFT de N/2 puntos y sus resultados se combinan para formar el DFT de N puntos. X [k ] = Y [k ] + WNk [k ] ⋅ Z [k ] X [k + N / 2] = Y [k ] − WNk ⋅ Z [k ] para Ing. Avid Roman Gonzalez k = 0,1,..., N / 2 − 1 311 Empresa de Servicios Integrados en Tecnología ESIT Fig. 3.1 Diezmado en el tiempo Se observa que en el caso de diezmado en el tiempo, la secuencia de entrada debe ser reordenada mientras que la salida aparece en el orden correcto. Para el diezmado en frecuencia, la secuencia está en orden mientras que la salida habrá que reordenarla. Ing. Avid Roman Gonzalez 312 Empresa de Servicios Integrados en Tecnología ESIT A continuación se presenta un ejemplo del reordenamiento de datos (barajado) y los índice para aplicar el algoritmo de la Transformada Rápida de Fourier FFT para un arreglo de 8 elementos: barajado 0.000000 barajado 4.000000 barajado 2.000000 barajado 6.000000 barajado 1.000000 barajado 5.000000 barajado 3.000000 barajado 7.000000 G= 4 M= 1 entradas = 0 1 entradas = 2 3 entradas = 4 5 entradas = 6 7 G= 2 M= 2 entradas = 0 2 entradas = 1 3 entradas = 4 6 entradas = 5 7 G= 1 M= 4 entradas = 0 4 entradas = 1 5 entradas = 2 6 entradas = 3 7 indice 0 barajado 0 indice 1 barajado 4 indice 2 barajado 2 indice 3 barajado 6 indice 4 barajado 1 indice 5 barajado 5 indice 6 barajado 3 indice 7 barajado 7 A continuación se presenta el programa utilizado para obtener los índices del reordenamiento, el cual fue compilado en C++. Ing. Avid Roman Gonzalez 313 Empresa de Servicios Integrados en Tecnología ESIT #include<stdio.h> #include<math.h> #include<conio.h> float datos[8]={0,1,2,3,4,5,6,7}; float temporal[8]; int N=8,E=log(N)/log(2); unsigned int barajar(unsigned int indice,unsigned int NumBits) { unsigned int i,rev; for(i=rev=0;i<NumBits;i++) { rev=(rev<<1)|(indice&1); indice>>=1; }; return rev; } void baraja_todo(void) {int i; for(i=0;i<N;i++) {temporal[barajar(i,E)]=datos[i]; }; for(i=0;i<N;i++) {printf("barajado %f \n",temporal[i]); }; } void main(void) {int N=8,e,G,g,M,m,indice; float aux,pi=acos(-1); complex j=complex(0,1); clrscr(); baraja_todo(); getch(); for(e=0;e<E;e++) { aux=log(2); G=int(exp((E-e-1)*aux)); M=int(exp(e*aux)); printf("G= %d M= %d \n", G,M); for(g=0;g<G;g++) {for(m=0;m<M;m++) {int entrada0=g*M*2+m; int entrada1=entrada0+exp(e*aux); printf(" entradas = %d %d\n",entrada0,entrada1); }; }; printf("\n"); }; for(indice=0;indice<N;indice++) {printf("indice %d barajado %d \n",indice,barajar(indice,E)); }; } Ing. Avid Roman Gonzalez 314 Empresa de Servicios Integrados en Tecnología ESIT 3.5 MUESTREO Y RECONSTRUCCION: 3.5.1 Muestreo: El muestreo digital de una señal analógica trae consigo una discretización tanto en el dominio temporal como en el de la amplitud. Hay varias formas de describir matemáticamente el proceso de discretización temporal de una señal continua en el tiempo. Fig. 3.2 Proceso de Muestreo de una Señal Un muestreador ideal, consiste en una función que toma los valores de la señal x (t) en los instantes muestreados y el valor cero para el resto de puntos Proceso de muestreo: dominio de tiempo Fig. 3.3 Proceso de Muestreo en el Dominio del Tiempo Ing. Avid Roman Gonzalez 315 Empresa de Servicios Integrados en Tecnología ESIT Proceso de muestreo: dominio de frecuencia Fig. 3.4 Proceso de Muestreo en el Dominio de la Frecuencia El espectro resultante es periódico y se presentan los siguientes casos: A.- La frecuencia de muestreo ws es mayor que 2wB B.- Se disminuye a frecuencia de muestreo ws hasta que sea igual a 2wB C.- Se disminuye a frecuencia de muestreo ws hasta que sea inferior a 2wB Ing. Avid Roman Gonzalez 316 Empresa de Servicios Integrados en Tecnología ESIT Una señal continua puede representarse y reconstruirse partiendo del conocimiento de sus muestras. Esto se deriva de un resultado básico llamado teorema de muestreo. Este teorema funciona como un puente entre las señales continuas y las discretas y nos garantiza que no se pierde información. Fig. 3.5 Simulación de un sistema de muestreo Nótese que todo muestreo trae consigo una aparente pérdida de información en la señal continua x (t). El Teorema del Muestreo establece en que condiciones se garantiza que al muestrear no hay pérdida de información. TEOREMA de Shannon. Frecuencia de Nyquist: Una señal x (t) con un espectro limitado a la frecuencia f B ( |f| < f B ) puede ser muestreada sin pérdida de información si la frecuencia de muestreo f S supera la cantidad 2fB, es decir f S ≥2f B . - Si no se muestrea como mínimo a esa frecuencia tiene lugar el fenómeno denominado “aliasing”. - Si se muestrea de acuerdo al teorema existe un proceso de reconstrucción que garantiza la reproducción exacta de la señal continua x(t) a partir de sus muestras x[n]. Ing. Avid Roman Gonzalez 317 Empresa de Servicios Integrados en Tecnología ESIT 3.6 LA TRANSFORMADA Z: Una señal muestreada x[n]=x(nT), está definida sólo para los instantes de Tiempo nT, siendo T=(1/Fs) el período de muestreo. La transformada Z permite expresar la secuencia de muestras x[n] en forma de un polinomio en la variable z. El operador z está asociados al retraso o adelanto del tiempo en múltiplos del periodo de muestreo T. El dominio de la variable z es el plano complejo. La Transformada Z (TZ) de señales en tiempo discreto está relacionada con la DTFT Transformada de Fourier de la secuencia x[n] Transformada Z de la secuencia x[n] Como la Transformada Z es una función de variable compleja, es conveniente describirla e interpretarla en el plano complejo z. El contorno correspondiente a |z|=1 es una circunferencia de radio unidad. La Transformada Z evaluada en la circunferencia unidad es la DTFT : • z=1, w=0 • z=j, w=π/2 • z=-1, w=π Ing. Avid Roman Gonzalez 318 Empresa de Servicios Integrados en Tecnología ESIT Se obtiene un comportamiento simétrico al evaluar la TF desde w=π hasta w=2π si la secuencia es real. Es periódica, con periodo 2π. 3.6.1 La transformada Z Inversa: Una de las aplicaciones de la Transformada Z (TZ) es el análisis de sistemas lineales en tiempo discreto, que puede requerir el cálculo de la TZ inversa (TZ-1). Dada una expresión algebraica y una ROC asociada, existen métodos formales que requieren la integración en un contorno del plano complejo para calcular TZ-1. Para el análisis de sistemas lineales existen métodos “ad hoc” : Reconocer por simple “inspección” ciertos pares de transformadas, que son “mas frecuentes”, mediante tablas de pares de transformadas Z, por ejemplo: 1 a u[n]←⎯→ Z > a 1 − az −1 n TZ La TZ-1 se puede obtener fácilmente por inspección si la expresión de la TZ se reconoce en una tabla. Aplicando linealidad, cuando X(z) no se encuentra explícitamente utilizando una tabla, pero puede ser expresada de forma alternativa como suma de términos más simples, cada uno de los cuales si aparece en ella. Ing. Avid Roman Gonzalez 319 Empresa de Servicios Integrados en Tecnología ESIT 3.7 DISEÑO DE FILTROS DIGITALES 3.7.1 Filtros FIR: Estructuras para la realización de un sistema FIR: Sea un sistema LTI con ecuación (EDF) característica 3.8.2 Filtros IIR: Las técnicas para el diseño de filtros IIR son: – Mediante métodos de diseño analógico, seguido de una transformación del plano s (dominio de Laplace) al plano z – Diseñar un prototipo de filtro pasobajo digital y hacer las oportunas Transformaciones Ing. Avid Roman Gonzalez 320