Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download
Project: PHYS
Views: 3028
Kernel: Python 3 (Anaconda)
import numpy as np import matplotlib.pyplot as plt import pandas as pd import datetime
#Set-up input Data #Imputer for data cleaning data_folder = 'Data_1/'
acceleration = pd.read_csv('Data_1/acceleration.txt', delimiter=',', parse_dates=True, header=None, index_col=0, infer_datetime_format=True)
bandwidth = pd.read_csv('Data_1/bandwidth.txt', delimiter=',', parse_dates=True, header=None, index_col=0, infer_datetime_format=True)
location = pd.read_csv('Data_1/location.txt', delimiter=',', parse_dates=True, header=None, index_col=0, usecols=[0,1,2,3,4,5,6,7,8], infer_datetime_format=True, names=['location_time','latitude','longitude','altitude','bearing','gps_speed','gps_accuracy','gps_timestamp','location_provider'])
magnet = np.genfromtxt('Data_1/magnet.txt',delimiter=',',usecols=1) magnet_time = np.genfromtxt('Data_1/magnet.txt',delimiter=',',usecols=0, dtype='str')
orientation_time = np.genfromtxt('Data_1/orientation.txt',delimiter=',',usecols=0, dtype='str') orientation = np.genfromtxt('Data_1/orientation.txt',delimiter=',',usecols=1)
print(location[0:10])
latitude longitude altitude bearing gps_speed \ location_time 2018-05-14 04:00:41 40.666843 -73.949948 -6 0 40.959000 2018-05-14 04:00:42 40.666843 -73.949948 -6 0 40.959000 2018-05-14 04:00:43 40.666843 -73.949948 -6 0 45.509998 2018-05-14 04:00:44 40.666843 -73.949948 -6 0 45.509998 2018-05-14 04:00:45 40.666843 -73.949948 -6 0 48.543999 2018-05-14 04:00:46 40.666843 -73.949948 -6 0 48.543999 2018-05-14 04:00:47 40.666843 -73.949948 -6 0 60.680000 2018-05-14 04:00:48 40.666843 -73.949948 -6 0 60.680000 2018-05-14 04:00:49 40.666843 -73.949948 -6 0 74.333000 2018-05-14 04:00:50 40.666843 -73.949948 -6 0 74.333000 gps_accuracy gps_timestamp location_provider location_time 2018-05-14 04:00:41 1.526270e+09 gps NaN 2018-05-14 04:00:42 1.526270e+09 gps NaN 2018-05-14 04:00:43 1.526270e+09 gps NaN 2018-05-14 04:00:44 1.526270e+09 gps NaN 2018-05-14 04:00:45 1.526270e+09 gps NaN 2018-05-14 04:00:46 1.526270e+09 gps NaN 2018-05-14 04:00:47 1.526270e+09 gps NaN 2018-05-14 04:00:48 1.526270e+09 gps NaN 2018-05-14 04:00:49 1.526270e+09 gps NaN 2018-05-14 04:00:50 1.526270e+09 gps NaN
def parse_time(time_vector): time_vector_out = [] for i in range(len(time_vector)): time_vector_out.append(datetime.strptime( time_vector[i],'%Y-%m-%dT%H:%M:%S%z',)) return time_vector_out epoch = datetime.datetime.utcfromtimestamp(0) def unix_time_s(dt): return (dt - epoch).total_seconds() def time_index(time_vector): time_vector_out = [] for i in range(len(time_vector)): time_vector_out.parse_time(acceleration_time) return time_vector_out
#acceleration = pd.read_csv('Data_1/acceleration.txt', parse_dates=[0], sep=',', names=['Acceleration DateTime','acceleration']) # bandwidth = np.genfromtxt('Data_1//bandwidth.txt',delimiter=',',usecols=1) # location = np.genfromtxt('Data_1/location.txt',delimiter=',',usecols=1) # magnet = np.genfromtxt('Data_1/magnet.txt',delimiter=',',usecols=1) # orientation = np.genfromtxt('Data_1/orientation.txt',delimiter=',',usecols=1)
blob = open('Test_5/wifi1.txt') lines = blob.read().split(',')
# openwifi_time = pd.read_csv('Data_1/openwifi.txt',delimiter=';',dtype='str',usecols=0) # openwifi_names = pd.read_csv('Data_1/openwifi.txt', delimiter=';', dtype='str', usecols=1) # #cell_time = np.genfromtxt('Data_1/cell.txt', delimiter=';', dtype='str', usecols=0) # #cells = np.genfromtxt('Data_1/cell.txt', delimiter=';', dtype='str',usecols=1) # openwifi_names.astype(object) # print(openwifi_time[0]) # print(openwifi_names[0]) # #print(cell_time) # #print(cells)
import pandas as pd wifi = pd.read_csv('good_test.csv', delimiter=',', parse_dates=True, header=None, index_col=0, usecols=[0,8], infer_datetime_format=True, names=['Index','rssi']) #Whole data set below wifi2 = pd.read_csv('good_test.csv', delimiter=',', parse_dates=True, header=None, index_col=0, usecols=[0,2,3,4,5,6,7,8,9,10,], infer_datetime_format=True, names=['Index','network type','time','name/mac','bandwidth','rssi min','rssi average','rssi max','signal average','signal max',]) # This test involved normal use of phone for browsing in low-noise environment outside of the near field # Set distance equal to 1.5m for the whole test #print(wifi) wifi['rssi'].mean() wifi['rssi'].var() import scipy.stats as sci sci.normaltest(wifi['rssi'])
NormaltestResult(statistic=618.47623358871897, pvalue=5.0071693720945445e-135)

Since this data is normally distributed, it does not follow the Nakagami, Rice, or Rayleigh distributions. Therefore, in order to parse noise data from RSSI, will need more features, calculated more reliably.