Home > RFI > apply_highpass.m

apply_highpass

PURPOSE ^

SYNOPSIS ^

function apply_highpass(starttime,stoptime,filename)

DESCRIPTION ^

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function apply_highpass(starttime,stoptime,filename)
0002 
0003 
0004 MAXSCAN = 4.35; % scan rate, degrees/sec?
0005 SIGRFI = 15;
0006 
0007 % Just look at freq for now:
0008 d = read_arcSouth_nojunk(starttime, stoptime, {'array.frame.utc double', ...
0009     'array.frame.features double', 'array.frame.received', ...
0010     'antenna0.servo.fast_az_pos double', 'antenna0.servo.fast_el_pos double', ...
0011     'antenna0.roach1.utc double',  'antenna0.roach2.utc double', ...
0012     'antenna0.roach1.LLfreq double',  'antenna0.roach2.LLfreq double', ...
0013     'antenna0.roach1.RRfreq double',  'antenna0.roach2.RRfreq double', ...
0014     'antenna0.roach1.Qfreq double',  'antenna0.roach2.Qfreq double', ...
0015     'antenna0.roach1.Ufreq double',  'antenna0.roach2.Ufreq double'});
0016 
0017 % Get intensity:
0018 Intensity = (d.antenna0.roach1.LLfreq + d.antenna0.roach2.LLfreq + d.antenna0.roach1.RRfreq + d.antenna0.roach2.RRfreq)./4;
0019 
0020 % Get polarization:
0021 
0022 Q1 = d.antenna0.roach1.Qfreq;
0023 Q2 = d.antenna0.roach2.Qfreq;
0024 U1 = d.antenna0.roach1.Ufreq;
0025 U2 = d.antenna0.roach2.Ufreq;
0026 
0027 Q = (Q1 + Q2)./2;
0028 U = (U1 + U2)./2;
0029 
0030 Polarization = sqrt(Q.*Q + U.*U);
0031 
0032 % Apply high pass filter:
0033 d.antenna0.receiver.utc = d.antenna0.roach1.utc;
0034 d.antenna0.receiver.data = [Intensity, Polarization];
0035 
0036 d = both_filter(d, MAXSCAN,  MAXSCAN+0.2, 'cos', 0);
0037 keyboard;
0038 
0039 % let's look for outliers in the high-pass filtered data
0040 rmsI = sqrt(var(d.antenna0.receiver.hi(:,1)));
0041 rmsP = sqrt(var(d.antenna0.receiver.hi(:,2)));
0042 
0043 sigI = abs(d.antenna0.receiver.hi(:,1))./rmsI;
0044 sigP = abs(d.antenna0.receiver.hi(:,2))./rmsP;
0045 
0046 rfiI = sigI > SIGRFI;
0047 
0048 
0049 [si ei] = findStartStop(rfiI, 20);
0050 
0051 glitches = (ei - si)  < 5;
0052 fastrfi = ~glitches;
0053 
0054 
0055 binsize = 100;
0056 nbins = lower(length(Intensity)/binsize);
0057 
0058 % Determine rms for each bin:
0059 
0060 for m = 1:nbins - 1
0061     rmsval(m) = sqrt(var(Intensity((m-1)*100+1:m*100)));
0062 end
0063 brightRmsLimit = 4*median(rmsval)
0064 rfiRms = rmsval > brightRmsLimit;
0065 [ssi eei] = findStartStop(rfiRms, 1);
0066 
0067 glitches = (ei - si)  < 5;
0068 fastrfi = ~glitches;
0069 
0070 ff = find(fastrfi);
0071 
0072 for m=1:length(ff)
0073     rfistart = d.antenna0.receiver.utc(si(ff(m))) - 1/60/60/24;
0074     rfistop  = d.antenna0.receiver.utc(ei(ff(m))) + 1/60/60/24;
0075     
0076     
0077 
0078 
0079 
0080 ff = find(fastrfi);
0081 
0082 for m=1:length(ff)
0083     rfistart = d.antenna0.receiver.utc(si(ff(m))) - 1/60/60/24;
0084     rfistop  = d.antenna0.receiver.utc(ei(ff(m))) + 1/60/60/24;
0085     
0086     
0087     
0088     
0089 
0090 end % function

Generated on Sun 14-Jun-2015 17:12:45 by m2html © 2005