vsip_vview_f* vsip_vcreate_cheby_f(vsip_length n, vsip_scalar_f ripple, vsip_memory_hint hint);
This function creates and initializes a vector with coefficients of a Chebyshev (Dolph-Chebyshev) window of length
. The
Chebyshev window is designed to have equal ripple in the passband and is optimal in the sense that it minimizes the main lobe
width for a given side lobe level.
The ripple parameter specifies the side lobe level in decibels (dB), with typical values ranging from 40 to 120 dB. Higher ripple values result in better side lobe suppression but wider main lobes.
vsip_length n: Length of the window (number of elements in the vector).
vsip_scalar_f ripple: Side lobe level in dB (typically 40-120 dB).
vsip_memory_hint hint: Memory allocation hint:
VSIP_MEM_NONE - No memory hint
VSIP_MEM_RDONLY - The memory is to be used read-only
VSIP_MEM_CONST - The memory will hold constants
VSIP_MEM_SHARED - The memory will be shared
VSIP_MEM_SHARED_RDONLY - The memory will be shared and is read-only
VSIP_MEM_SHARED_CONST - The memory will be shared and will hold constants
On success, returns a pointer to the newly created and initialized vector containing the Chebyshev window coefficients.
On error, returns NULL.
vsip_vview_f *cheby_win; vsip_length n = 64; vsip_scalar_f ripple = 60.0f; // 60 dB side lobe attenuation // Create a Chebyshev window cheby_win = vsip_vcreate_cheby_f(n, ripple, VSIP_MEM_NONE); if (cheby_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, cheby_win, windowed_signal); // Clean up vsip_vdestroy_f(cheby_win); vsip_vdestroy_f(signal); vsip_vdestroy_f(windowed_signal);
The Chebyshev window provides the narrowest main lobe for a given side lobe level.
The window is symmetric for even-length vectors and nearly symmetric for odd-length vectors.
Common ripple values:
40 dB: Moderate side lobe suppression
60 dB: Good side lobe suppression
80 dB: Excellent side lobe suppression
100 dB: Very high side lobe suppression