480 likes | 723 Views
Universidad Técnica Particular de Loja. PROCESAMIENTO DE SEÑALES. Carlos Carrión Betancourth EQBYTE.INC cecarrion1@gmail.com dsputpl@gmail.com. Escuela de Electrónica y Telecomunicaciones. Presentación. Objetivo general
E N D
Universidad Técnica Particular de Loja PROCESAMIENTO DE SEÑALES Carlos Carrión Betancourth EQBYTE.INC cecarrion1@gmail.com dsputpl@gmail.com Escuela de Electrónica y Telecomunicaciones
Presentación • Objetivo general Presentar una introducción a los conceptos básicos de DSP, como las perspectivas de desarrollo de aplicaciones relacionadas. • Temática • Introducción al procesamiento digital de señales. • Convolución y correlación. • Ecuaciones en diferencia y transformada Z. • DFT y FFT. • Osciladores digitales. • Metodología Se realizará presentaciones, se hará discusión sobre el tema de presentación, se realizará prácticas con Matlab/Simulink y elementos relacionados.
Contenido de la presentación • Introducción al procesamiento digital de señales. • Convolución y correlación. • Ecuaciones en diferencias y transformada Z. • Transformada discreta de Fourier. • Osciladores digitales. • Introducción a filtros digitales. • Diseño e implementación de filtros digitales.
Aplicaciones de DSP (1960-1970s) DSP limitado a: radar y sonar, medicina y exploración del espacio. (1980-1990s) La revolución de la microelectrónica causó un gran crecimiento en las aplicaciones de los DSPs.
Aplicaciones de DSP (2000s-actualidad) La tendencia actual de esta tecnología es hacia aplicaciones de comunicaciones inalámbricas, así como para multimedia. La producción a gran escala de chips tiende a una reducción de costos. Además de los nuevos dispositivos cuánticos.
Aplicaciones de DSP Procesamiento de Imágenes • Reconocimiento de Patrones • Visión Robótica http://cavr.korea.ac.kr/ Aplicaciones Militares • Comunicaciones seguras • Procesamiento de radar • Guía de misiles Instrumentación y control • Reducción de ruido • Análisis espectral Procesamiento de Audio • Reconocimiento de voz • Síntesis de voz Medicina • Monitoreo de pacientes • Procesamiento de señales ECG, EEG, imágenes
Acondicionamiento de señal Procesamiento Digital Adecuación A/D D/A Procesamiento digital de señales Diagrama de bloques de un Sistema de Procesamiento digital de señales: Procesamiento: convolución, correlación, DFT Dispositivos para el procesamiento digital: PC, microprocesadores, microcontroladores, DSPs (Digital Signal Processors), ASICs (Application Specific Integrated Circuit)
Dispositivos Procesamiento - Generalidades • GPP, General Purpose Processor • DSP, Digital Signal Processor • FPGA, Field Programmable Gate Array • ASIC, Application Specific Integrated Circuit Cada uno con unas características propias para determinadas aplicaciones. El mejor dispositivo depende de la aplicación.
Dispositivos Programables - GPP • Características principales • Flexibilidad • Tecnología conocida • Gran desempeño en aplicaciones de control de flujo • Desarrollo • Extensiones para manejo vectorial • Capacidades de procesamiento digital de señales • Tecnología superescalares: varias instrucciones por ciclo de reloj.
Dispositivos Programables - DSP Evolución • En 1982 TI introduce el primer DSP comercial (TMS32010) para aplicaciones en Telecomunicaciones • En 1996 TI introduce el primer DSP con tecnología VLIW (Very Large Instruction Word), Familia TMS320C62XX, con 8 unidades de ejecución independientes. y[n] = x[n]a0 + x[n-1]a1 + x[n-2]a3 Berkeley Design Technology, Inc.
GPP VLIW Memoria Programa Memoria Progama + Datos L1 S1 M1 A1 L2 S2 M2 A2 Registros Registros ALU, Registros Memoria Datos L:ALU S:Shift M:Multiply A:Address Dispositivos Programables - GPP Vs VLIW Berkeley Design Technology, Inc.
Dispositivos Programables - FPGAs • Características principales • Flexibilidad • Bajo tiempo de desarrollo de aplicaciones • Bajos volúmenes • Aplicaciones de alto nivel de paralelismo • Características DSP • Herramientas para el diseño de sistemas DSP (Altera: DSP Builder, Xilinx: System Generator). • Memoria Embebida • Multiplicadores embebidos 18x18 (Altera: hasta 150 a 250MHz, Xilinx: hasta 512 a 500 MHz). http://www.xilinx.com/products/virtex4/capabilities/xtremedsp.htm http://www.altera.com/technology/dsp/devices/dsp-devices_features.html
Dispositivos Programables - ASICs Características • Alto desempeño • Bajo consumo de potencia • Alta velocidad de procesamiento • Alto tiempo de desarrollo de aplicaciones • Altos volúmenes • No son flexibles • Desarrollo • HardCopy de Altera: desarrollo del diseño y depuramiento empleando herramientas de FPGAs, emplea el mismo proceso de fabricación de FPGAs. http://www.altera.com/products/software/flows/asic/qts-structured_asic.html
Dispositivos Programables - Comparación Reconfigurable Computing for DSP: a survey. INAOE.
Contenido de la presentación • Introducción al procesamiento digital de señales. • Convolución y correlación. • Ecuaciones en diferencias y transformada Z. • Transformada Discreta de Fourier. • Osciladores. • Introducción a Filtros Digitales. • Diseño e implementación de filtros digitales.
x(n) h(n) y(n) Convolución discreta La convolución discreta se aplica a secuencias causales LTI. x(n): secuencia de entrada h(n): respuesta del sistema al impulso y(n): secuencia de salida
Convolución discreta – Sistemas LTI h(n) = {0, 1, 1, 0} x(0) = 1 T n n 0 1 2 3 0 1 2 3 4 Para: x(n) = {1, 2} x(1) = 2 y(n) = {0, 1,3, 2, 0} n 0 1 2 3 4 n 0 1 2 3 4 Suma 0 1 3 2 0 Matlab conv()
Correlación cruzada Para dos secuencias x1(n), x2(n): Matlab xcorr() Dependiente del número de datos y del desfase Dependiente del desfase Normalizada
Autocorrelación Es cuando x1[n] = x2[n] Cuando j=0 r11(0) es la energía normalizada
Ejercicios • Realice la correlación de las siguientes señales: • Señales senoidales con frecuencia 10Hz, frecuencia de muestreo 360Hz, desfase 60°. • Dos señales de distribución de probabilidad gausiana. • La autocorrelación de una señal de distribución de probabilidad gausiana.
Contenido de la presentación • Introducción al procesamiento digital de señales • Convolución y correlación • Ecuaciones en diferencias y transformada Z • Transformada Discreta de Fourier • Osciladores • Filtros Digitales • Empleo de Simulink
Transformada Z Ejemplos 1. x(n) = {1 2 -1 -8} X(z) = 1 + 2z-1 - z-2 – 8z-3; ROC: todo valor de z excepto z=0 • x(n) = 0.5n u(n) ROC: |0.5/z| < 1 => |z| > 0.5 z: variable compleja ROC
x x x x x x Transformada Z de primer orden h(n) = an u(n)
Propiedades de la Transformada Z • Linealidad: ax1(n) + bx2(n) - > aX1(z) + bX2(z) • Desplazamiento x(n-m) = z-mX(z) • Convolución Y(z) = X(z) H(z)
Ecuación en Diferencias y(n) = b0x(n) + b1x(n-1) + b2x(n-1) - a1y(n-1) Propiedades de Z • Linealidad: ax1(n)+bx2(n) -> aX1(z)+bX2(z) • Desplazamiento: x(n-m) = z-mX(z) Y(z) = b0X(z) + b1X(z) z-1+b2X(z) z-2-a1Y(z) z-1 Y(z) (1 + a1z-1) = X(z) (b0 + b1z-1 + b2z-2)
Ecuación en Diferencias Especifican la operación que debe realizar un sistema: Para pasar a Z (propiedad del desplazamiento): Un sistema descrito por E. D (coef constantes) es LTI
Transformadas Z del seno y el coseno sin(wnT) cos(wnT)
Contenido de la presentación • Introducción al procesamiento digital de señales • Convolución y correlación • Ecuaciones en diferencias y transformada Z • Transformada Discreta de Fourier • Osciladores • Filtros Digitales • Empleo de Simulink
Series de Fourier En 1822 Fourier descubrió las series de Fourier. Las sen(nwot) y cos(nwot) conjunto ortogonal donde: wo: frecuencia fundamental o del primer armónico. nwo: armónicos Expansión en series de Fourier: Series de Fourier: señales periódicas Transformada de Fourier: señales de energía finita
Exponencial y sinusoidal en tiempo discreto 1. Una senoidal discreta es periódicas solo si la frecuencia es racional: f0= k/N 2. Dos sinusoides separadas en Dw = 2p son idénticas Exponenciales relacionadas armónicamente con f0=1/N, El conjunto de exponenciales: exp(j2pk f0n) está conformado solo por N exponenciales discretas: exp(j2pkn/N), k=0,1,2...N-1 son periódicas de periodo N.
DFT Transformada Discreta de Fourier DFT IDFT x(n) se asume de periodo N X(k) es de periodo N.
Ejemplo DTF Ejemplo: x[n] = {1 0 0 1}:
Complejidad DFT Para x(n) con 3 valores: Para calcular cada punto: 4 multiplicaciones complejas y 3 sumas. Para N puntos: N2 multiplicaciones y N(N-1) sumas. Alta complejidad. Hay redundancias, por ejemplo: Para k=1, n=2: WN2 Para k=2, n=1: WN2 WN = e-j2p/N
FFT Peden aprovecharse las redundancias. El primer algoritmo fue el de Cooley y Tukey (1965).
Relación entre Fourier y Z La relación entre Fourier y Z: z = re jq= e jw Que es la transformada z alrededor del círculo unitario. Transformada de Fourier Transformada Z
x Ejemplo Un sistema con respuesta al impulso: h(n) = 0.5nu(n) Términos de la respuesta al impulso: h(n) = {1, 0.5, 0.25, 0.125….} Que tipo de filtro es (LPF, HPF, BPF)? Como implementar el filtro en un DSP?
Ejercicios Hallar la ecuación en diferencias para un sistema que tiene los siguientes polos y ceros: z=0 z=0.5 p=-1 p=1 Hallar los primeros 5 términos de la respuesta al impulso de un sistema con la siguiente función de transferencia:
Contenido de la presentación • Introducción al procesamiento digital de señales • Convolución y correlación • Ecuaciones en diferencias y transformada Z • Transformada Discreta de Fourier • Osciladores • Filtros Digitales • Empleo de Simulink
Relación señal a ruido Resultado de la precisión finita: SNR (ideal) = 6.02n + 1.76 dB Puede mitigarse el efecto de truncar la fase añadiendo a la fase una secuencia aleatoria removiendo la periodicidad en la fase reduciendo los espurios
Osciladores Tipos de osciladores • Look-up-table • CORDIC • Transformada z • Series de Taylor
Look-up-table Consiste en acumular incrementos de fase para emplearlos como dirección de una ROM. • ROM completa: la ROM almacena los 360° de las señales seno y coseno. Emplea mucha memoria y pocos elementos lógicos. • ROM pequeña: almacena solo una porción de los valores de las señales seno y coseno. Los demás valores son derivados.
Programa en Matlab - LUT clear all; fs = 2000; %frecuencia de muestreo fo = 20; %frecuencia de la señal N = 2048; %valores en la tabla paso = 2*pi/(N+1); tabl = sin(0:paso:2*pi-paso); Nspcy = fs/fo; thpas = N/(Nspcy-1) ang = 1; x = []; for k = 0:floor(Nspcy)-1, x = [x tabl(floor(ang))]; ang = ang + thpas; end plot(x) res = paso*180/pi
CORDIC Empleado cuando no se dispone de suficiente memoria para implementar una tabla. El algoritmo emplea multiplicaciones por 2, sumas, restas y una tabla de un tamaño pequeño.
Transformada Z sin(wnT) cos(wnT)
Programa Matlab fs = 100; f = 20; w = 2*pi*f/fs; %Sin: a1s = sin(w); b1s = 2*cos(w); %Cos: a1c = cos(w); b1c = 2*cos(w); ys = []; y1s = 0; y2s = 0; x1s = 0; xs = 1; yc = []; y1c = 0; y2c = 0; x1c = 0; xc = 1; for k = 1:10, yy = b1s*y1s - y2s + a1s*x1s; xx = b1c*y1c - y2c + a1c*x1c + xc; ys = [ys yy]; y2s = y1s; y1s = yy; x1s = xs; xs = 0; yc= [yc xx]; y2c = y1c; y1c = xx; x1c = xc; xc = 0; end subplot(2,1,1); stem(ys) subplot(2,1,2); stem(yc)