Autor Tema: Filtros IIR y FIR  (Leído 22752 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado blackcat

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 600
Re: Filtros IIR y FIR
« Respuesta #15 en: 18 de Diciembre de 2007, 14:04:03 »
AHH si parece muy razonable ... Como la función MAC solo suma entonces la resta debe hacerse de manera implícita ( poniendo números negativos ) ... Perdón por la tardanza pero hasta ahora lo leí!!  :D :D :D
« Última modificación: 18 de Diciembre de 2007, 22:28:37 por blackcat »
Control Automático, DSP & Microcontroladores

Desconectado niuton

  • PIC10
  • *
  • Mensajes: 21
Re: Filtros IIR y FIR
« Respuesta #16 en: 14 de Julio de 2010, 20:48:08 »
Hola a todos, ya se que este post tiene más de 2 años pero a ver si me podeis aclarar una duda. Con este post he aprendido ha implementar un filtro digital en un dsPIC30F (muy buen post) y todo funciona muy bien cuando filtro la entrada del ADC con una muestra (filtro ONLINE) y un filtro butterworth de 2 orden, el problema biene cuando quiero aplicar el mismo filtro a dos entradas del ADC. En este caso los valores que obtengo no tiene ningun sentido.

¿se puede utilizar el mismo filtro para usar en diferentes entradas? o ¿es necesario crear un filtro para cada entrada a filtrar?

yo he probado ha hacer dos filtros y aplicara cada uno a una entrada del ADC y funciona.

un saludo y gracias.

Desconectado blackcat

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 600
Re: Filtros IIR y FIR
« Respuesta #17 en: 16 de Julio de 2010, 23:02:11 »
Hola a todos, ya se que este post tiene más de 2 años pero a ver si me podeis aclarar una duda. Con este post he aprendido ha implementar un filtro digital en un dsPIC30F (muy buen post) y todo funciona muy bien cuando filtro la entrada del ADC con una muestra (filtro ONLINE) y un filtro butterworth de 2 orden, el problema biene cuando quiero aplicar el mismo filtro a dos entradas del ADC. En este caso los valores que obtengo no tiene ningun sentido.

¿se puede utilizar el mismo filtro para usar en diferentes entradas? o ¿es necesario crear un filtro para cada entrada a filtrar?

yo he probado ha hacer dos filtros y aplicara cada uno a una entrada del ADC y funciona.

un saludo y gracias.

Hola!

Di debes crear un filtro por cada entrada analogica, Esto es por el filtro guarda datos de muestras pasadas y resultados pasados para calcular el resultado actual.

Saludos!
Control Automático, DSP & Microcontroladores

Desconectado niuton

  • PIC10
  • *
  • Mensajes: 21
Re: Filtros IIR y FIR
« Respuesta #18 en: 17 de Julio de 2010, 07:24:31 »
gracias por responder Blackcat, entonces con lo que me has comentado he intentado unir todo los filtros en un mismo archivo para evitar declarar 2 veces las mismas constantes y no se si se puede hacer esto por que de ASM no estoy puesto y no lo puedo probar en la placa todavia.

yo he utlizado el FILTER DESIGNER de microchip y obtengo el archivo *.s que contiene los coeficientes y la inicialización:
Código: [Seleccionar]
; ;;;;;;;;;;;;;;;;;;;;FILTRO ADC 1
.section .data
.global _FPB_1_Filter

_FPB_1_Filter:
.hword FPB_BUTTNumSections-1
.hword FPB_BUTTCoefs
.hword 0xFF00
.hword FPB_BUTTStates1
.hword FPB_BUTTStates2
.hword 0x0000

;;;;;;;;;;;;;;;;;;;;FILTRO ADC 2
.section .data
.global _FPB_2_Filter

_FPB_2_Filter:
.hword FPB_BUTTNumSections-1
.hword FPB_BUTTCoefs
.hword 0xFF00
.hword FPB_BUTTStates1
.hword FPB_BUTTStates2
.hword 0x0000


de esta forma reutilizo los parametros del filtro para el resto. Compilar compila ¿creesque esto es viable? la semana que viene lo podré probar y comento

Y  algo que no entiendo:

para crear la estrutura en C30 yo utilizo:

Código: [Seleccionar]
IIRTransposedStruct FPB_1_Filter, FPB_2_Filter
¿y se debe nombrar con el mismo nombre que en el archivo *.s ? pero en el archivo .s el nombre del filtro es "_FPB_2_Filter" y en C "FPB_2_Filter" esto siempre es así en ASM o lo estoy haciendo mal.

un saludo y gracias

Desconectado k13

  • PIC10
  • *
  • Mensajes: 1
Re: Filtros IIR y FIR
« Respuesta #19 en: 10 de Marzo de 2011, 06:10:13 »
Buenas,
también hace un tiempo del último del último mensaje, pero creo que va en este hilo.

Muchas gracias Blackcat por tu aporte para trasformar los coeficientes de Matlab, pero me surge un problema.
Simplemente quiero hacer un IIRCanonic con la librería, y me piden dos parámetros, ganancia inicial y escalado en la salida, pero cuando obtengo los coeficientes con Matlab, me salen dos ganancias (una para cada sección) y la ganancia de salida.

Y me he atascado un poco y no sé como implementarlo. Supongo que la ganancia de salida será el escalado, pero de las dos ganancias de las secciones no sé cómo ponerlas si sólo tengo la opción de una ganancia inicial.

Muchas gracias de antemano y un saludo.


 

anything