Referencia del Archivo xfft2.c

C�lculo de FFT de secuencias reales. Más...

#include "_xfft.h"

Dependencia gráfica adjunta para xfft2.c:

Ir al código fuente de este archivo.

Definiciones

#define __rfft_rfft(r, invec)
 Macro de uso interno.

Funciones

PUBLIC pRFFT XAPI rfft_construct (SPL_INT np, SPL_INT fftnp, SPL_BOOL inv, SPL_FLOAT ufactor, XFFT_WIN win, XFFT_WIN_FUNC winfunc)
 Inicializaci�n de _RFFT.
PUBLIC SPL_VOID XAPI rfft_destruct (pRFFT r)
 Destructor para una estructura _RFFT.
PUBLIC SPL_BOOL XAPI rfft_setwin (pRFFT r, XFFT_WIN win, XFFT_WIN_FUNC winfunc)
 Modifica el tipo de enventanado.
PUBLIC SPL_BOOL XAPI rfft_setnp (pRFFT r, SPL_INT np)
 Fija la longitud de los vectores de entrada.
PUBLIC SPL_BOOL XAPI rfft_setnpwin (pRFFT r, SPL_INT np, XFFT_WIN win, XFFT_WIN_FUNC winfunc)
 Modifica el tipo de enventanado y la longitud de los vectores de entrada a la vez.
PUBLIC SPL_VOID XAPI rfft_setinv (pRFFT r, SPL_BOOL inv)
 Fija el c�lculo a FFT directa o inversa.
PUBLIC SPL_VOID XAPI rfft_setufactor (pRFFT r, SPL_FLOAT ufactor)
 Fija el factor de escala.
PUBLIC SPL_VOID XAPI rfft_set0piweight (pRFFT r, SPL_BOOL weight)
 Configura el factor de ponderaci�n en 0 y PI.
PUBLIC SPL_BOOL XAPI rfft_get0piweight (pRFFT r)
 Devuelve el estado del factor de ponderaci�n.
PUBLIC SPL_INT XAPI rfft_getnp (pRFFT r)
 Devuelve el n�mero de puntos de los vectores de entrada.
PUBLIC SPL_INT XAPI rfft_getfftnp (pRFFT r)
 Devuelve el n�mero de puntos de la FFT.
PUBLIC SPL_INT XAPI rfft_getvecnp (pRFFT r)
 Devuelve el n�mero de puntos de la FFT.
PUBLIC XFFT_WIN XAPI rfft_getwin (pRFFT r)
 Devuelve el tipo de enventanado utilizado.
PUBLIC SPL_pFLOAT XAPI rfft_getwinvec (pRFFT r)
 Devuelve el vector que contiene la ventana.
PUBLIC XFFT_WIN_FUNC XAPI rfft_getwinfunc (pRFFT r)
 Devuelve el puntero a la funci�n de enventanado suministrada por el usuario.
PUBLIC SPL_BOOL XAPI rfft_getinv (pRFFT r)
 Devuelve si se est� calculando una FFT directa o inversa.
PUBLIC SPL_FLOAT XAPI rfft_getufactor (pRFFT r)
 Devuelve el factor de escala aplicado.
PUBLIC SPL_pFLOAT XAPI rfft_getrevec (pRFFT r)
 Acceso a la parte real de la FFT.
PUBLIC SPL_pFLOAT XAPI rfft_getimvec (pRFFT r)
 Acceso a la parte imaginaria de la FFT.
PRIVATE SPL_VOID rfft_dofft (pRFFT r)
 Uso interno.
PUBLIC SPL_VOID XAPI rfft_rfft (pRFFT r, SPL_pFLOAT invec)
 Calcula la FFT de una secuencia real.
PUBLIC SPL_VOID XAPI rfft_rfft_i (pRFFT r, SPL_pINT invec)
 Calcula la FFT de una secuencia real.
PUBLIC SPL_VOID XAPI rfft_rfft_i16 (pRFFT r, pINT16 invec)
 Calcula la FFT de una secuencia real.
PUBLIC SPL_VOID XAPI rfft_rfft_i32 (pRFFT r, pINT32 invec)
 Calcula la FFT de una secuencia real.
PUBLIC SPL_VOID XAPI rfft_rfft_u32 (pRFFT r, pUINT32 invec)
 Calcula la FFT de una secuencia real.
PUBLIC SPL_VOID XAPI rfft_rfft_f32 (pRFFT r, pFLOAT32 invec)
 Calcula la FFT de una secuencia real.
PUBLIC SPL_VOID XAPI rfft_mag (pRFFT r)
 Calcula el m�dulo de una FFT ya calculada.
PUBLIC SPL_VOID XAPI rfft_norm (pRFFT r)
 Calcula la norma de una FFT ya calculada.
PUBLIC SPL_VOID XAPI rfft_arg (pRFFT r)
 Calcula la fase de una FFT ya calculada.
PUBLIC SPL_VOID XAPI rfft_magarg (pRFFT r)
 Calcula el m�dulo y la fase de una FFT ya calculada.
PUBLIC SPL_VOID XAPI rfft_normarg (pRFFT r)
 Calcula la norma y la fase de una FFT ya calculada.
PUBLIC SPL_VOID XAPI rfft_trefmove_reim (pRFFT r, SPL_FLOAT nTs)
 Incorpora un retardo temporal a los valores de la FFT.
PUBLIC SPL_VOID XAPI rfft_trefmove_arg (pRFFT r, SPL_FLOAT nTs)
 Incorpora un retardo temporal a los valores de la FFT.
PUBLIC SPL_VOID XAPI rfft_trefmove_argm (pRFFT r, SPL_FLOAT nTs)
 Incorpora un retardo temporal a los valores de la FFT.


Descripción detallada

Copyright: 1994 - Grupo de Voz (DAET) ETSII/IT-Bilbao
Autor:
Borja Etxebarria
Versión:
1.4.0
Fecha:
02/01/97
Funciones para el calculo eficiente y reiterado de FFT real.

Definición en el archivo xfft2.c.


Documentación de las definiciones

#define __rfft_rfft ( r,
invec   ) 

Definición en la línea 658 del archivo xfft2.c.


Documentación de las funciones

PUBLIC pRFFT XAPI rfft_construct ( SPL_INT  np,
SPL_INT  fftnp,
SPL_BOOL  inv,
SPL_FLOAT  ufactor,
XFFT_WIN  win,
XFFT_WIN_FUNC  winfunc 
)

Inicializa una estructura _RFFT para el c�lculo de FFT de secuencias reales

Parámetros:
np N�mero de puntos del vector de entrada (del que se quiere calcular la FFT). Ha de ser mayor que cero, pero no forzosamente potencia de dos. En caso de que no sea potencia de dos, se rellena autom�ticamente con ceros
fftnp N�mero de puntos de la FFT. Ha de ser mayor o igual a cero
Si es cero, se utiliza la menor potencia de dos superior o igual a np.
Si no es cero, se utiliza la menor potencia de dos superior o igual a fftnp.
Si np es mayor que fftnp, el vector de datos se trunca a fftnp valores.
inv Indica si se desea calcular la transformada directa o inversa.
  • SPL_FALSE o FFT_DIRECT: FFT directa
  • SPL_TRUE o FFT_INVERSE: FFT inversa
ufactor Factor de escalado. Multiplica al resultado en la FFT directa y lo divide en la FFT inversa. Por lo general, se deja a 1 (sin escalado). Si vale 0, tiene un uso especial: la FFT directa se escala de forma que el modulo de la tranformada encaja con las amplitudes de las componentes (lo que haria un equipo analizador de espectro); en tal caso, 0 y pi estan realmente escaladas por dos (por interaccion entre espectro positivo y negativo. Si se hace rfft_set0piweight(TRUE) esto se corrige y 0 y pi se deescalan. Es una simplificacion, realmente habria que deescalar todos los alrededores siguiendo la respuesta de la ventana de analisis.
win Codigo que identifica el tipo de ventana a utilizar. Estos tipos est�n definidos en xfft.h (XFFT_WIN). Si se utiliza una ventana, sera de np puntos aunque si el numero de puntos de la fft es menor, se utiliza este otro valor.
winfunc Puntero a una funcion que que suministra el usuario, y que sigue el prototipo indicado (xfft.h). Esta funcion se utiliza para obtener la ventana cuando en win se envia XFFT_WIN_USER. Si este puntero es NULL y se envia XFFT_WIN_USER en win, no se utiliza ningun enventanado (ventana rectangular).
Devuelve:
Puntero a una estructura _FFT. Este puntero deber� utilizarse como par�metro para el resto de las funciones fft_???(). Devuelve NULL si la inicializaci�n falla

Definición en la línea 73 del archivo xfft2.c.

PUBLIC SPL_VOID XAPI rfft_destruct ( pRFFT  r  ) 

Destruye una estructura _RFFT. Es necesario llamar a esta funci�n despu�s de haber llamado a rfft_construct(), una vez se ha terminado de calcular FFT's

Parámetros:
r puntero a la estructura que se quiere destruir
Devuelve:
-

Definición en la línea 150 del archivo xfft2.c.

PUBLIC SPL_BOOL XAPI rfft_setwin ( pRFFT  r,
XFFT_WIN  win,
XFFT_WIN_FUNC  winfunc 
)

Modifica el tipo de enventanado a utilizar. Los tipos de ventanas est�n definidos en xfft.h (XFFT_WIN). Si se indica ventana XFFT_WIN_NONE o XFFT_WIN_RECT, se usa ventana rectangular. Si se indica XFFT_WIN_USER, entonces se utilizara la ventana obtenida a traves de la funcion que el usuario suministra. En xfft.h se explica el prototipo que debe seguir esta funcion.

La ventana se maneja de forma optimizada: aunque se active y desactive sucesivamente no se hace ni una cuenta mientras no se cambie su longitud o se cambie de tipo de ventana.

Parámetros:
r Puntero a la estructura _RFFT que se quiere modificar.
win Codigo que identifica el tipo de ventana a utilizar. Estos tipos est�n definidos en xfft.h.
winfunc Puntero a una funcion que que suministra el usuario, y que sigue el prototipo indicado (xfft.h). Esta funcion se utiliza para obtener la ventana cuando en win se envia XFFT_WIN_USER. Si este puntero es NULL y se envia XFFT_WIN_USER en win, no se utiliza ningun enventanado (ventana rectangular).
Devuelve:
SPL_TRUE si todo ha ido bien. SPLA_FALSE si se ha producido un error, en cuyo caso, la ventana se desconecta y se utiliza ventana rectangular.

Definición en la línea 198 del archivo xfft2.c.

PUBLIC SPL_BOOL XAPI rfft_setnp ( pRFFT  r,
SPL_INT  np 
)

Permite modificar el n�mero de puntos de los vectores de entrada (aquellos cuya FFT se quiere calcular).

Parámetros:
r Puntero a la estructura _RFFT que se quiere modificar.
np N�mero de puntos de los vectores de entrada. Ha de ser mayor que cero, pero no forzosamente potencia de dos. En caso de que np sea mayor que el n�mero de puntos de la FFT, los vectores de entrada se truncan. En caso de que np sea menor que el n�mero de puntos de la FFT, se rellena con ceros
Devuelve:
SPL_TRUE si todo ha ido bien. SPLA_FALSE si se ha producido un error, en cuyo caso, la ventana se desconecta y se utiliza ventana rectangular.

Definición en la línea 296 del archivo xfft2.c.

PUBLIC SPL_BOOL XAPI rfft_setnpwin ( pRFFT  r,
SPL_INT  np,
XFFT_WIN  win,
XFFT_WIN_FUNC  winfunc 
)

Modifica el tipo de enventanado y la longitud de los vectores de entrada de forma simult�nea. Los tipos de ventanas est�n definidos en xfft.h XFFT_WIN. Si se indica ventana XFFT_WIN_NONE o XFFT_WIN_RECT, se usa ventana rectangular. Si se indica XFFT_WIN_USER, entonces se utilizara la ventana obtenida a traves de la funcion que el usuario suministra. En xfft.h se explica el prototipo que debe seguir esta funcion.

La ventana se maneja de forma optimizada: aunque se active y desactive sucesivamente no se hace ni una cuenta mientras no se cambie su longitud o se cambie de tipo de ventana.

Parámetros:
r Puntero a la estructura _RFFT que se quiere modificar.
np N�mero de puntos de los vectores de entrada. Ha de ser mayor que cero, pero no forzosamente potencia de dos. En caso de que np sea mayor que el n�mero de puntos de la FFT, los vectores de entrada se truncan. En caso de que np sea menor que el n�mero de puntos de la FFT, se rellena con ceros
win Codigo que identifica el tipo de ventana a utilizar. Estos tipos est�n definidos en xfft.h.
winfunc Puntero a una funcion que que suministra el usuario, y que sigue el prototipo indicado (xfft.h). Esta funcion se utiliza para obtener la ventana cuando en win se envia XFFT_WIN_USER. Si este puntero es NULL y se envia XFFT_WIN_USER en win, no se utiliza ningun enventanado (ventana rectangular).
Devuelve:
SPL_TRUE si todo ha ido bien. SPLA_FALSE si se ha producido un error, en cuyo caso, la ventana se desconecta y se utiliza ventana rectangular.

Definición en la línea 349 del archivo xfft2.c.

PUBLIC SPL_VOID XAPI rfft_setinv ( pRFFT  r,
SPL_BOOL  inv 
)

Permite indicar si se quiere calcular una FFT directa o inversa

Parámetros:
r Puntero a la estructura _RFFT que se quiere modificar.
inv,: Indica si se desea calcular la transformada directa o inversa.
  • SPL_FALSE o FFT_DIRECT: FFT directa
  • SPL_TRUE o FFT_INVERSE: FFT inversa
Devuelve:
-

Definición en la línea 373 del archivo xfft2.c.

PUBLIC SPL_VOID XAPI rfft_setufactor ( pRFFT  r,
SPL_FLOAT  ufactor 
)

Permite cambiar el factor de escala aplicado a la FFT. Este factor multiplica al resultado en la FFT directa y lo divide en la FFT inversa

Parámetros:
r Puntero a la estructura _RFFT que se quiere modificar.
ufactor,: Factor de escalado.
Devuelve:
-

Definición en la línea 392 del archivo xfft2.c.

PUBLIC SPL_VOID XAPI rfft_set0piweight ( pRFFT  r,
SPL_BOOL  weight 
)

escala por 1/2 en la fft directa, por 2 en la inversa. Para que funcione el factor de usuario ufactor debe ser 0.

Parámetros:
r Puntero a la estructura _RFFT que se quiere modificar.
weight booleano para activar o desactivar el factor de ponderaci�n
Devuelve:
-

Definición en la línea 411 del archivo xfft2.c.

PUBLIC SPL_BOOL XAPI rfft_get0piweight ( pRFFT  r  ) 

Devuelve el estado del factor de ponderaci�n. Realmente este factor s�lo estar� activado si el factor de usuario ufactor es cero

Parámetros:
r Puntero a la estructura _RFFT que se quiere modificar.
Devuelve:
SPL_TRUE si el factor de ponderaci�n est� activado. SPL_FALSE si no.

Definición en la línea 428 del archivo xfft2.c.

PUBLIC SPL_INT XAPI rfft_getnp ( pRFFT  r  ) 

Permite conocer el n�mero m�nimo de puntos que han de tener los vectores de entrada (aquellos cuya FFT se quiere calcular).

Parámetros:
r Puntero a la estructura _RFFT.
Devuelve:
N�mero de puntos de los vectores de entrada

Definición en la línea 445 del archivo xfft2.c.

PUBLIC SPL_INT XAPI rfft_getfftnp ( pRFFT  r  ) 

Permite conocer el n�mero de puntos que tienen las FFT calculadas. Devuelve el verdadero n�mero de puntos utilizado (siempre potencia de dos)

Parámetros:
r Puntero a la estructura _RFFT.
Devuelve:
N�mero de puntos de la FFT

Definición en la línea 467 del archivo xfft2.c.

PUBLIC SPL_INT XAPI rfft_getvecnp ( pRFFT  r  ) 

Devuelve el n�mero de puntos de los vectores de salida. Puesto que una FFT real es sim�trica en la parte real y antisim�trica en la parte imaginaria, los vectores de resultado s�lo tienen la mitad de puntos de la FFT. Es decir: rfft_getvecnp() = rfft_getfftnp()/2 + 1.

Por tanto, los vectores resultado abarcan el rango [0, PI] (en herzios, [0, fs/2]).

Parámetros:
r Puntero a la estructura _RFFT.
Devuelve:
N�mero de puntos de los vectores

Definición en la línea 489 del archivo xfft2.c.

PUBLIC XFFT_WIN XAPI rfft_getwin ( pRFFT  r  ) 

Parámetros:
r Puntero a la estructura _RFFT.
Devuelve:
Tipo de ventana (los tipos est�n definidos en xfft.h)

Definición en la línea 503 del archivo xfft2.c.

PUBLIC SPL_pFLOAT XAPI rfft_getwinvec ( pRFFT  r  ) 

Permite acceder al vector que contiene la ventana utilizada. La longitud de esta ventana viene dada por rfft_getnp().

Parámetros:
r Puntero a la estructura _RFFT.
Devuelve:
Puntero al vector que contiene la ventana. En caso de que no se utilice ventana, se devuelve NULL.

Definición en la línea 521 del archivo xfft2.c.

PUBLIC XFFT_WIN_FUNC XAPI rfft_getwinfunc ( pRFFT  r  ) 

Parámetros:
r Puntero a la estructura _RFFT.
Devuelve:
Puntero a la funci�n de enventanado suministrada por el usuario

Definición en la línea 537 del archivo xfft2.c.

PUBLIC SPL_BOOL XAPI rfft_getinv ( pRFFT  r  ) 

Parámetros:
r Puntero a la estructura _RFFT.
Devuelve:
  • SPL_FALSE o FFT_DIRECT: FFT directa
  • SPL_TRUE o FFT_INVERSE: FFT inversa

Definición en la línea 553 del archivo xfft2.c.

PUBLIC SPL_FLOAT XAPI rfft_getufactor ( pRFFT  r  ) 

Parámetros:
r Puntero a la estructura _RFFT.
Devuelve:
El factor de escala aplicado

Definición en la línea 567 del archivo xfft2.c.

PUBLIC SPL_pFLOAT XAPI rfft_getrevec ( pRFFT  r  ) 

Permite acceder al vector de la parte real de la FFT calculada. El usuario debe haber calculado una FFT previamente. Este vector es de uso interno y no debe borrarse, aunque se puede modificar.

En caso de que se calcule el m�dulo o la norma (m�dulo al cuadrado) de la FFT, estos valores se almacenan en este mismo vector.

El vector devuelto tiene rfft_getvecnp() puntos, y sus valores se corresponden al rango [0, PI] (en herzios [0, fs/2])

Parámetros:
r Puntero a la estructura _RFFT.
Devuelve:
Puntero al inicio del vector de la parte real de la FFT.

Definición en la línea 591 del archivo xfft2.c.

PUBLIC SPL_pFLOAT XAPI rfft_getimvec ( pRFFT  r  ) 

Permite acceder al vector de la parte imaginaria de la FFT calculada. El usuario debe haber calculado una FFT previamente. Este vector es de uso interno y no debe borrarse, aunque se puede modificar.

En caso de que se calcule la fase de la FFT, estos valores se almacenan en este mismo vector.

El vector devuelto tiene rfft_getvecnp() puntos, y sus valores se corresponden al rango [0, PI] (en herzios [0, fs/2])

Parámetros:
r Puntero a la estructura _RFFT.
Devuelve:
Puntero al inicio del vector de la parte imaginaria de la FFT.

Definición en la línea 615 del archivo xfft2.c.

PRIVATE SPL_VOID rfft_dofft ( pRFFT  r  ) 

Definición en la línea 625 del archivo xfft2.c.

PUBLIC SPL_VOID XAPI rfft_rfft ( pRFFT  r,
SPL_pFLOAT  invec 
)

Calcula la FFT de una secuencia real de valores flotantes. La parte real de esta FFT puede recuperarse mediante rfft_getrvec(), y la parte imaginaria mediante rfft_getimvec().

Parámetros:
r Puntero a la estructura _RFFT.
invec Vector que contiene la secuencia de valores flotantes cuya FFT se quiere calcular. Debe tener rfft_getnp() puntos.
Devuelve:
-

Definición en la línea 713 del archivo xfft2.c.

PUBLIC SPL_VOID XAPI rfft_rfft_i ( pRFFT  r,
SPL_pINT  invec 
)

Calcula la FFT de una secuencia real de valores enteros. La parte real de esta FFT puede recuperarse mediante rfft_getrvec(), y la parte imaginaria mediante rfft_getimvec().

Parámetros:
r Puntero a la estructura _RFFT.
invec Vector que contiene la secuencia de valores enteros cuya FFT se quiere calcular. Debe tener rfft_getnp() puntos.
Devuelve:
-

Definición en la línea 733 del archivo xfft2.c.

PUBLIC SPL_VOID XAPI rfft_rfft_i16 ( pRFFT  r,
pINT16  invec 
)

Calcula la FFT de una secuencia real de valores INT16. La parte real de esta FFT puede recuperarse mediante rfft_getrvec(), y la parte imaginaria mediante rfft_getimvec().

Parámetros:
r Puntero a la estructura _RFFT.
invec Vector que contiene la secuencia de valores INT16 cuya FFT se quiere calcular. Debe tener rfft_getnp() puntos.
Devuelve:
-

Definición en la línea 753 del archivo xfft2.c.

PUBLIC SPL_VOID XAPI rfft_rfft_i32 ( pRFFT  r,
pINT32  invec 
)

Calcula la FFT de una secuencia real de valores INT32. La parte real de esta FFT puede recuperarse mediante rfft_getrvec(), y la parte imaginaria mediante rfft_getimvec().

Parámetros:
r Puntero a la estructura _RFFT.
invec Vector que contiene la secuencia de valores INT32 cuya FFT se quiere calcular. Debe tener rfft_getnp() puntos.
Devuelve:
-

Definición en la línea 774 del archivo xfft2.c.

PUBLIC SPL_VOID XAPI rfft_rfft_u32 ( pRFFT  r,
pUINT32  invec 
)

Calcula la FFT de una secuencia real de valores UINT32. La parte real de esta FFT puede recuperarse mediante rfft_getrvec(), y la parte imaginaria mediante rfft_getimvec().

Parámetros:
r Puntero a la estructura _RFFT.
invec Vector que contiene la secuencia de valores UINT32 cuya FFT se quiere calcular. Debe tener rfft_getnp() puntos.
Devuelve:
-

Definición en la línea 794 del archivo xfft2.c.

PUBLIC SPL_VOID XAPI rfft_rfft_f32 ( pRFFT  r,
pFLOAT32  invec 
)

Calcula la FFT de una secuencia real de valores FLOAT32 flotantes. La parte real de esta FFT puede recuperarse mediante rfft_getrvec(), y la parte imaginaria mediante rfft_getimvec().

Parámetros:
r Puntero a la estructura _RFFT.
invec Vector que contiene la secuencia de valores FLOAT32 cuya FFT se quiere calcular. Debe tener rfft_getnp() puntos.
Devuelve:
-

Definición en la línea 814 del archivo xfft2.c.

PUBLIC SPL_VOID XAPI rfft_mag ( pRFFT  r  ) 

Una vez calculada una FFT, permite extraer el m�dulo de la misma. El resultado se introduce en el vector de la parte real de la FFT, de forma que posteriormente es accesible mediante rfft_getrevec().

Nota:
Una vez llamada esta funci�n, se pierde la parte real. Por lo tanto, ya no se puede recuperar esta parte real ni se puede calcular la fase.
Parámetros:
r Puntero a la estructura _RFFT.
Devuelve:
-

Definición en la línea 835 del archivo xfft2.c.

PUBLIC SPL_VOID XAPI rfft_norm ( pRFFT  r  ) 

Una vez calculada una FFT, permite extraer la norma (m�dulo al cuadrado) de la misma. El resultado se introduce en el vector de la parte real de la FFT, de forma que posteriormente es accesible mediante rfft_getrevec().

Nota:
Una vez llamada esta funci�n, se pierde la parte real. Por lo tanto, ya no se puede recuperar esta parte real ni se puede calcular la fase.
Parámetros:
r Puntero a la estructura _RFFT.
Devuelve:
-

Definición en la línea 859 del archivo xfft2.c.

PUBLIC SPL_VOID XAPI rfft_arg ( pRFFT  r  ) 

Una vez calculada una FFT, permite extraer la fase de la misma. El resultado se introduce en el vector de la parte imaginaria de la FFT, de forma que posteriormente es accesible mediante rfft_getimvec().

Nota:
Una vez llamada esta funci�n, se pierde la parte imaginaria. Por lo tanto, ya no se puede recuperar esta parte imaginaria ni se puede calcular el m�dulo.
Parámetros:
r Puntero a la estructura _RFFT.
Devuelve:
-

Definición en la línea 883 del archivo xfft2.c.

PUBLIC SPL_VOID XAPI rfft_magarg ( pRFFT  r  ) 

Una vez calculada una FFT, permite extraer el m�dulo y la fase de la misma. El m�dulo se introduce en el vector de la parte real de la FFT, y la fase en el vector de la parte imaginaria, de forma que posteriormente son accesibles mediante rfft_getrevec() y rfft_getimvec() respectivamente.

Parámetros:
r Puntero a la estructura _RFFT.
Devuelve:
-

Definición en la línea 905 del archivo xfft2.c.

PUBLIC SPL_VOID XAPI rfft_normarg ( pRFFT  r  ) 

Una vez calculada una FFT, permite extraer la norma (m�dulo al cuadrado) y la fase de la misma. La norma se introduce en el vector de la parte real de la FFT, y la fase en el vector de la parte imaginaria, de forma que posteriormente son accesibles mediante rfft_getrevec() y rfft_getimvec() respectivamente.

Parámetros:
r Puntero a la estructura _RFFT.
Devuelve:
-

Definición en la línea 931 del archivo xfft2.c.

PUBLIC SPL_VOID XAPI rfft_trefmove_reim ( pRFFT  r,
SPL_FLOAT  nTs 
)

Una vez efectuada una FFT corrige los vectores real e imaginario para incorporar un retardo al origen de fases (p.ej. un retardo de N/2 muestras avanzaria el origen de fases al centro de la venana de analisis de N puntos). No es mas que una fase lineal positiva.

Esta funcion, solo debe utilizarse mientras se mantengan los vectores real e imaginario. Una vez calculado el modulo, norma o fase, en vez de esta hay que usar rfft_trefmove_arg().

Nota:
Esta funcion es poco eficiente. El retardo de fase es mejor incorporarlo directamente sobre la fase con rfft_trefmove_arg().
Parámetros:
r Puntero a la estructura _RFFT.
nTs N�mero de muestras a retardar. Puede ser un valor fraccionario.
Devuelve:
-

Definición en la línea 967 del archivo xfft2.c.

PUBLIC SPL_VOID XAPI rfft_trefmove_arg ( pRFFT  r,
SPL_FLOAT  nTs 
)

Una vez efectuada una FFT y calculada la fase, corrige el vector de fase para incorporar un retardo al origen de fases (p.ej. retardar N/2 muestras avanzaria el origen de fases al centro de la ventana de analisis de N puntos). No es mas que una fase lineal positiva.

Esta funcion, solo debe utilizarse una vez calculada la fase. Si se quiere incorporar el retardo antes, sobre los vectores real e imaginario se debe utilizar rfft_trefmove_reim().

La fase resultante ya NO sera el valor principal de fase (entre -PI y PI). Si quieres el valor principal, usa rfft_trefmove_argm(),

Parámetros:
r Puntero a la estructura _RFFT.
nTs N�mero de muestras a retardar. Puede ser un valor fraccionario.
Devuelve:
-

Definición en la línea 1006 del archivo xfft2.c.

PUBLIC SPL_VOID XAPI rfft_trefmove_argm ( pRFFT  r,
SPL_FLOAT  nTs 
)

Una vez efectuada una FFT y calculada la fase, corrige el vector de fase para incorporar un retardo al origen de fases (p.ej. retardar N/2 muestras avanzaria el origen de fases al centro de la ventana de analisis de N puntos). No es mas que una fase lineal positiva.

Esta funcion, solo debe utilizarse una vez calculada la fase. Si se quiere incorporar el retardo antes, sobre los vectores real e imaginario se debe utilizar rfft_trefmove_reim().

La fase resultante sigue siendo el valor principal de fase, y se mantiene entre -PI y PI.

Parámetros:
r Puntero a la estructura _RFFT.
nTs N�mero de muestras a retardar. Puede ser un valor fraccionario.
Devuelve:
-

Definición en la línea 1038 del archivo xfft2.c.


Generado el Thu Mar 11 18:59:27 2010 para AhoLib por  doxygen 1.5.6