• Miércoles 12 de Mayo de 2021, 01:03

Autor Tema:  Integración Dspicfdlite  (Leído 3192 veces)

Bixix

  • Miembro activo
  • **
  • Mensajes: 45
    • Ver Perfil
Integración Dspicfdlite
« en: Martes 1 de Marzo de 2005, 11:39 »
0
Hola amigos! :lol:

He descubierto que microchip facilita con MPLAB un programa muy adecuado para filtras señales.
Se trata de facilitar las características de tu filtro y el programa facilita toda la información sobre el filtro..
respuesta a un escalón unitario, evolución de la fase respecto  a diferentes frecuencias...

Y eso no es todo!!
cuando hayas diseñado tu super filtro, te genera el código en C!!!!!

Pero aquí es cuando empiezan mis problemas, porque no controlo mucho C, y tengo dificultades para insertar este código en mi programa..

he insertado el FIR_Highpass_400.c en mi proyecto. y tambien el ged_cgen.h y el
 qed_filt.c
pero al compilar me da error

main.c:3:22: qed_cgen.h: No such file or directory
main.c:4:22: qed_filt.c: No such file or directory

Alguien me podría echar una mano?? :hola:

Platypus

  • Miembro activo
  • **
  • Mensajes: 63
    • Ver Perfil
Re: Integración Dspicfdlite
« Respuesta #1 en: Martes 1 de Marzo de 2005, 20:53 »
0
Hola de nuevo,  :)

tienes dos opciones una:

Bixix Escrito el 1/03/2005, 11:39 AM
 
Citar
cuando hayas diseñado tu super filtro, te genera el código en C!!!!!

y la otra y seguramente más recomendable es generar el código para el dsPIC30. Si abres el menú de Codegen tienes estas dos opciones (la segunada en Microchip -> dsPIC30).

El fichero de salida en ASM lo metes en "source files" y después en tu archivo C declaras la estructura del filtro como "extern". Debes inicializar el filtro y despues al llamar a la función de filtro debes indicarle array de entrada y salida, estructura y número de muestras (tienes más info en la guía de usuario de las librarías DSP en " Filtering Functions") recuerda que debes incluir la dsp.h, ahora que lo veo, también te habla sobre filtros IIR y FIR. Si quieres entenderlos espero que andes bien de matemáticas porque yo ando un poco pez.

Saludos.  :lol:

Bixix

  • Miembro activo
  • **
  • Mensajes: 45
    • Ver Perfil
Re: Integración Dspicfdlite
« Respuesta #2 en: Jueves 3 de Marzo de 2005, 11:35 »
0
gracias!!   ;)

Pero no consigo acabar de filtrar!! :(

en mi programa se produce una interrupción para que el dsPIc se comunique con el codec Si3000.
Y es entonces, en la interrupción donde se da la igualdad TXBUF=RXBUF;
(TXBUF es un int no?? )
Entiendo que la data que se recibe se copia directamente en el buffer de salida.
Luego, que  es aquí donde tengo que filtrar mi señal.

Paso todos los parametros que necesita (incluyendo los coeficientes) a este. c llamado codec.c .

El rebuild me hace bien. Los ficheros están bien.
Entonces inicializo la función;
init_fir_float (&FIR_FIR150_5500be);


 y a continuación en vez de escribir (con esto sale lo que entra y fundiona) :


void __attribute__((__interrupt__)) _DCIInterrupt(void) {

 /*TXBUF0 = RXBUF0;
  TXBUF1 = RXBUF1;
  TXBUF2 = RXBUF2;
  TXBUF3 = RXBUF3;
  IFS2bits.DCIIF = 0;}*/

intento llamar a la función de  filtrar de esta otra forma


void __attribute__((__interrupt__)) _DCIInterrupt(void) {
 /*
  arrayEntrada64[0+i_i] = RXBUF0;
  arrayEntrada64[1+i_i] = RXBUF1;
  arrayEntrada64[2+i_i] = RXBUF2;
  arrayEntrada64[3+i_i] = RXBUF3;}

  FIR_FIR150_5500be.filter(arrayEntrada64, arraySalida64, 64, &FIR_FIR150_5500be);

   for (j_j=0; j_j>=64; j_j= j_j+4;)
   
  TXBUF0 = arraySalida64[0+j_j];
  TXBUF1 = arraySalida64[1+j_j];
  TXBUF2 = arraySalida64[2+j_j];
  TXBUF3 = arraySalida64[3+j_j];
   }
  IFS2bits.DCIIF = 0;
   i_i=i_i+4;
 
 
y No oigo nada!!



què puede pasar??

GRACIAS :)

alexjdm

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re:Integración Dspicfdlite
« Respuesta #3 en: Miércoles 14 de Septiembre de 2011, 16:38 »
0
Yo estoy aprendiendo a usar tambien el dspicfdlite y al compilar me tira el mismo error:

main.c:3:22: qed_cgen.h: No such file or directory
main.c:4:22: qed_filt.c: No such file or directory

pero tu dijiste que habias conseguido agregarlas? de donde las sacaste para poder agregarlas?
Gracias

eddy8a

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re:Integración Dspicfdlite
« Respuesta #4 en: Lunes 3 de Septiembre de 2012, 19:46 »
0
hola amigos

al igual que ustedes estoy aprendiendo a usar esta herramienta dspicfdlite y al compilar mi codigo me arroja los mismos errores:

main.c:3:22: qed_cgen.h: No such file or directory
main.c:4:22: qed_filt.c: No such file or directory

yo pienso que es porque estoi utilizando la vercion de demostracion, y por eso no nos genera o no cuenta con las librerias necesarias para que el codigo compile bien.

alguno de ustedes tiene la vercion completa del dspicfdlite?