-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathremove_outliers.m
80 lines (65 loc) · 2.07 KB
/
remove_outliers.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
%remove_outliers.m
%review and remove outlier validations
clear
close all
%load pings
%load("D:\BW_ECHO_EXPERIMENT\DETECTOR_OUTPUT\ALL_SITES\ALL_SITES_PINGS_SPL.mat") %initial pass
load("D:\BW_ECHO_EXPERIMENT\DETECTOR_OUTPUT\ALL_SITES\ALL_SITES_PINGS_SPL_checked.mat") % check
ALL_SITES_PINGS = ALL_SITES_PINGS_filtered_checked; %check
%filter validations
% range
ALL_SITES_PINGS_filtered = ALL_SITES_PINGS(ALL_SITES_PINGS.slantRange <= 8000,:);
ALL_SITES_PINGS_filtered = ALL_SITES_PINGS_filtered(ALL_SITES_PINGS_filtered.snr_dB > 6,:);
ALL_SITES_PINGS_filtered = ALL_SITES_PINGS_filtered(string(ALL_SITES_PINGS_filtered.freq) ~= "50000",:);
%save('ALL_SITES_PINGS_SPL_filtered.mat','ALL_SITES_PINGS_filtered')
figure(1)
scatter(ALL_SITES_PINGS_filtered.snr_dB,ALL_SITES_PINGS_filtered.ppSignal)
title("SNR (dB) vs P-P Signal (dB)")
%break down by site
SITES = unique(string(ALL_SITES_PINGS_filtered.SITE));
figure(2)
for i = 1:length(SITES)
temp = ALL_SITES_PINGS_filtered(string(ALL_SITES_PINGS_filtered.SITE) == SITES(i),:);
scatter(temp.slantRange,temp.ppSignal)
hold on
end
title('Slant Range')
xlabel('Slant Range (m)')
ylabel('SPL (dB)')
legend(SITES)
hold off
%breakdown by frequency
freq = unique(string(ALL_SITES_PINGS_filtered.freq));
figure(3)
for f = 1:length(freq)
temp = ALL_SITES_PINGS_filtered(string(ALL_SITES_PINGS_filtered.freq) == freq(f),:);
scatter(temp.slantRange,temp.ppSignal)
hold on
end
title('Frequency')
xlabel('Horizontal Range (m)')
ylabel('SPL (dB)')
legend(freq)
hold off
%Breakdown range v time
figure(4)
for f = 1:length(freq)
temp = ALL_SITES_PINGS_filtered(string(ALL_SITES_PINGS_filtered.freq) == freq(f),:);
scatter(temp.validation_time_min,temp.slantRange)
hold on
end
title('Frequency')
xlabel('Datetime')
ylabel('Slant Range (m)')
legend(freq)
hold off
%plot cloverleafs
for i = 1:length(SITES)
temp = ALL_SITES_PINGS_filtered(string(ALL_SITES_PINGS_filtered.SITE) == SITES(i),:);
figure(4+i)
for f = 1:length(freq)
temp2 = temp(string(temp.freq) == freq(f),:);
scatter(temp2.Longitude,temp2.Latitude)
hold on
end
end