Loading scsearch.m +28 −25 Original line number Diff line number Diff line Loading @@ -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}; Loading Loading @@ -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); Loading Loading @@ -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) Loading Loading @@ -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) ------------------------------- Loading @@ -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 Loading Loading @@ -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); Loading Loading
scsearch.m +28 −25 Original line number Diff line number Diff line Loading @@ -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}; Loading Loading @@ -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); Loading Loading @@ -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) Loading Loading @@ -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) ------------------------------- Loading @@ -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 Loading Loading @@ -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); Loading