- Timestamp:
- Nov 25, 2008, 4:51:39 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/periodogram.c
r7917 r20839 4 4 5 5 int i, N, Npt, Np, NP, VERBOSE; 6 float *tv, *fv;6 opihi_flt *tv, *fv; 7 7 float minP, maxP, minT, maxT, dTime; 8 8 float mean, var, w, tau, P, Pc, Ps, Po; … … 29 29 30 30 /* find the max baseline, mean, and variance */ 31 minT = maxT = time[0].elements [0];31 minT = maxT = time[0].elements.Flt[0]; 32 32 Npt = time[0].Nelements; 33 tv = time[0].elements ;34 fv = flux[0].elements ;33 tv = time[0].elements.Flt; 34 fv = flux[0].elements.Flt; 35 35 mean = var = 0; 36 36 for (i = 0; i < Npt; i++, tv++, fv++) { … … 40 40 } 41 41 mean = mean / Npt; 42 fv = flux[0].elements ;42 fv = flux[0].elements.Flt; 43 43 for (i = 0; i < Npt; i++, fv++) { 44 44 var += SQ(*fv - mean); … … 56 56 Np = 0; 57 57 NP = 100; 58 REALLOCATE (power[0].elements , float, NP);59 REALLOCATE (period[0].elements , float, NP);58 REALLOCATE (power[0].elements.Flt, opihi_flt, NP); 59 REALLOCATE (period[0].elements.Flt, opihi_flt, NP); 60 60 61 61 P = minP; … … 64 64 65 65 /* find the period offset tau */ 66 tv = time[0].elements ;66 tv = time[0].elements.Flt; 67 67 cs = sn = 0; 68 68 for (i = 0; i < Npt; i++, tv++) { … … 73 73 74 74 /* find the power at this period */ 75 tv = time[0].elements ;76 fv = flux[0].elements ;75 tv = time[0].elements.Flt; 76 fv = flux[0].elements.Flt; 77 77 cs = sn = cs2 = sn2 = 0; 78 78 for (i = 0; i < Npt; i++, tv++, fv++) { … … 90 90 Po = (Pc + Ps) / (2*var); 91 91 92 power[0].elements [Np] = Po;93 period[0].elements [Np] = P;92 power[0].elements.Flt[Np] = Po; 93 period[0].elements.Flt[Np] = P; 94 94 Np ++; 95 95 if (Np >= NP) { 96 96 NP += 100; 97 REALLOCATE (power[0].elements , float, NP);98 REALLOCATE (period[0].elements , float, NP);97 REALLOCATE (power[0].elements.Flt, opihi_flt, NP); 98 REALLOCATE (period[0].elements.Flt, opihi_flt, NP); 99 99 } 100 100 … … 108 108 power[0].Nelements = Np; 109 109 period[0].Nelements = Np; 110 REALLOCATE (power[0].elements , float, Np);111 REALLOCATE (period[0].elements , float, Np);110 REALLOCATE (power[0].elements.Flt, opihi_flt, Np); 111 REALLOCATE (period[0].elements.Flt, opihi_flt, Np); 112 112 113 113 return (TRUE);
Note:
See TracChangeset
for help on using the changeset viewer.
