-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration File
Klaus Kuehnhammer edited this page Dec 12, 2023
·
7 revisions
Default location is /etc/5gm.conf
cell: {
number_of_prbs = 25;
mode: "mixed";
scs: 15.0;
cp = "extended";
pci = 42;
cfi: 3;
mcc: (9,0,1);
mnc: (5,6);
dl_earfcn: 68821;
// e_utra_band: 68;
// dl_freq = 557000000L;
pdcch_aggregation_level_16_r16: false;
semi_static_cfi_r16: false;
pbch_repetition_r16: false;
};
number_of_prbs: 25; |
Defines the channel bandwidth. Valid settings are 6 (1.4 MHz), 15 (3 Mhz), 25 (5 Mhz), 30 (6 Mhz), 35 (7 Mhz), 40 (8 MHz), 50 (10 Mhz), 75 (15 MHz), 100 (20 MHz) |
mode: "mixed"; |
Set to "dedicated" for MBMS dedicated cell mode, "mixed" for eMBMS mixed mode (useful for CRD/QRD) |
scs: 15.0; |
MBSFN subframe subcarrier spacing in kHz, can be 0.37, 1.25, 2.5, 7.5 or 15.0 |
cp: "extended"; |
CAS subframe CP length. Leave at "extended". |
pci: 42; |
Physical Cell Identifier. Can be 0 .. 503 |
cfi: 3; |
CAS subframe Control format indicator. Leave at 3. |
mcc: (9,0,1); |
Mobile Country Code. Leave at 9,0,1 for 5G Broadcast. |
mnc: (5,6); |
Mobile Network Code. Leave at 5,6 for 5G Broadcast. |
dl_earfcn: 68821; |
Optional EARFCN specifying the downlink frequency and band. If present, parameters e_utra_band and dl_freq are ignored. |
e_utra_band: 68; |
Number of the E-UTRA band. Ignored if dl_earfcn is present. |
dl_freq : 557000000L; |
Downlink frequency in Hz. Ignored if dl_earfcn is present. |
pdcch_aggregation_level_16_r16: false; |
3GPP Rel-16 extension: Use PDCCH aggregation level 16. |
semi_static_cfi_r16: false; |
3GPP Rel-16 extension: Set semi-static CFI in MIB. |
pbch_repetition_r16: false; |
3GPP Rel-16 extension: Enable PBCH repetition. |
input: {
mode: "static";
static: {
mbsfn_area: 0;
sais: (0);
signalling_mcs: 2;
pmchs: (
{
last_subframe: 767;
data_mcs: 9;
service_id: 0x000010;
ingress: {
tun_interface_name: "5gm_pmch_1";
};
}
);
};
};
mode: "static"; |
Input mode: "static" for stand-alone operation, "m2" for configuration through broadcast core |
static: { |
Parameters for static/stand-alone operation |
mbsfn_area: 0; |
MBSFN area ID |
sais: (0); |
List of MBMS service area IDs |
signalling_mcs: 2; |
MCS for MCCH and first MCH subframes |
pmchs: ( |
List of PMCHs to configure |
last_subframe: 767; |
Number of MBSFN subframe assigned to this PMCH |
data_mcs: 9; |
MCS for MCH subframes |
service_id: 0x000010; |
Service ID, together with MNC and MCC this gives the TMGI |
tun_interface_name: "5gm_pmch_1"; |
Name of the tunnel network interface created |
output: {
iq :
{
send_to: "bladerf";
bladerf:
{
gain: 66;
fixed_tx_ts_offset = 30;
device_string = "";
};
udp :
{
holdoff_time_when_unreachable = 2;
target :
{
ip = "239.1.1.22";
port = "31200";
};
leap_seconds = 18;
fixed_tx_ts_offset = 200;
};
file :
{
enabled = false;
format = "CF32";
file_name = "iq_samples.dat";
stop_after = 10240;
};
};
};
iq > send_to: "bladerf"; |
Target for generated I/Q data. "bladerf" to output to a Nuand BladeRF SDR, "udp" to send as UDP packets, also see UDP packet header format description |
bladerf: |
Configuration parameters for BladeRF output |
gain: 66; |
System gain (in dB) |
fixed_tx_ts_offset = 30; |
Fixed offset in ms added to the packet timestamp |
device_string = ""; |
Additional configuration passed to the BladeRF library when initialising the device |
udp : |
Configuration parameters for UDP output |
target : |
IP address and port to send packets to. Can be unicast or multicast |
leap_seconds = 18; |
Leap seconds added to UTC time to get GPS time |
fixed_tx_ts_offset = 200; |
Fixed offset in ms added to the packet timestamp |
file : |
Configuration parameters for file output |
enabled = false; |
true: create a file containg I/Q data, false: disabled |
format = "CF32"; |
Format of the samples in the created file. Supported values: "CF32" - 32bit complex floats, use for input to rt-mbms-modem / "SC16Q11" - 16 bit signed complex Q11 fixed point |
file_name = "iq_samples.dat"; |
Name of created file |
stop_after = 10240; |
Stop writing to the file after this many subframes. 10240 = one complete cycle of the radio frame number. |
api :
{
enabled = true;
listen_address = "0.0.0.0";
listen_port = 4000;
};
enabled = true; |
Enable the built-in API |
listen_address = "0.0.0.0"; |
Address of the interface to bind to. 0.0.0.0 for all interfaces. |
listen_port = 4000; |
Port to listen for connections on |
test_modes :
{
zero_frames :
{
enabled = false;
interval = 1;
};
};
zero_frames |
Params for testing zero'd subframes (N flag set, no data) |
interval = 1; |
Zero every N subframes |
All appliation modules can be configured with log levels "trace", "debug", "info", "warn", "err", "critical", "off".
cell: {
number_of_prbs = 25;
mode: "mixed";
scs: 15.0;
cp = "extended";
pci = 42;
cfi: 3;
mcc: (9,0,1);
mnc: (5,6);
dl_earfcn: 68821;
// e_utra_band: 68;
// dl_freq = 557000000L;
pdcch_aggregation_level_16_r16: false;
semi_static_cfi_r16: false;
pbch_repetition_r16: false;
};
input: {
mode: "static";
static: {
mbsfn_area: 0;
sais: (0);
signalling_mcs: 2;
pmchs: (
{
last_subframe: 767;
data_mcs: 9;
service_id: 0x000010;
ingress: {
tun_interface_name: "5gm_pmch_1";
};
}
);
};
};
output: {
iq :
{
send_to: "bladerf";
bladerf:
{
gain: 66;
fixed_tx_ts_offset = 30;
device_string = "";
};
udp :
{
holdoff_time_when_unreachable = 2;
target :
{
ip = "239.1.1.22";
port = "31200";
};
leap_seconds = 18;
fixed_tx_ts_offset = 200;
};
file :
{
enabled = false;
format = "CF32";
file_name = "iq_samples.dat";
stop_after = 10240;
};
};
};
api :
{
enabled = true;
listen_address = "0.0.0.0";
listen_port = 4000;
};
test_modes :
{
zero_frames :
{
enabled = false;
interval = 1;
};
};
log_levels :
{
main = "info";
iqsender = "info";
subframe = "info";
system-information = "info";
mtch = "info";
bch = "info";
dl-sch = "info";
mch = "info";
signals = "info";
pbch = "info";
pdcch = "info";
pcfich = "info";
pdsch = "info";
pmch = "info";
m1 = "info";
m2 = "info";
tun = "info";
api = "info";
};