Documentation++

fastddc
ha7ilm 2016-01-12 23:19:35 +01:00
rodzic 95777e29af
commit fc19371a3e
1 zmienionych plików z 21 dodań i 1 usunięć

Wyświetl plik

@ -189,7 +189,7 @@ Internally, a sine and cosine wave is generated to perform this function, and th
shift_addition_cc <rate>
Operation is the same as with `shift_math_cc`.
Operation is the same as for `shift_math_cc`.
Internally, this function uses trigonometric addition formulas to generate sine and cosine, which is a bit faster. (About 4 times on the machine I have tested it on.)
@ -203,6 +203,20 @@ Operation is the same as with `shift_math_cc`.
Internally, this function uses a look-up table (LUT) to recall the values of the sine function (for the first quadrant).
The higher the table size is, the smaller the phase error is.
shift_addfast_cc <rate>
Operation is the same as for `shift_math_cc`.
Internally, this function uses a NEON-accelerated algorithm on capable systems, so it is advised to use this one on ARM boards.
shift_unroll_cc <rate>
Operation is the same as for `shift_math_cc`.
This uses a modified algoritm that first stores a vector of sine and cosine values for given phase differences.
The loop in this function unrolls quite well if compiled on a PC. It was the fastest one on an i7 CPU during the tests.
decimating_shift_addition_cc <rate> [decimation]
It shifts the input signal in the frequency domain, and also decimates it, without filtering. It will be useful as a part of the FFT channelizer implementation (to be done).
@ -347,6 +361,12 @@ The actual number of padding samples can be determined by running `cat csdr.c |
It exchanges the first and second part of the FFT vector, to prepare it for the waterfall/spectrum display. It should operate on the data output from `logpower_cf`.
setbuf <buffer_size>
If the environment variable `CSDR_DYNAMIC_BUFSIZE_ON` is set to 1, then you can use this command to set the input buffer size for the next `csdr` process in the chain.
#### Control via pipes
Some parameters can be changed while the `csdr` process is running. To achieve this, some `csdr` functions have special parameters. You have to supply a fifo previously created by the `mkfifo` command. Processing will only start after the first control command has been received by `csdr` over the FIFO.