Home | Develop | Download | Contact
 Todo Estructuras de Datos Funciones Variables 'typedefs' Grupos Páginas
Estructuras de datos
Módulo PdsStft.

Cálculo de la STFT (Short-Time Fourier Transform ). Más...

Estructuras de datos

struct  PdsStft
 Estructura tipo PdsStft. Esta estructura genera una Transformada de Fourier de Tiempo Reducido de N puntos. Más...
 

pds_stft_new

Creando nuevas estructuras

PdsStftpds_stft_new (PdsFtNatural L, PdsFtNatural *N)
 Crea una estructura de tipo PdsStft, para generar una STFT de L puntos de entrada y N puntos de salida, N>=L. Si N no es potencia de 2, no da error, y se crea una estructura para una STFT con un N1, que si es potencia de dos y mayor a N1, (N1>=N). El valor de N mínimo es N=2. El nuevo valor N1 será cargado a N. N=N1. El vector W (ventana) se incia con todos los elementos con 1.0 . Más...
 

pds_stft_set

Escribiendo datos

int pds_stft_set_window_rectangular (PdsStft *STFT)
 Copia una ventana rectangular a W de la STFT. Más...
 
int pds_stft_set_window_hanning (PdsStft *STFT)
 Copia una ventana de Hann a W de la STFT. Más...
 
int pds_stft_set_window_hamming (PdsStft *STFT)
 Copia una ventana de Hamming a W de la STFT. Más...
 
int pds_stft_set_window_gauss (PdsStft *STFT, PdsFtReal Sigma)
 Copia una ventana de Gauss a W de la STFT. Más...
 

pds_stft_evaluate

Evaluando datos

int pds_stft_evaluate_real (PdsStft *STFT, PdsCVector *Out, const PdsVector *In)
 Evalua la STFT de un vetor real. El tamanho del vector Out debe ser igual al número de puntos de salida de la STFT, El tamanho del vector In debe ser igual al número de puntos de entrada de la STFT. Más...
 
int pds_stft_evaluate_complex (const PdsStft *STFT, PdsCVector *Out, const PdsCVector *In)
 Evalua la STFT de un vetor real. El tamanho del vector Out debe ser igual al número de puntos de salida de la STFT, El tamanho del vector In debe ser igual al número de puntos de entrada de la STFT. Más...
 

pds_stft_<free>

Liberando memoria.

void pds_stft_free (PdsStft *STFT)
 Libera una estructura de tipo puntero PdsStft. Más...
 
void pds_stft_destroy (PdsStft **STFT)
 Libera una estructura de tipo puntero PdsStft, y carga a la estructura con NULL. Más...
 

Descripción detallada

Cálculo de la STFT (Short-Time Fourier Transform ).

pdsstft.png
Short-Time Fourier Transform

\[ \mathbf{STFT_m} \left \{ x[n] \right \} \equiv Out_m[k] = \sum_{n=0}^{N-1} x_m[n]w[n]e^{-j 2 \pi k \frac{n}{N}} \]

Documentación de las funciones

PdsStft * pds_stft_new ( PdsFtNatural  L,
PdsFtNatural N 
)

Crea una estructura de tipo PdsStft, para generar una STFT de L puntos de entrada y N puntos de salida, N>=L. Si N no es potencia de 2, no da error, y se crea una estructura para una STFT con un N1, que si es potencia de dos y mayor a N1, (N1>=N). El valor de N mínimo es N=2. El nuevo valor N1 será cargado a N. N=N1. El vector W (ventana) se incia con todos los elementos con 1.0 .

Parámetros
[in]LEs el número de elementos de entrada de la STFT.
[in,out]NEs el número de elementos de salida de la STFT.
Devuelve
Un puntero a una estructura de tipo PdsStft. En caso de error devuelve NULL.
Ejemplos:
testprograma2.c.
int pds_stft_set_window_rectangular ( PdsStft STFT)

Copia una ventana rectangular a W de la STFT.

Parámetros
[in,out]STFTLa estructura a una STFT de N puntos.
Devuelve
TRUE si todo fue bien o FALSE si no. (Ejem STFT==NULL)
int pds_stft_set_window_hanning ( PdsStft STFT)

Copia una ventana de Hann a W de la STFT.

Parámetros
[in,out]STFTLa estructura a una STFT de N puntos.
Devuelve
TRUE si todo fue bien o FALSE si no. (Ejem STFT==NULL)
int pds_stft_set_window_hamming ( PdsStft STFT)

Copia una ventana de Hamming a W de la STFT.

Parámetros
[in,out]STFTLa estructura a una STFT de N puntos.
Devuelve
TRUE si todo fue bien o FALSE si no. (Ejem STFT==NULL)
int pds_stft_set_window_gauss ( PdsStft STFT,
PdsFtReal  Sigma 
)

Copia una ventana de Gauss a W de la STFT.

Parámetros
[in,out]STFTLa estructura a una STFT de N puntos.
[in]SigmaValor de sigma debe ser <= 0.5, de lo contrario da error.
Devuelve
TRUE si todo fue bien o FALSE si no. (Ejem STFT==NULL)
Ejemplos:
testprograma2.c.
int pds_stft_evaluate_real ( PdsStft STFT,
PdsCVector *  Out,
const PdsVector *  In 
)

Evalua la STFT de un vetor real. El tamanho del vector Out debe ser igual al número de puntos de salida de la STFT, El tamanho del vector In debe ser igual al número de puntos de entrada de la STFT.

\[ \mathbf{STFT_m} \left \{ x[n] \right \} \equiv Out_m[k] = \sum_{n=0}^{N-1} x_m[n]w[n]e^{-j 2 \pi k \frac{n}{N}} \]

Parámetros
[in,out]STFTLa estructura a una STFT de N puntos.
[out]OutEl vector complejo con la STFT de N puntos.
[in]InEl vector de entrada de tamaño igual a L, al que se le desea aplicar la STFT.
Devuelve
TRUE si todo fue bien o FALSE si no. (Ejem STFT==NULL, In==NULL, Out==NULL, In->Nel!=L o Out->Nel!=N)
Ejemplos:
testprograma2.c.
int pds_stft_evaluate_complex ( const PdsStft STFT,
PdsCVector *  Out,
const PdsCVector *  In 
)

Evalua la STFT de un vetor real. El tamanho del vector Out debe ser igual al número de puntos de salida de la STFT, El tamanho del vector In debe ser igual al número de puntos de entrada de la STFT.

\[ \mathbf{STFT_m} \left \{ x[n] \right \} \equiv Out_m[k] = \sum_{n=0}^{N-1} x_m[n]w[n]e^{-j 2 \pi k \frac{n}{N}} \]

Parámetros
[in,out]STFTLa estructura a una STFT de N puntos.
[out]OutEl vector complejo con la STFT de N puntos.
[in]InEl vector de entrada de tamaño igual a L, al que se le desea aplicar la STFT.
Devuelve
TRUE si todo fue bien o FALSE si no. (Ejem STFT==NULL, In==NULL, Out==NULL, In->Nel!=L o Out->Nel!=N)
void pds_stft_free ( PdsStft STFT)

Libera una estructura de tipo puntero PdsStft.

Parámetros
[in,out]STFTLa STFT a liberar.
Devuelve
No retorna valor.
Ejemplos:
testprograma2.c.
void pds_stft_destroy ( PdsStft **  STFT)

Libera una estructura de tipo puntero PdsStft, y carga a la estructura con NULL.

Parámetros
[in,out]STFTLa STFT a liberar.
Devuelve
No retorna valor.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed