0001
0002
0003
0004
0005 function RFI_Char()
0006 cbass_startup
0007
0008 start_time = '13-Jun-2014:09:04:00';
0009
0010 stop_time = '13-Jun-2014:09:12:25';
0011
0012 d = read_arcSouth_nojunk(start_time, stop_time, {'array.frame.utc double', ...
0013 'array.frame.features double', 'array.frame.received', ...
0014 'antenna0.roach1.utc double', 'antenna0.roach2.utc double', ...
0015 'antenna0.roach1.LLfreq double', 'antenna0.roach2.LLfreq double', ...
0016 'antenna0.roach1.RRfreq double', 'antenna0.roach2.RRfreq double', ...
0017 'antenna0.roach1.Qfreq double', 'antenna0.roach2.Qfreq double', ...
0018 'antenna0.roach1.Ufreq double', 'antenna0.roach2.Ufreq double'});
0019
0020 LL1 = d.antenna0.roach1.LLfreq;
0021 LL2 = d.antenna0.roach2.LLfreq;
0022 RR1 = d.antenna0.roach1.RRfreq;
0023 RR2 = d.antenna0.roach2.RRfreq;
0024
0025 Q1 = d.antenna0.roach1.Qfreq;
0026 Q2 = d.antenna0.roach2.Qfreq;
0027 U1 = d.antenna0.roach1.Ufreq;
0028 U2 = d.antenna0.roach2.Ufreq;
0029
0030
0031
0032 I1 = (LL1 + RR1)/2;
0033 I2 = (LL2 + RR2)/2;
0034
0035
0036 P1 = sqrt(Q1.*Q1 + U1.*U1);
0037 P2 = sqrt(Q2.*Q2 + U2.*U2);
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048 binsize = 100;
0049 nbins = lower(length(I1)/binsize);
0050
0051
0052 for m = 1:nbins - 1
0053 rmsval_I1(m) = sqrt(var(I1((m-1)*100+1:m*100)));
0054 rmsval_I2(m) = sqrt(var(I2((m-1)*100+1:m*100)));
0055 rmsval_P1(m) = sqrt(var(P1((m-1)*100+1:m*100)));
0056 rmsval_P2(m) = sqrt(var(P2((m-1)*100+1:m*100)));
0057 end
0058
0059
0060 brightRmsLimit_I1 = 2*median(rmsval_I1);
0061 brightRmsLimit_I2 = 4*median(rmsval_I2);
0062 brightRmsLimit_P1 = 4*median(rmsval_P1);
0063 brightRmsLimit_P2 = 4*median(rmsval_P2);
0064
0065
0066 f_I1 = find(rmsval_I1 > brightRmsLimit_I1)
0067 f_I2 = find(rmsval_I2 > brightRmsLimit_I2);
0068 f_P1 = find(rmsval_P1 > brightRmsLimit_P1);
0069 f_P2 = find(rmsval_P2 > brightRmsLimit_P2);
0070
0071 for m=1:size(f_I1,2)
0072 if(f_I1(m)==1)
0073 tstart = d.antenna0.roach1.utc(1)-1/24/60/60;
0074 else
0075 tstart = d.antenna0.roach1.utc((f_I1(m)-1)*100)-1/24/60/60;
0076 end
0077 tstop = d.antenna0.roach1.utc(f_I1(m)*100)+1/24/60/60;
0078 drfi_I1{m} = read_arcSouth(mjd2string(tstart), mjd2string(tstop));
0079 end
0080
0081 for m=1:size(f_I2,2)
0082 if(f_I2(m)==1)
0083 tstart = d.antenna0.roach1.utc(1)-1/24/60/60;
0084 else
0085 tstart = d.antenna0.roach1.utc((f_I2(m)-1)*100)-1/24/60/60;
0086 end
0087 tstop = d.antenna0.roach1.utc(f_I2(m)*100)+1/24/60/60;
0088 drfi_I2{m} = read_arcSouth(mjd2string(tstart), mjd2string(tstop));
0089 end
0090
0091 for m=1:size(f_P1,2)
0092 if(f_P1(m)==1)
0093 tstart = d.antenna0.roach1.utc(1)-1/24/60/60;
0094 else
0095 tstart = d.antenna0.roach1.utc((f_P1(m)-1)*100)-1/24/60/60;
0096 end
0097 tstop = d.antenna0.roach1.utc(f_P1(m)*100)+1/24/60/60;
0098 drfi_P1{m} = read_arcSouth(mjd2string(tstart), mjd2string(tstop));
0099 end
0100
0101 for m=1:size(f_P2,2)
0102 if(f_P2(m)==1)
0103 tstart = d.antenna0.roach1.utc(1)-1/24/60/60;
0104 else
0105 tstart = d.antenna0.roach1.utc((f_P2(m)-1)*100)-1/24/60/60;
0106 end
0107 tstop = d.antenna0.roach1.utc(f_P2(m)*100)+1/24/60/60;
0108 drfi_P2{m} = read_arcSouth(mjd2string(tstart), mjd2string(tstop));
0109 end
0110
0111 plotfigs_I(drfi_I1)
0112 plotfigs_I(drfi_I2)
0113
0114
0115
0116 end
0117
0118
0119
0120 function plotfigs_I(drfi)
0121
0122
0123
0124
0125
0126 figure()
0127 allspectra = [];
0128 Intensity_freq1 = [];
0129 Intensity1 = [];
0130 Intensity_freq2 = [];
0131 Intensity2 = [];
0132
0133 for m=1:size(drfi,2)
0134
0135 LL1freq = drfi{m}.antenna0.roach1.LLfreq;
0136 LL2freq = drfi{m}.antenna0.roach2.LLfreq;
0137 RR1freq = drfi{m}.antenna0.roach1.RRfreq;
0138 RR2freq = drfi{m}.antenna0.roach2.RRfreq;
0139 Intensity_freq1{m} = (LL1freq + RR1freq)/2;
0140 Intensity_freq2{m} = (LL2freq + RR2freq)/2;
0141
0142 LL1 = drfi{m}.antenna0.roach1.LL;
0143 LL2 = drfi{m}.antenna0.roach2.LL;
0144 RR1 = drfi{m}.antenna0.roach1.RR;
0145 RR2 = drfi{m}.antenna0.roach2.RR;
0146 Intensity1{m} = (LL1 + RR1)/2;
0147 Intensity2{m} = (LL2 + RR2)/2;
0148
0149 aa1 = find(Intensity_freq1{m} == max(Intensity_freq1{m}));
0150 aa2 = find(Intensity_freq2{m} == max(Intensity_freq2{m}));
0151
0152
0153
0154 subplot(2,1,1); plot(Intensity1{m}(aa1,:));hold on
0155 title('Peak Intensity Values Across All Channels: Roach1')
0156 xlabel('Channels')
0157 ylabel('Intensity')
0158 subplot(2,1,2); plot(Intensity2{m}(aa2,:)); hold on
0159 title('Peak Intensity Values Across All Channels: Roach2')
0160 xlabel('Channels')
0161 ylabel('Intensity')
0162 allspectra(m,:) = [Intensity1{m}(aa1,:), Intensity2{m}(aa2,:)];
0163
0164
0165 end
0166 hold off
0167
0168 keyboard;
0169
0170 figure()
0171 for m=1:length(drfi)
0172 disp('New Event');
0173 f = find(drfi{m}.antenna0.roach1.LLfreq == max(drfi{m}.antenna0.roach1.LLfreq));
0174 minInt = f-200;
0175 maxInt = f+200;
0176 if(minInt < 1)
0177 minInt = 1;
0178 end
0179 if(maxInt > length(drfi{m}.antenna0.roach1.LLfreq))
0180 maxInt = length(drfi{m}.antenna0.roach1.LLfreq);
0181 end
0182
0183 maxval = max(drfi{m}.antenna0.roach1.LL(:));
0184 cc = [drfi{m}.antenna0.roach1.LL(f,:) , drfi{m}.antenna0.roach2.LL(f,:)];
0185 for mm=minInt:maxInt
0186 bb = [drfi{m}.antenna0.roach1.LL(mm,:) , drfi{m}.antenna0.roach2.LL(mm,:)];
0187 plot(bb);
0188 ylim([0,maxval]);
0189 hold on
0190 plot(cc, 'r-');
0191 txt = sprintf('Event # %d', m);
0192 title(txt);
0193 pause(0.025);
0194 hold off
0195 end
0196 pause(1)
0197
0198 end
0199
0200 keyboard;
0201
0202 figure()
0203 plot(allspectra');
0204 title('Each RFI Event Across All Channels')
0205 ylabel('Intensity')
0206 xlabel('Channels')
0207 end
0208
0209
0210
0211
0212
0213