Matlab 7 Introduccion
-
Upload
francela10 -
Category
Documents
-
view
75 -
download
0
description
Transcript of Matlab 7 Introduccion
![Page 1: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/1.jpg)
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)
![Page 2: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/2.jpg)
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
![Page 3: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/3.jpg)
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
![Page 4: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/4.jpg)
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
![Page 5: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/5.jpg)
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
![Page 6: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/6.jpg)
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
![Page 7: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/7.jpg)
11. Procesamiento de Señales
Desventajas:
Velocidad y costo
Tiempo de diseño
Longitud de palabra finita
![Page 8: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/8.jpg)
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
![Page 9: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/9.jpg)
11. Procesamiento de Señales
Instrumentación/Control
análisis espectral
control de posición
reducción de ruido
compresión de datos
![Page 10: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/10.jpg)
11. Procesamiento de Señales
Voz/Audio
reconocimiento de voz
síntesis de voz
text to espeech
audio digital
ecualización
![Page 11: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/11.jpg)
11. Procesamiento de Señales
Militares
comunicaciones seguras
radar
sonar
guía de misiles
![Page 12: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/12.jpg)
11. Procesamiento de Señales
Telecomunicaciones
cancelación de eco
ecualización adaptiva
espectro disperso
video conferencias
comunicaciones de datos
![Page 13: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/13.jpg)
11. Procesamiento de Señales
Biomedicina
monitoreo de pacientes
scaners
EEG
ECG
almacenamiento/enriquecimiento
de rayos x
![Page 14: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/14.jpg)
11. Procesamiento de Señales
En MATLAB:
Toolbox Signal
Otros Archivos-m
Blockset dspblks
![Page 15: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/15.jpg)
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
![Page 16: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/16.jpg)
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)
![Page 17: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/17.jpg)
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
![Page 18: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/18.jpg)
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);
![Page 19: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/19.jpg)
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])
![Page 20: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/20.jpg)
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
![Page 21: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/21.jpg)
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
![Page 22: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/22.jpg)
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)
![Page 23: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/23.jpg)
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
![Page 24: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/24.jpg)
11. Procesamiento de Señales
Sacando la transformada Z
)()(
)()()(
nhnxk
knhkxny
naznaazaa
nbznbbzbbzHzXzY
)1(1)2()1()1(1)2()1(
)()()(
![Page 25: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/25.jpg)
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
![Page 26: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/26.jpg)
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
![Page 27: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/27.jpg)
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(
)()()(
![Page 28: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/28.jpg)
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)
![Page 29: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/29.jpg)
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
![Page 30: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/30.jpg)
11. Procesamiento de Señales
Para implementar un filtro se requiere de una estructura
![Page 31: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/31.jpg)
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)
![Page 32: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/32.jpg)
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
![Page 33: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/33.jpg)
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
![Page 34: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/34.jpg)
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
][)(
![Page 35: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/35.jpg)
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:
![Page 36: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/36.jpg)
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
![Page 37: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/37.jpg)
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:
![Page 38: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/38.jpg)
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
![Page 39: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/39.jpg)
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()(
![Page 40: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/40.jpg)
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
![Page 41: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/41.jpg)
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);
![Page 42: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/42.jpg)
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)
![Page 43: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/43.jpg)
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
![Page 44: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/44.jpg)
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)
![Page 45: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/45.jpg)
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
![Page 46: Matlab 7 Introduccion](https://reader034.fdocuments.ec/reader034/viewer/2022052311/557213fb497959fc0b937a39/html5/thumbnails/46.jpg)
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