Adelsbach/VSIPL
Core Programming Reference Guide
DD-00016-015
Core

This manual is preliminary and incomplete.
While our Core implementation implements all functions given in the standard we are still working on completing this documentation.

Please refer to the VSIPL standard for a complete function reference of the Core profile until we have completed work on this documentation.

5.3.2 vsip_vcreate_kaiser_p - Create a Kaiser Window Vector

vsip_vview_f* vsip_vcreate_kaiser_f(vsip_length n, vsip_scalar_f beta, vsip_memory_hint hint);
Description

This function creates and initializes a vector with coefficients of a Kaiser window of length n. The Kaiser window is defined by:

        (             )
          √︂ --(2k----)2
      I0 β  1- n-1-1
w[k]= -----------------,  0≤ k< n
             I0(β)

where I0 is the zeroth-order modified Bessel function of the first kind.

Parameters
Return Value
Example

vsip_vview_f *kaiser_win; 
vsip_length n = 64; 
vsip_scalar_f beta = 6.0f;  // Moderate side lobe suppression 
 
// Create a Kaiser window 
kaiser_win = vsip_vcreate_kaiser_f(n, beta, VSIP_MEM_NONE); 
 
if (kaiser_win == NULL) { 
    // Handle error 
} 
 
// Use the window in an application 
// For example, apply it to a signal 
vsip_vview_f *signal = vsip_vcreate_f(n, VSIP_MEM_NONE); 
vsip_vview_f *windowed_signal = vsip_vcreate_f(n, VSIP_MEM_NONE); 
 
// Initialize signal... 
// vsip_vramp_f(0.0f, 1.0f, signal); 
 
// Apply the window 
vsip_vmul_f(signal, kaiser_win, windowed_signal); 
 
// Clean up 
vsip_valldestroy_f(kaiser_win); 
vsip_valldestroy_f(signal); 
vsip_valldestroy_f(windowed_signal);
Notes