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

📄 nspiirh.h

📁 利用intel dsplib 库函数进行特定2FSK信号(需传导频)解调
💻 H
字号:
/*M*
//
//               INTEL CORPORATION PROPRIETARY INFORMATION
//  This software is supplied under the terms of a license agreement or
//  nondisclosure agreement with Intel Corporation and may not be copied
//  or disclosed except in accordance with the terms of that agreement.
//        Copyright (c) 1995 Intel Corporation. All Rights Reserved.
//
//      $Workfile: nspiirh.h $
//      $Revision: 5 $
//      $Modtime: Dec 16 1996 18:31:26  $
//
//  Purpose: NSP Infinite Impulse Response Filtering.
*M*/
#ifdef __cplusplus
extern "C" {
#endif
#if !defined (_NSPIIRH_H) || defined (_OWN_BLDPCS)
    #define _NSPIIRH_H
/*-------------------------------------------------------------------------*/
/*         IirInit, IirInitBq, IirFree                                     */
/*                                                                         */
/* These functions initialize an IIR filter and provide a higher-level     */
/* interface than the corresponding low-level IIR functions.               */
/*                                                                         */

/*-------------------------------------------------------------------------*/
/* FUNCTION:                                                               */
/*   nsp<s,c,d,z>IirInit                                                   */
/*   nsp<sc,cs,dz,zd>IirInit                                               */
/* DESCRIPTION:                                                            */
/*   These functions initialize an arbitrary order IIR filter.             */
/* PARAMETERS:                                                             */
/*   iirType  - input, describes the filter structure to use, and currently*/
/*              must be NSP_IirDefault;                                    */
/*   tapVals  - input, the 2*(order+1) length array specifies the filter   */
/*              coefficients as discussed for the low-level IIR function   */
/*              nsp?IirlInit());                                           */
/*   order    - input, sets polinomial order;                              */
/*   statePtr - output, the pointer to the IIR filter state structure.     */
/*                                                                         */

    NSPAPI(void,nspsIirInit,(NSPIirType  iirType, const float         *tapVals,
                             int         order,         NSPIirState *statePtr))
    NSPAPI(void,nspcIirInit,(NSPIirType  iirType, const SCplx       *tapVals,
                             int         order,         NSPIirState *statePtr))
    NSPAPI(void,nspdIirInit,(NSPIirType  iirType, const double      *tapVals,
                             int         order,         NSPIirState *statePtr))
    NSPAPI(void,nspzIirInit,(NSPIirType  iirType, const DCplx       *tapVals,
                             int          order,        NSPIirState *statePtr))
    NSPAPI(void,nspwIirInit,(NSPIirType  iirType, const float       *tapVals,
                             int          order,        NSPIirState *statePtr))
    NSPAPI(void,nspwIirInitGain,(NSPIirType  iirType, const float    *tapsVals,
                                 int          order,        NSPIirState *statePtr,
                                 float        gain,         int InputRange))

    NSPAPI(void,nspscIirInit,(NSPIirType iirType, const SCplx       *tapVals,
                              int        order,         NSPIirState *statePtr))
    NSPAPI(void,nspcsIirInit,(NSPIirType iirType, const float        *tapVals,
                              int        order,         NSPIirState *statePtr))
    NSPAPI(void,nspdzIirInit,(NSPIirType iirType, const DCplx       *tapVals,
                              int        order,         NSPIirState *statePtr))
    NSPAPI(void,nspzdIirInit,(NSPIirType iirType, const double      *tapVals,
                              int        order,         NSPIirState *statePtr))

/*-------------------------------------------------------------------------*/
/* FUNCTION:                                                               */
/*   nsp<s,c,d,z>IirInitBq                                                 */
/*   nsp<sc,cs,dz,zd>IirInitBq                                             */
/* DESCRIPTION:                                                            */
/*   These functions initialize an IIR filter defined by a cascade of      */
/*   biquads.                                                              */
/* PARAMETERS:                                                             */
/*   iirType  - input, describes the filter structure to use, and currently*/
/*              must be NSP_IirDefault;                                    */
/*   tapVals  - input, the 6*numQuads length array specifies the filter    */
/*              coefficients as discussed for the low-level IIR function   */
/*              nsp?IirlInitBq());                                         */
/*   numQuads - input, sets the number of biduads;                         */
/*   tapStPtr - output, pointer to the IIR state structure.                */
/*                                                                         */

    NSPAPI(void,nspsIirInitBq,(NSPIirType  iirType, const float         *tapVals,
                               int         numQuads,      NSPIirState *statePtr))
    NSPAPI(void,nspcIirInitBq,(NSPIirType  iirType, const SCplx       *tapVals,
                               int         numQuads,      NSPIirState *statePtr))
    NSPAPI(void,nspdIirInitBq,(NSPIirType  iirType, const double      *tapVals,
                               int         numQuads,      NSPIirState *statePtr))
    NSPAPI(void,nspzIirInitBq,(NSPIirType  iirType, const DCplx       *tapVals,
                               int         numQuads,      NSPIirState *statePtr))
    NSPAPI(void,nspwIirInitBq,(NSPIirType  iirType, const float       *tapVals,
                               int         numQuads,      NSPIirState *statePtr))

    NSPAPI(void,nspscIirInitBq,(NSPIirType iirType, const SCplx       *tapVals,
                                int        numQuads,      NSPIirState *statePtr))
    NSPAPI(void,nspcsIirInitBq,(NSPIirType iirType, const float       *tapVals,
                                int        numQuads,      NSPIirState *statePtr))
    NSPAPI(void,nspdzIirInitBq,(NSPIirType iirType, const DCplx       *tapVals,
                                int        numQuads,      NSPIirState *statePtr))
    NSPAPI(void,nspzdIirInitBq,(NSPIirType iirType, const double      *tapVals,
                                int        numQuads,      NSPIirState *statePtr))

/*-------------------------------------------------------------------------*/
/* FUNCTION:                                                               */
/*   nspIirFree                                                            */
/* DESCRIPTION:                                                            */
/*   This function must be called after all filtering is done to free      */
/*   dynamic memory associated with statePtr. After calling this function, */
/*   statePtr should not be referenced again.                              */
/* PARAMETERS:                                                             */
/*   statePtr - pointer to the IIR filter state structure.                 */
/*                                                                         */

    NSPAPI(void,nspIirFree,(NSPIirState *statePtr))

/*-------------------------------------------------------------------------*/
/*         Iir, bIir                                                       */
/*                                                                         */
/* Filter a signal through a IIR filter.                                   */
/*                                                                         */

/*-------------------------------------------------------------------------*/
/* FUNCTION:                                                               */
/*   nsp<s,c,d,z>Iir                                                       */
/*   nsp<sc,cs,dz,zd>Iir                                                   */
/* DESCRIPTION:                                                            */
/*   These functions filter a single sample samp through an IIR filter and */
/*   return the result.                                                    */
/* PARAMETERS:                                                             */
/*   statePtr - input, pointer to the IIR state structure;                 */
/*   samp     - input, the sample value.                                   */
/* RETURNS:                                                                */
/*   the filtering result.                                                 */
/*                                                                         */

    NSPAPI(float, nspsIir,(NSPIirState *statePtr, float  samp))
    NSPAPI(SCplx, nspcIir,(NSPIirState *statePtr, SCplx  samp))
    NSPAPI(double,nspdIir,(NSPIirState *statePtr, double samp))
    NSPAPI(DCplx, nspzIir,(NSPIirState *statePtr, DCplx  samp))
    NSPAPI(short, nspwIir,(NSPIirState *statePtr, short  samp,
                           int          scaleMode,int   *scaleFactor))

    NSPAPI(SCplx,nspscIir,(NSPIirState *statePtr, float  samp))
    NSPAPI(SCplx,nspcsIir,(NSPIirState *statePtr, SCplx  samp))
    NSPAPI(DCplx,nspdzIir,(NSPIirState *statePtr, double samp))
    NSPAPI(DCplx,nspzdIir,(NSPIirState *statePtr, DCplx  samp))

    NSPAPI(void, nspcIirOut,(NSPIirState *statePtr, SCplx  samp, SCplx* val))
    NSPAPI(void,nspscIirOut,(NSPIirState *statePtr, float  samp, SCplx* val))
    NSPAPI(void,nspcsIirOut,(NSPIirState *statePtr, SCplx  samp, SCplx* val))
/*-------------------------------------------------------------------------*/
/* FUNCTION:                                                               */
/*   nsp<s,c,d,z>bIir                                                      */
/*   nsp<sc,cs,dz,zd>bIir                                                  */
/* DESCRIPTION:                                                            */
/*   These functions filter a block of numIters samples inSamps through an */
/*   IIR filter and return the result in outSamps.                         */
/* PARAMETERS:                                                             */
/*   statePtr - input, pointer to the IIR state structure;                 */
/*   inSamps  - input, the pointer to block of numIters samples;           */
/*   outSamps - output, the pointer to block of numIters filtered samples; */
/*   numIters - input, the size of samples' block.                         */
/*                                                                         */

    NSPAPI(void,nspsbIir,(NSPIirState *statePtr,  const float  *inSamps,
                          float       *outSamps,        int     numIters))
    NSPAPI(void,nspcbIir,(NSPIirState *statePtr,  const SCplx  *inSamps,
                          SCplx       *outSamps,        int     numIters))
    NSPAPI(void,nspdbIir,(NSPIirState *statePtr,  const double *inSamps,
                          double      *outSamps,        int     numIters))
    NSPAPI(void,nspzbIir,(NSPIirState *statePtr,  const DCplx  *inSamps,
                          DCplx       *outSamps,        int     numIters))
    NSPAPI(void,nspwbIir,(NSPIirState *statePtr,  const short  *inSamps,
                          short       *outSamps,        int     numIters,
                          int          scaleMode,       int    *scaleFactor))

    NSPAPI(void,nspscbIir,(NSPIirState *statePtr, const float  *inSamps,
                           SCplx       *outSamps,       int     numIters))
    NSPAPI(void,nspcsbIir,(NSPIirState *statePtr, const SCplx  *inSamps,
                           SCplx       *outSamps,       int     numIters))
    NSPAPI(void,nspdzbIir,(NSPIirState *statePtr, const double *inSamps,
                           DCplx       *outSamps,       int     numIters))
    NSPAPI(void,nspzdbIir,(NSPIirState *statePtr, const DCplx  *inSamps,
                           DCplx       *outSamps,       int     numIters))

#endif                                  /* _NSPIIRH_H                      */
#ifdef __cplusplus
}
#endif

⌨️ 快捷键说明

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