Universidad Nacional de San Agustı́n de Arequipa
Laboratorio de Procesamiento Digital de Señales
2020–A
Laboratorio 2 y 3
Presentación de tareas: Por favor envı́e sus soluciones por aula virtual. Cree un único
archivo .pdf que contenga todas sus derivaciones analı́ticas, diagramas y código de Matlab.
Problema 1:
Considere el siguiente sistema para el procesamiento en tiempo discreto de la señal de
entrada de tiempo continuo gc (t).
C-T Ideal D-T Ideal
gc (t) LTI xc (t) x[n] LTI y[n] yc (t)
-
Sistema
- C/D -
Sistema
- D/C -
Haa (jΩ) Conv. H1 (ejω ) Conv.
6 6
T T
Figure 1: Diagrama de bloques del sistema
La señal de entrada de tiempo continuo para el sistema general es de la forma gc (t) =
fc (t) + ec (t) donde fc (t) se considera como componente de señal y ec (t) se considera como
componete de ruido aditivo. La transformada de Fourier de fc (t) y ec (t) son los siguientes:
6Fc (jΩ) 6Ec (jΩ)
A
B
- -
−400π 400π Ω −400π 400π Ω
Figure 2: Transformada de Fourier de las componentes de la señal de entrada.
Como la señal de entrada total gc (t) no tiene una transformada de Fourier limitada en banda,
se usa un filtro anti-aliasing de tiempo continuo de fase cero para combatir la distorsión de
aliasing. Su respuesta de frecuencia es:
(a) Si en la Figura 1, la tasa de muestreo es 2π/T = 1600π, y el sistema de tiempo discreto
tiene respuesta de frecuencia
jω 1 |ω| < π/2
H1 (e ) =
0 π/2 < |ω| ≤ π
Laboratorio 2 y 3 2
1 − |Ω|/(800π) |Ω| < 800π
6Haa (jΩ) =
0 |Ω| > 800π
1
HH
HH
H
HH
HH
-
−800π −400π 400π 800π Ω
Figure 3: Respuesta de frecuencia del filtro anti-aliasing.
Bosqueje la transformada de Fourier de la señal de salida de tiempo continuo para la
entrada cuya transformación de Fourier se define en la Figura 2.
(b) Si la frecuencia de muestreo es 2π/T = 1600π, determine la magnitud y la fase de
H1 (ejω ) (la respuesta de frecuencia del sistema de tiempo discreto) para que la salida
de el sistema en la Figura 1 sea yc (t) = fc (t − 0.1). Puede usar cualquier combinación
de ecuaciones o gráficas cuidadosamente etiquetadas para expresar su respuesta.
(c) Resulta que dado que solo estamos interesados en obtener fc (t) en la salida, podemos
usar una tasa de muestreo más baja que 2π/T = 1600π mientras todavı́a usamos el
filtro anti-aliasing en la Figura 3. Determine la frecuencia de muestreo mı́nima que
evitará la distorsión de aliasing de Fc (jΩ) y determine la respuesta de frecuencia del
filtro H1 (ejω ) que se puede usar para que yc (t) = fc (t) en la salida del sistema en la
Figura 1.
(d) Ahora considere el siguiente sistema, donde 2π/T = 1600π, y la señal de entrada se
define en la Figura 2 y el filtro anti-aliasing se muestra en la Figura 3.
C-T Ideal D-T LTI
gc (t) LTI xc (t) x[n] v[n] y[n]
-
Sistema
- C/D - ↑3 - Sistema -
Haa (jΩ) Conv. H2 (ejω )
6
T
Figure 4: Sistema de filtrado e interpolación.
Donde
x[n/3] n = 0, ±3, ±6, . . .
v[n] =
0 otro caso
¿Cómo deberı́a ser H2 (ejω ) si se desea que y[n] = fc (nT /3)?
Laboratorio 2 y 3 3
Problema 2:
Considere el siguiente sistema para el procesamiento en tiempo discreto de la señal de
tiempo continuo xc (t).
xc (t) x[n] xe [n] ye [n] yd [n] yc (t)
C-to-D 3 H(ejω ) 2 D-to-C
T1 T2
Suponga que la señal de entrada tiene una transformada de Fourier de tiempo continuo
con banda limitada tal que Xc (jΩ) = 0 para |Ω| ≥ 2π(2000).
(a) Tenga en cuenta que los perı́odos de muestreo T1 y T2 no se pueden elegir de forma
independiente si deseamos mantener una escala de tiempo constante entre la entrada
y la salida. Calcular la relación que se requiere entre T2 y T1 .
(b) Determine el valor máximo de T2 (equivalente a la tasa de muestreo mı́nimo fs2 = 1/T2 )
de modo que no pueda producirse un aliasing en el muestreo en la entrada o en el
procesamiento y reconstrucción de la salida del sistema. También determine el valor
correspondiente de T1 .
(c) Para los valores de T2 y T1 determinados en la parte (b), Dibuje la respuesta de frecuencia
requerida H(ejω ) de modo que yc (t) = xc (t).
(d) Para los valores de T2 y T1 determinados en la parte (b), determine la respuesta en
frecuencia H(ejω ) de modo que yc (t) = 2xc (t − 4T1 ).
(e) Para los valores de T2 y T1 determinados en la parte (b), determine la respuesta en
frecuencia H(ejω ) de modo que la transformada de Fourier de tiempo continuo de la
salida, satisfaga la condición
0 |Ω| ≤ 2π(500)
Yc (jΩ) = X c (jΩ) 2π(500) < |Ω| < 2π(1500)
0 |Ω| ≥ 2π(1500).
Graficar su respuesta.
(f) Para los valores de T2 determinados en la parte (b), determine (dar una ecuación) la
respuesta en frecuencia H(ejω ) de modo que
dxc (t)
yc (t) = .
dt
Laboratorio 2 y 3 4
Problema 3:
Se nos da una señal determinista x[n]. Deseamos calcular la función determinista de
autocorrelación (ACF) de una señal interpolada xi [n] como en el siguiente diagrama de
bloques donde H1 (ejω ) es paso bajo ideal con ganancia L y frecuencia de corte ±π/L. El
x[n] xe [n] Ideal xi [n] φ1 [m]
lowpass Compute
L
H1 (ejω ) ACF
cuadro etiquetado como “Compute ACF” calcula la función de autocorrelación determinista
de su entrada:
∞
X
φ1 [m] = xi [m + n]xi [n] (Suponga que esta suma infinita existe)
n=−∞
(a) Un estudiante sugiere que podemos lograr lo mismo con el siguiente sistema:
x[n] φ2 [m] φ2e [m] Ideal φ3 [m]
Compute lowpass
L
ACF H2 (ejω )
Tenga en cuenta que en este diagrama el ACF φ2 [m] se trata como una secuencia más
que se puede muestrear y filtrar. Especifique la ganancia y la frecuencia de corte del
filtro paso bajo ideal H2 (ejω ) que realizará la tarea de garantizar φ3 [m] = φ1 [m].
(b) Ahora, otro estudiante dice que el siguiente sistema también funciona.
x[n] xe [n] φ4 [m] Ideal φ5 [m]
Compute lowpass
L
ACF H3 (ejω )
¿Tiene razón el segundo estudiante? es decir, es φ5 [m] = φ1 [m]? ¿Si no, porque no?
Si es ası́, ¿cómo debe establecerse la ganancia y el lı́mite de H3 (ejω )?
Laboratorio 2 y 3 5
Problema 4: Cuantización y conformación de ruido de cuantización
En este problema, usted escuchará cómo el ruido de cuantificación afecta las señales
de voz y cómo podemos usar la configuración del ruido para minimizar los efectos de la
cuantización aproximada.
En DUTIC, descargue el scritpt de Matlab cuantización noise shaping template.m y
el archivo de audio speech [Link]. El script quantization noise shaping template.m
carga la señal de voz del archivo speech [Link], para que pueda usarla en sus simulaciones.
El discurso en speech [Link] es de alguien que dice la frase “La transformada discreta de
Fourier de una señal de valor real es simétrica conjugada ”.
Parte 1: Implementando un cuantificador
(a) Escriba una función quantizer con la siguiente llamada:
[xq, e] = quantizer(x, B, range lims),
donde x es la señal de entrada al cuantificador, xq es la señal cuantificada y e=x-xq
es el error de cuantización. B es el número de bits de resolución del cuantificador, y
range lims es un vector 1 × 2 que define los lı́mites de rango del cuantificador. En este
ejercicio, la señal de voz varı́a de −1 a +1. Por lo tanto, range lims = [-1, 1]. Tenga
en cuenta que el rango dinámico del cuantificador es simplemente range lims(2) -
range lims(1).
Consejos:
Puede usar la función Matlab quantiz para realizar la cuantización. Deberá usar
B y range lims para calcular las particiones y el codebook utilizados por quantiz.
Depende de usted elegir si su cuantificador será de banda media o media altura.
Cualquiera de los dos funcionará bien.
Para verificar su implementación, puede ver si el error de cuantización e es aprox-
imadamente cero y si su histograma se asemeja a una señal distribuida uniforme-
mente.
(b) Use su función para cuantificar la señal de voz suponiendo una resolución de B = 4 bits.
Use la función sound(xq, Fs) para reproducir la señal de voz cuantificada. En clases
supusimos que el ruido de cuantización es blanco, grafique la función de autocorrelación
empı́rica de e[n]. ¿Cuál es la potencia promedio del ruido de cuantificación? Repita
sus cálculos para B = 10.
Consejos: Puede usar la función de Matlab xcorr(e, e, maxLag, ‘unbiased’) para
obtener la función de autocorrelación empı́rica, y la función stem para graficarla.
Parte 2: Formación de ruido sin sobremuestreo
Para simplificar las cosas, no implementaremos el ciclo de retroalimentación (Figura 5
a) necesario para lograr la conformación del ruido de cuantización. En su lugar, utilizaremos
la superposición para tratar la señal y el ruido de cuantización por separado, como se ilustra
en la Figura 5 b). En este sistema equivalente, la señal x[n] no se altera, pero el ruido de
cuantización se filtra por H(z). El ruido de cuantificación e[n] será el ruido de cuantificación
que obtuvo llamando a su función quantizer en la señal de entrada x[n].
Laboratorio 2 y 3 6
e[n]
xc (t) + xQ [n]
x[n] + +
C-to-D + H(z) +
−
1
T
= 22.05 kHz
z −1
(a) Diagrama de bloques de conformación de ruido en convertidores analógico a digital.
x[n] xQ [n]
+
e[n]
H(z)
(b) Bloque equivalente obtenido mediante la aplicación de superposición en el diagrama de la Figura
5 a. La señal no se ve afectada, mientras que el ruido de cuantización se filtra por H(z)
Figure 5: Diagramas de bloques para la formación de ruido sin sobremuestreo.
Como se discutió en clase, la conformación del ruido solo puede funcionar bien cuando
el sobremuestreo es lo suficientemente alto, de lo contrario, el ruido aliasing seguirá cayendo
en la banda de señal. En este primer sistema, suponemos que no hay sobremuestreo. La
grabación de audio se realiza a 22.05 kHz, y suponemos que corresponde a la velocidad de
Nyquist de esa señal.
(c) Implemente el sistema de la Figura 5 b) para calcular la nueva señal cuantizada xQ [n]
después de la configuración del ruido. Suponga que el cuantificador tenı́a B = 4 bits de
resolución y que el ruido estaba formado por H(z) = 1−z −1 . Use la función sound(xq,
Fs) para reproducir la nueva señal cuantizada.
Consejos: Para filtrar el ruido de cuantización, puede usar la función filter(b, a,
e). El vector e es el vector que obtuvo usando su función quantizer.
Parte 3: Formación de ruido con sobremuestreo
Ahora supondremos que la señal de voz se grabó utilizando el convertidor analógico a
digital ilustrado en la Figura 6 a). Tenga en cuenta que en este sistema, la señal se muestrea
de C-a-D con una frecuencia de muestreo de 22.05 × M kHz (M veces mayor que antes).
Todo el procesamiento de modelado de ruido se realiza a esta nueva velocidad. Luego, al
final, la señal se diezma en M , de modo que xQ [n] tiene la misma tasa del sistema anterior.
El sistema equivalente se muestra en la Figura 6 b). Tenga en cuenta que el componente
de señal no se ve afectado y es el mismo que antes (es decir, la señal de voz en tiempo discreto
a una tasa de 22.05 kHz). En cuanto al ruido de cuantización, usaremos el mismo ruido que
antes (el ruido que obtuvo usando su función quantizer). Sin embargo, antes de modelar
el ruido, debemos aumentar la muestra del ruido en M .
(d) Implemente el sistema de la Figura 6 b) para calcular la nueva señal cuantizada xQ [n]
después de la configuración del ruido. Suponga que tenemos las mismas condiciones
Laboratorio 2 y 3 7
e[n]
xc (t) + xQ [n]
+ +
C-to-D + H(z) + Haa (z) M
−
M
T
= 22.05M kHz Decimator
z −1
(a) Diagrama de bloques de conformación de ruido en convertidores analógico a digital sobre-
muestreados.
x[n] xQ [n]
+
e[n]
M H(z) Haa (z) M
Decimator
(b) Diagrama de bloques equivalente del sistema de conformación de ruido de primer orden con
factor de sobremuestreo M .
Figure 6: Diagramas de bloques para la formación de ruido con sobremuestreo.
que antes: B = 4 y H(z) = 1 − z −1 . Suponga además que el factor de sobremuestreo
es M = 3.
Consejos:
Use la función de Matlab upsample(e, M) para implementar muestreo ascen-
dente.
Para diezmar, es posible utilizar la función de Matlab dicimate(E, M). Esta
función ya incluye el prefiltrado de suavizado Haa (z). Por defecto, decimate(e,
M) usa como filtro anti-aliasing el filtro Chebyshev Tipo I IIR de orden 8.
Nota: Para calcular la nueva señal cuantificada después de la conformación del ruido,
la ruta de entrada en la Fig. 6b se multiplica por 1/M para tener en cuenta el hecho
de que en la Fig. 6a la señal también se diezma. Cualquier solución que no corrija la
señal de entrada por un factor 1/M (dividiéndola por el factor de sobremuestreo) no
será aceptable.
(e) Calcular la potencia de ruido de cuantificación después de diezmar. ¿En cuánto se
redujo la potencia en comparación con el ruido de cuantificación original? Exprese
esta reducción en dB e indique cuántos bits adicionales de resolución serı́an necesarios
para lograr la misma mejora.