ETN1015 BYMA BPKP Lab04

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 7

ETN-1015

Laboratorio 4

SISTEMAS DIGITALES
ETN-1015

Blanco Yarichimo Marcos Andrés BYMA


Butrón Paz Kristopher Pablo BPKP
Ing. Mecatrónica
10932542 LP
1752302
Ing. Oscar Mauricio Amestegui Moreno
1/2021
Procesamiento de señales

Reporte a entregar
Ejercicio de laboratorio 1

Dada una forma de onda sinusoidal con una frecuencia de 100𝐻𝑧:

𝑥 (𝑡 ) = 4.5 sin(2𝜋100𝑡)
Muestreada a 8000 Hz
1. Escribir un programa en Matlab que cuantifique la señal analógica 𝑥(𝑡) usando 4
bits para obtener y graficar la señal cuantificada 𝑥𝑞 comparada en la misma
gráfica con la señal analógica, asumiendo que el rango de la señal está entre -5 y
5 Volts.
Considerando la teoría y las formulas inscritas en la descripción inicial del
laboratorio pudimos ver las siguientes ecuaciones:
𝑥𝑚𝑎𝑥 − 𝑥𝑚𝑖𝑛
Δ=
𝐿
𝐿 = 2𝑚
𝑥 − 𝑥𝑚𝑖𝑛
𝑖 = 𝑟𝑜𝑢𝑛𝑑 ( )
Δ
𝑥𝑞 = 𝑥𝑚𝑖𝑛 + 𝑖Δ

Donde:
𝑥𝑚𝑖𝑛 𝑦 𝑥𝑚𝑎𝑥 son valores de la señal
𝐿 es el número de niveles de cuantificación
𝑚 es el número de bits usados en el ADC
Δ es el tamaño del escalón del cuantificador o resolución del ADC
El script de Matlab para esta parte es:
xmax=5; xmin=-5; m=4; Fs=8000; t=0:1/Fs:0.05;
x=4.5*sin(2*pi*100*t);
L=2^m; delta=(xmax-xmin)/L; i=round((x-xmin)/delta);
xq=xmin+i*delta;
subplot(2,1,1);
plot(t,xq); title('Señal cuantificada xq');
subplot(2,1,2);
plot(t,x); title('Señal analogica');
figure(1)

Ingeniería Mecatrónica ETN-1015


Procesamiento de señales

Las gráficas obtenidas son:

2. Calcular la 𝑆𝑁𝑅 debida a la cuantificación y la correspondiente 𝑆𝑁𝑅𝑑𝐵


Con las evacuaciones dadas en la parte teórica
𝐸(𝑥 2 )
𝑆𝑁𝑅 =
𝐸(𝑒𝑞2 )

𝑆𝑁𝑅𝑑𝐵 = 10 log(𝑆𝑁𝑅)
El cálculo de la SNR lo haremos con el siguiente script en Matlab:
eq=x-xq;
varer = var(eq);
varx = mean(x.^2);
SNR = varx/varer; % relacion señal ruido
SNR_dB = 10*log10(mean(x.^2)/mean(eq.^2));
fprintf('Relacion señal/ruido SNR = %.2f\n',SNR);
fprintf('Relacion señal/ruido SNR_dB = %.2f\n',SNR_dB);

La SNR nos da:

Ingeniería Mecatrónica ETN-1015


Procesamiento de señales

También podemos graficar con:


figure(2), snr(xq,Fs);

3. Graficar el error de cuantificación 𝑒𝑞


Graficando el 𝑒𝑞
figure(3), plot(t,eq);
title('Error de cuantificacion')
Tendremos la siguiente gráfica:

Ingeniería Mecatrónica ETN-1015


Procesamiento de señales

El script completo para las 3 partes del ejercicio 1 de laboratorio:


xmax=5; xmin=-5; m=4; Fs=8000; t=0:1/Fs:0.05;
x=4.5*sin(2*pi*100*t);
L=2^m; delta=(xmax-xmin)/L; i=round((x-xmin)/delta);
xq=xmin+i*delta;
subplot(2,1,1);
plot(t,xq); title('Señal cuantificada xq');
subplot(2,1,2);
plot(t,x); title('Señal analogica');
figure(1)
eq=x-xq; % error de cuantificacion
varer = var(eq);
varx = mean(x.^2);
SNR = varx/varer; % relacion señal ruido
SNR_dB = 10*log10(mean(x.^2)/mean(eq.^2));
fprintf('Relacion señal/ruido SNR = %.2f\n',SNR);
fprintf('Relacion señal/ruido SNR_dB = %.2f\n',SNR_dB);
figure(2), snr(xq,Fs);
figure(3), plot(t,eq);
title('Error de cuantificacion')

Ejercicio de laboratorio 2

Descargar la señal de audio chirp


1. Crear un script de Matlab para graficar la SNR medida en dB versus el número de
bits del ADC (desde 3 a 16 bits). Sobre esta gráfica discutir el efecto sobre la
calidad del sonido
Para la señal chirp vamos a ver utilizaremos el siguiente script de Matlab:
load chirp
xmin = min(y);
xmax = max(y);
m = 16;
L = 2^m;
delta = (xmax-xmin)/L;
i = round((y-xmin)/delta);
xq = xmin + i*delta;
snr(xq)
xlabel('bits'); ylabel('decibelios db'); axis([3 16 -200 0])
sound(xq)

Este sonido que se da con xq es muy similar al original y en la grafica


mostramos la relación entre decibelios y bits la cual van de los 3 a 16 bits que
se pidió en el ejercicio

Ingeniería Mecatrónica ETN-1015


Procesamiento de señales

La gráfica es:

2. Graficar y escuchar el sonido original comparado con las gráficas de los sonidos
cuantificados de 3, 8 y 12 bits.
Para este punto utilizaremos el siguiente script en Matlab:
load chirp
m1=3; m2=8; m3=12;
xmin = min(y);
xmax = max(y);
L1 = 2^(m1); L2 = 2^(m2); L3 = 2^(m3);
delta1 = (xmax-xmin)/L1; delta2 = (xmax-xmin)/L2; delta3 = (xmax-
xmin)/L3;
i1 = round((y-xmin)/delta1); i2 = round((y-xmin)/delta2); i3 =
round((y-xmin)/delta3);
xq1 = xmin + (i1*delta1); xq2 = xmin + (i2*delta2); xq3 = xmin +
(i3*delta3);
subplot(4,1,1); plot(y)
title('Original');
subplot(4,1,2); plot(xq1)
title('Cuantificado 3 bits');
subplot(4,1,3); plot(xq2)
title('Cuantificado 8 bits');
subplot(4,1,4); plot(xq3)
title('Cuantificado 12 bits');
sound(y); pause
sound(xq1); pause
sound(xq2); pause
sound(xq3);

Ingeniería Mecatrónica ETN-1015


Procesamiento de señales

Obtenemos los siguientes datos y graficas:

Podemos oír la diferencia entre estos y rápidamente podemos concluir que


cuantos menos bits tenga la cuantificación vamos a notar la diferencia ya que el
sonido se escucha de forma errónea en otras palabras se oye mal mientras que
los que tenían mayor cantidad de bits su diferencia con el original era ya casi
despreciable podríamos decir que se oían casi igual (muy similar)

Ingeniería Mecatrónica ETN-1015

También podría gustarte