Atmel Software Framework

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DSPLIB - Windowing

All the windowing functions currently supported by the DSP library.

Rectangular

windowing_rectangular.gif

These functions generate a rectangular window that fits in the output buffer.
The rectangular window filled the output buffer with 1.

Relative functions:


Bartlett

windowing_bartlett.gif

Also known simply as the triangular windows, these functions generate a Bartlett window that fits in the output buffer.
The amplitude of the signal is in the range [0; 1]

Relative functions:


Blackman

windowing_blackman.gif

These functions generate a Blackman window that fits in the output buffer.
The amplitude of the signal is in the range [0; 1]

Relative functions:


Hamming

windowing_hamming.gif

These functions generate a hamming window that fits in the output buffer.
The amplitude of the signal is in the range [0; 1]

Relative functions:


Gauss

windowing_gauss.gif

These functions generate a Gaussian window that fits in the output buffer.
The amplitude of the signal is in the range [0; 1]

Note
You can change the value of the teta coefficient by defining DSP_GAUSS_TETA at the compilation with a value that fits in the range ]0; 0.5]

Relative functions:


Hann

windowing_hann.gif

These functions generate a Hann window that fits in the output buffer.
The amplitude of the signal is in the range [0; 1]

Relative functions:


Kaiser

windowing_kaiser.gif

These functions generate a kaiser window that fits in the output buffer.
The amplitude of the signal is in the range [0; 1]

Relative functions:


Welch

windowing_welch.gif

These functions generate a Welch window that fits in the output buffer.
The Welch window is commonly used as a window for power spectral estimation.
The amplitude of the signal is in the range [0; 1]

Relative functions:


Functions

void dsp16_win_bart (dsp16_t *vect1, dsp16_t *vect2, int size)
 16-bit fixed point version of the Bartlett windowing function. More...
 
void dsp16_win_black (dsp16_t *vect1, dsp16_t *vect2, int size)
 16-bit fixed point version of the Blackman windowing function. More...
 
void dsp16_win_gauss (dsp16_t *vect1, dsp16_t *vect2, int size)
 16-bit fixed point version of the Gaussian windowing function. More...
 
void dsp16_win_hamm (dsp16_t *vect1, dsp16_t *vect2, int size)
 16-bit fixed point version of the hamming windowing function. More...
 
void dsp16_win_hann (dsp16_t *vect1, dsp16_t *vect2, int size)
 16-bit fixed point version of the Hann windowing function. More...
 
void dsp16_win_kaiser (dsp16_t *vect1, dsp16_t *vect2, int size, int alpha)
 16-bit fixed point version of the kaiser windowing function. More...
 
void dsp16_win_rect (dsp16_t *vect1, dsp16_t *vect2, int size)
 16-bit fixed point version of the rectangular windowing function. More...
 
void dsp16_win_welch (dsp16_t *vect1, dsp16_t *vect2, int size)
 16-bit fixed point version of the Welch windowing function. More...
 
void dsp32_win_bart (dsp32_t *vect1, dsp32_t *vect2, int size)
 32-bit fixed point version of the Bartlett windowing function. More...
 
void dsp32_win_black (dsp32_t *vect1, dsp32_t *vect2, int size)
 32-bit fixed point version of the Blackman windowing function. More...
 
void dsp32_win_gauss (dsp32_t *vect1, dsp32_t *vect2, int size)
 32-bit fixed point version of the Gaussian windowing function. More...
 
void dsp32_win_hamm (dsp32_t *vect1, dsp32_t *vect2, int size)
 32-bit fixed point version of the hamming windowing function. More...
 
void dsp32_win_hann (dsp32_t *vect1, dsp32_t *vect2, int size)
 32-bit fixed point version of the Hann windowing function. More...
 
void dsp32_win_kaiser (dsp32_t *vect1, dsp32_t *vect2, int size, int alpha)
 32-bit fixed point version of the kaiser windowing function. More...
 
void dsp32_win_rect (dsp32_t *vect1, dsp32_t *vect2, int size)
 32-bit fixed point version of the rectangular windowing function. More...
 
void dsp32_win_welch (dsp32_t *vect1, dsp32_t *vect2, int size)
 32-bit fixed point version of the Welch windowing function. More...
 

void dsp16_win_bart ( dsp16_t vect1,
dsp16_t vect2,
int  size 
)

16-bit fixed point version of the Bartlett windowing function.

Parameters
vect1A pointer on a 16-bit real vector that will contain the window multiplied by vect2.
vect2A pointer on a 16-bit real vector that contains the signal on which the window should apply.
sizeThe size of the output buffer.

References dsp16_op_mul(), DSP16_Q, i, and s.

void dsp16_win_black ( dsp16_t vect1,
dsp16_t vect2,
int  size 
)

16-bit fixed point version of the Blackman windowing function.

Parameters
vect1A pointer on a 16-bit real vector that will contain the window multiplied by vect2.
vect2A pointer on a 16-bit real vector that contains the signal on which the window should apply.
sizeThe size of the output buffer.

References dsp16_op_cos(), dsp16_op_mul(), DSP16_Q, DSP16_QB, i, s, w, WIN_BLACK_A0, WIN_BLACK_A1, and WIN_BLACK_A2.

void dsp16_win_gauss ( dsp16_t vect1,
dsp16_t vect2,
int  size 
)

16-bit fixed point version of the Gaussian windowing function.

Parameters
vect1A pointer on a 16-bit real vector that will contain the window multiplied by vect2.
vect2A pointer on a 16-bit real vector that contains the signal on which the window should apply.
sizeThe size of the output buffer.

References CST_LN_2, dsp16_op_abs(), dsp16_op_exp(), dsp16_op_mul(), DSP16_Q, DSP16_QB, DSP_GAUSS_TETA, DSP_Q, i, s, and x.

void dsp16_win_hamm ( dsp16_t vect1,
dsp16_t vect2,
int  size 
)

16-bit fixed point version of the hamming windowing function.

Parameters
vect1A pointer on a 16-bit real vector that will contain the window multiplied by vect2.
vect2A pointer on a 16-bit real vector that contains the signal on which the window should apply.
sizeThe size of the output buffer.

References dsp16_op_cos(), dsp16_op_mul(), DSP16_Q, DSP16_QB, i, s, w, WIN_HAMM_A0, and WIN_HAMM_A1.

Referenced by dsp_process_init().

void dsp16_win_hann ( dsp16_t vect1,
dsp16_t vect2,
int  size 
)

16-bit fixed point version of the Hann windowing function.

Parameters
vect1A pointer on a 16-bit real vector that will contain the window multiplied by vect2.
vect2A pointer on a 16-bit real vector that contains the signal on which the window should apply.
sizeThe size of the output buffer.

References dsp16_op_cos(), dsp16_op_mul(), DSP16_Q, DSP16_QB, i, s, w, and WIN_HANN_A0.

void dsp16_win_kaiser ( dsp16_t vect1,
dsp16_t vect2,
int  size,
int  alpha 
)

16-bit fixed point version of the kaiser windowing function.

Parameters
vect1A pointer on a 16-bit real vector that will contain the window multiplied by vect2.
vect2A pointer on a 16-bit real vector that contains the signal on which the window should apply.
sizeThe size of the output buffer.
alphaThe alpha coefficient which must be greater than 0.

References CST_PI, den, dsp16_op_kaiser_i0(), dsp16_op_mul(), DSP16_Q, DSP16_QB, dsp32_op_sqrt(), DSP32_QB, DSP_Q, n, num, and s.

void dsp16_win_rect ( dsp16_t vect1,
dsp16_t vect2,
int  size 
)

16-bit fixed point version of the rectangular windowing function.

Parameters
vect1A pointer on a 16-bit real vector that will contain the window multiplied by vect2.
vect2A pointer on a 16-bit real vector that contains the signal on which the window should apply.
sizeThe size of the output buffer.
void dsp16_win_welch ( dsp16_t vect1,
dsp16_t vect2,
int  size 
)

16-bit fixed point version of the Welch windowing function.

Parameters
vect1A pointer on a 16-bit real vector that will contain the window multiplied by vect2.
vect2A pointer on a 16-bit real vector that contains the signal on which the window should apply.
sizeThe size of the output buffer.

References dsp16_op_mul(), DSP16_Q, DSP16_QB, i, s, and w.

void dsp32_win_bart ( dsp32_t vect1,
dsp32_t vect2,
int  size 
)

32-bit fixed point version of the Bartlett windowing function.

Parameters
vect1A pointer on a 32-bit real vector that will contain the window multiplied by vect2.
vect2A pointer on a 32-bit real vector that contains the signal on which the window should apply.
sizeThe size of the output buffer.

References dsp32_op_mul(), DSP32_Q, i, and s.

void dsp32_win_black ( dsp32_t vect1,
dsp32_t vect2,
int  size 
)

32-bit fixed point version of the Blackman windowing function.

Parameters
vect1A pointer on a 32-bit real vector that will contain the window multiplied by vect2.
vect2A pointer on a 32-bit real vector that contains the signal on which the window should apply.
sizeThe size of the output buffer.

References dsp32_op_cos(), dsp32_op_mul(), DSP32_Q, DSP32_QB, i, s, w, WIN_BLACK_A0, WIN_BLACK_A1, and WIN_BLACK_A2.

void dsp32_win_gauss ( dsp32_t vect1,
dsp32_t vect2,
int  size 
)

32-bit fixed point version of the Gaussian windowing function.

Parameters
vect1A pointer on a 32-bit real vector that will contain the window multiplied by vect2.
vect2A pointer on a 32-bit real vector that contains the signal on which the window should apply.
sizeThe size of the output buffer.

References CST_LN_2, dsp32_op_abs(), dsp32_op_exp(), dsp32_op_mul(), DSP32_Q, DSP32_QB, DSP_GAUSS_TETA, i, s, and x.

void dsp32_win_hamm ( dsp32_t vect1,
dsp32_t vect2,
int  size 
)

32-bit fixed point version of the hamming windowing function.

Parameters
vect1A pointer on a 32-bit real vector that will contain the window multiplied by vect2.
vect2A pointer on a 32-bit real vector that contains the signal on which the window should apply.
sizeThe size of the output buffer.

References dsp32_op_cos(), dsp32_op_mul(), DSP32_Q, DSP32_QB, i, s, w, WIN_HAMM_A0, and WIN_HAMM_A1.

void dsp32_win_hann ( dsp32_t vect1,
dsp32_t vect2,
int  size 
)

32-bit fixed point version of the Hann windowing function.

Parameters
vect1A pointer on a 32-bit real vector that will contain the window multiplied by vect2.
vect2A pointer on a 32-bit real vector that contains the signal on which the window should apply.
sizeThe size of the output buffer.

References dsp32_op_cos(), dsp32_op_mul(), DSP32_Q, DSP32_QB, i, s, w, and WIN_HANN_A0.

void dsp32_win_kaiser ( dsp32_t vect1,
dsp32_t vect2,
int  size,
int  alpha 
)

32-bit fixed point version of the kaiser windowing function.

Parameters
vect1A pointer on a 32-bit real vector that will contain the window multiplied by vect2.
vect2A pointer on a 32-bit real vector that contains the signal on which the window should apply.
sizeThe size of the output buffer.
alphaThe alpha coefficient which must be greater than 0.

References CST_PI, den, dsp32_op_kaiser_i0(), dsp32_op_mul(), dsp32_op_sqrt(), DSP32_Q, DSP32_QB, n, num, and s.

void dsp32_win_rect ( dsp32_t vect1,
dsp32_t vect2,
int  size 
)

32-bit fixed point version of the rectangular windowing function.

Parameters
vect1A pointer on a 32-bit real vector that will contain the window multiplied by vect2.
vect2A pointer on a 32-bit real vector that contains the signal on which the window should apply.
sizeThe size of the output buffer.
void dsp32_win_welch ( dsp32_t vect1,
dsp32_t vect2,
int  size 
)

32-bit fixed point version of the Welch windowing function.

Parameters
vect1A pointer on a 32-bit real vector that will contain the window multiplied by vect2.
vect2A pointer on a 32-bit real vector that contains the signal on which the window should apply.
sizeThe size of the output buffer.

References dsp32_op_mul(), DSP32_Q, DSP32_QB, i, s, and w.