sdrangel/plugins/samplesink/fileoutput
Daniele Forsi cf0e129165 Fix memleaks of QNetworkAccessManager()
Frees memory allocated
in AudioOutputPlugin::createSampleSinkPluginInstance(QString const&, DeviceAPI*) /home//sdrangel/plugins/samplesink/audiooutput/audiooutputplugin.cpp:136
in ChirpChatDemod::ChirpChatDemod(DeviceAPI*) /home/sdrangel/plugins/channelrx/demodchirpchat/chirpchatdemod.cpp:84
in FileOutput::FileOutput(DeviceAPI*) /home/sdrangel/plugins/samplesink/fileoutput/fileoutput.cpp:54
in RadioAstronomyGUI::RadioAstronomyGUI(PluginAPI*, DeviceUISet*, BasebandSampleSink*, QWidget*) /home/sdrangel/plugins/channelrx/radioastronomy/radioastronomygui.cpp:2061
in SatelliteSelectionDialog::SatelliteSelectionDialog(SatelliteTrackerSettings*, QHash<QString, SatNogsSatellite*> const&, QWidget*) /home/sdrangel/plugins/feature/satellitetracker/satelliteselectiondialog.cpp:42:24
in SatelliteTracker::SatelliteTracker(WebAPIAdapterInterface*) /home/sdrangel/plugins/feature/satellitetracker/satellitetracker.cpp:61:24
2024-05-28 19:24:02 +02:00
..
CMakeLists.txt Update CMakeLists.txt to support both Qt5 and Qt6. Add option ENABLE_QT6 2022-11-17 14:34:54 +00:00
fileoutput.cpp Fix memleaks of QNetworkAccessManager() 2024-05-28 19:24:02 +02:00
fileoutput.h Rewriting of copyright notices for plugins/samplesink. Part of #1893 2023-11-18 09:58:55 +01:00
fileoutputgui.cpp Remove unused includes and use more direct includes 2024-04-11 23:31:34 +02:00
fileoutputgui.h Rewriting of copyright notices for plugins/samplesink. Part of #1893 2023-11-18 09:58:55 +01:00
fileoutputgui.ui Massive UI revamping (v7): fixed devices .ui files to correct display wwhen creating device. Part of #1209 2022-04-27 02:06:17 +02:00
fileoutputplugin.cpp Updated versions and changelogs 2024-04-14 11:41:00 +02:00
fileoutputplugin.h Rewriting of copyright notices for plugins/samplesink. Part of #1893 2023-11-18 09:58:55 +01:00
fileoutputsettings.cpp Rewriting of copyright notices for plugins/samplesink. Part of #1893 2023-11-18 09:58:55 +01:00
fileoutputsettings.h Rewriting of copyright notices for plugins/samplesink. Part of #1893 2023-11-18 09:58:55 +01:00
fileoutputwebapiadapter.cpp Rewriting of copyright notices for plugins/samplesink. Part of #1893 2023-11-18 09:58:55 +01:00
fileoutputwebapiadapter.h Rewriting of copyright notices for plugins/samplesink. Part of #1893 2023-11-18 09:58:55 +01:00
fileoutputworker.cpp Rewriting of copyright notices for plugins/samplesink. Part of #1893 2023-11-18 09:58:55 +01:00
fileoutputworker.h Remove unused includes and use more direct includes 2024-04-20 19:10:18 +02:00
readme.md samplesink/fileoutput/readme.md: use ASCII dashes in sox command line 2024-04-26 08:14:13 +02:00

readme.md

File output plugin

Introduction

This sample sink plugin sends its samples to file in the SDRangel .sdriq format.

The format is S16LE or S32LE I/Q samples. Thus there are 4 or 8 bytes per sample. Depending on sample size I and Q values are 16 bit signed integers for 16 bit sample size or 32 bit signed integers for 24 bit sample size. 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 32 bytes thus 8 32-bit 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 8 "random" samples. For example in GNURadio you can simply specify your file source format as short complex.

You can also zap the 32 bytes header with this Linux command: tail -c +33 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.

Build

The plugin is always built.

Interface

The top and bottom bars of the device window are described here

File output plugin GUI

1: Start/Stop

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 occurred

2: File stream sample rate

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).

3: Frequency

This is the center frequency in kHz that will be put in the file header.

4: Output file selection

Use this file dialog to specify the output file.

5: File name

This is the file path of the output file.

6: Interpolation factor

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.

7: Baseband sample rate

This is the baseband sample rate before interpolation in S/s.

Use the wheels to adjust the sample rate. Left click on a digit sets the cursor position at this digit. Right click on a digit sets all digits on the right to zero. This effectively floors value at the digit position. Wheels are moved with the mousewheel while pointing at the wheel or by selecting the wheel with the left mouse click and using the keyboard arrows. Pressing shift simultaneously moves digit by 5 and pressing control moves it by 2.

8: Time counter

This is the recording time count in HH:MM:SS.SSS