WinBlackman

Multiplies a vector by a Blackman windowing function.

Syntax

IppStatus ippsWinBlackmanQ15_16s(const Ipp16s* pSrc, Ipp16s* pDst, int len, int alphaQ15);

IppStatus ippsWinBlackmanQ15_16sc(const Ipp16sc* pSrc, Ipp16sc* pDst, int len, int alphaQ15);

IppStatus ippsWinBlackman_16s(const Ipp16s* pSrc, Ipp16s* pDst, int len, float alpha);

IppStatus ippsWinBlackman_16sc(const Ipp16sc* pSrc, Ipp16sc* pDst, int len, float alpha);

IppStatus ippsWinBlackman_32f(const Ipp32f* pSrc, Ipp32f* pDst, int len, float alpha);

IppStatus ippsWinBlackman_32fc(const Ipp32fc* pSrc, Ipp32fc* pDst, int len, float alpha);

IppStatus ippsWinBlackman_64f(Ipp64f* pSrc, Ipp64f* pDst, int len, double alpha);

IppStatus ippsWinBlackman_64fc(Ipp64fc* pSrc, Ipp64fc* pDst, int len, double alpha);

IppStatus ippsWinBlackmanQ15_16s_I(Ipp16s* pSrcDst, int len, int alphaQ15);

IppStatus ippsWinBlackmanQ15_16s_ISfs(Ipp16s* pSrcDst, int len, int alphaQ15, int scaleFactor);

IppStatus ippsWinBlackmanQ15_16sc_I(Ipp16sc* pSrcDst, int len, int alphaQ15);

IppStatus ippsWinBlackman_16s_I(Ipp16s* pSrcDst, int len, float alpha);

IppStatus ippsWinBlackman_16sc_I(Ipp16sc* pSrcDst, int len, float alpha);

IppStatus ippsWinBlackman_32f_I(Ipp32f* pSrcDst, int len, float alpha);

IppStatus ippsWinBlackman_32fc_I(Ipp32fc* pSrcDst, int len, float alpha);

IppStatus ippsWinBlackman_64f_I(Ipp64f* pSrcDst, int len, double alpha);

IppStatus ippsWinBlackman_64fc_I(Ipp64fc* pSrcDst, int len, double 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 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);

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 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);

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.

alphaQ15

Scaled version of alpha. The scaleFactor value is 15.

len

Number of elements in the vector

scaleFactor

Scale factor, refer to Integer Scaling.

Description

The ippsWinBlackman family of functions are declared in the ipps.h file. 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:



ippsWinBlackmanQ15. The function ippsWinBlackmanQ15multiplies a vector by a Blackman window with alphaQ15 scaled according to the factor 15.

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

The example below shows how to use the function ippsWinBlackmanStd_32f_I

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.

Using the ippsWinBlackmanStd Function

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)

Submit feedback on this help topic

Copyright © 2000 - 2011, Intel Corporation. All rights reserved.