[srsran-users] how can complete code cell_search that beside that earfcn and frequency, print plmn code for operator cell?
Johann T.
johann.tzt at gmail.com
Wed Aug 30 08:52:00 UTC 2023
Hi,
The easiest way would be to use srsue. Configure your target
frequency/channel accordingly and enable the PCAP logging in the config
file. The PLMN will also be printed out on the terminal.
Check the documentation on how to use srsue.
https://docs.srsran.com/projects/4g/en/latest/usermanuals/source/srsue/source/index.html
Johann
On Tue, Aug 29, 2023 at 3:28 PM sp <stackprogramer at gmail.com> wrote:
> Thank you for your answer. Any example or guide is in examples of srsran
> 4g?
>
>
> On Tue, Aug 29, 2023 at 5:02 PM Johann T. <johann.tzt at gmail.com> wrote:
>
>> Hi,
>>
>> In the cell_search, only the MIB is decoded. While the PLMN ID is
>> contained in SIB1. Thus you need to decode SIB1 as well.
>>
>> Cheers,
>> Johann
>>
>>
>>
>> On Tue, Aug 29, 2023 at 12:35 PM sp <stackprogramer at gmail.com> wrote:
>>
>>> there is an example in path /lib/example/cell_search.c, it can search
>>> for all earfcn and frequencies in a band..... my question is how can edit
>>> and modify it
>>> Furthermore, earfcn, it prints plmn code for the operator, can anyone
>>> guide me? Thanks in advance
>>> A part of code you see that, you can see complete code from this link
>>> <https://github.com/srsran/srsRAN_4G/blob/master/lib/examples/cell_search.c>
>>> .
>>>
>>> for (freq = 0; freq < nof_freqs && !go_exit; freq++) {
>>> /* set rf_freq */
>>> srsran_rf_set_rx_freq(&rf, 0, (double)channels[freq].fd * MHZ);
>>> INFO("Set rf_freq to %.3f MHz", (double)channels[freq].fd * MHZ /
>>> 1000000);
>>>
>>> printf(
>>> "[%3d/%d]: EARFCN %d Freq. %.2f MHz looking for PSS.\n", freq,
>>> nof_freqs, channels[freq].id, channels[freq].fd);
>>> fflush(stdout);
>>>
>>> if (SRSRAN_VERBOSE_ISINFO()) {
>>> printf("\n");
>>> }
>>>
>>> bzero(found_cells, 3 * sizeof(srsran_ue_cellsearch_result_t));
>>>
>>> INFO("Setting sampling frequency %.2f MHz for PSS search",
>>> SRSRAN_CS_SAMP_FREQ / 1000000);
>>> srsran_rf_set_rx_srate(&rf, SRSRAN_CS_SAMP_FREQ);
>>> INFO("Starting receiver...");
>>> srsran_rf_start_rx_stream(&rf, false);
>>>
>>> n = srsran_ue_cellsearch_scan(&cs, found_cells, NULL);
>>> if (n < 0) {
>>> ERROR("Error searching cell");
>>> exit(-1);
>>> } else if (n > 0) {
>>> for (int i = 0; i < 3; i++) {
>>> if (found_cells[i].psr > 2.0) {
>>> srsran_cell_t cell;
>>> cell.id = found_cells[i].cell_id;
>>> cell.cp = found_cells[i].cp;
>>> int ret = rf_mib_decoder(&rf, 1, &cell_detect_config, &cell,
>>> NULL);
>>> if (ret < 0) {
>>> ERROR("Error decoding MIB");
>>> exit(-1);
>>> }
>>> if (ret == SRSRAN_UE_MIB_FOUND) {
>>> printf("Found CELL ID %d. %d PRB, %d ports\n", cell.id,
>>> cell.nof_prb, cell.nof_ports);
>>> if (cell.nof_ports > 0) {
>>> results[n_found_cells].cell = cell;
>>> results[n_found_cells].freq = channels[freq].fd;
>>> results[n_found_cells].dl_earfcn = channels[freq].id;
>>> results[n_found_cells].power = found_cells[i].peak;
>>> n_found_cells++;
>>> }
>>> }
>>> }
>>> }
>>> }
>>> }
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> srsran-users mailing list
>>> srsran-users at lists.srsran.com
>>> https://lists.srsran.com/mailman/listinfo/srsran-users
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.srsran.com/pipermail/srsran-users/attachments/20230830/30d8cd9c/attachment.htm>
More information about the srsran-users
mailing list