GoertzTwo

Computes two discrete Fourier transforms for a given frequency for a single complex signal.

Syntax

IppStatus ippsGoertzTwo_32f(const Ipp32f* pSrc, int len, Ipp32fc val[2], const Ipp32f rFreq[2]);

IppStatus ippsGoertzTwo_64f(const Ipp64f* pSrc, int len, Ipp64fc val[2], const Ipp64f rFreq[2]);

IppStatus ippsGoertzTwo_32fc(const Ipp32fc* pSrc, int len, Ipp32fc val[2], const Ipp32f rFreq[2]);

IppStatus ippsGoertzTwo_64fc(const Ipp64fc* pSrc, int len, Ipp64fc val[2], const Ipp64f rFreq[2]);

IppStatus ippsGoertzTwo_16sc_Sfs(const Ipp16sc* pSrc, int len, Ipp16sc val[2], const Ipp32f rFreq[2], int scaleFactor);

IppStatus ippsGoertzTwoQ15_16sc_Sfs(const Ipp16sc* pSrc, int len, Ipp16sc val[2], const Ipp16s rFreqQ15[2], int scaleFactor);

Parameters

pSrc

Pointer to the input complex data vector.

len

Number of elements in the vector.

val

Array of the output DFT values.

rFreq

Array of two relative frequency values [0, 1.0).

rFreqQ15

Array of two relative frequency values in Q15 format [0, 32767].

scaleFactor

Scale factor, refer to Integer Scaling.

Description

The function ippsGoertzTwo is declared in the ipps.h file. This function computes two DFTs for a complex input len-length signal pSrc for two given frequencies rFreq, and stores the result in the output array val. The computation of two DFTs on processors that support SIMD approach is performed at the same speed as computation of one DFT.

Optimization Notice

The Intel® Integrated Performance Primitives (Intel® IPP) library contains functions that are more highly optimized for Intel microprocessors than for other microprocessors. While the functions in the Intel® IPP library offer optimizations for both Intel and Intel-compatible microprocessors, depending on your code and other factors, you will likely get extra performance on Intel microprocessors.

While the paragraph above describes the basic optimization approach for the Intel® IPP library as a whole, the library may or may not be optimized to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include Intel® Streaming SIMD Extensions 2 (Intel® SSE2), Intel® Streaming SIMD Extensions 3 (Intel® SSE3), and Supplemental Streaming SIMD Extensions 3 (Intel® 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.

Intel recommends that you evaluate other library products to determine which best meets your requirements.

The functionality of the Goertzel algorithm can be described as follows:



where k/N is one of the normalized rFreq values for which the DFTs are computed.

ippsGoertzTwoQ15. This function operates with relative frequencies in Q15 format. Data in Q15 format are converted to the corresponding float data type that lay in the range [0, 1.0).

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error when one of the pointers is NULL.

ippStsRelFreqErr

Indicates an error when rFreq is out of range.

ippStsSizeErr

Indicates an error when len is less or equal to 0.

Submit feedback on this help topic

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