aboutsummaryrefslogtreecommitdiffstats
path: root/doc/example.ini
blob: 0d0f8e3f841ca56a3dec2b669f98e48c5aa4f48a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
; Sample configuration file for ODR-DabMod

[general]
; Before starting up, run this command, and abort if it doesn't return 0.
; This is useful to ensure that NTP has properly synchronised time.
startupcheck=
;startupcheck=chronyc waitsync 10 0.01
;startupcheck=ntp-wait -fv

[remotecontrol]
; The RC feature is described in detail in doc/README-RC.md

; enable the telnet remote control on localhost:2121
telnet=1
telnetport=2121

; Enable zmq remote control.
zmqctrl=1
zmqctrlendpoint=tcp://127.0.0.1:9400
; accepted formats according to man zmq_bind, i.e.
; tcp://<interface>:<port>, e.g. tcp://lo:9400
; and tcp://<ipaddress>:<port>

[log]
; Write to a logfile or to syslog.
; Setting filename to stderr is not necessary, as all messages are
; automatically written to stderr.
syslog=0
filelog=0
filename=odr-dabmod.log

; If you don't want to see the flowgraph processing time, set:
;show_process_time=0

[input]
; A file or fifo input is using transport=file
transport=file
source=/dev/stdin

; When the end of file is reached, it is possible to rewind it
loop=0

; EDI input.
; Listen for EDI data on a given UDP port, unicast or multicast.
;transport=edi
;
; EDI over TCP:
;
; Connect to TCP server on a given host
;source=tcp://localhost:9201
;
; EDI over UDP:
;
; Supported syntax for the source setting:
;  Bind to default interface and receive data from port 12000
;source=udp://:12000
;
;  Bind to interface with IP:192.168.1.22 and receive data from port 12000
;source=udp://192.168.1.22:12000
;
;  Bind to interface with IP:192.168.1.22 and join multicast group:
;  239.100.101.22 and receive data from port 12000
;source=udp://192.168.1.22@239.100.101.22:12000
;
;  Bind to default interface (which routes to multicast) and join multicast
;  group: 239.100.101.22 and receive data from port 12000
;source=udp://@239.100.101.22:12000
;
; Maximum delay in milliseconds that the EDI input is willing to wait
; before it timeouts
;edi_max_delay=240
; This EDI implementation does not support EDI Packet Resend


; ETI-over-TCP example:
;transport=tcp
;source=localhost:9200

[modulator]
;   Mode 'fix' uses a fixed factor and is really not recommended. It is more
; useful on an academic perspective for people trying to understand the DAB
; modulation.
;
;   Mode 'max' is the normalization of every OFDM symbol. No overshoot, no
; truncating, but varying output power (around 3dB) which might not be the best
; for some power amplifier. The output samples are limited to a magnitude
; of 32768.
;
;   Mode 'var' uses the method specified in ETSI 300 798 Clause 5.3. This method
; normalizes to 4 times the standard deviation for an approximation of the RMS
; power. So around 6/100000 samples will be truncated and will introduce some
; really minor distortion. But this mode also maximizes the output power. This
; is the gain mode recommended for real world operation as it is based on a DAB
; standard; the only difference is that ODR-DabMod internally calculates this with
; 32-bit floats instead of 8 bits.
gainmode=var
;
;   In mode var, you can choose to normalise the samples to something else than
; 4 times the standard deviation.
;normalise_variance=4

; Transmission mode
; If not defined, use Transmission Mode 1
;mode=1

fixed_point=1

; The digital gain is a value that is multiplied to each sample. It is used
; to tune the chain to make sure that no non-linearities appear up to the
; USRP daughterboard programmable gain amplifier (PGA).
; If there is clipping, the spectral quality of the signal will quickly deteriorate,
; and wide-band noise will be generated.
;
; Be aware that there is a dependency with resampling.
digital_gain=0.8

; Output sample rate. Values other than 2048000 enable
; resampling.
; Warning! digital_gain settings are different if resampling
; is enabled or not !
rate=2048000

; (DEPRECATED) CIC equaliser for USRP1 and USRP2
; These USRPs have an upsampler in FPGA that does not have a flat frequency
; response. The CIC equaliser compensates this. This setting is specific to
; the USRP1 and USRP2 devices.
; Set to 0 to disable CicEqualiser
;dac_clk_rate=0

; The USRP1 does not have flexible clocking, you will need
;rate=3200000
; and
;dac_clk_rate=128000000

; When nonzero, overlap ofdmwindowing samples from each OFDM symbol
; onto the previous and next symbol, using a raised cosine window function.
; This has the effect of smoothing the transition from one symbol to the next,
; which improves spectrum shape.
; In Transmission Mode I, every data symbol is composed of 2552 samples.
;ofdmwindowing=10

; Settings for crest factor reduction. Statistics for ratio of
; samples that were clipped are available through the RC.
[cfr]
enable=0

; At what amplitude the signal should be clipped
clip=50.0

; How much to clip the error signal used to compensate the effect
; of clipping
error_clip=0.1

[firfilter]
; The FIR Filter can be used to create a better spectral quality.
enabled=1

; The filter taps can be calculated with the python script
; doc/fir-filter/generate-filter.py
; If filtertapsfile is not given, the default taps are used.
;filtertapsfile=simple_taps.txt

[poly]
;Predistortion using memoryless polynom, see dpd/ folder for more info
enabled=0
polycoeffile=polyCoefs

[output]
; choose output: possible values: uhd, file, zmq, dexter, soapysdr, limesdr, bladerf
output=uhd

[fileoutput]
; Two output formats are supported: In the default mode,
; the file output writes I/Q float values (i.e. complex
; float) to the file. The I and Q samples can take values up
; to 810000 in absolute magnitude with gainmode FIX. With
; gainmode VAR and FIX, they should never exceed 50000.
;format=complexf
;
; The complexf_normalised format applies a compensation factor to the complexf
; output to bring the range of the I and Q components to [-1.0 .. 1.0]. The
; digital_gain is still applied on top of that normalisation.
;format=complexf_normalised
;
; When the format is set to s8, the output writes I/Q 8-bit
; signed integers, where the magnitude is multiplied by 128/50000
; effectively mapping the gainmode VAR range of -50000 -- 50000
; to -128 -- 128. For other gainmodes, use the digital_gain setting
; to make sure you don't create clipping.
;
; The format u8 is the same as s8, except that the values are mapped
; between 0 and 255. Use u8 for welle.io, qt-dab or other tools.
;
; Also supported is s16, with system endianness (little endian on x86_64 and ARM)
;format=s8

; The output file:
filename=ofdm.iq

show_metadata=0

[uhdoutput]
; The UHD output can be directly used with the Ettus USRP devices
;
; You have to set master_clock_rate to a multiple of the
; sample_rate. Ideally, it should be
;   master_clock_rate = 4 * sample_rate
; or even a higher factor.
;
; Settings for the B200:
device=
master_clock_rate=32768000
type=b200
txgain=40
; The B200 needs larger gains (up to 89dB) but,
; "Gain settings are application specific, but it is recommended that users
; consider using at least half of the available gain to get reasonable dynamic
; range."
;    From the B200 User Manual
;    http://files.ettus.com/uhd_docs/manual/html/usrp_b200.html
;
; More information and measurements available on:
; http://wiki.opendigitalradio.org/index.php/USRP_B200_Measurements

; You can set what TX and RX antennas to use. This will depend on the
; USRP model you are using.
;tx_antenna=
;rx_antenna=RX2


; Settings for a USRP B100:
;device=
; you can put additional UHD device settings here
;master_clock_rate=32768000
;type=b100
;txgain=2.0
; Try first with small gain values
; Also set rate to 2048000


; For the USRP1
;device=
;type=usrp1
; the usrp1 can have two daughterboards, the subdevice parameter allows you
; to choose which one to use
;subdevice=A:0
; The USRP1 doesn't support master_clock_rate, you need to enable resampling


; You must specify either frequency or channel, but not both.
;frequency=234208000
channel=13C

; Override automatic analog frontend bandwidth calculation. Units: Hz
;bandwidth=2000000

; Some USRP boards/frontends support setting an LO offset that has the
; effect of shifting DC out of the signal bandwidth. This should also
; improve IQ imbalance effects, because the mirror will centered on another
; frequency (it should be on frequency + 2*lo_offset)
;
; The value can be negative, and its absolute value must be smaller than
; master_clock_rate/2.
;lo_offset=2048000

; The reference clock to use. The gpsdo is the ODR LEA-M8F board, the
; official Ettus GPSDO is selected with gpsdo-ettus
; possible values : internal, external, MIMO, gpsdo, gpsdo-ettus
refclk_source=internal

; The reference one pulse-per second to use
; possible values : none, external, MIMO, gpsdo
pps_source=none

; Behaviour when external clock reference lock lost
; possible values: ignore, crash
behaviour_refclk_lock_lost=ignore

; The maximum accepted holdover time for the gpsdo once it
; started operating. Initial check interval for GPSDO lock
; at startup is always 180s.
; Valid only if the refclk and pps_source are set to gpsdo.
; Units: seconds
; Set to 0 to disable holdover check
; default value: 0
max_gps_holdover_time=600

; Enable the TCP server to communicate TX and RX feedback for
; digital predistortion.
; Set to 0 to disable
;dpd_port=50055

; section defining ZeroMQ output properties
[zmqoutput]

; on which port to listen for connections
; please see the Transports section in man zmq
; for more information regarding the syntax
listen=tcp://*:54001

; what ZMQ socket type to use. Valid values: PUB, REP
; Please see man zmq_socket for documentation
socket_type=pub

; section defining the SoapySDR output settings.
[soapyoutput]
; These options are given to the SoapySDR library:
device=
master_clock_rate=32768000
txgain=40
;frequency=234208000
channel=13C
;lo_offset=2048000

; Override automatic analog frontend bandwidth calculation. Units: Hz
;bandwidth=2000000

; You can set what TX antenna to use. This will depend on the
; SDR device you are using.
;tx_antenna=

; Enable the TCP server to communicate TX and RX feedback for
; digital predistortion.
; Set to 0 to disable
;dpd_port=50055

[dexteroutput]
; More details about the PrecisionWave DEXTER:
; https://github.com/PrecisionWave/DexterDABModulator
txgain=65535

; channel/frequency is applied to ad9957.center_frequency
;frequency=234208000
channel=13C

; lo offset is applied to dexter_dsp_tx.frequency0
lo_offset=0

max_gps_holdover_time=3600

[limeoutput]
; Lime output directly runs against the LMS device driver. It does not support SFN nor predistortion.
device=
;master_clock_rate=

; txgain range: 0 .. 100
txgain=20
tx_antenna=BAND1
;lo_offset=2048000
;frequency=234208000
channel=13C

; The LimeSDR contains a FIR filter in FPGA that can be used to filter the IQ signal.
; This is useful because it allows us to upsample in a very cheap way in software instead
; of using the FFT-based resampler.
upsample=1

; section defining the BladeRF output settings.
[bladerfoutput]
; bladerfoutput is currently under development
device=
; The reference clock to use.
; possible values : pps, 10mhz
; Others values than above lead to disable refclk_src
refclk_source=
;master_clock_rate, not configurable with bladeRF, fundamental clock runs at 38.4 MHz
; txgain range: -23.75 .. 66 [dB]
txgain = 20
;tx_antenna -> not available
channel = 13C
bandwidth = 1800000



; Used for running single-frequency networks
[delaymanagement]
; Enable handling of timestamps for SFN
synchronous=0

; Whether to mute the TX when incoming frames have no timestamp
mutenotimestamps=0

; This offset is added to the TIST, and the sum defines the
; TX time of the transmission frame. It can by changed at runtime
; through the remote control.
offset=0.002

; The way the timestamps are interpreted in ODR-DabMod up to v1.1.0 was not
; specified, and you should not assume that two different versions will
; transmit synchronously given the same settings. Always run SFNs with
; identical versions!
; Furthermore, when combining ODR-DabMod with third-party modulators, always
; measure!


[tii]
; If these options are set, TII transmission is enabled.
; DAB modes I and II are supported, and must be set explicitly in
; this file. Reading DAB mode from ETI is not supported.
enable=0
; comb is also known as sub-identifier.
comb=1
; pattern is also known as main-identifier. If you run several transmitters
; in SFN, it is better to use the same pattern for all, and vary the comb.
; Otherwise identification of the transmitters may be more difficult.
pattern=11
; There are two variants of TII being used. The old variant that uses the wrong
; phase on the second carrier in each carrier pairs and is therefore not
; conforming to the specification. Modern analysers can decode both variants,
; while others, like the Philips DAB752 and the VAD v2 monitor are known to
; decode only the old non-conforming variant.
old_variant=0