Vous êtes sur la page 1sur 26

UNIVERSIDAD AUTNOMA DE BAJA CALIFORNIA

FACULTAD DE INGENIERA MEXICALI

Apuntes de la unidad de aprendizaje


PROCESAMIENTO DIGITAL DE SEALES

ENRIQUE REN BASTIDAS PUGA.

Febrero de 2012.

Procesamiento Digital de Seales.

UNIDAD 1: SEALES Y SISTEMAS EN TIEMPO DISCRETO


Introduccin.
El procesamiento digital de seales (PDS) es un rea de la ingeniera que se ha desarrollado de manera
muy rpida desde el surgimiento de la era de las computadoras y como resultado de los grandes avances
en materia de informtica y la fabricacin de circuitos integrados.
Las computadoras y el hardware asociado en sus inicios eran muy grandes y costosos, lo cual limitaba su
uso sobre todo a aplicaciones militares y cientficas. Posteriormente el desarrollo de la industria de la
fabricacin de circuitos digitales, con su evolucin desde la integracin a mediana escala (MSI) hasta la
actual integracin a muy grande escala (VLSI) de circuitos integrados, permite el desarrollo de equipo de
cmputo y hardware digital ms pequeo, ms rpido y a menor costo.
La computadora ENIAC (Electronic Numeric Integrator and Calculator) fue una de las computadoras de
primera generacin, que se utilizaba para fines militares, cost millones de dlares, pesaba ms de 30
toneladas, y tena miles de bulbos.
La disminucin en el costo de los circuitos digitales integrados ha permitido el desarrollo de sistemas
digitales para llevar a cabo diversas tareas y funciones de procesamiento digital de seales, con el
consecuente impulso en el desarrollo de las tcnicas para el PDS.
Ejemplos de sistemas que utilizan PDS se pueden ver en prcticamente todas las aplicaciones de
tecnologa moderna.
reas del PDS:
Procesamiento de audio.
Reconocimiento de voz.
Procesamiento de imgenes.
Comunicaciones digitales.
Sistemas de control.
Estimacin espectral.
Sistemas de radar.
Sistemas de sonar.
Etc.
Los algoritmos de PDS si bien es cierto pueden ser ejecutados por procesadores de uso comn, resulta ms
adecuado utilizarlos en hardware especializado conocido como procesadores de seales digitales (DSP por
sus siglas en ingls). Algunos ejemplos son: microprocesadores, arreglos de compuertas programables por
campos (FPGA), microcontroladores, entre otros.
Tambin es conveniente aclarar que los algoritmos de PDS no slo son aplicados con hardware, ya que
existe software especializado en distintas reas cuya programacin est basada en el PDS.

Enrique Ren Bastidas Puga

Pgina 2 de 26.

Procesamiento Digital de Seales.

1.1 Seales discretas en el tiempo.


Una seal se define como cualquier magnitud fsica que vara con respecto al tiempo, al espacio o
cualquier otra u otras variables independientes.
Una seal discreta x(n) es una funcin de una variable independiente que es siempre entero. Cuando la
variable independiente es el tiempo, entonces se le llama seal discreta en el tiempo.
Ejemplo 1. Funcin discreta en el tiempo que se utiliza para definir los nombres de los das de la semana
cuando la variable independiente representa el nmero del da:
n
x(n)

1
Domingo

2
Lunes

3
Martes

4
Mircoles

5
Jueves

6
Viernes

7
Sbado

x(1) = domingo.
x(6) = viernes.
Representaciones de una seal discreta en el tiempo:
1. Funcional. Se utiliza una expresin matemtica para definir los valores de la funcin en base a la
variable independiente.
1, = 1, 0, 1.
() =
0, .

2. Tabular. Se utiliza una tabla de datos que permite ubicar los valores de la funcin correspondientes a
cada valor de la variable independiente.
n
x(n)

-2
0

-1
1

0
1

1
1

2
0

3. Grfica. Se utiliza un sistema de coordenadas cartesianas o rectangulares para plasmar los valores de
la funcin en el eje vertical con respecto a los valores de la variable independiente en el eje horizontal.

NOTA: Para graficar funciones


discretas en MATLAB se utiliza
la funcin stem.
>> N = [-2, -1, 0, 1, 2]
>> X = [0, 1, 1, 1, 0]
>> stem(N, X)

4. Secuencia. Se indican los valores de la funcin con una serie de nmeros en orden progresivo
correspondientes a los valores de la variable. El valor correspondiente a x(0) se marca con una flecha.
Enrique Ren Bastidas Puga

Pgina 3 de 26.

Procesamiento Digital de Seales.

1.1.1 Seales discretas elementales.

() =

{ 0,1,1,1,0, }

Existen algunas seales discretas que son utilizadas de manera regular en el procesamiento digital de
seales, las cuales se definen a continuacin:
1. Seal muestra unitaria. Es la seal que tiene un valor de 1
para n = 0 y para cualquier otro n es 0. Se utiliza la letra
griega para representarla.

() =

1, = 0,
0, 0.

(Ec. 1.1.1)

2. Seal escaln unitario. La funcin tiene un valor de 1 para


valores de n 0 y de 0 para n < 0.

() =

1, 0,
0, < 0.

(Ec. 1.1.2)

3. Seal rampa unitario. La funcin discreta de una recta con


pendiente 1 para n 0 y cuyo valor es 0 para n < 0.
, 0,
() =
0, < 0.

(Ec. 1.1.3)

4. Seal exponencial. Si la base es positiva la funcin es


creciente, y si la base es negativa la funcin es decreciente.
() =

Enrique Ren Bastidas Puga

(Ec. 1.1.4)

Pgina 4 de 26.

Procesamiento Digital de Seales.

5. Seal senoidal.
() = sen( + )
() = sen(2 + )

(Ec. 1.1.5)

A : amplitud.
f : frecuencia discreta en cantidad de ciclos / muestra.
: frecuencia angular discreta en rad / muestra.
N : Perodo fundamental, que es la cantidad de
muestras por ciclo (N = 1 / f ).

1.1.2 Clasificacin de seales discretas.


Un aspecto clave cuando se utiliza el PDS es identificar las caractersticas de las seales que se trabajan,
ya que de ello depende en gran medida la conveniencia del mtodo a utilizar.
A continuacin se presentan algunas de las clasificaciones ms comunes que se aplican a seales discretas
de acuerdo con sus caractersticas.
1. Seales de energa y de potencia.
Antes de aclarar la diferencia entre una seal de energa o una seal de potencia, definamos tanto la
energa como la potencia promedio de una seal discreta.
Sea x(n) una seal discreta, para la cual su energa (E) y su potencia promedio (P) se definen como:

= |()|2
=

1
|()|2
= lim
2 + 1
=

(Ec. 1.1.5)

(Ec. 1.1.6)

Si la energa E de una seal discreta es finita, entonces se clasifica como seal de energa, pero si la
potencia promedio P es finita y diferente de cero, entonces se clasifica como seal de potencia.
Ejemplo 1.1.1 Determina la energa y la potencia promedio de la funcin escaln unitario y determina si
se trata de una seal de energa o de potencia.

|()|2

= |()|2 =

=0

=0

=0

1
1
1
|()|2 = lim
|()|2 = lim
(1)2
= lim
2 + 1
2 + 1
2 + 1
=

1
+
1
1
( + 1) = lim =
= lim
1 2
2 + 1
2
+

Enrique Ren Bastidas Puga

Pgina 5 de 26.

Procesamiento Digital de Seales.

2. Seales de peridicas y aperidicas.


Una seal discreta x(n) es peridica con perodo N, si los valores de la seal se repiten cada N muestras, es
decir:
( + ) = () para todo .
(Ec. 1.1.7)

Al valor ms pequeo de N que hace que la Ec. 1.1.7 se cumpla se le llama perodo fundamental. Si no
existe un valor N para que se cumpla la Ec. 1.1.7, entonces la seal es aperidica.
Para una seal discreta peridica, su potencia promedio se reduce a calcular:
1

1
= |()|2

=0

(Ec. 1.1.8)

3. Seales de simtricas (pares) y asimtricas (impares).


Una seal discreta x(n) es par si tiene simetra con respecto al eje vertical, lo cual tambin se expresa
como:
() = () para todo .
(Ec. 1.1.9)

Por otro lado, una seal discreta x(n) es impar si es asimtrica con respecto al eje vertical, lo cual tambin
se expresa como:
() = () para todo .
(Ec. 1.1.10)

Ejemplo 1.1.2 Las funciones coseno y seno con perodo fundamental N = 8 son ejemplos de funciones
asimtricas y simtricas respectivamente:

NOTA: Para graficar la funcin


coseno con N = 8 muestras por
perodo en MATLAB se utiliza el
siguiente cdigo:
>> N = [-8 : 8];
>> X = cos(pi/4*N);
>> stem(N, X)

Una propiedad muy importante para las seales, es que cualquier seal se puede representar como la suma
de una componente par xp(n) y una componente impar xi(n), lo cual se logra con las siguientes ecuaciones
1
(Ec. 1.1.11)
() = [() + ()]
2
Enrique Ren Bastidas Puga

Pgina 6 de 26.

Procesamiento Digital de Seales.

1
() = [() ()]
2

() = () + ()

(Ec. 1.1.12)

(Ec. 1.1.13)

1.1.3 Manipulacin de seales discretas en el tiempo.


Los algoritmos utilizados en el PDS se basan en la manipulacin de las seales, para lo cual es importante
definir en qu consisten las manipulaciones ms comunes.
1. Desplazamiento en el tiempo.
Ocurre cuando en una seal x(n), su variable independiente se reemplaza por n - k, produciendo un retardo
de la seal si k es positivo, o un adelanto de la seal si k es negativo.
Ejemplo 1.1.3 Considera la seal x(n) mostrada a continuacin. Realiza la representacin grfica de x(n),
x(n-2) y x(n+3).
,
2 2,
() =
0, cualquier otro .

NOTA: Para graficar las seales se utiliza el siguiente cdigo:


>>
>>
>>
>>
>>
>>
>>
>>
>>
>>

N = [-8 : 8];
% Se define el vector de la variable independiente.
Nw=(N>=-2)&(N<=2)%Se obtiene un vector con una ventana para los valores -2n2.
X = (N).*(Nw); % Se calcula la seal x(n).
stem(N, X); % Se grafica x(n)
Nw=(N>=0)&(N<=4)%Se obtiene un vector con una ventana para los valores 0n4.
X = (N-2).*(Nw); % Se calcula la seal x(n - 2).
stem(N, X); % Se grafica x(n 2)
Nw=(N>=-5)&(N<=-1)%Se obtiene un vector con una ventana para los valores -5n-1.
X = (N+3).*(Nw); % Se calcula la seal x(n + 3).
stem(N, X); % Se grafica x(n + 2)

2. Inversin o reflexin en el tiempo.


Consiste en sustituir la variable n de la seal x(n) por n, lo cual produce una rotacin de 180 con
respecto al eje vertical en la grfica.

Enrique Ren Bastidas Puga

Pgina 7 de 26.

Procesamiento Digital de Seales.

Ejemplo 1.1.4 Nuevamente considera la seal x(n) del


ejemplo 1.1.3 y representa grficamente la funcin invertida
en el tiempo: x(-n).
,
2 2,
() =
0, cualquier otro .

NOTA: Para graficar las seales se utiliza el siguiente cdigo:


>>
>>
>>
>>

N = [-8 : 8];%Se define el vector de la variable independiente.


Nw=(N>=-2)&(N<=2)%Se obtiene un vector con una ventana para los valores -2n2.
X = (-N).*(Nw); % Se calcula la seal x(-n).
stem(N, X); % Se grafica x(n)

3. Escalalamiento en el tiempo o submuestreo.


Consiste en sustituir la variable n de la seal x(n) por un trmino mltiplo de n: mn. El efecto que se
produce es que del total de muestras originales, slo se selecciona 1 de cada m, por eso tambin se le
llama submuestreo.
() = ()
Ejemplo 1.1.5 Considera la seal x(n) definida al final del prrafo y representa grficamente tanto x(n)
como x(2n).
1,
6 6,
() =
0, cualquier otro .

4. Suma, multiplicacin y escalamiento de amplitud.


La suma y la multiplicacin de dos seales se realizan sumando o multiplicando, segn sea el caso, los
valores correspondientes a cada instante de tiempo.
El escalamiento de amplitud consiste en multiplicar cada valor de la seal por una constante dada.
Ejemplo 1.1.6 Considera las seales x1(n) y x2(n) que se muestran a continuacin y realiza las operaciones
indicadas.

Enrique Ren Bastidas Puga

1 () = {2, 3, 0, 1, 1}

Pgina 8 de 26.

Procesamiento Digital de Seales.

a) 1 () + 2 () = {0, 3, 3, 3, 5}

2 () = {2, 1, 3, 2, 4}

b) 1 () 2 () = {4, 3, 0, 2, 4}
c) 3 1 () = {6, 9, 0, 3, 3}

Taller 1.1: Seales discretas en el tiempo.


Ejercicio 1.1.1 Considera la seal x(n) definida a continuacin y realiza lo que se indica.
() = () ( 3)

a) Representa grficamente la seal x(n) para -8 n 8.


b) Grafica la seal y1(n) = x(-n).
c) Grafica la seal y2(n) = x(n + 4).
d) Grafica la seal y3(n) = x(n -2).
e) Grafica la seal y4(n) = x(-n + 4).
f) Grafica la seal y5(n) = x(-n - 4).
Captulo 2: 2.2a, 2.2e, 2.2g, 2.3b.

Tarea 1.1: Seales discretas en el tiempo.


Captulo 2: 2.1, 2.2b, 2.2c, 2.2d, 2.2f, 2.3a, 2.4, 2.5.

Enrique Ren Bastidas Puga

Pgina 9 de 26.

Procesamiento Digital de Seales.

1.2 Sistemas discretos.


El PDS involucra en muchas aplicaciones la utilizacin de algoritmos o dispositivos que realicen algunas
operaciones sobre una seal discreta en el tiempo. Esos algoritmos o dispositivos reciben el nombre de
sistemas discretos en el tiempo.
A manera de concepto, podemos decir que un sistema discreto en el tiempo es un conjunto de operaciones
que actan sobre una seal de entrada o excitacin x(n), para generar una seal de salida o respuesta del
sistema y(n).
1.2.1 Descripcin y representacin.
Otra manera de ver a un sistema discreto en el tiempo, es como un efecto de transformacin que le ocurre
a la entrada del sistema para convertirla en la salida, lo cual se expresa en las siguientes notaciones:
() = [()]

() ()

De la misma manera, un sistema discreto en el tiempo se puede expresar por el diagrama a bloques
mostrado a continuacin:
x(n)

Sistema discreto en
el tiempo.

y(n)

Ejemplo 1.2.1 Considera la seal x(n) que se indica y encuentra la respuesta de los sistemas mostrados.
||,
3 3,
() =
0,
otro caso.
a) Encuentra la secuencia de la seal x(n).
() = { , 0, 0, 3, 2, 1, 0, 1, 2, 3, 0, 0, }
b) y(n) = x(n - 1).
() = { , 0, 0, 3, 2, 1, 0, 1, 2, 3, 0, 0, }
c) y(n) = x(n + 1).

1
3

() = { , 0, 0, 3, 2, 1, 0, 1, 2, 3, 0, 0, }

d) () = [( + 1) + () + ( 1)].
Enrique Ren Bastidas Puga

5
2
5
() = , 0, 1, , 2, 1, , 1, 2, , 1, 0,
3
3
3

Pgina 10 de 26.

Procesamiento Digital de Seales.

e) () = = ()

() = () + ( 1) + ( 2) +
() = { , 0, 0, 3, 5, 6, 6, 7, 9, 3, 12, 12, }

Ejemplo 1.2.2 El sistema del ejemplo 1.2.1 inciso e) tambin recibe el nombre de acumulador porque la
salida actual depende de la entrada actual y la salida anterior:

() = () = () + () = ( 1) + ()
Considera que la entrada del sistema es x(n) = n u(n) para calcular su salida bajo las siguientes
condiciones:
a) El sistema inicialmente est en reposo, es decir, y(-1) = 0.
() = ( 1) + () = (1) + (0) + (1) + + ()

( + 1)
() = (1) + () = (1) +
2
=0
( + 1)
() =
2
() = { , 0, 1, 3, 6, 10, 15, 21, }
b) Inicialmente y(-1) = 1.

() = 1 +

( + 1) 2 + 2 +
=
2
2

() = { , 1, 1, 2, 4, 7, 11, 16, }

Bloques para la representacin grfica de los sistemas discretos en el tiempo.


A continuacin se enlistan los bloques ms comnmente utilizados para representar la interconexin de
sistemas discretos en el tiempo:
Operacin

Representacin grfica

Interpretacin

x1(n)
Suma

x2(n)
Enrique Ren Bastidas Puga

y(n)

() = 1 () + 2 ()
Pgina 11 de 26.

Procesamiento Digital de Seales.

Multiplicacin por
una constante

x(n)

() = ()

y(n)

x1(n)
Multiplicacin de
seales

() = 1 () 2 ()

y(n)

x2(n)
Elemento de
retardo unitario

x(n)

z-1

y(n)

() = ( 1)

Elemento de
adelanto unitario

x(n)

y(n)

() = ( + 1)

Ejemplo 1.2.3 Realiza un diagrama a bloques que represente al sistema discreto en el tiempo dado por la
siguiente relacin de entrada-salida:
1
1
1
() = ( 1) + () + ( 1)
4
2
2

Para efectos de simplificar el diagrama, ser conveniente factorizar de los dos ltimos trminos:
1
4

1
2

() = ( 1) + [() + ( 1)]
x(n)

z-1
0.5
+

y(n)

z-1
0.25
1.2.2 Clasificacin de los sistemas discretos en el tiempo.
Cuando se realizan anlisis o diseos de sistemas discretos es conveniente clasificarlos de acuerdo a sus
propiedades, ya que las tcnicas que pueden ser utilizadas dependen de las caractersticas de los sistemas.
A continuacin se presentan las clasificaciones ms comunes para los sistemas discretos en el tiempo.
1. Sistemas estticos y dinmicos.
Los sistemas estticos son aquellos que slo dependen de la muestra actual de la entrada, tambin se les
conoce como sistemas sin memoria.
Enrique Ren Bastidas Puga

Pgina 12 de 26.

Procesamiento Digital de Seales.

Por su parte los sistemas dinmicos, son aquellos que adems de depender de la muestra actual de la
entrada, tambin requiere de alguna o algunas muestras ya sean pasadas o futuras.
Los sistemas descritos por las ecuaciones de entrada-salida para y1(n) y y2(n) son ejemplos de sistemas
estticos, mientras que los sistemas para y3(n) y y4(n) son dinmicos:
1 () = ()

2 () = () + 3 ()

3 () = () + 2 ( 1)

4 () = =0 ( )

2. Sistemas invariantes y variantes en el tiempo.


Los sistemas invariantes en el tiempo son aquellos para los cuales su caracterstica de entrada-salida
permanece constante con el tiempo.
Consideremos un sistema que para una seal de entrada x(n) tiene una seal de salida y(n):

() ()
Para determinar si el sistema es invariante en el tiempo, se debe cumplir que la salida del sistema y(n, k),
correspondiente a la seal de entrada con un desplazamiento de k unidades x(n k), sea precisamente la
seal de salida tambin desplazada k unidades y(n k).

( ) ( )

Para que el sistema sea invariable en el tiempo, la regla se debe cumplir para cualquier seal de entrada,
de lo contrario el sistema se clasifica como variable en el tiempo.
Ejemplo 1.2.4 Determina si los sistemas mostrados a continuacin son invariantes o variantes en el
tiempo.

a) Diferenciador:
x(n)

y(n)

z-1

b) Multiplicador por tiempo:


x(n)

y(n) = n x(n)

n
Enrique Ren Bastidas Puga

Pgina 13 de 26.

Procesamiento Digital de Seales.

c) Espejo:

x(n)

y(n) = x(-n)

d) Modulador:
x(n)

y(n) = x(n) cos(0 n)

cos(0 n)

3. Sistemas lineales y no lineales.


Un sistema discreto es lineal si satisface el principio de superposicin, es decir, que la salida del sistema
correspondiente a una combinacin lineal de distintas seales de entrada sea igual a la combinacin lineal
de las salidas individuales de cada una de las seales utilizadas:
[1 1 () + 2 2 ()] = 1 [ 1 ()] + 2 [ 2 ()]

Otra manera de verlo es que si:


1 () = [ 1 ()] y 2 () = [ 2 ()],

entonces:

[1 1 () + 2 2 ()] = 1 1 () + 2 2 ()

Ejemplo 1.2.5 Determina si los sistemas mostrados a continuacin son lineales o no lineales.
a) () = ()
b) () = (2 )
c) () = 2 ()

d) () = () +

e) () = ()

4. Sistemas causales y no causales.


Un sistema es causal si la salida en cualquier instante n slo depende de las entradas actuales y pasadas:
x(n), x(n - 1), x(n - 2),
Por el contrario, un sistema ser no causal si su salida en un instante n depende de entradas futuras al
sistema.

Enrique Ren Bastidas Puga

Pgina 14 de 26.

Procesamiento Digital de Seales.

Ejemplo 1.2.6 Determina si los sistemas mostrados a continuacin son causales o no causales.
a) () = () ( 1)

b) () = = ()
c) () = ()
d) () = (2 )

e) () = ()
5. Sistemas estables e inestables.
Un sistema es estable si para toda entrada acotada produce una salida acotada, lo cual se expresa
matemticamente de la siguiente manera:
|()| <

|()| <

En base a la definicin anterior, podemos decir que un sistema inestable es aquel cuya salida crece
indiscriminadamente an para entradas acotadas.
Ejemplo 1.2.7 Determina si el siguiente sistema es estable o inestable. Considera que y(-1) = 0.

Taller 1.2: Sistemas discretos.

() = 2 ( 1) + ()

Captulo 2: 2.6a, 2.6b, 2.7a, 2.7d, 2.7e, 2.7g, 2.7j, 2.7l, 2.7m.

Tarea 1.2: Sistemas discretos.


Captulo 2: 2.6c, 2.6d, 2.7b, 2.7c, 2.7f, 2.7h, 2.7i, 2.7k, 2.7n.

Enrique Ren Bastidas Puga

Pgina 15 de 26.

Procesamiento Digital de Seales.

1.3 Conversin analgica digital.


La mayora de las seales para las que puede haber un inters en procesarlas digitalmente son de
naturaleza analgica: seales de voz, biolgicas, ssmicas, de radar, de audio, etc. Por ello se requiere
convertirlas a un formato digital con un procedimiento que consta de tres pasos:
1. Muestreo: En este paso se convierte una seal continua en el tiempo xa(t) a una seal discreta en el
tiempo x(n), mediante la toma de muestras de la seal en instantes discretos de tiempo.
2. Cuantificacin: En este se paso se convierte una seal de valores continuos correspondientes a
tiempos discretos x(n), en una seal de valores discretos correspondientes a tiempos discretos xq(n).
3. Codificacin: En este paso, cada valor discreto xq(n) se convierte en una secuencia binaria.
Diagrama a bloques de la conversin analgica-digital:

xa(t)

xq(n)

x(n)
Muestreo

Cuantificador

Codificador

Seal
digital

1.3.1 Muestreo.
Cuando de una seal analgica se toman muestras a intervalos iguales de tiempo, se le conoce como
muestreo uniforme o peridico:
() = ( ),
Donde:
xa(t) es la seal analgica.
x(n) es la seal discreta en el tiempo obtenida a partir de muestras de la seal analgica.
T es el tiempo entre muestras o tiempo de muestreo.
Fs es la cantidad de muestras tomadas por unidad de tiempo, tambin conocida como frecuencia
1
de muestreo: = .

La variable t para la seal analgica se relaciona con la variable n de la seal discreta de la siguiente
manera:

= =

xa(t)

x(n)

t
Enrique Ren Bastidas Puga

n
T

Pgina 16 de 26.

Procesamiento Digital de Seales.

Consideremos que la seal analgica a muestrear xa(t) es una seal senoidal:


(Ec. 1.3.1)
() = (2 + )

donde F es la frecuencia de la senoidal que expresa cantidad de ciclos por unidad de tiempo, cuya unidad
ms comnmente utilizada es el Hertz.
Si la seal senoidal es muestreada a una tasa Fs, entonces tenemos:

2
() = (2 + ) =
+

De la expresin anterior definamos a la frecuencia normalizada de una seal senoidal discreta como:

= ,

Las unidades de la frecuencia normalizada f son ciclos/muestra y la seal senoidal discreta se puede
reescribir de la siguiente manera:
(Ec. 1.3.2)
() = (2 + )

El muestreo de una seal senoidal dada por la Ec. 1.3.1 produce una seal discreta dada por la Ec. 1.3.2,
donde la frecuencia normalizada f, la frecuencia de la senoidal F y la frecuencia de muestreo Fs guardan
las siguientes relaciones:
1
1

2
2


2
2

De no cumplirse las relaciones anteriores al muestrear una seal senoidal, se produce un efecto conocido
como alias, el cual provoca que la seal muestreada aparente ser una seal de una frecuencia
correspondiente al rango de frecuencias especificado anteriormente.
Ejemplo 1.3.1 Considera las seales analgicas senoidales x1(t) y x2(t), para convertirlas a seales
discretas con una Fs = 40 Hz. Grafica x1(n) y x2(n).
1 () = cos 2(10) +

2 () = cos 2(50) +

Enrique Ren Bastidas Puga

Pgina 17 de 26.

Procesamiento Digital de Seales.

En este caso la frecuencia F = 50 Hz es un alias de la frecuencia F = 10 Hz para una frecuencia de


muestreo Fs = 40 Hz, por lo que las dos seales muestreadas resultan indistinguibles una de otra.
NOTA: Para graficar las seales se utiliza el siguiente cdigo:
>>
>>
>>
>>
>>
>>
>>

N = [0 : 10];%Se define el vector de la variable independiente.


X1 = cos(2*pi*10/40*N + pi/8);%Seal muestreada x1
X2 = cos(2*pi*50/40*N + pi/8);%Seal muestreada x2
figure(1)
stem(N, X1); % Se grafica x1(n)
figure(2)
stem(N, X2); % Se grafica x2(n)

Ejemplo 1.3.2 Considera la seal analgica () = 3 cos(100 ).


a) Determina la frecuencia de muestreo mnima necesaria para evitar el aliasing.
b) Supn que la seal se muestrea a la frecuencia Fs = 200 Hz. Qu seal discreta en el tiempo se obtiene
despus de la operacin de muestreo?
c) Supn que la seal se muestrea a la frecuencia Fs =75 Hz. Qu seal discreta en el tiempo se obtiene
despus del muestreo.
d) Cul es la frecuencia 0 < F < Fs /2 de una senoidal que produce muestras idnticas a las obtenidas en el
inciso c)?

Teorema de muestreo: Una seal analgica xa(t) que tiene una frecuencia mxima Fmax puede ser
recuperada en forma exacta si se muestrea a una frecuencia Fs > 2 Fmax. Cuando la frecuencia de muestreo
es el doble de la frecuencia mxima Fs = 2 Fmax, se le denomina frecuencia de Nyquist (FN).
Ejemplo 1.3.3 Considera la seal analgica
() = 3 cos(2000 ) + 5 sen(6000 ) + 10 cos(12000 )

a) Cul es la frecuencia de Nyquist para esta seal?

b) Si la seal se muestrea a la frecuencia Fs = 5000 muestras/seg. Qu seal discreta en el tiempo se


obtiene despus de la operacin de muestreo?
c) Cmo es la seal analgica ya(t) que se puede reconstruir a partir de las muestras obtenidas en el inciso
b)? suponiendo que la recuperacin es ideal.

1.3.2 Cuantificacin.
Como ya se estableci anteriormente, la cuantificacin es el proceso mediante el cual una seal discreta en
el tiempo con amplitud continua (seal muestreada) se convierte a una seal cuyas amplitudes pertenecen
a un conjunto finito.

Enrique Ren Bastidas Puga

Pgina 18 de 26.

Procesamiento Digital de Seales.

La siguiente figura ejemplifica el proceso de cuantificacin, para el cual el rango de amplitudes posibles
de la seal muestreada se divide en L niveles, de tal manera que un valor de amplitud continuo se asigna al
nivel ms cercano, convirtiendo las amplitudes en un conjunto discreto.

La resolucin de cuantificacin es la longitud de cada nivel de cuantificacin:


max min
=
1

Donde xmax y xmin son los valores mximos y mnimos de la seal muestreada.
1.3.3 Codificacin.
Es el paso final de la conversin analgica digital, en el cual se asigna un nmero binario a cada nivel de
cuantificacin. Por cada uno de los L niveles de cuantificacin se requiere un nmero binario distinto.
Si la secuencia binara es de longitud b bits, entonces se tienen 2b nmeros binarios distintos, por lo tanto
se debe cumplir que 2b L.

Taller 1.3: Conversin analgica digital.


Captulo 1: 1.7, 1.10, 1.13.

Tarea 1.3: Conversin analgica digital.


Captulo 1: 1.5, 1.8, 1.9.

Enrique Ren Bastidas Puga

Pgina 19 de 26.

Procesamiento Digital de Seales.

1.4 Sistemas lineales invariables en el tiempo (LTI) discretos.


1.4.1 Anlisis de sistemas LTI.
Un mtodo para analizar el comportamiento de un sistema LTI ante una seal de entrada x(n) consiste en
descomponer la seal de entrada en una suma de seales elementales, de tal manera que la salida del
sistema a cada una de las seales elementales se obtenga fcilmente.
Una forma general para descomponer una seal arbitraria es hacerlo en sumas de impulsos unitarios, lo
cual se logra de la siguiente manera:

() = () ( )
=

(Ec. 1.4.1)

La siguientes figuras ayudan a ejemplificar lo que sucede con cada trmino de la sumatoria anterior, el
cual corresponde a cada valor de la seal original x(n) antes de descomponerse, y que por lo tanto al
sumarse todos ellos dan como resultado la seal original nuevamente.

Ejemplo 1.4.1 Considera la seal que se muestra y exprsala como una suma de impulsos ponderados:
1 () = {3, 2, 0, 1}
Consideremos que se tiene un sistema LTI cuya entrada es x(n) y su salida y(n):
x(n)

Sistema discreto
LTI.

y(n)

En el sistema anterior consideremos que la entrada ser la seal impulso unitario x(n) = (n) y su
correspondiente salida ser h(n):
() = [()]

Como el sistema es invariable en el tiempo, entonces la salida del sistema correspondiente a un impulso
desplazado en el tiempo ser a su vez la salida desplazada en el tiempo:
(, ) = ( ) = [( )]

Con los elementos anteriores establecidos, ahora consideremos que la entrada es de manera general x(n),
la cual puede ser expresada como una suma ponderada de impulsos unitarios (Ec. 1.4.1).
Enrique Ren Bastidas Puga

Pgina 20 de 26.

Procesamiento Digital de Seales.

En tal caso, la salida del sistema LTI cuya entrada es x(n) est dada por:
() = [()]

() = () ( ) = ()[( )] = ()( )

() = ()( )

(Ec. 1.4.2)

Para llegar a la ecuacin anterior se utiliz el hecho de que el sistema es lineal e invariable en el tiempo.
La Ec. 1.4.2 recibe el nombre de sumatoria de convolucin y se utiliza para encontrar la respuesta y(n) de
un sistema LTI cuya entrada es x(n) y su respuesta al impulso unitario es h(n).
Segn podemos observar en la Ec. 1.4.2, el clculo de la convolucin involucra cuatro pasos:
1. Rotacin: La funcin h(k) se rota 180 alrededor del eje vertical para obtener h(-k).
2. Desplazamiento: La funcin h(k) se desplaza para obtener h(n0 - k). Si n0 es positivo
desplazamiento es hacia la derecha, pero si n0 es negativo el desplazamiento es hacia la izquierda.
3. Multiplicacin: Se multiplican las secuencias x(k) y h(n0 - k).
4. Suma: Finalmente se suman todos los valores de la secuencia del paso anterior parea obtener el valor
de la convolucin en el instante n = n0 : y(n0).
Ejemplo 1.4.2 Determina la respuesta de un sistema y(n), cuya respuesta al impulso h(n) y seal de
entrada x(n) se muestran a continuacin:
() = {1, 2, 1, 1}
() = {1, 2, 3, 1}

NOTA: Para calcular una


convolucin
discreta
en
MATLAB se utiliza la funcin
conv.
>> H = [1, 2, 1, -1]
>> X = [1, 2, 3, 1]
>> conv(X, H)

Enrique Ren Bastidas Puga

() = { , 0, 1, 4, 8, 8, 3, 2, 1, 0, }

Pgina 21 de 26.

Procesamiento Digital de Seales.

Ejemplo 1.4.3 Determina la salida y(n) de un sistema cuya respuesta al impulso h(n) y seal de entrada
x(n) se muestran a continuacin:
|| < 1.
() = (),
() = ().

1.4.2 Convolucin y propiedades.


La notacin que se utiliza para representar la operacin de convolucin entre dos funciones x(n) y h(n)
es:

() = () () = ()( )
=

A continuacin se describen las propiedades de la convolucin:


1. Propiedad conmutativa:
() () = () ()

2. Propiedad asociativa:

[() 1 ()] 2 () = () [1 () 2 ()]

3. Propiedad distributiva:
() [1 () + 2 ()] = () 1 () + () 2 ()
Ejemplo 1.4.4 Determina la respuesta al impulso total h(n) de dos sistemas LTI conectados en cascada
con respuestas al impulso dadas por h1(n) y h2(n).
1
2

1 () = ().

y(n)

x(n)
h1(n)

1
2 () = ().
4

h1(n)

h(n)

Recordemos que un sistema causal es aquel cuya salida depende nicamente del valor actual y los valores
anteriores de la seal de entrada, pero no de los valores futuros. En ese sentido, consideremos la
convolucin y reorganicemos la sumatoria:

=0

() = () () = ()( ) = ()( ) + ()( )

() = [ + (2)( + 2) + (1)( + 1)] + [(0)() + (1)( 1) + ]

De la expresin anterior podemos concluir que una condicin para que un sistema discreto sea causal es
que su respuesta al impulso h(n) = 0 para valores de n < 0.
Enrique Ren Bastidas Puga

Pgina 22 de 26.

Procesamiento Digital de Seales.

Cuando una seal x(n) = 0 para valores de n < 0, se dice que es causal.
1.4.3 Sistemas de duracin finita (FIR) y sistemas de duracin infinita (IIR).
Los sistemas discretos LTI se pueden subdividir a su vez en dos distintos tipos, uno de ellos para el cual su
respuesta al impulso h(n), sea cero fuera de algn intervalo en el tiempo, es decir, h(n) = 0 para valores
de n < 0 y n M. Un sistema de este tipo recibe el nombre de sistema con repuesta al impulso finita
(FIR por sus siglas en ingls).
En tal caso, la respuesta del sistema se simplifica a:

() = () () = ()( )
=0

Por el contrario, si la respuesta al impulso de un sistema discreto LTI es causal, pero no alcanza
nuevamente el valor de cero, entonces se le conoce como sistema con respuesta al impulso infinita (IIR
por sus siglas en ingls).
Para un sistema IIR causal, la respuesta del sistema se simplifica a:

() = () () = ()( )
=0

Taller 1.4: Sistemas lineales invariables en el tiempo (LTI) discretos.


Captulo 2: 2.17, 2.19, 2.22.

Tarea 1.4: Sistemas lineales invariables en el tiempo (LTI) discretos.


Captulo 2: 2.16, 2.18, 2.20, 2.21.
-

Realiza un programa que calcule y grafique la convolucin entre dos seales. El programa debe
aceptar como parmetros de entrada:
o Un vector con la seal x(n).
o Un vector con la seal h(n).
o Un vector con la ubicacin de las muestras de x(n).
o Un vector con la ubicacin de las muestras de h(n).
Entregar el cdigo del programa y la ejecucin para resolver el ejemplo 1.4.2.

Enrique Ren Bastidas Puga

Pgina 23 de 26.

Procesamiento Digital de Seales.

1.5 Autocorrelacin y Correlacin cruzada.


1.5.1 Concepto.
La correlacin cruzada es una operacin entre funciones muy parecida a la convolucin, con la diferencia
de que al calcularla se busca una medida de que tan parecidas son las funciones. Es una operacin
ampliamente utilizada en aplicaciones de comunicaciones digitales, radar, sonar, geologa, entre otras.
Cuando se estn comparando dos seales distintas, la operacin recibe el nombre de correlacin cruzada,
pero si la operacin se realiza con la misma seal, se le llama autocorrelacin.
Si x(n) y y(n) son dos seales de energa, entonces su correlacin cruzada se define como:

() = ()( )
=

(Ec. 1.5.1)

La Ec. 1.5.1 tiene una representacin equivalente, si en lugar de fijar la seal x(n) y desplazar y(n), se
hace lo contrario: desplazar x(n) y fijar y(n):

() = ( + )()
=

(Ec. 1.5.2)

Ejemplo 1.5.1 Calcula la correlacin cruzada rxy(l) de las seales mostradas a continuacin:
() = { , 0, 0, 2, 1, 3, 7, 1, 2, 3, 0, 0, }

() = { , 0, 0, 1, 1, 2, 2, 4, 1, 2, 5, 0, 0, }

NOTA: Para calcular correlacin


cruzada en MATLAB se utiliza la
funcin xcorr.
>> xcorr(X, Y)

De las Ec. 1.5.1 y 1.5.2 obtenemos las expresiones para el clculo de la autocorrelacin:

() = ()( )
Enrique Ren Bastidas Puga

(Ec. 1.5.3)
Pgina 24 de 26.

Procesamiento Digital de Seales.

() = ( + )()
=

(Ec. 1.5.4)

1.5.2 Propiedades.
1. Para una seal x(n), su energa Ex es igual a su autocorrelacin en el tiempo l = 0:
(0) =
2. El valor mximo de una autocorrelacin ocurre en el tiempo l = 0.
(0) ()

3. La correlacin cruzada de dos seales es igual a la correlacin cruzada rotada 180, con respecto al eje
vertical, de las mismas seales pero calculada con las seales conmutadas:
() = ()
4. La autocorrelacin es una seal par:

() = ()

5. La correlacin cruzada de las seales x(n) y y(n) es equivalente a la convolucin de las seales x(n)
y y(-n):
() = () ()

6. La forma de la correlacin cruzada entre dos seales no se afecta si una o ambas seales se escalan en
amplitud.

Como la forma de la autocorrelacin y de la correlacin cruzada no se ve afectada por distintas escalas de


las seales, es conveniente definir la autocorrelacin normalizada, o correlacin cruzada normalizada, las
cuales tienen un rango de valores de -1 a 1:
()
() =
(Ec. 1.5.5)
(0)
() =

()

(0) (0)

(Ec. 1.5.6)

Ejemplo 1.5.2 Calcula la autocorrelacin de la seal


() = (); 0 < < 1.
NOTA: Ser conveniente utilizar los siguientes resultados de series:

=
; 1 < < 1.
1
=0

(1 )
.
=
1

=0

Enrique Ren Bastidas Puga

Pgina 25 de 26.

Procesamiento Digital de Seales.

1.5.3 Correlacin de secuencias peridicas.


Si x(n) y y(n) son dos seales peridicas, su correlacin cruzada tambin ser peridica, y se calcula de
la siguiente manera:

1
() = lim
()( )
2 + 1

(Ec. 1.5.7)

La autocorrelacin de una seal peridica est dada por:

1
() = lim
()( )
2 + 1

(Ec. 1.5.8)

Como tanto la correlacin cruzada como la autocorrelacin son peridicas, su clculo se reduce a un solo
perodo:
1

1
() = ()( )

=0

1
() = ()( )

=0

(Ec. 1.5.9)
(Ec. 1.5.10)

Ejemplo 1.5.3 Considera que una seal senoidal x(n) que fue muestreada a una frecuencia Fs = 10 Hz, se
ve afectada por ruido aditivo w(n), generando la seal y(n):
() = () + ()

La relacin seal a ruido (SNR) de y(n) es: SNR = 0.5 dB.


Encuentra la frecuencia F de la seal x(n).

NOTA: La seal y(n) est grabada en el archivo .mat en la


seccin de documentos de Blackboard. Utiliza la funcin load de
MATLAB para cargar las variables contenidas en el archivo
y_n.mat:
>> load y n.mat

Taller 1.5: Autocorrelacin y Correlacin cruzada.


Captulo 2: 2.62, 2.63, 2.66a.

Tarea 1.5: Autocorrelacin y Correlacin cruzada.


Captulo 2: 2.61, 2.64, 2.65 (incisos a-d), 2.67.

Enrique Ren Bastidas Puga

Pgina 26 de 26.