summaryrefslogtreecommitdiff
path: root/2.3-1/tests/unit_tests/test301_cchirp
diff options
context:
space:
mode:
Diffstat (limited to '2.3-1/tests/unit_tests/test301_cchirp')
-rw-r--r--2.3-1/tests/unit_tests/test301_cchirp/launchConversion.sci5
-rw-r--r--2.3-1/tests/unit_tests/test301_cchirp/scilabcode/mainfunction.sci59
-rw-r--r--2.3-1/tests/unit_tests/test301_cchirp/scilabcode/myconvol.sci31
3 files changed, 95 insertions, 0 deletions
diff --git a/2.3-1/tests/unit_tests/test301_cchirp/launchConversion.sci b/2.3-1/tests/unit_tests/test301_cchirp/launchConversion.sci
new file mode 100644
index 00000000..41be0f04
--- /dev/null
+++ b/2.3-1/tests/unit_tests/test301_cchirp/launchConversion.sci
@@ -0,0 +1,5 @@
+lines(0)
+clear all
+tmpPWD = pwd;
+
+scilab2c(pwd()+"/scilabcode/mainfunction.sci", pwd(), pwd()+"/scilabcode/");
diff --git a/2.3-1/tests/unit_tests/test301_cchirp/scilabcode/mainfunction.sci b/2.3-1/tests/unit_tests/test301_cchirp/scilabcode/mainfunction.sci
new file mode 100644
index 00000000..5719fc08
--- /dev/null
+++ b/2.3-1/tests/unit_tests/test301_cchirp/scilabcode/mainfunction.sci
@@ -0,0 +1,59 @@
+//SCI2C: DEFAULT_PRECISION= DOUBLE
+function mainfunction()
+//---> MOREA: commentare meglio lo scopo di questa funzione
+//---> NUTRICATO: annotare anche le funzioni di plot facendole puntare a funzioni dummy che non fanno nulla.
+//---> NUTRICATO: la convoluzione e' stata stostituita con una custom in quanto non ancora implementata da INRIA.
+
+
+// sampling parameters
+fs = 1000; //Hz
+Tmax = .01; //----> NUTRICATO: VALORE VERO 1
+t = 0 : 1 ./ fs : Tmax;
+
+// chirp parameters
+fo = 10
+k = 150
+
+tau=0.7
+
+c=exp(2*%i*%pi*(fo*t+k./2*t.^2));//chirp signal in complex form
+// figure
+// subplot(2,2,1)
+// plot(t(1:250),real(c(1:250)));
+//title('chirp(t)')
+
+cr=exp(2*%i*%pi*(fo*(t-tau)+k./2*(t-tau).^2));//chirp signal delayed in complex form
+// subplot(2,2,2)
+
+// plot(t(1:250),real(c(1:250)),'r',t(1:250),real(cr(1:250)),'g');
+// title('chirp(t) e chirp(t-tau)')
+
+// filter response
+// subplot(2,2,3)
+h=conj(exp(2*%i*%pi*(fo*(-t)+k./2*(-t).^2)));
+
+
+// plot(t(1:250),real(h(1:250)));
+// title('conj(chirp(-t))')
+//---> NUTRICATO: la convoluzione e' stata commentata in quanto non ancora implementata.
+y=myconvol(h,cr);
+
+
+tch=0:1 ./ fs:2*Tmax;
+// subplot(2,2,4)
+// plot(tch,abs(y))
+// title(' y(t)')
+
+disp('t')
+disp(t)
+disp('c')
+disp(c)
+disp('cr')
+disp(cr)
+disp('h')
+disp(h)
+disp('y')
+disp(y)
+endfunction
+
+
diff --git a/2.3-1/tests/unit_tests/test301_cchirp/scilabcode/myconvol.sci b/2.3-1/tests/unit_tests/test301_cchirp/scilabcode/myconvol.sci
new file mode 100644
index 00000000..6640c372
--- /dev/null
+++ b/2.3-1/tests/unit_tests/test301_cchirp/scilabcode/myconvol.sci
@@ -0,0 +1,31 @@
+//SCI2C: NIN= 2
+//SCI2C: NOUT= 1
+//SCI2C: OUT(1).TP= FA_TP_MAX(IN(1).TP,IN(2).TP)
+//SCI2C: OUT(1).SZ(1)= '1'
+//SCI2C: OUT(1).SZ(2)= FA_SUB(FA_ADD(IN(1).SZ(2),IN(2).SZ(2)),'1')
+//SCI2C: DEFAULT_PRECISION= DOUBLE
+
+function y = myconvol(h,x)
+hlen = length(h);
+xlen = length(x);
+//y = zeros(1,hlen+xlen-1);
+
+for cnt1 = 1:xlen
+ y(cnt1) = 0+%i*0;
+ for cnt2 = 1:cnt1
+ if ((cnt1-cnt2+1) <= hlen)
+ y(cnt1) = y(cnt1) + h(cnt1-cnt2+1)*x(cnt2);
+ else
+ y(cnt1) = y(cnt1) + 0;
+ end
+ end
+end
+
+for cnt1 = xlen+1:xlen+hlen-1
+ y(cnt1) = 0+%i*0;
+ for cnt2 = cnt1-hlen+1:xlen
+ y(cnt1) = y(cnt1) + h(cnt1-cnt2+1)*x(cnt2);
+ end
+end
+
+endfunction