Skip to content

CRC Failures #36

Description

@JieyuZhao-nmg

Dear Developers,

Thank you very much for open-sourcing this excellent application. I am currently trying to use NR-Scope to monitor a real 5G base station signal, but I have encountered some issues.From the logs, I can see a large number of CRC check failures. Occasionally, there is a successful DCI detection (crc=OK and Found DCI), but after that, I don't see any SIB 1 Decoded log entries.

Here's my target base station information

Operator: Sunrise (5G)
Station: VD110-1 CZ1
Type: Outdoor Macro Cell (Aussen)
Frequency: 3750.0 MHz (n77 band)
PCI: 632
Transmission Power: Up to 5000W
Antenna Height: 30 meters
Azimuth: 265°
Adaptive Mode: Yes
Activation Date: February 4, 2025

And this is my environment configuration

Branch: main
Commit: 158ef1419d8d638101aac7e13688086985573486
Hardware: USRP B210 (type=b200)
Band: n77
Subcarrier Spacing: 30kHz (scs_index: 1)

Here is my configuration file:

nof_usrp_dev: 1
usrp_setting_0:
  ssb_freq: 3750240000  # Set to the ssb frequency of the cell, could be obtained with the cell scan function
  rf_args: "type=b200" # For B210
  rx_gain: 80 # for x310 CBX, max rx gain is 31.5, for b210, it's around 80, for x310 TwinRX, max rx gain is 90 
  band_list: [77]
  min_rx_gain: 10
  max_rx_gain: 80
  srate_hz: 23040000 # the sampling rate of USRP, integer division of 200MHz for TwinRX, and 5G sampling rate for CBX: 11520000 or 23040000
  srsran_srate_hz: 23040000 # the sampling for real signal processing, should be in 5G sampling rate, multiple of 1.92 MHz. 
  nof_carriers: 1 # srsRAN rf setting, always set to be 1 for now. 
  nof_antennas: 1 # srsRAN rf setting, always set to be 1 for now.
  scs_index: 1 #(0: 15kHz, 1: 30kHz, ..., the u in standard)
  rf_log_level: "debug"
  nof_rnti_worker_groups: 16 # number of of threads for DCI decoding, each will divide the UEs into small groups
  nof_bwps: 1 # number of BWP of the cell
  nof_workers: 16 # using worker pool to asynchronously process the slot data
  cpu_affinity: false # pin the worker's thread into CPU or not.

### nrscope commit: 158ef1419d8d638101aac7e13688086985573486

And this is my observed behavior

Consistent CRC Failures

The vast majority of PDCCH decode attempts result in crc=KO:

PDCCH: si-rnti=0xffff, crst_id=0, ss_type=common0, ncce=4, al=0, EPRE=+11.83, RSRP=+3.16, corr=0.136; nof_bits=39; crc=KO;
PDCCH: si-rnti=0xffff, crst_id=0, ss_type=common0, ncce=5, al=0, EPRE=+13.65, RSRP=+11.85, corr=0.660; nof_bits=39; crc=KO;
PDCCH: si-rnti=0xffff, crst_id=0, ss_type=common0, ncce=6, al=0, EPRE=+12.47, RSRP=+9.86, corr=0.549; nof_bits=39; crc=KO;
PDCCH: si-rnti=0xffff, crst_id=0, ss_type=common0, ncce=7, al=0, EPRE=+12.51, RSRP=+11.32, corr=0.761; nof_bits=39; crc=KO;

Occasional Successful DCI Detection

Occasionally, a valid DCI is found:

PDCCH: si-rnti=0xffff, crst_id=0, ss_type=common0, ncce=0, al=3, EPRE=+12.75, RSRP=+7.15, corr=0.276; nof_bits=39; crc=OK;
SIBDecoder -- Found DCI: si-rnti=0xffff dci=1_0 ss=common0 L=3 cce=0 f_alloc=0x5f t_alloc=0x1 vrb_to_prb_map=0 mcs=1 rv=0 sii=0 coreset0_bw=48 reserved=0x0

PDSCH configuration shows:

PDSCH_cfg:
  DMRS: type=1, add_pos=2, len=single, typeA_pos=2
  Grant: rnti=0xffff, k=0, mapping=A, t_alloc=2:10, f_alloc=0:48
  CW0: mod=QPSK, mcs=1, tbs=1256, R=0.153, rv=0

Despite finding DCI, no successful SIB1 decoding is logged

Note: We have successfully tested this setup with srsRAN and Open5GS using 20 MHz and 40 MHz bandwidth configurations, but not with this real gNB.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions