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

[remotecontrol]
; enable the telnet remote control on localhost:2121
; Since this is totally unsecure telnet, the software
; will only listen on the local loopback interface.
; To get secure remote access, use SSH port forwarding
telnet=1
telnetport=2121

; Enable zmq remote control.
; The zmq remote control is intended for machine-to-machine
; integration and requires that ODR-DabMod is built with zmq support.
; The zmq remote control may run in parallel with Telnet.
;
; Protocol:
; ODR-DabMod binds a zmq rep socket so clients must connect
; using either req or dealer socket.
; [] denotes message part as zmq multi-part message are used for delimitation.
; All message parts are utf-8 encoded strings and match the Telnet command set.
; Explicit codes are denoted with "".
; The following commands are supported:
; REQ: ["ping"]
; REP: ["ok"]
;
; REQ: ["list"]
; REP: ["ok"][module name][module name]...
;
; REQ: ["show"][module name]
; REP: ["ok"][parameter: value][parameter: value]...
;
; REQ: ["get"][module name][parameter]
; REP: [value] _OR_ ["fail"][error description]
;
; REQ: ["set"][module name][parameter][value]
; REP: ["ok"] _OR_ ["fail"][error description]
zmqctrl=0
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

; EDI input.
; Listen for EDI data on a given UDP port
;transport=edi
;source=udp://:12002
; Maximum delay in milliseconds that the EDI input is willing to wait
; before it timeouts
;edi_max_delay=240
; No support yet for multicast, should work with and without PFT
; This EDI implementation does not support EDI Packet Resend

; 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
; that can be in the input queue
;max_frames_queued=100

; 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, take the mode from ETI
;mode=2

; 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

; 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

; 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=70.0

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

[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
enabled=1
polycoeffile=polyCoefs
;eg:
;echo "8
;0.1
;0
;0
;0
;0
;0
;0
;0" > 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=/dev/stdout

[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 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 B200
; More information and measurements available on:
; http://wiki.opendigitalradio.org/index.php/USRP_B200_Measurements
;
; Settings:
;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


; 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 resamping


; 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. All these
; options are given to the SoapySDR library.
[soapyoutput]
device=
master_clock_rate=32768000
txgain=40
;frequency=234208000
channel=13C

; Used for SFN with the UHD output
[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 previous static vs dynamic offset distinction, and reading the
; modulatoroffset from a file has been removed.

[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=16
pattern=3
; 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