summaryrefslogtreecommitdiff
path: root/src/signalProcessing/fft/r4tx.c
diff options
context:
space:
mode:
authorsimon2008-09-03 08:25:00 +0000
committersimon2008-09-03 08:25:00 +0000
commit200330a47cc05b20985889839fcddc5d691c545c (patch)
tree79af9539ded43529728e2a15aa45c3c41c94a190 /src/signalProcessing/fft/r4tx.c
parente2a18a57e384ec2405872847b032df052556ab87 (diff)
downloadscilab2c-200330a47cc05b20985889839fcddc5d691c545c.tar.gz
scilab2c-200330a47cc05b20985889839fcddc5d691c545c.tar.bz2
scilab2c-200330a47cc05b20985889839fcddc5d691c545c.zip
added fft functions
Diffstat (limited to 'src/signalProcessing/fft/r4tx.c')
-rw-r--r--src/signalProcessing/fft/r4tx.c48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/signalProcessing/fft/r4tx.c b/src/signalProcessing/fft/r4tx.c
new file mode 100644
index 00000000..09c436b7
--- /dev/null
+++ b/src/signalProcessing/fft/r4tx.c
@@ -0,0 +1,48 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 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
+ *
+ */
+
+#include "gw_signal.h"
+
+void r4tx ( int _iDimen , double* _pdblReal, double* _pdblImag)
+{
+ double dblTemp1 ;
+ double dblTemp2 ;
+ double dblTemp3 ;
+ double dblTemp4 ;
+
+ int i = 0 ;
+
+ for ( i = 0 ; i < _iDimen ; i += 4 )
+ {
+ /*for real part */
+ dblTemp1 = _pdblReal[i+0] + _pdblReal[i+2] ;
+ dblTemp2 = _pdblReal[i+0] - _pdblReal[i+2] ;
+ dblTemp3 = _pdblReal[i+1] + _pdblReal[i+3] ;
+ dblTemp4 = _pdblReal[i+1] - _pdblReal[i+3] ;
+
+ _pdblReal[i+0] = dblTemp1 + dblTemp3;
+ _pdblReal[i+0] = dblTemp1 - dblTemp3;
+ _pdblReal[i+2] = dblTemp2 + dblTemp4;
+ _pdblReal[i+3] = dblTemp2 - dblTemp4;
+
+ /*for imaginary part */
+ dblTemp1 = _pdblImag[i+0] + _pdblImag[i+2] ;
+ dblTemp2 = _pdblImag[i+0] - _pdblImag[i+2] ;
+ dblTemp3 = _pdblImag[i+1] + _pdblImag[i+3] ;
+ dblTemp4 = _pdblImag[i+1] - _pdblImag[i+3] ;
+
+ _pdblImag[i+0] = dblTemp1 + dblTemp3;
+ _pdblImag[i+1] = dblTemp1 - dblTemp3;
+ _pdblImag[i+2] = dblTemp2 + dblTemp4;
+ _pdblImag[i+3] = dblTemp2 - dblTemp4;
+ }
+}