Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
LABORATORIO NO. 2
CUANTIZACIÓN
Introducción:
La cuantización se refiere al proceso en el que una señal analógica se aproxima a una señal que puede tomar
solamente un número finito de valores. La señal digital resultado de la cuantificación es diferente a la señal
analógica que la originó debido a lo que se conoce como error de cuantificación. El error de cuantificación se
interpreta como un ruido añadido a la señal tras el proceso de decodificación digital. La cuantificación no
tendrá ninguna consecuencia si el ruido añadido con la cuantificación se mantiene por debajo del ruido
presente en la señal analógica original
Objetivo Generales:
Analizar la relación entre el ruido de cuantización, la frecuencia de muestreo y el paso de cuantización.
Material y Equipo:
Computadora con MATLAB
Procedimiento:
Sea xq[n] la señal obtenida al cuantificar x[n]=sen (2fn). La potencia de error de cuantificación Pq se
define como:
1. Para f = 1/50 y M = 200, escriba un programa para cuantificar la señal usando truncamiento, con 64,
128 y 256 niveles de cuantificación. En cada caso dibuje las señales x[n], xq[n] y e[n] y calcule la
SQNR correspondiente.
2. Repita el apartado a) usando redondeo en vez de truncamiento.
3. Comente los resultados obtenidos en los apartados a) y b).
4. Compare los valores de SQNR medidos con los obtenidos teóricamente, usando la fórmula dada en
clase. Comente las similitudes y diferencias.
Resultados:
Señal que se utilizara en el laboratorio para realizar la cuantización de 64, 128 y 256.
Gráfica No. 1
Gráfica No. 2
Señal Cuantizada por Truncamiento de 64 bits xq[n]
Gráfica No. 3
Señal de Error por Truncamiento de 64 bits e[n]
64 Niveles de Cuantización por Redondeo
Gráfica No. 4
Señal Cuantizada por Redondeo de 64 bits xq[n]
Gráfica No. 5
Señal de Error por Redondeo de 64 bits e[n]
128 Niveles de Cuantización por Truncamiento
Gráfica No. 6
Señal Cuantizada por Truncamiento de 128 bits xq[n]
Gráfica No. 7
Señal de Error por Truncamiento de 128 bits e[n]
128 Niveles de Cuantización por Redondeo
Gráfica No. 8
Señal Cuantizada por Redondeo de 128 bits xq[n]
Gráfica No. 9
Señal de Error por Redondeo de 128 bits e[n]
256 Niveles de Cuantización por Truncamiento
Gráfica No. 10
Señal Cuantizada por Truncamiento de 128 bits xq[n]
Gráfica No. 11
Señal de Error por Truncamiento de 256 bits e[n]
256 Niveles de Cuantización por Redondeo
Gráfica No. 12
Señal Cuantizada por Redondeo de 256 bits xq[n]
Gráfica No. 13
Señal de Error por Redondeo de 256 bits e[n]
Razón Señal a Ruido
Para señales sinusoidales se sacan las potencias, este cálculo lo realizamos a partir de la siguiente ecuación:
𝑃𝑥
𝑆𝑄𝑁𝑅 = 10 𝑙𝑜𝑔 𝑃𝑞
(Matlab)
Tabla No. 1
Discusión:
Conclusión:
Anexo
%% a parte 1 64 bits
clear; clc;
n=0:1:200; %M=200
f=1/50;
s1= sin(2*pi*f*n);
Xq1=floor(s1*32)/32; %señal cuantizada por truncamiento a 64 (32 hacia arriba y
abajo)
eq1= s1-Xq1; %error por truncamiento
Xr1=round(s1*32)/32; %señal cuantizada por redondep a 64 (32 hacia arriba y
abajo)
er1= s1-Xr1; %error por redondeo
figure
figure
stem (n, Xq1, '-b', 's'); xlabel('Frecuencia'); ylabel('Amplitud');
title('Señal Cuantizada por Truncamiento a 64 bits'); grid minor;
figure
stem (n, eq1, '-k', 's'); xlabel('Frecuencia'); ylabel('Amplitud');
title('Señal de Error por Truncamiento de 64 bits'); grid minor;
figure
stem (n, Xr1, '-b', 's'); xlabel('Frecuencia'); ylabel('Amplitud');
title('Señal Cuantizada por Redondeo a 64 bits'); grid minor;
figure
stem (n, er1, '-k', 's'); xlabel('Frecuencia'); ylabel('Amplitud');
title('Señal de Error por Redondeo de 64 bits'); grid minor;
%sqnr (dB)
Z1=sum(s1.^2); Y1=sum(eq1.^2);
Sq1=10*log10((Z1)/(Y1)); %Error por truncamiento 64bits
Z11=sum(s1.^2); Y11=sum(er1.^2);
Sq11=10*log10((Z11)/(Y11));%Error por redondeo 64bits
figure
stem (n, Xq1, '-b', 's'); xlabel('Frecuencia'); ylabel('Amplitud');
title('Señal Cuantizada por Truncamiento a 128 bits'); grid minor;
figure
stem (n, eq1, '-k', 's'); xlabel('Frecuencia'); ylabel('Amplitud');
title('Señal de Error por Truncamiento de 128 bits'); grid minor;
figure
stem (n, Xr1, '-b', 's'); xlabel('Frecuencia'); ylabel('Amplitud');
title('Señal Cuantizada por Redondeo a 128 bits'); grid minor;
figure
stem (n, er1, '-k', 's'); xlabel('Frecuencia'); ylabel('Amplitud');
title('Señal de Error por Redondeo de 128 bits'); grid minor;
%sqnr (dB)
Z1=sum(s1.^2); Y1=sum(eq1.^2);
Sq1=10*log10((Z1)/(Y1)); %Error por truncamiento 128bits
Z11=sum(s1.^2); Y11=sum(er1.^2);
Sq11=10*log10((Z11)/(Y11));%Error por redondeo 128bits
figure
stem (n, Xq1, '-b', 's'); xlabel('Frecuencia'); ylabel('Amplitud');
title('Señal Cuantizada por Truncamiento a 256 bits'); grid minor;
figure
stem (n, eq1, '-k', 's'); xlabel('Frecuencia'); ylabel('Amplitud');
title('Señal de Error por Truncamiento de 256 bits'); grid minor;
figure
stem (n, Xr1, '-b', 's'); xlabel('Frecuencia'); ylabel('Amplitud');
title('Señal Cuantizada por Redondeo a 256 bits'); grid minor;
figure
stem (n, er1, '-k', 's'); xlabel('Frecuencia'); ylabel('Amplitud');
title('Señal de Error por Redondeo de 256 bits'); grid minor;
%sqnr (dB)
Z1=sum(s1.^2); Y1=sum(eq1.^2);
Sq1=10*log10((Z1)/(Y1)); %Error por truncamiento 256bits
Z11=sum(s1.^2); Y11=sum(er1.^2);
Sq11=10*log10((Z11)/(Y11));%Error por redondeo 256bits