On 09/15/2018 11:44 PM, Koyel Das (Vehere) wrote:
I am forwarding the processing steps of matlab. I checked with my phd
supervisor from MPIFR . He is also surprised to see the results. I
also did phd in radio astronomy instrumentation. Please go through the
steps of post processing once. My supervisor didn’t find anything
wrong so we are puzzled why it is happening like this.
Regards,
Koyel
If you're operating in an environment with multiple transmitters, it
certainly confuses things.
The best way to make sure that you have your coherence measurement
system working is to use a laboratory signal generator with
a splitter to the two RX channels with GOOD cables. If you're
operating in WiFi frequency territory, local WiFi can still get through
the shielding of coax cables, and contribute to confusing results.
But unless your hardware is plain BROKEN, you should be seeing (assuming
both channels are tuned to the same frequency, same sample-rate,
etc) very little mutual phase-noise in a setup with a splitter and a
low-power signal generator.
------------------------------------------------------------------------
*From:* Koyel Das (Vehere)
*Sent:* Thursday, September 13, 2018 12:58:50 PM
*To:* Alan Roy
*Cc:* Avigyan Sinha(Vehere)
*Subject:* the steps of processing I am doing
Hi Alan,
Following is the code with comments of what processing I am doing.
Just check once that everything is correct
%%---------------------------------------------------------------------------------------------------
Read two files having data from two antennas; reading 20 s data at once
%%-------------------------------------------------------------------------------------------------------------------------------------
f1 =
fopen('C:\Users\sarnab\Downloads\Avigyan\AntiDrones\Drone\WithD_100khz26_1.cfile',
'rb');
t = fread (f1, [2,1024*1024*20],'float');% 'int16');
%fdata = filter(t1,1,v);
fclose(f1);
f2 =
fopen('C:\Users\sarnab\Downloads\Avigyan\AntiDrones\Drone\WithD_100khz26_2.cfile',
'rb');
t1 = fread (f2, [2,1024*1024*20],'float');% 'int16');
fclose(f2);
%%----------------------------------------------------------------------------------------------------------------------------------------
Extract 5 seconds data from the data saved in variable t and t1
var1 and var2 will be 1,5; 5,10;10,15;15,20 in separate runs
%%---------------------------------------------------------------------------------------------------------------------
var1 = 15;
var2=20;
v1 = t(1,1024*1024*var1+1:1024*1024*var2) +
t(2,1024*1024*var1+1:1024*1024*var2)*1i;
v2 = t1(1,1024*1024*var1+1:1024*1024*var2) +
t1(2,1024*1024*var1+1:1024*1024*var2)*1i;
%%------------------------------------------------------------------------------------------------------------------------------
Divide into 5000 spectra each having 1000 points and form
5000 cross-power spectra each having 1000 points
%%------------------------------------------------------------------------------------------------------------------------------------
for k = 1:5000
y(k,1:1000) = v1((k-1)*1000 + 1: k*1000);
y2(k,1:1000) = v2((k-1)*1000 + 1: k*1000);
y3(k,1:1000) = fft(y(k,1:1000)) .* conj(fft(y2(k,1:1000)));
end
%%-----------------------------------------------------------------------------------------------------------------------------------
Average 1000 cross-power spectra and thus form 5 averaged cross-power
spectra each having 1000 points
and take angle and absolute values of 5 averaged cross-power spectra
%%----------------------------------------------------------------------------------------------------------------------------------------------
for m = 1:5
for n = 1:1000
y4(m,n) =angle(mean(y3((m-1)*1000+1 : m*1000,n)));
y6(m,n)= abs(mean(y3((m-1)*1000+1 : m*1000,n)));
end
end
%%---------------------------------------------------------------------------------------------------------------------------------------------------
plot angle of 100th channel as a function of time that is 1:5 as there
are 5 spectra in time.
%%------------------------------------------------------------------------------------------------------------------------------------------------------------
figure
plot(1:5, (y4(1:5,100))-mean((y4(1:5,100))))
%%-------------------------------------------------------------------------------------------------------------------------------------------------------
find the maximum deviation of phase difference for each channel as a
function of time, subtract the mean of each channel as a function of
time (1:5) from the channel maximum values
and plot these values vs frequency
%%------------------------------------------------------------------------------------------------------------------------------------------------------------------
for l = 1:1000
y5(l) = max(y4(1:5,l))-mean((y4(1:5,l)));
end
mean(y5)
figure
plot(1:1000,y5)
%%------------------------------------------------------------------------------------------------------------------------------------------------------------------------
previously we were getting .2 radians as maximum deviation (y5)for
sitting drone and +- pi deviation for moving drone but now we are
getting +-pi deviation for sitting drone as well. We also tried with
office wifi and for 1 wifi we got maximum phase difference deviation
of 0.06 radians and for another +-pi. This can be due to different
locations of two wifi?
Regards,
Koyel
_______________________________________________
USRP-users mailing list
[email protected]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com