[srsran-users] UE subframe synchronization
Tuan Hoang Dinh
tuanmcx58 at gmail.com
Mon Feb 7 15:30:32 UTC 2022
Hi,
I'm trying to understand how srsUE syncs with subframe and aligns the
subframe samples from USRP. I found the function "*srsran_ue_sync_zerocopy*
*(...)*" in lib/src/phy/ue/ue_sync.c but still having a hard time
understanding it completely. Could you help me answer the following
questions?
1. When using 20 Mhz channel, I read the document and see that the sample
rate must be 30.72 Mbps and FFT size must be 2048, but I saw srsUE using
23.04Mbps and 1536 FFT size. Why it is possible to use 23.04 Mbps and 1536
FFT?
2. When get n samples of 1 subframe from USRP, srsUE uses "
*srsran_ue_sync_zerocopy(...)*" function to find PSS and SSS and sync with
subframe, But how it can make sure the sample it gets from USRP starts
exactly at the beginning of subframe? What happens if it gets the sample
from the middle of the subframe? I found some lines of code in function
*"find_peak_ok**(...)**" (also ue_sync.c)* I guess it is to align subframe:
if (q->frame_find_cnt >= q->nof_avg_find_frames || q->peak_idx < 2 * q->
fft_size) {
// Receive read_len samples until the start of the next subframe (different
for FDD and TDD)
uint32_t read_len = q->peak_idx + PSS_OFFSET;
INFO("Realigning frame, reading %d samples", read_len);
if (q->recv_callback(q->stream, input_buffer, read_len, &q->last_timestamp)
< 0) {
return SRSRAN_ERROR;
}
But I'm not sure it right or wrong and I dont understand why the condition
is "*q->peak_idx < 2 * q->fft_size" ?*
3. In the processing chain of LTE, I see we should remove the cyclic prefix
before doing FFT, but in function "*srsran_ue_sync_zerocopy*" I
haven't found the code to remove CP, could you help me know the code to do
that?
I appreciate your help a lot!
Thank you,
Tuan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.srsran.com/pipermail/srsran-users/attachments/20220208/a5be1fc9/attachment.htm>
More information about the srsran-users
mailing list