¿Como se programa un filtro IIR y FIR en un PIC16f84A?

Se puede realizar este filtro en un PIC de ese modelo? Baje un programita de microchips pero es para dsPIC's y quisiera saber si puedo implementarlo, maximo de 5 orden

Busco realizar 8 filtros, pasa baja, pasa alta, pasa banda y rechaza banda en IIR y FIR

:eek:
 
lo que se suele hacer es convertir una señal analógica con un conversor ADC, luego aplicarle el filtrado en forma digital y luego volver a convertir a analógica con un conversor DAC.

Los dsp suelen venir con un ADC integrado, el pic16F84A no tiene ADC, aunque podés usar uno externo.

Para implementar el filtro tenés que saber que transferencia en variable Z le vas a aplicar, luego encontrás una ecuación recursiva. Estas se suelen poder dibujar como un diagrama en bloques, cada nodo del diagrama puede ser una variable en memoria. Si en el nodo toca alguna transferencia de tipo z^(-N) , vas a tener que reservar N posiciones de memoria para ese nodo.

Como el pic16F84A tiene poca RAM, creo que vas a poder hacer filtros muy simples solamente.
Habría que probar.....:unsure:
 
Interesante foso, estudié los filtros digitales en la universidad, y los implementé en Matlab, pero nunca en PIC.
Voy a leer algo en la página de microchip para entender un poco más.
Saludos!
 
Poder se tiene que poder. Estás un poco jugado, por ejemplo si vas a implementarlo en audio y muestreas a 10kHz, tenés un poco menos de 100µs para aplicar el filtrado, con un Xtal de 20MHz llegás a unas 500 instrucciones entre sample y sample. Con lo cual, ya si tenés que hacer multiplicaciones etás jugado con el tiempo porque los pics de baja gama no tienen multiplicador por hardware y tenés que implementar una rutina. Es todo un desafío, ahora el que puede con un pic puede con cualquier cosa... ;)
 
Atrás
Arriba