Anda di halaman 1dari 90

UNIVERSIDAD NACIONAL DEL CALLAO

FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA


XXXI CICLO DE ACTUALIZACIN PROFESIONAL DE INGENIERA ELECTRNICA

PROCESAMIENTO DIGITAL DE SEALES

PROFESOR:
MSc. Ing. JACOB ASTOCONDOR VILLAR

Bellavista 3 enero 2016

UNAC

PROCESAMIENTO DIGITAL DE SEALES

CAPTULO 1
INTRODUCCIN AL PROCESAMIENTO DIGITAL DE
SEALES
1.1

Introduccin
Los rpidos avances en la electrnica, particularmente en las tcnicas de

fabricacin de circuitos integrados, han tenido, y sin duda continuarn teniendo, un gran
impacto en la industria y la sociedad. El rpido desarrollo de la tecnologa de circuitos
integrados, empezando con la integracin a gran escala (LSI, Large Scale Integration), y
ahora la integracin a gran escala (VLSI, Very Large Scale Integration) de circuitos
electrnicos ha estimulado el desarrollo de computadores digitales ms potentes,
pequeos, rpidos y baratos y de hardware digital de propsito general. Estos circuitos
digitales baratos y relativamente rpidos han hecho posible construir sistemas digitales
altamente sofisticados, capaces de realizar funciones y tareas del procesado de seales
digitales que normalmente eran demasiado difciles y/o caras con circuitera o sistemas
de procesado de seales analgicas. De aqu que muchas de las tareas del procesado de
seales que convencionalmente se realizaban analgicamente se realicen hoy mediante
hardware digital, ms barato y a menudo ms confiable.
Sistemas de DSP's modernos son apropiados para su implementacin bajo el
criterio VLSI. Las grandes inversiones necesarias para disear un nuevo circuito
integrado slo pueden ser justificadas cuando el nmero de circuitos a fabricar es grande,
o cuando los niveles necesarios de desempeo son tan altos que no pueden ser
alcanzados con la tecnologa existente. A menudo, ambos argumentos son vlidos,
particularmente en comunicaciones y aplicaciones dirigidas a los consumidores. Avances
en la tecnologa de fabricacin de circuitos integrados tambin abren nuevas reas de
desarrollo basadas en DSP, tales como sensores inteligentes, visin de robots y
automatizacin, mientras entrega las bases para continuar los avances en reas
tradicionales del procesamiento digital de seales, tales como msica, voz, radar, sonar,
video, audio y comunicaciones.

UNAC

PROCESAMIENTO DIGITAL DE SEALES


Esta lectura tiene como fin entregar una breve introduccin a los sistemas DSP a

travs de la presentacin de sus principales caractersticas, aplicaciones y algunos datos


de inters en cuanto a fabricantes, modelos y formas de elegir la plataforma ms
adecuada.

1.2

El Procesador Digital de Seales


Un Procesador Digital de Seales (DSP, sigla en ingls de Digital Signal

Processor) es un tipo de microprocesador, increblemente rpido y poderoso. Un DSP es


nico porque procesa seales en tiempo real. Esta capacidad de procesamiento en
tiempo real hace a los DSP ideales para aplicaciones que no toleran ningn retardo. Por
ejemplo, no es fcil conversar a travs de un telfono celular cuando existe un retardo en
la lnea. Esto lleva a que la seal se corte o a confusin ya que ambos usuarios hablan a
la vez. Con los telfonos celulares actuales, los cuales usan DSP's, es posible hablar
normalmente. El DSP dentro del telfono procesa el sonido (convirtindolo de una seal
analgica a digital, filtrando, comprimiendo y realizando otras tareas en forma digital) tan
rpidamente que uno puede hablar y escuchar sin problemas de retardo ni ninguna
molestia que ello implica. O sea, se procesa en tiempo real.
Qu es una seal?
Una seal es definida como cualquier cantidad fsica que varia en el tiempo y que
lleva informacin, generalmente acerca del estado o comportamiento de un sistema,
como por ejemplo: radar, msica, voz, sonar, etc.
Qu es procesar una seal?
Es la operacin o transformacin sobre la seal.
Qu es el procesamiento digital de seal?
Es una operacin o transformacin de una seal en un hardware digital segn
reglas bien definidas las cuales son introducidas al hardware a travs de un software
especfico que puede o no manejar lenguajes tanto de alto como de bajo nivel.

UNAC

PROCESAMIENTO DIGITAL DE SEALES


En estricto rigor, digital signal processing se refiere al procesamiento electrnico

de seales tales como sonido, radio y microondas usando tcnicas matemticas para
realizar transformaciones o extraer informacin. En la prctica, las caractersticas que
hacen a los DSP's tan buenos en el manejo de seales los hacen adecuados para
muchos otros

propsitos, tales como procesamiento de grficos de alta calidad y

simulaciones en ingeniera.

1.3

Aplicaciones
Las aplicaciones clsicas de los DSP's trabajan seales del mundo real, tales

como sonido y ondas de radio que se originan en forma anloga. Como se sabe, una
seal anloga es continua en el tiempo; cambia suavemente desde un estado a otro. Los
computadores digitales, por otro lado, manejan la informacin discontinuamente, como
una serie de nmeros binarios, por lo que se hace necesario como primera etapa en la
mayora de los sistemas basados en DSP's transformar las seales anlogas en digitales.
Esta transformacin la hacen los Conversores Anlogo Digital (ADC, en ingls).
Una vez terminada la etapa de conversin anloga digital, los datos son
entregados al DSP el cual est ahora en condiciones de procesarla. Eventualmente el
DSP deber devolver los datos ya procesados para lo cual es necesaria una etapa final
que transforme el formato digital a anlogo. Por ejemplo, una seal de audio puede ser
adquirida (ADC) y filtrada para eliminar en gran medida ruido, crujidos de esttica,
amplificar ciertas frecuencias de inters, eliminar otras, etc. Luego de esto, la informacin
puede ser devuelta a travs de una conversin digital anloga (DAC).
Ejemplos interesantes de aplicaciones de DSP's son:
1. Eliminar el eco en las lneas de comunicaciones.
2. Lograr hacer ms claras imgenes de rganos internos en los equipos de

diagnstico

mdico.
3. Cifrar conversaciones en telfonos celulares para mantener privacidad.
4. Analizar datos ssmicos para encontrar nuevas reservas de petrleo.

UNAC

PROCESAMIENTO DIGITAL DE SEALES


En su ncleo, un DSP es altamente numrico y repetitivo. A la vez que cada dato

llega, ste debe ser multiplicado, sumado y adems de eso transformado de acuerdo a
frmulas complejas. Lo que permite realizar todo ello es la velocidad del dispositivo. Los
sistemas basados en DSP's deben trabajar en tiempo real, capturando y procesando
informacin a la vez que ocurre. Los conversores anlogo digital deben adquirir la
informacin lo suficientemente seguido como para captar todas las fluctuaciones
relevantes de las seales.
Si el ADC es muy lento se perder informacin. El DSP tambin debe trabajar
rpido para no perder informacin que le llega desde el ADC y adems cumplir con el
adecuado procesamiento de las seales. Por ejemplo, un sistema stereo maneja sonidos
de hasta 20 Khz., por lo tanto el DSP deber ser capaz de procesar alrededor del
centenar de millones de operaciones por segundo. Otras seales, tales como
transmisiones por satlite son del orden de los Gigahertz por lo que requieren un
procesamiento de mayor velocidad.
Una forma de clasificar los DSP's y aplicaciones es a travs de su rango dinmico.
El rango dinmico es un conjunto de nmeros, desde pequeos a grandes, que deben ser
procesados en el curso de una aplicacin. Por ejemplo, para representar una forma de
onda entera de una seal particular es necesario un cierto rango de nmeros para
manejar sus valores mayores y menores. El DSP debe ser capaz de manejar los nmeros
generados tanto en la transformacin anloga digital como durante los clculos
(multiplicaciones, sumas, divisiones) con dicha seal. Si no es capaz de manejar todo el
rango de nmeros ocurrir "overflow" o "underflow", lo cual producir errores en los
clculos.
La capacidad del procesador es una funcin de su ancho de datos (el nmero de
bits manipulados) y el tipo de aritmtica que posee (punto fijo o flotante). Un procesador
de 32 bits tiene un ancho de datos mayor que uno de 24 bits, el cual a su vez tiene un
rango mayor que uno de 16 bits. DSP's de punto flotante tienen rangos mayores que uno
de punto fijo. Cada tipo de procesador es ideal para un rango particular de aplicaciones.
DSP's de 16 bits son ideales para sistemas de voz tales como telfonos ya que ellos
trabajan con un estrecho rango de frecuencias de audio. Stereos de alta fidelidad
requieren ADCs de 16 bits y un procesador de 24 bits de punto fijo. Los 16 bits del
4

UNAC

PROCESAMIENTO DIGITAL DE SEALES

conversor permiten capturar todo el rango de la seal de audio y los 24 bits del
procesador permiten operar cmodamente los grandes valores resultantes de la
operacin con los datos. Procesamiento de imgenes, grficos 3D y simulaciones
cientficas necesitan un rango dinmico mucho mayor y por lo tanto requieren
procesadores de punto flotante de 32 bits y ADC's de 24 bits.

Figura 1: Diagrama de bloques conceptual de un sistema tpico


ADC : Conversor Anlogo Digital. DSP : Digital Signal Processor.
DAC : Conversor Digital Anlogo.

Algunos ejemplos de los usos de DSP's en la actualidad son:


1. Wireless LAN
2. Reconocimiento de Voz
3. Manejo de imgenes digitales
4. Reproductores digitales de audio
5. Telfonos celulares
6. Mdems inalmbricos
7. Cmaras digitales
8. Control de motores
9. Manejo de bombas, ventiladores, HVAC
10. Inversores industriales
11. Automatizacin de fbricas
12. Transporte
Cules son las caractersticas de los DSP?
Una de las ms importantes caractersticas de un DSP es su capacidad de realizar
operaciones de multiplicacin y acumulacin (MACs) en slo un ciclo de reloj. No
obstante ello, es necesario que el dispositivo posea la caracterstica de manejar
5

UNAC

PROCESAMIENTO DIGITAL DE SEALES

aplicaciones crticas en tiempo real. Esto requiere de una arquitectura que soporte un
flujo de datos a alta velocidad hacia y desde la unidad de clculo y memoria. Esta
ejecucin a menudo requiere el uso de unidades DMA (Direct Memory Access) y
generadores de direcciones duales (DAG's) que operan en paralelo con otras partes del
chip. Los DGA's realizan los clculos de direcciones, permitiendo al DSP buscar dos
datos distintos para operar con ellos en un solo ciclo de reloj, de tal forma que es posible
ejecutar algoritmos complejos en tiempo real.
Es importante para DSP's tener un mecanismo efectivo de salto para la ejecucin
de loops ya que el cdigo generalmente programado es altamente repetitivo. La
arquitectura permite realizar estos loops sin instrucciones adicionales ni demoras, las que
al ejecutarse millones de veces empiezan a generar retardos significativos.
Los DSP's deben manejar rangos dinmicos extendidos y de precisin para evitar
overflow y underflow y para minimizar los errores de redondeo. Para acomodarse a esta
capacidad, los DSP's incluyen acumuladores dedicados con registros ms anchos que el
tamao nominal de los datos para as conservar la precisin (por ejemplo, DSP's de 16
bits poseen acumuladores de 32 bits para manejar el resultado de las multiplicaciones).
Tambin deben soportar el manejo de buffers circulares para la ejecucin de funciones
algortmicas, tales como filtros. En estos tipos de buffers el puntero del buffer se actualiza
en paralelo con otras funciones del chip en cada ciclo de reloj. En cada ciclo el buffer
circular realiza una comprobacin de "fin de buffer" para verificar si es necesario volver al
inicio de ste sin demorar as la ejecucin del algoritmo a causa de la ejecucin de
instrucciones adicionales de comparacin y salto.
Por otro lado, los microcontroladores se utilizan sobre todo en aplicaciones donde
existen acontecimientos externos los que requieren de la deteccin y el control. El
ambiente externo es detectado por cualquiera de los dispositivos perifricos; puertos
digitales I/O, pines dedicados de interrupcin, o las entradas anlogas (de analgico a
digital). La fuente de las seales a estos pines viene de los interruptores, sensores
anlogos y/o digitales, y de las seales de estado de otros sistemas. Cada entrada
representa un pedazo de informacin sobre el estado de un cierto acontecimiento
exterior. Las salidas se envan a actuadores, relays, motores o a otros dispositivos que
controlen acontecimientos. Entre la deteccin y actuacin est el microcontrolador,
6

UNAC

PROCESAMIENTO DIGITAL DE SEALES

analizando las entradas y el estado actual del sistema, determinando cundo y qu


encender y/o apagar.

El software es el que hace todo esto, toma las decisiones,

generalmente trabaja de una manera condicional; es decir, realiza saltos slo bajo ciertas
condiciones y realiza manipulaciones a nivel de bits. Las interrupciones son consideradas
como condiciones externas que alteran el flujo principal del programa.

1.4

Arquitecturas Estndar en DSP

Las arquitecturas de los computadores actuales estn comnmente clasificadas como


RISC's (Reduced Instruction Set Computers) y CISC's (Complex Instruction Set
Computers). Estos ltimos tienen un gran nmero de instrucciones sumamente
poderosas,
mientras que la arquitectura RISC posee pocas instrucciones y realiza movimientos de
datos entre registros en un ciclo de mquina. Hoy en da los computadores RISC
comienzan a reemplazar a los CISC's, porque se puede alcanzar un ms alto rendimiento
por medio del uso de un eficiente compilador como a travs de la ejecucin de
instrucciones simples en forma ordenada.
DSP's estndars tienen mucho rasgos de una arquitectura tipo RISC, pero ellos
son procesadores de propsitos especficos cuya arquitectura es especialmente diseada
para operar en ambientes de alta necesidad de clculo. Un DSP estndar ejecuta varias
operaciones en paralelo mientras que un RISC usa unidades funcionales altamente
eficientes que pueden iniciar y completar una instruccin simple en uno o dos ciclos de
reloj.
Los DSP's tpicos son caracterizados generalmente por las siguientes cualidades
en su arquitectura:
1. Una unidad funcional rpida que puede multiplicar y acumular en un ciclo de
instruccin. Un ciclo de instruccin puede durar generalmente 1 2 ciclos de reloj.
Disponibles en DSP's de punto fijo y flotante.
2. Varias unidades funcionales que realizan operaciones en paralelo, incluyendo accesos
a memoria y clculo de direcciones. La unidades poseen tpicamente una unidad principal

UNAC

PROCESAMIENTO DIGITAL DE SEALES

(ALU) junto con dos o ms unidades de generacin de direcciones. Estas unidades


funcionales poseen su propio conjunto de registros y muchas instrucciones se realizan en
un solo ciclo de instruccin.
3. Varias unidades de memoria onchip (generalmente 2 3) usadas para almacenar
instrucciones, datos o tablas. Cada unidad de memoria puede ser accesada una vez en
cada ciclo de instruccin.
4. Varios buses para incrementar las tasas de transferencia hacia y desde memoria y
evitar conflictos de direcciones.
5. Soporte para tipos especiales de direccionamiento, especialmente modulo y bit
reverse, requerido en el clculo de la FFT. Direccionamiento mdulo es muy eficiente
para la implementacin de buffers circulares.
6. Soporte para manejo de loop con bajo costo en tiempo y manejo rpido de
interrupciones, especialmente aquellas que se deben a los puertos seriales.
Arquitectura Harvard
En la arquitectura clsica de Von Neumann la ALU y la unidad de control estn
conectadas a una slo unidad de memoria que almacena tanto instrucciones de programa
como datos.
Durante la ejecucin de un programa, una instruccin es leda desde la memoria y
decodificada, los operandos necesarios son obtenidos (fetched) desde la memoria, y,
finalmente, la instruccin es ejecutada. La principal desventaja es que la memoria se
transforma en el cuello de botella de esa arquitectura.
La instruccin que con ms frecuencia realiza un DSP estndar es la multiplicacin
y acumulacin. sta debe ser realizada con eficiencia, y para ello debera ser completada
en un ciclo de instruccin. Esto implica que dos valores deben ser ledos desde memoria
y (dependiendo de la organizacin) un valor debe ser escrito, o dos o ms registros de
direcciones deben ser actualizados, en ese ciclo. Por lo tanto, una longitud grande en la
memoria es tan importante como la operacin de multiplicacinacumulacin.
8

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Varios buses y memorias incluidas en el chip son utilizadas de forma que lecturas y
escrituras a diferentes unidades de memoria pueden ser hechas a la vez. Dos memorias
son utilizadas en la arquitectura Harvard clsica. Una de ellas es utilizada exclusivamente
para datos, mientras que la otra es utilizada para instrucciones. Esta arquitectura alcanza
un alto grado de concurrencia (lecturas y escrituras simultneas). Los DSP's actuales
usan varios buses y unidades de ejecucin para alcanzar niveles incluso ms altos de
concurrencia. Chips con mltiples DSP y procesadores RISC existen hoy en da.

Figura 2: Tipos de arquitectura de memoria entre un Microcontrolador

(arquitectura

Von Neumann) y un DSP (arquitectura Harvard).

Esto obliga a generar programas que no sobrepasen lmites de tamao ya que


podran sobrescribirse datos por instrucciones o viceversa. Un DSP posee dos bloques
separados e independientes de memoria, cada uno con su propio bus de acceso,
permitiendo as al procesador ir a buscar la siguiente instruccin y dato en el mismo ciclo
de reloj (Fetch). En la figura siguiente se muestra un diagrama de los tipos de memorias y
su conexin con el ncleo operaciones.
Otra diferencia importante entre un Microcontrolador y un DSP (y an entre DSP's)
es la cantidad de unidades de ejecucin que poseen, las cuales son capaces de realizar
operaciones en paralelo. Por ejemplo, adems de la tpica ALU, un DSP posee bloques
MAC de multiplicacin y acumulacin, se encuentran tambin bloques slo para

UNAC

PROCESAMIENTO DIGITAL DE SEALES

corrimientos, shifters. En la figura siguiente se observa un diagrama de bloques de un


microcontrolador PIC12C5XX, el cual slo posee una unidad aritmtica para todo tipo de
clculo, desde clculo de direcciones de salto, bsqueda de datos hasta operaciones
lgicas.

Figura 3: Diagrama de bloques de la arquitectura del PIC-12C5XX

La siguiente figura muestra parte de un diagrama de bloques del DSP


TMS320F241. En ella se pueden ver 3 unidades de clculo, CALU, ARAU, y una unidad
de multiplicacin la cual permite adems realizar corrimientos:

10

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Figura 4: Diagrama de bloques del DSP TMS320F241

La unidad CALU realiza las operaciones aritmtico lgicas, mientras que la


unidad ARAU permite realizar clculos sobre registros auxiliares para direccionamientos
indirectos tanto a memoria de datos como de programa. Finalmente la unidad de
multiplicacin y suma permite una rpida ejecucin de operaciones iterativas tales como
algoritmos de filtros.

11

UNAC

PROCESAMIENTO DIGITAL DE SEALES


Cabe destacar que en la actualidad cada vez se empieza a desarrollar ms la

tecnologa mezclada entre microprocesadores y DSP's. Diversas son las razones para
que se produzca esta integracin, sin embargo a groso modo es posible identificar una en
particular. Los requerimientos de control en tiempo real bajo condiciones cada vez ms
exigentes en cuanto a necesidad de clculo han llevado a los fabricantes de
microcontroladores

(microchip,

ST,

etc.)

integrar

sus

microprocesadores

caractersticas de DSP (unidades de clculo paralelas, pipeling, etc.) y por el otro lado los
fabricantes de DSP's (Texas, Motorola, Analog Device, etc.) empiezan a utilizar las
caractersticas de Microcontroladores (Conversores A/D, puertos digitales I/O, bloques
PWM) integrndolas dentro del DSP.
Una de las diferencias ms importante encontrada entre un DSP y un
Microcontrolador es la estructura de memoria que poseen. En un microcontrolador es
posible encontrar una memoria lineal, en la que se almacenan tanto datos como
instrucciones de programa.

1.5

Ventajas y Desventajas de los DSPs

 La Tecnologa VLSI (Very Large Scale Integration) da la posibilidad de disear


sistemas con la capacidad para ejecutar procesamiento en tiempo real de muchas
de las seales de inters para aplicaciones en comunicaciones, control,
procesamiento de imagen, multimedia, etc.
 Los sistemas digitales son ms confiables que los correspondientes sistemas
anlogos.
 Los sistemas digitales ofrecen una mayor flexibilidad que los correspondientes
sistemas anlogos.
 Mayor precisin y mayor exactitud pueden ser obtenidas con sistemas digitales,
comparado con los correspondientes sistemas anlogos.

12

UNAC

PROCESAMIENTO DIGITAL DE SEALES

 Un sistema programable permite flexibilidad en la reconfiguracin de aplicaciones


DSP.
 La tolerancia de los componentes en un sistema anlogo hacen que esto sea una
dificultad para el diseador al controlar la exactitud de la seal de salida anloga.
Por otro lado, la exactitud de la seal de salida para un sistema digital es
predecible y controlable por el tipo de aritmtica usada y el nmero de bits usado
en los clculos.
 Las seales digitales pueden ser almacenadas en un disco flexible, Disco Duro o
CD ROM, sin la prdida de fidelidad ms all que el introducido por el conversor
Anlogo Digital (ADC). ste no es el caso para las seales anlogas.

A pesar de ellas existen algunos inconvenientes que debern ser tomados en cuenta
al momento de escoger una plataforma para el procesamiento de seales analgicas por
medio digitales:
 La conversin de una seal analgica en digital, obtenida muestreando la seal y
cuantificando las muestras, produce una distorsin que nos impide la
reconstruccin de la seal analgica original a partir de muestras cuantificadas.
 Existen efectos debidos a la precisin finita que deben ser considerados en el
procesado digital de las muestras cuantificadas.
 Para muchas seales de gran ancho de banda, se requiere procesado en tiempo
real. Para tales seales, el procesado analgico, o incluso ptico, son las nicas
soluciones vlidas. Sin embargo, cuando los circuitos digitales existen y son de
suficiente velocidad se hacen preferibles.

13

UNAC

1.6

PROCESAMIENTO DIGITAL DE SEALES

Fabricantes
Actualmente el mercado se ha ampliado enormemente en cuanto a la oferta de

DSP's. Existen diversos fabricantes, cada uno con un tipo especial y particular de
arquitectura, uso y/o aplicacin. Entre los ms conocidos destacan:
1. Texas Instruments (http://dspvillage.ti.com/docs/dspproducthome.jhtml)
Familias

TMS320C6000

TMS320C5000

TMS320C2000

2. Motorola (http://www.motorola.com/semiconductors)
Familias

56300

56800

56800E

MSC8100 (Star Core)

3. Analog Devices (http://www.analog.com/technology/dsp/index.html)


Familias

Blackfin

Familia

Sharc

TigerSharc

ADSP-21xx

Una de las principales ventajas de los fabricantes antes mencionados es que a


esta altura de su desarrollo han acumulado un gran nivel de conocimiento, sus
procesadores se han utilizado para resolver problemas reales y han dado resultados
positivos. Ellos renen en sus pginas web documentos y aplicaciones de utilidad para
quienes trabajan en nuevos desarrollos y/o para quienes recin empiezan a trabajar con
microprocesadores.
En particular, la familia TMS320C6000 est formada por una serie de
procesadores que poseen caractersticas distintas unos de otros. En la tabla siguiente es
posible observar las diferencias entre procesadores. Estas estn fundamentalmente
formadas por la cantidad de memoria disponible dentro del chip y la velocidad de
procesamiento de cada instruccin. Es posible encontrar en los sitios web de cada
empresa tablas similares a la mostrada en la

figura 5, indicando las principales

caractersticas de los DSP's.

14

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Hardware de Laboratorio
Una tarjeta de desarrollo con DSP's es la usada las plataformas TMS320C6711 y
otra, es la usada con el DSP TMS320F241. El F241 es un DSP especialmente dedicado a
aplicaciones de control ya que est conformado por perifricos tales como conversores
A/D, puertos PWM, puertos digitales I/O, etc.
El procesador C6711 se encuentra dispuesta en una tarjeta DSK (Development
Starter Kit). A grandes rasgos se puede decir que el DSK es una tarjeta en la cual se han
integrado junto al DSP algunos elementos importantes para poder utilizarlo; memorias
RAM para manejo de datos, algunos leds para conocer estados, un puerto paralelo para
comunicacin con el PC, etc. Se han integrado elementos necesarios para el
funcionamiento no aislado del procesador y su interaccin con el medio y los usuarios.

Figura 6: Tarjeta DSK TI TMS320C6711.

15

UNAC

1.7

PROCESAMIENTO DIGITAL DE SEALES

Software
Para poder realizar la programacin del DSP es necesario contar con las

herramientas apropiadas. El DSK es vendido junto al programa Code Composer Studio el


cual es un ambiente de trabajo que permite escribir, compilar, simular y realizar debug de
los cdigos que se crean. En s, Code Composer Studio es una interfaz estndar tipo
Windows que posee mens, barras de herramientas que ayudan a construir, revisar
(debug) y testear aplicaciones en tiempo real.

Figura 7: Code Composer Studio

La figura 7 muestra una vista general del Code Composer Studio. En ella se
observa a la izquierda una ventana en la que se ha declarado el proyecto en el que
actualmente se est trabajando y los diferentes mdulos que ste posee. Los mdulos

16

UNAC

PROCESAMIENTO DIGITAL DE SEALES

estn formados por el o los archivos en C, C++ o Assembler, libreras de funciones,


archivos "include" y otros ms especficos a la aplicacin que se est realizando.
La ventana principal puede mostrar el editor de texto que se utiliza para escribir el
cdigo, adems puede mostrar grficos de variables utilizadas en el DSP, un mapa de la
memoria de programa y/o datos, etc. En el desarrollo de los laboratorios se deber
adquirir el manejo apropiado de este software para as acelerar el proceso de
programacin.
Para las aplicaciones de filtros digitales se utilizar MATLAB como herramienta de
diseo. Los programas necesarios para el trabajo sern entregados en forma de base
para que luego sean modificados apropiadamente.

17

UNAC

PROCESAMIENTO DIGITAL DE SEALES

CAPTULO 2
SEALES Y SISTEMAS DE TIEMPO DISCRETO
2.1

INTRODUCCIN

Una seal contiene informacin acerca del estado o comportamiento de un


sistema fsico.
La seal, puede ser representada como funciones de una o ms
variables independientes. Ejemplo: voz, imagen fotogrfica, seal ssmica. La
variable puede ser continua o discreta.
Un sistema en tiempo continuo, las seales de entrada y salida estn
representadas en tiempo continuo.
Un sistema en tiempo discreto, las seales de entrada y salida estn
representadas en tiempo discreto. Un sistema digital, las seales de entrada y
salida son digitales. En el Procesamiento Digital de Seales, las seales son
discretas tanto en amplitud como en el tiempo y puede realizarse tanto en software
como en hardware, usando en este ultimo caso tcnicas VLSI.
La seales discretas pueden ser obtenidas de maneras diferentes:
a. Por muestreo de una seal continua.
b. Generados por algn proceso discreto.
c. Modelo matemtico.

2.2

SEALES EN TIEMPO DISCRETO : SECUENCIAS

Las seales a tiempo discreto, son representadas como una secuencia de


nmeros. Una secuencia de nmeros x, en la cul el nmero n en la
secuencia x[n], es escrita como:

donde n, es un entero. En la prctica, las secuencias pueden a menudo ser


obtenidas por un muestreo peridico de una seal anloga. En este caso, el valor
numrico del nmero n, en la secuencia es igual al valor de la seal anloga xa (t) ,
al tiempo nT; es decir

UNAC

PROCESAMIENTO DIGITAL DE SEALES

nT : tiempo de la secuencia
T
: periodo de muestreo
1/T : frecuencia de muestreo
x[n] : muestra n. Es indefinida para valores no enteros de n.
Las seales discretas, x[n], es decir, las secuencias, son a menudo
representadas grficamente, tal como se muestra en la figura 2.1.

Figura 2.1, Representacin grfica de una seal a tiempo discreto

Ejemplo 2.1
En la figura 2.2, se muestra una secuencia, de una seal sinusoidal.

Figura 2.2, secuencia de una seal sinusoidal

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Ejemplo 2.2
En la figura 2.3, se muestra una secuencia de una seal exponencial real.
Ejemplo 2.3
En la figura 2.4, se muestra una secuencia obtenida por el muestreo de una
seal anloga.

Figura 2.3, Secuencia de una seal exponencial real

Figura 2.4, Segmento de una seal de palabra continua (b) Secuencia de


muestras con T = 125 microsegundos

UNAC

PROCESAMIENTO DIGITAL DE SEALES

2.1.1 Secuencias Bsicas y Operaciones con Secuencias


a. Producto de dos secuencias
x[n].y[n]
b. Suma de dos secuencias
x[n] + y[n]
c. Multiplicacin por un nmero

d. Retardo de una secuencia


Una secuencia y[n], esta retrazada con respecto a x[n] si:
y[n] = x[n-no]
no : es un entero
e. Secuencia de una Muestra Unitaria

Por ejemplo, una secuencia p[n] puede ser expresada como

a
a

En general alguna secuencia puede ser expresada como

UNAC

f.

PROCESAMIENTO DIGITAL DE SEALES

Secuencia de Paso Unitario

En funcin del impulso

La respuesta impulso en funcin del paso unitario se puede expresar


como:

g. Secuencia Exponencial
La forma general para una secuencia exponencial es

UNAC

PROCESAMIENTO DIGITAL DE SEALES

donde N, es necesariamente un entero. Si esta condicin para la periodicidad, es


probada para una onda sinusoidal en tiempo discreto, entonces

el cul requiere que

donde k, es un entero. En la figura 2.5, se muestra una onda sinusoidal en


tiempo discreto, para dos valores de w o

Figura 2.5: La seal cos won, para dos valores de wo

2.3 SISTEMAS EN TIEMPO DISCRETO


Un sistema discreto, es definido matemticamente como una transformacin

y[n] = T{x[n]}

UNAC

PROCESAMIENTO DIGITAL DE SEALES

y est indicado en la figura 2.6.

Figura 2.6 Representacin de un sistema a tiempo discreto

Ejemplo 2.4
Sistema de retardo ideal

Ejemplo 2.5
Movimiento promedio

2.3.1 Sistemas sin Memoria


Un sistema, es denominado sin memoria, si la salida y[n], a cada valor de n
depende, solo si en la entrada, x[n] tiene el mismo valor n.
Ejemplo 1.6

2.3.2 Sistemas Lineales

UNAC

PROCESAMIENTO DIGITAL DE SEALES

donde es una constante arbitraria.


La primera propiedad, es llamada de aditividad, y la segunda es llamada, de
homogeneidad o escalamiento.
Esas dos propiedades pueden ser combinadas con el principio de superposicin

Esto puede ser generalizado con la superposicin de muchas entradas

2.3.3
Sistemas Invariantes en el Tiempo
Un sistema invariante en el tiempo, es uno por el cul un cambio de tiempo o
retardo de la entrada de la secuencia, causa un correspondiente cambio en la
secuencia de salida.

2.3.4 Causalidad

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Ejemplo 2.7

Ejemplo 2.8
Sea el sistema:

2.3.5 Estabilidad

2.3.6 Sistemas Lineales Invariantes en el Tiempo


2.3.6 SISTEMAS LINEALES INVARIANTES EN EL TIEMPO

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Ejemplo2.9
Calcule la salida y[n], de un sistema lineal invariante en el tiempo, si la entrada
x[n] y su respuesta impulsional h[n], estn representadas en la figura 2.7

Figura 2.7: Seal de entrada x[n] y respuesta impulsional h[n]

UNAC

PROCESAMIENTO DIGITAL DE SEALES

2.3.7 Propiedades de Sistemas Lineales Invariantes en el Tiempo

Esto se ilustra en la figura 2.8.

Figura 2.8: Combinacin en cascada, de


sistemas lineales invariantes en el tiempo

Esto se ilustra en la figura 2.9.

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Figura 2.9: Combinacin en paralelo, de sistemas


lineales invariantes en el tiempo

e. Los sistemas lineales invariantes en el tiempo son estables si la


respuesta impulsional es absolutamente sumable, es decir:

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Ejemplo 2.10 : Retardo ideal

Ejemplo 2.11 : Acumulador

Ejemplo 2.12 : Diferencia adelantada

Ejemplo 2.13 : Diferencia retardada

2.3.8 Ecuaciones Diferencia Lineales con Coeficientes Constantes


Un sistema lineal invariante en el tiempo, en el cul la entrada x[n] y la salida y[n]
satisfacen una ecuacin lineal de orden N con coeficientes constantes de la forma

Ejemplo 2.14

Figura 2.10: Diagrama de bloque, de una


ecuacin diferencia lineal recursiva

UNAC

PROCESAMIENTO DIGITAL DE SEALES

CAPITULO 3
LA TRANSFORMADA Z

3.1 INTRODUCCIN
Si bien la transformada de Fourier, juega un rol en la representacin y anlisis de
las seales y sistemas en tiempo discreto, su generalizacin de esta se realiza
mediante la transformada z. La transformada z, para seales en tiempo discreto
es la contraparte de la transformada de Laplace para seales en tiempo
continuo, y cada una de ellas tiene una relacin correspondiente a la transformada
de Fourier. La principal razn de introducir esta generalizacin, es que la
transformada de Fourier, no converge para todas las secuencias y es usual tener
una generalizacin de la transformada de Fourier. En la solucin de problemas
analticos, la notacin de la transformada z es ms conveniente que la notacin
de la transformada de Fourier.

3.2 TRANSFORMADA Z
La transformada de Fourier

X (e jw ) , de una secuencia x[n] se define como

La Transformada z de una secuencia x[n] est definida como

40

UNAC

PROCESAMIENTO DIGITAL DE SEALES

A la transformada z, expresada en esta forma a menudo se le conoce como la


transformada z bilateral.
Por conveniencia, la relacin de transformacin entre x[n] y X(z) se indicar

En particular, si reemplazamos la variable compleja z con la variable compleja

jw

, entonces la transformada z se reduce a la transformada de Fourier.

De una manera general, podemos expresar la variable compleja z en la forma


polar como

Con esta forma, tendremos

o en forma equivalente

41

UNAC

PROCESAMIENTO DIGITAL DE SEALES

En el caso de tiempo continuo, la transformada de Laplace, se reduce a la


transformada de Fourier, cuando la parte real de la variable es cero. La
transformada de Laplace se reduce a la transformada de Fourier sobre el eje
imaginario.
La transformada z, se reduce a la transformada de Fourier, cuando la magnitud de
la variable de transformacin z es uno. La transformada z, se reduce a la
transformada
de Fourier sobre un contorno del plano z complejo
correspondiente a un crculo con radio unitario. El circulo en el plano z, se conoce
como el circulo unitario y se ilustra figura 2.1.

Figura 3.1, Circulo unitario en el plano complejo z


En general, hay un rango de valores de z para el que X(z) converge, y est
asociado con la transformada z de la secuencia. Al igual que en la transformada de
Laplace, este rango de valores se conoce como la regin de convergencia (ROC).
Si la ROC incluye el circulo unitario, entonces la transformada de Fourier
tambin converge.
El ms importante y uso de la transformada z, se da cuando X(z), es una
funcin racional dentro la regin de convergencia, es decir,

donde P(z) y Q(z) son polinomios en z. Los valores de z para el cul X(z) = 0,
son llamados los ceros de X(z), y los valores de z par el cul X(z) es infinito,
son referidos como los polos de X(z).
Ejemplo 3.1
Considere la seal x[n] =a nu[n] . Calcule su transformada z, X(z), y dibuje su
regin de convergencia.

42

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Las transformada z, de X(z)

La convergencia de X(z), requiere que

convergencia ROC, no incluye al crculo unitario, y la transformada de Fourier


n
de la secuencia a u[n] , no converge. La regin de convergencia y el diagrama
de polos y ceros, son mostrados, en la figura 3.2.

43

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Figura 3.2 Regin de Convergencia y el diagrama de polos y ceros

En la tabla 3.1, se presentan un nmero resumido de pares de transformada z,


muy utilizados.
Tabla 3.1, Algunos pares de la transformada z

44

UNAC

PROCESAMIENTO DIGITAL DE SEALES

3.3 LA TRANSFORMADA Z INVERSA


Uno de los importantes roles de la transformada z, es el anlisis de sistemas
lineales
en tiempo discreto. A menudo este anlisis, involucra hallar la
transformada z de secuencias y, despus de algunas manipulaciones de
expresiones algebraicas, hallar la transformada z inversa. Hay un nmero
formal e informal de caminos para determinar la transformada z inversa de
expresiones
algebraicas dadas y regin de convergencia asociada. La
transformada z inversa, formalmente esta basada en el teorema de la integral de
Cauchy.
Para las clases tpicas de secuencias y transformadas z,
encontraremos en el anlisis de sistemas discretos lineales invariantes en el tiempo,
al menos procedimientos formales y preferibles.
La expresin formal de la transformada z inversa est dada por

La integral de la transformada inversa requiere de una integracin a lo largo de una


curva cerrada en el plano complejo. Sin embargo, existen diversos procedimientos
alternativos, para obtener una secuencia a partir de su transformada z.
Un procedimiento en particular til para transformada z racional, consiste en
expandir la expresin algebraica, en una expansin por fracciones parciales, y
reconocer la secuencia asociada con cada uno de los trminos individuales. Otros
mtodos a considerar es el de inspeccin y expansin en series de potencia.
3.3.1 Mtodo de Inspeccin
Este mtodo, consiste en simplificar, o reconocer por inspeccin ciertos pares de
transformadas.
Ejemplo 3.2

Ejemplo 3.3
Hallar la transformada inversa de

45

UNAC

PROCESAMIENTO DIGITAL DE SEALES

por inspeccin, la secuencia asociada

3.3.2 Expansin por Fracciones Parciales


A veces X(z), puede no estar dada explcitamente disponible en una tabla, pero si
es posible obtener una expresin alternativa de X(z), como la suma de
simples trminos, cada uno de los cules esta tabulado. Este es el caso, para
alguna funcin racional, donde podemos obtener, una expansin de fracciones
parciales, y, fcilmente identificar, las secuencias correspondientes a los trminos
individuales.
Para obtener una expansin por fracciones parciales, asumimos que X(z), es
expresada como una relacin de polinomios en z1, es decir

Los coeficientes A , para

d , pueden ser hallados de

k
46

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Ejemplo 3.4
Calcule la secuencia x[n], si tiene la siguiente transformada X(z), con regin de
convergencia z >1

Como, M = N = 2 y todos los polos son de primer orden, X(z), puede ser
representado como

47

UNAC

PROCESAMIENTO DIGITAL DE SEALES

3.3.3 Expansin por Series de Potencia


La expresin de definicin de la transformada z, es una serie de Laurent,
donde los valores de la secuencia x[n], son los coeficientes de

z n . Entonces,

si la transformada z, est dada como series de potencia en la forma:

podemos determinar algn valor particular de la secuencia, encontrando los


coeficientes de la potencia apropiada de

z1.
48

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Ejemplo 3.5
Suponer, X(z), est dado por la forma

Multiplicando, podemos expresar X(z) como

3.4 PROPIEDADES DE LA TRANSFORMADA Z


Muchas de las propiedades de la transformada z son particularmente usadas en el
estudio de las seales y sistemas en tiempo discreto. Esas propiedades, son la
base para transformar, las ecuaciones a diferencia lineal con coeficientes
constantes a ecuaciones algebraicas en trminos de la transformada z, la solucin
puede ser obtenida usando la transformada z inversa.
La transformada z, de la secuencia x[n] est por X(z) y la ROC de X(z) est
indicada por R x , es decir,

3.4.1
Si

Linealidad

entonces

49

UNAC

PROCESAMIENTO DIGITAL DE SEALES

3.4.2 Desplazamiento en el tiempo


Si

3.4.3 Multiplicacin por una Secuencia Exponencial


Si

3.4.4 Diferenciacin de X(z)

3.4.5 Conjugacin de una Secuencia Compleja

3.4.6 Inversin en el Tiempo


Si
Entonces

50

UNAC

PROCESAMIENTO DIGITAL DE SEALES

3.4.7 Convolucin de Secuencias


Si

Entonces,

3.4.8 Teorema del valor Inicial


Si x[n]=0, n < 0, entonces
3.4.9 Resumen de algunas Propiedades de la Transformada z
En la tabla 3.2, se muestra algunas propiedades de la transformada z.
Tabla 3.2: Resumen de algunas propiedades de la transformada z

51

UNAC

PROCESAMIENTO DIGITAL DE SEALES

CAPTULO 4
MUESTREO DE SEALES CONTINUAS
4.1 INTRODUCCIN
Las seales en tiempo discreto pueden obtenerse por diferentes caminos,
siendo el muestreo de seales continuas uno de estos. Esto es de una gran
utilidad ya que nos permite emplear diferentes tcnicas de procesamiento de
seales discretas para procesar seales continuas. En la figura 4.1, mostramos
tres seales continuas diferentes, las cuales tienen valores idnticos en mltiplos
enteros de T.

Figura 4.1 Tres seales continuas

4.2 MUESTREO PERIDICO


El mtodo tpico de obtener seales en tiempo discreto de seales en tiempo
continuo es mediante el muestreo, donde una secuencia de muestras es
obtenida de una seal en tiempo continuo, de acuerdo a la siguiente relacin:

T, es el periodo de muestreo y su reciproco, fs= 1/ T , es la frecuencia de


muestreo, en muestras por segundo. En la figura 4.2, que se muestra, se ilustra la
conversin ideal de un sistema continuo a discreto. En la figura 4 .3 se ilustra
el muestreo con un tren de impulsos.

52

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Figura 4.2 Muestreo con un tren de impulsos seguido por la conversin de


tiempo discreto a secuencia

53

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Figura 4.3 Muestreo de una seal continua por un tren de pulsos peridicos
4.3

REPRESENTACION DEL

MUESTREO

EN

EL

DOMINIO

DE

LA

FRECUENCIA
La seal modulante s(t) es un tren peridico de pulsos

donde (t) es la funcin unidad impulso o funcin Delta Dirac.

x (t) puede ser expresado como:


s

Consideremos la transformada de Fourier de

x (t) . La seal x (t) es el


s
s
producto de
x (t) y s(t), la transformada de Fourier de
x (t) es la
c
s
convolucin de la transformada de Fourier de
X ( j) y S ( j) .
c
La transformada de Fourier de un tren de impulsos peridicos es un tren
peridico de impulsos.

donde = 2 / T es la frecuencia de muestreo en radianes por segundo.


s

donde * denota la operacin de convolucin

de la figura 4.4

54

UNAC

PROCESAMIENTO DIGITAL DE SEALES

de la figura 4.5

entonces

Figura 4.4 Efecto del muestreo en el dominio de la


frecuencia

55

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Figura 4.5 Recuperacin exacta de una seal continua a partir de sus muestras
usando un filtro ideal paso-bajo

4.3.1 Teorema de Nyquist (Shannon) del Muestreo


Sea x (t) una seal a banda limitada con
c

Entonces x (t) es nicamente determinada por sus muestras


c

56

UNAC

PROCESAMIENTO DIGITAL DE SEALES

y
2

: Velocidad de Nyquist ;

: Frecuencia de Nyquist

Aplicando la transformada de Fourier

donde

entonces

Consecuentemente

O equivalente

Vemos que X (ejw), es simplemente una versin de frecuencia escalada de

57

UNAC

Vemos que X (e

PROCESAMIENTO DIGITAL DE SEALES

jw

) , es simplemente una versin de frecuencia escalada de

X ( j) , con la frecuencia escalada especificada por


s

w = T

4.3.2 RECONSTRUCCIN DE SEALES DE BANDA LIMITADA A


PARTIR DE SUS MUESTRAS

De la figura 4.6 y 4.7 se ilustra el proceso

De la figura 4.8

58

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Figura 4.6 Diagrama de bloque de la reconstruccin ideal de una seal a banda


limitada

59

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Figura 4.7 Interpolacin ideal a banda limitada

60

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Figura 4.8 Reconstruccin ideal de una seal a banda limitada

X ( j) = H
r
r
4.4

( j) X (e

jT

PROCESAMIENTO EN TIEMPO DISCRETO DE SEALES EN TIEMPO

CONTINUO
Una gran aplicacin de los sistemas de tiempo discreto, es el procesamiento de
seales de tiempo continuo. El esquema bsico, se ilustra en la figura 3.9.

Figura 4.9 Procesamiento en tiempo discreto de seales en tiempo continuo

61

UNAC

PROCESAMIENTO DIGITAL DE SEALES

CAPTULO 5
ANALISIS EN EL DOMINIO TRANSFORMADO DE
SISTEMAS LINEALES E INVARIANTES EN EL
TIEMPO (SLIT)
5.1 INTRODUCCIN
Un sistema discreto lineal invariante en el tiempo, (SLIT), puede ser
completamente caracterizado en el dominio del tiempo por su respuesta impulsional
h[n], con la salida y[n] debido a la entrada x[n] especificada a travs de la
convolucin suma

Si el sistema es causal, se debe cumplir que

La convolucin suma se puede expresar en forma equivalente

La operacin de convolucin suma, en tiempo discreto satisface de las


siguientes propiedades
Propiedad conmutativa

x[n]*h[n] = h[n]*x[n]

62

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Propiedad asociativa

Propiedad distributiva

El anlisis de SLIT discretos, mediante la transformada z permite


complementar el estudio de las seales y sistemas discretos con mayor facilidad.
La transformada z es una generalizacin de la transformada de Fourier y se
muestra que la transformada z de la salida de un SLIT, Y(z), est relacionado con
la transformada z de la entrada, X(z), y la transformada z de la respuesta
impulsional del sistema, H(z), por
Y(z) = H(z)X(z)
con una apropiada regin de convergencia ROC. La funcin del sistema es referida
como H(z).

5.1 RESPUESTA EN FRECUENCIA DE SLIT


jw ) de un SLIT, est definida como tal cuando
La respuesta en frecuencia H (e
jwn

a la entrada del sistema se aplica una entrada exponencial compleja


e
. La
transformada
de Fourier de una sistema con entrada y salida estn
relacionados por:

jw

jw

donde X (e
) y Y (e ) , son la transformada de Fourier de la entrada y la
salida del sistema respectivamente. Con la respuesta en frecuencia expresada en
forma polar, la magnitud y fase de la transformada de Fourier del sistema de
entrada y salida estn relacionados por:

63

UNAC

H (e

PROCESAMIENTO DIGITAL DE SEALES

jw

) , es la respuesta en magnitud o la ganancia del sistema.

H (e jw ) , es la respuesta de la fase o el cambio de fase del sistema.


5.2 SISTEMAS DESCRITOS POR ECUACIN
LINEAL CON COEFICIENTES CONSTANTES

DIFERENCIA

Mientras los filtros ideales de respuesta en frecuencia selectiva son usados


conceptualmente, ellos no pueden ser implementados con computacin finita. Es de
inters considerar una clase de sistemas que puedan ser implementadas como
aproximacin a los filtros ideales con respuesta en frecuencia selectiva.
Hemos considerado una clase de sistemas cuya entrada y salida satisfacen una
ecuacin diferencia lineal a coeficientes constantes de la forma

x[n]

h[n]

y[n]

64

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Aplicando la transformada z a ambos trminos y usando la propiedad de


linealidad y propiedad de rotacin en el tiempo, obtenemos

o equivalentemente,

La funcin del sistema tiene la forma algebraica que relaciona al entrada y


salida y satisface la ecuacin diferencia lineal a coeficientes constantes

H(z), es una relacin de polinomios en z 1, ya que la ecuacin mostrada


consiste de una combinacin lineal de trminos de retardo.
H(z), es a menudo conveniente expresarla en la forma factorizada como:

65

UNAC

PROCESAMIENTO DIGITAL DE SEALES

CAPTULO 6
ESTRUCTURAS DE SISTEMAS EN TIEMPO
DISCRETO

6.1 ESTRUCTURAS PARA SISTEMAS EN TIEMPO DISCRETO


Un sistema lineal invariante en el tiempo, con una funcin de sistema racional,
tiene la propiedad, que las secuencias de entrada y salida, satisfacen la
ecuacin diferencia lineal a coeficientes constantes.
Como una ilustracin del clculo asociado con la ecuacin diferencia, considere el
sistema descrito por la funcin del sistema

La respuesta impulsional de este sistema es:

y la ecuacin diferencia de primer orden es satisfecha por la secuencia de


entrada y salida

[
x[n] impulsional
[n 1] infinita, no es posible
Ya que el sistema,
tiene una respuesta
0
1
implementar el sistema por una convolucin discreta. Sin embargo, rescribiendo la
anterior ecuacin

provee la base para un algoritmo por computacin recursiva de la salida.


Asumiremos condiciones iniciales y consideraremos un sistema causal

66

UNAC

PROCESAMIENTO DIGITAL DE SEALES

6.2 REPRESENTACION DE ECUACIONES DIFERENCIAS


LINEAL A COEFICIENTES CONSTANTES POR DIAGRAMA DE
BLOQUES
La implementacin de un sistema, en tiempo discreto lineal invariante en el
tiempo, puede ser evaluado por frmula recurrente, obtenida de una ecuacin
diferencia y requiere los valores retardados de la salida, entrada y secuencias
intermedias estn disponibles.
Los elementos bsicos, requeridos para la implementacin, de un sistema en
tiempo discreto lineal invariante en el tiempo son sumadores, multiplicadores y
memoria para almacenar las secuencias retardadas.
Sumador de dos secuencias

Multiplicador de una secuencia por una constante

Unidad de retardo

67

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Ejemplo 6.1
Ejemplo de la representacin de una ecuacin diferencia en trminos de los
anteriores elementos. Considere la ecuacin diferencia de segundo orden

Dibuje el diagrama de bloques de la ecuacin diferencia


La correspondiente funcin del sistema es

6.3 REPRESENTACION POR DIAGRAMA DE FLUJO DE SEALES


DE ECUACIONES DIFERENCIA LINEAL A COEFICIENTES
CONSTANTES
Sea el diagrama de flujo de seales mostrando las fuentes y nodos

68

UNAC

PROCESAMIENTO DIGITAL DE SEALES

6.4 ESTRUCTURAS BASICAS PARA SISTEMAS IIR


6.4.1 Formas Directas
Existen dos formas directas, de representar la funcin de un sistema racional:
forma directa I y forma directa II, tal como se muestran en las figuras 6.1 y 6.2.

Ejemplo 6.2
Considere la funcin de sistema H(z), y, represente mediante la estructura
directa de Forma I (Figura 6.3) y la estructura directa de Forma II (Figura 6.4)

Figura 6.1 Estructura Directa Forma I

69

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Figura 6.2 Estructura Directa Forma II

Figura 6.3 Estructura Directa forma I del ejemplo

70

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Figura 6.4 Estructura Directa forma II del ejemplo

6.4.2 Forma en Cascada


La forma directa de las estructuras, fueron obtenidas directamente de la funcin
sistema H(z), escrita como una relacin de polinomios en la variable z-1.
Si factorizamos, los polinomios del numerador y denominador, podemos
expresar H(z), en la forma

71

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Las secciones individuales de segundo orden, pueden ser implementadas usando


Estructuras de la forma directa. La estructura de segundo orden, con un
mnimo nmero de multiplicaciones, y, mnimo nmero de elementos de retardo, es
la estructura directa forma II. En la figura 6.5, se muestra secciones de segundo
orden.
Las ecuaciones diferencia, representadas por secciones en cascada de segundo
orden de la forma directa II, son de la forma:

Ejemplo 6.3
Considere un sistema de segundo orden, una estructura cascada con la forma
directa II. Ilustrar la estructura cascada, usando sistemas de primer orden,
expresando H(z) como un producto de factores de primer orden. En la figura
6.6 se ilustra dos estructuras en cascada equivalentes.

72

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Todos los polos y ceros son reales, y una estructura con secciones de primer
orden, tienen coeficientes reales.

Figura 6.5 Estructura en cascada para un sistema de sexto orden con


la realizacin de subsistemas de segundo orden forma directa II

Figura 6.6 Estructuras en cascada (a) Subsecciones


Forma directa I (b)Subsecciones forma directa II

6.4.3 Forma Paralela


Una alternativa, de factorizar los polinomios del numerador y denominador de H(z),
podemos expresar la funcin del sistema racional, como una expansin de
fracciones parciales en la forma

73

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Ejemplo 6.4
Implementar la funcin H(z), utilizando estructuras de forma paralelo con
secciones de primer y segundo orden.

En la figura 6.8, se muestra su representacin.


La funcin H(z) puede ser obtenida tambin como:

74

UNAC

PROCESAMIENTO DIGITAL DE SEALES

En la figura 6.9, se muestra su representacin.

Figura 6.7 Estructura de la forma paralelo para un


sistema de sexto orden

Figura 6.8 Estructura de la forma paralelo


usando sistemas de segundo orden

75

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Figura 6.9 Estructura de la forma paralelo usando


sistemas de primer orden

6.5 FORMAS TRANSPUESTAS


La teora, de diagrama de flujo de seales lineales, provee una variedad de
procedimientos, para transformar el diagrama de flujo de seales en formas
diferentes, mientras que la funcin del sistema entre la entrada y salida
permanece invariable. Uno de esos procedimientos, es llamado transposicin.
La transposicin, de flujo de grficos es logrado invirtiendo las direcciones de todas
las ramas en la red, guardando en las ramas las transmitancias e invirtiendo los
nudos de la entrada y salida. Para un sistema, de simple entrada- salida, el
resultado del diagrama de flujo, tiene la misma funcin del sistema, como el grfico
original si los nudos de la entrada y salida son intercambiados.
Ejemplo 6.5
Hallar la forma transpuesta, para un sistema de primer orden que tiene la funcin
del sistema

76

UNAC

PROCESAMIENTO DIGITAL DE SEALES

En las figuras, 6.10, 6.11 y 6.12, se ilustra el procedimiento a seguir, para encontrar
una nueva estructura, luego de haber realizado la transposicin adecuada.

Figura 6.10 Diagrama de flujo de un sistema de primer orden

Figura 6.11 Forma transpuesta de la figura 6.10

Figura 6.12 Estructura de la figura 6.11 redibujada


Ejemplo 6.5
Hallar la transpuesta del sistema que se muestra en la figura 6.13.

Figura 6.13 Estructura directa de la forma II

77

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Las correspondientes, ecuaciones diferencia para este sistema son

[n]
En la figura 6.14 se ilustra la transpuesta de la forma directa II.

Figura 6.14 Transpuesta de la estructura directa de la forma II


de la figura 6.13

Las correspondientes ecuaciones diferencia para este sistema son:

Un camino, para demostrar esta equivalencia es usar la transformada z, para


ambas ecuaciones, resolviendo la relacin Y(z)/X(z) = H(z). Otro camino, es
encontrar la ecuacin diferencia, cuyo resultado es:

78

UNAC

PROCESAMIENTO DIGITAL DE SEALES

6.6 ESTRUCTURAS BASICAS PARA SISTEMAS FIR


Las estructuras directas, en cascada y paralelo, son las estructuras bsicas ms
comunes, para los sistemas IIR. Esas estructuras, fueron desarrolladas,
asumiendo que la funcin del sistema, ambos tienen ceros y polos.
6.6.1 Forma Directa
Para sistemas causales FIR, la funcin sistema tiene solo ceros, donde los
coeficientes
son todos ceros, la ecuacin diferencia se reduce a:

con la que podemos reconocer, como la convolucin discreta de x[n], con la


respuesta impulsional

En la figura 6.15, se muestra una estructura directa, de un sistema FIR y en la


figura 6.16, la transpuesta de la estructura de la figura 6.15.

Figura 6.15 Forma directa de realizacin de un sistema FIR

Figura 6.16 Transpuesta de la estructura de la


figura 6.15

79

UNAC

PROCESAMIENTO DIGITAL DE SEALES

6.6.2 Forma en Cascada


La forma cascada, para un sistema FIR, es obtenido por factorizacin, del
polinomio de la funcin sistema. Esto es, podemos representar H(z) como:

Figura 6.17 Sistema FIR realizado en la forma en cascada

80

UNAC

PROCESAMIENTO DIGITAL DE SEALES

CAPTULO 7
DISEO DE FILTROS DISCRETOS
7.1

INTRODUCCIN

Los filtros, son una clase particularmente importantes, de los sistemas lineales
invariantes en el tiempo. Estrictamente hablando, el trmino de filtro de
frecuencia selectiva, sugiere un sistema que pasan ciertas componentes de
frecuencias y rechaza totalmente las otras; pero en un contexto amplio, algn
sistema que modifica ciertas frecuencias, es llamado, tambin un filtro.
En general, el diseo de los filtros involucra las siguientes etapas:
a) La especificacin, de las propiedades deseadas del sistema;
b) La aproximacin, de las especificaciones usando un sistema causal en tiempo
discreto;
c) La realizacin del sistema. En un sentido prctico, el filtro deseado, es a
menudo implementado con computacin digital y usado el filtro, en una seal
que es derivada de una seal en tiempo continuo, por un muestreo peridico,
seguido por una conversin analgica a digital. Por esta razn, se tiene a menudo
referido el diseo de los filtros en tiempo discreto como filtros digitales.

7.2 CARACTERSTICAS DE UN FILTRO

Un filtro (lineal) est caracterizado, por su funcin de transferencia iscrona


o respuesta en frecuencia:

Donde se descompone a menudo en respuesta en amplitud A(w) y respuesta en


fase (w):

Se define igualmente la atenuacin Af(w), medida en decibelios, y el retardo


de grupo (w) , medido en segundos:

81

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Ejemplo 1
Veamos sobre Matlab la respuesta en amplitud, la respuesta en fase, la atenuacin,
y el retardo de grupo de un filtro donde se conoce la funcin de transferencia:
H(s)=1/s+1:
freqs([1],[1 1],logspace(-2,+2));
se muestra la respuesta de 1/(s+1) entre 10e-2 y 10e2 rad/s. Para obtener la
atenuacin y el retardo de grupo, es necesario solicitarlo explcitamente:
[H,w]=freqs([1],[1 1],logspace(-2,+2));
subplot(2,1,1)
semilogx(w,-20*log10(abs(H)));
xlabel(Frequency (radians)); ylabel(Attenuation (dB)); grid;
subplot(2,1,2);
semilogx (w(1:length(w)-1), -diff(unwrap(angle(H)))./diff(w));
xlabel(Frequency (radians)); ylabel(Group delay (s)); grid;

Fig. 7.1 a. (a la izquierda) Respuesta en frecuencia del filtro;


b. (a la derecha) Atenuacin y retardo de grupo

7.2.1 ESPECIFICACIONES IDEALES


Una transformacin no contribuye a la distorsin de la seal a travs de la
cul es aplicada, si ella es reconstruida en la salida una seal y(t ) de la misma

82

UNAC

PROCESAMIENTO DIGITAL DE SEALES

forma que la seal de entrada


x(t ) . La seal de entrada puede sin embargo
haber sufrido una amplificacin o un retardo:

Esto corresponde, en transformada de Fourier, a una amplificacin del


espectro de amplitud y a un desfasaje lineal:

luego a una funcin de transferencia del tipo:

Si se considera ahora un filtro, cuyo rol es de producir una seal de salida


correspondiente a un rango de frecuencias de la seal de entrada, es claro que en
este filtro, se debe evitar toda distorsin. Debe pues, presentar una respuesta en
amplitud constante y una respuesta en fase lineal y pasar por 0, al menos en el
rango de frecuencias til, llamada banda pasante (Figura 7.2).
A( )

( )

Fig. 7.2 Condiciones de non-distorsin de una seal por un filtro : respuesta en


amplitud y en fase
En la prctica, se admite a veces que el desfasaje de un filtro no se anula para
w = 0:

Esto puede implicar una distorsin de la forma de la seal recibida.


7.2.2 ESPECIFICACIONES EN AMPLITUD
Los filtros realizando las modificaciones del espectro de amplitud son
clasificados en filtros pasa-bajo, paso-banda, paso-alto, o supresor-banda.
83

UNAC

PROCESAMIENTO DIGITAL DE SEALES

La forma general de la funcin de transferencia de un filtro es :

El orden del filtro es n, que debe satisfacer a n>=m. Los cros de N(s) son los
ceros del filtro; los ceros de D(s) son los polos del filtro. Los polos del filtro,
deben estar situados a la izquierda del eje imaginario para que el filtro sea
estable.
Las especificaciones de un filtro paso-bajo tpico son mostrados en la figura
7.3. Su banda pasante se sita entre 0 y w c y su banda atenuada se extiende
de w s al infinito.

Fig. 7.3 Especificaciones en amplitud de un filtro paso-bajo

Un filtro paso-alto se muestra en la figura 7.4. Su banda atenuada va de 0 a


ws y su banda pasante de wc al infinito.

Fig. 7.4 Especificaciones en amplitud de un filtro paso-alto

84

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Fig. 7.5 Especificaciones en amplitud de un filtro paso-banda


Las especificaciones de un filtro supresor-banda se muestran en la figura 7.6.

Puede tenerse casos en el que se tiene que realizar filtros con especificaciones
ms complejas, tal como se muestra en la figura 7.7.

85

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Fig. 7.7 Especificaciones en amplitud de un filtro paso-bajo complejo


7.2.3 ESPECIFICACIONES EN FASE O EN RETARDO
La condicin de no distorsin de la fase, no es requerido solo por las seales de
audio. Esta condicin, es tambin muy importante cuando se transmiten otro tipo
de seales, como por ejemplo video. Una distorsin de fase implica en efecto una
modificacin de la forma de las seales que puede falsear la percepcin (seales
de video).
Cuando se sitan los ceros de H(s) sobre el eje imaginario, el filtro as
obtenido es a mnima fase. Un sistema a fase mnima, es un sistema donde los
ceros y polos estn a la izquierda (o sobre) del eje imaginario.
Consideremos en efecto dos sistemas, donde el primero es a fase mnima, y el
segundo difiere del primero por la posicin de los ceros. Es claro que estos dos
sistemas poseen la misma respuesta en amplitud.

Fig. 7.8 Dos sistemas con la misma respuesta en amplitud. El de la izquierda


est a una fase mnima
86

UNAC

PROCESAMIENTO DIGITAL DE SEALES

La respuesta en amplitud y la respuesta en fase de un sistema a mnima fase no


son independientes. Ambas satisfacen las relaciones complejas llamadas de
Bayard-Bode, que permiten encontrar la respuesta en fase del sistema,
conociendo su respuesta en amplitud. Esta respuesta en fase no satisface en
general las condiciones de no distorsin.
Se busca corregir la curva de fase, multiplicando H(s) por una funcin pasotodo HAP (s) . Un paso-todo es un filtro donde los ceros se encuentran en el
semiplano derecho, en simetra horizontal con su polos. Esto implica que:

donde P(s) es un polinomio cualquiera.


La respuesta de tal sistema en amplitud, es igual a la unidad. Su respuesta en
fase es igual a la suma de las contribuciones de los ceros menos la suma de las
contribuciones de los polos.
El filtro paso-todo, que permite verificar a posteriori las condiciones de no
distorsin, es llamado, compensador de retardo.

7.3 VENTANAS UTILIZADAS


En la tabla 7.1, se muestran las ventanas comnmente utilizadas

Tabla 7.1 Ventana Kaiser

87

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Tabla 7.2 Ventanas comnmente usadas

88

UNAC

PROCESAMIENTO DIGITAL DE SEALES

7.4 DISEO DE FILTROS DISCRETOS IIR A PARTIR DE


FILTROS CONTINUOS
7.4.1 DISEO DE UN FILTRO POR INVARIANZA AL IMPULSO
En el procedimiento de diseo, por invarianza al impulso, para transformar
filtros de tiempo continuo en tiempo discreto, la respuesta impulsional del filtro
a tiempo discreto, es seleccionado, tomando muestras igualmente espaciadas de la
respuesta impulsional del filtro en tiempo continuo; es decir,

h[n]

h (nT )
c

Sea el filtro pasivo conformado por una resistencia R y un condensador C y que


se muestra en la figura 7.9

Figura 7.9 Filtro conformado por una resistencia R y un


condensador C

La funcin de transferencia del sistema esta dada por

y la respuesta impulsional h(t) esta dada por

Si la respuesta impulsional, es muestreada cada T segundos. T: periodo de


muestreo

89

UNAC

PROCESAMIENTO DIGITAL DE SEALES

entonces la transformada z del filtro discreto es

siendo los valores de a y b

7.4.2 DISEO DE UN FILTRO POR LA TRANSFORMACIN BILINEAL


Esta basada en la integral de Riemann. La integral de Riemann de una serie de
tiempo x[n], esta dada por

tomando la transformada de z

entonces la relacin entre la entrada y salida

como el integrador en el plano continuo esta dado por

90

UNAC

PROCESAMIENTO DIGITAL DE SEALES

igualando los integradores en el plano s y z

la relacin entre s y z se denomina transformacin Bilineal

esto es,

H c : Es la funcin del sistema a tiempo continuo


H(z): Es la funcin del sistema a tiempo discreto
tambin podemos expresar z en funcin de s

91

UNAC

PROCESAMIENTO DIGITAL DE SEALES

Fig. 7.10 Relacin entre el plano s y plano z utilizando la transformacin Bilineal

Fig. 7.11 Relacin entre la frecuencia continua dentro del circulo unitario por la
Transformacin Bilineal

92

UNAC

PROCESAMIENTO DIGITAL DE SEALES

7.4.3 EJEMPLO DE DISEO DE FILTROS


Ejemplo : Paso-Bajo simple

1. BUTTERWORTH
help butter
BUTTER
Butterworth digital and analog filter design.
[B,A] = BUTTER(N,Wn) designs an N'th order lowpass digital
Butterworth filter and returns the filter coefficients in length
N+1 vectors B and A. The cut-off frequency Wn must be
0.0< Wn < 1.0, with 1.0 corresponding to half the sample rate.
BUTTER(N,Wn,'s') design analog Butterworth filters.
help buttord
[N, Wn] = BUTTORD(Wp, Ws, Rp, Rs) returns the order N of the
lowest order digital Butterworth filter that loses no more than
Rp dB in the passband and has at least Rs dB of attenuation in the
stopband. The passband runs from 0 to Wp and the stopband
extends from Ws to 1.0, the Nyquist frequency. BUTTORD also
returns Wn, the Butterworth natural frequency (or, the "3 dB
frequency") to use with BUTTER to achieve the specifications.
[N, Wn] = BUTTORD(Wp, Ws, Rp, Rs, 's') does the computation for
an analog filter.

93

UNAC

PROCESAMIENTO DIGITAL DE SEALES

[n,wn]=buttord(1,1.2,3,40,'s')
n=
26
wn =
1.0052
[N,D]=butter(n,wn,s);
zplane(N,D)
format long
N
N=N(length(N));
freqs(N,D);
0

Magnitude

10

-10

10

-20

10

-30

10

-1

10

10
Frequency (rad/s)

10

Phase (degrees)

200
100
0
-100
-200
-1
10

10
Frequency (rad/s)

10

2. TCHEBYCHEFF
help cheby1
CHEBY1
Chebyshev type I digital and analog filter design.
[B,A] = CHEBY1(N,R,Wn) designs an N'th order lowpass digital
Chebyshev filter with R decibels of ripple in the passband.
CHEBY1 returns the filter coefficients in length N+1 vectors B and
A. The cut-off frequency Wn must be 0.0 < Wn < 1.0,
with 1.0 corresponding to half the sample rate. Use R=0.5 as
94

UNAC

PROCESAMIENTO DIGITAL DE SEALES


a starting point, if you are unsure about choosing R.
CHEBY1(N,R,Wn,'s') design analog Chebysev Type I filters. In
this case, Wn can be bigger than 1.0.

help cheb1ord
CHEB1ORD Chebyshev type I filter order selection.
[N, Wn] = CHEB1ORD(Wp, Ws, Rp, Rs) returns the order N of the
lowest order digital Chebyshev type I filter that loses no more than Rp dB in the
passband and has at least Rs dB of attenuation in the stopband. The passband
runs from 0 to Wp and the stopband extends from Ws to 1.0, the Nyquist
frequency. CHEB1ORD also returns Wn, the Chebyshev natural frequency to use
with CHEBY1 to achieve the specifications.
[N, Wn] = CHEB1ORD(Wp, Ws, Rp, Rs, 's') does the computation
for an analog filter.
[n,wn]=cheb1ord(1,1.2,3,40,'s')
n=
9
wn =
1
[N,D]=cheby1(n,3,wn,'s');
N=N(length(N));
zplane(N,D)
freqs(N,D,logspace(-1,1,500));

Magnitude

10

-5

10

-10

10

-15

10

-1

10

10
Frequency (rad/s)

10

Phase (degrees)

200
100
0
-100
-200
-1
10

10
Frequency (rad/s)

10

95

UNAC

PROCESAMIENTO DIGITAL DE SEALES

3. CAUER
[n,wn]=ellipord(1,1.2,3,40,'s')
n=
5 wn =
1
help ellip
ELLIP Elliptic or Cauer digital and analog filter design.
[B,A] = ELLIP(N,Rp,Rs,Wn) designs an N'th order lowpass digital elliptic
filter with Rp decibels of ripple in the passband and
a stopband Rs decibels down. ELLIP returns the filter coefficients in
length N+1 vectors B and A. The cut-off frequency Wn must be 0.0 < Wn
< 1.0, with 1.0 corresponding to half the sample rate. Use Rp = 0.5 and
Rs = 20 as starting points, if you are unsure about choosing them.
ELLIP(N,Rp,Rs,Wn,'s') design analog elliptic filters. In this
case, Wn can be bigger than 1.0.
[N,D]=ellip(n,3,40,wn,'s');
zplane(N,D)

1.5

Imaginary Part

0.5

-0.5

-1

-1.5
-2

-1.5

-1

-0.5

0
Real Part

0.5

1.5

96

UNAC

PROCESAMIENTO DIGITAL DE SEALES

freqs(N,D,logspace(-1,1,500));

Magnitude

10

-5

10

-1

10

10
Frequency (rad/s)

10

Phase (degrees)

200
100
0
-100
-200
-1
10

10
Frequency (rad/s)

10

7.5 DISEO DE FILTROS FIR POR VENTANAS


Anteriormente, se ha indicado de que es conveniente que los filtros tengan fase
lineal. Aunque los filtros IIR, no tienen en general fase lineal, sta se puede
conseguir con un filtro digital FIR.

97

UNAC

PROCESAMIENTO DIGITAL DE SEALES

98