Filtro FIR en la tarjeta de desarrollo DSK6713

25
Práctica #2. Filtro FIR Número de práctica: 2 Título de la Práctica: Filtro FIR en la tarjeta de desarrollo DSK6713 Presentan: Betanzos Salvador Carlos Alfredo Figueroa Chávez Víctor Hugo Juárez Reyes Gerardo Méndez Beristaín Jorge Objetivos: Objetivo general. El alumno implementará y comprobará experimentalmente la función de transferencia de un filtro FIR en la tarjeta de desarrollo ‘C6713 DSK. Objetivos particulares. Diseñar filtros de respuesta finita al impulso (FIR) en Matlab. Implementar filtros digitales FIR en el DSK de TI TMS320C6713. Caracterizar con un generador de funciones y un osciloscopio la respuesta en frecuencia del filtro diseñado. Realizar el filtrado digital de una señal de sonido. Planteamiento del problema Se desea diseñar e implementar cuatro filtros digitales del tipo FIR en un solo programa que cumpla con los requisitos de frecuencia especificados a continuación: El diseño de los filtros debe realizarse utilizando cualquier función de diseño de filtros FIR de Matlab.

description

Filtro FIR en la tarjeta de desarrollo DSK6713 objetivo general:El alumno implementará y comprobará experimentalmente la función de transferencia de un filtro FIR en la tarjeta de desarrollo DC6713 DSK.Objetivos particulares.• Diseñar filtros de respuesta finita al impulso (FIR) en Matlab.• Implementar filtros digitales FIR en el DSK de TI TMS320C6713.• Caracterizar con un generador de funciones y un osciloscopio la respuesta en frecuencia del filtro diseñado.• Realizar el filtrado digital de una señal de sonido.

Transcript of Filtro FIR en la tarjeta de desarrollo DSK6713

Prctica #2. Filtro FIR

Nmero de prctica: 2

Ttulo de la Prctica: Filtro FIR en la tarjeta de desarrollo DSK6713 Presentan:Betanzos Salvador Carlos Alfredo

Figueroa Chvez Vctor HugoJurez Reyes GerardoMndez Beristan Jorge

Objetivos:

Objetivo general.

El alumno implementar y comprobar experimentalmente la funcin de transferencia de un filtro FIR en la tarjeta de desarrollo C6713 DSK.

Objetivos particulares.

Disear filtros de respuesta finita al impulso (FIR) en Matlab.

Implementar filtros digitales FIR en el DSK de TI TMS320C6713.

Caracterizar con un generador de funciones y un osciloscopio la respuesta en frecuencia del filtro diseado.

Realizar el filtrado digital de una seal de sonido.

Planteamiento del problema

Se desea disear e implementar cuatro filtros digitales del tipo FIR en un solo programa que cumpla con los requisitos de frecuencia especificados a continuacin:

El diseo de los filtros debe realizarse utilizando cualquier funcin de diseo de filtros FIR de Matlab.

La frecuencia de muestreo para todos los casos ser de 44.1KHz.

El filtro debe funcionar para ambos canales.

Los interruptores dip0 y dip1 seleccionarn cada uno de los siguientes filtros:

1) Filtro pasa-bajas: dip1=0,dip0=0

a. Fpass= 3.2 kHz

b. Fstop= 4.8 kHz

c. Rizo en la banda de paso menor o igual a 1dB.

d. Atenuacin mnima en la banda de rechazo de 60dB.

2) Filtro pasa-altas: dip1=0,dip0=1

a. Fstop1= 4.8 kHz

b. Fpass1= 6.4 kHz

c. Rizo en la banda de paso menor o igual a 3dB.

d. Atenuacin mnima en la banda de rechazo de 60dB.

3) Filtro pasa-banda: dip1=1,dip0=0

a. Fstop1= 1.6 kHz

b. Fpass1= 3.2 kHz

c. Fpass2= 6.4 kHz

d. Fstop2= 8 kHz

e. Rizo en la banda de paso menor o igual a 1dB.

f. Atenuacin mnima en las bandas de rechazo de 60dB.

4) Filtro pasa-banda: dip1=1,dip0=1

a. Fpass1= 1.6 kHz

b. Fstop1= 3.2 kHz

c. Fstop2= 6.4 kHz

d. Fpass2= 8 kHz

e. Rizo en las bandas de paso menor o igual a 3dB.

f. Atenuacin mnima en la banda de rechazo de 60dB.

Marco Terico.

FILTROS:

Son circuitos caracterizados por una entrada y una salida de forma que en la salida solo aparecen parte de las componentes de frecuencia de la seal de entrada. Son por tanto son circuitos que se pueden caracterizar por su funcin de transferencia H(),cumplindose que:

La funcin de transferencia tomar el valor 1 para una frecuencia i si se desea que la seal pase a esa frecuencia, mientras que tomar el valor 0 si no debe pasar, dicindose que se rechaza la seal.

Los filtros se pueden poner en cascada hasta obtener la funcin que se necesite.

TIPOS DE FILTROS:

Filtros pasa-bajas

La funcin bsica de un filtro pasa-bajas (LP) es pasar las frecuencias bajas con muy pocas prdidas y atenuar las altas frecuencias. La Fig. 1 muestra un esquema tpico de especificaciones de un filtro pasa-bajas. El filtro LP debe pasar las seales entre DC y la frecuencia de corte, con una atenuacin mxima de Ap dB. La banda de frecuencias entre DC y Wp se conoce como banda de paso. Las frecuencias por encima de Ws deben tener al menos As dB de atenuacin. La banda de frecuencias entre Ws y se denomina banda de rechazo y se denomina frecuencia lmite de la banda de rechazo. La banda de frecuencias entre Ws y Wp se denomina banda de transicin. Los parmetros Ws, Wp, Ap y As describen completamente las especificaciones del filtro LP.

Fig. 1) Especificaciones del filtro pasa-bajas

Una funcin de transferencia de segundo orden que implementa una caracterstica paso de baja es:

Filtros pasa-altas

Un filtro pasa-altas (HP) pasa las frecuencias por encima de una frecuencia dada denominada frecuencia de corte. Tal como se muestra en la Fig. 2 la banda de paso se extiende desde Wp a y la banda de rechazo desde 0 hasta Ws. Los parmetros Ws, Wp, Ap y As caracterizan completamente las especificaciones del filtro HP.

Fig. 2) Especificaciones del filtro pasa-altas

Una funcin de transferencia de segundo orden con caracterstica paso de alta es

Filtros pasa-banda

Un filtro pasa-banda (BP) pasa las seales en una banda de frecuencias con atenuacin muy baja mientras que rechaza las frecuencias a ambos lados de esta banda, como se muestra en la Fig. 3. La banda de paso de Wp1 a Wp2 tiene una atenuacin mxima de Ap dB y las bandas de rechazo, de DC a y de a Ws1 y de Ws2 a tienen una atenuacin mnima de As dB.

Fig. 3) Especificaciones del filtro pasa-banda

Una funcin de transferencia de segundo orden con caracterstica pasa-banda es

Filtros rechaza-banda

Los filtros rechaza-banda (BR) se usan para rechazar una banda de frecuencias de una seal, como se muestra en la Fig. 4. La banda de frecuencias a rechazar es la banda de rechazo entre Ws1 y Ws2. La banda de paso se extiende por debajo de Wp1 y por encima de Wp2.

Fig. 4) Especificaciones del filtro rechaza-banda

Una funcin de segundo orden con caracterstica rechaza-banda es

Estructuras de unin en C.

Las estructuras nos permiten agrupar varios datos, que mantengan algn tipo de relacin, aunque sean distinto tipo, permitiendo manipularlos todos juntos, usando un mismo identificador, o cada uno por separado.

struc

;

;

...

}

Ejemplo:

struct Persona

{ char Nombre[65];

char Direccin[65];

int Ao_de_Nacimiento; } Juanito;

///// Para acceder a un objeto de la estructura se usa: Juanito.Nombre

Las uniones son un tipo especial de estructuras que permiten almacenar elementos de diferentes tipos en las mismas posiciones de memoria, aunque evidentemente no simultneamente.

union []

{ ;

;

},

Ejemplo:

union un Ejemplo { int A; char B; double C; }

Union Ejemplo;,;

Supongamos que en nuestra computadora, int ocupa cuatro bytes, char un byte y double ocho bytes. La forma en que se almacena la informacin en la unin del ejemplo sera la siguiente:

Desarrollo de la prctica

Disear los filtros con las especificaciones sealadas utilizando la herramienta fdatool (o con las funciones fir1, fir2, firls, etc.) de Matlab.

Crear los archivos cabecera de los coeficientes de los filtros.

Crear el programa en CCS.

Compile, depure, cargue el programa a la tarjeta y ejectelo.

Introducir la pista de audio (correspondiente a cada uno de los filtros) proporcionada y compruebe el funcionamiento. Las pistas de audio que se proporcionan contienen tonos (a manera de ruido) fuera de la banda de paso.

Graficar la respuesta en frecuencia (magnitud) utilizando un osciloscopio y un generador de funciones.

Anlisis de resultados

Caracterizacin de los filtros

Vpp= 2vVrms= 652mV

Pasa-bajas

f(Hz)

Vrmsin (mV)

Vrmsout (mV)

500

696

693

1000

691

739

1500

672

682

2000

699

665

2500

693

710

3000

668

687

3500

695

514

4000

684

191

4500

682

59

5000

680

58

5500

680

18.6

6000

673

18.2

Pasa-altas

f(Hz)

Vrmsin (mV)

Vrmsout (mV)

500

686

32

1000

687

34.4

1500

687

37.6

2000

686

38.2

2500

685

39

3000

683

44.2

3500

682

48.1

4000

682

47

4500

678

50.2

5000

679

58

5500

685

143

6000

675

417

6500

683

674

7000

691

708

7500

671

654

8000

701

711

8500

677

680

9000

669

670

9500

702

705

Pasa-banda

Vrmsin (mV)

Vrmsout (mV)

500

688

26.9

1000

684

36.6

1500

687

40.8

2000

683

64

2500

693

229

3000

678

499

3500

674

728

4000

703

730

4500

683

733

5000

665

735

5500

694

735

6000

686

739

6500

672

537

7000

688

309

7500

687

88.4

8000

688

56.2

8500

685

52.5

9000

685

50.3

9500

685

69.5

10000

683

58.7

Rechaza-banda

Vrmsin (mV)

Vrmsout (mV)

500

691

689

1000

703

785

1500

677

647

2000

682

354

2500

690

127

3000

686

44.5

3500

685

43.5

4000

684

45

4500

683

40.3

5000

680

40.7

5500

680

39.6

6000

678

39.1

6500

646

38.2

7000

661

73.6

7500

686

342

8000

723

730

8500

667

733

9000

678

653

9500

707

665

Conclusiones

La implementacin de los filtros en la tarjeta DSK se probaron con distintas seales de audio que tenan ruido, comprobando as que cumplan su funcin del filtrado obteniendo el audio sin la seal que lo contaminaba(ruido), puesta para probar los mismo, sin embargo tambin se observ que en los filtros pasa-altas atenu ms la voz que el sonido de la guitarra, y de igual forma, en el filtro pasa-banda se atenu ms el ruido y el sonido de la guitarra que la voz, cumpliendo con esto el objetivo general de la implementacin de los filtros y su correspondientes pruebas.

Referencias

[1] Rulph Chassaing, Digital Signal Processing and Applications with the C6713 and C6417 DSK, Ed. John Wiley & Sons.

[2] Vinay K. Ingle, John G. Proakis, Digital Signal Processing Using MATLAB, Ed. Bookware Companion Series.

[3] Ricardo A. Losada, Digital Filters with MATLAB, The MAthWork Inc.

[4] John G. Proakis, Dimitris G. Manolakis, Tratamiento Digital de Seales, Principios y Algoritmos, Ed. Prentice Hall, 3 Edicin.

[5] http://es.scribd.com/doc/82462033/34/Codec-AIC23.

[6] Steven A. Tretter, Communication System Design Using DSP Algorithms: with laboratory experiments for the TMS320C6713 DSK.

Apndice

Programa entregado al profesor.

#include // Soporte del chip

#include // Soporte de los DIPs

#include "DSK6713_AIC23.h" // Archivo de soporte del codec-DSK

Uint32 fs=DSK6713_AIC23_FREQ_44KHZ; // Frecuencia de muestreo

#include "pasabajas1PDS2.h" // Libreras Generadas con Matlab

#include "pasaaltas2PDS2.h" // segn las especificaciones de los

#include "pasabandas2PDS2.h" // filtros

#include "rechazabanda4PDS2.h"

#define M 61 // Numero de coeficientes que nos

#define M1 61 // entrega Matlab

#define M2 55

#define M3 51

short D2,D3; // Definimos D2, D3 para los switch

union {short canal[2]; Uint32 estereo;} entrada, salida; // Juntamos los 2 canales

short x_I[M]={0}, x_D[M]={0}; // Asignamos un registro a los valores de entrada

short n=0; // Apuntador para inicializar

float y_I, y_D; // Registros de ayuda para las salidas

interrupt void c_int11() // Rutina de servicio de interrupcin

{

register short m,k; // Registro de memoria

entrada.estereo=input_sample(); // Por ambos canales recibimos informacin

x_I[n]=entrada.canal[0]; // Asignamos X_D a el canal 0

x_D[n]=entrada.canal[1]; // Asignamos X_I a el canal 1

y_I=0; m=n; y_D=0; // Inicializamos todo

D2=DSK6713_DIP_get(2); // Definimos D2, D3 porque es ms fcil

D3=DSK6713_DIP_get(3); // revisar la memoria que el perifrico

if(D2==1 && D3==1) // Filtro rechaza-banda D2=1 ^ D3=1

{

for (k=0; k