Difference between revisions of "DVB-S/S2/S2X"
Jump to navigation
Jump to search
Line 1: | Line 1: | ||
− | == DAB/DAB+ | + | == DAB/DAB+ == |
− | + | DAB/DAB+ channels can be found on satellite 7.0 east. | |
− | |||
<pre> | <pre> | ||
− | /opt/bin/mediaclient -m DVBS2 -f 12572000 -S 10215000 -V V -E 3/4 - | + | Frequency:12572 MHz |
− | /opt/bin/mediaclient --cat /dev/dvb/adapter0/dvr0 | ./fedi2eti 101 239.16.242.17 60017 | | + | Symbolrate: 10215000 |
+ | Modulation: DVB-S2/QPSK | ||
+ | Polarization: Vertical | ||
+ | </pre> | ||
+ | |||
+ | Locking on Transponder: | ||
+ | |||
+ | <pre> | ||
+ | /opt/bin/mediaclient -m DVBS2 -f 12572000 -M QPSK -S 10215000 -V V -E 3/4 | ||
+ | </pre> | ||
+ | |||
+ | === FileOutput === | ||
+ | |||
+ | capturing and replaying the stream: | ||
+ | |||
+ | /opt/bin/mediaclient --cat /dev/dvb/adapter0/dvr0 | ../eti-tools/fedi2eti 101 239.16.242.17 60017 | ./odr-dabmod -C doc/example.ini > test.iq | ||
+ | |||
+ | hackrf_transfer -t test.iq -f 180064000 -x 47 -a 1 -s 2048000 -b 1750000 | ||
+ | |||
+ | <pre> | ||
+ | example.ini (parts of it): | ||
+ | |||
+ | [output] | ||
+ | ; choose output: possible values: uhd, file, zmq, soapysdr | ||
+ | output=file | ||
+ | [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=/dev/stdout | ||
+ | |||
+ | show_metadata=0 | ||
+ | </pre> | ||
+ | |||
+ | === Soapy Output === | ||
+ | |||
+ | <pre> | ||
+ | /opt/bin/mediaclient --cat /dev/dvb/adapter0/dvr0 | ../eti-tools/fedi2eti 101 239.16.242.17 60017 | ./odr-dabmod -C doc/example.ini | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | <pre> | ||
+ | [soapyoutput] | ||
+ | ; These options are given to the SoapySDR library: | ||
+ | device=driver=hackrf | ||
+ | ;master_clock_rate=32768000 | ||
+ | txgain=47 | ||
+ | frequency=180064000 | ||
+ | </pre> | ||
+ | |||
+ | ==== Soapy Config ==== | ||
+ | |||
+ | Full Sample configuration: | ||
+ | |||
+ | <pre> | ||
+ | ; 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 | ||
+ | ; 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 | ||
+ | |||
+ | [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:9100 | ||
+ | ; 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 | ||
+ | ; | ||
+ | ; 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 | ||
+ | |||
+ | |||
+ | [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 | ||
+ | |||
+ | ; 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, soapysdr | ||
+ | output=soapysdr | ||
+ | |||
+ | [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=/dev/stdout | ||
+ | |||
+ | 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=driver=hackrf | ||
+ | ;master_clock_rate=32768000 | ||
+ | txgain=61 | ||
+ | ; 47 | ||
+ | frequency=180064000 | ||
+ | ; channel=5D | ||
+ | ; 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 | ||
+ | |||
+ | ; 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 | ||
</pre> | </pre> | ||
− | + | === Further Links === | |
+ | |||
+ | * https://radioempfang.digital/dab-ueber-satellit | ||
+ | * https://github.com/piratfm/eti-tools |
Latest revision as of 14:14, 25 July 2019
DAB/DAB+
DAB/DAB+ channels can be found on satellite 7.0 east.
Frequency:12572 MHz Symbolrate: 10215000 Modulation: DVB-S2/QPSK Polarization: Vertical
Locking on Transponder:
/opt/bin/mediaclient -m DVBS2 -f 12572000 -M QPSK -S 10215000 -V V -E 3/4
FileOutput
capturing and replaying the stream:
/opt/bin/mediaclient --cat /dev/dvb/adapter0/dvr0 | ../eti-tools/fedi2eti 101 239.16.242.17 60017 | ./odr-dabmod -C doc/example.ini > test.iq
hackrf_transfer -t test.iq -f 180064000 -x 47 -a 1 -s 2048000 -b 1750000
example.ini (parts of it): [output] ; choose output: possible values: uhd, file, zmq, soapysdr output=file [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=/dev/stdout show_metadata=0
Soapy Output
/opt/bin/mediaclient --cat /dev/dvb/adapter0/dvr0 | ../eti-tools/fedi2eti 101 239.16.242.17 60017 | ./odr-dabmod -C doc/example.ini
[soapyoutput] ; These options are given to the SoapySDR library: device=driver=hackrf ;master_clock_rate=32768000 txgain=47 frequency=180064000
Soapy Config
Full Sample configuration:
; 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 ; 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 [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:9100 ; 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 ; ; 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 [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 ; 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, soapysdr output=soapysdr [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=/dev/stdout 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=driver=hackrf ;master_clock_rate=32768000 txgain=61 ; 47 frequency=180064000 ; channel=5D ; 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 ; 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