Home > reduc > SouthChannelPowerSpectra.m

SouthChannelPowerSpectra

PURPOSE ^

% this function will reduce data taken in power Mode (version =10000) and produce power spectra

SYNOPSIS ^

function [dataOut]=SouthChannelPowerSpectra(d,varargin)

DESCRIPTION ^

% this function will reduce data taken in power Mode (version =10000) and produce power spectra 
% of the individual channels
 CJC 26/6/2014

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [dataOut]=SouthChannelPowerSpectra(d,varargin)
0002 
0003 %% this function will reduce data taken in power Mode (version =10000) and produce power spectra
0004 %% of the individual channels
0005 % CJC 26/6/2014
0006 
0007 %first varargin is graphics flag.
0008 %second is name of file to save graphics ass
0009 try
0010     graphics=varargin(1)
0011 catch 
0012     graphics =0
0013 end
0014 
0015 try
0016     filename=varargin(2)
0017     saveFile=1;
0018 catch 
0019     filename=[];
0020     saveFile=0;
0021 end
0022 
0023 display('SouthChannelPowerSpectra:: Starting Roach 1')
0024 %get time vectors
0025 timeroach=(d.antenna0.roach1.utc-d.antenna0.roach1.utc(1)).*24;
0026 timetemps=d.antenna0.thermal.utc-d.antenna0.thermal.utc(1);
0027 timelsTemps= timetemps([1:5:length(timetemps)]).*24;
0028 timeCryoTemps=timetemps.*24;
0029 lengthvec = length(d.antenna0.roach1.RR)
0030 timeroachshort=timeroach(1:lengthvec-0);
0031 
0032 %%%%%%%%%%%%%%%%%5get the data from the data we've read in
0033 ch1=mean(d.antenna0.roach1.LL((1:lengthvec-0),4:60),2);
0034 ch2 =mean(d.antenna0.roach1.RR((1:lengthvec-0),4:60),2);
0035 ch3=mean(d.antenna0.roach1.load1((1:lengthvec-0),4:60),2);
0036 ch4 =mean(d.antenna0.roach1.load2((1:lengthvec-0),4:60),2);
0037 
0038 ch1mean=ch1-mean(ch1);
0039 ch2mean=ch2-mean(ch2);
0040 ch3mean=ch3-mean(ch3);
0041 ch4mean=ch4-mean(ch4);
0042 
0043 
0044 
0045 
0046 
0047 %%%%%%%% get the temperature data%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0048 templs=d.antenna0.thermal.lsTemperatureSensors(:,2);
0049 tempsmean = templs-mean(templs);
0050 tempsCryo=d.antenna0.thermal.ccTemperatureLoad;
0051 
0052 
0053 
0054 
0055 Fs=100; %sampling rate of the data
0056 FsTemps = 1; %sampling rate of the temps
0057 T = 1/Fs;                     % Sample time
0058 L = length(ch1);                     % Length of signal
0059 t = (0:L-1)*T; 
0060 TTemps = 1/FsTemps;                     % Sample time
0061 LTemps = length(templs);                     % Length of signal
0062 tTemps = (0:LTemps-1)*TTemps; 
0063 NFFT = 2^nextpow2(L); % Next power of 2 from length of y
0064 NFFTtemps = 2^(nextpow2(LTemps))
0065 f = Fs/2*linspace(0,1,NFFT/2+1);
0066 ftemps = FsTemps/2*linspace(0,1,NFFTtemps/2+1);
0067 
0068 YCH1 = fft(ch1mean,NFFT)/L;
0069 YCH2 = fft(ch2mean,NFFT)/L;
0070 YCH3 = fft(ch3mean,NFFT)/L;
0071 YCH4 = fft(ch4mean,NFFT)/L;
0072 Ytemps = fft(tempsmean,NFFTtemps)/LTemps;
0073 %r2 = mean(skyminusloadrightmean)./mean(skyminusloadleftmean);
0074 
0075 YCH1b = 2*abs(YCH1(1:NFFT/2+1));
0076 YCH2b = 2*abs(YCH2(1:NFFT/2+1));
0077 YCH3b = 2*abs(YCH3(1:NFFT/2+1));
0078 YCH4b = 2*abs(YCH4(1:NFFT/2+1));
0079 Ytempsb = 2*abs(Ytemps(1:NFFTtemps/2+1));
0080 
0081 bin_size=100;
0082 YCH1bin=bin(YCH1b,bin_size);
0083 YCH2bin=bin(YCH2b,bin_size);
0084 YCH3bin=bin(YCH3b,bin_size);
0085 YCH4bin=bin(YCH4b,bin_size);
0086 Ytempsbin=bin(Ytempsb,bin_size);
0087 fbin = bin(f,bin_size);
0088 ftempsbin = bin(ftemps,bin_size);
0089 
0090 
0091 dataFreqRoach1=[f' 2.*abs(YCH1(1:NFFT/2+1)) 2*abs(YCH2(1:NFFT/2+1)) 2*abs(YCH3(1:NFFT/2+1)) 2*abs(YCH4(1:NFFT/2+1))];
0092 dataTimeRoach1=[timeroach ];
0093 
0094 
0095 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%End ROACH 1
0096 %%%%%%%%%%%%%%%%%Now Roach2
0097 ch1=mean(d.antenna0.roach2.LL((1:lengthvec-0),4:60),2);
0098 ch2 =mean(d.antenna0.roach2.RR((1:lengthvec-0),4:60),2);
0099 ch3=mean(d.antenna0.roach2.load1((1:lengthvec-0),4:60),2);
0100 ch4 =mean(d.antenna0.roach2.load2((1:lengthvec-0),4:60),2);
0101 
0102 ch1mean=ch1-mean(ch1);
0103 ch2mean=ch2-mean(ch2);
0104 ch3mean=ch3-mean(ch3);
0105 ch4mean=ch4-mean(ch4);
0106 
0107 
0108 
0109 
0110 
0111 %%%%%%%% get the temperature data%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0112 templs=d.antenna0.thermal.lsTemperatureSensors(:,2);
0113 tempsmean = templs-mean(templs);
0114 tempsCryo=d.antenna0.thermal.ccTemperatureLoad;
0115 
0116 
0117 
0118 
0119 Fs=100; %sampling rate of the data
0120 FsTemps = 1; %sampling rate of the temps
0121 T = 1/Fs;                     % Sample time
0122 L = length(ch1);                     % Length of signal
0123 t = (0:L-1)*T; 
0124 TTemps = 1/FsTemps;                     % Sample time
0125 LTemps = length(templs);                     % Length of signal
0126 tTemps = (0:LTemps-1)*TTemps; 
0127 NFFT = 2^nextpow2(L); % Next power of 2 from length of y
0128 NFFTtemps = 2^(nextpow2(LTemps))
0129 f = Fs/2*linspace(0,1,NFFT/2+1);
0130 ftemps = FsTemps/2*linspace(0,1,NFFTtemps/2+1);
0131 
0132 YCH1 = fft(ch1mean,NFFT)/L;
0133 YCH2 = fft(ch2mean,NFFT)/L;
0134 YCH3 = fft(ch3mean,NFFT)/L;
0135 YCH4 = fft(ch4mean,NFFT)/L;
0136 Ytemps = fft(tempsmean,NFFTtemps)/LTemps;
0137 %r2 = mean(skyminusloadrightmean)./mean(skyminusloadleftmean);
0138 
0139 YCH1b = 2*abs(YCH1(1:NFFT/2+1));
0140 YCH2b = 2*abs(YCH2(1:NFFT/2+1));
0141 YCH3b = 2*abs(YCH3(1:NFFT/2+1));
0142 YCH4b = 2*abs(YCH4(1:NFFT/2+1));
0143 Ytempsb = 2*abs(Ytemps(1:NFFTtemps/2+1));
0144 
0145 bin_size=100;
0146 YCH1bin=bin(YCH1b,bin_size);
0147 YCH2bin=bin(YCH2b,bin_size);
0148 YCH3bin=bin(YCH3b,bin_size);
0149 YCH4bin=bin(YCH4b,bin_size);
0150 Ytempsbin=bin(Ytempsb,bin_size);
0151 fbin = bin(f,bin_size);
0152 ftempsbin = bin(ftemps,bin_size);
0153 
0154 dataFreqRoach2=[f' 2.*abs(YCH1(1:NFFT/2+1)) 2*abs(YCH2(1:NFFT/2+1)) 2*abs(YCH3(1:NFFT/2+1)) 2*abs(YCH4(1:NFFT/2+1))];
0155 dataTimeRoach2=[timeroach ];
0156 
0157 
0158 %if(graphics==1)
0159     %%% and let's do some plotting
0160     titlestring = 'Power Spectrum Roach1'
0161     figure
0162     subplot(411)
0163     loglog(dataFreqRoach1(:,1),dataFreqRoach1(:,2))
0164     grid on
0165     title('Roach1 Ch1')
0166     subplot(412)
0167     loglog(dataFreqRoach1(:,1),dataFreqRoach1(:,3))
0168     title('Roach1 Ch2')
0169     grid on
0170     subplot(413)
0171     loglog(dataFreqRoach1(:,1),dataFreqRoach1(:,4))
0172     title('Roach1 Ch3')
0173     grid on
0174     subplot(414)
0175     loglog(dataFreqRoach1(:,1),dataFreqRoach1(:,5))
0176     title('Roach1 Ch4')
0177     grid on
0178     if(saveFile==1)
0179         print('-depsc',varargin{2})
0180     end
0181     titlestring = 'Power Spectrum Roach2'
0182     figure
0183     subplot(411)
0184     loglog(dataFreqRoach2(:,1),dataFreqRoach2(:,2))
0185     grid on
0186     title('Roach2 Ch1')
0187     subplot(412)
0188     loglog(dataFreqRoach2(:,1),dataFreqRoach2(:,3))
0189     title('Roach2 Ch2')
0190     grid on
0191     subplot(413)
0192     loglog(dataFreqRoach2(:,1),dataFreqRoach2(:,4))
0193     title('Roach2 Ch3')
0194     grid on
0195     subplot(414)
0196     loglog(dataFreqRoach2(:,1),dataFreqRoach2(:,5))
0197     title('Roach2 Ch4')
0198     grid on
0199     if(saveFile==1)
0200         print('-depsc',varargin{2})
0201     end
0202    % ylim(ylimPow)
0203 %end

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