Initial import
git-svn-id: http://moon:8086/svn/software/trunk/libsrc/avpflms@1 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
/*-------------------------------------------------------------------------
|
||||
* pflms.h Partioned Frequency Least-Mean-Square adaptive algorithm
|
||||
* $Id: $
|
||||
*-------------------------------------------------------------------------
|
||||
*
|
||||
* Copyright (C) 2001 Algo Vision Systems GmbH
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef _PFLMS_H
|
||||
#define _PFLMS_H
|
||||
#include "pfft.h"
|
||||
|
||||
/*-----------------------------------------------------------------------*/
|
||||
/* PFLMS-Parameter */
|
||||
/*-----------------------------------------------------------------------*/
|
||||
|
||||
typedef struct _sPFLMS
|
||||
{
|
||||
UINT32 N, P, S, L, C; /* PFLMS-Parameter N, P, S, L, C */
|
||||
avfloat_t gamma; /* Sicherheitskonstannte */
|
||||
CMPXBUF *pBufWS; /* komplexe Puffer X[P*S][C], WS[P][C] */
|
||||
CMPXBUF *pX, *pWS, *pPj; /* aktuelle Zeiger auf Puffer[p][] */
|
||||
COMPLEX *pTemp; /* temporaerer Puffer fuer Y[] und E[] */
|
||||
REALBUF *pBufMu; /* reeller Puffer Mu[P*S][C] */
|
||||
REALBUF *pMu; /* Aktueller zeiger auf Mu[k-p*S] */
|
||||
avfloat_t *pBufPX; /* reeller Puffer PX[C] */
|
||||
FFT *pFFT; /* FFT-Objekt */
|
||||
PFFT *pFilter; /* Filter-Objekt */
|
||||
} PFLMS;
|
||||
|
||||
|
||||
AVERR PflmsInit(PFLMS *pObj,UINT32 N, UINT32 P, UINT32 S, UINT32 L, UINT32 C);
|
||||
AVERR PflmsInitFilter(PFLMS *pObj, avfloat_t *pWTD);
|
||||
AVERR Pflms(PFLMS *pObj, avfloat_t *pInTDx, avfloat_t *pInTDd, avfloat_t *pOutTDy, avfloat_t *pOutTDe, avfloat_t alpha);
|
||||
|
||||
#endif /* _PFLMS_H */
|
||||
|
||||
Reference in New Issue
Block a user