aboutsummaryrefslogtreecommitdiffstats
path: root/doc/example.ini
blob: 7fa0721488f0099d6e260a919b874efd4c62717d (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
; Sample configuration file for ODR-DabMod

[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

[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

[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

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

; When recieving data using ZeroMQ, the source is the URI to be used
;transport=zeromq
;source=tcp://localhost:8080
; The option max_frames_queued defines the maximum number of ETI frames
; (frame duration: 24ms) that can be in the input queue
;max_frames_queued=100

; EDI input.
; Listen for EDI data on a given UDP port, unicast or multicast.
;transport=edi
;
; 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 interafce (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


[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, take the mode from ETI
;mode=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
; Set to 0 to disable CicEqualiser
; when set to 400000000, an additional USRP2 check is enabled.
; See DabModulator.cpp line 186
;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, soapysdr
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.
;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

; 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.
; Valid only if the refclk and pps_source are set to gpsdo.
; This value is also used for the initial lock check, and must
; be at least a minute so that the GPSOD has enough time to lock
; and to start disciplining its oscillator.
; 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 informat io 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

; 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

; 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