[srslte-users] Transmission time in pdsch_enodeb.c
Hojoon Yang
omnibusor at kaist.ac.kr
Mon Oct 16 08:26:24 UTC 2017
Hi all
When I measure the elapsed time of srstle_rf_send2() function in pdsch_enodeb.c
i.e.
gettimeofday(&st,NULL);
srslte_rf_send2(&rf, output_buffer, sf_n_samples, true, start_of_burst, false);
gettimeofday(&et,NULL);
int elapsed = ((et.tv_sec - st.tv_sec) * 1000000) + (et.tv_usec - st.tv_usec);
printf("Sorting time: %d micro seconds\n",elapsed);
its results showed that
...
Sorting time: 886 micro seconds
Sorting time: 885 micro seconds
Sorting time: 936 micro seconds
Sorting time: 886 micro seconds
Sorting time: 886 micro seconds
Sorting time: 886 micro seconds
Sorting time: 887 micro seconds
Sorting time: 930 micro seconds
Sorting time: 875 micro seconds
Sorting time: 886 micro seconds
Sorting time: 887 micro seconds
Sorting time: 885 micro seconds
Sorting time: 935 micro seconds
Sorting time: 885 micro seconds
Sorting time: 886 micro seconds
Sorting time: 885 micro seconds
Sorting time: 885 micro seconds
Sorting time: 934 micro seconds
Sorting time: 885 micro seconds
Sorting time: 886 micro seconds
Sorting time: 885 micro seconds
Sorting time: 887 micro seconds
Sorting time: 937 micro seconds
Sorting time: 885 micro seconds
...
and when I measured the totla elapsed time of each subframe.
i.e.
...
while ((nf < nof_frames || nof_frames == -1) && !go_exit) {
for (sf_idx = 0; sf_idx < SRSLTE_NSUBFRAMES_X_FRAME && (nf < nof_frames || nof_frames == -1); sf_idx++) {
gettimeofday(&st,NULL);
bzero();
...
srslte_rf_send2(&rf, output_buffer, sf_n_samples, true, start_of_burst, false);
start_of_burst = false;
gettimeofday(&et,NULL);
int elapsed = ((et.tv_sec - st.tv_sec) * 1000000) + (et.tv_usec - st.tv_usec);
printf("Sorting time: %d micro seconds\n",elapsed);
...
it showed that
...
Sorting time: 999 micro seconds
Sorting time: 998 micro seconds
Sorting time: 999 micro seconds
Sorting time: 998 micro seconds
Sorting time: 998 micro seconds
Sorting time: 999 micro seconds
Sorting time: 999 micro seconds
Sorting time: 989 micro seconds
Sorting time: 999 micro seconds
Sorting time: 999 micro seconds
Sorting time: 999 micro seconds
Sorting time: 999 micro seconds
Sorting time: 998 micro seconds
Sorting time: 998 micro seconds
Sorting time: 998 micro seconds
Sorting time: 999 micro seconds
Sorting time: 998 micro seconds
Sorting time: 999 micro seconds
Sorting time: 1000 micro seconds
Sorting time: 999 micro seconds
Sorting time: 996 micro seconds
Sorting time: 999 micro seconds
Sorting time: 999 micro seconds
Sorting time: 999 micro seconds
Sorting time: 999 micro seconds
Sorting time: 988 micro seconds
Sorting time: 1000 micro seconds
Sorting time: 999 micro seconds
...
Q1.
pdsch_enodeb.c seems that it first creates the data to send, and then transmit by using srslte_rf_send2().
Thus, there will be processing time required to create the data to send.
I think that's the reason that its elapsed time between srslte_rf_send2() is not 1000us.
for examples, if the elapsed time is 885us, processing time will be 115us and its total elapsed time will be 1000us for each subframe. Am I right?
Q2.
If I put some more functions in pdsch_enodeb.c, the processing time will be increase.
Then, its total elapsed time will exceed 1000us??
Q3. During the processing time,(e.g. 115us), the USRP or HackRF can not transmit? but, the SDR should transmit continously..
Thanks in advance.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.srsran.com/pipermail/srsran-users/attachments/20171016/ce05bba2/attachment.htm>
More information about the srsran-users
mailing list