diff options
author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2014-02-07 09:24:39 +0100 |
---|---|---|
committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2014-02-07 09:24:39 +0100 |
commit | 05bc267d10902357814a8493f18937f5cb51f8f6 (patch) | |
tree | cd045bb0a708d64a3161968a54d8d6cb46b6a43e | |
parent | dcf1a7527bf3ea977710eae30bd24d8c65c9d6c5 (diff) | |
download | mmbtools-aux-05bc267d10902357814a8493f18937f5cb51f8f6.tar.gz mmbtools-aux-05bc267d10902357814a8493f18937f5cb51f8f6.tar.bz2 mmbtools-aux-05bc267d10902357814a8493f18937f5cb51f8f6.zip |
some updates, removal of old scripts
-rw-r--r-- | README-SFN | 127 | ||||
-rw-r--r-- | cosin.mux | 3 | ||||
-rwxr-xr-x | moduhd-2048.sh | 3 | ||||
-rwxr-xr-x | moduhd-resample.sh | 3 | ||||
-rwxr-xr-x | mux-throttled-nofb.sh | 19 | ||||
-rwxr-xr-x | mux-throttled.sh | 19 | ||||
-rw-r--r-- | test.ini | 10 | ||||
-rw-r--r-- | zmq-simul.mux | 12 |
8 files changed, 15 insertions, 181 deletions
diff --git a/README-SFN b/README-SFN deleted file mode 100644 index de4ef7c..0000000 --- a/README-SFN +++ /dev/null @@ -1,127 +0,0 @@ -README for the SFN patch -======================== - -Concept -------- - -Each modulator receives ETI frames with absolute timestamps. These timestamps -are composed of two parts: -- The TIST field as defined in the ETI standard, giving an offset after the - pulse per second signal; -- A time information transmitted using the MNSC, representing the precise time - when the frame must be transmitted, with one-second resolution. - -When CRC-DABMUX is called with -s, the TIST is defined in each frame. The -Time is always encoded in the MNSC. - -In a SFN setup, it is not possible to rely on a modulator to slow down the -Ensemble multiplexer. CRC-DABMUX takes an additional parameter -r to output one -ETI frame every 24ms. This output parameter only adds a simul:// output. - -The ETI stream must then be made available to several transmission sites. For -this, the eti_tcp server can be used. -The eti_tcp server listens on the port specified on the command line. -An example invocation is: -./mux-throttled.sh -s -m 1 | ./eti_tcp/eti_tcp.py 54001 - -Each modulator then receives the ETI stream through a TCP connection. Each frame -contains the complete timestamp, to which an per-modulator offset is added. -The sum is then given to the USRP. The offset can be specified in two ways: - -using -o delay: -Adds a constant delay specified on the command line (see 1st example). - -using -O delayfile -Adds the delay specified in the given file. The file must contains a single -line containing a floating point number. This file is read each 50 frames, and -the modulator delay is updated. - -In both cases, the units are seconds. - -Example modulator invocation (for a B100 USRP supporting 2048Msps and with a -fixed delay of 2.3 seconds) -nc localhost 54001 | ./moduhd-2048.sh -o 2.3 - -Example modulator invocation (for an USRP requiring resampling and with a delay -specified in a separate file "moddelay") -nc localhost 54001 | ./moduhd-resample.sh -O moddelay -G 5 - -It is also possible to set daugherboard gain using -G. Furthermore, the transmission -frequency is set on the command line, as seen in the examples in moduhd-XXX.sh. - -CRC-DABMOD uses the UHD library to output modulated samples to the USRP device. -When started, it defines the USRP time using the local time and the PPS signal. -It is therefore important to synchronise computer time using NTPd. - -When a frame arrives with a timestamp that is in the past, the frame is dropped. -If the timestamp is too far in the future, the output module waits a short -delay. - -Synchonisation can be verified by using an oscilloscope and a receiver. It is -very easy to see if the null symbols align. - - -Hardware requirements ---------------------- - -The following hardware is required to test the SFN patch to the CRC mmbTools: -- Two USRPs ; -- One or two computers with the mmbTools installed ; -- A network connection between the two computers ; -- A 10MHz refclk source ; -- A 1PPS source synchronised to the 10MHz ; -- An oscilloscope to check synchronisation. - -The lab setup used in the experiments : -http://pic.mpb.li/IMAG0411.jpg - -In this example, one USRP B100 and one USRP2 are used. Modulation is done on two -different computers, but it also works with a single computer. In that case, the -device string for the -u option for CRC-DABMOD must specify the device. (e.g. --u "type=b100", -u "type=usrp2" or -u "serial=ABC123") - -The HP33120A generator at the bottom is used to generate the 10MHz REFCLK (sine, -2Vpp). It's sync output is used as 10MHz IN for the Agilent 33250A generator. -The Agilent is set to a square wave, 1Hz. Its sync output is then wired to the -PPS input of the USRPs. - -List of changes made --------------------- -To CRC-DABMUX: -- Throttled output option instanciates a simul output -- Set TIST and use MNSC to transmit time -- Command line arguments handling - -Files: -Modified Eti.h and DabMux.cpp - -To CRC-DABMOD: -- Added multithreaded UHD Output module -- Added normalisation for UHD (we must divide output samples by - 32768.0) -- Command line arguments handling -- Changed the flowgraph to be able to chose between outputs -- Added decoding of time in MNSC -- Added delay control for the modulator using -o and -O -- Initially set the timezone to UTC, because the MNSC is in UTC - -Files: -Added OutputUHDThreaded.{cpp,h}, TimestampDecoder.{cpp,h}; Modified DabMod.cpp, -DabModulator.h, Eti.h, EtiReader.{cpp,h}; Changed some .h files to include -<stdio.h> because of compilation issues; Corrected OutputMemory char* name(). - - -Future elements to be changed ------------------------------ -- Communicate delay and buffer information between multiplexer and modulators, - to have a better control about delays. -- Handle UHD asynchronous messages in another thread, and use this information - for monitoring - -Repository: -http://hg.mpb.li/mmbtools-sfn/ - -2012-07-11 -Matthias P. Braendli -matthias@mpb.li - @@ -6,8 +6,7 @@ general { nbframes 0 - ; Enable TCPLog on port 12222 - tcplog false + syslog false writescca false tist false } diff --git a/moduhd-2048.sh b/moduhd-2048.sh deleted file mode 100755 index 8144512..0000000 --- a/moduhd-2048.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -../crc-dabmod-0.3.3/src/crc-dabmod /dev/stdin -g2 $* -l -u "master_clock_rate=32768000,type=b100" -F 234208000 diff --git a/moduhd-resample.sh b/moduhd-resample.sh deleted file mode 100755 index e603064..0000000 --- a/moduhd-resample.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -../crc-dabmod-0.3.3/src/crc-dabmod /dev/stdin -g2 $* -l -r 4000000 -u "" -F 234208000 diff --git a/mux-throttled-nofb.sh b/mux-throttled-nofb.sh deleted file mode 100755 index c0a650a..0000000 --- a/mux-throttled-nofb.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -# run this with -s - -../crc-dabmux-0.3.0.4/src/CRC-DabMux -o -L "TuxMux" $* -r \ - -A funk.mp2 -b 128 -i 10 -S -L "Funk" -C \ - -A luschtig.mp2 -b 128 -i 3 -S -L "Luschtig" -C \ - -O fifo:///dev/stdout?type=raw - #-O fifo:///dev/stdout - - #-A 1.ff -b 128 -i 4 -S -L "Banane" -C \ -# -O udp://0.0.0.0:54000?type=raw - -#CRC-DabMux -L "TuxMux" \ -# -A 1.ff -b 128 -i 10 -S -L "L2_128" -C \ -# -F 2.ff -k -b 48 -i 2 -S -L "AAC48" -C \ -# -F 3.ff -k -b 64 -i 3 -S -L "AAC64" -C \ -# -F 4.ff -k -b 128 -i 4 -S -L "AAC128" -C \ -# -O fifo:///dev/stdout diff --git a/mux-throttled.sh b/mux-throttled.sh deleted file mode 100755 index 4eb8fef..0000000 --- a/mux-throttled.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -# Run this with -s - -../crc-dabmux-0.3.0.4/src/CRC-DabMux -o -L "TuxMux" -c 1249 -i 20479 $* -r \ - -A funk.mp2 -b 128 -i 10 -S -L "Funk" -C \ - -A luschtig.mp2 -b 128 -i 3 -S -L "Luschtig" -C \ - -A 1.ff -b 128 -i 0 -S -i 16386 -L "Banane" -C \ - -O fifo:///dev/stdout?type=raw - #-O fifo:///dev/stdout - -# -O udp://0.0.0.0:54000?type=raw - -#CRC-DabMux -L "TuxMux" \ -# -A 1.ff -b 128 -i 10 -S -L "L2_128" -C \ -# -F 2.ff -k -b 48 -i 2 -S -L "AAC48" -C \ -# -F 3.ff -k -b 64 -i 3 -S -L "AAC64" -C \ -# -F 4.ff -k -b 128 -i 4 -S -L "AAC128" -C \ -# -O fifo:///dev/stdout @@ -10,12 +10,12 @@ filelog=1 filename=/dev/stderr [input] -#transport=file -#source=/home/bram/pdm/mmbtools-sfn/scripts/eti/fb_framed.eti +transport=file +source=/home/bram/dab/mmbtools-aux/eti/funk.raw.eti #source=/dev/stdin -transport=zeromq -source=tcp://localhost:8080 +#transport=zeromq +#source=tcp://localhost:8080 loop=0 [modulator] @@ -40,7 +40,7 @@ filtertapsfile=filter/simplefiltertaps.txt [output] ; choose output: possible values: uhd, file -output=uhd +output=file [fileoutput] filename=/dev/null diff --git a/zmq-simul.mux b/zmq-simul.mux index 1e9fab1..6d485e0 100644 --- a/zmq-simul.mux +++ b/zmq-simul.mux @@ -5,13 +5,19 @@ general { ; the number of ETI frames to generate (set to 0 to get an unlimited number) nbframes 0 + ; The statsserver for extracting statistics + statsserverport 12720 - ; Enable TCPLog on port 12222 - tcplog false + syslog false writescca false tist false } +remotecontrol { + ; enable the remote control server + telnetport 12721 +} + ; Some ensemble parameters ensemble { id 20479 @@ -80,7 +86,7 @@ components { ; A list of outputs, in the format ; unique_id "uri" outputs { - foobar "fifo:///dev/stdout?type=raw" + ;foobar "fifo:///dev/stdout?type=raw" ;zmq "zmq+tcp://*:8080" ; This throttles muxing down to nominal rate |