Está en la página 1de 3

Guı́a Laboratorio 2

Procesamiento Digital de Señales


Transmisión Análoga Vs. Digital
Juan Camilo Vásquez, Nicanor Garcı́a, Jhony Giraldo, Edwin Cubillos
Febrero 2018-1

NOTAS:
Enviar el informe del laboratorio con el siguiente nombre: Lab2 PDS Apellido Nombre.ipynb
Enviar junto con el informe los archivos adicionales generados y descargados. Todo esto debe ir en un archivo
comprimido con el siguiente nombre: Lab2 PDS Apellido Nombre.zip

1. Introducción
En este laboratorio se pretende comparar técnicas de transmisión análoga vs. digital, y mostrar las potenciales
ventajas de la transmisión de señales digitales respecto a su contra-parte análoga.

Se considerará el caso de la transmisión de una señal sobre un medio confinado de gran longitud, en el cual varios
repetidores serán usados para compensar la atenuación introducida por el canal.

Cada segmento del medio introduce una atenuación 1/G, por lo cual se puede recobrar la amplitud original adi-
cionando un repetidor de ganancia G. Sin embargo, si la señal ha acumulado ruido aditivo, el ruido también será
amplificado por el repetidor. Después de N repetidores, el ruido será amplificado N veces, y la señal en el receptor
será:

x̂N (t) = x(t) + N Gσ(t) (1)


Por otro lado si se usa una señal digital, se puede establecer un umbral después de cada repetidor para re-digitalizar
la señal y eliminar el ruido en cada etapa.

2. Digitalización
Cree un nuevo notebook para el desarrollo del laboratorio, y siga el siguiente procedimiento.

1. Descargue la señal de audio de su preferencia del siguiente enlace


https://ccrma.stanford.edu/~jos/pasp/Sound_Examples.html en formato *.wav
2. Verificar si la señal descargada es estéreo o mono (fue grabada usando dos canales o un sólo canal). Para ello
puede hacer uso de la instrucción x.shape. Donde x es la señal cargada. El número de canales estará indicado
por la segunda dimensión del arreglo. Si la señal que descargó es estéreo utilice sólo el primer canal.
3. Cargue, grafique, y escuche (puede ser en un reproductor externo, o con la instrucción Audio vista en prácticas
pasadas) la señal de audio descargada.
4. Creación de señal análoga.
La versión de señal análoga será una simulación donde se usarán valores flotantes con el fin de acercarnos a
una precisión infinita. Para ello se va a re-escalar el audio cargado en la parte anterior entre -100 y 100, de la
siguiente forma.

1
norm = 1.0 / np.max(np.abs(x))
sA = 100.0 * x * norm

Siendo x el vector de la señal cargada en el punto anterior, y sA la señal análoga.


5. Creación de señal digital.
La señal digital será simplemente una versión redondeada de la señal análoga, usando números enteros entre
-100 y 100 para obtener una resolución aproximada de 8 bits por muestra. Use la instrucción np.round() para
obtener la señal digital a partir de la señal análoga.
¿Por qué los valores enteros entre -100 y 100 nos dan aproximadamente 8 bits de cuantificación?
6. Grafique las 100 primeras muestras de las señales análoga y digital obtenidas en la misma gráfica. ¿Qué
diferencias puede observar? (Si aparece una lı́nea en ceros, grafique más muestras hasta que vea señal).
7. Escuche (normalice entre -1 y 1 antes) las señales análoga y digital obtenidas. ¿Qué diferencias puede percibir?
8. Grafique el error cuadrático y calcule el error cuadrático medio debido a la digitalización de la señal. ¿Entre
que rango se espera se encuentre el error, y cómo se puede reducir?
9. Calcule la relación señal a ruido entre la señal digital y la señal análoga. Para ello puede usar la siguiente
función.

def SNR(noisy, original):


# power of the error
err = np.linalg.norm(original-noisy)
# power of the signal
sig = np.linalg.norm(original)
# SNR in dBs
return 10 * np.log10(sig/err)

¿Cuanto es la SNR?, ¿Se puede escuchar esa diferencia entre los audios?

3. Transmisión
Ahora se va a definir una función que represente el efecto de la transmisión de audio sobre un medio confinado
terminado por un repetidor, realizando los siguientes pasos.

La señal es atenuada un factor a < 1


La señal acumula ruido aditivo con determinada amplitud (< 1) que se propaga a través del medio.
La señal es amplificada en el repetidor (1/a) hasta obtener la amplitud original.
1. Cree una función llamada repeater(...) que reciba como entrada la señal a transmitir, la amplitud del ruido
que se desea agregar, y la constante de atenuación, y retorne la señal afectada por el ruido, atenuada, y
amplificada nuevamente. Tip: para crear el ruido aditivo use la siguiente instrucción:

Noise=np.random.uniform(-noise amplitude, noise amplitude, len(x))

Siendo x el vector con la señal a transmitir.


2. La transmisión análoga no es más que una secuencia de repetidores, la cual puede ser implementada con la
siguiente función.

def analog tx(x, num repeaters, noise amplitude, attenuation):


for n in range(0, num repeaters):
x = repeater(x, noise amplitude, attenuation)
return x

3. Para la señal digital, sin embargo se puede volver a cuantificar la señal después de cada repetidor, ya que
sabemos que sólo tiene valores enteros. para esto se tiene la siguiente función.

2
def digital tx(x, num repeaters, noise amplitude, attenuation):
for n in range(0, num repeaters):
x = np.round(repeater(x, noise amplitude, attenuation))
return x

4. Compare los esquemas de transmisión de las señales. Para ello defina el número de repetidores, la amplitud
del ruido, y la constante de atenuación. Luego realice la transmisión de las señal análoga y digital en cada
uno de sus respectivos esquemas de transmisión, y calcule la relación señal a ruido tanto para la señal análoga
como digital, respecto a la señal análoga original. Escuche ambas señales luego de la transmisión.
Comience con los siguientes parámetros.

Número de repetidores=70
Amplitud de Ruido=0.2
Atenuación=0.5

5. Manteniendo la amplitud de ruido, y la constante de atenuación constante, realice un barrido del número
de repetidores entre 10 y 150 (no lo haga de 1 en 1). Realice nuevamente la transmisión análoga y digital y
calcule la SNR para cada una. Al final grafique la SNR en función del número de repetidores. ¿Que se puede
concluir?
6. Realice el mismo procedimiento cambiando la amplitud del ruido entre 0 y 1, y manteniendo los otros paráme-
tros constantes (número de repetidores y atenuación)
7. Realice el mismo procedimiento cambiando la constante de atenuación (entre 0 y 1), manteniendo los demás
parámetros constantes. ¿Qué puede concluir?

3.1. Bonus
1. Varı́e al mismo tiempo dos de los parámetros y genere una gráfica de superficie en 3D donde los ejes X y Y
corresponden a la variación de los parámetros, y el eje Z es la SNR.

4. Conclusiones
Realice conclusiones generales sobre la práctica.

También podría gustarte