DSP Practica3 2013-3
DSP Practica3 2013-3
DSP Practica3 2013-3
PRACTICA N° 3
PRÁCTICA 3.1 ESTUDIO DE LAS PROPIEDADES DE LOS FILTROS FIR.
y (n ) = x (n ) + 2 x (n − 1) + x (n − 2 ) + 2x (n − 3) + x (n − 4 )
y (n ) = x (n) − x (n − 5)
y (n ) = x (n) + 6x (n − 1) + 11x (n − 2 ) + 6x (n − 4 )
Comprobar,
a)Que se trata de filtros FIR.
b)Analiza la respuesta impulsional (impz).
c)Estudia el retardo de grupo (grpdelay)
2.Diseñar un filtro FIR pasa-baja por el método de ventanas (fir1) con estas
características:
Fm=20kHz, Fc=5kHz, N=20;
b) Diseña ahora el filtro con los mismos parámetros pero empleando la ventana de
Kaiser. Utiliza la función kaiser(N,β) de Matlab para generar las muestras de dicha
ventana. Modifica el valor de la atenuación de la banda no pasante a intervalos de
20dB (Atenuación máxima<90dB): A={10,30,50,70}dB.
c) Repite el diseño del apartado anterior pero fijando la atenuación a 60dB. Para estimar
los parámetros de la ventana y el filtro emplea ahora la finción kaiserord. Analiza
cómo se modifica el orden del filtro en función de la anchura de la banda de
transición (Utiliza como valor máximo de la banda de transición 2 kHz):
∆f={0.5,1,1.5,2}kHz.
0 A ≤ 21
L1
3. Veamos cómo se modifica el orden de un filtro diseñado con la función remez en
función de la anchura de la banda de transición y rizado en la banda pasante y no
pasante. Para ello utilizaremos la función remezord. Las características del filtro
son: Fm=1000Hz, Fp=200Hz.
a) Variación de N con el ancho de banda de transición: Fs=210:10:300 Hz.
Rp=3dB, Rs=60dB.
b) Variación de N con la atenuación de la banda pasante: BT=20Hz Rs=60dB,
Rp=1:1:5 dB.
c) Variación de N con la atenuación de la banda eliminada: BT=20Hz Rp=3dB
Rs=20:10:100;
Mostrar en cada caso una gráfica de N en función del parámetro variable.
4. Diseñe mediante el método del muestreo en frecuencias un filtro FIR de fase lineal
de Tipo I (simétricos, número de términos impar, siendo M+1 es el número de
muestras de la respuesta en frecuencia y considerando que la primera muestra está
en ω=0) con las especificaciones siguientes:
a) Filtro ideal.
b) Transición entre bandas lineal de 100Hz de anchura.
Obtenga las respuesta impulsional y respuesta en frecuencia de los filtros FIR con los
dos tipos de bandas de transición fijando el módulo de la respuesta en frecuencia en
N=41 puntos repartidos entre 0 y 2π.
(Nota: Recuerde que siempre debe aproximar a un número impar de términos siendo
el número de coeficientes del filtro N = 2·M + 1)
L2
PRÁCTICA 3.2 ESTUDIO DE LAS PROPIEDADES DE LOS FILTROS IIR.
− Para estimar el orden y frecuencia de corte del filtro en cada caso se emplean las
funciones buttord, cheb1ord, cheb2ord y ellipord.
− Los prototipos analógicos (con frecuencia de corte unidad) se obtienen con:
butterworth (buttap), chebyshev tipo I y II (cheb1ap, cheb2ap) y elípticos (ellipap).
− Los métodos de transformación que emplearemos son el impulso invariante
(impinvar) y la transformación bilineal (bilinear).
− Los filtros digitales también se pueden obtener directamente con las funciones
butter, cheby1, cheby2 y ellip, que diseñan a partir del prototipo analógico
empleando el método de la transformación bilineal y del orden del filtro digital.
3. Considerando el filtro del apartado anterior, ver cómo se modifica el orden de los
filtros digitales obtenidos a partir de los prototipos de butterworth, chebyshev I y II y
elíptico al variar los valores de Rp y Rs.
− Rs = 40 dB y Rp = 0.1:0.1:4 dB
− Rp = 2 dB y Rs = 10:1:100 dB
4. Compara los órdenes obtenidos para filtros FIR (equiripple) e IIR (butterworth,
chebyshev I y II y elíptico) de las mismas características (frecuencia de corte,
atenuación, anchura de la banda de transición, etc): Filtro pasa Baja Fc=200Hz,
BT=100Hz, Rp=2dB, Rs=40 dB Frecuencia de muestreo 1000Hz).
Representa la respuesta en frecuencia para cada caso.
L3
PRÁCTICA 3.3 ESTRUCTURAS DE FILTROS DIGITALES
1. Considera un sistema LTI cuya función de transferencia viene dada por la siguiente
expresión:
4
( ) 9
1 + z −1 1 + z −1 + z − 2
H ( z) = 3 8
4 −1 8 − 2 4 −1 10 − 2
1 − z + z 1 − z + z
3 9 5 11
Utilizando las funciones zp2sos, sos2tf y residuez dibuja el diagrama de bloques para
la implementación de este sistema de las siguientes formas:
a) Forma directa I.
b) Forma directa II.
c) Realización en cascada utilizando etapas de primer y segundo orden
implementadas mediante la forma directa II
d) Realización en paralelo con etapas implementadas mediante la forma
directa II traspuesta.
2. Escribe una función a la que se le pasen los coeficientes de un filtro IIR en forma
directa y una señal de entrada X, y realice el filtrado de la misma como etapas de
segundo orden en cascada (para el filtrado de cada una de estas etapas se puede utilizar
la función filter).
1 1 1
y(n ) = x (n ) − 2 ⋅ x (n − 1) + x (n − 2) + y(n − 1) − y(n − 2) − y(n − 3) + y(n − 4)
4 4 8
L4
Práctica Opcional
PRÁCTICA MODELIZACIÓN DE LA SEÑAL DE VOZ
En esta práctica vamos a aplicar distintas técnicas del filtrado digital de señales en el
tratamiento de señales de voz: preprocesado, modelado, codificación y síntesis. Las
señales se leerán y reproducirán empleando las funciones wavread y sound.
1. Las señales de voz tienen un espectro que decae en altas frecuencias. En algunas
aplicaciones resulta deseable que esta caída se compense mediante pre-énfasis.
2. Vamos a modelar la voz como la salida de un sistema lineal cuya entrada es ruido
blanco o un tren de impulsos cuasi-periódico. Este sistema, aunque es variante-
temporal, Hd(z,t), varia muy lentamente con el tiempo y puede considerarse
invariante temporal (LTI) durante periodos cortos de tiempo, Hd(z).
Sistema Lineal
E(n) Variante-Temporal X(n)
Excitación Señal de voz
Hd(z) 1/H(z) + −
δ(n) hd(n) ≡ x(n) y(n) δ(n)
Minimización de la suma
de errores cuadráticos
Idealmente, si y(n) = δ(n), tenemos que Hd(z)/H(z) = 1, por lo que H(z) modela
perfectamente a nuestro sistema. El problema de obtener el modelo del sistema
Hd(z) es equivalente a obtener los coeficientes del filtro FIR que predeciría la señal
de voz, x(n), que queremos modelar, x(n) = – a1·x(n-1) – a2·x(n-2) – ... – ap·x(n-p).
En ambos casos se resuelve el mismo problema de minimización ε (minimización de
la suma de errores cuadráticos), por lo que emplearemos técnicas de predicción
lineal (LP) para encontrar los coeficientes ak.
L5
- Codificación: Obtener los coeficientes ak del filtro de predicción (lpc) de orden
12 que predicen las muestras de la señal x(n) y modelan el denominador de H(z).
- Comparar la señal original, x(n), y la respuesta impulsional, hd(n), del sistema
modelado, H(z), dibujando en una gráfica sus amplitudes en el dominio temporal
(en segundos), sus señales de autocorrelación (xcorr) y sus espectros (en Hz).
- Comenta la relación entre las dos señales de autocorrelación y el orden de H(z).
- Extra: Comparar los coeficientes que devuelve la función lpc con los obtenidos
con la función levinson y con los obtenidos al resolver el sistema de ecuaciones
a = ℜ-1·r empleando la señal de autocorrelación de x(n), rxx = xcorr(x).
4. Los coeficientes LPC del predictor lineal encontrado se pueden emplear para
sintetizar la señal original a partir de un modelo todo-polos. La respuesta
impulsional del sistema causal todo-polos con los coeficientes de predicción lineal
es una nueva síntesis aproximada de la señal original que presenta la misma señal de
autocorrelación.
- Genera las dos señales prueba de excitación, e(n), del sistema: tren de pulsos (1
pulso equivaldrá a la respuesta impulsional) y ruido blanco.
- Calcula las ganancias G de sistema para que la energía de cada segmento
sintetizado sea proporcional a la del segmento correspondiente de la señal
original.
- Combina todos los segmentos sintetizados para obtener una señal completa,
Y=[y1 y2 ...], compara su amplitud en el dominio temporal (seg.) y escucha el
resultado (sound).
- Calcula el factor de compresión conseguido al codificar la señal con los
coeficientes LPC y el error cuadrático medio entre la señal original y sintética.
L6