def animateTime(i, bg1, bg2, bg3): raw1,raw2,raw3 = [] # Conducts test vnakit.Record() results = vnakit.GetRecordingResult() # Calc S21 for sample_p4, sample_p2, sample_p5, sample_p6, bg_sample1, bg_sample2, bg_sample3\ in zip(results[4], results[2], results[5], results[6], bg1, bg2, bg3): sample = sample_p4 / sample_p2 sample2 = sample_p5 / sample_p2 sample3 = sample_p6 / sample_p2 raw2.append(sample2)# - bg_sample2) raw1.append(sample)# - bg_sample1) raw3.append(sample3)# - bg_sample3) # Retrieve time domain stuff freqs = freqs2 = freqs3 = vnakit.GetFreqVector_MHz() #does this syntax work? What do these do? times2, waveform2 = calcTimeDomainModel(freqs2, raw2) times, waveform1 = calcTimeDomainModel(freqs, raw1) times3, waveform3 = calcTimeDomainModel(freqs3, raw3) # Calculate range and angle measurement based on returns for both horns. #Get return time for each horn range_time1 = times[numpy.argmax(waveform1)] range_time2 = times2[numpy.argmax(waveform2)] range_time3 = times3[numpy.argmax(waveform3)] print('======================================================') print(getPosition(waveform1, waveform2, waveform3, range_time1, range_time2, range_time3)) print('======================================================')
def animateTime(i, bg1, bg2, bg3): raw1 = [] raw2 = [] raw3 = [] # Conducts test vnakit.Record() results = vnakit.GetRecordingResult() # Calc S21 for sample_p4, sample_p2, sample_p5, sample_p6, bg_sample1, bg_sample2, bg_sample3\ in zip(results[4], results[2], results[5], results[6], bg1, bg2, bg3): sample = sample_p4 / sample_p2 sample2 = sample_p5 / sample_p2 sample3 = sample_p6 / sample_p2 raw2.append(sample2) # - bg_sample2) raw1.append(sample) # - bg_sample1) raw3.append(sample3) # - bg_sample3) # Retrieve time domain stuff freqs = vnakit.GetFreqVector_MHz() freqs2 = vnakit.GetFreqVector_MHz() freqs3 = vnakit.GetFreqVector_MHz() times2, waveform2 = calcTimeDomainModel(freqs2, raw2) times, waveform1 = calcTimeDomainModel(freqs, raw1) times3, waveform3 = calcTimeDomainModel(freqs3, raw3) # Calculate range and angle measurement based on returns for both horns. #Get return time for each horn range_time1 = times[numpy.argmax(waveform1)] range_time2 = times2[numpy.argmax(waveform2)] range_time3 = times3[numpy.argmax(waveform3)] range_adjust = 0 # for circulator and black cable range_est = (3 * math.pow(10, 8) * range_time1) / 2 * 3.281 range_est_adj = range_est / 2 - 14 # TODO: need adj for current cables # Print results print('======================================================') print( getPosition(waveform1, waveform2, waveform3, range_time1, range_time2, range_time3)) print('======================================================')
def animateTime(self, bg1, bg2, bg3): raw1, raw2, raw3 = ([] for i in range(3)) # Conducts test vnakit.Record() results = vnakit.GetRecordingResult() #print('location3') # Calc S21 for sample_p4, sample_p2, sample_p5, sample_p6, bg_sample1, bg_sample2, bg_sample3 \ in zip(results[4], results[2], results[5], results[6], bg1, bg2, bg3): sample = sample_p4 / sample_p2 sample2 = sample_p5 / sample_p2 sample3 = sample_p6 / sample_p2 raw2.append(sample2 - bg_sample2) raw1.append(sample - bg_sample1) raw3.append(sample3 - bg_sample3) # Retrieve time domain stuff freqs = vnakit.GetFreqVector_MHz() freqs3 = vnakit.GetFreqVector_MHz() freqs2 = vnakit.GetFreqVector_MHz() # does this syntax work? What do these do? Yes # left horn times, waveform1 = vnaStuff.calcTimeDomainModel(freqs, raw1) # right horn times2, waveform2 = vnaStuff.calcTimeDomainModel(freqs2, raw2) # Ice cream cone times3, waveform3 = vnaStuff.calcTimeDomainModel(freqs3, raw3) # Calculate range and angle measurement based on returns for both horns. # Get return time for each horn range_time1 = times[numpy.argmax(waveform1)] range_time2 = times2[numpy.argmax(waveform2)] range_time3 = times3[numpy.argmax(waveform3)] print('======================================================') print( self.getPosition(waveform1, waveform2, waveform3, range_time1, range_time2, range_time3)) print('======================================================') self.plotTimeDomain(times, waveform1, waveform2, waveform3)