Visible to Intel only — GUID: GUID-80EE6389-D7BA-4EA7-A00A-ACF0DE4CB978
Visible to Intel only — GUID: GUID-80EE6389-D7BA-4EA7-A00A-ACF0DE4CB978
WinBlackman
Multiplies a vector by a Blackman windowing function.
Syntax
IppStatus ippsWinBlackman_16s(const Ipp16s* pSrc, Ipp16s* pDst, int len, Ipp32f alpha);
IppStatus ippsWinBlackman_16sc(const Ipp16sc* pSrc, Ipp16sc* pDst, int len, Ipp32f alpha);
IppStatus ippsWinBlackman_32f(const Ipp32f* pSrc, Ipp32f* pDst, int len, Ipp32f alpha);
IppStatus ippsWinBlackman_32fc(const Ipp32fc* pSrc, Ipp32fc* pDst, int len, Ipp32f alpha);
IppStatus ippsWinBlackman_64f(const Ipp64f* pSrc, Ipp64f* pDst, int len, Ipp64f alpha);
IppStatus ippsWinBlackman_64fc(const Ipp64fc* pSrc, Ipp64fc* pDst, int len, Ipp64f alpha);
IppStatus ippsWinBlackmanStd_16s(const Ipp16s* pSrc, Ipp16s* pDst, int len);
IppStatus ippsWinBlackmanStd_16sc(const Ipp16sc* pSrc, Ipp16sc* pDst, int len);
IppStatus ippsWinBlackmanStd_32f(const Ipp32f* pSrc, Ipp32f* pDst, int len);
IppStatus ippsWinBlackmanStd_32fc(const Ipp32fc* pSrc, Ipp32fc* pDst, int len);
IppStatus ippsWinBlackmanStd_64f(const Ipp64f* pSrc, Ipp64f* pDst, int len);
IppStatus ippsWinBlackmanStd_64fc(const Ipp64fc* pSrc, Ipp64fc* pDst, int len);
IppStatus ippsWinBlackmanOpt_16s(const Ipp16s* pSrc, Ipp16s* pDst, int len);
IppStatus ippsWinBlackmanOpt_16sc(const Ipp16sc* pSrc, Ipp16sc* pDst, int len);
IppStatus ippsWinBlackmanOpt_32f(const Ipp32f* pSrc, Ipp32f* pDst, int len);
IppStatus ippsWinBlackmanOpt_32fc(const Ipp32fc* pSrc, Ipp32fc* pDst, int len);
IppStatus ippsWinBlackmanOpt_64f(const Ipp64f* pSrc, Ipp64f* pDst, int len);
IppStatus ippsWinBlackmanOpt_64fc(const Ipp64fc* pSrc, Ipp64fc* pDst, int len);
IppStatus ippsWinBlackman_16s_I(Ipp16s* pSrcDst, int len, Ipp32f alpha);
IppStatus ippsWinBlackman_16sc_I(Ipp16sc* pSrcDst, int len, Ipp32f alpha);
IppStatus ippsWinBlackman_32f_I(Ipp32f* pSrcDst, int len, Ipp32f alpha);
IppStatus ippsWinBlackman_32fc_I(Ipp32fc* pSrcDst, int len, Ipp32f alpha);
IppStatus ippsWinBlackman_64f_I(Ipp64f* pSrcDst, int len, Ipp64f alpha);
IppStatus ippsWinBlackman_64fc_I(Ipp64fc* pSrcDst, int len, Ipp64f alpha);
IppStatus ippsWinBlackmanOpt_16s_I(Ipp16s* pSrcDst, int len);
IppStatus ippsWinBlackmanOpt_16sc_I(Ipp16sc* pSrcDst, int len);
IppStatus ippsWinBlackmanOpt_32f_I(Ipp32f* pSrcDst, int len);
IppStatus ippsWinBlackmanOpt_32fc_I(Ipp32fc* pSrcDst, int len);
IppStatus ippsWinBlackmanOpt_64f_I(Ipp64f* pSrcDst, int len);
IppStatus ippsWinBlackmanOpt_64fc_I(Ipp64fc* pSrcDst, int len);
IppStatus ippsWinBlackmanStd_16s_I(Ipp16s* pSrcDst, int len);
IppStatus ippsWinBlackmanStd_16sc_I(Ipp16sc* pSrcDst, int len);
IppStatus ippsWinBlackmanStd_32f_I(Ipp32f* pSrcDst, int len);
IppStatus ippsWinBlackmanStd_32fc_I(Ipp32fc* pSrcDst, int len);
IppStatus ippsWinBlackmanStd_64f_I(Ipp64f* pSrcDst, int len);
IppStatus ippsWinBlackmanStd_64fc_I(Ipp64fc* pSrcDst, int len);
Include Files
ipps.h
Domain Dependencies
Headers: ippcore.h, ippvm.h
Libraries: ippcore.lib, ippvm.lib
Parameters
pSrc |
Pointer to the source vector. |
pDst |
Pointer to the destination vector. |
pSrcDst |
Pointer to the source and destination vector for the in-place operation. |
alpha |
Adjustable parameter associated with the Blackman windowing equation. |
len |
Number of elements in the vector |
Description
These functions multiply the vector pSrc by the Blackman window, and store the result in pDst.
The in-place flavors of ippsWinBlackman multiply the vector pSrcDst by the Blackman window, and store the result in pSrcDst.
The complex types multiply both the real and imaginary parts of the vector by the same window. The functions for the Blackman family of windows are defined below.
ippsWinBlackman. The function ippsWinBlackman allows the application to specify alpha. The Blackman window is defined as follows:
ippsWinBlackmanStd. The standard Blackman window is provided by the function ippsWinBlackmanStd, which simply multiplies a vector by a Blackman window with the standard value of alpha shown below:
alpha = -0.16
ippsWinBlackmanOpt. The function ippsWinBlackmanOpt provides a modified window that has a 30 dB/octave roll-off by multiplying a vector by a Blackman window with the optimal value of alpha shown below:
The minimum len is equal to 4. For large len, the optimal alpha converges asymptotically to the asymptotic alpha; the application can use the asymptotic value of alpha shown below:
alpha = -0.25
Return Values
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when the pSrc, pDst, or pSrcDst pointer is NULL. |
ippStsSizeErr |
Indicates an error when len is less than 4 for the function ippsWinBlackmanOpt and less than 3 for all other functions of the family. |
Example
The example below shows how to use the function ippsWinBlackmanStd_32f_I
void blackman(void) { Ipp32f x[8]; ippsSet_32f(1, x, 8); ippsWinBlackmanStd_32f_I(x, 8); printf_32f("blackman (half) =", x, 4, ippStsNoErr); }
Output:
blackman(half) = 0.000000 0.090453 0.459183 0.920364 Matlab* Analog: >> b = blackman(8)'; b(1:4)