Sunteți pe pagina 1din 59

UNIVERS IDAD NACIONAL DEL CALLAO

FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA


INS TITUTO DE INVESTIGACIN DE LA FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA

DIS EO Y S IMULACIN DE FILTROS DIGITALES PARA LA CALIDAD DE S ONIDO

Informe Final del Proyecto de Investigacin elaborado por el Ing JORGE ELIAS MOS COS O S ANCHEZ Docente Investigador de la FIEE-UNAC.

CALLAO - LIMA - PERU


2010

Periodo de ejecucin del 1/01/10 31/12/10 Aprobacin del proyecto:RR. 030-2010-R

CALLAO-LIMA- PERU 2010

- 1-

NDICE

Pg .

INDICE.. RES UMEN

2 4

I.1.1. 1.2.

INTRODUCCIN.. Planteamiento del Problema de Investigacin Objetivos y Alcances de la Investigacin 1.2.1.Objetivo general 1.2.2.Objetivos especficos

5 6 6 6 6 7 7 7 7 8

1.3.

Importancia y Justificacin de la Investigacin.. 1.3.1. Importancia 1.3.2. Justificacin

1.4. II.2.1. 2.2. 2.3.

Formulacin de la Hiptesis.. MARCO TERICO.. Proceso digital de seales. Adquisicin, envo y manipulacin de datos. Filtros digitales . Clasificcin de los filtros digitales. 2.3.1. Filtros FIR (Finite Impulse Response).. 2.3.2.Filtro Digital IIR (Infinite Impulse Response).

8 9 12 12 17 19 20 20 22

2.4. 2.5. 2.6.

Anlisis y diseo de filtros digitalesProceso del circuito . Ejemplos de Clculo.. 2.5.1 Mtodo de transformacin de filtros analgicos Implementacin de filtros IIR en DSP.

- 2-

Pg . 2.7. Diseo de un filtro FIR pasabanda y procesamiento de una seal de audio con ruido filtrada a su salida con Matlab 2.7.1. Diseo de un filtro FIR pasabanda utilizando series de Fourier.. 2.8. Procesamiento de una seal de audio .. 2.10. Proceso del circuito: esquemas del diseo de los filtros. 27 32 37 27

III.IV.V.-

MATERIALES Y METODOS RES ULTADOS .. DIS CUS ION

51 52 53 54 55

REFERENCIALES APENDICE .

ANEXOS .

58

- 3-

RES UMEN

En este proyecto pretendemos mostrar cmo con ayuda de herramientas para clculo numrico podemos disear filtros digitales apropiados para una gran diversidad de aplicaciones. en estos contenidos, s resulta de inters que conozcan los alumnos la existencia de herramientas no especficas para diseo de circuitos pero que pueden facilitar mucho la labor e diseo, en este caso de filtros. Tal vez estamos comentiendo un error al decir no espe ficas ya que Matlab tiene una completa gama de herramientas para diseo de filtros mediante e ta utilidad. Pero tambin es cierto que esta toolbox ha ido desarrollandose a lo largo de los aos pues esas funciones especiales no sonms que scripts totalmente desarrollados y comprobados en base a los c mandos matemticos bsicos de Matlab. O, lo que es lo mismo, nosotros mis os podemos enriquecer la gama de herramientas mediante el desarrollo de scripts propios para realizar determinadas tareas (porejemplo, para automatizar determinados diseos). En definitiva, el proyecto de investigacin que aqu desarrollado se dirige principalmente a los alumnos de Ingenieria Electronica para que puedan usar los resultados y conocimientos aqu mostrados a la hora de mostrar a los alumnos otras formas de realizar diseos electrnicos unos conocimientos bsicos sobre filtrado. En dicha investigacin ademas se toma como punto de partida el PROCES O DIGITAL DE S EALES Filtros digitales filtrado digital en matlab la Adquisicin, envo y manipulacin de datos los el Anlisis y diseo de filtros digitales el Proceso del circuito la vez que adquieren

DIS EO DE UN FILTRO FIR PAS ABANDA Y PROCES AMIENTO DE UNA S EAL DE AUDIO CON RUIDO FILTRADA A S U S ALIDA CON MATLAB

- 4-

I.-

INTRODUCCIN
El Proyecto de Investigacin titulado DIS EO Y S IMULACIN observamos de la gran importancia que tiene, la justif DE

FILTROS DIGITALES PARA LA CALIDAD DE S ONIDO desarrollado in planteada en la investigacin que permite realizar y disear en forma sustancial mnima la realizacin de filtros digitales muy aplicados en el tratamiento de la informacin y su aplicacin utilizando Programas como el MTLAB el C++ He alcanzado el objetivo general el cual era: Disear filtros digitales para la calidad del sonido , lo cual servir como modelo de desarrollo de temas de laboratorio para el proceso digital de seales Igualmente en la hiptesis que haba planteado: realizacin del Filtro digital, permitir ahondar los temas de Comunicaciones, y de aplicacin e digitales, seales podemos afirmar tambien que estos filtros digitales no

necesariamente son mejor a los analogicos, pues depende de su tecnologa de desarrollo por lo que podria ser tema Adelante para otras tesis que quieran ampliar mas.

- 5-

1.1.

PLANTEAMIENTO DEL PROBLEMA DE INVES TIGACIN El problema del sonido de restauracin de seal de una grabacin de audio realizado en un equipo de mala calidad deber se filtrada para conseguir una mayor calidad de sonido que el grabado. una mala cmara. En un inicio, no se tuvo esta problemtica pues no se izaba filtros de ro ejemplo puede ser la imagen borrosa adquirida por un mal uso de los objetivos, o

gran exactitud y el sonido no tena buena resolucin ni buena calidad. La calidad del sonido digital depende de la frecuencia del muestreo y la resolucin. Frecuencias de muestreo o de sampleo, se ref re al nmero de mediciones que se hacen por segundo. Cuanto mayor sea el nmero de muestras, mejor es la calidad del sonido, por ejemplo: si la velocidad de muestreo es de una cada un segundo, las variaciones del sonido que se produzcan en el intermedio no sern registradas. En la actualidad, los filtros digitales se usan frecuentemente para el tratamiento digital de la imagen o para respuesta fini l impulso.

1.2.

OBJETIVOS Y ALCANCES DE LA INVESTIGACIN 1.2.1. Objetivo g eneral Simular el diseo de un filtro digital para calidad de sonido. 1.2.2. Objetivo s es pecfico s Determinar la alta precisin de los filtros digitales FIR IIR como herramientas en la elaboracin de nuestro diseo. Analizar el comportamiento de los diferentes filtros digitales y observar dicha dependencia con el diseo.

- 6-

Simular y observar que tipo de resultados nos ofrece e filtro digital. Orientar el diseo a futuras investigaciones, brindando parmetros de partida para dicho efecto. 1.3. IMPORTANCIA Y JUS TIFICACIN DE LA INVESTIGACIN 1.3.1. Importanc ia El conocimiento de la restauracin de las seales de audio o el sonido, nos orienta simular el diseo de un filtro digital, que nos muestre la repercusin que tiene el mismo, para el mejoramiento de la reproduccin de sonido. 1.3.2. Jus tificaci n Por lo expresado anteriormente, el proyecto se justifi a porque es un aporte cientfico de investigacin que beneficiar el procesamiento digital de seal 1.4. FORMULACIN DE LA HIPTES IS El diseo y simulacin de filtros digitales es una her amienta tecnolgica que permitir mejorar la calidad de la restauracin de la seal de sonido. Variable dependiente Variable independiente : Calidad de restauracin de seal de sonido : Filtro digital todo aquel que necesite tener informacin sobre sonido y como repercute en

- 7-

II.

MARCO TERICO
DIGITAL DE S EALES . ADQUIS ICION, ENVIO Y

2.1. PROCES O

MANIPULACION DE DATOS La tarjeta DAQ son tarjetas insertables que permiten la entrada y salida de datos de computador a otros aparatos donde se conectan sensores y actuadotes para interactuar con el mundo real. Los datos que entran y salen pueden ser seales digitales o anlogas simplemente co digitales tanto de entrada como de salida. Las tarjetas se comportan como si fueran un puerto ms en el computador, y poseen todo un protocolo y sistema de manejo, por lo q instrumento requiere de tiempo y cuidado. Existen tarjetas de alto y de bajo desempeo. Las de alto desempeo son programables y facilitan altas ratas de manejo de info n, pues son en cierta forma inteligentes y suficientes, y por tanto n comprometen la velocidad y el rendimiento del computador. Las tarjetas de bajo desempeo requieren de un control directo del computador, y se deben limitadas por la velocidad de este. El Windows es un sistema operativo que no trabaja en t real, para operaciones donde la rata de muestreo es muy alta, como en aplicaciones de audio, radar, vibraciones y video; aunque para aplicaciones de lentitud considerable es bueno, como en controles de hornos. Las tarjetas como cualquier otro perifrico requiere de sus parmetros de programacin, y hasta protocolos de comunicacin por lo que se requiere de un software Driver que maneje lo bajo de programacin y deje en la superficie la posibilidad de programar aplicaciones con los beneficios de dichas tarjetas de una forma sencilla. entender cada tarjeta, como es su funcionamiento, al igual que otro nstrumento o cualquier s de ocurrencias

- 8-

2.2.

FILTROS DIGITALES

El trmino filtro digital lo entenderemos como cualquier procesamiento realizado en una seal de entrada digital. Un filtro digital es la implementacin en hardware o software de una ecuacin diferencia Son sistemas discretos encargados de atenuar o cancela algunos

componentes de frecuencias En el rea de las seales, el filtrado es un proceso mediante el cual se modifica el contenido espectral de una seal. Ventajas de lo s filtro s dig itales Alta inmunidad al ruido

Alta precisin (limitada por los errores de redondeo empleada

n la aritmtica

Fcil modificacin de las caractersticas del filtro

Muy bajo costo Los filtros digitales estn reemplazando rpidamente analgicos. los filtros

- 9-

Filtro Digital

Software: C,C++,V .Basic,Assembler,Excel

IMPLEMENTARIOS

Hardware: DSPIC, DSP, FPGA C++ ASS C++ ASS UHDL

- 10 -

CLASIFICACION CLASIFICACION

No Recursivos

Recursivos

Invariante al Tiempo

Variante al Tiempo (adaptivo)

- 11 -

2.3. CLAS IFICACIN DE LOS FILTROS DIGITALES 2.3.1. FILTROS FIR (Finite Impuls e Res po ns e) Los filtros digitales se usan frecuentemente para tratamiento digital de la imagen o para R e s pue s ta finita al im puls o . 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 finito de trminos no nulos. tratamiento del sonido digital. FIR Para obtener la salida slo se basan en entradas actua anteriores. Su expresin en el dominio n es: y

En la expresin anterior N es el orden del filtro, que tambin coincide con el nmero de trminos no nulos y con el nmero de coeficientes del filtro. Los coeficientes son bk. La salida tambin puede expresarse como la convolucin de la seal de entrada x(n) con la respuesta impulsional h(n ):

Aplicando la transformada Z a la expresin anterior:

- 12 -

La estructura bsica de un FIR se presenta en la Fig. 2.

Estructura bsica de un FIR Se puede ver que es la misma Entrada retardada cada vez ms en el tiempo, multiplicada por diversos coeficientes y finalmente su da al final. Hay muchas ncia como variaciones de esta estructura. Si tenemos una respuesta de frec cuanto ms largo sea o nmero de coeficientes tenga. En la figura 2 los trminos son los coeficientes y los T son retardos. Pueden hacerse multitud de variaciones de esta estructura. Hacerlo como varios filtros en serie, en cascada, etc. Hay tres mtodos bsicos para disear este tipo de filtros: Mtodo de las ventanas. Un filtro FIR de orden M se describe por la siguiente ecuacin diferencia

objetivo, conseguiremos que la respuesta del filtro se asemeje ms a ella

y[n] =B0 x[n] +B 1x[n -1] ++B M x[n - M]

, lo que da lugar a la funcin de transferencia

-1

-M

H(z) = B0 + B1 z + B M z

- 13 -

La secuencia {BK} son los coeficientes del filtro. No hay recursin, es decir, la salida depende slo de la entrada y no de valores pasa s de la salida.

La respuesta es por tanto una suma ponderada de valores pasados y presentes de la entrada. De ah que se denomine Media (Moving Average) La funcin de Transferencia tiene un denominador constante y slo tiene ceros. La respuesta es de duracin finita ya que si la entrada se mantiene en cero durante M periodos consecutivos, la salida ser tambi ro Movimiento

Ventanas El truncamiento de las series de Fourier produce los filtros FIR con oscilaciones indeseables en la banda de paso y en la banda de rechazo, las cuales resultan de la lenta convergencia de las series de Fourier. Para reducir estas oscilaciones, una clase particular para modificar los coeficientes de Fourier (respuesta equivalente a la multiplicacin de los coeficientes co funciones son usadas impulso), estas son

llamadas ve ntanas El truncamiento de las series infinitas de Fourier es a funcin ventana.

Rectangular tangular es de 13

Es la ms ineficiente La atenuacin mxima de ventana decibeles.

Hamming

La ecuacin para calcular los coeficientes de una ventana de Hamming es: La atenuacin mxima de la ventana hamming es de 43 decibeles.

- 14 -

>Blackman

Los coeficientes para la ventana blackman son: Las ventanas de Blackman tienen lbulos centrales levemente ms anchos y menos lateral que la longitud equivalente Hamming. La atenua ventana blackman es de 58 decibeles da de la banda mxima de la

- 15 -

Filtros El procesamiento de seales digitales es fundamental e muchas reas de la Informtica Industrial relacionadas con el control y l regulacin automtica. Los filtros son usados en muchas aplicaciones, algunas de las cuales se citan a continuacin:

Filtro Pas o Bajo .- Deja pasar frecuencias bajas, y atena la saltas. Filtro Pas o Alto .- Deja pasar frecuencias altas, y atena las bajas. Filtro Pas o Banda .- Deja pasar las frecuencias que se encuentren dentro de un intervalo.

Filtro RechazaBanda .- No deja pasar las frecuencias que se encuentren dentro de un intervalo.

Filtros recuperado res de s eal: Filtros basados en Funcio nes de Trans ferencia. Filtros de convo luci n . Normalmente usados para el control en lazo cerrado de una planta lineal e invariante en el tiempo. Filtros de Res pues ta Finita al Impuls o (Finite Im p uls e R es pons e - FIR) y de Res pues ta Infinita al Impuls o (Infinite Im puls e R e s pons e - IIR), y otro tipo de filtros avanzados basados en transformada Z. Filtros para encontrar patrones, de anlisis de la seal, etc Existen dos tipos bsicos de filtros digitales:
No Recursivos

Recursivos.

- 16 -

Para los filtros no recursivos la funcin de transferencia contiene un nmero finito de elementos, cuya ecuacin en diferencias es:

A los primeros pertenecen los filtros tipo FIR, caracte

s por no poseer

realimentacin, y a los segundos los filtros tipo IIR, en donde la salida se encuentra dada en funcin de la entrada y de las salid s en instantes previos.

2.3.2. FILTRO DIGITAL IIR (Infinite Impuls e Re s pons e)

es un tipo de filtro digital que si su entrada es un impulso (un delta de kronecker) la salida sera un numero ilimitado de terminos no nulos es decir que nunca volver aun estado de reposos para obtener la salida se emplean valores de entrada actual y anteriores .adems valores de salidas anteriores que son almacenados en memoria y realimentados ala entrada tambin se llaman filtros digitales recursivos su expresin en dominio discreto es:

- 17 -

Se desea eliminar alguna componente de frecuencia (comnmente llamado ruido), identificacin de un sistema desconocido o ecualizacin de un canal.

Respuesta infinita al impulso, y su forma es del tipo

Donde los coeficientes a y b determinan el orden y el nmero de polos del filtro.

El orden del filtro esta dado por el mximo entre P y Q

Es tructura de un filtro dig ital IIR

Se puede ver en la figura como la salida y (K) es int oducido de nuevo en el sistemas la transformada Z del mismo es :

Vemos ahora tenemos un denominador, es decir, ceros adems de polos que son causantes de las posibles inestabilidades que pueden comprometer la estabilidad y causalidad del sistema

- 18 -

Los filtros digitales se clasifican en

Filtros FIR: En estos sistemas la entrada depende de entradas anteriores, la respuesta s finita, adems es no recursivo.

"La Funcin del Sistema puede expresarse como un polin numerador"

en el

Filtros IIR: En estos sistemas la salida depende de salidas anterio , la respuesta es

infinita y es recursivo.N > 0 "La Funcin del Sistema tendr polos, de c/n de los cuales

Contribuye con una sec. Exponencial a la k(n)"

2.4.- ANLIS IS Y DIS EO DE FILTROS DIGITALES . PROCES O DEL CIRCUITO

Reglas de diseo Todos los polos deben estar dentro de la circunferencia unidad.

- 19 -

Los ceros pueden estar en cualquier parte del sistema. Si hay polos complejos deben estar acompaados de su respectivo polo o cero conjugado.

Sugerencias Normalizar la respuesta de amplitud del filtro. Las funciones del filtro deben ser propias M<N

2.5.- EJEMPLOS DE CLCULO

2.5.1 MTODO DE TRANSFORMACIN DE FILTROS ANALGICOS .

1. Disear un filtro digital IIR pasa-bajos para filtrar una seal analgica que es muestreada, y debe ser filtrada segn los siguientes r querimientos:

Frecuencia de corte de la banda pasante: 1000 Hz Frecuencia de corte de la banda suprimida: 1600 Hz Frecuencia de muestreo y reconstruccin: 8 kHz Atenuacin en la banda pasante: 3 dB Atenuacin en la banda suprimida: 23 Db

S o luc i n: Para realizar el diseo, se debe partir de las especificaciones digitales. En este caso, como se trata de una seal analgica que se muest ea, se filtra digitalmente y finalmente se reconstruye, se deben calcular las frecuencias digitales de corte en base a las frecuencias analgicas dadas y la frecuencia de muestreo con la que se trabaja

- 20 -

Los rizados en la banda pasante y suprimida estn especificados en dB. Los valores de los mismos en veces se pueden calcular como:

En funcin de dichas frecuencias de corte y rizados en cada banda se expresan las:

Especificaciones digitales. Este es el punto de partid para el diseo del filtro digital

El paso siguiente, es elegir la transformacin que se va a utilizar. La idea fundamental es disear un filtro digital pero calculando un filtro analgico. Utilizando algn tipo de transformacin se realiza el paso de un dominio a otro. En un sentido, se obtienen las especificaciones de frecuencia del filtro analgico transformando los valores digitales. En el sentido inverso, se obtienen los coeficientes del filtro digital transformando el filtro analgico calculado.

- 21 -

La transformacin invariante al impulso permite calcul

este filtro siempre y

cuando no se produzca solapamiento apreciable en las altas frecuencias ya que el filtro, al no ser ideal, no es exactamente de banda limitada. Esto imposibilita disear un filtro pasa-altos o rechazabanda con este mtodo. El mtodo de la transformacin bilineal no ofrece problemas en este sentido. Si bien deforma la respuesta espectral (dado que la transformacin no es lineal), en las bandas donde la respuesta es plana se mantiene dic forma. Para

contrarrestar el efecto que produce la transformacin no lineal de la escala de frecuencias, previamente se calculan las frecuencias de corte transformadas (pre-distorsin).

En el caso de utilizar la transformacin invariante al impulso, la transformacin de la escala de frecuencias vuelve a dar los mismos valores nalgicos que se tenan como especificaciones iniciales

2.6.- IMPLEMENTACIN DE FILTROS IIR EN DSP.

Filtros FIR Existen diversos mtodos para el diseo de filtros FIR, entre ellos destacan tres. El ms sencillo es el de enventanado de la respuesta impulsional. Durante mucho tiempo se ha trabajado en el diseo de filtros analgicos obteniendo para ello implementaciones caracterizadas porque al llevarlas al campo digital tenan una respuesta de tipo IIR.

Parece ms o menos intuitivo el pensar que si tomamos la secuencia infinita de la respuesta impulsional h(n) y nos quedamos con una parte de ella, el resultado desde el punto de vista de la funcin de filtrado del sistema sera el mismo. Aunque grosso modo eso es as, desde el punto de vista frecuencial se producen una serie de deformaciones en el espectro del filtro obtenido que nos

- 22 -

llevaran a considerables errores a no ser por el uso de ventanas pensadas para este uso. Esas ventanas no son ms que secuencias de longitud finita que tienen una respuesta frecuencial que permite que al ser multiplicadas por la funcin de transferencia utilizada el error no sea muy grande. Esto es una descripcin intuitiva y nada rigurosa del sentido del enventanado. Bsicamente se utilizan tres tipos de ventanas, la de Kaiser, la de Hamming y la de Blackman. Nosotros estudiaremos ms adelante un ejemplo concreto.

Otra metodologa simple para el diseo de filtros la ofrece el muestreo en frecuencia de la respuesta Ideal. El procedimiento asegura un error nul para la aproximacin en un conjunto finito de frecuencias equiespaciadas, aqullas en las que se muestrea la respuesta frecuencial ideal.

El diseo por muestreo en frecuencia es muy popular da

su sencillez.

Presenta, sin embargo, importantes deficiencias. No es posible controlar directamente la amplitud del error. Tampoco se conoce n criterio estimativo del orden del filtro. Para conseguir un comportamiento ajustado una plantilla

debe acudirse a una estrategia de ensayo y error tediosa, que en la mayor de los casos proporciona un filtro de orden excesivo y que, incluso, no garantiza la existencia de solucin.

La tercera metodologa empleada es la del uso de filtr

ptimos, considerados

as aquellos con rizado de amplitud constante. La respuest frecuencial que ofrecen los filtros diseados mediante la manipulacin directa del

comportamiento ideal (el enventanado de la respuesta impulsional o el muestreo de la respuesta frecuencial) presenta un error en las bandas de paso y atenuadas cuya amplitud crece en las proximidades de las bandas de transicin.

- 23 -

La solucin a ese problema que aporta esta metodologa es la de repartir el error por las diversas bandas usando una funcin que lo permita. En nuestro caso, para ejemplificar, usaremos el mtodo de Parks-McClellan o tambin denominado mtodo de Remez.

A continuacin presentamos dos ejemplos de diseo de filtros FIR empleando Matlab.

Entre las propiedades que podremos comprobar en los resultados del enventanado para la obtencin de filtros FIR est, gra as al ajuste del orden del filtro por el mtodo de Remez, que la anchura de la banda de transicin del filtro, que se corresponde con la anchura del lbulo principal de la transformada de la ventana, es tanto menor cuanto mayor sea la longitud, y en definitiva el orden, de la misma.

Tambin descubriremos el por qu la ventana de Kais er es una de las ms utilizadas.

Slo dos parmetros son necesarios para la obtencin del filtro y dichos parmetros (beta y N) son fcilmente obtenibles a partir de unas frmulas fciles de usar. Su sencillez, por tanto, es lo ms destacable.

Y podremos observar que a diferencia del caso de los f ros IIR, el cumplimiento de los requisitos del filtro no se realiza de una forma tan exacta e inmediata. Esta caracterstica es propia del uso de la tcnica de enventanado en la que generalmente se acepta un notable sobrecumplimiento de los requerimientos para la banda de paso, debido a que los mximos del error en la banda de paso y la banda atenuada son del mismo ord n de magnitud, ya

- 24 -

que ambos provienen de la amplitud de los lbulos secundarios d transformada de la ventana.

la

Por ltimo, veremos que el orden del filtro FIR obteni

por el mtodo de

Remez es menor que el obtenido usando la ventana de Kaiser. Como recordaremos ms adelante, del estudio del diseo de filtros analgicos la aproximacin que menor orden requiere para satisfacerlas es aquella en que los mximos del valor absoluto del error en la banda de paso son todos iguales, as como en la banda de atenuacin. Es la aproximacin elptica la que al tener un comportamiento de rizado constante en ambas bandas presente alternativamente mximos y mnimos. Es por ta bilita que el error de esperar que el

caso de diseo de filtros FIR no sea distinto y este t po de comportamiento resulte ptimo. Esto se traduce en que para una selectividad y una discriminacin dada no exista un diseo de menor orden que el que presenta comportamiento con rizado de amplitud constante. O de otra forma, fijados el orden y la selectividad del filtro, no puede obtenerse un diseo con menor discriminacin.

Des cripcion Filtra una seal completa de audio, utilizando el filtro FIR a impleme r.

El filtro debera ser implementado en un modulo FIR.como una funcion de C tal como lo especifica su encabezado asociado fir.h. La funcion de filtrado recibe las muestras una a una, almacena en un

buffer de estados (memoria) del mismo tamao no que el orden del filtro. La Convolucion se realiza entonces entre los coeficientes del FIR y las muestras almacenadas en el buffer.

- 25 -

El nmero de taps, el buffer de estados y los coeficientes

el filtro sern

suministrados por otro modulo (fil dat.asm), por lo q e dentro del mdulo fir.c deben declararse las variableas asociadas a esto datos como externas

Optimizacion del FIR Una vez escrita una primera version funcional del FIR, debera modificarse su codigo hasta lograr el mejor tiempo de ejecucion posible.

Para la optimizacion del tiempo de ejecucion se sugiere probar las siguientes posibilidades: Cambiar contadores locales por globales. Cambiar buffers locales por globales. Utilizar punteros. Utilizar variables de tipo register. Cambiar operador modulo por sentencia if

Forma de trabajo 1. Verificacion con simulador basico RUN563 MATLAB 2. Generar filtro, senal y ruido en MATLAB usando genero senales.m 3. Salvar senal ruidosa y filtro como archivos .asm 4. Filtrar en MATLAB. RUN563 5. Tomar filtro y senal ruidosa. 6. Filtrar con funcion C. 7. Sacar senal filtrada con biblioteca libdsp.

MATLAB Tomar resultado desde RUN563. Comparar con resultado MATLAB usando comparo soluciones.m Verificacin con simulador grafico (SIM56300)

- 26 -

Previo a la prueba en el simulador se debera eliminar todo cdigo de I/O que exista los modulos desarrollados, en particular las partes que guardan y leen resultados con las funciones guardar ascii leer ascii. Para este fin se recomienda utilizar las directivas #if, #else y #endif (vistas en la prctica 0) para lograr la compilacion condicional.

MATLAB Generar filtro, senal y ruido en MATLAB usando genero Salvar seal ruidosa y filtro como archivos .asm Filtrar en MATLAB. SIM56300 (se recomienda utilizar un archivo de comandos) Tomar filtro y seal ruidosa. Filtrar con funcin C. Salvar seal filtrada en formato .LOD con funcin SAVE del SIM. nales.m

2.7. DIS EO DE UN FILTRO FIR PAS ABANDA Y PROCES AMIENTO DE UNA S EAL DE AUDIO CON RUIDO FILTRADA A S U S ALIDA CON MATLAB

2.7.1. DIS EO DE UN FILTRO FIR PAS ABANDA UTILIZANDO S ERIE clear all; close all;

FOURIER

fp1 = 2e3; fs1 = 10e3; fs2 = 12e3; fp2 = 16e3; fm = 44e3;

- 27 -

Interesa que las especificaciones del filtro sean simtricas por lo que calculo cual de las dos zonas de transicin es menor y modifico la frecuencia de pasa banda.

[mm,jj] = min([fs1-fp1 fp2-fs2]); if jj==1 fs2 = fp2-mm; else fs1 = fp1+mm; end

Calc ulo de lo s parmetro s del filtro pas a banda Fc y F0

fc1 = (fp1+fs1)/2; fc2 = (fp2+fs2)/2;

Fc1 = fc1/fm; Fc2 = fc2/fm;

F0 = (Fc1+Fc2)/2; Fc = (Fc2-Fc1)/2;

windows=['boxcar ';'blackman']; colors=['b ';'r

';'bartlett';'hamming ';'hanning

';'m

';'--b';'--r'];

Nme ro de punto s del filtro N solo puede ser impar y la secuencia deber ser par ya ue es la nica forma de disear un filtro FIR pasa banda

- 28 -

N = 41; n=0:N-1;

Filtro pas o bajo ideal

hlpi = 2*Fc*sinc(2*Fc*(n-(N-1)/2));

Calc ulando delta

delta = zeros(1,N); delta((N+1)/2) = 1;

Aplicamos ventanas espectrales a este filtro ideal

M=500; %% N de puntos para calcular la Resp Freq for i=1:size(windows) eval(['w=' windows(i,:) '(N);']); hlp = hlpi.*w';

Normalizar de forma que |H(0)|=1

hlp = hlp/sum(hlp);

hbs = delta - 2*hlp.*cos(2*pi*F0*(n-(N-1)/2));

[H,f]=freqz(hbs,1,M,fm);

plot(f,abs(H),colors(i,:)); hold on; if (i==5)

- 29 -

Ventana de blackma

figure;stem(n,hbs,'o');grid;pause; eval(['print -depsc2 fir_bs_coef_N' num2str(N)]); close; figure;plot(f,20*log10(abs(H)));grid; axis([-inf inf -60 1]); xlabel(['Frecuencia (Hz)']); ylabel(['|H(F|']);pause; eval(['print -depsc2 fir_bs_rf_N' num2str(N)]); close; end

end grid;hold off; legend('rect','bartlett','hamming','hanning','blackman'); xlabel(['Frecuencia (Hz)']); ylabel(['|H(F|']); title(['Filtro Parabanda, fc=' num2str(Fc*fm/1000) 'KHz, f0=' ... num2str(F0*fm/1000) 'KHz, fm=' num2str(fm/1000) 'KHz,' ... ' N=' num2str(N)]);

eval(['print -depsc2 fir_bs_wind_N' num2str(N)]); pause;close

- 30 -

GRAFICA DEL FILTRO:

GRAFICA DE LA S EAL FILTRADA:

- 31 -

2.8.- PROCES AMIENTO DE UNA S EAL DE AUDIO Procesamiento de una seal de audio Crear seal de audio Frecuencia fundamental f0=1e3; % 1KHz

Amplitud a=4; % V=4

Frecuencia de muestreo fs=44.1e3; Frecuencia de una seal de audio Tiempo de duracin en segundos T=1.5; L = round(T*fs); % Nmero de muestras

Frecuencia normalizada fn=f0/fs; y = a*sin(2*pi*fn*(0:L-1))+0.5*a*sin(2*pi*2*fn*(0:L-1));

Graficar la seal original subplot(411) plot((0:L-1)/fs,y) title('SEAL ORIGINAL') xlabel('Tiempo (s)') ylabel('Amplitud (V)') xlim([0 10/1000]) Ttulo Etiqueta del eje X Etiqueta del eje Y Lmite de la seal

- 32 -

Grabar y reproducir la seal de audio wavwrite(y,fs,'audio') wavplay(y,fs) FFT de la seal subplot(412)

Llamado a la funcin que calcula la FFT fft_signal(y,fs);title('ESPECTRO DE LA SEAL ORIGINAL') xlim([0 2500])

Filtrado de la seal Frecuencia normalizada fNorm = 1500 / (fs/2); Clculo de los coeficientes del filtro (filtro pasa bajas) [b,a] = butter(10, fNorm, 'low');

Filtrado de la seal y_Low = filtfilt(b, a, y);

Graficacin de la seal en el tiempo subplot(413) plot((0:L-1)/fs,y_Low) title('SEAL FILTRADA') xlabel('Tiempo (s)') ylabel('Amplitud (V)') xlim([0 10/1000])

- 33 -

Graficacin de la seal en frecuencia subplot(414)

Llamado a la funcin que calcula la FFT fft_signal(y_Low,fs);title('ESPECTRO DE LA SEAL FILTRADA') xlim([0 2500])

Grficas del filtro Respuesta en frecuencia del filtro [H,w]=freqz(b,a,512,1); figure(2)

Trazado de la respuesta en Magnitud subplot(221) plot(w,20*log10(abs(H))); grid on; title ('Filtro pasa-altos, Respuesta en magnitud'); xlabel('frecuencia'); ylabel('H(f) db') xlim([0 0.4])

Respuesta en fase subplot(222) plot(w,angle(H)); grid on; title ('Filtro pasa-altos, Respuesta en fase'); xlabel('frecuencia')

- 34 -

ylabel('ngulo de H rad') xlim([0 0.4])

Respuesta al impulso subplot(223) [y_eje,t]= impz(b,a,60); stem(t,y_eje); title ('Filtro pasa-altos, Respuesta al impulso');

Ploteo de los polos y ceros Ceros Polos

z= roots(b); p = roots(a); subplot(224) zplane(z,p)

title('Polos y ceros') legend('Ceros','Polos')

Reproduccin de audio de entrada y salida pause(2) disp('Audio de entrada') wavplay(0.5*y,fs) disp('Audio de salida (seal filtrada)') wavplay(0.5*y_Low,fs)

- 35 -

GRAFICAS DE SEAL DE AUDIO INICIALMENTE S IN FILTRAR A ENTRADA Y FILTRADA A LA S ALIDA:

- 36 -

2.9.-

PROCES O DEL CIRCUITO ES QUEM A DEL DIS EO DE LOS FILTROS

FILTRO PAS A-BAJOS *Esquema de un circuito pasa-bajos de cuarto orden con dos circuitos pasa-bajas 0 de segundo orden:

El circuito comprende 2 etapas, cada una de las etapas tiene la misma frecuencia Fc, y el factor de calidad total ser la multiplicacin del etapa, por el factor de calidad de la segunda etapa. *Clculos a mano para un circuito bajos de cuarto orden para una frecuencia de 1000Hz -Hallar la funcin de transferencia, Wo y Qo. de calidad de la primera

- 37 -

Primera etapa

- 38 -

Obteniendo as el diseo para el filtro pasa-bajos de cuarto orden

- 39 -

ESQUEMA DEL DIS EO DE LOS FILTROS (S IMULACION EN CI RCUITMAKER) CIRCUI TO PBC

GRAFICA DE LA SIMULACION EN CIRCUITMAKER

- 40 -

FILTRADO DIGITAL EN MATLAB SEAL ADQUIRIDA

SEAL ADQUIRIDA ESCALADA AL VOLTAJE REAL

- 41 -

SEAL FILTRADA CON EL FILTRO BUTTER DE 4 ORDEN

SEAL FILTRADA CON ELIP DE CUARTO ORDEN

- 42 -

GRAFICA DEL FILTRO ELIPTICO, FASE, MAGNITUD Y RETARDO

FILTRO BUTTERWORTH, MAGNITUD, FASE, RETARDO DE GRUPO Y DIAGRAMA DE POLOS Y CEROS

- 43 -

ADQUIS ICIN , FILTRADO DIGITAL Y CARACTERS TICAS DEL MOTOR EN MATLAB %Borrar todo% clear; clc; close; %Creamos un object device para poder introducir seales analogicas% MJ = analoginput('nidaq', 1); %Se aade un canal a la entrada analogica creada especificando un ID asociado con el Hardware del canal empleado% addchannel(MJ,1);

- 44 -

%Asignamos el valor de la tasa de muestreo%


s et ( M J , ' Sa mpl e Ra t e ' , 2 0 0 0 )

%Asignamos el valor de las muestras por disparo% set(MJ,'SamplesPerTrigger',3000)

%Damos inicio a la adquisicion de la entrada analogica, y a los valores de muestras que se determinaron%
s t art ( M J)

%Condicion para que el programa se mantenga activo mientras exista la entrada analogica%
whi l e s t r c m p( M J . Runni ng , ' On' )

end data = getdata(MJ); %Muestra los resultados en una grafica en un rango que esta definido por la funcion axis tanto en x como en y% y=100*data; delete(MJ) clear MJ %+--------------------------------------------------------% %--------ALGORITMO DEL FILTRADO DIGITAL-------------------% y=y.*36; figure(1); plot(y) title('SEAL ADQUIRIDA'),axis([0 1000 0 30]); xlabel('MUESTRAS/CICLO') ylabel('AMPLITUD') w=0.1047; [B,A]=butter(4,0.016); t=filter(B,A,y);

- 45 -

figure(2); plot(t),title('SEAL FILTRADA CON BUTTER'),axis([0 1000 0 30]); [D,C]=ellip(4,0.016,20,w); x=filter(D,C,t);

figure(3); plot(x),title('SEAL FILTRADA CON ELLIP'),axis([0 1000 0 30]);

%---------------------------------------------------------% %--------------ALGORITMO PARA ANALISIS DE CARACTERISTICAS

DE LOS FILTROS UTILIZADOS---------------------------------% figure(4); [H,w]=freqz(B,A,1000);

subplot(2,2,1) M=abs(H); plot((2000/2/pi)*w,M) title('MAGNITUD DELFILTRO ELIPTICO') K=angle(H); subplot(2,2,2) plot((2000/2/pi)*w,K) title('FASE DEL FILTRO ELIPTICO') subplot(2,2,3) grpdelay(B,A,2000) title('RETARDO DE GRUPO FILTRO ELIPTICO') subplot(2,2,4) zplane(B,A) title('POLOS Y CEROS DEL FILTRO ELIPTICO') %---------------------------------------------------------figure(5); [H1,w]=freqz(D,C,3000);

- 46 -

subplot(2,2,1) M1=abs(H1); plot((2000/2/pi)*w,M1) title('MAGNITUD DEL FILTRO BUTTERWORTH') grid on K1=angle(H1); subplot(2,2,2) plot((2000/2*pi)*w,K1) title('FASE DEL FILTRO BUTTERWORTH') grid on subplot(2,2,3) grpdelay(D,C,3000) title('RETARDO DE GRUPO FILTRO BUTTERWORTH') grid on subplot(2,2,4) zplane(D,C) title('POLOS Y CEROS DEL FILTRO BUTTERWORTH') grid on %---------------------------------------------------------%CALCULO DE VELOCIDAD DEL MOTOR figure(6); VOLGEN=[0.92,1.22,1.55,1.85,2.33,3.10,3.80,4.30,4.64,4.91,5 .33,5.79,6.14,6.38,... 6.77,6.88,7.17,7.93,8.35,9.07,9.91,10.92,11.84,12.18,12.93, 13.48,14.35,... 14.90,15.25,15.54,15.96,16.71,16.92,17.51,18.39,19.44,19.57 ,20.20,20.62,... 21.00,22.59,23.68,24.36,25.28,25.53,26.58,27.55,28.35,29.56 ,30.74];

VELX=[ 5 2 9 , 6 9 0 , 1 0 8 0 , 1 1 5 0 , 1 4 8 8 , 1 4 2 7 , 2 1 6 0 , 2 5 0 5 , 2 6 6 9 , 3 0 8 4 , 3 2 7 6 , 3431, 372 2, 3964, 401 7, 4261, . . .

- 47 -

4440,4757,5038,5365,5936,6350,6512,6619,7060,7265,7317,7666 ,7769,8133,8140,... 8165,8182,8201,8223,8807,8900,9200,9541,9640,9814,9865,9986 ,10124,10234,... 10500,10684,11056,11215,11224]; %GRAFICAMOS LA CARACTERSTICA DEL MOTOR DE VELOCIDAD CONTRA VOLTAJE plot(VOLGEN,VELX),title('SEAL DE VOLTAJE'); ylabel('RPM'); xlabel('VOLTAJE');

TABLA CARACTERSTICA DE LOS MOTORES V(cc) MOTOR OV 1V 1.68 V 2.8 V 3.28 V 3.82 V 4.3 V 5.02 V 6.07 V 7V 7.66 V 8.32 V 8.9 V 9.5 V 10.24 V 10.69 V 11.01 V V(cc) --O.42 V 1.58 V 2.046 V 2.52 V 3.008 V 3.698 V 4.72 V 5.66 V 6.33V 7.02 V 7.59 V 8.26 V 9.02 V 9.48 V 9.82 V V(ca) ---220 MV 292 MV 370 MV 0.442 V 0.557 V 0.74 V 0.906 V 1.024 V 1.105 V 1.17 V 1.27 V 1.38 V 1.463 V 1.52 V RPM MOTOR FRECUENCIA ---529 690 1080 1150 1488 1427 2160 2505 2669 3084 3276 3431 3722 3964 ---144 HZ 183 HZ 218 HZ 276 HZ 336.6 HZ 430 HZ 516 HZ 574 HZ 636.5 HZ 688 HZ 748 HZ 817.5 HZ 859.6 HZ 867.1 HZ

GENERADOR GENERADOR GENERADOR GENERADOR

- 48 -

11.48 V 12 V 12.56 V 13.27 V 14.05 V 15.01 V 16.03 V 17.27 V 18.1 V 18.7 V 19.01 V 19.55 V 20.33 V 2O.85 V 21.12 V 21.74 V 22.13 V 22.85 V 23.05 V 23.44V 24.12V 24.71 V 25.35 V 25.80 V 26.06 V 26.65 V 27.09 V 27.69 V 27.99 V 26.16 V 2882 V

10.20 V 10.85 V 11.42 V 12.14 V 12.9 V 13.92 V 15.04 V 16.36 V 17.2 V 17.8 V 18.2 V 18.7 V 19.34 V 20.06 V 20.25 V 20.98 V 21.31 V 22.11 V 22.30 V 22.70V 23.51 V 24.06 V 24.78 V 25.12 V 25.51 V 26.19 V 26.61 V 27.18 V 27.55 V 27.80 V 28.25 V

1.613 V 1.639 V 1.709 V 1.89 V 1.99 V 2.16 V 2.36 V 2.6 V 2.82 V 2.9 V 3.08 V 3.21 V 3.418 V 3.549 V 3.632 V 3.7 V 3.8 V 3.98 V 4.03 V 4.17V 4.38V 4.63V 4.66 V 4.81 V 4.91 V 5.00 V 5.38 V 5.64 V 5.80 V 6.02 V 6.08 V

4017 4261 4440 4757 5038 5365 5936 6350 6512 6619 7060 7265 7317 7666 7769 8133 8140 8165 8182 8201 8223 8807 8900 9200 9541 9640 --9986 -10.234

878 HZ 899 HZ --926 HZ 9 HZ 0 HZ 0 HZ 760 HZ 798 HZ 808 HZ 8.80 HZ 1069 HZ 1172 HZ 1509 HZ 1531 HZ 12.65 HZ 1250 HZ 1337 HZ 1351 HZ 1201 HZ 1062.9 HZ 1090.6 HZ 59.97HZ 59.94 HZ 1150.6 HZ 1182.3 HZ 1205.9 HZ 1232.8HZ 1248.7 HZ 1250.2 HZ 1281.9 HZ

- 49 -

29.31 V 29.75 V 29.98 V 30.54 V 31.01 V

28.71 V 29.39 V 29.60 V 30.24 V 30.63 V

6.33 V 6.56 V 6.75 V 7.04 V 7.32 V

10.500 ---11.224

1304.3HZ 13.26 HZ 1342.8 HZ 1365.1HZ 1390.0 HZ

COMO CONECTAR EL LM324 ESQUEMAS

- 50 -

III.

MATERIALES Y M ETODOS
El presente Proyecto de Investigacin los metodos: 1. Mtodo de la Respuesta Impulsional Invariante Criterio : Encontrar un filtro digital cuya respuesta Impulsional sean muestras equiespaciadas de la respuesta Impulsional de filtro analgico. h(n)=ha(t) t=nT Las respuestas en frecuencias del filtro digital estar n relacionadas con la respuesta en frecuencia del filtro

Es decir, la respuesta en frecuencias del filtro digital consiste en la suma de infinitos terminos de respuestas analgicas frecuenciales e s caladas y de s plaza das .

A partir del Teorema del muestreo sabemos que: si Ha(j? )= o para ? $ B/T entonces: H(ejw) = 1/T Ha(j? ) para ? # B/T

La siguiente expresin constituye una generalizacin d la anterior :

2. Solucin numrica de la ecuacin diferencial Criterio : Obtener el filtro digital aproximando las derivadas de la ecuacin diferencial correspondiente a un filtro analgico, mediante diferencias finitas.

Sea: ' ck dk ya(t)/dtk = ' dk dkxa(t)/dt k Consideremos la aproximacin:

d ya(t)/dt ---- L(1)[y(n)] = [y(n+1)-y(n)]/T dk ya(t)/dtk ---- L(k)[y(n)] = L(1)[L(k-1)[y(n)] ] 3. Mtodo de la transformacin bilineal

CRITERIO: Obtener el filtro digital integrando la ecuacin difer ncial correspondiente al filtro analgico y realizando una aproximacin numrica de la misma.

IV.

RES ULTADOS
Este Trabajo de Investigacin: DIS EO Y S IMULACIN DE FILTROS DIGITALES PARA LA CALIDAD DE S ONIDO tena como propsito fundamental disear filtros digitales, propsito de brindar al alumno los conocimientos de cmo utilizar el matlab lo cual fue posible al real simulacin respectiva a

As mismo la aplicacin a investigaciones ya sea descr ptiva o inferencial, tecnolgica o cientfica, el investigador va a a encontrarse con gran cantidad de datos, con los cuales debe hacer un proces anlisis e interpretacin de resultados, estadstico,

- 52 -

V.

DIS CUS ION


Con la adquisicin de datos de Matlab pudimos observar con mas detenimiento la seal obtenida del motor, la voz y adems la

implementacin de los filtros fue efectiva, la seal se ve clara y con menos ruido cuando han pasado por los dos filtros (But erworth y Elptico) que se elaboraron en Matlab.

Hemos podido comprobar la importancia de disponer de una herramienta de clculo potente para el diseo de sistemas electrnicos complejos como pueden ser los filtros.

Dentro de esas herramientas Matlab se sita como una de las ms empleadas y la que, por el momento, ha conseguido mayor aceptacin y desarrollo. Por ende, hemos visto las principales caractersticas de los filtros digitales que se usan hoy da para aplicaciones

Diversas en los sistemas electrnicos. As, podemos concluir que, cuando la fase juega un papel fundamental en el tratamiento de la seal (por ejemplo, en el caso de comunicaciones de datos) es mejor el uso de filtros FIR de mayor coste pero de fase lineal. Mientras que cuando la fase no toma gran importancia (por ejemplo, en aplicaciones de audio, donde el oido humano no es capaz de discernir pequeas variaciones de la fase) el empleo de filtros IIR, de menor coste, es el apropiado.

- 53 -

REFERENCIAS BIBLIOGRAFICAS
[1] Christian-A Luszick, Digital Aud io R e s toration of vinyl records and
Im ple m e n tation on a digital signal proce ss o r b as e d s ys te m , Departamento

de tratamiento de seales Universidad de Kaiserslautern 2003 [2] Soorian Raman, R e m oving Nois e for Vinyl LP recordings with W avele t
Trans form . Department of Electrical and Computer Engineering university of

Queesland 1997. [3] Brendan Wessling, R e al tim e Nois e re n oval fro m Vinyl LPs , Department of Electrical and Computer Engineering of Queensland ? 1997. [4] [5] http://www.elai.upm.es/spain/Publicaciones/pub01/intro_procsdig.pdf http://www.eden.rutgers.edu/~ricqui/leech/2003%20Fall%20579%20 Translation%20 Workshop/T8/Procesadores_dig.pdf

- 54 -

APENDICE
Al final observamos una mejora notable con respecto a a seal original del una mejora en la seal de salida, esto lo pudimos comprobar de forma emprica la escuchar la grabacin y en forma mas formal al ver las graficas de las seales.

FIG 1 S EAL OBTENIDA S IN RUIDO

- 55 -

FIG 1 S EAL OBTENIDA CON RUIDO

- 56 -

FIG 1 S EAL UTILIZADA EN RF

- 57 -

ANEXOS

- 58 -

TEMA Implementacion de un filtro FIR en C


Procesadores Digitales de Seales 1 de diciembre de 2008

Filtro pasobajo con frecuencia de corte en 0.1 (normalizada). Tres mtodos de diseo de filtros digitales de respuesta , obtenida de la guia de implementacion de filtros FIR en C Del: El Ins tituto de Ing eniera El ctrica (IIE) fo rma parte de la Facultad de Ing eniera de la Univers idad de la Repblica . Prof Ing Agustin Cisa.

- 59 -

S-ar putea să vă placă și