Developer Reference

  • 2020
  • 07/15/2020
  • Public Content
Contents

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)

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804