ETN1015 BYMA BPKP Lab04
ETN1015 BYMA BPKP Lab04
ETN1015 BYMA BPKP Lab04
Laboratorio 4
SISTEMAS DIGITALES
ETN-1015
Reporte a entregar
Ejercicio de laboratorio 1
𝑥 (𝑡 ) = 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)
𝑆𝑁𝑅𝑑𝐵 = 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);
Ejercicio de laboratorio 2
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);