|
Pilot RX by socket | threads (=reference time) |
|
| index (1:512:frame_count) |
|
| fprintf ("Average delay between rx thread and main thread: %.2f\n",... mean(pilot_recv(subset))) |
|
| fprintf ("In functions: CSI: %.2f, ZF: %.2f, FFT + Demul: %.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(1200:frame_count)), mean(fft_time_in_function(subset))+mean(demul_time_in_function(1200:frame_count)),... mean(fft_time_in_function(subset))+mean(zf_time_in_function(subset))+mean(demul_time_in_function(1200:frame_count))) |
|
| 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", avg_proc_duration, std_proc_duration) |
|
|
| function [avg_proc_duration, std_proc_duration, avg_proc_start, avg_fft_duration, avg_zf_duration, avg_decode_duration] |
|
Pilot RX by socket | kPilotRX |
|
Pilot RX by socket | kProcessingStarted |
|
Pilot RX by socket | kPilotAllRX |
|
Pilot RX by socket | kFFTDone |
|
Pilot RX by socket | kZFDone |
|
Pilot RX by socket | kDemulDone |
|
Pilot RX by socket | kDecodeDone |
|
Pilot RX by socket | kRXDone |
|
Pilot RX by socket time in | CSI |
|
Pilot RX by socket time in time in | FFT |
|
Pilot RX by socket time in time in time in | ZF |
|
Pilot RX by socket time in time in time in time in | Demul |
|
Pilot RX by socket time in time in time in time in time in Decode | temp = textscan(fid,"%f%f%f%f%f%f%f%f%f%f%f%f%f", 'HeaderLines',2) |
|
| frame_start = temp{1} |
|
| pilot_recv =temp{2} |
|
| process_start = temp{3} |
|
| all_pilot_received = temp{4} |
|
| fft_processed = temp{5} |
|
| zf_processed = temp{6} |
|
| demul_processed = temp{7} |
|
| decode_processed = temp{8} |
|
| rx_processed = temp{9} |
|
| demul_duration = demul_processed-zf_processed |
|
| zf_duration = zf_processed-fft_processed |
|
| decode_duration = decode_processed-zf_processed |
|
| fft_duration = fft_processed |
|
| frame_duration_rx = rx_processed |
|
| frame_duration_fft = fft_processed |
|
| frame_duration_demul = demul_processed |
|
| frame_duration_decode = decode_processed |
|
| frame_duration_zf = zf_processed |
|
| frame_duration = diff(frame_start) |
|
| frame_count = length(demul_processed) |
|
| pilot_rx_duration = all_pilot_received |
|
| frame_duration_processing = max([frame_duration,frame_duration_decode(1:end-1)],[],2) |
|
| csi_time_in_function = temp{10} |
|
| fft_time_in_function = temp{11} |
|
| zf_time_in_function = temp{12} |
|
| demul_time_in_function = temp{13} |
|
| index = [1:frame_count] |
|
| subset = index(1200:frame_count-2) |
|
| avg_frame_duration = mean(frame_duration(subset)) |
|
| avg_rx_duration = mean(frame_duration_rx(subset)) |
|
| avg_demul_duration = mean(frame_duration_demul(subset)) |
|
| avg_proc_duration = mean(frame_duration_decode(subset)) |
|
| std_proc_duration = std(frame_duration_decode(subset)) |
|
| x_set = x_proc_delay(f_proc_delay>0.99) |
|
| avg_proc_start = mean(process_start(subset)) |
|
| avg_zf_duration = mean(zf_duration(subset)) |
|
| avg_fft_duration = mean(fft_duration(subset)) |
|
| avg_decode_duration = mean(decode_duration(subset)) |
|
| process_delay = demul_processed-rx_processed |
|
| avg_proc_delay = mean(process_delay(subset)) |
|
| std_proc_delay = std(process_delay(subset)) |
|
| proc_delay_99th = x_set(1) |
|
| zf_delay_99th = x_set(1) |
|