Sunteți pe pagina 1din 30

PROCESAMIENTO DE SEALES DIGITALES

INSTITUTO TECNOLOGICO DE
CANCUN

Ku Moo Jose Alberto


Morales Cardona Justo Miguel
Martinez Solis Itzel

Filtros digitales

Sistemas usados para modificar el espectro de


una seal, mediante el uso de hardware digital
como bloque funcional bsico. Se tienen
muchas aplicaciones tales como compresin de
datos, procesamiento de seales biomdicas,
procesamiento digital de audio, procesamiento
de voz y de imgenes

Caracterstica Bsicas

Ventajas Filtros Digitales

Pueden tener caractersticas no posibles


en los filtros anlogos, por ejemplo la
respuesta en fase lineal.

Su desempeo no depende
condiciones ambientales.

La respuesta en frecuencia puede ser


ajustada
por
software.
Filtros
adaptativos.

Varios canales de entrada pueden ser


aplicados al mismo filtro. Multiplexacin.

de

las

Ventajas Filtros Digitales

Los datos filtrados y no filtrados pueden


ser almacenados para su uso futuro.

Pueden disearse
frecuencias.

Pueden trabajar en un amplio rango de


frecuencias
solo
cambiando
la
frecuencia de muestreo.

para

muy

bajas

Filtros Ideales
Pasabajas

Pasaaltas

Pasabanda

La ganancia es 1 y la respuesta en fase es lineal:


() = -no

Filtros FIR

Los filtros FIR tienen respuesta en fase lineal.


Importante en transmisin de datos, biomedicina,
audio, imgenes.

Al ser los FIR implementados por ecuaciones no


recursivas siempre son estables.

FIR requiere mas coeficientes, entonces mayor


memoria, tiempo de procesamiento.

En general FIR
algebraicamente.

es

mas

difcil

de

sintetizar

Ecuacin en Diferencias
Filtros FIR:
h(k) = bk

y ( n)

N 1

h( k ) x ( n k )
k 0

H ( z)

N 1

k
h
(
k
)
z

k 0

Pasos de diseo

Especificacin de requerimientos.

Clculo de coeficientes.

Realizacin.

Anlisis de los efectos de palabra finita y


anlisis de desempeo.

Pasos Especificacin de
Requerimientos

p: desviacin banda de paso


s: desviacin banda de rechazo
fp: frecuencia en el borde de banda pasante
fs: frecuencia en el borde de banda rechazo

Pasos Clculo de
coeficientes
Se

calculan h(k), k=0,1N-1 coeficientes. N es la longitud del


filtro.
Filtros FIR
Mtodo

de ventanas: simple, pero sin control sobre los


parmetros.
Frecuencia

de muestreo: permite implementar FIR recursivos,


computacionalmente mas eficientes.
El

mtodo ptimo es actualmente muy empleado.

Pasos Anlisis nmero


de bits

Cuantizacin de la seal I/O.

Cuantizacin de los coeficientes

Errores de redondeo en los clculos.

Overflow

Filtros FIR
y ( n)

N 1

h( k ) x ( n k )
k 0

H ( z)

N 1

k
h
(
k
)
z

k 0

Respuesta en fase lineal

Fciles de implementar

El diseo de filtros FIR consiste en obtener los valores


de h(n) que cumplan los requerimientos del filtro:

Ventana

ptimo

Frecuencia de Muestreo

Filtros ideales
Pasabajas:

2 f c sin(nc )
hD (n)
nc

Pasaaltas

hD (n) hlpf (n) /(1)

Pasabanda

2 f 2 sin(n2 ) 2 f1 sin( n1 )
hD (n)

n2
n1

Rechazabanda

2 f1 sin( n1 ) 2 f 2 sin(n2 )
hD (n)

n1
n2

Filtros ideales
De la respuesta al impulso puede observarse que
los filtros no son realizables al no ser causales.
Adems los filtros no son FIR por tener una
respuesta infinita al impulso.
h(n) debe truncarse en un valor M. Pero aparece el
fenmeno de Gibbs.

Filtros ideales

Fenmeno de Gibb: Al disminuir el nmero de


armnicos para describir una seal cuadrada
=> aparecen oscilaciones alrededor de la
frecuencia de corte.

Para no truncar abruptamente, primero se


multiplica la respuesta ideal al impulso h(n) por
una funcin ventana w(n) de duracin finita.

Mtodo de la ventana
H(): transformada de Fourier de h(n).
Si se conoce H() puede obtenerse h(n).
hD(n)
HD()
1
t

-c

H() = 1

||<c

Tabla comparativa
ventanas
Ventana

Rectangular 0.9/N

Riple
Mx.
pasante
atenua.
dB
rechazo dB

w(n)

0.7416

21

Hamming

3.1/N

0.0546

44

0.5+0.5cos(2n/N)

Hanning

3.3/N

0.0194

53

0.54+0.46cos(2n/N)

Blackman

5.5/N

0.0017

74

0.42+0.5cos[2n/(N-1)]+
0.08cos[4n/(N-1)]

N=

tamao u orden de filtro

1.La

ventana de Blackman tiene una fuerte


atenuacin en parabanda, pero para
alcanzarla necesita una banda de
transicin
mayor.
2.La

ventana de Hanning presenta una


banda de transicin menor, pero de igual
forma su atenuacin en la parabanda es
menor.
3.La

ventana de Hamming es la ms usada


porque se puede obtener una atenuacin
considerable con una banda de transicin
estrecha.

Ejemplo 1
Disear un filtro pasabajas:
-

borde frecuencia de paso 1.5k

Ancho transicin 0.5k

Atenuacin banda de rechazo > 50dB

Frecuencia de muestreo 8k

Ejemplo 1
hD(n) = 2fcsinc(2nfc)
La atenuacin se consigue con
Hamming o Blackman. Por
simplicidad Hamming.
f = 0.5k/8k = 0.0625
f = 3.3/N
N = 3.3/f
N = 3.3/0.0625
N = 52.8
N = 53, nmero de coeficientes

Ejemplo 1
w(n) = 0.54+0.46cos(2n/53), -26<n<26
Se selecciona fc en la mitad de la banda de
transicin:
fc = fc + f
fc = (1.5k + 0.25k)/8k = 1.75k/8k = 0.21875

Ejemplo 1
Como h(n) es simtrico se calculan solo h(0)
h(26)
Para n=0
hD(0) = 2fcsinc(2nfc) = 0.4375
w(0) = 0.54+0.46cos(2n/53) = 1
h(0) = hD(0)w(0) = 0.4375
h(1) = hD(1)w(1) = 0.31119
h(2) = hD(2)w(2) = 0.06012
h(26) = hD(26)w(26) = 0.000913

Ejemplo 1
Clculo de los coeficientes en Matlab:
n=-26:26;
fc= 0.2187;
hd = 2*fc*sinc(2*n*fc);
w = 0.54+0.46*cos(2*pi*n/53);
h=hd.*w;
[Hf,w]=freqz(h,1,128);

Ejemplo1
fvtool(h,1); % Filter visualization tool

Ejemplo 1
n=-26:26;
fc= 0.2187;
hd = 2*fc*sinc(2*n*fc);
h = hd.*window(@hann,53);
fvtool(h,1)

Ventana de Kaiser
Las ventanas anteriores tienen caractersticas fijas.
La ventana de Kaiser tiene un parmetro para el
control del riple . Pueden alcanzarse
atenuaciones muy altas.
= 0: ventana rectngular
= 5.44: similar a Hamming
= 0, si A 21dB
= 0.5842(A-21)0.4+0.07886(A-21)
50dB
= 0.1102(A-8.7)si A 50dB

N (A - 7.95)/(14.36f)

si 21 < A<

Ejemplo 2
Banda pasante: 150-250Hz
Ancho de transicin: 50Hz
Atenuacin banda rechazo: 60dB
Frecuencia de muestreo: 1k

Ejemplo 2
Kaiser:
N(A-7.95)/(14.36f)
=(60-7.95)/(14.36*50/1000)=72.49
N=73.
=0.1102(A-8.7)=0.1102(60-8.7)=5.65
fc1= (150-25)/1000 = 0.125
fc2= (150+25)/1000 = 0.175

Ejemplo 2
Clculo en Matlab:
n=-36:36;
f1=0.275;
f2=0.125;
B=5.65;
hd = 2*f1*sinc(2*n*f1) - 2*f2*sinc(2*n*f2);
w = window(@kaiser,73,5.65);
h=hd.*w;
[Hf,w]=freqz(h,1,128);
subplot(2,1,1);
plot(w/(2*pi),20*log10(abs(Hf)));grid on;
subplot(2,1,2);
plot(w/(2*pi),unwrap(angle(Hf)));grid on;