Autor Tema: Funcion "SquareMagnitudeCplx();"  (Leído 2615 veces)

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

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3206
Funcion "SquareMagnitudeCplx();"
« en: 23 de Octubre de 2009, 14:23:15 »
Estoy tratando hacer la FFT con un dsPIC30F4012.

El programa es una modificacion de uno que encontre en internet (En otro hilo en este mismo foro "analizador de espectro de audio"), el caso es que una vez echa la FFT utiliza esta funcion: SquareMagnitudeCplx(NUMSAMP, &inputSignal[0], &Power_Vector[0]);

Donde inputSignal es un fractcomplex, y Power_Vector es un fractional. Esta funcion no me viene en el Language Tools Libraries, pero imagino que en Power_Vector guarda el modulo del numero complejo inputSignal.

Si hago lo siguiente para visualizar el resultado: LCD_PUTUN(9,Power_Vector[0]); me aparece, con una señal continua variando entre 0 y 5v, una lectura de 0, 1 o 2.

Sin embargo si hago esto:  LCD_PUTUN(9,inputSignal[0].real);

Aparece una lectura entre 0 y 270, entonces no me cuadra el resultado, aunque se usen tipos de variable fractional yo estoy representando el contenido de los bit de la variable en decimal.

Espero alguna idea.

Un saludo.
« Última modificación: 23 de Octubre de 2009, 14:29:08 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.

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

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3206
Re: Funcion "SquareMagnitudeCplx();"
« Respuesta #1 en: 24 de Octubre de 2009, 12:44:27 »
Asunto resuelto, el problema era configurar el ADC como datos fracionales.

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 FEBB

  • PIC10
  • *
  • Mensajes: 1
Re: Funcion "SquareMagnitudeCplx();"
« Respuesta #2 en: 18 de Octubre de 2010, 18:48:59 »
Hola me gustaría saber como configuras el adc para que quede fraccional

Desconectado hibiscusblau

  • PIC10
  • *
  • Mensajes: 26
Re: Funcion "SquareMagnitudeCplx();"
« Respuesta #3 en: 13 de Diciembre de 2012, 09:23:25 »
hola FEBB,

supongo que ya no las encontrado, pero para otros navegantes que lleguen a esta pregunta, puedes configurar el ADC tipo fractional en el registro ADCON1:

       ADCON1bits.FORM = 2;  // 11 Signal fractional, 10 Fractional, 01 Signed integer, 00 Integer