Tratamiento digital de Señales 4ta Edición John G. Proakis y Dimitris G. Mano...
Sistemas en pds
1. Tecnol´gico de Costa Rica
o
Escuela de Ingenier´ Electr´nica
ıa o
Notas de Clase
Procesamiento Digital de Se˜ ales
n
EL-5805
Dr. Jos´ Pablo Alvarado Moya
e
Versi´n de 28 de julio de 2011
o
2.
3. Prefacio
Estas notas de clase pretenden ofrecer al estudiante una gu´ para el curso “EL-5805 Pro-
ıa
cesamiento Digital de Se˜ales”. No deben considerarse bajo ninguna circunstancia como
n
fuente de informaci´n unica. En cada cap´
o ´ ıtulo se hace referencia a fuentes bibliogr´ficas
a
adicionales que el estudiante debe revisar por su cuenta, con ejercicios adicionales y mayor
detalle en su presentaci´n.
o
El concepto del curso se ha orientado en las sugerencias de los autores John G. Proakis y
Dimitris G. Manolakis [15] para un programa semestral de curso de pregrado, con algunas
adiciones y principalmente res´menes de la materia considerados necesarios. M´s detalles
u a
de los temas tratados aqu´ se podr´n entonces encontrar del cap´
ı a ıtulo 1 al cap´
ıtulo 8 del
mencionado libro de texto.
Las presentes notas de clase se han adaptado espec´ ıficamente al curso “Procesamiento
Digital de Se˜ales” de la Escuela de Ingenier´ Electr´nica del Tecnol´gico de Costa Rica,
n ıa o o
pero se ponen a disposici´n libre para que sean de provecho a quien las necesite.
o
Dr. Jos´ Pablo Alvarado Moya
e
Cartago, 28 de julio de 2011
Este trabajo se encuentra bajo una Licencia Creative Commons Atribuci´n- o
NoComercial-LicenciarIgual 3.0 Unported. Para ver una copia de esta Licencia, visite
http://creativecommons.org/licenses/by-nc-sa/3.0/ o env´ una carta a Creati-
ıe
ve Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
c 2005-2011 Pablo Alvarado Escuela de Electr´nica
o Tecnol´gico de Costa Rica
o
12. viii ´
Indice de ejemplos
c 2005-2011 — P. Alvarado
13. Lista de s´
ımbolos y abreviaciones
Notaci´n general
o
A Matriz.
a11 a12 · · · a1m
a21 a22 · · · a2m
A= . . .. .
. . .
. . .
.
an1 an2 · · · anm
+ ∗
IN , IN Conjunto de los n´meros naturales sin cero IN+ = IN{0}.
u
IN, IN0 Conjunto de los n´meros naturales IN = {0, 1, 2, . . .}.
u
Z Conjunto de los n´meros enteros Z = {. . . , −2, −1, 0, 1, 2, . . .}.
u
Q Conjunto de los n´meros racionales Q = {q | q = n ; n, d ∈ Z}.
u d
IR Conjunto de los n´meros reales.
u
C Conjunto de los n´meros complejos.
u
∆ Cuanto. Distancia entre dos niveles de cuantificaci´n.o
eq (t) o eq (n) Error de cuantificaci´n.
o
F Frecuencia en ciclos por unidad de tiempo para se˜ales de variable continua.
n
f Frecuencia en ciclos por muestra para se˜ales de variable discreta.
n
Fs Frecuencia de muestreo de una se˜al anal´gica. Fs = 1/T
n o
h(n) Respuesta al impulso
H(ω) Respuesta en frecuencia
∠H(ω) Respuesta en fase
| H(ω) | Respuesta en magnitud
H(z) Funci´n de transferencia
o
Im(z) o zIm Parte imaginaria del n´mero complejo z
u
√
j
¡
j = −1
Mapeo de un dominio temporal al dominio frecuencial o z
Mapeo de un dominio frecuencial al dominio temporal o z
Re(z) o zRe Parte real del n´mero complejo z
u
T [·] Transformaci´n realizada por un sistema
o
T Intervalo de muestreo. T = 1/Fs
Tp Periodo fundamental Tp = 1/F para se˜ales de variable continua.
n
x(n) Se˜al de variable discreta.
n
ix
14. x Lista de s´
ımbolos y abreviaciones
x Vector.
x1
x2
T
x = [x1 x2 . . . xn ] = .
..
xn
y Escalar.
z∗ Complejo conjugado de z
Ω Frecuencia angular en radianes por unidad de tiempo para se˜ales de variable
n
continua.
ω Frecuencia angular en radianes por muestra para se˜ales de variable discreta.
n
Abreviaciones
BIBO Entrada acotada – Salida acotada (bounded input – bounded output)
DSP Digital Signal Processing (o Processor ).
FIR Respuesta finita al impulso (Finite Impulse Response)
IIR Respuesta infinita al impulso (Infinite Impulse Response)
LTI Sistema lineal e invariante en el tiempo (Linear and Time Invariant)
PDS Procesamiento Digital de Se˜ales.
n
SQNR Relaci´n se˜al a ruido de cuantificaci´n (signal to quantization noise ratio).
o n o
c 2005-2011 — P. Alvarado
15. Cap´
ıtulo 1
Introducci´n
o
El Procesamiento Digital de Se˜ales (PDS) es un area de la ciencia y la ingenier´ que
n ´ ıa
se ha desarrollado r´pidamente desde la segunda mitad del siglo XX. Tanto los aportes
a
te´ricos como de aplicaci´n contin´an extendi´ndose desde y hacia varias areas del saber.
o o u e ´
Los avances en el procesamiento y compresi´n de audio y video, as´ como las nuevas
o ı
tecnolog´ en comunicaciones digitales (telefon´ celular, modems ADSL, etc.) son quiz´
ıas ıa a
los ejemplos de aplicaci´n m´s representativos del PDS.
o a
1.1 Se˜ ales
n
Para definir las tareas del PDS se requiere primero precisar el concepto de se˜al , con-
n
siderada aqu´ como aquella observaci´n de una magnitud f´
ı o ısica en funci´n de variables
o
independientes de tiempo y espacio, realizada de tal modo que la se˜al contenga informa-
n
ci´n de los procesos observados.
o
En general, toda se˜al contiene informaci´n que se desea extraer o modificar de acuerdo
n o
a los requisitos de cada aplicaci´n particular. Sism´grafos, por ejemplo, registran se˜ales
o o n
s´
ısmicas que contienen informaci´n sobre intensidad y caracter´
o ısticas espectrales de los
sismos, con ayuda de las cuales pueden determinarse entre otras cosas la ubicaci´n de o
epicentros y la naturaleza de los s´ ısmos. Las se˜ales electrocardiogr´ficas permiten al
n a
m´dico determinar el estado del coraz´n de sus pacientes.
e o
La tabla 1.1 resume las caracter´ısticas utilizadas para clasificar las se˜ales. Las se˜ales son
n n
representadas por funciones matem´ticas de una o m´s variables. Una se˜al de voz, por
a a n
ejemplo, puede representarse como una funci´n de una variable temporal f (t), im´genes
o a
se pueden considerar como funciones de dos variables espaciales f (x, y), y v´ ıdeo como una
se˜al espacio-temporal f (x, y, t).
n
Las funciones pueden ser adem´s escalares o vectoriales. Si la voz se captura con un
a
micr´fono monof´nico, la se˜al el´ctrica de salida tendr´ por ejemplo un solo valor de
o o n e a
tensi´n el´ctrica en cada instante de tiempo. Por otro lado, un electroencefalograma
o e
1
16. 2 1.1 Se˜ales
n
provee un conjunto o vector de se˜ales el´ctricas provenientes de los diferentes electrodos
n e
para cada instante t:
T
f (t) = f1 (t) f2 (t) . . . fn (t)
Otro ejemplo de se˜ales vectoriales utilizadas frecuentemente en ingenier´ son las im´genes
n ıa a
en color, en las que cada elemento de la imagen o pixel se representa como un vector en
un espacio de color, donde las componentes del vector pueden, por ejemplo, representar
los valores de los colores primarios rojo, verde y azul. A cada una de las componentes de
las se˜ales vectoriales se les denomina usualmente canales y por lo tanto a la se˜al se le
n n
denota como multicanal .
Las variables de las que depende la se˜al pueden ser discretas o continuas. La salida de
n
un foto-transistor puede, por ejemplo, ser obtenida en todo instante de tiempo t (variable
continua), mientras que el n´mero de llamadas realizado por hora es una se˜al que el ICE
u n
puede generar para instantes discretos de tiempo nT distanciados por un intervalo de T =
1 h (variable discreta). Los puntos donde la variable independiente de una se˜al discreta
n
est´ definida no deben ser necesariamente equidistantes; sin embargo, usualmente este tipo
a
de distribuci´n homog´nea de las muestras se utiliza por su conveniencia computacional
o e
y manejabilidad matem´tica.
a
Los valores que puede tomar una se˜al pueden ser tambi´n discretos o continuos. As´ el
n e ı,
voltaje del fototransistor puede tomar cualquier valor real en un intervalo, mientras que
el n´mero de llamadas es siempre un valor entero. Tambi´n los valores de una funci´n
u e o
discreta pueden ser equidistantes o seguir otros patrones m´s complejos (como el lo-
a
gar´ıtmico). El t´rmino digital se utiliza para se˜ales de variables independientes discretas
e n
y de valores discretos, mientras que anal´gica es una se˜al con variables independientes
o n
continuas y valores continuos. El an´lisis matem´tico involucrado en el tratamiento de
a a
se˜ales digitales pueden simplificarse si se realiza a trav´s de funciones de valor continuo
n e
y variable discreta, llamadas usualmente se˜ales en tiempo discreto, por representar la
n
variable independiente generalmente instantes de tiempo definidos. Este ser´ el enfoque
a
utilizado en este documento.
Un ultimo criterio de car´cter matem´tico para clasificar las se˜ales es su naturaleza
´ a a n
estad´
ıstica: las se˜ales pueden ser deterministas si puede especificarse con precisi´n la
n o
forma de la funci´n. Por ejemplo, para se˜ales determin´
o n ısticas definidas en el tiempo,
sus valores en el pasado, presente y futuro son siempre conocidos (por ejemplo, una
Tabla 1.1: Caracter´
ısticas de las se˜ales
n
Caracter´
ıstica Valores
N´mero de variables
u una variable multiples variables
Dimensionalidad escalar vectorial (multicanal)
Variables independientes discretas continuas
Valores de la se˜al
n discretos continuos
Naturaleza estad´ ıstica deterministas aleatorias
c 2005-2011 — P. Alvarado
17. 1 Introducci´n
o 3
se˜al senoidal). Por otro lado, las se˜ales aleatorias o estoc´sticas solo permiten una
n n a
descripcion aproximada de la forma de su funci´n, por tener asociado un comportamiento
o
impredecible (por ejemplo, un generador de ruido, una se˜al s´
n ısmica, una se˜al ac´stica
n u
de voz).
Asociado a la naturaleza estad´ ıstica de la se˜al se distingue adem´s entre se˜ales es-
n a n
tacionarias y no estacionarias. Las se˜ales estacionarias son aquelas cuyos par´metros
n a
estad´ısticos no var´ en el tiempo, lo que de ninguna manera implica que el valor de
ıan
la se˜al se constante. Por otro lado, la se˜ales no estacionarias tienen par´metros es-
n n a
tad´ısticos que var´ en el tiempo.
ıan
En el presente texto se estudiar´n se˜ales de una variable, de valor escalar, digitales y
a n
de naturaleza determinista. En cursos de procesamiento de im´genes se extienden los
a
conceptos a se˜ales vectoriales (usualmente tres dimensiones) de dos variables discretas
n
espaciales (x, y). El an´lisis de se˜ales estoc´sticas es tema usual para cursos de posgrado;
a n a
sin embargo, es en este curso introductorio donde se presentan todas las bases necesarias
para comprender los conceptos avanzados.
En principio las se˜ales pueden corresponder a cualquier tipo de magnitud f´
n ısica observa-
da; sin embargo, por medios electr´nicos solo se˜ales el´ctricas pueden ser procesadas, por
o n e
lo que usualmente se requieren transductores o sensores que realicen la correspondiente
conversi´n.
o
1.2 Sistemas
El t´rmino sistema denota a una colecci´n o conjunto de elementos interrelacionados que
e o
conforman un todo unificado. Su ra´ etimol´gica es el t´rmino latino syst¯ma, que a su
ız o e e
vez proviene del griego σ υ στ ηµα relacionado con los conceptos combinar e instalar.
´
Un sistema puede formar parte de otro sistema de mayor nivel, en cuyo caso al primero
se le denomina subsistema del segundo. Los diferentes subsistemas intercambian por lo
general informaci´n, materia o energ´ para lograr alg´n objetivo. Los t´rminos se˜ales
o ıa u e n
de entrada o de salida se utilizan entonces para abstraer ese flujo de informaci´n, materia
o
o energ´ en el concepto matem´tico de funciones.
ıa a
El sistema entonces puede interpretarse como un conjunto de subsistemas que logran
transformar una se˜al en otra. Estos dispositivos pueden ser entes f´
n ısicos, como un circuito
electr´nico, o virtuales, como algoritmos implementados en software.
o
En la literatura actual se tiende a diferenciar entre dos tipos de tareas de los sistemas:
procesamiento y an´lisis. Se dice que un sistema procesa una se˜al si la se˜al de salida
a n n
tiene las mismas caracter´ ısticas sem´nticas de la entrada: por ejemplo, si la entrada
a
representa una se˜al de voz, la salida de un sistema procesador ser´ tambi´n voz aunque
n a e
quiz´ modificada para cumplir ciertos requisitos de la aplicaci´n. Se dice que un sistema
a o
realiza an´lisis de la se˜al, si la salida tiene otra naturaleza sem´ntica a la entrada.
a n a
c 2005-2011 — P. Alvarado
18. 4 1.3 Elementos de un sistema PDS
Por ejemplo, un m´dulo de un reconocedor de habla puede extraer de una se˜al de voz
o n
informaci´n sobre la presencia de la vocal ‘a’ en ella. Usualmente el an´lisis de una se˜al
o a n
se realiza a trav´s de diversos pasos de procesamiento de la se˜al, junto con tareas de
e n
reconocimiento o codificaci´n de patrones.
o
En resumen, el procesamiento digital de se˜ales1 , abreviado PDS o DSP por sus siglas en
n
ingl´s (Digital Signal Processing) se refiere al proceso de modificaci´n de una se˜al digital
e o n
en un sistema, realizado para destacar o suprimir diferentes caracter´
ısticas de la se˜al que
n
tienen alg´n significado especial para una aplicaci´n en particular.
u o
1.3 Elementos de un sistema PDS
La mayor´ de las se˜ales en ciencia e ingenier´ tienen una naturaleza anal´gica, es decir,
ıa n ıa o
tanto las variables independientes de las funciones que las representan como sus valores
son continuos. Matem´ticamente estas se˜ales se representan como funciones f (t)
a n
f : IR → IR
es decir, relaciones matem´ticas que mapean valores reales en valores reales. Este tipo
a
de se˜ales pueden ser tratadas directamente utilizando sistemas anal´gicos, como por
n o
ejemplo filtros pasivos o analizadores de frecuencia (figura 1.1).
Se˜al de
n Procesador Se˜al de
n
Entrada Anal´gico
o Salida
Anal´gica
o de Se˜al
n Anal´gica
o
Figura 1.1: Procesamiento anal´gico de una se˜al [15].
o n
El procesamiento digital (figura 1.2) requiere transformar las se˜ales de entrada a un
n
formato digital, es decir, a funciones f (n)
f : Z → Z.
Esto ocurre en una etapa llamada conversi´n anal´gica-digital (A/D).
o o
La se˜al digitalizada es tratada luego en el procesador digital de se˜ales, que puede ser
n n
desde un computador de prop´sito general, pasando por sistemas empotrados basados en
o
microcontroladores, hasta circuitos digitales espec´
ıficamente dise˜ados para realizar las
n
tareas de procesamiento deseadas; sin embargo, las configuraciones programables tanto
en software como en hardware reconfigurable son las que han brindado al procesamiento
1
En la literatura en castellano se encuentran los t´rminos tratamiento o procesamiento de se˜ales
e n
como sin´nimos. La preferencia de autores y traductores espa˜oles por el primero radica en la acepci´n
o n o
principal de proceso en la variante dialectal ib´rica como “causa civil o criminal”, que no se aplica tanto
e
en Latino Am´rica.
e
c 2005-2011 — P. Alvarado
19. 1 Introducci´n
o 5
Se˜al de
n Procesador Se˜al de
n
Convertidor Convertidor
Entrada Digital de Salida
A/D D/A
Anal´gica
o Se˜al
n Anal´gica
o
Figura 1.2: Procesamiento digital de una se˜al anal´gica [15].
n o
digital una flexibilidad inalcanzable con sistemas anal´gicos equivalentes. El vertiginoso
o
avance en la electr´nica digital ha permitido el uso cada vez m´s generalizado de las
o a
t´cnicas digitales de procesamiento. En la actualidad hasta los m´s peque˜os tel´fonos
e a n e
celulares utilizan algoritmos de alta complejidad que hace tan solo 15 a˜os hubieran
n
requerido computadores de gran tama˜o y costo.
n
El ultimo paso del procesamiento digital consiste en convertir la salida del bloque procesa-
´
dor a una se˜al anal´gica, lo que ocurre en el llamado convertidor digital-anal´gico (D/A).
n o o
En aplicaciones de an´lisis de se˜al, la ultima etapa puede no ser necesaria, cuando la
a n ´
informaci´n a extraer se obtiene directamente de las representaciones digitales.
o
1.4 Ventajas del procesamiento digital
Para poder representar una se˜al anal´gica por medio de una se˜al digital sin que sufra
n o n
p´rdidas de informaci´n considerables, la se˜al anal´gica debe ser digitalizada con una
e o n o
tasa de muestreo suficientemente alta (esto se analizar´ con suficiente detalle en cap´
a ıtulos
posteriores). La tecnolog´ digital impone l´
ıa ımites de velocidad de procesamiento, que,
aunque cada vez menos restrictivos, determinan los anchos de banda de se˜ales que pue-
n
den ser tratadas digitalmente. Es por esto que los sistemas anal´gicos siguen siendo
o
irreemplazables en aplicaciones con se˜ales de anchos de banda en el orden de los gi-
n
gaherz. Otro ambito de dominio anal´gico son sistemas de bajo consumo de potencia (en
´ o
el orden de los microwatts). Tanto los m´dulos de conversi´n ADC como DAC, as´ como
o o ı
los microcontroladores o microprocesadores digitales tendr´n siempre un mayor consumo
a
de potencia en la implementaci´n de filtros digitales que filtros hom´logos anal´gicos, o
o o o
de capacitores conmutados, implementados en tecnolog´ integradas.
ıas
En casos donde las se˜ales pueden ser digitalizadas sin perder informaci´n de forma
n o
considerable y se cuenta con suficiente tiempo y potencia para realizar las conversiones
y los c´lculos necesarios, es preferible utilizar un sistema digital sobre su equivalente
a
anal´gico. Esto por varias razones:
o
Los sistemas digitales son usualmente m´s baratos y confiables para el procesamiento de
a
se˜ales. Como ya se mencion´, pueden utilizarse sistemas programables, por lo que a
n o
trav´s de cambios en el software pueden modificarse o adaptarse sus caracter´
e ısticas, pro-
veyendo as´ un alto grado de flexibilidad en el dise˜o. Adem´s, las precisiones alcanzables
ı n a
con sistemas digitales son usualmente mucho mayores que los circuitos anal´gicos, en los
o
que el error acumulado en forma de ruido aumenta con cada etapa de procesamiento.
c 2005-2011 — P. Alvarado
20. 6 1.4 Ventajas del procesamiento digital
Un sistema digital funciona en toda su vida util exactamente de la misma manera, y
´
la fabricaci´n de dispositivos asegurar´ en todos ellos un comportamiento id´ntico. Esto
o a e
contrasta con los dise˜os anal´gicos, donde las caracter´
n o ısticas de los componentes, pasivos
y activos, var´ con el tiempo y donde la tolerancia de cada componente alterar´ en
ıan a
alguna medida el funcionamiento del sistema total. Adem´s del envejecimiento de los
a
circuitos, el funcionamiento de los sistemas anal´gicos tiende a ser m´s sensible a cambios
o a
en la temperatura y a fuentes externas de interferencia que los sistemas digitales. En este
sentido se dice que los sistemas digitales son m´s robustos que los sistemas anal´gicos.
a o
Otra ventaja de los sistemas de procesamiento digital tiene que ver con las posibilidades
de almacenamiento. Los niveles de ruido introducidos en sistemas de almacenamiento
anal´gicos (como cintas magn´ticas) son extremadamente altos comparados con el alma-
o e
cenamiento pr´cticamente sin p´rdidas (excepto las introducidas por la propia digitaliza-
a e
ci´n) de se˜ales digitales. Por este motivo, con se˜ales digitales es m´s factible realizar
o n n a
los llamados procesamientos “fuera de l´ ınea” (off-line), donde el tratamiento de la se˜al
n
se realiza en otro tiempo al de la captura de la se˜al. Esto es muy util por ejemplo en as-
n ´
tronom´ donde las altas cantidades de informaci´n capturadas por los radio-telescopios
ıa, o
pueden ser entonces analizadas mucho despu´s de la adquisici´n de datos, sin riesgos de
e o
producir conclusiones incorrectas producto de imprecisiones del almacenaje. Otro ejemplo
es el an´lisis de im´genes m´dicas, donde altos vol´menes de informaci´n son analizados
a a e u o
en procesos autom´ticos o semi-autom´ticos a posteriori en la detecci´n de enfermedades
a a o
y el planeamiento de operaciones quir´rgicas.
u
Pero quiz´ una de las ventajas fundamentales del procesamiento digital es la complejidad
a
alcanzable por medio de algoritmos de software, para los cuales pueden incluso no existir
equivalentes anal´gicos. Debido a las consiguientes simplificaciones en los procesos de
o
dise˜o de sistemas digitales y considerando la predictibilidad en el incremento de las
n
capacidades de procesamiento y memoria (por ejemplo, por medio de la Ley de Moore), se
acostumbra desarrollar los modernos y complejos algoritmos para el tratamiento digital
de se˜ales utilizando equipos de alto costo y tal vez de dimensiones volum´tricas que
n e
exceden las limitaciones espaciales, puesto que se asume que en los pr´ximos a˜os se podr´
o n a
integrar y mejorar el hardware utilizado hasta satisfacer las expectativas de aparatos
dom´sticos. Como ejemplo, los nuevos est´ndares de codificaci´n de video del grupo
e a o
MPEG necesitan varios microprocesadores de ultima generaci´n para funcionar, y a´n
´ o u
as´ no alcanzan las velocidades necesarias para desplegar los videos con la naturalidad
ı
deseada. Se parte del hecho que en un corto plazo los prototipos actuales podr´n sera
integrados y comercializados hasta en sistemas port´tiles.
a
c 2005-2011 — P. Alvarado
21. 1 Introducci´n
o 7
1.5 Aplicaciones
1.5.1 ´
Areas de aplicaci´n
o
Las aplicaciones del procesamiento digital de se˜al son hoy en d´ incontables. Las m´s
n ıa a
conocidas, pero no las unicas, se resumen a continuaci´n:
´ o
• Aplicaciones automotrices
Control del motor, sistemas antibloqueo (ABS), sistemas de navegaci´n, analisis de
o
vibraci´n, etc.
o
• Electr´nica de consumo
o
Radio y televisi´n digital, sistemas de video (DVD, Blue-Ray, etc.), juguetes educa-
o
tivos, instrumentos musicales, sistemas de impresi´n y despliegue, como monitores
o
de plasma, LED, LCD, etc.
• Industria
Control num´rico, monitorizaci´n de l´
e o ıneas de potencia, rob´tica, sistemas de segu-
o
ridad.
• Instrumentaci´no
Generaci´n de funciones, emparejamiento de patrones, procesamiento s´
o ısmico, an´lisis
a
espectral, an´lisis de transcientes.
a
• Medicina
Equipo de diagn´stico, monitorizaci´n de pacientes, pr´tesis auditivas, visuales y
o o o
mec´nicas, equipos de ultrasonido, tomograf´ MRI, etc.
a ıa,
• Telecomunicaciones
Modems, ecualizadores de se˜al, codificadores y decodificadores, telefon´ celular,
n ıa
multiplexaci´n, cancelaci´n de eco, repetidores de se˜al, compensaci´n de canal,
o o n o
modulaciones de espectro ensanchado, video-conferencia, cifrado de datos
• Voz/Habla
Verificaci´n de locutor, mejoramiento de se˜al, reconocimiento de habla, s´
o n ıntesis de
habla
El tratamiento de se˜ales ac´sticas es utilizado entre otros en el almacenamiento y trans-
n u
misi´n eficientes de sonido digital (MP3, OggVorbis, etc.), el procesamiento profesional
o
de sonido en industria musical y cinematogr´fica, el manejo de se˜ales de ultrasonido
a n
para elaboraci´n de im´genes m´dicas, o el procesamiento de voz humana, necesario para
o a e
codificar, encriptar, reconocer o sintetizar el habla.
El procesamiento de im´genes bidimensionales permite analizar las se˜ales obtenidas por
a n
medio de c´maras industriales, hoy en d´ frecuentemente encontradas en las l´
a ıa ıneas de pro-
ducci´n; adem´s, el procesamiento de im´genes tomadas por sat´lite permiten identificar
o a a e
entre otras cosas el tipo de uso del suelo, facilitan la construcci´n de mapas actualizados,
o
etc. Esta area es central en la codificaci´n y compresi´n de se˜ales de video, tal y como
´ o o n
los establecen los est´ndares MPEG (Motion Picture Expert Group).
a
c 2005-2011 — P. Alvarado
22. 8 1.5 Aplicaciones
El procesamiento de im´genes tridimensionales se utiliza por ejemplo en el an´lisis y
a a
generaci´n de im´genes de resonancia magn´tica (MRI), utilizadas en medicina como
o a e
instrumento de observaci´n de tejidos internos de un paciente, sin tener la necesidad de
o
utilizar procedimientos quir´rgicos.
u
Las t´cnicas modernas de an´lisis permiten obtener mejores resoluciones y aumentar la
e a
confiabilidad de la informaci´n producida por sonares y radares. Por otro lado, el estu-
o
dio digital de se˜ales s´
n ısmicas y volc´nicas permite incorporar t´cnicas de simulaci´n y
a e o
reconocimiento de patrones que mejoran la predicci´n de zonas y periodos de riesgo.
o
En los procesos de automatizaci´n industrial el procesamiento digital es en la actualidad
o
omnipresente, pues a pesar de que la mayor´ de los sensores producen salidas anal´gicas,
ıa o
estas son transformadas casi inmediatamente a se˜ales digitales para permitir una trans-
n
misi´n m´s confiable y sin mayores p´rdidas a las unidades de procesamiento, para facilitar
o a e
la aplicaci´n de algoritmos de extracci´n de la informaci´n de inter´s, y para hacer posible
o o o e
la utilizaci´n de t´cnicas confiables de almacenamiento de la informaci´n, que puede ser
o e o
la base luego para el mejoramiento de los procesos productivos, en el c´lculo de costos,
a
etc.
En la preparaci´n de se˜ales para su transmisi´n y en su decodificaci´n y mejoramiento del
o n o o
lado de los receptores, el procesamiento digital juega un papel cada vez m´s importante.
a
Un ejemplo lo representan los m´dems utilizados actualmente para permitir enlaces de
o
alta velocidad a trav´s de las l´
e ıneas telef´nicas de cobre, denominado ADSL (Asymmetric
o
Digital Subscriber Line), donde el procesamiento digital es utilizado para codificar y
decodificar las tramas y las se˜ales de acuerdo a los est´ndares de modulaci´n digitales.
n a o
1.5.2 Algoritmos
Conceptos algor´ıtmicos cl´sicos del procesamiento digital, encontrados en las areas de apli-
a ´
caci´n anteriores son: compresi´n, cifrado, reconocimiento, identificaci´n, sintetizaci´n,
o o o o
eliminaci´n de ruido, estimaci´n espectral y filtrado, solo por mencionar algunos.
o o
La compresi´n consiste en la reducci´n de capacidad necesaria para almacenar o transmitir
o o
una se˜al. En telefon´ celular se˜al de la voz es comprimida para poder transmitirla en
n ıa n
anchos de banda relativamente peque˜os, comparados con los utilizados en telefon´ fija.
n ıa
Los est´ndares MPEG contienen sofisticados algoritmos de compresi´n de im´genes que
a o a
permiten reducir en factores de 8 a 12 veces las se˜ales de video.
n
El cifrado es necesario cuando la confidencialidad de la informaci´n en las se˜ales debe
o n
ser asegurada. Algoritmos complejos codifican la informaci´n de forma tal que solo el
o
destinatario pueda decodificarla.
Tareas de reconocimiento intentan inferir de patrones en la se˜al, informaci´n contenida
n o
de forma impl´ıcita. Por ejemplo, de una se˜al de voz puede reconocerse tanto el mensaje
n
hablado, como el hablante (reconocimiento de habla y de voz, respectivamente). En
im´genes m´dicas pueden utilizarse algoritmos para reconocer tejidos malignos y benignos,
a e
c 2005-2011 — P. Alvarado
23. 1 Introducci´n
o 9
o en im´genes industriales pueden ser reconocidos caracteres, formas de productos, el
a
ensamblaje correcto de partes, etc.
La identificaci´n est´ relacionada con el reconocimiento. Aqu´ no se intenta descubrir una
o a ı
identificaci´n para el contenido de una se˜al, sino verificar que una identidad previamente
o n
dada es compatible con la se˜al. M´todos de identificaci´n se utilizan, junto con la
n e o
encriptaci´n, en aplicaciones de alta seguridad.
o
La sintetizaci´n permite producir se˜ales artificiales similares a aquellas generadas a
o n
trav´s de fen´menos f´
e o ısicos. Es utilizada por ejemplo en la elaboraci´n de efectos ac´sticos
o u
e imitaci´n de instrumentos musicales en sintetizadores de sonido. Otro ejemplo es la
o
sintetizaci´n de voz humana, utilizada en interfaces avanzadas hombre-m´quina.
o a
Las se˜ales transmitidas por canales anal´gicos usualmente son perturbadas con ruido, es
n o
decir, con alteraciones indeseables que no contienen ninguna informaci´n relevante para
o
la aplicaci´n. Por medio del procesamiento digital es posible aplicar diversos algoritmos
o
que permiten reducir el efecto de dichas distorsiones.
El filtrado es un concepto b´sico del procesamiento digital que forma parte de pr´cticamente
a a
cualquier otro algoritmo. El sistema que realiza esta tarea se denomina filtro, y permite
el paso de solo ciertas “componentes” de su se˜al de entrada, y bloqueando el paso de
n
otras. Algunos detalles ser´n presentados en los cap´
a ıtulos 4.5 y 7.
La estimaci´n espectral es utilizada en varias areas de las comunicaciones para encontrar
o ´
los rangos de frecuencias en que se concentra la energ´ de una se˜al (como en el caso del
ıa n
arriba mencionado ADSL).
1.5.3 Implementaci´n
o
El dise˜o de algoritmos para resolver las tareas mencionadas anteriormente se fundamenta
n
en teor´ matem´ticas que aseguran su funcionamiento bajo limitaciones pre-establecidas.
ıas a
Para cada algoritmo se puede elegir aquella estrategia de implementaci´n que mejor sa-
o
tisfaga los requisitos de una aplicaci´n particular. Esto puede involucrar
o
• plataformas de prop´sito general, como un computador personal;
o
• plataformas empotradas, incluyendo tel´fonos celulares, PDA, controles en m´quinas,
e a
etc. Seg´n sea la demanda computacional requerida, ´stas plataformas se pueden
u e
basar en
– microprocesadores de prop´sito general, o
o
– microcontroladores especializados en el tratamiento de se˜ales digitales (PDS,
n
Procesadores Digitales de Se˜ales)
n
• hardware reconfigurable, que se emplea en aplicaciones de alto desempe˜o, para el
n
cual los PDS no tienen suficientes prestaciones,
• circuitos integrados de aplicaci´n espec´
o ıfica (ASIC), utilizados si se espera una pro-
ducci´n en masa (como decodificadores del formato de audio Mp3)
o
• implementaci´n de circuitos de procesamiento en tiempo discreto.
o
c 2005-2011 — P. Alvarado
24. 10 1.5 Aplicaciones
En la ultima estrategia la se˜al nunca es convertida a un formato digital, pero se incluye
´ n
aqu´ por basarse su dise˜o en las teor´ de an´lisis de se˜ales en tiempo discreto, a tratar
ı n ıas a n
en este documento.
El desarrollo de tecnolog´ de implementaci´n de algoritmos ha tendido en los ultimos
ıas o ´
a˜os a simplificar los procesos, de modo que utilizando lenguajes de alto nivel (como
n
por ejemplo el lenguaje C, o MatLab) sea posible obtener con los compiladores adecua-
dos el c´digo optimizado para el procesador particular utilizado o incluso la descripci´n
o o
en VHDL o Verilog del circuito que realiza la tarea descrita en C. Esto reduce costos
al acelerar los procesos de implementaci´n y evita el entrenamiento de los ingenieros en
o
tecnolog´ cuya vigencia se restringe a unos pocos a˜os. Sin embargo, en casos con restric-
ıas n
ciones cr´
ıticas es inevitable recurrir ya sea a la optimizaci´n de algoritmos en ensamblador
o
del PDS empleado o la optimizaci´n manual de los circuitos.
o
1.5.4 Casos
Los codificadores de voz (o codecs) utilizados en telefon´ celular son un ejemplo de
ıa
algoritmos complejos imposibles de realizar con circuitos anal´gicos, al menos en el tama˜o
o n
de un tel´fono celular actual. En GSM, por ejemplo, la se˜al anal´gica adquirida por el
e n o
micr´fono es muestreada a 8 kHz, con 13 bits por muestra, lo que equivale a 104 000 bit/s.
o
Seg´n la calidad deseada o disponible, la salida de los codecs reducen el ancho de banda
u
a un rango entre 4,75 kbit/s y 13 kbit/s, es decir, permiten factores de compresi´n de 21
o
a 8 veces.
Otro caso impresionante es el de los diversos algoritmos para compresi´n de video. Consi-
o
derando que una imagen de televisi´n tiene 320×200 pixels aproximadamente y cada pixel
o
necesita 24 bits para ser representado digitalmente con suficiente precisi´n, entonces una
o
sola imagen necesita, sin compresi´n alguna, 187,5 kB para ser almacenada. Un segundo
o
de video, asumiendo una frecuencia de 30 im´genes por segundo, necesitar´ 5,6 MB. Una
a ıa
pel´
ıcula que tarde 90 minutos requerir´ entonces m´s de 30 GB, lo que ser´ imposible
ıa a ıa
de almacenar en las tecnolog´ actuales de DVD. Solo con los sofisticados algoritmos de
ıas
codificaci´n de video y sonido pueden almacenarse no solo la se˜al de video, sino varias
o n
versiones ac´sticas en diferentes idiomas, y materiales adicionales con video y audio, en
u
poco m´s de 4 GB de espacio, con factores de compresi´n m´s de 10 veces. La implemen-
a o a
taci´n de los codificadores y decodificadores se realiza en circuitos integrados de aplicaci´n
o o
espec´ıfica tanto en las c´maras comerciales, como en las unidades de DVD y Blue-ray.
a
Incluso los sistemas de transmisi´n de radio y televisi´n modernos est´n cambiando de
o o a
ser completamente anal´gicos a conceptos digitales. Los nuevos formatos de televisi´n
o o
de alta definici´n (HDTV) son completamente digitales, que no ser´ pr´cticos sin la
o ıan a
presencia de los algoritmos para el procesamiento y compresi´n adecuadas de las se˜ales
o n
en cuesti´n.
o
Los discos Blue-Ray se utilizan para almacenar v´ıdeo apto para HDTV. Soportan el
formato 1080p24, lo que implica una resoluci´n de 1920×1080 p´
o ıxeles con exploraci´n
o
c 2005-2011 — P. Alvarado
25. 1 Introducci´n
o 11
progresiva2 , as´ como una tasa de 24 cuadros por segundo. Una imagen tiene as´ casi 2,1
ı ı
millones de p´ ıxeles que requieren un espacio de 5,93 MB de almacenamiento sin compre-
si´n. Esto implica que para la tasa de 24 im´genes por segundo se requiere almacenar
o a
142,4 MB por cada segundo de v´ ıdeo sin comprimir. La tasa de transmisi´n de datos
o
estandarizada para este formato de HDTV es de 4,5MB/s, que es un factor aproximada-
mente 32 veces menor al de la se˜al cruda (sin compresi´n). Las t´cnicas de compresi´n
n o e o
del v´
ıdeo utilizan algoritmos de PDS m´s avanzados que sus equivalentes en un DVD,
a
para lograr alcanzar dicha tasa y as´ poder almacenar todos los datos (v´
ı ıdeo, texto, audio)
en un disco con 25 GB de capacidad.
Medicina es quiz´ una de las ´reas que m´s ventajas ha tomado del procesamiento digital
a a a
de se˜ales. Las nuevas tecnolog´ de visualizaci´n de ultrasonido permiten por ejemplo la
n ıas o
reconstrucci´n de una imagen tridimensional del feto en el vientre de la madre, ayudando
o
as´ al ginec´logo a tomar las precauciones del caso cuando algo no est´ en orden. El
ı o e
manejo digital de tomograf´ computarizadas y de im´genes de resonancia magn´tica
ıas a e
permite la visualizaci´n de tejidos internos en formatos legibles para los m´dicos. Los
o e
equipos m´s modernos permiten incluso hacer uso de la llamada realidad aumentada,
a
donde im´genes reconstruidas a partir de las mediciones se superponen a las reales para
a
guiar a los cirujanos en operaciones delicadas.
La creaci´n de pr´tesis cada vez m´s complejas es tambi´n posible gracias a las t´cnicas
o o a e e
de procesamiento digital. El implante de c´clea, por ejemplo, permite a personas sordas
o
volver a escuchar utilizando el an´lisis digital de las se˜ales ac´sticas obtenidas con un
a n u
micr´fono. Similar a este ultimo se trabaja en la actualidad en los implantes de retina,
o ´
donde complejos algoritmos de PDS intentan transformar la se˜al capturada por una
n
c´mara en impulsos el´ctricos que pueden ser acoplados al nervio optico en el ojo de
a e ´
personas ciegas.
2
la exploraci´n progresiva implica que la imagen se genera progresivamente l´
o ınea por l´
ınea en un solo
cuadro, y es lo opuesto a la exploraci´n entrelazada, donde la imagen se genera a trav´s de dos cuadros,
o e
uno que contiene las l´
ıneas pares y otro con las impares.
c 2005-2011 — P. Alvarado
26. 12 1.6 Problemas
1.6 Problemas
Problema 1.1. Busque un ejemplo de se˜al para cada una de las 32 posibles
n
combinaciones de las caracter´
ısticas de las se˜ales indicadas en la Tabla 1.1.
n
Problema 1.2. Una se˜al puede clasificarse seg´n cinco criterios:
n u
N´mero de variables
u (Una variable o Multiples variables)
Dimensi´n del valor
o (Escalar o Vectorial )
Variables independientes (Discretas o Continuas )
Valores de la se˜al
n (Discretas o Continuas )
Naturaleza estad´ ıstica (Determinista o Aleatoria )
Utilice las letras may´sculas indicadas en negrita para identificar las caracter´
u ısticas de
las se˜ales a continuaci´n. Si alguna caracter´
n o ıstica no se aplica o puede interpretarse con
ıquelo con ∗.
cualquier valor de la propiedad, ind´
Se˜al
n Caracter´
ıstica
N´m. Variables (U/M/∗)
ıstica (D/A/∗)
Dimensi´n (E/V/∗)
Variables (D/C/∗)
Valores (D/C/∗)
o
Estad´
u
Imagen tomada por una c´mara digital a color
a
Registro mensual de la posici´n de
o
una bandada de aves migratorias
Se˜ales de salida de un micr´fono est´reo
n o e
Se˜al digital
n
Se˜al anal´gica
n o
c 2005-2011 — P. Alvarado
27. Cap´
ıtulo 2
Se˜ ales y Sistemas de
n
Variable Discreta
2.1 Se˜ ales de variable discreta
n
Sea x(n) una se˜al de variable discreta, es decir, una funci´n definida para n entero. La
n o
figura 2.1 muestra una t´ıpica representaci´n gr´fica de una se˜al de este tipo. A n se le
o a n
denomina n´mero de muestra y a x(n) la n-´sima muestra de la se˜al.
u e n
x(n)
n
−1 0 1 2 3 4 5 6
Figura 2.1: Representaci´n gr´fica de una funci´n real de variable discreta x(n).
o a o
N´tese que x(n) no est´ definida para n no entero. Un error com´n es considerar que la
o a u
se˜al es cero “entre” las muestras, cuando en realidad all´ simplemente la funci´n no est´
n ı o a
definida. La suposici´n de que la se˜al es cero entre muestras es v´lido solo para una
o n a
se˜al de variable real x(t), que es otro concepto diferente.
n
Adem´s de la representaci´n gr´fica se utilizan aqu´ otras tres notaciones:
a o a ı
1. Funcional:
1
para n = 1
x(n) = 5−n para 2 ≤ n ≤ 4
0 el resto
Esta representaci´n es la forma m´s compacta de representar se˜ales cuyo compor-
o a n
tamiento puede ser expresado directamente por expresiones algebraicas cerradas.
13
28. 14 2.1 Se˜ales de variable discreta
n
2. Tabular
n . . . -1 0 1 2 3 4 5 . . .
x(n) . . . 0 0 1 3 2 1 0 . . .
En programas computacionales como MatLab[12] u Octave[5] las se˜ales se repre-
n
sentan con esta notaci´n, donde las dos filas de la tabla se interpretan como dos
o
arreglos de datos independientes.
3. Como secuencia.
Una secuencia de duraci´n infinita con el origen en n = 0 (indicado con “↑”) se
o
representa como
x(n) = {. . . , 0, 0, 1, 3, 2, 1, 0, . . .}
↑
Si la secuencia es 0 para n < 0 se suele representar como
x(n) = {0, 1, 3, 2, 1, 0, . . .}
↑
y si es finita
x(n) = {0, 1, 3, 2, 1}
↑
Si la secuencia inicia en cero, entonces usualmente se omite la flecha:
x(n) = {0, 1, 3, 2, 1}
Por su brevedad y simpleza notacional, ´sta ser´ la representaci´n de se˜ales de
e a o n
preferencia en el presente texto.
2.1.1 Manipulaciones elementales de se˜ ales de variable discreta
n
Se describen a continuaci´n algunas transformaciones elementales para se˜ales de variable
o n
independiente discreta (o tiempo discreto). Estas transformaciones son la base de opera-
ciones m´s complejas en el procesamiento digital de se˜ales y se utilizar´n a menudo en
a n a
´ste y los siguientes cap´
e ıtulos.
Desplazamiento
La se˜al x(n) se desplaza k muestras sustituyendo la variable n por n − k. Si k > 0 la
n
se˜al se retarda k muestras y si k < 0 la se˜al se adelanta k muestras.
n n
En la manipulaci´n fuera de l´
o ınea (off-line) ambos tipos de desplazamiento son posibles;
sin embargo, en sistemas de tiempo real o en l´
ınea (on-line), solo el retraso de la funci´n
o
es realizable.
Ejemplo 2.1 Utilizando desplazamientos exprese el escal´n unitario u(n) en t´rminos
o e
de una suma de impulsos δ(n) desplazados.
Soluci´n:
o
c 2005-2011 — P. Alvarado