Commit e0e28ece authored by Riccardo La Placa's avatar Riccardo La Placa
Browse files

Tseg 128s, perché farci del male con uno spazio di ni enorme?

parent 0b02de7d
Loading
Loading
Loading
Loading
+28 −25
Original line number Diff line number Diff line
@@ -2,13 +2,13 @@ clear;
close all;

% Define variables, M is segm. number
%pathfi = './';
pathfi = './';

%%%%%%%%%%%%%%%%
tic

% finame = 'J1023_B_2017_Bary.fits';
%finame = 'EPN_0744840201_bary.fits';
finame = 'EPN_0744840201_bary.fits';
% t_raw = fitsread([pathfi,finame],"binarytable");
t_raw = fitsread('C:\Users\Filippo\Desktop\EPN_0744840201_bary.fits','binarytable');
t_raw = t_raw{1};
@@ -43,20 +43,22 @@ a_tru = 0.0649905; %lt-s
tasc_tru = (57231.437581-MJDREF)*86400; %in secondi

% f_gr = zeros(5,1);
porb_gr = zeros(5,1);
a_gr = zeros(5,1);
tasc_gr = zeros(5,1);
% porb_gr = zeros(5,1);
% a_gr = zeros(5,1);
% tasc_gr = zeros(5,1);

tic

f_gr=f_tru+(-2:2).';

for j = 1:5
    %f_gr(j) = f_tru*((j^2)/9);
    porb_gr(j) = porb_tru*((j^2)/9);
    a_gr(j) = a_tru*((j^2)/9);
    tasc_gr(j) = tasc_tru*((j^2)/9);
end
porb_gr = [porb_tru-10.0,porb_tru-5.0,porb_tru,porb_tru+5.0,porb_tru+10.0].';
a_gr = [0.01, 0.03, a_tru, 0.09, 0.12].';
tasc_gr = tasc_tru+[-500.0,-250.0,0.0,250.0,500.0].';
% for j = 1:5
%     %f_gr(j) = f_tru*((j^2)/9);
%     porb_gr(j) = porb_tru*((j^2)/9);
%     a_gr(j) = a_tru*((j^2)/9);
%     tasc_gr(j) = tasc_tru*((j^2)/9);
% end

f_min = min(f_gr);
f_max = max(f_gr);
@@ -91,7 +93,7 @@ t=(t(1:end-1)+(t(2)-t(1))/2).'; % vettore tempi rebinnato, prendo il centro del

toc
tic
Tseg=256; %segments' length in seconds
Tseg=128; %segments' length in seconds
M=fix((t(end)-t(1))/Tseg); %number of segments
%con fix prendo la parte intera, scarto l'ultimo segmento che tanto non
%sarà mai di lunghezza Tseg (molto improbabile)
@@ -311,14 +313,14 @@ for m=1:M
            %         tau(j) = tau(j) + (nibank(i,s)/(nizero*factorial(s)))*(tm(m,j)-tmid(m))^s;
            %     end
            % end
            tic
            % tic

            tau = sum((nibank(i,1:s_s)./(nizero*factorial(1:s_s))).*((tm(m,1:N)-tmid(m)).^((1:s_s).').'),2);
            toc
            % toc

            tic
            % tic
            X1 = interp1(tm(m,:),x(m,:),tau,'linear',0);
            toc
            % toc

            %X1 è la timeseries ricampionata (controllare che sia un vettore colonna)
            %zero-padding (metto gli zeri alla fine) -------------------------------
@@ -329,21 +331,21 @@ for m=1:M
            %[Cm,edges]=(histcounts(X1,round((X1(end)-X1(1))/dt_psd)));
            %edges=edges(end)-edges(2); %mi dà il tempo preciso di tutta la TdF, che sarà leggermente diversa da length(C)*dt per come è definito histcounts
            % Y1=(2./sum(X1).*abs(fft(X1)).^2).'; %normalizzazione Leahy, giusto?????
            tic
            % tic
            Y1 = fft(X1).';
            clear X1
            F1=((0:length(Y1)-1)./(tm(m,end)-tm(m,1))).';
            % F1=F1(1:round(length(F1)/2));
            % Y1=Y1(1:round(length(Y1)/2));
            toc
            tic
            % toc
            % tic
            cond = F1>=f_min & F1<=f_max;
            F1=F1(cond);
            Y1=Y1(cond);

            %Calcolo della detection statistic
            Lambda(i,n,m)=sum(abs(Y1).^2)/sum(x(m,:)); %CREDO (oppure prendono la potenza massima?)
            toc
            % toc
        end
        disp('1ni')
    end
@@ -373,9 +375,10 @@ for n=1:length(f_gr)
            curpar(4) = curpar(2)*(tmid(m) - curpar(4));
            curni=zeros(1,s_s);
            for s=1:s_s
                curni(s) = (curpar(2)^s)*sin(curpar(4)-0.5*s*pi);
                curni(s) = (curpar(2)^s)*sin(curpar(4)+0.5*s*pi);
            end
            curni=curni.*curpar(1).*curpar(2);
            curni = -curni.*curpar(1).*curpar(3);
            curni(1) = curni(1) + curpar(1);
            % curni(s_s+1) = curpar(1);

            [Idx,D] = knnsearch(nisearcher,curni);