diff options
Diffstat (limited to '2.3-1/tests/unit_tests/test301_cchirp')
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 |