Autor Tema: Filtro digital  (Leído 1486 veces)

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

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2980
Filtro digital
« en: 09 de Enero de 2023, 18:39:22 »
Hola.

Me gustaría hacer algo que no he hecho nunca y ya va siendo hora ya que resulta muy util en muchas situaciones.

Quiero crear un filtro paso de banda digital, donde el ruido es bastante mas grande que la señal de medida, como por ejemplo la tensión de la red, para ello supongo el siguiente circuito:

 

* 1.png
(7.92 kB, 707x338 - visto 199 veces)


Supongo que V2 y R3 son conocidas, siento R3=10K y V2 la señal que yo inyecto al sistema de 12Vrms 200Hz senoidal.

¿quiero averiguar la impedancia formada por R1//C1 = 62,26K (según https://www.translatorscafe.com/unit-converter/es-ES/calculator/parallel-rc-impedance/)

Para ello mediría Vout y la intensidad que circula por R3. Si simulamos con V1 = 0 tenemos Vout=10,781 Vrms e I=173,27 uArms, lo que da Z = Vout/I = 62,581K, correcto.
Pero claro al tener la tensión V1 tenemos como resultado mas de 95K como es lógico. Hay que filtrar V1.

Quiero simular las cuentas en excel para ver como hacerlo y luego llevarlo a la practica, lo mas parecido posible a lo que luego haría en C en el micro, ltspice me permite sacar los puntos de la grafica, así que seria como tener los datos que toma el ADC en una tabla.
Tengo entendido que como la frecuencia que deseo muestrear es de 200Hz como mínimo necesito una tasa de muestreo de 400Hz, voy a poner una tasa de una muestra cada 100uS que son 10000 samples por segundo una velocidad muy fácil para cualquier micro.

Lo primero que veo es que normalmente se usan dos tipos de filtros para esto los FIR y los IIR, como este será en periodos finitos, por ejemplo, cada dos segundos o el periodo de medida que sea, supongo que lo mejor es utilizar un filtro FIR.

¿Voy bien por ahora? ¿Sabéis de alguna calculadora que te saque la formula para el filtro FIR a una frecuencia dada? ¿o hay que hacerlo con lápiz y papel? de ser así alguna nota de aplicación o tutorial para refrescar lo de la uni? Tengo un poco olvidado a fourier y transformadas la verdad.

un saludo.
« Última modificación: 10 de Enero de 2023, 07:12:27 por juaperser1 »

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:Filtro digital
« Respuesta #1 en: 09 de Enero de 2023, 20:38:51 »

Supongo que V2 y R3 son conocidas, siento R3=10K y V2 la señal que yo inyecto al sistema de 12Vrms 200Hz senoidal.

¿quiero averiguar la impedancia formada por R1//C1 = 62,26K (según https://www.translatorscafe.com/unit-converter/es-ES/calculator/parallel-rc-impedance/)


Según el diagrama que has compartido.

¿V2 es Vout?

¿Quién es R3? R23 o R24.

¿Quién es R1? ¿Dónde está C1?

Tus preguntas son muy interesantes, pero creo que te lías un poco para explicarlas de manera más simple.
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2980
Re:Filtro digital
« Respuesta #2 en: 09 de Enero de 2023, 21:46:00 »
He puesto una imagen que no era lo siento.

A ver en la imagen:

R24= R3
V5 = V1
V4 = V2
Y la impedancia es R23 y C10
Vout2 obviamente es vout

Ahora desde el móvil no puedo arreglar la imagen. Mañana en cuanto pueda la sustituyo

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2980
Re:Filtro digital
« Respuesta #3 en: 10 de Enero de 2023, 07:12:43 »
Ya esta arreglada la imagen en el primer mensaje

Desconectado Eduardo2

  • PIC24H
  • ******
  • Mensajes: 1004
Re:Filtro digital
« Respuesta #4 en: 24 de Enero de 2023, 17:19:25 »
...
Quiero crear un filtro paso de banda digital, donde el ruido es bastante mas grande que la señal de medida, como por ejemplo la tensión de la red, para ello supongo el siguiente circuito:
....
Supongo que V2 y R3 son conocidas, siento R3=10K y V2 la señal que yo inyecto al sistema de 12Vrms 200Hz senoidal.
¿quiero averiguar la impedancia formada por R1//C1 = 62,26K
Para ello mediría Vout y la intensidad que circula por R3. Si simulamos con V1 = 0 tenemos Vout=10,781 Vrms e I=173,27 uArms, lo que da Z = Vout/I = 62,581K, correcto.
Pero claro al tener la tensión V1 tenemos como resultado mas de 95K como es lógico. Hay que filtrar V1.
Si el ejemplo es nada mas que para probar filtros está bien, pero si es un caso práctico donde hay que medir la impedancia con esas condicionres, un filtro FIR/IIR no es  la mejor opción.

Citar
Quiero simular las cuentas en excel para ver como hacerlo y luego llevarlo a la practica, lo mas parecido posible a lo que luego haría en C en el micro,
Para el diseño del filtro te conviene usar una calculadora online o software general pero orientado a matemáticas, como matlab/octave.   
Después, ya teniendo definido los coeficientes del filtro,  lo simulas con Excel si querés, total son sumas de productos, pero mejor Octave ;)

Citar
ltspice me permite sacar los puntos de la grafica, así que seria como tener los datos que toma el ADC en una tabla.
:shock:  no son pocos puntos, son cientos o miles de acuerdo a la velocidad de muestreo. 
LTSpice te permite grabar un archivo .wav de la señal y leerlo después con Octave para procesarlo.

Citar
Tengo entendido que como la frecuencia que deseo muestrear es de 200Hz como mínimo necesito una tasa de muestreo de 400Hz, voy a poner una tasa de una muestra cada 100uS que son 10000 samples por segundo una velocidad muy fácil para cualquier micro.
Si vas a usar un FIR no convienen frecuencias de muestreo mucho mas altas que las a procesar porque se necesitan muchas etapas, con 1000sps es suficiente.

Citar
Lo primero que veo es que normalmente se usan dos tipos de filtros para esto los FIR y los IIR, como este será en periodos finitos, por ejemplo, cada dos segundos o el periodo de medida que sea, supongo que lo mejor es utilizar un filtro FIR.
No, podrias usar un IIR tranquilamente. Un IIR, al ser recursivo necesita almacenar muchisimas menos muestras por cada valor de salida, por ejemplo 2...6 contra 20...60 el FIR. Pero tienen el problema de una mala respuesta en fase cuanto mas abrupto sea el corte.

Citar
¿Sabéis de alguna calculadora que te saque la formula para el filtro FIR a una frecuencia dada? ¿o hay que hacerlo con lápiz y papel? de ser así alguna nota de aplicación o tutorial para refrescar lo de la uni? Tengo un poco olvidado a fourier y transformadas la verdad.
Calculadoras online se encuentra mucho, yo prefiero Octave o Matlab. 
Un FIR básico consiste en los coeficientes de la serie de Fourier de la respuesta en frecuencia multiplicados por la ventana (Hamming,Hanning,Blackman, etc) lo podés hacer en Excel, pero conviene software mas dedicado (o calculadoras) porque necesitas ver gráficas para decidir el numero de etapas y ventana.