TODOPIC
Microcontroladores PIC => dsPIC => Mensaje iniciado por: macvan74 en 21 de Diciembre de 2005, 00:29:00
-
hola! tengo que programar un filtro pasabajas como parte de un proyecto que estoy haciendo, con el dspic30f4011, y quisiera saber si alguien tiene un algoritmo o algun tipo de ayuda para comenzar a hacerlo. espero que me puedan ayudar. gracias
-
Mira este enlace:
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2509
La CE005 te da ejemplos de filtros FIR para dsPIC.
-
float xfh=0,xfl=0,fbp=0;
xfh=(xfh*23+ADCBUF1)/24;
xfl=(xfl*31+ADCBUF1)/32;
xbp=(xfl-xfh);
Bueno, esto me lo invente para filtrar una señal que leia con el ADC. Hay estan dos filtros pasobajo y un filtro pasa banda.
El funcionamiento es similar a hacer la media de las dos señales ADCBUF1 y xfl o xfh. Para hacer la media tendriamos que hacer (xfh+ADCBUF1)/2, si multiplicamos xf por 7 , le sumamos ADCBUF y lo dividimos por 8 lo que obtenemos es la octava parte de ADCBUF sumada o restada a xf(si ADCBUS era mayor que xf se suma y si era menor se resta). tb se pueden hacer filtros paso altos restando de la siguiente manera:
xpasaalto=(ADCBUF1-xhhpasaalto*7)/8 aunque esto no estoy muy seguro, pero si haces algunas pruebas lo conseguiras. Y filtros elimina banda tp debe ser dificil... Yo e operado en flotante para asegurar que todo salga bien, pero creo que tb se puede conseguri con enteros.
-
les agradezco sus respuestas, me van a ser de mucha ayuda, aunque apenas estoy aprendiendo a programar dspics, y lo estoy haciendo en ensamblador , asi que voy a tardar un poco, pero ya tengo ejemplos para guiarme. hasta luego y gracias!!
-
Pues te recomiendo ancarecidamente que aprendas a programarlos en C. Con las herramientas que hay para el MPLAB (C30) y las librerías que trae, haras programas en muy poco tiempo.
Pienso que es una locura aprender a programar los dsPIC en asm.
-
creo que tienes razon, empezare a programar en c, ya que he tenido algunos problemas para hacer mi filtro en ensamblador. lo malo es que no se bien que sintaxis o elementos extras hay que poner en un programa en c para dspic, ya que nunca he programado pics ni dspic, solo he programado micros de motorola y atmel, pero en ensamblador. te pido porfavor que me pases un tutorial o un ejemplo (si es de un filtro mejor)donde venga la estructura de un programa en c para dspics, ya que no se bien como programar con el C30. espero me puedas ayudar de nuevo ya que en verdad quiero aprender a programar estos dspics. gracias
-
Para iniciarme en el C30 he seguido este tutorial. Tiene ejemplos desde cero y te enseña paso a paso las entrañas del C30 y los dsPIC.
http://ww1.microchip.com/downloads/en/DeviceDoc/70094c.pdf
Después te vas al anlace que te puse al principio de este tema, que hay ejemplos de filtros FIR de todas las clases.
-
te agradezco el tutorial, se ve que es mucho mas facil programar los dspic en c, pero ya casi lo acabe en ensamblador, de todos modos en cuanto acabe este proyecto quiero ponerme a aprender a programarlo en c, asi que me va a ser de mucha ayuda el link que pusiste, gracias!
-
Hola yo he trabajado con filtros digitales en ensamblador, si tienes algùn problema de pronto yo te pueda ayudar
-
hola amiga! donde estabas hace 1 mes cuando te necesitaba!!je,es broma, te agradezco tu ayuda, pero ese proyecto ya lo acabe, pues lo presente el 4 de enero, al final si lo hice en ensamblador, y funciono mas o menos bien. de igual forma, si algun dia necesitas ayuda, cuanta conmigo, aunque tengo mas experiencia con el avr ATmega8535 que con los dspic. hasta luego!! y gracias!