https://wiki.satnogs.org/api.php?action=feedcontributions&user=Knegge&feedformat=atomSatNOGS Wiki - User contributions [en]2024-03-29T05:30:52ZUser contributionsMediaWiki 1.32.0https://wiki.satnogs.org/index.php?title=Wiki/Replay_observations_from_audio&diff=3864Wiki/Replay observations from audio2022-10-26T18:25:47Z<p>Knegge: </p>
<hr />
<div>{{Message|This page is under construction.}}<br />
<br />
==Background==<br />
Running a SatNOGS station enables you to save the IQ files and look at the observation with other tools, these are not available for download from the usual [https://network.satnogs.org/observations/ Observations] page. Some do publish these on their own cloud storage or available by request. The possibility to get these are quite limited on the vast majority of the stations.<br />
<br />
The Audio files are usually quite narrow and the mode selected changes it's behavior, it can be hard to use it for signals wider/higher/lower than what the original mode has requested.<br />
<br />
One of the modes that has some opportunities is the BPSK flowgraph. Downloading one of these audio files will grant you a decent slice of the spectrum offset to 12kHz up (if baud was higher than 1200), this opens up for further processing, but how to do it ?<br />
<br />
==Converting back audio to IQ==<br />
<br />
Using our favorite SDR tools like [https://gqrx.dk/ gqrx], [https://www.sdrpp.org/ SDR++] etc will make it very easy to tune around and choose different modes, width etc, but they usually don't support this plain audio format.<br />
<br />
Two methods have been tested successfully, both convert the audio file to a format these programs can use. This example uses [https://www.gnuradio.org/ gnuradio]-3.10, but 3.9 should also work just fine, 3.8 doesn't have OGG file support so you will have to convert it to WAV first.<br />
<br />
Getting started in windows is usually a challenge for these tools so that is what this guide will address specifically, the package I used is [https://github.com/ryanvolz/radioconda/releases radioconda] and it includes gqrx and [https://gr-satellites.readthedocs.io/ gr-satellites] as well.<br />
<br />
<br />
Lets start with the flowgraph itself, available for download [https://github.com/kng/satnogs_gr-satellites/tree/main/utils here] as wav2iq_raw.grc.<br />
<br />
[[File:Wav2iq raw.png]]<br />
<br />
Open the Wav File Source and browse to the ogg/wav you want to convert, then open File Sink and select the destination raw (you can copy the string from the wav source and just change the extension to .raw). Then simply run the flowgraph with the play button or F6. It should only take a few seconds to complete as indicated by a >>> Done.<br />
<br />
In this example I'm going to use observation [https://network.satnogs.org/observations/6659851/ #6659851]. This has a audio file size of about 10MB and the resulting raw is almost 130MB, so one can understand why this is not uploaded to the network.<br />
<br />
==Opening RAW in gqrx==<br />
<br />
Opening this file in gqrx is perhaps a bit cumbersome, but the dialog that appears on start is the Configure I/O devices, in this you will fill in a string formatted in this way:<br />
<br>file=C:/exmple/satnogs_6659851_2022-10-26T04-12-41.raw,rate=24e3<br />
<br />
Note that the backslash is changed to forwardslash, and the rate at the end is the sample rate of the raw, in this case 24000 sps.<br />
<br />
[[File:Gqrx configure iodev.png]]<br />
<br />
After it's opened you can go ahead and select the mode and frequency etc.<br />
<br />
[[File:Gqrx funcube bpsk.png]]<br />
<br />
<br />
{{Message|WIP WIP WIP}}</div>Kneggehttps://wiki.satnogs.org/index.php?title=File:Gqrx_funcube_bpsk.png&diff=3863File:Gqrx funcube bpsk.png2022-10-26T18:13:40Z<p>Knegge: gqrx replay funcube raw</p>
<hr />
<div>== Summary ==<br />
gqrx replay funcube raw</div>Kneggehttps://wiki.satnogs.org/index.php?title=File:Gqrx_configure_iodev.png&diff=3862File:Gqrx configure iodev.png2022-10-26T17:33:35Z<p>Knegge: Dialog open device in gqrx</p>
<hr />
<div>== Summary ==<br />
Dialog open device in gqrx</div>Kneggehttps://wiki.satnogs.org/index.php?title=File:Wav2iq_raw.png&diff=3861File:Wav2iq raw.png2022-10-26T16:41:12Z<p>Knegge: gnuradio flowgraph converting wav to raw iq</p>
<hr />
<div>== Summary ==<br />
gnuradio flowgraph converting wav to raw iq</div>Kneggehttps://wiki.satnogs.org/index.php?title=Software_Defined_Radio&diff=3709Software Defined Radio2020-11-25T19:59:22Z<p>Knegge: </p>
<hr />
<div>==Introduction==<br />
<br />
Built upon [https://gnuradio.org/ GNU Radio] and [https://github.com/pothosware/SoapySDR/wiki SoapySDR] by using the [https://gitlab.com/librespacefoundation/gr-soapy gr-soapy] module SatNOGS supports a large variety of Software-Defined Radios (SDRs). The gr-soapy module was developed in the [https://sdrmaker.space/ SDR Makerspace] and is maintained by Libre Space Foundation to bring the vendor-neutral SDR support by SoapySDR to the flexible gnuradio ecosystem.<br />
<br />
The most cost-effective solution is to use an RTL-SDR with a Raspberry Pi. More advanced SDRs are also used, but they require more processing power and thus might require a more powerful computing platform than the Raspberry Pi.<br />
<br />
==Supported Devices==<br />
<br />
SoapySDR supports SDR devices through runtime-loadable modules [https://github.com/pothosware/SoapySDR/wiki#plugin-architecture]. You can find all available modules in the [https://github.com/pothosware/SoapySDR/wiki#modules SoapySDR wiki] (see right column). Most SDR modules are installed by default when setting up a SatNOGS station.<br />
<br />
The following SDRs are supported by SatNOGS. SatNOGS uses the RTL-SDR as the recommended beginner signal receiver and tuner. <br />
The more advanced SDRs may require more processing power than a Raspberry Pi 3b or 4 can offer. <br />
<br />
*[[Software Defined Radio#RTL-SDR Support|RTL-SDR]]<br />
**[https://www.nooelec.com/store/sdr/sdr-receivers.html NooElec NESDR SMArt]<br />
**[https://www.rtl-sdr.com/buy-rtl-sdr-dvb-t-dongles/ RTL-SDR Blog R820T2 RTL2832U]<br />
**Full band UV HF RTL-SDR USB Tuner Receiver<br />
<br />
*[[Software Defined Radio#USRP support|USRP devices]]<br />
**[https://www.ettus.com/product/category/USRP-Bus-Series USRP B200]<br />
<br />
*[[Software Defined Radio#Airspy support|Airspy]]<br />
*[[Software Defined Radio#LimeSDR support|LimeSuite devices]]<br />
**[https://limemicro.com/products/boards/limesdr-mini/ LimeSDR mini]<br />
*[[Software Defined Radio#PlutoSDR support|PlutoSDR]]<br />
**[https://www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/adalm-pluto.html#eb-overview ADALM-PLUTO] (untested)<br />
<br />
{{Message|There are probably a lot more devices supported since the transition from gr-osmosdr to gr-soapy. Please update this list when you were able to successfully run a SatNOGS station with a new radio family or model. You can also link your station as an example to give others the ability to compare performance.}}<br />
<br />
==Supported Devices with closed-source drivers==<br />
Unfortunately some vendors require closed-source drivers in their SoapySDR modules and thus those modules or dependencies can't be redistributed by others. Thus they must be manually installed by the user. The following devices require closed-source drivers:<br />
<br />
*[[Software Defined Radio#SDRPlay support|SDRPlay]]<br />
<br />
==Unsupported Devices==<br />
{{Warning|This section might be outdated due to the transition to gr-soapy. Please update when possible.}}<br />
<br /><br />
<br />
*[https://greatscottgadgets.com/hackrf/ HackRF One] (not compatible with the SatNOGS client on Raspberry Pi)<br />
*USRP2 (not compatible with the SatNOGS client on Raspberry Pi)<br />
<br />
==RTL-SDR Support==<br />
The RTL-SDR is based on two chips -- the versatile [http://www.realtek.com.tw/products/productsView.aspx?Langid=1&PFid=35&Level=4&Conn=3&ProdID=257 RTL2832U chip] and the [https://rtl-sdr.com/wp-content/uploads/2013/04/R820T_datasheet-Non_R-20111130_unlocked.pdf R820T tuner]. The RTL-SDR is currently the cheapest, most common, and most performing solution available in terms of general sensitivity having a frequency range of 24 – 1766 MHz. A metal enclosure with SMA connector is preferred, along with a stable TCXO (low ppm). HF coverage is optional.<br />
<br />
<br /><br />
<br />
===Using RTL-SDR.com V3 Dongle's Bias-T Power Supply===<br />
The RTL-SDR.com V3 dongle has a built in software activated Bias-T voltage supply intended to be used for applications such as powering inline LNAs (Low Noise Amplifiers). There are several ways to turn on the voltage, but through initial testing (as of this writing, 17 Aug 2019) it seems that the following procedure works best.<br />
<br />
The below relates to Raspberry Pi installs only. No testing has been performed on other systems as of yet.<br />
<br />
{{Warning|Turning on the Bias-T with no LNA installed and a "shorted" style antenna (such as loops, egg-beaters, etc.) can damage the RTL-SDR.com V3 dongle. Never activate the bias-t with no LNA installed between the antenna and the SDR dongle.}}<br />
<br />
'''Requirements:'''<br />
<br />
#Raspberry Pi running Raspbian Buster or newer (latest release of SatNogs image, [https://gitlab.com/librespacefoundation/satnogs/satnogs-pi-gen/-/tags 2019091100], is demonstrated to work)<br />
#[https://www.rtl-sdr.com/buy-rtl-sdr-dvb-t-dongles/ RTL-SDR.com V3 SDR dongle]<br />
#[https://www.rtl-sdr.com/rtl-sdr-blog-v-3-dongles-user-guide/ RTL-SDR.com Bias-T Software Switch] for linux systems<br />
#LNA capable of being powered via feedline coax (note that some LNAs need modifications to be powered by the coax, and some cannot be powered by the coax at all. Check the specifications for your LNA prior to attempting to turn on the Bias-T power supply)<br />
<br />
<br /><br />
<br />
====Instructions for installing RTL-SDR.com Bias-T Software Switch====<br />
<br />
#Log into your SatNogs station either directly or via SSH<br />
#If your station does not have cmake installed (SatNogs Image 2019091100 does not), install cmake with <code>sudo apt install cmake</code><br />
#Clone the source for the Bias-T software switch with <code>git clone <nowiki>https://github.com/rtlsdrblog/rtl_biast</nowiki></code><br />
#<code>cd rtl_biast</code><br />
#<code>mkdir build</code><br />
#<code>cd build</code><br />
#<code>cmake ..</code> (if you get a <code>LibUSB 1.0 required to compile rtl-sdr</code> error here, then do <code>sudo apt install libusb-1.0-0-dev</code> prior to attempting <code>cmake ..</code> again)<br />
#<code>make</code><br />
<br />
<br />
The software switch should now be installed in the "src" directory. If you <code>cd src</code>, you can turn on the bias-t with the command <code>./rtl_biast -b 1</code> and turn it off with <code>./rtl_biast -b 0</code>. Note that the developers of this switch have warned against attempting to <code>sudo make install</code> so that this command can be executed from ouside the src directory. Testing has shown this warning to be accurate, so don't plan on running these commands from anywhere but the src directory, or else be sure to use the full path.<br />
<br />
Switching the Bias-T on should yield between 4.5V and 5.0V across the center conductor and shield of the coax. The voltage should rise almost instantly. When switched off, the voltage seems to decrease gradually, over 5 to 10 seconds.<br />
<br />
====Instructions to activate the bias-t for SatNogs Observations automatically:====<br />
<br />
#Log into your SatNogs station either directly or via SSH<br />
#<code>sudo satnogs-setup</code><br />
#select <code>Advanced</code><br />
#for <code>Radio</code> -><code>SATNOGS_RF_GAIN</code>, enter a low gain value supported by your RTL-SDR.com V3 dongle (entering <code>rtl_test</code> at the command line prior to starting <code>satnogs-setup</code> will give you all allowable values of RF gain) and select <code>Ok</code><br />
#for <code>Scripts</code> -><code>SATNOGS_PRE_OBSERVATION_SCRIPT,</code> enter <code>/home/pi/rtl_biast/build/src/rtl_biast -b 1</code> and select <code>Ok</code><br />
#for <code>Scripts</code> -><code>SATNOGS_POST_OBSERVATION_SCRIPT,</code> enter <code>/home/pi/rtl_biast/build/src/rtl_biast -b 0</code> and select <code>Ok</code><br />
#Select <code>Back</code><br />
#Select <code>Apply</code> (allow system to update and hit enter when prompted)<br />
#Select <code>Back</code><br />
<br />
Your station is now set up to turn the Bias-T on for each scheduled observation (using the <code>SATNOGS_PRE_OBSERVATION_SCRIPT</code> string) and then turn it off at the conclusion of each observation (using the <code>SATNOGS_POST_OBSERVATION_SCRIPT</code>).<br />
<br />
You should now schedule several observations to fine tune the <code>SATNOGS_RF_GAIN</code> value to get the best S/N performance for your station. Some have reported needing zero RF gain, others have reported low RF gain required (between 5 and 10 db), and others have said they see little benefit even with very high gain. Each station will be different.<br />
<br />
====E4000 Tuner Gain Settings====<br />
The RTLSDR Driver exposes six (!) IF gain settings (IF1 through IF6) for the E4000 tuner, along with a TUNER gain setting, which is actually a combined LNA and Mixer gain control. Details on the gain stages are available in page 28 of the E4000 data-sheet here: https://www.nooelec.com/files/e4000datasheet.pdf<br />
<br />
When you follow the '[[Omnidirectional Station How To#Setting the gain|Setting the Gain]]' guide, all gain sliders (IF1 through IF6, and TUNER) should be presented in SoapySDR, allowing the user to adjust them to optimise for best performance. Once the correct values have been determined, you will need to define these specifically in satnogs-setup as follows:<br />
<br />
*<code>SATNOGS_GAIN_MODE</code>=<code>"Settings Field"</code><br />
*<code>SATNOGS_OTHER_SETTINGS</code>=<code>"IF1=6,IF2=3,IF2=2,IF3=0,IF4=0,IF5=2,IF6=3,TUNER=30"</code><br />
<br />
(Replacing the values in the line above with the ones you determined)<br />
<br />
====R820T Gain Settings====<br />
Unfortunately librtlsdr only exposes a single gain control for the R820T/T2 tuners, even though multiple gain adjustments are available. Use the standard SATNOGS_RF_GAIN option, with a gain between 0 and 42 (dB), as optimised for your station via the '[[Omnidirectional Station How To#Setting the gain|Setting the Gain]]' guide.<br />
<br />
==Airspy support==<br />
Vendor: [https://airspy.com/ Airspy]<br />
<br />
required SoapySDR module: [https://github.com/pothosware/SoapyAirspy/wiki SoapyAirspy]<br />
<br />
<br />
'''Note than none of the settings below should be entered with the " " around the value. This is only for better readability in the Wiki !''' <br />
<br />
===Gain settings===<br />
There are two possible gain modes:<br />
<br />
*<code>SATNOGS_GAIN_MODE</code>=<code>"Overall"</code>: (default) Use a single gain value. Set the overall gain with <code>SATNOGS_RF_GAIN</code>,e.g. <code>SATNOGS_RF_GAIN</code>=<code>43</code>.<br />
*<code>SATNOGS_GAIN_MODE</code>=<code>"Settings Field"</code>: Use granular gain values. Set the different gain stages separately:<br />
**without pre-amp: <code>SATNOGS_OTHER_SETTINGS</code>=<code>"LNA=12,MIX=8,VGA=11"</code><br />
**with pre-amp: <code>SATNOGS_OTHER_SETTINGS</code>=<code>"LNA=9,MIX=6,VGA=11"</code> (used in [https://network.satnogs.org/stations/49/ 49 - OZ7SAT])<br />
<br />
<br />
For reference see also the Airspy driver library linearity gain settings in [https://github.com/airspy/airspyone_host/blob/bceca18f9e3a5f89cff78c4d949c71771d92dfd3/libairspy/src/airspy.c#L117-L122 libairspy/src/airspy.c#L117-L122].<br />
<br />
===Sample rates===<br />
<br />
*Airspy R2: <code>SATNOGS_RX_SAMPLE_RATE</code>=<code>2.5e6 or 10e6</code><br />
*Airspy Mini: <code>SATNOGS_RX_SAMPLE_RATE</code>=<code>3e6 or 6e6</code><br />
*Airspy HF+: <code>SATNOGS_RX_SAMPLE_RATE</code>=<code>768e3</code><br />
<br />
source: [https://twitter.com/DutchSpace/status/1241305651168661504]<br />
<br />
If you want to activate the integrated bias tee, set <code>SATNOGS_DEV_ARGS</code>=<code>"biastee=true"</code>.<br />
Bit packing ("Enable packing 4 12-bit samples into 3 16-bit words for 25% less USB trafic.") could be enabled with <code>SATNOGS_DEV_ARGS</code>=<code>"bitpacking=true"</code> (untested). Device arguments can be concatenated with comma as delimiter.<br />
<br />
==SDRPlay support==<br />
Vendor: [http://www.sdrplay.com/ SDRPlay]<br />
<br />
required SoapySDR module: [https://github.com/pothosware/SoapySDRPlay SoapySDRPlay]<br />
<br />
The following settings [https://network.satnogs.org/observations/?norad=&observer=&station=1354&results=d1&start=2020-02-20+00%3A00&end=2020-02-24+23%3A59 worked well] for an [https://www.sdrplay.com/rspduo/ SDRplay RSPduo] when using cross-yagis and good [https://www.ssb.de/en/amplifiers/preamplifier/vox/100w SSB low-noise amplifiers]:<br />
<br />
*<code>SATNOGS_SOAPY_RX_DEVICE="driver=sdrplay"</code><br />
*<code>SATNOGS_RX_SAMP_RATE=2e6</code><br />
*<code>SATNOGS_RX_BANDWIDTH=600e3</code><br />
*<code>SATNOGS_RF_GAIN=34</code><br />
*<code>SATNOGS_ANTENNA="Tuner 1 50 ohm"</code><br />
<br />
Note that 14-bits ADC resolution is only available when using sample rates below 6.048 MSPS, above which the resolution is reduced gradually to 12, 10, and 8 bits.<br />
<br />
==USRP support==<br />
Vendor: [https://ettus.com Ettus Research]<br />
<br />
required SoapySDR module: [https://github.com/pothosware/SoapyUHD/wiki SoapyUHD]<br />
<br />
Recent USRPs that use the Analog Devices [https://www.analog.com/en/products/ad9361.html AD9361 RFIC] can use almost arbitrary sample rates and analog bandwidth settings. It can be an advantage to set the sample rate as high as the host computer can handle and the analog bandwidth to as narrow as meaningful. The following settings [https://network.satnogs.org/observations/?norad=&observer=&station=1353&results=d1&start=2020-02-20+00%3A00&end=2020-02-24+23%3A59 worked well] for a [https://www.ettus.com/all-products/ub210-kit/ USRP B210] when using cross-yagis and good [https://www.ssb.de/en/amplifiers/preamplifier/vox/100w SSB low-noise amplifiers]:<br />
<br />
*<code>SATNOGS_SOAPY_RX_DEVICE="driver=uhd"</code><br />
*<code>SATNOGS_RX_SAMP_RATE=2e6</code><br />
*<code>SATNOGS_RX_BANDWIDTH=600e3</code><br />
*<code>SATNOGS_RF_GAIN=50</code><br />
*<code>SATNOGS_ANTENNA="RX2"</code><br />
**on the B200 your Antenna options are <code>TX/RX</code> and <code>RX2</code>, be sure you select the right option for your configuration!<br />
<br />
==LimeSDR support==<br />
Vendor: [https://limemicro.com Lime microsystems]<br />
<br />
required SoapySDR module: [https://github.com/myriadrf/LimeSuite/tree/master/SoapyLMS7 SoapyLMS7 wrapper]<br />
<br />
*<code>SATNOGS_SOAPY_RX_DEVICE</code>=<code>"driver=lime"</code><br />
*<code>SATNOGS_RX_SAMP_RATE</code>=<code>"2.048e6"</code><br />
*<code>SATNOGS_ANTENNA</code>=<code>"LNAW"</code><br />
*<code>SATNOGS_GAIN_MODE</code>=<code>"Settings Field"</code><br />
*<code>SATNOGS_RF_GAIN</code>=<code>20</code><br />
*<code>SATNOGS_OTHER_SETTINGS</code>=<code>"TIA=12,PGA=0,LNA=12"</code><br />
<br />
(untested, copied from station 1378)<br />
<br />
Example stations:<br />
<br />
*[https://network.satnogs.org/stations/1378/ 1378 - Wolbach library]<br />
<br />
==PlutoSDR support==<br />
Vendor: [https://www.analog.com Analog Devices]<br />
<br />
required SoapySDR module: [https://github.com/pothosware/SoapyPlutoSDR/wiki SoapyPlutoSDR]<br />
<br />
*<code>SATNOGS_SOAPY_RX_DEVICE</code>=<code>"driver=plutosdr"</code><br />
*<code>SATNOGS_RX_SAMP_RATE</code>=<code>"2e6"</code><br />
*<code>SATNOGS_ANTENNA</code>=<code>"A_BALANCED"</code><br />
*<code>SATNOGS_RF_GAIN</code>=<code>50</code><br />
<br />
==Remote==<br />
Using the SoapySDRServer running on the same machine or over the network.<br />
<br />
Required SoapySDRServer module: [https://github.com/pothosware/SoapyRemote/wiki SoapyRemote].<br />
Optional SoapySDRUtil to probe for SDR and settings.<br />
Make sure to match the antenna and gain setting from the actual device connected to the remote. Also possible to select remote drivers and other parameters; <code>driver=remote,remote:driver=rtlsdr</code><br />
<br />
*<code>SATNOGS_SOAPY_RX_DEVICE</code>=<code>"driver=remote"</code><br />
*<code>SATNOGS_RX_SAMP_RATE</code>=<code>"2e6"</code><br />
*<code>SATNOGS_ANTENNA</code>=<code>"RX"</code><br />
*<code>SATNOGS_RF_GAIN</code>=<code>20.7</code><br />
<br />
Not stable.<br />
<br />
==References==<br />
<br />
*[https://www.rtl-sdr.com/rtlsdr4everyone-review-of-5-rtl-sdr-dongles/ Review of 5 RTL-SDR Dongles]<br />
*[https://hackaday.com/2017/09/05/19-rtl-sdr-dongles-reviewed/ 19 RTL-SDR Dongles Reviewed]<br />
*[https://www.rtl-sdr.com/review-airspy-vs-sdrplay-rsp-vs-hackrf/ Review: Airspy VS. SDRplay RSP VS. HackRF]<br />
<br />
[[Category:Build]]<br />
[[Category:Hardware]]<br />
[[Category:Software]]<br />
<br />
__NOEDITSECTION__</div>Kneggehttps://wiki.satnogs.org/index.php?title=Software_Defined_Radio&diff=3708Software Defined Radio2020-11-25T17:38:36Z<p>Knegge: </p>
<hr />
<div>==Introduction==<br />
<br />
Built upon [https://gnuradio.org/ GNU Radio] and [https://github.com/pothosware/SoapySDR/wiki SoapySDR] by using the [https://gitlab.com/librespacefoundation/gr-soapy gr-soapy] module SatNOGS supports a large variety of Software-Defined Radios (SDRs). The gr-soapy module was developed in the [https://sdrmaker.space/ SDR Makerspace] and is maintained by Libre Space Foundation to bring the vendor-neutral SDR support by SoapySDR to the flexible gnuradio ecosystem.<br />
<br />
The most cost-effective solution is to use an RTL-SDR with a Raspberry Pi. More advanced SDRs are also used, but they require more processing power and thus might require a more powerful computing platform than the Raspberry Pi.<br />
<br />
==Supported Devices==<br />
<br />
SoapySDR supports SDR devices through runtime-loadable modules [https://github.com/pothosware/SoapySDR/wiki#plugin-architecture]. You can find all available modules in the [https://github.com/pothosware/SoapySDR/wiki#modules SoapySDR wiki] (see right column). Most SDR modules are installed by default when setting up a SatNOGS station.<br />
<br />
The following SDRs are supported by SatNOGS. SatNOGS uses the RTL-SDR as the recommended beginner signal receiver and tuner. <br />
The more advanced SDRs may require more processing power than a Raspberry Pi 3b or 4 can offer. <br />
<br />
*[[Software Defined Radio#RTL-SDR Support|RTL-SDR]]<br />
**[https://www.nooelec.com/store/sdr/sdr-receivers.html NooElec NESDR SMArt]<br />
**[https://www.rtl-sdr.com/buy-rtl-sdr-dvb-t-dongles/ RTL-SDR Blog R820T2 RTL2832U]<br />
**Full band UV HF RTL-SDR USB Tuner Receiver<br />
<br />
*[[Software Defined Radio#USRP support|USRP devices]]<br />
**[https://www.ettus.com/product/category/USRP-Bus-Series USRP B200]<br />
<br />
*[[Software Defined Radio#Airspy support|Airspy]]<br />
*[[Software Defined Radio#LimeSDR support|LimeSuite devices]]<br />
**[https://limemicro.com/products/boards/limesdr-mini/ LimeSDR mini]<br />
*[[Software Defined Radio#PlutoSDR support|PlutoSDR]]<br />
**[https://www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/adalm-pluto.html#eb-overview ADALM-PLUTO] (untested)<br />
<br />
{{Message|There are probably a lot more devices supported since the transition from gr-osmosdr to gr-soapy. Please update this list when you were able to successfully run a SatNOGS station with a new radio family or model. You can also link your station as an example to give others the ability to compare performance.}}<br />
<br />
==Supported Devices with closed-source drivers==<br />
Unfortunately some vendors require closed-source drivers in their SoapySDR modules and thus those modules or dependencies can't be redistributed by others. Thus they must be manually installed by the user. The following devices require closed-source drivers:<br />
<br />
*[[Software Defined Radio#SDRPlay support|SDRPlay]]<br />
<br />
==Unsupported Devices==<br />
{{Warning|This section might be outdated due to the transition to gr-soapy. Please update when possible.}}<br />
<br /><br />
<br />
*[https://greatscottgadgets.com/hackrf/ HackRF One] (not compatible with the SatNOGS client on Raspberry Pi)<br />
*USRP2 (not compatible with the SatNOGS client on Raspberry Pi)<br />
<br />
==RTL-SDR Support==<br />
The RTL-SDR is based on two chips -- the versatile [http://www.realtek.com.tw/products/productsView.aspx?Langid=1&PFid=35&Level=4&Conn=3&ProdID=257 RTL2832U chip] and the [https://rtl-sdr.com/wp-content/uploads/2013/04/R820T_datasheet-Non_R-20111130_unlocked.pdf R820T tuner]. The RTL-SDR is currently the cheapest, most common, and most performing solution available in terms of general sensitivity having a frequency range of 24 – 1766 MHz. A metal enclosure with SMA connector is preferred, along with a stable TCXO (low ppm). HF coverage is optional.<br />
<br />
<br /><br />
<br />
===Using RTL-SDR.com V3 Dongle's Bias-T Power Supply===<br />
The RTL-SDR.com V3 dongle has a built in software activated Bias-T voltage supply intended to be used for applications such as powering inline LNAs (Low Noise Amplifiers). There are several ways to turn on the voltage, but through initial testing (as of this writing, 17 Aug 2019) it seems that the following procedure works best.<br />
<br />
The below relates to Raspberry Pi installs only. No testing has been performed on other systems as of yet.<br />
<br />
{{Warning|Turning on the Bias-T with no LNA installed and a "shorted" style antenna (such as loops, egg-beaters, etc.) can damage the RTL-SDR.com V3 dongle. Never activate the bias-t with no LNA installed between the antenna and the SDR dongle.}}<br />
<br />
'''Requirements:'''<br />
<br />
#Raspberry Pi running Raspbian Buster or newer (latest release of SatNogs image, [https://gitlab.com/librespacefoundation/satnogs/satnogs-pi-gen/-/tags 2019091100], is demonstrated to work)<br />
#[https://www.rtl-sdr.com/buy-rtl-sdr-dvb-t-dongles/ RTL-SDR.com V3 SDR dongle]<br />
#[https://www.rtl-sdr.com/rtl-sdr-blog-v-3-dongles-user-guide/ RTL-SDR.com Bias-T Software Switch] for linux systems<br />
#LNA capable of being powered via feedline coax (note that some LNAs need modifications to be powered by the coax, and some cannot be powered by the coax at all. Check the specifications for your LNA prior to attempting to turn on the Bias-T power supply)<br />
<br />
<br /><br />
<br />
====Instructions for installing RTL-SDR.com Bias-T Software Switch====<br />
<br />
#Log into your SatNogs station either directly or via SSH<br />
#If your station does not have cmake installed (SatNogs Image 2019091100 does not), install cmake with <code>sudo apt install cmake</code><br />
#Clone the source for the Bias-T software switch with <code>git clone <nowiki>https://github.com/rtlsdrblog/rtl_biast</nowiki></code><br />
#<code>cd rtl_biast</code><br />
#<code>mkdir build</code><br />
#<code>cd build</code><br />
#<code>cmake ..</code> (if you get a <code>LibUSB 1.0 required to compile rtl-sdr</code> error here, then do <code>sudo apt install libusb-1.0-0-dev</code> prior to attempting <code>cmake ..</code> again)<br />
#<code>make</code><br />
<br />
<br />
The software switch should now be installed in the "src" directory. If you <code>cd src</code>, you can turn on the bias-t with the command <code>./rtl_biast -b 1</code> and turn it off with <code>./rtl_biast -b 0</code>. Note that the developers of this switch have warned against attempting to <code>sudo make install</code> so that this command can be executed from ouside the src directory. Testing has shown this warning to be accurate, so don't plan on running these commands from anywhere but the src directory, or else be sure to use the full path.<br />
<br />
Switching the Bias-T on should yield between 4.5V and 5.0V across the center conductor and shield of the coax. The voltage should rise almost instantly. When switched off, the voltage seems to decrease gradually, over 5 to 10 seconds.<br />
<br />
====Instructions to activate the bias-t for SatNogs Observations automatically:====<br />
<br />
#Log into your SatNogs station either directly or via SSH<br />
#<code>sudo satnogs-setup</code><br />
#select <code>Advanced</code><br />
#for <code>Radio</code> -><code>SATNOGS_RF_GAIN</code>, enter a low gain value supported by your RTL-SDR.com V3 dongle (entering <code>rtl_test</code> at the command line prior to starting <code>satnogs-setup</code> will give you all allowable values of RF gain) and select <code>Ok</code><br />
#for <code>Scripts</code> -><code>SATNOGS_PRE_OBSERVATION_SCRIPT,</code> enter <code>/home/pi/rtl_biast/build/src/rtl_biast -b 1</code> and select <code>Ok</code><br />
#for <code>Scripts</code> -><code>SATNOGS_POST_OBSERVATION_SCRIPT,</code> enter <code>/home/pi/rtl_biast/build/src/rtl_biast -b 0</code> and select <code>Ok</code><br />
#Select <code>Back</code><br />
#Select <code>Apply</code> (allow system to update and hit enter when prompted)<br />
#Select <code>Back</code><br />
<br />
Your station is now set up to turn the Bias-T on for each scheduled observation (using the <code>SATNOGS_PRE_OBSERVATION_SCRIPT</code> string) and then turn it off at the conclusion of each observation (using the <code>SATNOGS_POST_OBSERVATION_SCRIPT</code>).<br />
<br />
You should now schedule several observations to fine tune the <code>SATNOGS_RF_GAIN</code> value to get the best S/N performance for your station. Some have reported needing zero RF gain, others have reported low RF gain required (between 5 and 10 db), and others have said they see little benefit even with very high gain. Each station will be different.<br />
<br />
====E4000 Tuner Gain Settings====<br />
The RTLSDR Driver exposes six (!) IF gain settings (IF1 through IF6) for the E4000 tuner, along with a TUNER gain setting, which is actually a combined LNA and Mixer gain control. Details on the gain stages are available in page 28 of the E4000 data-sheet here: https://www.nooelec.com/files/e4000datasheet.pdf<br />
<br />
When you follow the '[[Omnidirectional Station How To#Setting the gain|Setting the Gain]]' guide, all gain sliders (IF1 through IF6, and TUNER) should be presented in SoapySDR, allowing the user to adjust them to optimise for best performance. Once the correct values have been determined, you will need to define these specifically in satnogs-setup as follows:<br />
<br />
*<code>SATNOGS_GAIN_MODE</code>=<code>"Settings Field"</code><br />
*<code>SATNOGS_OTHER_SETTINGS</code>=<code>"IF1=6,IF2=3,IF2=2,IF3=0,IF4=0,IF5=2,IF6=3,TUNER=30"</code><br />
<br />
(Replacing the values in the line above with the ones you determined)<br />
<br />
====R820T Gain Settings====<br />
Unfortunately librtlsdr only exposes a single gain control for the R820T/T2 tuners, even though multiple gain adjustments are available. Use the standard SATNOGS_RF_GAIN option, with a gain between 0 and 42 (dB), as optimised for your station via the '[[Omnidirectional Station How To#Setting the gain|Setting the Gain]]' guide.<br />
<br />
==Airspy support==<br />
Vendor: [https://airspy.com/ Airspy]<br />
<br />
required SoapySDR module: [https://github.com/pothosware/SoapyAirspy/wiki SoapyAirspy]<br />
<br />
<br />
'''Note than none of the settings below should be entered with the " " around the value. This is only for better readability in the Wiki !''' <br />
<br />
===Gain settings===<br />
There are two possible gain modes:<br />
<br />
*<code>SATNOGS_GAIN_MODE</code>=<code>"Overall"</code>: (default) Use a single gain value. Set the overall gain with <code>SATNOGS_RF_GAIN</code>,e.g. <code>SATNOGS_RF_GAIN</code>=<code>43</code>.<br />
*<code>SATNOGS_GAIN_MODE</code>=<code>"Settings Field"</code>: Use granular gain values. Set the different gain stages separately:<br />
**without pre-amp: <code>SATNOGS_OTHER_SETTINGS</code>=<code>"LNA=12,MIX=8,VGA=11"</code><br />
**with pre-amp: <code>SATNOGS_OTHER_SETTINGS</code>=<code>"LNA=9,MIX=6,VGA=11"</code> (used in [https://network.satnogs.org/stations/49/ 49 - OZ7SAT])<br />
<br />
<br />
For reference see also the Airspy driver library linearity gain settings in [https://github.com/airspy/airspyone_host/blob/bceca18f9e3a5f89cff78c4d949c71771d92dfd3/libairspy/src/airspy.c#L117-L122 libairspy/src/airspy.c#L117-L122].<br />
<br />
===Sample rates===<br />
<br />
*Airspy R2: <code>SATNOGS_RX_SAMPLE_RATE</code>=<code>2.5e6 or 10e6</code><br />
*Airspy Mini: <code>SATNOGS_RX_SAMPLE_RATE</code>=<code>3e6 or 6e6</code><br />
*Airspy HF+: <code>SATNOGS_RX_SAMPLE_RATE</code>=<code>768e3</code><br />
<br />
source: [https://twitter.com/DutchSpace/status/1241305651168661504]<br />
<br />
If you want to activate the integrated bias tee, set <code>SATNOGS_DEV_ARGS</code>=<code>"biastee=true"</code>.<br />
Bit packing ("Enable packing 4 12-bit samples into 3 16-bit words for 25% less USB trafic.") could be enabled with <code>SATNOGS_DEV_ARGS</code>=<code>"bitpacking=true"</code> (untested). Device arguments can be concatenated with comma as delimiter.<br />
<br />
==SDRPlay support==<br />
Vendor: [http://www.sdrplay.com/ SDRPlay]<br />
<br />
required SoapySDR module: [https://github.com/pothosware/SoapySDRPlay SoapySDRPlay]<br />
<br />
The following settings [https://network.satnogs.org/observations/?norad=&observer=&station=1354&results=d1&start=2020-02-20+00%3A00&end=2020-02-24+23%3A59 worked well] for an [https://www.sdrplay.com/rspduo/ SDRplay RSPduo] when using cross-yagis and good [https://www.ssb.de/en/amplifiers/preamplifier/vox/100w SSB low-noise amplifiers]:<br />
<br />
*<code>SATNOGS_SOAPY_RX_DEVICE="driver=sdrplay"</code><br />
*<code>SATNOGS_RX_SAMP_RATE=2e6</code><br />
*<code>SATNOGS_RX_BANDWIDTH=600e3</code><br />
*<code>SATNOGS_RF_GAIN=34</code><br />
*<code>SATNOGS_ANTENNA="Tuner 1 50 ohm"</code><br />
<br />
Note that 14-bits ADC resolution is only available when using sample rates below 6.048 MSPS, above which the resolution is reduced gradually to 12, 10, and 8 bits.<br />
<br />
==USRP support==<br />
Vendor: [https://ettus.com Ettus Research]<br />
<br />
required SoapySDR module: [https://github.com/pothosware/SoapyUHD/wiki SoapyUHD]<br />
<br />
Recent USRPs that use the Analog Devices [https://www.analog.com/en/products/ad9361.html AD9361 RFIC] can use almost arbitrary sample rates and analog bandwidth settings. It can be an advantage to set the sample rate as high as the host computer can handle and the analog bandwidth to as narrow as meaningful. The following settings [https://network.satnogs.org/observations/?norad=&observer=&station=1353&results=d1&start=2020-02-20+00%3A00&end=2020-02-24+23%3A59 worked well] for a [https://www.ettus.com/all-products/ub210-kit/ USRP B210] when using cross-yagis and good [https://www.ssb.de/en/amplifiers/preamplifier/vox/100w SSB low-noise amplifiers]:<br />
<br />
*<code>SATNOGS_SOAPY_RX_DEVICE="driver=uhd"</code><br />
*<code>SATNOGS_RX_SAMP_RATE=2e6</code><br />
*<code>SATNOGS_RX_BANDWIDTH=600e3</code><br />
*<code>SATNOGS_RF_GAIN=50</code><br />
*<code>SATNOGS_ANTENNA="RX2"</code><br />
**on the B200 your Antenna options are <code>TX/RX</code> and <code>RX2</code>, be sure you select the right option for your configuration!<br />
<br />
==LimeSDR support==<br />
Vendor: [https://limemicro.com Lime microsystems]<br />
<br />
required SoapySDR module: [https://github.com/myriadrf/LimeSuite/tree/master/SoapyLMS7 SoapyLMS7 wrapper]<br />
<br />
*<code>SATNOGS_SOAPY_RX_DEVICE</code>=<code>"driver=lime"</code><br />
*<code>SATNOGS_RX_SAMP_RATE</code>=<code>"2.048e6"</code><br />
*<code>SATNOGS_ANTENNA</code>=<code>"LNAW"</code><br />
*<code>SATNOGS_GAIN_MODE</code>=<code>"Settings Field"</code><br />
*<code>SATNOGS_RF_GAIN</code>=<code>20</code><br />
*<code>SATNOGS_OTHER_SETTINGS</code>=<code>"TIA=12,PGA=0,LNA=12"</code><br />
<br />
(untested, copied from station 1378)<br />
<br />
Example stations:<br />
<br />
*[https://network.satnogs.org/stations/1378/ 1378 - Wolbach library]<br />
<br />
==PlutoSDR support==<br />
Vendor: [https://www.analog.com Analog Devices]<br />
<br />
required SoapySDR module: [https://github.com/pothosware/SoapyPlutoSDR/wiki SoapyPlutoSDR]<br />
<br />
*<code>SATNOGS_SOAPY_RX_DEVICE</code>=<code>"driver=plutosdr"</code><br />
*<code>SATNOGS_RX_SAMP_RATE</code>=<code>"2e6"</code><br />
*<code>SATNOGS_ANTENNA</code>=<code>"A_BALANCED"</code><br />
*<code>SATNOGS_RF_GAIN</code>=<code>50</code><br />
<br />
Not stable.<br />
<br />
==Remote==<br />
Using the SoapySDRServer running on the same machine or over the network.<br />
<br />
Required SoapySDRServer module: [https://github.com/pothosware/SoapyRemote/wiki SoapyRemote].<br />
Optional SoapySDRUtil to probe for SDR and settings.<br />
Make sure to match the antenna and gain setting from the actual device connected to the remote. Also possible to select remote drivers and other parameters; <code>driver=remote,remote:driver=rtlsdr</code><br />
<br />
*<code>SATNOGS_SOAPY_RX_DEVICE</code>=<code>"driver=remote"</code><br />
*<code>SATNOGS_RX_SAMP_RATE</code>=<code>"2e6"</code><br />
*<code>SATNOGS_ANTENNA</code>=<code>"RX"</code><br />
*<code>SATNOGS_RF_GAIN</code>=<code>20.7</code><br />
<br />
<br />
==References==<br />
<br />
*[https://www.rtl-sdr.com/rtlsdr4everyone-review-of-5-rtl-sdr-dongles/ Review of 5 RTL-SDR Dongles]<br />
*[https://hackaday.com/2017/09/05/19-rtl-sdr-dongles-reviewed/ 19 RTL-SDR Dongles Reviewed]<br />
*[https://www.rtl-sdr.com/review-airspy-vs-sdrplay-rsp-vs-hackrf/ Review: Airspy VS. SDRplay RSP VS. HackRF]<br />
<br />
[[Category:Build]]<br />
[[Category:Hardware]]<br />
[[Category:Software]]<br />
<br />
__NOEDITSECTION__</div>Knegge