⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 runfird.cpp

📁 signal-processing.rar信号处理demo原码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
   FUNC_CALL(ippsFIRMR64f_Direct_32f_I, ((Ipp32f*)pSrc, len, 
        (Ipp64f*)m_pTaps, m_tapsLen, m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp32f*)m_pDelay))
   FUNC_CALL(ippsFIRMR64fc_Direct_32fc_I, ((Ipp32fc*)pSrc, len, 
        (Ipp64fc*)m_pTaps, m_tapsLen, m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp32fc*)m_pDelay))

   FUNC_CALL(ippsFIRMR64f_Direct_32s_Sfs, ((Ipp32s*)pSrc, (Ipp32s*)pDst, len, 
        (Ipp64f*)m_pTaps, m_tapsLen, m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp32s*)m_pDelay, scaleFactor))
   FUNC_CALL(ippsFIRMR64fc_Direct_32sc_Sfs, ((Ipp32sc*)pSrc, (Ipp32sc*)pDst, len, 
        (Ipp64fc*)m_pTaps, m_tapsLen, m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp32sc*)m_pDelay, scaleFactor))

   FUNC_CALL(ippsFIRMR64f_Direct_32s_ISfs, ((Ipp32s*)pSrc, len, 
        (Ipp64f*)m_pTaps, m_tapsLen, m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp32s*)m_pDelay, scaleFactor))
   FUNC_CALL(ippsFIRMR64fc_Direct_32sc_ISfs, ((Ipp32sc*)pSrc, len, 
        (Ipp64fc*)m_pTaps, m_tapsLen, m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp32sc*)m_pDelay, scaleFactor))

   FUNC_CALL(ippsFIRMR64f_Direct_16s_Sfs, ((Ipp16s*)pSrc, (Ipp16s*)pDst, len, 
        (Ipp64f*)m_pTaps, m_tapsLen, m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp16s*)m_pDelay, scaleFactor))
   FUNC_CALL(ippsFIRMR64fc_Direct_16sc_Sfs, ((Ipp16sc*)pSrc, (Ipp16sc*)pDst, len, 
        (Ipp64fc*)m_pTaps, m_tapsLen, m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp16sc*)m_pDelay, scaleFactor))

   FUNC_CALL(ippsFIRMR64f_Direct_16s_ISfs, ((Ipp16s*)pSrc, len, 
        (Ipp64f*)m_pTaps, m_tapsLen, m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp16s*)m_pDelay, scaleFactor))
   FUNC_CALL(ippsFIRMR64fc_Direct_16sc_ISfs, ((Ipp16sc*)pSrc, len, 
        (Ipp64fc*)m_pTaps, m_tapsLen, m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp16sc*)m_pDelay, scaleFactor))

   FUNC_CALL(ippsFIRMR32s_Direct_16s_Sfs, ((Ipp16s*)pSrc, (Ipp16s*)pDst, len, 
        (Ipp32s*)m_pTaps, m_tapsLen, m_tapsFactor,
        m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp16s*)m_pDelay, scaleFactor))
   FUNC_CALL(ippsFIRMR32sc_Direct_16sc_Sfs, ((Ipp16sc*)pSrc, (Ipp16sc*)pDst, len, 
        (Ipp32sc*)m_pTaps, m_tapsLen, m_tapsFactor,
        m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp16sc*)m_pDelay, scaleFactor))

   FUNC_CALL(ippsFIRMR32s_Direct_16s_ISfs, ((Ipp16s*)pSrc, len, 
        (Ipp32s*)m_pTaps, m_tapsLen, m_tapsFactor,
        m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp16s*)m_pDelay, scaleFactor))
   FUNC_CALL(ippsFIRMR32sc_Direct_16sc_ISfs, ((Ipp16sc*)pSrc, len, 
        (Ipp32sc*)m_pTaps, m_tapsLen, m_tapsFactor,
        m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp16sc*)m_pDelay, scaleFactor))

   FUNC_CALL(ippsFIROne_Direct_32f, (((Ipp32f*)pSrc)[m_iOne], (Ipp32f*)pDst + m_iOne, (Ipp32f*)m_pTaps, m_tapsLen,
        (Ipp32f*)m_pDelay, &m_delayIndex))
   FUNC_CALL(ippsFIROne_Direct_32fc, (((Ipp32fc*)pSrc)[m_iOne], (Ipp32fc*)pDst + m_iOne, (Ipp32fc*)m_pTaps, m_tapsLen,
        (Ipp32fc*)m_pDelay, &m_delayIndex))

   FUNC_CALL(ippsFIROne_Direct_32f_I, ((Ipp32f*)pSrc + m_iOne, (Ipp32f*)m_pTaps, m_tapsLen,
        (Ipp32f*)m_pDelay, &m_delayIndex))
   FUNC_CALL(ippsFIROne_Direct_32fc_I, ((Ipp32fc*)pSrc + m_iOne, (Ipp32fc*)m_pTaps, m_tapsLen,
        (Ipp32fc*)m_pDelay, &m_delayIndex))

   FUNC_CALL(ippsFIROne32f_Direct_16s_Sfs, (((Ipp16s*)pSrc)[m_iOne], (Ipp16s*)pDst + m_iOne, (Ipp32f*)m_pTaps, m_tapsLen,
        (Ipp16s*)m_pDelay, &m_delayIndex, scaleFactor ))
   FUNC_CALL(ippsFIROne32fc_Direct_16sc_Sfs, (((Ipp16sc*)pSrc)[m_iOne], (Ipp16sc*)pDst + m_iOne, (Ipp32fc*)m_pTaps, m_tapsLen,
        (Ipp16sc*)m_pDelay, &m_delayIndex, scaleFactor ))

   FUNC_CALL(ippsFIROne32f_Direct_16s_ISfs, ((Ipp16s*)pSrc + m_iOne, (Ipp32f*)m_pTaps, m_tapsLen,
        (Ipp16s*)m_pDelay, &m_delayIndex, scaleFactor ))
   FUNC_CALL(ippsFIROne32fc_Direct_16sc_ISfs, ((Ipp16sc*)pSrc + m_iOne, (Ipp32fc*)m_pTaps, m_tapsLen,
        (Ipp16sc*)m_pDelay, &m_delayIndex, scaleFactor ))

   FUNC_CALL(ippsFIROne_Direct_16s_Sfs, (((Ipp16s*)pSrc)[m_iOne], (Ipp16s*)pDst + m_iOne, (Ipp16s*)m_pTaps, m_tapsLen,
        (Ipp16s*)m_pDelay, &m_delayIndex, scaleFactor ))
   FUNC_CALL(ippsFIROne_Direct_16s_ISfs, ((Ipp16s*)pSrc + m_iOne, (Ipp16s*)m_pTaps, m_tapsLen,
        (Ipp16s*)m_pDelay, &m_delayIndex, scaleFactor ))

   FUNC_CALL(ippsFIROne_Direct_64f, (((Ipp64f*)pSrc)[m_iOne], (Ipp64f*)pDst + m_iOne, (Ipp64f*)m_pTaps, m_tapsLen,
        (Ipp64f*)m_pDelay, &m_delayIndex))
   FUNC_CALL(ippsFIROne_Direct_64fc, (((Ipp64fc*)pSrc)[m_iOne], (Ipp64fc*)pDst + m_iOne, (Ipp64fc*)m_pTaps, m_tapsLen,
        (Ipp64fc*)m_pDelay, &m_delayIndex))

   FUNC_CALL(ippsFIROne_Direct_64f_I, ((Ipp64f*)pSrc + m_iOne, (Ipp64f*)m_pTaps, m_tapsLen,
        (Ipp64f*)m_pDelay, &m_delayIndex))
   FUNC_CALL(ippsFIROne_Direct_64fc_I, ((Ipp64fc*)pSrc + m_iOne, (Ipp64fc*)m_pTaps, m_tapsLen,
        (Ipp64fc*)m_pDelay, &m_delayIndex))

   FUNC_CALL(ippsFIROne64f_Direct_32f, (((Ipp32f*)pSrc)[m_iOne], (Ipp32f*)pDst + m_iOne, (Ipp64f*)m_pTaps, m_tapsLen,
        (Ipp32f*)m_pDelay, &m_delayIndex))
   FUNC_CALL(ippsFIROne64fc_Direct_32fc, (((Ipp32fc*)pSrc)[m_iOne], (Ipp32fc*)pDst + m_iOne, (Ipp64fc*)m_pTaps, m_tapsLen,
        (Ipp32fc*)m_pDelay, &m_delayIndex))

   FUNC_CALL(ippsFIROne64f_Direct_32f_I, ((Ipp32f*)pSrc + m_iOne, (Ipp64f*)m_pTaps, m_tapsLen,
        (Ipp32f*)m_pDelay, &m_delayIndex))
   FUNC_CALL(ippsFIROne64fc_Direct_32fc_I, ((Ipp32fc*)pSrc + m_iOne, (Ipp64fc*)m_pTaps, m_tapsLen,
        (Ipp32fc*)m_pDelay, &m_delayIndex))

   FUNC_CALL(ippsFIROne64f_Direct_32s_Sfs, (((Ipp32s*)pSrc)[m_iOne], (Ipp32s*)pDst + m_iOne, (Ipp64f*)m_pTaps, m_tapsLen,
        (Ipp32s*)m_pDelay, &m_delayIndex, scaleFactor ))
   FUNC_CALL(ippsFIROne64fc_Direct_32sc_Sfs, (((Ipp32sc*)pSrc)[m_iOne], (Ipp32sc*)pDst + m_iOne, (Ipp64fc*)m_pTaps, m_tapsLen,
        (Ipp32sc*)m_pDelay, &m_delayIndex, scaleFactor ))

   FUNC_CALL(ippsFIROne64f_Direct_32s_ISfs, ((Ipp32s*)pSrc + m_iOne, (Ipp64f*)m_pTaps, m_tapsLen,
        (Ipp32s*)m_pDelay, &m_delayIndex, scaleFactor ))
   FUNC_CALL(ippsFIROne64fc_Direct_32sc_ISfs, ((Ipp32sc*)pSrc + m_iOne, (Ipp64fc*)m_pTaps, m_tapsLen,
        (Ipp32sc*)m_pDelay, &m_delayIndex, scaleFactor ))

   FUNC_CALL(ippsFIROne64f_Direct_16s_Sfs, (((Ipp16s*)pSrc)[m_iOne], (Ipp16s*)pDst + m_iOne, (Ipp64f*)m_pTaps, m_tapsLen,
        (Ipp16s*)m_pDelay, &m_delayIndex, scaleFactor ))
   FUNC_CALL(ippsFIROne64fc_Direct_16sc_Sfs, (((Ipp16sc*)pSrc)[m_iOne], (Ipp16sc*)pDst + m_iOne, (Ipp64fc*)m_pTaps, m_tapsLen,
        (Ipp16sc*)m_pDelay, &m_delayIndex, scaleFactor ))

   FUNC_CALL(ippsFIROne64f_Direct_16s_ISfs, ((Ipp16s*)pSrc + m_iOne, (Ipp64f*)m_pTaps, m_tapsLen,
        (Ipp16s*)m_pDelay, &m_delayIndex, scaleFactor ))
   FUNC_CALL(ippsFIROne64fc_Direct_16sc_ISfs, ((Ipp16sc*)pSrc + m_iOne, (Ipp64fc*)m_pTaps, m_tapsLen,
        (Ipp16sc*)m_pDelay, &m_delayIndex, scaleFactor ))

   FUNC_CALL(ippsFIROne32s_Direct_16s_Sfs, (((Ipp16s*)pSrc)[m_iOne], (Ipp16s*)pDst + m_iOne, 
        (Ipp32s*)m_pTaps, m_tapsLen, m_tapsFactor,
        (Ipp16s*)m_pDelay, &m_delayIndex, scaleFactor ))
   FUNC_CALL(ippsFIROne32sc_Direct_16sc_Sfs, (((Ipp16sc*)pSrc)[m_iOne], (Ipp16sc*)pDst + m_iOne, 
        (Ipp32sc*)m_pTaps, m_tapsLen, m_tapsFactor,
        (Ipp16sc*)m_pDelay, &m_delayIndex, scaleFactor ))

   FUNC_CALL(ippsFIROne32s_Direct_16s_ISfs, ((Ipp16s*)pSrc + m_iOne, 
        (Ipp32s*)m_pTaps, m_tapsLen, m_tapsFactor,
        (Ipp16s*)m_pDelay, &m_delayIndex, scaleFactor ))
   FUNC_CALL(ippsFIROne32sc_Direct_16sc_ISfs, ((Ipp16sc*)pSrc + m_iOne, 
        (Ipp32sc*)m_pTaps, m_tapsLen, m_tapsFactor,
        (Ipp16sc*)m_pDelay, &m_delayIndex, scaleFactor ))
       
        
        
   FUNC_CALL(ippsFIR_Direct_32f, ((Ipp32f*)pSrc, (Ipp32f*)pDst, len, (Ipp32f*)m_pTaps, m_tapsLen,
        (Ipp32f*)m_pDelay, &m_delayIndex))
   FUNC_CALL(ippsFIR_Direct_32fc, ((Ipp32fc*)pSrc, (Ipp32fc*)pDst, len, (Ipp32fc*)m_pTaps, m_tapsLen,
        (Ipp32fc*)m_pDelay, &m_delayIndex))

   FUNC_CALL(ippsFIR_Direct_32f_I, ((Ipp32f*)pSrc, len, (Ipp32f*)m_pTaps, m_tapsLen,
        (Ipp32f*)m_pDelay, &m_delayIndex))
   FUNC_CALL(ippsFIR_Direct_32fc_I, ((Ipp32fc*)pSrc, len, (Ipp32fc*)m_pTaps, m_tapsLen,
        (Ipp32fc*)m_pDelay, &m_delayIndex))

   FUNC_CALL(ippsFIR32f_Direct_16s_Sfs, ((Ipp16s*)pSrc, (Ipp16s*)pDst, len, (Ipp32f*)m_pTaps, m_tapsLen,
        (Ipp16s*)m_pDelay, &m_delayIndex, scaleFactor ))
   FUNC_CALL(ippsFIR32fc_Direct_16sc_Sfs, ((Ipp16sc*)pSrc, (Ipp16sc*)pDst, len, (Ipp32fc*)m_pTaps, m_tapsLen,
        (Ipp16sc*)m_pDelay, &m_delayIndex, scaleFactor ))

   FUNC_CALL(ippsFIR32f_Direct_16s_ISfs, ((Ipp16s*)pSrc, len, (Ipp32f*)m_pTaps, m_tapsLen,
        (Ipp16s*)m_pDelay, &m_delayIndex, scaleFactor ))
   FUNC_CALL(ippsFIR32fc_Direct_16sc_ISfs, ((Ipp16sc*)pSrc, len, (Ipp32fc*)m_pTaps, m_tapsLen,
        (Ipp16sc*)m_pDelay, &m_delayIndex, scaleFactor ))

   FUNC_CALL(ippsFIR_Direct_16s_Sfs, ((Ipp16s*)pSrc, (Ipp16s*)pDst, len, (Ipp16s*)m_pTaps, m_tapsLen,
        (Ipp16s*)m_pDelay, &m_delayIndex, scaleFactor ))
   FUNC_CALL(ippsFIR_Direct_16s_ISfs, ((Ipp16s*)pSrc, len, (Ipp16s*)m_pTaps, m_tapsLen,
        (Ipp16s*)m_pDelay, &m_delayIndex, scaleFactor ))

   FUNC_CALL(ippsFIR_Direct_64f, ((Ipp64f*)pSrc, (Ipp64f*)pDst, len, (Ipp64f*)m_pTaps, m_tapsLen,
        (Ipp64f*)m_pDelay, &m_delayIndex))
   FUNC_CALL(ippsFIR_Direct_64fc, ((Ipp64fc*)pSrc, (Ipp64fc*)pDst, len, (Ipp64fc*)m_pTaps, m_tapsLen,
        (Ipp64fc*)m_pDelay, &m_delayIndex))

   FUNC_CALL(ippsFIR_Direct_64f_I, ((Ipp64f*)pSrc, len, (Ipp64f*)m_pTaps, m_tapsLen,
        (Ipp64f*)m_pDelay, &m_delayIndex))
   FUNC_CALL(ippsFIR_Direct_64fc_I, ((Ipp64fc*)pSrc, len, (Ipp64fc*)m_pTaps, m_tapsLen,
        (Ipp64fc*)m_pDelay, &m_delayIndex))

   FUNC_CALL(ippsFIR64f_Direct_32f, ((Ipp32f*)pSrc, (Ipp32f*)pDst, len, (Ipp64f*)m_pTaps, m_tapsLen,
        (Ipp32f*)m_pDelay, &m_delayIndex))
   FUNC_CALL(ippsFIR64fc_Direct_32fc, ((Ipp32fc*)pSrc, (Ipp32fc*)pDst, len, (Ipp64fc*)m_pTaps, m_tapsLen,
        (Ipp32fc*)m_pDelay, &m_delayIndex))

   FUNC_CALL(ippsFIR64f_Direct_32f_I, ((Ipp32f*)pSrc, len, (Ipp64f*)m_pTaps, m_tapsLen,
        (Ipp32f*)m_pDelay, &m_delayIndex))
   FUNC_CALL(ippsFIR64fc_Direct_32fc_I, ((Ipp32fc*)pSrc, len, (Ipp64fc*)m_pTaps, m_tapsLen,
        (Ipp32fc*)m_pDelay, &m_delayIndex))

   FUNC_CALL(ippsFIR64f_Direct_32s_Sfs, ((Ipp32s*)pSrc, (Ipp32s*)pDst, len, (Ipp64f*)m_pTaps, m_tapsLen,
        (Ipp32s*)m_pDelay, &m_delayIndex, scaleFactor ))
   FUNC_CALL(ippsFIR64fc_Direct_32sc_Sfs, ((Ipp32sc*)pSrc, (Ipp32sc*)pDst, len, (Ipp64fc*)m_pTaps, m_tapsLen,
        (Ipp32sc*)m_pDelay, &m_delayIndex, scaleFactor ))

   FUNC_CALL(ippsFIR64f_Direct_32s_ISfs, ((Ipp32s*)pSrc, len, (Ipp64f*)m_pTaps, m_tapsLen,
        (Ipp32s*)m_pDelay, &m_delayIndex, scaleFactor ))
   FUNC_CALL(ippsFIR64fc_Direct_32sc_ISfs, ((Ipp32sc*)pSrc, len, (Ipp64fc*)m_pTaps, m_tapsLen,
        (Ipp32sc*)m_pDelay, &m_delayIndex, scaleFactor ))

   FUNC_CALL(ippsFIR64f_Direct_16s_Sfs, ((Ipp16s*)pSrc, (Ipp16s*)pDst, len, (Ipp64f*)m_pTaps, m_tapsLen,
        (Ipp16s*)m_pDelay, &m_delayIndex, scaleFactor ))
   FUNC_CALL(ippsFIR64fc_Direct_16sc_Sfs, ((Ipp16sc*)pSrc, (Ipp16sc*)pDst, len, (Ipp64fc*)m_pTaps, m_tapsLen,
        (Ipp16sc*)m_pDelay, &m_delayIndex, scaleFactor ))

   FUNC_CALL(ippsFIR64f_Direct_16s_ISfs, ((Ipp16s*)pSrc, len, (Ipp64f*)m_pTaps, m_tapsLen,
        (Ipp16s*)m_pDelay, &m_delayIndex, scaleFactor ))
   FUNC_CALL(ippsFIR64fc_Direct_16sc_ISfs, ((Ipp16sc*)pSrc, len, (Ipp64fc*)m_pTaps, m_tapsLen,
        (Ipp16sc*)m_pDelay, &m_delayIndex, scaleFactor ))

   FUNC_CALL(ippsFIR32s_Direct_16s_Sfs, ((Ipp16s*)pSrc, (Ipp16s*)pDst, len, 
        (Ipp32s*)m_pTaps, m_tapsLen, m_tapsFactor,
        (Ipp16s*)m_pDelay, &m_delayIndex, scaleFactor ))
   FUNC_CALL(ippsFIR32sc_Direct_16sc_Sfs, ((Ipp16sc*)pSrc, (Ipp16sc*)pDst, len, 
        (Ipp32sc*)m_pTaps, m_tapsLen, m_tapsFactor,
        (Ipp16sc*)m_pDelay, &m_delayIndex, scaleFactor ))

   FUNC_CALL(ippsFIR32s_Direct_16s_ISfs, ((Ipp16s*)pSrc, len, 
        (Ipp32s*)m_pTaps, m_tapsLen, m_tapsFactor,
        (Ipp16s*)m_pDelay, &m_delayIndex, scaleFactor ))
   FUNC_CALL(ippsFIR32sc_Direct_16sc_ISfs, ((Ipp16sc*)pSrc, len, 
        (Ipp32sc*)m_pTaps, m_tapsLen, m_tapsFactor,
        (Ipp16sc*)m_pDelay, &m_delayIndex, scaleFactor ))

   return stsNoFunction;
}

CString CRunFirD::GetHistoryParms()
{
   CMyString parms;
   parms << len 
         << ", " << m_pDocTaps->GetTitle()
         << ", " << m_tapsLen;
   if ((m_pDocTaps->GetVector()->Type() | PP_CPLX) == pp32sc)
      parms << ", " << m_tapsFactor;
   if (m_MR) {
      parms << ", " << m_upFactor
            << ", " << m_upPhase
            << ", " << m_downFactor
            << ", " << m_downPhase;
   }
   parms << ", Dly=Zero";
   if (m_Func.Scale())
      parms << ", " << scaleFactor;
   return parms;
}

int CRunFirD::GetSrcOffset(int dlyType, int dlyLen, int srcLen)
{
   if ((dlyType == DLY_SRC) && srcLen > dlyLen) 
      return dlyLen;
   else
      return 0;
}

int CRunFirD::CreateDelayLine(CVector& pDelay, int dlyLen, CVector* pSrcVector, 
                              int dlyType, CFunc& func)
{
   BOOL bDirect = func.Found("Direct");
   pDelay.Allocate(dlyLen*(bDirect + 1));
   int srcOffset = GetSrcOffset(dlyType, dlyLen, pSrcVector->Length());
   if (srcOffset) {
      int j = bDirect ? srcOffset - 1 : 0;
      for (int i=0; i<srcOffset; i++) {
         pDelay.Set(i, pSrcVector->Get(j));
         j += bDirect ? -1 : 1;
      }
   }
   return srcOffset;
}

void* CRunFirD::GetOffsetPtr(CVector* pSrcVector, int srcOffset)
{
   return (char*)pSrcVector->GetData() + srcOffset*pSrcVector->ItemSize();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -