Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Material y equipo
Desarrollo.
1. Verificar que dentro de la carpeta de ti, se encuentren las siguientes subcarpetas en el CCS V8.x:
2. Crear un proyecto con nombre DSP06_FIR.pjt en el Code Composer Studio V8.x. No se admite usar
un proyecto existente.
1/6
UNIDAD PROFESIONAL INTERDISCIPLINARIA EN INGENIERIA
Y TECNOLGIAS AVANZADAS – IPN
3. Verificar que la constante CHIP_6713 esté definida usando la secuencia en el CCS 8.x:
Propiedades → Build → C6000 Compiler → Advanced Options → Predefined Symbols → Pre-define NAME
4. Verificar que esté definido el modelo de acceso de datos de tipo far, usando la siguiente secuencia:
Propiedades → Build → C6000 Compiler → Advanced Options → Runtime Model Options → Data acces
model
5. Agregar al proyecto el archivo: vectors_intr.asm desde zsupport en el cual están contenidos los
vectores de interrupción. (Este archivo forma parte de [3]). En el CCS 8.x este archivo debe copiarse a la
carpeta del proyecto.
En la versión 8.x del CCS agregue las siguientes rutas siguiendo la secuencia: Propiedades→ Build → C6000
Linker → File Search Path → Include Library File
C:\ti\C6xCSL\lib_3x
C:\ti\DSK6713\c6000
C:\ti\ccs710\ccsv7\tools\compiler\c6000_7.4.23\lib
9. Agregue al proyecto desde zsupport el archivo de comandos del enlazador: c6713dsk.cmd (este
archivo forma parte de [3]). En el CCS 8.x este archivo debe copiarse a la carpeta del proyecto y colocar la
ruta usando la secuencia Propiedades→ General → Linker Command File.
10. Solo para el CCS 8.x copiar el archivo C6713dskinit.h a la carpeta del proyecto.
2/6
UNIDAD PROFESIONAL INTERDISCIPLINARIA EN INGENIERIA
Y TECNOLGIAS AVANZADAS – IPN
11. Crear un archivo que se llame rbfN__FIR.cof e incluya los coeficientes los cuales representan la
respuesta al impulso de un filtro FIR. Este archivo no se necesita agregar al proyecto ya que el programa
principal hace referencia a él. El archivo de coeficientes debe tener el siguiente formato. En el espacio en
blanco coloque el número de coeficientes.
#define N 55 //number of coefficients
float h[N]=
{1.7619E017, 7.0567E003, 2.2150E018,1.0962E002, 4.0310E017,
1.3946E002, 7.1787E018,1.4588E002, 3.9928E017, 1.1474E002,
5.9881E018,3.5159E003,6.6174E018,9.7476E003,1.7919E017,
2.7932E002,9.4329E017,4.9740E002, 3.3834E017, 7.3066E002,
3.6228E017,9.5284E002, 3.2194E017, 1.1365E001,2.2165E017,
1.2576E001, 7.8980E018, 1.3000E001, 7.8980E018,1.2576E001,
2.2165E017, 1.1365E001, 3.2194E017,9.5284E002,3.6228E017,
7.3066E002, 3.3834E017,4.9740E002,9.4329E017, 2.7932E002,
1.7919E017,9.7476E003,6.6174E018,3.5159E003, 5.9881E018,
1.1474E002, 3.9928E017,1.4588E002, 7.1787E018, 1.3946E002,
4.0310E017,1.0962E002, 2.2150E018, 7.0567E003, 1.7619E017};
12. El núcleo del código en C es el siguiente para implementar el filtrado indicado en la figura es el que se
muestra en la figura siguiente. Observar que la frecuencia de muestreo está a 8 KHz.
y=(int) yy;
output_sample(y>>15); //Envío de la muestra filtrada hacia el códec
return;
}
void main()
{
comm_intr(); //Inicializar el codec, DSK y McBSP
while(1); //Bucle infinito a la espera de una interrupción
}
3/6
UNIDAD PROFESIONAL INTERDISCIPLINARIA EN INGENIERIA
Y TECNOLGIAS AVANZADAS – IPN
13. Compilar el proyecto y cargar el código ejecutable en la memoria interna del DSP. Conecte un audífono al
DSK y un micrófono y pruebe el filtro con su propia voz. Describa el efecto sobre su voz de dicho filtro.
(Calificación 6.0).
14. Analizar la señal elpasofs16000Nb16_4.wav para diseñar el filtro FIR apropiado y quitar la interferencia
que posee. Utilizar el toolbox de adquisición de señales de Matlab 2017 para analizar dicha señal en tiempo
real conectando un cable auxiliar a su celular y a la entrada del micrófono de su computadora. Utilice el
siguiente programa:
clear all
fL = 8000;
Fs=16000;
% fr = dsp.AudioFileReader(...
% 'salida_canal.wav',...
% 'SamplesPerFrame',fL);%poner fL/2 en caso de que la Fs de la cancion esté a la mitad de la Fs de
reproduccion
deviceReader = audioDeviceReader(...
'SamplesPerFrame',fL,...
'SampleRate',Fs);
setup(deviceReader);
deviceWriter = audioDeviceWriter(...
'SampleRate',Fs/2);
scope_t_c = dsp.TimeScope(...
'Name','Señal recibida del canal',...
'SampleRate',Fs,...
'TimeSpan',fL/Fs,...
'BufferLength',1e6,...
'YLimits',[-1.1 1.1]);
scope_f_c = dsp.SpectrumAnalyzer(...
'Name','Espectro de señal recibida del canal',...
'SampleRate',Fs,...
'SpectralAverages',1,...
'PlotAsTwoSidedSpectrum',false,...
'RBWSource','Auto');
while 1
signal = deviceReader();
scope_t_c(signal);
scope_f_c(signal);
end
toc
release(udpr);
4/6
UNIDAD PROFESIONAL INTERDISCIPLINARIA EN INGENIERIA
Y TECNOLGIAS AVANZADAS – IPN
16. Compilar el proyecto y cargar el código ejecutable en la memoria interna del DSP. Conecte un audífono al
DSK y su celular al micrófono del DSK mediante un cable auxiliar y pruebe el filtro. Verifique que la
interferencia se haya eliminado. (Calificación 8.5).
17. Con las herramientas de visualización del CCS, graficar la respuesta al impulso, en frecuencia y en fase
del filtro. (Consulte con el docente este paso). Capture las gráficas obtenidas e inclúyalas en el reporte.
18. Modificar el programa de tal forma que usando los dipswitchs, se pueda seleccionar la salida sin filtrar
(Dip0) y la salida filtrada (Dip1) en tiempo real. Si no se oprime ningún dipswitch no debe haber salida.
(Calificación 10).
19. (Opcional) Implementar todo pero ahora usando poleo en vez de la interrupción 11.
Resultados
Respuesta de la pregunta 13
Su propio código de filtrado
Resultados del análisis del archivo .wav en tiempo y en frecuencia
Gráficas del filtro FIR diseñado en Matlab (respuesta al impulso, respuesta en frecencia,
respuesta en fase, gráfica de polos y ceros, retardo de grupo).
Gráficas del filtro FIR visualizado en el CCS V8.x
Cuestionario
7. Investigue acerca de filtros FIR de fase no lineal (ortogonales). Consulte previamente con el docente antes
de responder la pregunta.
8. ¿En qué casos preferimos usar un filtro FIR en comparación con un filtro IIR?
5/6
UNIDAD PROFESIONAL INTERDISCIPLINARIA EN INGENIERIA
Y TECNOLGIAS AVANZADAS – IPN
6/6
UNIDAD PROFESIONAL INTERDISCIPLINARIA EN INGENIERIA
Y TECNOLGIAS AVANZADAS – IPN
Bibliografía
[1] Code Composer Studio IDE Getting Started Guide, User's Guide. SPRU509f.
[2] F. J. Barrero García, S. L. Toral Marín, M. Ruiz González, Procesadores Digitales de Señal de altas
prestaciones de Texas Instruments, Mc Graw-Hill, 2005.
[3] R. Chassaing, Digital Signal Processing and Applications with the C6713 and C6416 DSK, Wiley-
Interscience, 2005.
[4] S. A. Tretter, “Communication System Design Using DSP Algorithms, with Laboratory Experiments for
the TMS320C6713TM DSK”, Springer 2008.
7/6