summaryrefslogtreecommitdiff
path: root/2.3-1/src/c/signalProcessing/includes
diff options
context:
space:
mode:
Diffstat (limited to '2.3-1/src/c/signalProcessing/includes')
-rw-r--r--2.3-1/src/c/signalProcessing/includes/conv.h41
-rw-r--r--2.3-1/src/c/signalProcessing/includes/conv2d.h38
-rw-r--r--2.3-1/src/c/signalProcessing/includes/crossCorr.h37
-rw-r--r--2.3-1/src/c/signalProcessing/includes/dynlib_signalprocessing.h26
-rw-r--r--2.3-1/src/c/signalProcessing/includes/fft.h57
-rw-r--r--2.3-1/src/c/signalProcessing/includes/fftshift.h76
-rw-r--r--2.3-1/src/c/signalProcessing/includes/hilbert.h43
-rw-r--r--2.3-1/src/c/signalProcessing/includes/ifft.h59
-rw-r--r--2.3-1/src/c/signalProcessing/includes/lev.h50
-rw-r--r--2.3-1/src/c/signalProcessing/includes/levin.h31
-rw-r--r--2.3-1/src/c/signalProcessing/includes/lpc2cep.h44
11 files changed, 502 insertions, 0 deletions
diff --git a/2.3-1/src/c/signalProcessing/includes/conv.h b/2.3-1/src/c/signalProcessing/includes/conv.h
new file mode 100644
index 00000000..9dd43a50
--- /dev/null
+++ b/2.3-1/src/c/signalProcessing/includes/conv.h
@@ -0,0 +1,41 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Arnaud TORSET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef __CONV_H__
+#define __CONV_H__
+
+#include <math.h>
+#include <stdlib.h>
+#include "dynlib_signalprocessing.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "multiplication.h"
+#include "ifft.h"
+#include "fft.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/* Computes the convolution between VECTORS */
+
+EXTERN_SIGPROC void sconva(float *in1, int size1, float *in2,int size2, float *out);
+
+EXTERN_SIGPROC void dconva(double *in1, int size1, double *in2,int size2, double *out);
+
+EXTERN_SIGPROC void cconva(floatComplex *in1, int size1, floatComplex *in2,int size2, floatComplex *out);
+
+EXTERN_SIGPROC void zconva(doubleComplex *in1, int size1, doubleComplex *in2,int size2, doubleComplex *out);
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__CONV_H__ */
diff --git a/2.3-1/src/c/signalProcessing/includes/conv2d.h b/2.3-1/src/c/signalProcessing/includes/conv2d.h
new file mode 100644
index 00000000..ed71d924
--- /dev/null
+++ b/2.3-1/src/c/signalProcessing/includes/conv2d.h
@@ -0,0 +1,38 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Arnaud TORSET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef __CONV2D_H__
+#define __CONV2D_H__
+
+#include "dynlib_signalprocessing.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Computes the convolution between MATRICES */
+
+EXTERN_SIGPROC void sconv2da(float *in1, int lines1, int columns1, float *in2, int lines2, int columns2, float *out);
+
+EXTERN_SIGPROC void dconv2da(double *in1, int lines1, int columns1, double *in2, int lines2, int columns2, double *out);
+
+EXTERN_SIGPROC void cconv2da(floatComplex *in1, int lines1, int columns1, floatComplex *in2, int lines2, int columns2, floatComplex *out);
+
+EXTERN_SIGPROC void zconv2da(doubleComplex *in1, int lines1, int columns1, doubleComplex *in2, int lines2, int columns2, doubleComplex *out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__CONV2D_H__ */
diff --git a/2.3-1/src/c/signalProcessing/includes/crossCorr.h b/2.3-1/src/c/signalProcessing/includes/crossCorr.h
new file mode 100644
index 00000000..c44d6666
--- /dev/null
+++ b/2.3-1/src/c/signalProcessing/includes/crossCorr.h
@@ -0,0 +1,37 @@
+
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Arnaud TORSET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef __CROSSCORR_H__
+#define __CROSSCORR_H__
+
+#include "dynlib_signalprocessing.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EXTERN_SIGPROC void scrossCorra(float* in1, int rows1, int cols1, float* in2, int rows2, int cols2, float* out);
+
+EXTERN_SIGPROC void dcrossCorra(double* in1, int rows1, int cols1, double* in2, int rows2, int cols2, double* out);
+
+EXTERN_SIGPROC void ccrossCorra(floatComplex* in1, int rows1, int cols1, floatComplex* in2, int rows2, int cols2, floatComplex* out);
+
+EXTERN_SIGPROC void zcrossCorra(doubleComplex* in1, int rows1, int cols1, doubleComplex* in2, int rows2, int cols2, doubleComplex* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __CROSSCORR_H__ */
diff --git a/2.3-1/src/c/signalProcessing/includes/dynlib_signalprocessing.h b/2.3-1/src/c/signalProcessing/includes/dynlib_signalprocessing.h
new file mode 100644
index 00000000..fcbe5800
--- /dev/null
+++ b/2.3-1/src/c/signalProcessing/includes/dynlib_signalprocessing.h
@@ -0,0 +1,26 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2009 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+*
+*/
+
+#ifndef __DYNLIB_SIGNALPROCESSING_H__
+#define __DYNLIB_SIGNALPROCESSING_H__
+
+#if defined(_MSC_VER) && defined(_USRDLL)
+ #if SIGNALPROCESSING_EXPORTS
+ #define EXTERN_SIGPROC __declspec (dllexport)
+ #else
+ #define EXTERN_SIGPROC __declspec (dllimport)
+ #endif
+#else
+ #define EXTERN_SIGPROC
+#endif
+
+#endif /* __DYNLIB_SIGNALPROCESSING_H__ */
diff --git a/2.3-1/src/c/signalProcessing/includes/fft.h b/2.3-1/src/c/signalProcessing/includes/fft.h
new file mode 100644
index 00000000..efc85c09
--- /dev/null
+++ b/2.3-1/src/c/signalProcessing/includes/fft.h
@@ -0,0 +1,57 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Allan SIMON
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef __FFT_H__
+#define __FFT_H__
+
+#include "dynlib_signalprocessing.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+
+#define sffts(in) in
+#define dffts(in) in
+#define cffts(in) in
+#define zffts(in) in
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EXTERN_SIGPROC void sfftma(float* in,int rows,int columns,float* out);
+
+EXTERN_SIGPROC void dfftma(double* in,int rows,int columns,double* out);
+
+/*
+** compute the fast fourier transform of a vector
+** param in : the input matrix in complex float precision
+** param rows: number of rows of the input matrix
+** param cols: number of cols of the input matrix
+** param out : the transformed matrix in complex float precision
+*/
+
+EXTERN_SIGPROC void cfftma ( floatComplex* in , int rows, int cols, floatComplex* out);
+/*
+** compute the fast fourier transform of a vector
+** param in : the input matrix in complex double precision
+** param rows: number of rows of the input matrix
+** param cols: number of cols of the input matrix
+** param out : the transformed matrix in complex double precision
+*/
+EXTERN_SIGPROC void zfftma ( doubleComplex* in , int rows, int cols, doubleComplex* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__FFT_H__ */
+
diff --git a/2.3-1/src/c/signalProcessing/includes/fftshift.h b/2.3-1/src/c/signalProcessing/includes/fftshift.h
new file mode 100644
index 00000000..242e7ff7
--- /dev/null
+++ b/2.3-1/src/c/signalProcessing/includes/fftshift.h
@@ -0,0 +1,76 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Allan SIMON
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef __FFTSHIFT_H__
+#define __FFTSHIFT_H__
+
+
+#include "dynlib_signalprocessing.h"
+
+/*
+ fftshift rearrange the result of fft(x)
+ it's call like that : fftshift(y), y=ff(x)
+*/
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+
+#define sfftshifts(in) in
+#define dfftshifts(in) in
+#define cfftshifts(in) in
+#define zfftshifts(in) in
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EXTERN_SIGPROC void sfftshifta(float* in,int rows,int columns,float* out);
+
+EXTERN_SIGPROC void dfftshifta(double* in,int rows,int columns,double* out);
+
+EXTERN_SIGPROC void cfftshifta ( floatComplex* in , int rows, int cols, floatComplex* out);
+
+EXTERN_SIGPROC void zfftshifta ( doubleComplex* in , int rows, int cols, doubleComplex* out);
+
+
+#define srowfftshifts(in) in
+#define drowfftshifts(in) in
+#define crowfftshifts(in) in
+#define zrowfftshifts(in) in
+
+EXTERN_SIGPROC void srowfftshifta(float* in,int rows,int columns,float* out);
+
+EXTERN_SIGPROC void drowfftshifta(double* in,int rows,int columns,double* out);
+
+EXTERN_SIGPROC void crowfftshifta ( floatComplex* in , int rows, int cols, floatComplex* out);
+
+EXTERN_SIGPROC void zrowfftshifta ( doubleComplex* in , int rows, int cols, doubleComplex* out);
+
+#define scolumnfftshifts(in) in
+#define dcolumnfftshifts(in) in
+#define ccolumnfftshifts(in) in
+#define zcolumnfftshifts(in) in
+
+EXTERN_SIGPROC void scolumnfftshifta(float* in,int rows,int columns,float* out);
+
+EXTERN_SIGPROC void dcolumnfftshifta(double* in,int rows,int columns,double* out);
+
+EXTERN_SIGPROC void ccolumnfftshifta ( floatComplex* in , int rows, int cols, floatComplex* out);
+
+EXTERN_SIGPROC void zcolumnfftshifta ( doubleComplex* in , int rows, int cols, doubleComplex* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__FFTSHIFT_H__ */
+
diff --git a/2.3-1/src/c/signalProcessing/includes/hilbert.h b/2.3-1/src/c/signalProcessing/includes/hilbert.h
new file mode 100644
index 00000000..38264e3b
--- /dev/null
+++ b/2.3-1/src/c/signalProcessing/includes/hilbert.h
@@ -0,0 +1,43 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Arnaud TORSET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+
+#ifndef __HILBERT_H__
+#define __HILBERT_H__
+
+#include "dynlib_signalprocessing.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* FIXME : input : real
+ output : complex
+ Is this true all time?
+ Or must we do input : real, output :real?
+*/
+
+EXTERN_SIGPROC float shilberts(float in);
+
+EXTERN_SIGPROC void shilberta (float* in, int rows, int cols, floatComplex *out);
+
+EXTERN_SIGPROC double dhilberts(double in);
+
+EXTERN_SIGPROC void dhilberta (double* in, int rows, int cols, doubleComplex *out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __HILBERT_H__ */
diff --git a/2.3-1/src/c/signalProcessing/includes/ifft.h b/2.3-1/src/c/signalProcessing/includes/ifft.h
new file mode 100644
index 00000000..6954c7f9
--- /dev/null
+++ b/2.3-1/src/c/signalProcessing/includes/ifft.h
@@ -0,0 +1,59 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Allan SIMON
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef __IFFT_H__
+#define __IFFT_H__
+
+#include "dynlib_signalprocessing.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+#define siffts(in) in
+#define diffts(in) in
+#define ciffts(in) in
+#define ziffts(in) in
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EXTERN_SIGPROC void sifftma ( float* in , int rows, int cols, float* out);
+
+EXTERN_SIGPROC void difftma ( double* in , int rows, int cols, double* out);
+
+/*
+** compute the inverse fast fourier transform of a vector
+** param in : the input matrix in complex double precision
+** param rows: number of rows of the input matrix
+** param cols: number of cols of the input matrix
+** param out : the transformed matrix in complex double precision
+*/
+
+
+EXTERN_SIGPROC void zifftma ( doubleComplex* in , int rows, int cols, doubleComplex* out);
+/*
+** compute the inverse fast fourier transform of a vector
+** param in : the input matrix in complex float precision
+** param rows: number of rows of the input matrix
+** param cols: number of cols of the input matrix
+** param out : the transformed matrix in complex float precision
+*/
+
+EXTERN_SIGPROC void cifftma ( floatComplex* in , int rows, int cols, floatComplex* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__IFFT_H__ */
+
diff --git a/2.3-1/src/c/signalProcessing/includes/lev.h b/2.3-1/src/c/signalProcessing/includes/lev.h
new file mode 100644
index 00000000..32a81782
--- /dev/null
+++ b/2.3-1/src/c/signalProcessing/includes/lev.h
@@ -0,0 +1,50 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Arnaud TORSET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef __LEV_H__
+#define __LEV_H__
+
+#include "dynlib_signalprocessing.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ function Scilab :
+ [out1,y,out3]=lev(in)
+ y : result of the function
+*/
+EXTERN_SIGPROC float sleva (float* in,int size, float* out1, float* out3);
+EXTERN_SIGPROC double dleva (double* in, int size, double* out1, double* out3);
+EXTERN_SIGPROC floatComplex cleva (floatComplex* in,int size, floatComplex* out1, floatComplex* out3);
+EXTERN_SIGPROC doubleComplex zleva (doubleComplex* in,int size, doubleComplex* out1, doubleComplex* out3);
+
+
+/*
+ function Scilab :
+ [out1,y]=lev(in)
+ y : result of the function
+*/
+EXTERN_SIGPROC float sleva2 (float* in,int size, float* out1);
+EXTERN_SIGPROC double dleva2 (double* in, int size, double* out1);
+EXTERN_SIGPROC floatComplex cleva2 (floatComplex* in,int size, floatComplex* out1);
+EXTERN_SIGPROC doubleComplex zleva2 (doubleComplex* in,int size, doubleComplex* out1);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__LEV_H__*/
+
diff --git a/2.3-1/src/c/signalProcessing/includes/levin.h b/2.3-1/src/c/signalProcessing/includes/levin.h
new file mode 100644
index 00000000..864fb076
--- /dev/null
+++ b/2.3-1/src/c/signalProcessing/includes/levin.h
@@ -0,0 +1,31 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Arnaud TORSET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef __LEVIN_H__
+#define __LEVIN_H__
+
+#include "dynlib_signalprocessing.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EXTERN_SIGPROC void dlevina (int n, double* cov, int lCov, int cCov, double* la, double* sig, double* lb);
+
+EXTERN_SIGPROC void slevina (int n, float* cov, int lCov, int cCov, float* la, float* sig, float* lb);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__LEVIN_H__*/
+
diff --git a/2.3-1/src/c/signalProcessing/includes/lpc2cep.h b/2.3-1/src/c/signalProcessing/includes/lpc2cep.h
new file mode 100644
index 00000000..bfb3a357
--- /dev/null
+++ b/2.3-1/src/c/signalProcessing/includes/lpc2cep.h
@@ -0,0 +1,44 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - INRIA - Arnaud TORSET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef __LPC2CEP_H__
+#define __LPC2CEP_H__
+
+#include "dynlib_signalprocessing.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+/* Matrices on input are squared because matricial logarithm
+ works only with squared matrices (and logm is used in lcp2cep)
+ So we just have to pass one parametre on input for the size of
+ the input matrix, this parametre is size and it's the numbers of
+ rows(or columns)
+*/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EXTERN_SIGPROC void slpc2cepa(float* in, int size, float* out);
+
+EXTERN_SIGPROC void dlpc2cepa(double* in, int size, double* out);
+
+EXTERN_SIGPROC void clpc2cepa(floatComplex* in, int size, floatComplex* out);
+
+EXTERN_SIGPROC void zlpc2cepa(doubleComplex* in, int size, doubleComplex* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__LPC2CEP_H__*/
+