Autor Tema: Respuesta logaritmica  (Leído 2313 veces)

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

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3206
Respuesta logaritmica
« en: 23 de Febrero de 2019, 17:09:52 »
Tengo una variable que almacena un valor entre 0 y 475, quiero obtener un valor con respuesta logarítmica entre ese mismo margen ¿como puedo conseguirlo? supongo que hay que multiplicar el valor de la variable por una función.

Saludos!!!
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Respuesta logaritmica
« Respuesta #1 en: 23 de Febrero de 2019, 17:41:11 »
Podrias explicarte con un ejemplo que es lo que queres hacer?

Si el resultado el logaritmo debe ser de 0 a 475. O si pensas pasar 0 a 475 como "variable" del logaritmo, me refiero a log(variable). Tal ves lo mejor sea aproximarlo con rectas a lo que pretendes.. Y dependiendo del rango aplicar alguna formula con unicamente enteros. Realmente no se que queres lograr con esta conversion.

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3206
Re:Respuesta logaritmica
« Respuesta #2 en: 23 de Febrero de 2019, 17:53:20 »
Tengo un potencihometro que uso con el común a la entrada de un ADC de un PIC, y en los extremos GND y 5V, quiero cuando leo con el ADC hasta un poco menos del centro (con 10 bit la mitad es 512, pues un poco menos 475) que al ser el potenciometro lineal, la lectura también lo es, una variable con una respuesta logaritmica, que varie de 0 a 475 pero de forma logaritmica.

La idea sería que cuando el adc valga 10 por ejemplo, la variable valga 3 por ejemplo. Cuando valga 100, la variable 75... lo que es una respuesta logaritmica (variable) respecto de una entrada lineal (ADC). Siendo los límites del ADC de 0 a 475, y la variable igualmente de 0 a 475.
« Última modificación: 23 de Febrero de 2019, 18:02:54 por micro_pepe »
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Conectado Eduardo2

  • PIC24F
  • *****
  • Mensajes: 947
Re:Respuesta logaritmica
« Respuesta #3 en: 23 de Febrero de 2019, 19:55:31 »
....La idea sería que cuando el adc valga 10 por ejemplo, la variable valga 3 por ejemplo. Cuando valga 100, la variable 75... lo que es una respuesta logaritmica (variable) respecto de una entrada lineal (ADC)....

Son infinitas las curvas realmente logarítmicas que cumplen eso. Como también son infinitas las curvas polinómicas, racionales etc que también lo cumplen.

Mejor hacé una tabla con por lo menos 10 valores y con eso se puede calcular las constantes de la curva a utilizar. 

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3206
Re:Respuesta logaritmica
« Respuesta #4 en: 24 de Febrero de 2019, 17:29:43 »
Bueno, finalmente lo he solucionado con dos rectas, necesitaba una respuesta con poca pendiente hasta un valor de 300 aproximadamente, y a partir de ahí una pendiente alta.

Gracias!!! Un saludo.
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5878
    • Picuino
Re:Respuesta logaritmica
« Respuesta #5 en: 25 de Febrero de 2019, 16:47:31 »
Para eso puedes utilizar un polinomio de grado 2 que es más suave.
Por ejemplo:

   Y = X * ( 0,502247741 + X * 0,001047899)

Este polinomio interpola la función:
   Y = (EXP(X/475) - 1) * 475/1,718

Con un error máximo de 0.7%

Un saludo.




Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3206
Re:Respuesta logaritmica
« Respuesta #6 en: 26 de Febrero de 2019, 18:51:54 »
Para eso puedes utilizar un polinomio de grado 2 que es más suave.
Por ejemplo:

   Y = X * ( 0,502247741 + X * 0,001047899)

Este polinomio interpola la función:
   Y = (EXP(X/475) - 1) * 475/1,718

Con un error máximo de 0.7%

Un saludo.

Así va más suave, aunque come más recursos del PIC, pero todavía sobran.

Gracias!!!
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡