Sie sind auf Seite 1von 13

DEPARTAMENTO DE ELECTRONICA

CARRERA DE ELECTRONICA EN CONTROL Y AUTOMATIZACION,


ELECTRONCIA EN TELECOMUNICACIONES.

CIRCUITOS ELECTRICOS II

Informe:

Profesor: Pablo Molina

Tema: FILTRO DIGITAL IIR , FIR EN MATLAB

Realizado por:
CRISTIAN VASCO
EVELYN CHACHALO
BRYAN MOYA

Sangolqui 06 de agosto del 2014

Tema: FILTRO DIGITAL IIR , FIR EN MATLAB


1. Objetivo General:
Implementar un filtro digital para seales de voz

2. Objetivos:
Aplicar los conocimientos sobre filtros, para llevarlos a Matlab y
elaborar un filtro FIR o IIR
Investigar sobre los filtros FIR y los filtros IIR e implementar y realizar
un filtro pasabajos, pasaaltos o pasabandas.
Disear un filtro en Matlab, que nos permita filtrar una seal de voz,
seales de radar, sistemas de control.

3. MARCO TEORICO:
Seales
Una seal analgica es continua, y puede tomar infinitos valores.
Una seal digital es discontinua, y slo puede tomar dos valores o estados:
0 y 1, que pueden ser impulsos elctricos de baja y alta tensin,
interruptores abiertos o cerrados, etc.
Filtros digitales
El filtrado se emplea en el procesamiento digital de seales de diferentes
maneras, por ejemplo, en la eliminacin de ruido indeseable de seales
deseadas, en la conformacin espectral para ecualizacin de canales de
comunicaciones, en la deteccin de seales en radar, sonar y
comunicaciones, en los anlisis espectrales de seales, etc.
En general, un filtro digital es un sistema que recibe de entrada una seal
de tiempo discreto y produce de salida una seal de tiempo discreto, pero
modificada en cierta forma ya sea en magnitud o en frecuencia. Con el
rpido avance en la tecnologa de los circuitos integrados, el desarrollo de
tecnologas digitales hizo que se construyeran sistemas ms verstiles y de
muy bajo costo.
El desarrollo de filtros digitales sigue creciendo da con da, y por ello se
tiene los siguientes ejemplos:
Filtros recursivos y no recursivos
Filtros de abanico
Filtros bidimensionales
Filtros adaptativos
Filtros multidimensionales
Filtros Multitasa

Estos filtros digitales hoy en da, pueden ser implementados en lenguajes


como
MATLAB o C++.

Filtros de respuesta de duracin finita al impulso (FIR)


FIR es un acrnimo en ingls para Finite Impulse Response o Respuesta
finita al impulso. Se trata de un filtro, en el cual si la entrada es una seal
impulso, la salida tendr un nmero finito de trminos no nulos.
Los filtros FIR tienen la gran ventaja de que pueden disearse para ser de
fase lineal, lo cual hace que presenten ciertas propiedades en la simetra de
los coeficientes. Este tipo de filtros tiene especial inters en aplicaciones de
audio.
Estos filtros tienen todos los polos en el origen, por lo que son estables. Los
ceros se presentan en pares de recprocos si el filtro se disea para tener
fase lineal. Una de sus desventajas es de necesitar un orden mayor respecto
a los filtros IIR para cumplir las mismas caractersticas. Esto se traduce en
un mayor gasto computacional.
Mtodos para el diseo de filtros FIR
Hay tres mtodos bsicos para disear este tipo de filtros:
Mtodo de las ventanas. Las ms habituales son:
Ventana rectangular
Ventana de Barlett
Ventana de Von Hann
Ventana de Hamming
Ventana de Blackman
Ventana de Kaiser
Muestreo en frecuencia

Rizado constante (Aproximacin de Chebyshev y algoritmo de intercambio


de Remez).

Filtros de respuesta infinita al impulso (IIR)


IIR es una sigla en ingls para Infinite Impulse Response o Respuesta infinita
al impulso. Se trata de un tipo de filtros digitales en el que, como su nombre
indica, si la entrada es una seal impulso, la salida tendr un nmero
infinito de trminos no nulos, es decir, nunca vuelve al reposo.
Comparacin entre filtros FIR e IIR
La eleccin entre una implementacin FIR e IIR depende de las ventajas
relativas de cada uno de estos dos tipos de filtros.
1. Los filtros FIR se pueden disear para tener una respuesta de fase
estrictamente lineal (distorsin de fase nula), lo que es importante en
muchas aplicaciones, como transmisin de datos, audio digital y
procesamiento de imgenes. La respuesta de fase de filtros IIR no es
lineal, en especial en cercanas de la zona de transicin.
2. Los filtros FIR implementados de forma no recursiva, son
inherentemente estables. En cambio, la estabilidad de los filtros IIR
siempre debe comprobarse, ya que son sistemas realimentados.
3. Los efectos causados por la implementacin con aritmtica de punto
fijo, tales como los errores de cuantizacin de los coeficientes y los
errores por redondeo en las operaciones aritmticas, son mucho ms
severos en los filtros IIR que en los FIR.
4. Para satisfacer unas especificaciones dadas los filtros FIR necesitan
un mayor nmero de coeficientes que los filtros IIR, sobre todo si las
bandas de transicin son estrechas.
En consecuencia, los requerimientos de memoria, el nmero de
operaciones y los tiempos de procesamiento son mayores para los FIR
que para los IIR.
5. Un filtro analgico convencional puede convertirse en un filtro digital
IIR equivalente que satisfaga las especificaciones de diseo de
manera sencilla.
Esto no es posible con filtros FIR pues no tienen una contraparte
analgica.
Sin embargo es ms sencillo sintetizar filtros con respuestas en
frecuencia arbitrarias utilizando filtros FIR
Matlab
Es una herramienta computacional que nos permite realizar desde la grfica
de una seal hasta el filtrado de seales.

Como por ejemplo:


Seal aperidica
>>
>>
>>
>>
>>
>>
>>

F0=400;
A=2;
Fs=8000;
Ts=1/Fs;
t=-0.003:Ts:0.003;
xt=A*sinc(2*F0*t);
stem(t,xt)

Los filtros elementales son los siguientes:

Tipos y Caractersticas de Filtros IIR

Comandos Matlab

Una vez que sabemos las especificaciones del filtro, el primer paso que
debemos de dar ser saber cul es el orden de dicho filtro y cules son sus
coeficientes. Para esto utilizamos MATLAB.
Lo primero que tenemos que averiguar es el orden del filtro, para ello,
hacemos uso por ejemplo de la aproximacin de butterworth y escribiendo
la siguiente funcin en MATLAB:
rp=1;
rs=5;
fp=5000;
fs=6000;
fsim=48000;
wp=2*fp/fsim;
ws=2*fs/fsim;
[N,Wn]=buttord (wp,ws,rp,rs);
En la cual, definimos unas variables con las especificaciones del filtro,
calculamos las frecuencias discretas wp y ws y se las pasamos, junto a las
atenuaciones de la banda de paso y de rechazo, como parmetros a la
funcin buttor, y esta nos devuelve en N el orden del filtro, en nuestro caso
N = 11.
Una vez que sabemos el orden del filtro para una aproximacin en concreta,
solo nos falta por saber los coeficientes del filtro FIR, para ello usamos la
funcin de MATLAB fir2, a la cual se le pasa como parmetros el orden del
filtro, y un vector de puntos de referencias frecuencia les normalizadas y
otro vector con la amplitud de dichas frecuencias, por ejemplo:
Fir2 (11, [0, 0.2, 0.3, 0.8, 1], [1, 1, 1e-5, 1e-5, 1e-5]);
Procesamiento de Audio
Para escuchar un tono de seal en Matlab se utiliza el comando:
soundsc(xt,Fs)
Donde:
xt: Tono a escuchar.
Fs: Frecuencia de muestreo.
Para grabar una seal audible mediante la tarjeta de sonido y un micrfono
se utilizan los siguientes comandos:
r=audiorecorder: Crea un objeto de grabacin.
record(r): Inicio de grabacin.
pause(r) ,stop(r): Pausa y finalizacin.
play(r): Escuchar la grabacin
y=getaudiodata(r): Para obtener la matriz que contiene las muestras de la
seal audible.

Fs=r.SampleRate: Para obtener la frecuencia de muestreo.


Para guardar la seal de audio que se acaba de grabar se utiliza el
comando:
wavwrite(y,Fs,grabacion)

sta es la seal que se puede procesar, estos comandos nos permiten


guardar la seal de la voz analgica en archivo el cual Matlab mediante los
diferentes comandos lo va a guardar y con otros comandos lo vamos a
muestrear.
Para leer un archivo de audio en formato wav que se encuentra en la
carpeta de trabajo de Matlab se utiliza la funcin:
[xt,Fs]=wavread(nombre_de_archivo)
Se guardan las muestras y la frecuencia de muestro en xt y Fs
respectivamente.
>> [xt,Fs]=wavread('tuner1');
Respuesta de Magnitud y Fase de Filtros
Se utilizan los comandos:
[H,F]=freqz(num,den): Por defecto asume 512 puntos equidistantemente
espaciados y el eje de frecuencias es normalizada.
[H,F]=freqz(num,den,n,Fs): Donde se especifica nmero de puntos n y la
frecuencia de muestreo Fs.
[H,F]=freqz(num,den,f,Fs): Donde f es un vector en el que se especifica las
frecuencias particulares en las que se obtendr la respuesta de magnitud y
fase.

Especificaciones Para un Filtro Pasabanda


fstop1: Frecuencia stop 1.
fpass1: Frecuencia pass 1.
fpass2: Frecuencia pass 2.
fstop2: Frecuencia stop 2.
Rp: Rizado en la banda de paso en dB.

Rs: Atenuacin en la banda de supresin en dB.


El diseo de filtros en Matlab se realiza con valores normalizados.
Para esto se realiza:
Especificar Fs.
Fnyquist=Fs/2
Ws(1)=fstop1/Fnyquist
Wp(1)=fpass1/Fnyquist
Wp(2)=fpass2/Fnyquist
Ws(2)=fstop2/Fnyquist
Dnde Ws y Wp son vectores de frecuencias normalizadas.

Llamada a los Comandos de Diseo de Filtros


Los ms usuales son los siguientes:
Butterworth Pasabajas
[num,den]=butter(nB,Wn)
Elptico Pasabajas
[num,den]=ellip(nE,Rp,Rs,Wp)
Butterworth Pasaaltas
[num,den]=butter(nB,Wn,high)
Elptic0 Pasaaltas
[num,den]=ellip(nE,Rp,Rs,Wp,high)

4. Procedimiento
Filtro IIR

Filtro FIR

5. Conclusiones
6. Recomendaciones

7. Bibliografa:
http://lonely113.blogspot.com
FERNNDEZ CARAZO Jos Gabriel (2007). Diseo e implementacin
de un laboratorio virtual en DSP para comunicaciones usando MATLAB
y Simulink.
MARN DE LA ROSA Jos Manuel. ESTUDIO DEL FILTRO FIR EN
PRESENCIA DE S.E.U.
http://es.slideshare.net/CristianAguirreEsparza/filtro-irr-matlab
http://www.slideshare.net/bastard9020010/epn-filtros

Das könnte Ihnen auch gefallen