summaryrefslogtreecommitdiff
path: root/src/c/signalProcessing/ell1mag
diff options
context:
space:
mode:
Diffstat (limited to 'src/c/signalProcessing/ell1mag')
-rw-r--r--src/c/signalProcessing/ell1mag/dell1maga.c2
-rw-r--r--src/c/signalProcessing/ell1mag/zell1maga.c11
2 files changed, 11 insertions, 2 deletions
diff --git a/src/c/signalProcessing/ell1mag/dell1maga.c b/src/c/signalProcessing/ell1mag/dell1maga.c
index 9af0c8e..58ef303 100644
--- a/src/c/signalProcessing/ell1mag/dell1maga.c
+++ b/src/c/signalProcessing/ell1mag/dell1maga.c
@@ -21,7 +21,7 @@ void dell1maga(double eps,double m1,double* z,int size,double* oup )
int i;
for(i=0;i<size;i++)
{
- s[i]=zmodsns(z[i],m1);
+ s[i]=dmodsns(z[i],m1);
}
double un[size];
int j;
diff --git a/src/c/signalProcessing/ell1mag/zell1maga.c b/src/c/signalProcessing/ell1mag/zell1maga.c
index 6e7a6f9..35b4928 100644
--- a/src/c/signalProcessing/ell1mag/zell1maga.c
+++ b/src/c/signalProcessing/ell1mag/zell1maga.c
@@ -14,6 +14,9 @@
#include "modsn.h"
#include "ell1mag.h"
#include "doubleComplex.h"
+#include "multiplication.h"
+#include "addition.h"
+#include "division.h"
void zell1maga(double eps,double m1,doubleComplex* z,int size,double* oup )
{
@@ -31,9 +34,15 @@ void zell1maga(double eps,double m1,doubleComplex* z,int size,double* oup )
}
doubleComplex v;
int k;
+ double ml;
+ ml=eps*eps;
+ doubleComplex tp1,tp2,tp3;
for(k=0;k<size;k++)
{
- v=un[k]/(un[k]+(eps*eps*s[k]*s[k]));
+ tp1=zmuls(s[k],s[k]);
+ tp2=DoubleComplex(ml,0);
+ tp3=DoubleComplex(un[k],0);
+ v=zrdivs(tp3,zadds(tp3,(zmuls(tp2,tp1))));
oup[k]=zreals(v);
}
}