aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2017-03-16 20:34:20 +0100
committerHarald Welte <laforge@gnumonks.org>2017-03-16 20:34:20 +0100
commitfcbb5b76921bb3cc27e1e0bd213407d548dbe3a9 (patch)
treed65ef400e11e0c9360982b20025267d332caf587
parent0ca867eda2ea17d0b4148806dc04ca774b8f185d (diff)
reformat README file as markdown
-rw-r--r--README.md (renamed from README)52
1 files changed, 31 insertions, 21 deletions
diff --git a/README b/README.md
index 30188a2..1b4b1ec 100644
--- a/README
+++ b/README.md
@@ -1,6 +1,7 @@
TETRA MAC/PHY layer experimentation code
+========================================
+
(C) 2010-2016 by Harald Welte <laforge@gnumonks.org> and contributors
-======================================================================
This code aims to implement the sending and receiving part of the
TETRA MAC/PHY layer.
@@ -15,17 +16,21 @@ with this program.
You will need libosmocore (http://bb.osmocom.org/trac/wiki/libosmocore) to link.
-== Demodulator ==
+Demodulator
+===========
src/demod/python/cpsk.py
- * contains a gnuradio based pi4/DQPSK demodulator, courtesy of KA1RBI
+ * contains a gnuradio based pi4/DQPSK demodulator, courtesy of KA1RBI
+
src/demod/python/osmosdr-tetra_demod_fft.py
- * call demodulator on any source supported by gr-osmosdr
- (uhd, fcd, hackrf, blaerf, etc.)
+ * call demodulator on any source supported by gr-osmosdr
+ (uhd, fcd, hackrf, blaerf, etc.)
+
src/demod/python/simdemod2.py
- * call demodulator on a 'cfile' containing complex baseband samples
+ * call demodulator on a 'cfile' containing complex baseband samples
+
src/demod/python/{uhd,fcdp}-tetra_demod.py
- * use demodulator directly with UHd or FCDP hadware (no gr-osmosdr)
+ * use demodulator directly with UHd or FCDP hadware (no gr-osmosdr)
The output of the demodulator is a file containing one float value for each symbol,
containing the phase shift (in units of pi/4) relative to the previous symbol.
@@ -34,37 +39,41 @@ You can use the "float_to_bits" program to convert the float values to unpacked
bits, i.e. 1-bit-per-byte
-== PHY/MAC layer ==
+PHY/MAC layer
+=============
-=== library code ===
+library code
+------------
Specifically, it implements:
lower_mac/crc_simple.[ch]
- * CRC16-CCITT (currently defunct/broken as we need it for
- non-octet-aligned bitfields)
+* CRC16-CCITT (currently defunct/broken as we need it for
+ non-octet-aligned bitfields)
lower_mac/tetra_conv_enc.[ch]
- * 16-state Rate-Compatible Punctured Convolutional (RCPC) coder
+* 16-state Rate-Compatible Punctured Convolutional (RCPC) coder
lower_mac/tetra_interleave.[ch]
- * Block interleaving (over a single block only)
+* Block interleaving (over a single block only)
lower_mac/tetra_rm3014.[ch]
- * (30, 14) Reed-Muller code for the ACCH (broadcast block of
- each downlink burst)
+* (30, 14) Reed-Muller code for the ACCH (broadcast block of
+ each downlink burst)
lower_mac/tetra_scramb.[ch]
- * Scrambling
+* Scrambling
lower_mac/viterbi*.[ch]
- * Convolutional decoder for signalling and voice channels
+* Convolutional decoder for signalling and voice channels
phy/tetra_burst.[ch]
- * Routines to encode continuous normal and sync bursts
+* Routines to encode continuous normal and sync bursts
phy/tetra_burst_sync.[ch]
-=== Receiver Program ===
+Receiver Program
+----------------
The main receiver program 'tetra-rx' expects an input file containing a
stream of unpacked bits, i.e. 1-bit-per-byte.
-=== Transmitter Program ===
+Transmitter Program
+-------------------
The main program conv_enc_test.c generates a single continuous downlinc sync
burst (SB), contining:
@@ -77,7 +86,8 @@ Scrambling is set to 0 (no scrambling) for all elements of the burst.
It does not actually modulate and/or transmit yet.
-== Quick example ==
+Quick example
+=============
# assuming you have generated a file samples.cfile at a sample rate of
# 195.312kHz (100MHz/512 == USRP2 at decimation 512)