Date post: | 23-Jan-2016 |
Category: |
Documents |
Upload: | clemente-escalante |
View: | 224 times |
Download: | 0 times |
11. Procesamiento de Señales
Procesamiento de señales analógicas tiempo continuo transformadas continuas (Fourier, Laplace) filtros implementados en base a funciones
matemáticas: Butterworth, Chebyshev, Elípticos
filtros implementados: pasivos, activos, activos sin L, capacitores conmutados
circuitos aritméticos analógicos (sumadores, multiplicadores)
11. Procesamiento de Señales
Procesamiento de señales de tiempo discreto (procesamiento digital de señales)
tiempo discreto transformadas discretas (Fourier, Z)Filtros: IIR y FIR
IIR: basados en un filtro prototipo analógico y una transformación AD
FIR: basados en la aproximación a una función de transferencia pasabajas ideal
11. Procesamiento de Señales
Requieren circuitos aritméticos digitales:
sumadores, multiplicadores, registros,...
Sistemas implementados:
software: c, c++, matlab
hardware: procesadores, DSP’s, FPGA
´s
software/hardware
11. Procesamiento de Señales
Procesamiento Digital de Señales y: Teoría de comunicaciones
Teoría de control
Teoría de información
Probabilidad y estadística
Electrónica analógica
Electrónica digital
Análisis numérico
11. Procesamiento de Señales
Señal: cualquier variable o cantidad que lleva algún tipo de información que puede ser tranformada o manipulada
Señales de interés:vozbiomédicasaudiovideo, imágenesradar
11. Procesamiento de Señales
Ventajas del procesamiento digital:
Exactitud garantizada
Reproductibilidad perfecta
No dependencia de parámetros físicos
(temp.)
Gran flexibilidad (reprogramabilidad)
Rendimiento superior
11. Procesamiento de Señales
Desventajas:
Velocidad y costo
Tiempo de diseño
Longitud de palabra finita
11. Procesamiento de Señales
Áreas de aplicación:Procesamiento de imágenes
reconocimiento de patronesvisión de robotsanimaciónenriquecimiento de imágenes imágenes por satélite
11. Procesamiento de Señales
Instrumentación/Control
análisis espectral
control de posición
reducción de ruido
compresión de datos
11. Procesamiento de Señales
Voz/Audio
reconocimiento de voz
síntesis de voz
text to espeech
audio digital
ecualización
11. Procesamiento de Señales
Militares
comunicaciones seguras
radar
sonar
guía de misiles
11. Procesamiento de Señales
Telecomunicaciones
cancelación de eco
ecualización adaptiva
espectro disperso
video conferencias
comunicaciones de datos
11. Procesamiento de Señales
Biomedicina
monitoreo de pacientes
scaners
EEG
ECG
almacenamiento/enriquecimiento
de rayos x
11. Procesamiento de Señales
En MATLAB:
Toolbox Signal
Otros Archivos-m
Blockset dspblks
11. Procesamiento de Señales
Representación de señalesSeñales de tiempo continuo: muestras de
ellas, suficientemente cercanas (razón de Nyquist)
Graficar 5 periodos de una señal senoidal de amplitud 1 y frecuencia 20 Hz
a) Graficar 10 puntosb) Graficar 20 puntosc) Graficar 150 puntos
11. Procesamiento de Señales
Señal senoidal de 20 Hz y amplitud 1. N es el número de muestras a graficar
N=10;t=0:0.05/N:0.25;y=sin(2*pi*20*t);plot(t,y)
11. Procesamiento de Señales
MATLAB es ideal para señales y sistemas de tiempo discreto
Para señales y sistemas de tiempo continuo se tienen que tomar muestras
Cada señal para que esté representada requiere de dos vectores:
•valores de los elementos•tiempos a que corresponden los
elementos
11. Procesamiento de Señales
Aquí se muestran algunas secuencias comunes:
Vector de tiempos: t = (0:.001:1)';
Impulso unitario: y = [1; zeros(99,1)];
Escalón: y = ones(100,1);
Rampa: y = t;
Cuadrado: y = t.^2;
Onda cuadrada: y = square(4*t);
11. Procesamiento de Señales
Formas de onda comunessawtooth: diente de sierrasquare: cuadradaEjemplo. 1.5 seg. De una onda cuadrada de 50
Hz con una razón de muestreo de 10 KHzToFs = 10000;t = 0:1/Fs:1.5;x = sawtooth(2*pi*50*t);plot(t,x), axis([0 0.2 –1 1])
11. Procesamiento de Señales
Funciones para generar formas de onda aperiódicas:
gauspuls: genera un pulso senoidal �modulado con una gausiana,
chirp genera una señal coseno barrida en la �frecuencia
11. Procesamiento de Señales
Ejemplo: 2 segundos de una señal lineal chirp con una razón de muestreo de 1KHz que comienza en DC y termina en 150 Hz en un segundot = 0:1/1000:2;
y = chirp(t,0,1,150); % Plot the spectrogramspecgram(y,256,1000,256,250)Frequency
11. Procesamiento de Señales
Un filtro digital es un sistema lineal e invariante en el tiempo (LTI) cuya salida es obtenida al atenuar selectivamente componentes de frecuencia, tanto de magnitud como de fase
La salida y(n) de un filtro digital está relacionada con su entrada x(n) por la convolución de ésta con la respuesta al impulso h(n) del filtro:
y(n)=x(n)*h(n)
11. Procesamiento de Señales
Si h(n) es de longitud finita, se dice que es un filtro FIR (finite impulse response).
Si h(n) es de longitud infinita, se dice que es un filtro IIR (infinite impulse response).
Si tanto la respuesta al impulso como h(n) como la señal de entrada x(n) son finitas, entonces el filtro se puede implementar usando la función conv
11. Procesamiento de Señales
Sacando la transformada Z
)()(
)()()(
nhnxk
knhkxny
naznaazaa
nbznbbzbbzHzXzY
)1(1)2()1()1(1)2()1(
)()()(
11. Procesamiento de Señales
Y(Z), X(Z) y H(Z) son las transformadas Z de y(n), x(n) y h(n), respectivamente
H(z) es la función de transferencia del filtro b(i) y a(i) son los coeficientes del filtro
)()1(1)2()1()1(1)2()1(
)()()(
zxnaznaazaa
nbznbbzbbzHzXzY
11. Procesamiento de Señales
Ejemplo:
x = randn(5,1); % vector aleatorio de longitud 5
h = [1 1 1 1]/4; % respuesta al impulso del filtro
y = conv(h,x); % señal filtrada
11. Procesamiento de Señales
La función de transferencia de un filtro digital tiene la forma:
En MATLAB, un filtro se representa por medio de sus coeficientes:
B=[b(1) b(2) ... B(nb+1)];A=[a(1) a(2) ... A(na+1)];
naznaazaa
nbznbbzbbzXzYzH
)1(1)2()1()1(1)2()1(
)()()(
11. Procesamiento de SeñalesCon la función filter es fácil implementar
un filtro.Esta función implementa la función de
diferencias:
y(n)+a(2)y(n-1)+...+a(na+1)y(n-na)=b(1)x(n)+b(2)x(n-1)+...+b(nb+1)x(n-
nb)
la cual se puede obtener de la función de transferencia H(z)
11. Procesamiento de Señales
Por ejemplo: un filtro pasabajas es:b = 1; % numeradora = [1 –0.9]; % denominador
los vectores b y a contienen a los coeficientes del filtro en su forma de función de transferencia
y = filter(b,a,x); se obtiene el mismo número de muestras de salida que
de entrada (length(y)==length(x)) si el primer elemento de a no es 1, filter divide los
coeficientes de a por a(1) para implementar la ecuación de diferencia
11. Procesamiento de Señales
Para implementar un filtro se requiere de una estructura
11. Procesamiento de Señales
Respuesta al impulsoEs la salida de un sistema cuando la entrada es un impulso unitario
En MATLAB, se pueden generar impulsos de varias maneras: imp = [1; zeros(49,1)];
Si se tiene el filtro con b = 1 a = [1 –0.9], su respuesta al impulso es:
h = filter(b,a,imp);O, se puede usar la función de MATLAB
impz(b,a)
11. Procesamiento de Señales
Dominio de la frecuenciaSe usan las transformadas discretas
Fourier: •transformada de Fourier de tiempo
discreto •transformada discreta de Fourier
(DFT)•transformada rápida de Fourier (FFT)
Transformada z
11. Procesamiento de Señales
Las transformadas junto con las transformadas inversas proporcionan la relación entre la representación en el dominio del tiempo y de la frecuencia.
Los dos dominios proporcionan información complementaria de los mismos datos
En algunas aplicaciones suele usarse más la información de un dominio que del otro
En filtrado es particularmente útil la información en el dominio de la frecuencia
11. Procesamiento de Señales
La transformada de Fourier de tiempo discreto de la señal x(n):
produce el espectro X(w) de x(n) si x(n) es periódica ---> serie de Fourier y
el espectro es discreto si x(n) es no periódica ---> transf. de
Fourier y el espectro es continuo
njen
nxjeX
][)(
11. Procesamiento de Señales
En la mayoría de las aplicaciones x(n) es no periódica ---> espectros continuos:
Los espectros continuos no se pueden representar exactamente en una computadora digital
Solo se pueden representar por medio de sus muestras adecuadamente espaciadas
La transformada de Fourier de tiempo discreto no se puede implementar en una computadora digital. Entonces se desarrolla:
11. Procesamiento de Señales
La transformada discreta de Fourier (DFT) de x(n) es:
Son N muestras del espectro original que es continuo
Son muestras para valores discretos de frecuencia
1,...1,0,][
|)()(
/21
0
/2
Nkenx
eXkX
NkN
n
Nkj
11. Procesamiento de Señales
El número mínimo de muestras es N (que es el número de muestras de la señal de tiempo discreto)
Para obtener una buena representación del espectro real, es necesario tener un número suficiente de muestras, normalmente un número mayor que N
Como el cálculo de la DFT involucra muchas multiplicaciones, es computacionalmente costoso. Se desarrolló la:
11. Procesamiento de Señales
La transformada rápida de Fourier (FFT)es un algoritmo que implementa la DFTes muy eficiente, reduce el número de
operaciones aritméticasusa el hecho de que la DFT tiene simetríasexisten varios algoritmosEn MATLAB la función que realiza la FFT es fft,
mientras que ifft implementa la transformada rápida inversa
11. Procesamiento de Señales
Respuesta en frecuenciaLa respuesta en frecuencia del filtro con
función de transferencia H(z) es:
La función freqz usa un algoritmo basado en FFT based algorithm para calcular la respuesta en frecuencia de un filtro digital
jenaajeaa
jenbbjebbjeH
)1()2()1()1()2()1()(
11. Procesamiento de Señales
La sentencia: [h,w] = freqz(b,a,n)
regresa n puntos de la respuesta en frecuencia compleja del filtro digital
regresa el vector h de respuesta en frecuencia compleja y el vector w de frecuencias en rad/seg
11. Procesamiento de Señales
Ejemplo: Se encuentran 256 puntos de la respuesta en frecuencia de un filtro Chebyshev de orden 12. Se usa en freqz una frecuencia de muestreo de 1000 Hz
[b,a] = cheby1(12,0.5,200/500);[h,f] = freqz(b,a,256,1000);
11. Procesamiento de SeñalesNormalización en frecuenciaNormalmente se usa la convención de que
la frecuencia unitaria es la frecuencia de Nyquist
La frecuencia de Nyquist se define como la mitad de la frecuencia de muestreo
La frecuencia de corte de los filtros es normalizada por la frecuencia de Nyquist
Así, para un sistema con una frecuencia de muestreo de 1000Hz, la frecuencia 300 Hz es 300/500 = 0.6 (frecuencia normalizada)
11. Procesamiento de Señales
Magnitud y FaseLa respuesta en frecuencia de sistemas como
los filtros suelen ser cantidades complejasPara analizar su comportamiento es
necesario graficar la respuesta en frecuencia
Lo que se hace es observar una cantidad real: la magnitud de la respuesta en frecuencia y su fase
Para ello se usan las funciones abs y phase
11. Procesamiento de Señales
Ejemplo: Filtro Butterworth
[b,a] = butter(6,300/500);[h,w] = freqz(b,a,512,1000);m = abs(h);p = angle(h);semilogy(w,m);plot(w,p*180/pi)
11. Procesamiento de Señales
Obtención de los coeficientes de filtros digitales
En MATLAB existen las funciones:buttord, buttercheb1ord, cheby1cheb2ord, cheby2ellipord, ellipfir1, fir2remezord, remez
11. Procesamiento de Señales
Al trabajar con frecuencias normalizadas, el rango de frecuencias para los filtros digitales queda restringido al rango:
0<w<2, o -<w< , en radianes/muestra