I recently upgraded to IPP 9 (from IPP 5) and it seems like support for dual-frequency Goertz is no longer available. We use this method extensively:
Is there a replacement for this method, or are there examples of how to do DFT for dual frequencies without this method?
The documentation indicates "Some of the functions compute two values, not one. The applications computing several values, for example the dual-tone multifrequency signal detection, work faster with such functions." But it does not explain how to handle two values instead of one, or which functions compute two values.
This is where we are using the ippsGoertzTwo_16sc_Sfs function:
PS_INLINE void ML_InbandDtmfDetector::CalculateDFT(int* pFreq, unsigned int* pDst, int nFreqs)
// NOTE: nFreqs must be EVEN !
for (int i = 0; i < nFreqs; i += 2)
Ipp16sc output ;
Ipp32f freq ;
freq = m_mapFreq2Ratio[pFreq[i]];
freq = m_mapFreq2Ratio[pFreq[i+1]];
IppStatus status = ippsGoertzTwo_16sc_Sfs(m_pComplexSamples, SAMPLE_SIZE, output, freq, 6);
pDst[i] = abs( output.re ) + abs( output.im ) ;
pDst[i+1] = abs( output.re ) + abs( output.im ) ;
Thanks for posting in Intel Communities.
>>Is there a replacement for this method, or are there examples
Yes, the function ippsGoertzTwo_16sc_Sfs you are referring to is deprecated in the older version IPP 9, and for replacement in the latest version, you can use the function 2xippsGoertz_16sc_Sfs.
For more details regarding ippsGoertz_16sc_Sfs, could you please refer to the below link:
And also, could you please refer to the below link for other deprecated functions:
>>upgraded to IPP 9 (from IPP 5)
We can see that you are using an older version of IPP, we recommend you use the latest version of Intel IPP 2021.9 for more features and better performance
Thanks & Regards,
For the documentation of Goertz in the latest version of 2021.9, the required Include header is ipps.h, and domain dependencies are Headers: ippcore.h, ippvm.h
Libraries: ippcore.lib, ippvm.lib.
Here, Intel IPP 9.0 functions or workaround to replace the removed function ippsGoertzTwo_16sc_Sfs is 2 x ippsGoertz_16sc_Sfs.
Thanks & Regards,