|
Agora
1.2.0
Agora project
|
Functions | |
| Pilot RX by socket | threads (=reference time) |
| fprintf ("Average delay between rx thread and main thread: %.2f\n",... mean(pilot_recv(subset))) | |
| fprintf ("In functions: CSI: %.2f, ZF: %.2f, FFT + Demul + Decode: %.2f+%.2f+%.2f=%.2f, total: %.2f\n",... mean(csi_time_in_function(subset)),... mean(zf_time_in_function(subset)), mean(fft_time_in_function(subset)),... mean(demul_time_in_function(subset)), mean(decode_time_in_function(subset)),... mean(fft_time_in_function(subset))+mean(demul_time_in_function(subset))+mean(decode_time_in_function(subset)),... mean(csi_time_in_function(subset))+mean(fft_time_in_function(subset))+mean(zf_time_in_function(subset))+mean(demul_time_in_function(subset))+mean(decode_time_in_function(subset))) | |
| fprintf ("In main thread: queueing delay: %.2f, FFT of pilots done: %.2f, ZF done: %.2f, Decode done: %.2f, total: %.2f\n",... avg_proc_start, avg_fft_duration, avg_zf_duration,... avg_decode_duration, avg_proc_duration) | |
| fprintf ("Frame duration: %.2f, RX duration: %.5f, Processing delay: %.5f\n", avg_frame_duration, avg_rx_duration, avg_proc_duration-avg_rx_duration) | |
| fprintf ("Pilot RX duration: %.2f\n", mean(pilot_rx_duration(subset))) | |
| fprintf ("Process delay 99th: %.2f, ZF delay 99th: %.3f\n", proc_delay_99th, zf_delay_99th) | |
| fprintf ("Process delay mean: %.2f (std: %.2f), ZF delay mean: %.2f\n", avg_proc_delay, std_proc_delay, avg_zf_duration) | |
| fprintf ("UL processing duration: %.2f, std: %.2f\n", mean(frame_duration_decode(subset)), std(frame_duration_decode(subset))) | |
| figure (1) | |
| plot (fft_duration(1:frame_count), 'LineWidth', 2) | |
| plot (fft_time_in_function(subset), 'LineWidth', 2) | |
| plot (zf_time_in_function(subset), 'LineWidth', 2) | |
| plot (demul_time_in_function(subset), 'LineWidth', 2) | |
| plot (zf_duration(subset), 'LineWidth', 2) | |
| set (gca, 'FontSize', 18) | |
| xlabel ('Frame id') | |
| ylabel ('Duration(us)') | |
| legend ({ 'FFT in function', 'ZF in function', 'Demodulation in function', 'ZF'}) | |
| figure (2) | |
| plot (frame_duration_fft(subset), 'LineWidth', 2) | |
| plot (frame_duration_zf(subset), 'LineWidth', 2) | |
| plot (frame_duration_demul(subset), 'LineWidth', 2) | |
| plot (frame_duration_rx(subset), 'LineWidth', 2) | |
| plot (frame_duration_decode(subset), 'LineWidth', 2) | |
| legend ({ 'FFT of pilots', 'ZF', 'Demodulation', 'RX', "Deocde"}) | |
| figure (4) | |
| plot (process_delay(1:frame_count), 'LineWidth', 2) | |
| ylabel ('Delay(us)') | |
| title ('Processing delay') figure(5) | |
| set (h1, 'LineWidth', 2) | |
| xlabel ('Delay(us)') | |
| plot (pilot_recv(1:end) -frame_start(1:end), 'LineWidth', 2) | |
| ylabel ('Time(us)') | |
| title ('Delay between main thread and rx thread') % figure(8) | |
| xlabel ('Time(us)') | |
| fprintf ("In emulator: TX duration %.5f\n", avg_tx_duration) | |
| figure (6) | |
| plot (frame_duration_tx(subset), 'LineWidth', 24) | |
| set (gca, 'FontSize', 24) | |
| title ('TX duration') | |
| figure (3) | |
| set (h2, 'LineWidth', 2) | |
| set (h3, 'LineWidth', 2, 'LineStyle', '--', 'Color', 'k') | |
| xlabel ('Duration(us)') | |
| legend ({sprintf('RX duration(avg:%.2f us)', avg_rx_duration),... sprintf('Demul done(avg:%.2f us)', avg_demul_duration),... sprintf('Decode done(avg:%.2f us)',... avg_proc_duration)}, 'Location', 'southeast') | |
| plot (x_proc_delay, myccdf) | |
| set (gca, 'YScale', 'log') | |
| figure | ( | 1 | ) |
| figure | ( | 2 | ) |
| figure | ( | 3 | ) |
| figure | ( | 4 | ) |
| figure | ( | 6 | ) |
| fprintf | ( | "Frame duration: %. | 2f, |
| RX duration:%. | 5f, | ||
| Processing delay:%.5f\n" | , | ||
| avg_frame_duration | , | ||
| avg_rx_duration | , | ||
| avg_proc_duration- | avg_rx_duration | ||
| ) |
| fprintf | ( | "In emulator: TX duration %.5f\n" | , |
| avg_tx_duration | |||
| ) |
| fprintf | ( | "In functions: CSI: %. | 2f, |
| ZF:%. | 2f, | ||
| FFT+Demul+Decode:%.2f+%.2f+%. | 2f = %.2f, |
||
| total:%.2f\n" | , | ||
| ... | meancsi_time_in_function(subset), | ||
| ... | meanzf_time_in_function(subset), | ||
| mean(fft_time_in_function(subset)) | , | ||
| ... | meandemul_time_in_function(subset), | ||
| mean(decode_time_in_function(subset)) | , | ||
| ... | meanfft_time_in_function(subset))+mean(demul_time_in_function(subset))+mean(decode_time_in_function(subset), | ||
| ... | meancsi_time_in_function(subset))+mean(fft_time_in_function(subset))+mean(zf_time_in_function(subset))+mean(demul_time_in_function(subset))+mean(decode_time_in_function(subset) | ||
| ) |
| fprintf | ( | "In main thread: queueing delay: %. | 2f, |
| FFT of pilots done:%. | 2f, | ||
| ZF done:%. | 2f, | ||
| Decode done:%. | 2f, | ||
| total:%.2f\n" | , | ||
| avg_proc_start, | |||
| avg_fft_duration | , | ||
| avg_zf_duration | , | ||
| avg_decode_duration, | |||
| avg_proc_duration | |||
| ) |
| fprintf | ( | "Pilot RX duration: %.2f\n" | , |
| mean(pilot_rx_duration(subset)) | |||
| ) |
| fprintf | ( | "Process delay 99th: %. | 2f, |
| ZF delay 99th:%.3f\n" | , | ||
| proc_delay_99th | , | ||
| zf_delay_99th | |||
| ) |
| fprintf | ( | "Process delay mean: %.2f | std: %.2f, |
| ZF delay mean:%.2f\n" | , | ||
| avg_proc_delay | , | ||
| std_proc_delay | , | ||
| avg_zf_duration | |||
| ) |
| fprintf | ( | "UL processing duration: %. | 2f, |
| std:%.2f\n" | , | ||
| mean(frame_duration_decode(subset)) | , | ||
| std(frame_duration_decode(subset)) | |||
| ) |
| legend | ( | {sprintf('RX duration(avg:%.2f us)', avg_rx_duration),... sprintf('Demul done(avg:%.2f us)', avg_demul_duration),... sprintf('Decode done(avg:%.2f us)',... avg_proc_duration)} | , |
| 'Location' | , | ||
| 'southeast' | |||
| ) |
| plot | ( | demul_time_in_function(subset) | , |
| 'LineWidth' | , | ||
| 2 | |||
| ) |
| plot | ( | fft_duration(1:frame_count) | , |
| 'LineWidth' | , | ||
| 2 | |||
| ) |
| plot | ( | fft_time_in_function(subset) | , |
| 'LineWidth' | , | ||
| 2 | |||
| ) |
| plot | ( | frame_duration_decode(subset) | , |
| 'LineWidth' | , | ||
| 2 | |||
| ) |
| plot | ( | frame_duration_demul(subset) | , |
| 'LineWidth' | , | ||
| 2 | |||
| ) |
| plot | ( | frame_duration_fft(subset) | , |
| 'LineWidth' | , | ||
| 2 | |||
| ) |
| plot | ( | frame_duration_rx(subset) | , |
| 'LineWidth' | , | ||
| 2 | |||
| ) |
| plot | ( | frame_duration_tx(subset) | , |
| 'LineWidth' | , | ||
| 24 | |||
| ) |
| plot | ( | frame_duration_zf(subset) | , |
| 'LineWidth' | , | ||
| 2 | |||
| ) |
| plot | ( | pilot_recv(1:end) -frame_start(1:end) | , |
| 'LineWidth' | , | ||
| 2 | |||
| ) |
| plot | ( | process_delay(1:frame_count) | , |
| 'LineWidth' | , | ||
| 2 | |||
| ) |
| plot | ( | x_proc_delay | , |
| myccdf | |||
| ) |
| plot | ( | zf_duration(subset) | , |
| 'LineWidth' | , | ||
| 2 | |||
| ) |
| plot | ( | zf_time_in_function(subset) | , |
| 'LineWidth' | , | ||
| 2 | |||
| ) |
| set | ( | gca | , |
| 'FontSize' | , | ||
| 18 | |||
| ) |
| set | ( | gca | , |
| 'FontSize' | , | ||
| 24 | |||
| ) |
| set | ( | gca | , |
| 'YScale' | , | ||
| 'log' | |||
| ) |
| set | ( | h1 | , |
| 'LineWidth' | , | ||
| 2 | |||
| ) |
| set | ( | h2 | , |
| 'LineWidth' | , | ||
| 2 | |||
| ) |
| set | ( | h3 | , |
| 'LineWidth' | , | ||
| 2 | , | ||
| 'LineStyle' | , | ||
| '--' | , | ||
| 'Color' | , | ||
| 'k' | |||
| ) |
| Pilot RX by socket threads | ( | ) |
| title | ( | 'Delay between main thread and rx thread' | ) |
| title | ( | 'Processing delay' | ) |
| title | ( | 'TX duration' | ) |
| xlabel | ( | 'Delay(us)' | ) |
| xlabel | ( | 'Duration(us)' | ) |
| xlabel | ( | 'Frame id' | ) |
| xlabel | ( | 'Time(us)' | ) |
| ylabel | ( | 'Delay(us)' | ) |
| ylabel | ( | 'Duration(us)' | ) |
| ylabel | ( | 'Time(us)' | ) |
| all_pilot_received = temp{4} |
| avg_decode_duration = mean(decode_duration(subset)) |
| avg_demul_duration = mean(frame_duration_demul(subset)) |
| avg_fft_duration = mean(fft_duration(subset)) |
| avg_frame_duration = mean(frame_duration(subset)) |
| avg_proc_delay = mean(process_delay(subset)) |
| avg_proc_duration = mean(frame_duration_decode(subset)) |
| avg_proc_start = mean(process_start(subset)) |
| avg_rx_duration = mean(frame_duration_rx(subset)) |
| avg_tx_duration = mean(frame_duration_tx(1200:length(frame_duration_tx)-1)) |
| avg_zf_duration = mean(zf_duration(subset)) |
| clf |
| Pilot RX by socket time in CSI |
| csi_time_in_function = temp{10} |
| decode_duration = decode_processed - zf_duration |
| decode_processed = temp{8} |
| decode_time_in_function = temp{14} |
| Pilot RX by socket time in time in time in time in Demul |
| demul_duration = demul_processed-zf_processed |
| demul_processed = temp{7} |
| demul_time_in_function = temp{13} |
| Pilot RX by socket time in time in FFT |
| fft_duration = fft_processed |
| fft_processed = temp{5} |
| fft_time_in_function = temp{11} |
| fid = fopen('../files/experiment/timeresult.txt') |
| frame_count = length(demul_processed) |
| frame_duration = diff(frame_start) |
| frame_duration_decode = decode_processed |
| frame_duration_demul = demul_processed |
| frame_duration_fft = fft_processed |
| frame_duration_processing = max([frame_duration,frame_duration_decode(1:end-1)],[],2) |
| frame_duration_rx = rx_processed |
| frame_duration_rx1 = diff(frame_start) |
| frame_duration_tx = diff(frame_ends) |
| frame_duration_zf = zf_processed |
| frame_ends =temp{1} |
| frame_start = temp{1} |
| h1 = cdfplot(process_delay(subset)) |
| h2 =cdfplot(frame_duration_demul(subset)) |
| h3 =cdfplot(frame_duration_tx(1200:length(frame_duration_tx)-1)) |
| index = [1:frame_count] |
| Pilot RX by socket kDecodeDone |
| Pilot RX by socket kDemulDone |
| Pilot RX by socket kFFTDone |
| Pilot RX by socket kPilotAllRX |
| Pilot RX by socket kPilotRX |
| Pilot RX by socket kProcessingStarted |
| Pilot RX by socket kRXDone |
| Pilot RX by socket kZFDone |
| median_proc_duration = x_set(1) |
| myccdf = 1-f_proc_delay |
| grid on |
| pilot_recv =temp{2} |
| pilot_rx_duration = all_pilot_received |
| proc_delay_99th = x_set(1) |
| process_delay = demul_processed-rx_processed |
| process_start = temp{3} |
| queueing_delay = process_start |
| rx_processed = temp{9} |
| std_proc_delay = std(process_delay(subset)) |
| std_proc_duration = std(frame_duration_decode(subset)) |
| subset = index(500:frame_count-2) |
| tail_proc_duration = x_set(1) |
| temp = textscan(fid,"%f%f%f%f%f%f%f%f%f%f%f%f%f%f", 'HeaderLines',2) |
| x_set = x_proc_delay(f_proc_delay>0.99) |
| Pilot RX by socket time in time in time in ZF |
| zf_delay_99th = x_set(1) |
| zf_duration = zf_processed-fft_processed |
| zf_processed = temp{6} |
| zf_time_in_function = temp{12} |