Pau Espin Pedrol | c8b0f93 | 2020-02-11 17:45:26 +0100 | [diff] [blame] | 1 | ##################################################################### |
| 2 | # srsUE configuration file |
| 3 | ##################################################################### |
| 4 | |
| 5 | ##################################################################### |
| 6 | # RF configuration |
| 7 | # |
| 8 | # dl_earfcn: Downlink EARFCN code. |
| 9 | # freq_offset: Uplink and Downlink optional frequency offset (in Hz) |
| 10 | # tx_gain: Transmit gain (dB). |
| 11 | # rx_gain: Optional receive gain (dB). If disabled, AGC if enabled |
| 12 | # |
| 13 | # Optional parameters: |
| 14 | # dl_freq: Override DL frequency corresponding to dl_earfcn |
| 15 | # ul_freq: Override UL frequency corresponding to dl_earfcn |
| 16 | # nof_radios: Number of available RF devices |
| 17 | # nof_rf_channels: Number of RF channels per radio |
| 18 | # nof_rx_ant: Number of RX antennas per channel |
| 19 | # device_name: Device driver family. Supported options: "auto" (uses first found), "UHD" or "bladeRF" |
| 20 | # device_args: Arguments for the device driver. Options are "auto" or any string. |
| 21 | # Default for UHD: "recv_frame_size=9232,send_frame_size=9232" |
| 22 | # Default for bladeRF: "" |
| 23 | # device_args_2: Arguments for the RF device driver 2. |
| 24 | # device_args_3: Arguments for the RF device driver 3. |
| 25 | # time_adv_nsamples: Transmission time advance (in number of samples) to compensate for RF delay |
| 26 | # from antenna to timestamp insertion. |
| 27 | # Default "auto". B210 USRP: 100 samples, bladeRF: 27. |
| 28 | # burst_preamble_us: Preamble length to transmit before start of burst. |
| 29 | # Default "auto". B210 USRP: 400 us, bladeRF: 0 us. |
| 30 | # continuous_tx: Transmit samples continuously to the radio or on bursts (auto/yes/no). |
| 31 | # Default is auto (yes for UHD, no for rest) |
| 32 | ##################################################################### |
| 33 | [rf] |
Andre Puschmann | 9df7cd0 | 2020-06-23 15:58:38 +0200 | [diff] [blame] | 34 | % if int(ue.num_carriers) == 4: |
| 35 | dl_earfcn = 2850,3050,3250,3350 |
| 36 | % elif int(ue.num_carriers) == 2: |
Andre Puschmann | d61613a | 2020-03-24 12:05:05 +0100 | [diff] [blame] | 37 | dl_earfcn = 2850,3050 |
| 38 | % else: |
| 39 | dl_earfcn = 2850 |
| 40 | % endif |
Andre Puschmann | e3a1910 | 2020-10-06 09:52:46 +0200 | [diff] [blame] | 41 | freq_offset = ${ue.freq_offset} |
Pau Espin Pedrol | a6d6304 | 2020-04-20 15:14:51 +0200 | [diff] [blame] | 42 | tx_gain = ${ue.tx_gain} |
| 43 | rx_gain = ${ue.rx_gain} |
Pau Espin Pedrol | c8b0f93 | 2020-02-11 17:45:26 +0100 | [diff] [blame] | 44 | |
| 45 | #nof_radios = 1 |
Pau Espin Pedrol | f796ad0 | 2020-03-09 15:50:57 +0100 | [diff] [blame] | 46 | nof_antennas = ${ue.num_antennas} |
Andre Puschmann | d61613a | 2020-03-24 12:05:05 +0100 | [diff] [blame] | 47 | nof_carriers = ${ue.num_carriers} |
Pau Espin Pedrol | c8b0f93 | 2020-02-11 17:45:26 +0100 | [diff] [blame] | 48 | |
Pau Espin Pedrol | a9a2fe2 | 2020-02-13 19:29:55 +0100 | [diff] [blame] | 49 | device_name = ${ue.rf_dev_type} |
| 50 | |
Pau Espin Pedrol | c8b0f93 | 2020-02-11 17:45:26 +0100 | [diff] [blame] | 51 | # For best performance in 2x2 MIMO and >= 15 MHz use the following device_args settings: |
| 52 | # USRP B210: num_recv_frames=64,num_send_frames=64 |
| 53 | |
| 54 | # For best performance when BW<5 MHz (25 PRB), use the following device_args settings: |
| 55 | # USRP B210: send_frame_size=512,recv_frame_size=512 |
| 56 | |
Andre Puschmann | b5f0444 | 2020-10-12 16:57:10 +0200 | [diff] [blame] | 57 | device_args = ${ue.rf_dev_args},${ue.rf_dev_sync} |
Pau Espin Pedrol | c8b0f93 | 2020-02-11 17:45:26 +0100 | [diff] [blame] | 58 | #time_adv_nsamples = auto |
| 59 | #burst_preamble_us = auto |
| 60 | #continuous_tx = auto |
| 61 | |
| 62 | |
| 63 | ##################################################################### |
| 64 | # Packet capture configuration |
| 65 | # |
| 66 | # Packet capture is supported at both MAC and NAS layers. |
| 67 | # MAC-layer packets are captured to file in the compact format |
| 68 | # decoded by the Wireshark mac-lte-framed dissector. |
| 69 | # To use this dissector, edit the preferences for DLT_USER to |
| 70 | # add an entry with DLT=147, Payload Protocol=mac-lte-framed. |
| 71 | # For more information see: https://wiki.wireshark.org/MAC-LTE |
| 72 | # NAS-layer packets are dissected with DLT=148, and |
| 73 | # Payload Protocol = nas-eps. |
| 74 | # |
| 75 | # enable: Enable MAC layer packet captures (true/false) |
| 76 | # filename: File path to use for MAC packet captures |
| 77 | # nas_enable: Enable NAS layer packet captures (true/false) |
| 78 | # nas_filename: File path to use for NAS packet captures |
| 79 | ##################################################################### |
| 80 | [pcap] |
David Rupprecht | f4ff058 | 2021-03-02 11:48:47 +0100 | [diff] [blame] | 81 | enable = ${'mac' if ue.enable_pcap else 'none'} |
| 82 | mac_filename = ${ue.pcap_filename} |
| 83 | mac_nr_filename = /tmp/ue_mac_nr.pcap |
| 84 | nas_filename = /tmp/ue_nas.pcap |
Pau Espin Pedrol | c8b0f93 | 2020-02-11 17:45:26 +0100 | [diff] [blame] | 85 | |
| 86 | ##################################################################### |
| 87 | # Log configuration |
| 88 | # |
| 89 | # Log levels can be set for individual layers. "all_level" sets log |
| 90 | # level for all layers unless otherwise configured. |
| 91 | # Format: e.g. phy_level = info |
| 92 | # |
| 93 | # In the same way, packet hex dumps can be limited for each level. |
| 94 | # "all_hex_limit" sets the hex limit for all layers unless otherwise |
| 95 | # configured. |
| 96 | # Format: e.g. phy_hex_limit = 32 |
| 97 | # |
| 98 | # Logging layers: rf, phy, mac, rlc, pdcp, rrc, nas, gw, usim, all |
| 99 | # Logging levels: debug, info, warning, error, none |
| 100 | # |
| 101 | # filename: File path to use for log output. Can be set to stdout |
| 102 | # to print logs to standard output |
| 103 | # file_max_size: Maximum file size (in kilobytes). When passed, multiple files are created. |
| 104 | # If set to negative, a single log file will be created. |
| 105 | ##################################################################### |
| 106 | [log] |
Andre Puschmann | 82ced3f | 2020-06-18 14:52:39 +0200 | [diff] [blame] | 107 | all_level = ${ue.log_all_level} |
Pau Espin Pedrol | c8b0f93 | 2020-02-11 17:45:26 +0100 | [diff] [blame] | 108 | phy_lib_level = none |
| 109 | all_hex_limit = 32 |
Pau Espin Pedrol | 0e6ab42 | 2020-04-16 15:40:22 +0200 | [diff] [blame] | 110 | filename = ${ue.log_filename} |
Pau Espin Pedrol | c8b0f93 | 2020-02-11 17:45:26 +0100 | [diff] [blame] | 111 | file_max_size = -1 |
Andre Puschmann | c487f74 | 2021-02-23 11:47:53 +0100 | [diff] [blame] | 112 | nas_level = ${ue.log_nas_level} |
Pau Espin Pedrol | c8b0f93 | 2020-02-11 17:45:26 +0100 | [diff] [blame] | 113 | |
| 114 | ##################################################################### |
| 115 | # USIM configuration |
| 116 | # |
| 117 | # mode: USIM mode (soft/pcsc) |
| 118 | # algo: Authentication algorithm (xor/milenage) |
| 119 | # op/opc: 128-bit Operator Variant Algorithm Configuration Field (hex) |
| 120 | # - Specify either op or opc (only used in milenage) |
| 121 | # k: 128-bit subscriber key (hex) |
| 122 | # imsi: 15 digit International Mobile Subscriber Identity |
| 123 | # imei: 15 digit International Mobile Station Equipment Identity |
| 124 | # pin: PIN in case real SIM card is used |
| 125 | # reader: Specify card reader by it's name as listed by 'pcsc_scan'. If empty, try all available readers. |
| 126 | ##################################################################### |
| 127 | [usim] |
| 128 | mode = soft |
| 129 | algo = ${ue.auth_algo} |
Pau Espin Pedrol | 0f7f265 | 2020-07-13 12:01:10 +0200 | [diff] [blame] | 130 | % if ue.opc is not None: |
| 131 | opc = ${ue.opc} |
| 132 | % endif |
Pau Espin Pedrol | c8b0f93 | 2020-02-11 17:45:26 +0100 | [diff] [blame] | 133 | k = ${ue.ki} |
| 134 | imsi = ${ue.imsi} |
| 135 | imei = 353490069873319 |
| 136 | #reader = |
| 137 | #pin = 1234 |
| 138 | |
| 139 | ##################################################################### |
| 140 | # RRC configuration |
| 141 | # |
| 142 | # ue_category: Sets UE category (range 1-5). Default: 4 |
| 143 | # release: UE Release (8 to 10) |
| 144 | # feature_group: Hex value of the featureGroupIndicators field in the |
| 145 | # UECapabilityInformation message. Default 0xe6041000 |
| 146 | # mbms_service_id: MBMS service id for autostarting MBMS reception |
| 147 | # (default -1 means disabled) |
| 148 | # mbms_service_port: Port of the MBMS service |
| 149 | ##################################################################### |
| 150 | [rrc] |
Andre Puschmann | 507c60c | 2020-12-10 21:11:02 +0100 | [diff] [blame] | 151 | % if "dl_qam256" in ue.features or "ul_qam64" in ue.features: |
Andre Puschmann | 3166b63 | 2020-11-16 12:39:43 +0100 | [diff] [blame] | 152 | ue_category = 8 |
Nils Fürste | 1e736ea | 2020-11-07 13:51:54 +0100 | [diff] [blame] | 153 | release = 13 |
| 154 | ue_category_dl = 14 |
Andre Puschmann | 3166b63 | 2020-11-16 12:39:43 +0100 | [diff] [blame] | 155 | ue_category_ul = 5 |
Andre Puschmann | 507c60c | 2020-12-10 21:11:02 +0100 | [diff] [blame] | 156 | % elif int(ue.num_carriers) > 1: |
| 157 | ue_category = 7 |
| 158 | release = 10 |
Andre Puschmann | d61613a | 2020-03-24 12:05:05 +0100 | [diff] [blame] | 159 | % else: |
Pau Espin Pedrol | c8b0f93 | 2020-02-11 17:45:26 +0100 | [diff] [blame] | 160 | #ue_category = 4 |
| 161 | #release = 8 |
Andre Puschmann | d61613a | 2020-03-24 12:05:05 +0100 | [diff] [blame] | 162 | % endif |
Pau Espin Pedrol | c8b0f93 | 2020-02-11 17:45:26 +0100 | [diff] [blame] | 163 | #feature_group = 0xe6041000 |
| 164 | #mbms_service_id = -1 |
| 165 | #mbms_service_port = 4321 |
| 166 | |
| 167 | ##################################################################### |
| 168 | # NAS configuration |
| 169 | # |
| 170 | # apn: Set Access Point Name (APN) |
| 171 | # apn_protocol: Set APN protocol (IPv4, IPv6 or IPv4v6.) |
| 172 | # user: Username for CHAP authentication |
| 173 | # pass: Password for CHAP authentication |
| 174 | # force_imsi_attach: Whether to always perform an IMSI attach |
| 175 | # eia: List of integrity algorithms included in UE capabilities |
| 176 | # Supported: 1 - Snow3G, 2 - AES |
| 177 | # eea: List of ciphering algorithms included in UE capabilities |
| 178 | # Supported: 0 - NULL, 1 - Snow3G, 2 - AES |
| 179 | ##################################################################### |
| 180 | [nas] |
| 181 | #apn = internetinternet |
| 182 | #apn_protocol = ipv4 |
| 183 | #user = srsuser |
| 184 | #pass = srspass |
| 185 | #force_imsi_attach = false |
| 186 | #eia = 1,2 |
| 187 | #eea = 0,1,2 |
| 188 | |
| 189 | ##################################################################### |
| 190 | # GW configuration |
| 191 | # |
| 192 | # netns: Network namespace to create TUN device. Default: empty |
| 193 | # ip_devname: Name of the tun_srsue device. Default: tun_srsue |
| 194 | # ip_netmask: Netmask of the tun_srsue device. Default: 255.255.255.0 |
| 195 | ##################################################################### |
| 196 | [gw] |
| 197 | #netns = |
| 198 | #ip_devname = tun_srsue |
| 199 | #ip_netmask = 255.255.255.0 |
| 200 | |
| 201 | ##################################################################### |
| 202 | # GUI configuration |
| 203 | # |
| 204 | # Simple GUI displaying PDSCH constellation and channel freq response. |
| 205 | # (Requires building with srsGUI) |
| 206 | # enable: Enable the graphical interface (true/false) |
| 207 | ##################################################################### |
| 208 | [gui] |
| 209 | enable = false |
| 210 | |
| 211 | ##################################################################### |
| 212 | # Channel emulator options: |
| 213 | # enable: Enable/Disable internal Downlink/Uplink channel emulator |
| 214 | # |
| 215 | # -- Fading emulator |
| 216 | # fading.enable: Enable/disable fading simulator |
| 217 | # fading.model: Fading model + maximum doppler (E.g. none, epa5, eva70, etu300, etc) |
| 218 | # |
| 219 | # -- Delay Emulator delay(t) = delay_min + (delay_max - delay_min) * (1 + sin(2pi*t/period)) / 2 |
| 220 | # Maximum speed [m/s]: (delay_max - delay_min) * pi * 300 / period |
| 221 | # delay.enable: Enable/disable delay simulator |
| 222 | # delay.period_s: Delay period in seconds. |
| 223 | # delay.init_time_s: Delay initial time in seconds. |
| 224 | # delay.maximum_us: Maximum delay in microseconds |
| 225 | # delay.minumum_us: Minimum delay in microseconds |
| 226 | # |
| 227 | # -- Radio-Link Failure (RLF) Emulator |
| 228 | # rlf.enable: Enable/disable RLF simulator |
| 229 | # rlf.t_on_ms: Time for On state of the channel (ms) |
| 230 | # rlf.t_off_ms: Time for Off state of the channel (ms) |
| 231 | # |
| 232 | # -- High Speed Train Doppler model simulator |
| 233 | # hst.enable: Enable/Disable HST simulator |
| 234 | # hst.period_s: HST simulation period in seconds |
| 235 | # hst.fd_hz: Doppler frequency in Hz |
| 236 | # hst.init_time_s: Initial time in seconds |
| 237 | ##################################################################### |
| 238 | [channel.dl] |
| 239 | #enable = false |
| 240 | |
| 241 | [channel.dl.fading] |
| 242 | #enable = false |
| 243 | #model = none |
| 244 | |
| 245 | [channel.dl.delay] |
| 246 | #enable = false |
| 247 | #period_s = 3600 |
| 248 | #init_time_s = 0 |
| 249 | #maximum_us = 100 |
| 250 | #minimum_us = 10 |
| 251 | |
| 252 | [channel.dl.rlf] |
| 253 | #enable = false |
| 254 | #t_on_ms = 10000 |
| 255 | #t_off_ms = 2000 |
| 256 | |
| 257 | [channel.dl.hst] |
| 258 | #enable = false |
| 259 | #period_s = 7.2 |
| 260 | #fd_hz = 750.0 |
| 261 | #init_time_s = 0.0 |
| 262 | |
| 263 | [channel.ul] |
| 264 | #enable = false |
| 265 | |
| 266 | [channel.ul.fading] |
| 267 | #enable = false |
| 268 | #model = none |
| 269 | |
| 270 | [channel.ul.delay] |
| 271 | #enable = false |
| 272 | #period_s = 3600 |
| 273 | #init_time_s = 0 |
| 274 | #maximum_us = 100 |
| 275 | #minimum_us = 10 |
| 276 | |
| 277 | [channel.ul.rlf] |
| 278 | #enable = false |
| 279 | #t_on_ms = 10000 |
| 280 | #t_off_ms = 2000 |
| 281 | |
| 282 | [channel.ul.hst] |
| 283 | #enable = false |
| 284 | #period_s = 7.2 |
| 285 | #fd_hz = -750.0 |
| 286 | #init_time_s = 0.0 |
| 287 | |
| 288 | ##################################################################### |
| 289 | # PHY configuration options |
| 290 | # |
| 291 | # rx_gain_offset: RX Gain offset to add to rx_gain to calibrate RSRP readings |
| 292 | # prach_gain: PRACH gain (dB). If defined, forces a gain for the tranmsission of PRACH only., |
| 293 | # Default is to use tx_gain in [rf] section. |
| 294 | # cqi_max: Upper bound on the maximum CQI to be reported. Default 15. |
| 295 | # cqi_fixed: Fixes the reported CQI to a constant value. Default disabled. |
| 296 | # snr_ema_coeff: Sets the SNR exponential moving average coefficient (Default 0.1) |
| 297 | # snr_estim_alg: Sets the noise estimation algorithm. (Default refs) |
| 298 | # Options: pss: use difference between received and known pss signal, |
| 299 | # refs: use difference between noise references and noiseless (after filtering) |
| 300 | # empty: use empty subcarriers in the boarder of pss/sss signal |
| 301 | # pdsch_max_its: Maximum number of turbo decoder iterations (Default 4) |
Andre Puschmann | a7b21a8 | 2020-07-21 12:01:01 +0200 | [diff] [blame] | 302 | # nof_phy_threads: Selects the number of PHY threads (maximum 4, minimum 1, default 3) |
Pau Espin Pedrol | c8b0f93 | 2020-02-11 17:45:26 +0100 | [diff] [blame] | 303 | # equalizer_mode: Selects equalizer mode. Valid modes are: "mmse", "zf" or any |
| 304 | # non-negative real number to indicate a regularized zf coefficient. |
| 305 | # Default is MMSE. |
| 306 | # sfo_ema: EMA coefficient to average sample offsets used to compute SFO |
| 307 | # sfo_correct_period: Period in ms to correct sample time to adjust for SFO |
| 308 | # sss_algorithm: Selects the SSS estimation algorithm. Can choose between |
| 309 | # {full, partial, diff}. |
| 310 | # estimator_fil_auto: The channel estimator smooths the channel estimate with an adaptative filter. |
| 311 | # estimator_fil_stddev: Sets the channel estimator smooth gaussian filter standard deviation. |
| 312 | # estimator_fil_order: Sets the channel estimator smooth gaussian filter order (even values perform better). |
| 313 | # The taps are [w, 1-2w, w] |
| 314 | # |
| 315 | # snr_to_cqi_offset: Sets an offset in the SNR to CQI table. This is used to adjust the reported CQI. |
| 316 | # |
| 317 | # pregenerate_signals: Pregenerate uplink signals after attach. Improves CPU performance. |
| 318 | # |
| 319 | # interpolate_subframe_enabled: Interpolates in the time domain the channel estimates within 1 subframe. Default is to average. |
| 320 | # |
| 321 | # sic_pss_enabled: Applies Successive Interference Cancellation to PSS signals when searching for neighbour cells. |
| 322 | # Must be disabled if cells have identical channel and timing, for instance if generated from |
| 323 | # the same source. |
| 324 | # |
| 325 | # pdsch_csi_enabled: Stores the Channel State Information and uses it for weightening the softbits. It is only |
| 326 | # used in TM1. It is True by default. |
| 327 | # |
| 328 | # pdsch_8bit_decoder: Use 8-bit for LLR representation and turbo decoder trellis computation (Experimental) |
| 329 | # force_ul_amplitude: Forces the peak amplitude in the PUCCH, PUSCH and SRS (set 0.0 to 1.0, set to 0 or negative for disabling) |
| 330 | # |
| 331 | ##################################################################### |
| 332 | [phy] |
| 333 | #rx_gain_offset = 62 |
| 334 | #prach_gain = 30 |
| 335 | #cqi_max = 15 |
| 336 | #cqi_fixed = 10 |
| 337 | #snr_ema_coeff = 0.1 |
| 338 | #snr_estim_alg = refs |
| 339 | #pdsch_max_its = 8 # These are half iterations |
Andre Puschmann | 7aa14e4 | 2021-01-25 10:44:17 +0100 | [diff] [blame] | 340 | % if ue.rf_dev_type == 'zmq': |
| 341 | nof_phy_threads = 2 |
| 342 | % endif |
Pau Espin Pedrol | c8b0f93 | 2020-02-11 17:45:26 +0100 | [diff] [blame] | 343 | #equalizer_mode = mmse |
| 344 | #sfo_ema = 0.1 |
| 345 | #sfo_correct_period = 10 |
| 346 | #sss_algorithm = full |
| 347 | #estimator_fil_auto = false |
| 348 | #estimator_fil_stddev = 1.0 |
| 349 | #estimator_fil_order = 4 |
| 350 | #snr_to_cqi_offset = 0.0 |
| 351 | #interpolate_subframe_enabled = false |
| 352 | #sic_pss_enabled = true |
| 353 | #pregenerate_signals = false |
| 354 | #pdsch_csi_enabled = true |
| 355 | #pdsch_8bit_decoder = false |
| 356 | #force_ul_amplitude = 0 |
| 357 | |
| 358 | ##################################################################### |
Andre Puschmann | 35234f2 | 2020-03-23 18:52:41 +0100 | [diff] [blame] | 359 | # Simulation configuration options |
| 360 | # |
| 361 | # The UE simulation supports turning on and off airplane mode in the UE. |
| 362 | # The actions are carried periodically until the UE is stopped. |
| 363 | # |
| 364 | # airplane_t_on_ms: Time to leave airplane mode turned on (in ms) |
| 365 | # |
| 366 | # airplane_t_off_ms: Time to leave airplane mode turned off (in ms) |
| 367 | # |
| 368 | ##################################################################### |
| 369 | [sim] |
| 370 | airplane_t_on_ms = ${ue.airplane_t_on_ms} |
| 371 | airplane_t_off_ms = ${ue.airplane_t_off_ms} |
| 372 | |
| 373 | ##################################################################### |
Pau Espin Pedrol | c8b0f93 | 2020-02-11 17:45:26 +0100 | [diff] [blame] | 374 | # General configuration options |
| 375 | # |
| 376 | # metrics_csv_enable: Write UE metrics to CSV file. |
| 377 | # |
| 378 | # metrics_period_secs: Sets the period at which metrics are requested from the UE. |
| 379 | # |
| 380 | # metrics_csv_filename: File path to use for CSV metrics. |
| 381 | # |
| 382 | ##################################################################### |
| 383 | [general] |
Pau Espin Pedrol | a031995 | 2020-03-02 11:06:51 +0100 | [diff] [blame] | 384 | metrics_csv_enable = true |
Pau Espin Pedrol | c8b0f93 | 2020-02-11 17:45:26 +0100 | [diff] [blame] | 385 | #metrics_period_secs = 1 |
Pau Espin Pedrol | 0e6ab42 | 2020-04-16 15:40:22 +0200 | [diff] [blame] | 386 | metrics_csv_filename = ${ue.metrics_filename} |
Andre Puschmann | 1d1c0bf | 2020-12-16 12:17:15 +0100 | [diff] [blame] | 387 | |
| 388 | % if ue.rf_dev_type == 'zmq': |
| 389 | [stack] |
| 390 | have_tti_time_stats = false |
| 391 | % endif |