Skip to content

Commit

Permalink
Added description for each flag.
Browse files Browse the repository at this point in the history
  • Loading branch information
bemasher committed Aug 30, 2014
1 parent 69d955c commit 16e4b4a
Showing 1 changed file with 94 additions and 0 deletions.
94 changes: 94 additions & 0 deletions help.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,96 @@
### RTLAMR Help
Detailed usage information for the various flags of RTLAMR.

- `logfile` writes log statements to the given file. Defaults to `/dev/stdout`.
- `samplefile` writes raw signal to the given file. Samples are interleaved 8-bit inphase and quadrature pairs. Fields Offset and Length are omitted in the plain log format if this option isn't used. Defaults to `/dev/null`.
- `cpuprofile` writes pprof profiling information to the given filename. Useful for determining bottlenecks and performance of the program. Defaults to blank and writes no profiling information.
- `duration` sets the amount of time to listen for before exiting. Defaults to 0 for infinite, [GoDoc: time.Duration](http://godoc.org/time#Duration)
- `fastmag` uses a faster magnitude calculation algorithm, sacrifices accuracy for speed. Defaults to false.
- `filterid` display and dump raw samples only for messages with a matching meter id. Defaults to 0 for no filtering.
- `filtertype` display and dump raw samples only for messages with a matching type. Defaults to 0 for no filtering.
- `format` format to write log messages in. Defaults to plain. Options: plain, csv, json, xml or gob
- `gobunsafe` allows gob output to stdout. Gob output is not stdout safe and will bork a terminal so user must specify `-gobunsafe` or specify a non-stdout file via `-logfile`. Defaults to false and warns user.
- `msgtype` specifies the message type to receive: scm or idm. Defaults to scm.
- `quiet` suppresses printing state information at startup. Defaults to false.
- `single` will listen until exactly one message is received that matches all of the given filters if any. Defaults to false.
- `symbollength` sets the symbol length in samples. Defaults to 73.

Sample rate is determined by this value as follows:

```
DataRate = 32768
SampleRate = SymbolLength * DataRate
```

Sample rates are limited by the dongle such that:

```
225 kHz < Sample Rate < 300 kHz
900 kHz < Sample Rate < 3.2 MHz
```

The symbol length also determines the size of sample blocks read and processed on each pass.

```
PreambleSymbols = 21 (for SCM) and 32 (for IDM)
BlockSize = 1 << uint(math.Ceil(math.Log2(float64(PreambleSymbols * SymbolLength))))
```

Valid symbol lengths are given below, block size calculated for SCM:

- Block Size: 512

Symbol Length | Sample Rate
------------- | -----------
7 | 229.376 kHz
8 | 262.144 kHz
9 | 294.912 kHz

- Block Size: 2048

Symbol Length | Sample Rate | Symbol Length | Sample Rate
------------- | ----------- | ------------- | -----------
28 | 917.504 kHz | 39 | 1.277952 MHz
29 | 950.272 kHz | 40 | 1.310720 MHz
30 | 983.040 kHz | 41 | 1.343488 MHz
31 | 1.015808 MHz | 42 | 1.376256 MHz
32 | 1.048576 MHz | 43 | 1.409024 MHz
33 | 1.081344 MHz | 44 | 1.441792 MHz
34 | 1.114112 MHz | 45 | 1.474560 MHz
35 | 1.146880 MHz | 46 | 1.507328 MHz
36 | 1.179648 MHz | 47 | 1.540096 MHz
37 | 1.212416 MHz | 48 | 1.572864 MHz
38 | 1.245184 MHz

- Block Size: 4096

Symbol Length | Sample Rate | Symbol Length | Sample Rate
------------- | ----------- | ------------- | -----------
49 | 1.605632 MHz | 74 | 2.424832 MHz
50 | 1.638400 MHz | 75 | 2.457600 MHz
51 | 1.671168 MHz | 76 | 2.490368 MHz
52 | 1.703936 MHz | 77 | 2.523136 MHz
53 | 1.736704 MHz | 78 | 2.555904 MHz
54 | 1.769472 MHz | 79 | 2.588672 MHz
55 | 1.802240 MHz | 80 | 2.621440 MHz
56 | 1.835008 MHz | 81 | 2.654208 MHz
57 | 1.867776 MHz | 82 | 2.686976 MHz
58 | 1.900544 MHz | 83 | 2.719744 MHz
59 | 1.933312 MHz | 84 | 2.752512 MHz
60 | 1.966080 MHz | 85 | 2.785280 MHz
61 | 1.998848 MHz | 86 | 2.818048 MHz
62 | 2.031616 MHz | 87 | 2.850816 MHz
63 | 2.064384 MHz | 88 | 2.883584 MHz
64 | 2.097152 MHz | 89 | 2.916352 MHz
65 | 2.129920 MHz | 90 | 2.949120 MHz
66 | 2.162688 MHz | 91 | 2.981888 MHz
67 | 2.195456 MHz | 92 | 3.014656 MHz
68 | 2.228224 MHz | 93 | 3.047424 MHz
69 | 2.260992 MHz | 94 | 3.080192 MHz
70 | 2.293760 MHz | 95 | 3.112960 MHz
71 | 2.326528 MHz | 96 | 3.145728 MHz
72 | 2.359296 MHz | 97 | 3.178496 MHz
73 | 2.392064 MHz
- `centerfreq` sets the center frequency to receive on. Defaults to 920299072.
- `samplerate` sets the sample rate. This will override the sample rate calculated by `-symbollength`.
- If any of the gain-related flags are specified rtlamr won't set any gain options of it's own. By default rtlamr enables `-tunergainmode`. Flags which disable this behavior: `-gainbyindex`, `-tunergainmode`, `-tunergain` and `-agcmode`.

0 comments on commit 16e4b4a

Please sign in to comment.