Added documentation on BladeRF input and output plugins and File Sink plugin

pull/27/head
f4exb 2017-01-04 23:14:28 +01:00
rodzic a4f286835d
commit ed769006c2
6 zmienionych plików z 221 dodań i 0 usunięć

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 24 KiB

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 19 KiB

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 15 KiB

Wyświetl plik

@ -0,0 +1,69 @@
<h1>BladeRF output plugin</h1>
<h2>Introduction</h2>
This output sample sink plugin sends its samples to a [BladeRF device](https://www.nuand.com/).
<h2>Build</h2>
The plugin will be built only if the [BladeRF host library](https://github.com/Nuand/bladeRF) is installed in your system. If you build it from source and install it in a custom location say: `/opt/install/libbladeRF` you will have to add `-DLIBBLADERF_INCLUDE_DIR=/opt/install/libbladeRF/include -DLIBBLADERF_LIBRARIES=/opt/install/libbladeRF/lib/libbladeRF.so` to the cmake command line.
The BladeRF Host library is also provided by many Linux distributions and is built in the SDRangel binary releases.
<h2>Interface</h2>
![BladeRF output plugin GUI](../../../doc/img/BladeRFOutput_plugin.png)
<h3>1: Start/Stop</h3>
Device start / stop button.
- Blue triangle icon: device is ready and can be started
- Red square icon: device is running and can be stopped
- Magenta (or pink) square icon: an error occured
<h3>2: Baseband sample rate</h3>
This is the baseband stream sample rate in kS/s before interpolation (4) to produce the final stream that is sent to the BladeRF device. Thus this is the device sample rate (6) divided by the interpolation factor (4).
<h3>3: Frequency</h3>
This is the center frequency of transmission in kHz.
<h3>4: Interpolation factor</h3>
The baseband stream is interpolated by this value before being sent to the BladeRF device. Possible values are:
- **1**: no interpolation
- **2**: multiply sample rate by 2
Larger values introduce performance problems.
<h3>5: XB-200 add-on control</h3>
This controls the optional XB-200 add-on when it is fitted to the BladeRF main board. These controls have no effect if the XB-200 board is absent. Options are:
- **None**: XB-200 is ignored
- **Bypass**: XB-200 is passed through
- **Auto 1dB**: The 50, 144 and 220 MHz filters are switched on automatically according to the frequency of reception when it is within the -1 dB passband of the filters
- **Auto 3dB**: The 50, 144 and 220 MHz filters are switched on automatically according to the frequency of reception when it is within the -3 dB passband of the filters
- **Custom**: The signal is routed through a custom filter
- **50M**: The signal is routed through the 50 MHz filter
- **144M**: The signal is routed through the 144 MHz filter
- **222M**: The signal is routed through the 222 MHz filter
<h3>6: Device sample rate</h3>
This is the BladeRF device DAC sample rate in kS/s. Possible values are: 1536, 1600, 2000, 2304, 2400, 3072, 3200, 4608, 4800, 6144, 7680, 9216, 9600, 10752, 12288, 18432, 19200, 24576, 30720, 36864, 39936 kS/s.
<h3>7: Tx filter bandwidth</h3>
This is the Tx filter bandwidth in kHz in the LMS6002D device. Possible values are: 1500, 1750, 2500, 2750, 3000, 3840, 5000, 5500, 6000, 7000, 8750, 10000, 12000, 14000, 20000, 28000 kHz.
<h3>8: Variable gain amplifier #1 gain</h3>
The VGA1 (relative) gain can be adjusted from -35 dB to -4 dB in 1 dB steps. The VGA1 is inside the LM6002D chip and is placed between the baseband filter and the RF mixer.
<h3>10: Variable gain amplifier #2 gain</h3>
The VGA2 gain can be adjusted from 0 dB to 25 dB in 1 dB steps. The VGA2 is inside the LM6002D chip and is placed after the RF mixer. It can be considered as the PA (Power AMplifier). The maximum output power when both VGA1 and VGA2 are at their maximum is about 4 mW (6 dBm).

Wyświetl plik

@ -0,0 +1,57 @@
<h1>File sink plugin</h1>
<h2>Introduction</h2>
This output sample sink plugin sends its samples to file in the SDRangel .sdriq format.
The format is S16LE I/Q samples. Thus there are 4 bytes per sample. I and Q values are 16 bit signed integers. The file starts with a context header containing information about center frequency, sample rate and timestamp of the start of the recording. This header has a length which is a multiple of a sample size (normally 24 bytes thus 6 samples). Thus this file can be used as a raw I/Q file with S16LE samples tolerating a glitch at the start corresponding to the 6 "random" samples. For example in GNURadio you can simply specify your file source format as short complex.
You can also zap the 24 bytes header with this Linux command: `tail -c +25 myfile.sdriq > myfile.raw`
To convert in another format you may use the sox utility. For example to convert to 32 bit (float) complex samples do: `sox -r 48k b 16 e signed-integer -c 2 myfile.raw -e float -c 2 myfilec.raw`
Note that you have to specify the sampling rate and use .raw for the file extensions.
<h2>Build</h2>
The plugin is always built.
<h2>Interface</h2>
![File sink plugin GUI](../../../doc/img/FileSink_plugin.png)
<h3>1: Start/Stop</h3>
Device start / stop button.
- Blue triangle icon: device is ready and can be started
- Red square icon: device is running and can be stopped
- Magenta (or pink) square icon: an error occured
<h3>2: File stream sample rate</h3>
This is the file stream sample rate in kS/s after interpolation (4) from the baseband stream. Thus this is the sample rate (7) multiplied by the interpolation factor (6).
<h3>3: Frequency</h3>
This is the center frequency in kHz that will be put in the file header.
<h3>4: Output file selection</h3>
Use this file dialog to specify the output file.
<h3>5: File name</h3>
This is the file path of the output file.
<h3>6: Interpolation factor</h3>
The baseband stream is interpolated by this value before being written to file. It can vary in powers of two from 1 (no interpolation) to 64.
<h3>7: Baseband sample rate</h3>
This is the baseband sample rate before interpolation in kS/s. Possible values are: 32, 48, 64, 72, 128, 192, 256, 288, 300, 384, 512, 1000 kS/s.
<h3>8: Time counter</h3>
This is the recording time count in HH:MM:SS.SSS

Wyświetl plik

@ -0,0 +1,95 @@
<h1>BladeRF input plugin</h1>
<h2>Introduction</h2>
This input sample source plugin gets its samples from a [BladeRF device](https://www.nuand.com/).
<h2>Build</h2>
The plugin will be built only if the [BladeRF host library](https://github.com/Nuand/bladeRF) is installed in your system. If you build it from source and install it in a custom location say: `/opt/install/libbladeRF` you will have to add `-DLIBBLADERF_INCLUDE_DIR=/opt/install/libbladeRF/include -DLIBBLADERF_LIBRARIES=/opt/install/libbladeRF/lib/libbladeRF.so` to the cmake command line.
The BladeRF Host library is also provided by many Linux distributions and is built in the SDRangel binary releases.
<h2>Interface</h2>
![BladeRF input plugin GUI](../../../doc/img/BladeRFInput_plugin.png)
<h3>1: Common stream parameters</h3>
![SDR Daemon FEC stream GUI](../../../doc/img/SDRdaemonFEC_plugin_01.png)
<h4>1.1: Frequency</h4>
This is the center frequency of reception in kHz.
<h4>1.2: Start/Stop</h4>
Device start / stop button.
- Blue triangle icon: device is ready and can be started
- Green square icon: device is running and can be stopped
- Magenta (or pink) square icon: an error occured
<h4>1.3: Record</h4>
Record baseband I/Q stream toggle button
<h4>1.4: Stream sample rate</h4>
Baseband I/Q sample rate in kS/s. This is the device sample rate (4) divided by the decimation factor (6).
<h3>2: Auto correction options</h3>
These buttons control the local DSP auto correction options:
- **DC**: auto remove DC component
- **IQ**: auto make I/Q balance
<h3>3: XB-200 add-on control</h3>
This controls the optional XB-200 add-on when it is fitted to the BladeRF main board. These controls have no effect if the XB-200 board is absent. Options are:
- **None**: XB-200 is ignored
- **Bypass**: XB-200 is passed through
- **Auto 1dB**: The 50, 144 and 220 MHz filters are switched on automatically according to the frequency of reception when it is within the -1 dB passband of the filters
- **Auto 3dB**: The 50, 144 and 220 MHz filters are switched on automatically according to the frequency of reception when it is within the -3 dB passband of the filters
- **Custom**: The signal is routed through a custom filter
- **50M**: The signal is routed through the 50 MHz filter
- **144M**: The signal is routed through the 144 MHz filter
- **222M**: The signal is routed through the 222 MHz filter
<h3>4: Device sample rate</h3>
This is the BladeRF device ADC sample rate in kS/s. Possible values are: 1536, 1600, 2000, 2304, 2400, 3072, 3200, 4608, 4800, 6144, 7680, 9216, 9600, 10752, 12288, 18432, 19200, 24576, 30720, 36864, 39936 kS/s.
<h3>5: Rx filter bandwidth</h3>
This is the Rx filter bandwidth in kHz in the LMS6002D device. Possible values are: 1500, 1750, 2500, 2750, 3000, 3840, 5000, 5500, 6000, 7000, 8750, 10000, 12000, 14000, 20000, 28000 kHz.
<h3>6: Decimation factor</h3>
The I/Q stream from the BladeRF ADC is doensampled by a power of two before being sent to the passband. Possible values are increasing powers of two: 1 (no decimation), 2, 4, 8, 16, 32.
<h3>7: Baseband center frequency position relative the the BladeRF Rx center frequency</h3>
Possible values are:
- **Cen**: the decimation operation takes place around the BladeRF Rx center frequency
- **Inf**: the decimation operation takes place around the center of the lower half of the BladeRF Rx passband.
- **Sup**: the decimation operation takes place around the center of the upper half of the BladeRF Rx passband.
<h3>8: LNA gain</h2>
This is the LNA gain in dB. LNA is inside the LM6000D chip and is placed before the RF mixer. Possible values are:
- **0 dB**: no gain
- **3dB**
- **6dB**
<h3>9: Variable gain amplifier #1 gain</h3>
The VGA1 gain can be adjusted from 5 dB to 30 dB in 1 dB steps. The VGA1 is inside the LM6002D chip and is placed between the RF mixer and the baseband filter.
<h3>10: Variable gain amplifier #2 gain</h3>
The VGA2 gain can be adjusted from 0 dB to 30 dB in 3 dB steps. The VGA2 is inside the LM6002D chip and is placed between the baseband filter and the ADC.