Beginner questions

Today I had great fun setting up my VHF ground station in the development network. It uses a wimo.de 2m ground plane and a USRP B200 SDR. It took me a few passes to find the hardware settings and realize the default setting was using RX2 instead of RX on the B200. With that change I got what looks like FM voice from ISS, as well as APT from NOAA-18 and BPSK1k2 from Funcube-1 and NAYIF-1.

A few questions:

  1. How do I adjust the audio gain in the recordings? 42017 - NAYIF-1 (EO-88) audio recording shows the audio is mostly saturated. I played with audio_gain for the usrpb200 in gr-satnogs/python/dsp_settings.py but that did not seem to have any effect.
  2. Since I am using a laptop there is lots of storage. Is there a way to store IQ data for offline processing?
  3. The USRP B200 has two inputs between which it can switch (RX and RX2). Can a single satnogs client operate two antennas (e.g. VHF and UHF) through these two inputs?

Regards,
Cees

Welcome Cees! The waterfall on that NAYIF-1 recording looks great!

I was just discussing the BPSK script with @csete this week, its not working well enough to decode, he played with the gain settings but the AGC block isn’t conducive to this mode. I think the ultimate fix here is to port the AGC used in gqrx over to a gnuradio block that we can use in gr-satnogs.

We have been discussing this as well, right now IQ desires are edge cases as the target reference platform is a raspberry pi 3, and ~30 observations in a day would more than fill a standard SD card with IQ data.

That said it shouldn’t be too hard to make a switch within the gr-satnogs scripts that allows for dumping of IQ data at the same time as the demod data, it just hasn’t been done yet. I filed https://github.com/satnogs/gr-satnogs/issues/103

Not today but I’ll ping @pierros who has been testing the same USRP for his thoughts and plans. Right now VHF+UHF can be accomplished through a duplexer (which is how I do it personally) or some people are testing 2 clients and 2 RTLSDR sticks, one set for UHF and one for VHF. This method isn’t feasible with the cost of a USRP, but has the benefit of being able to capture 2 different satellites at the same time (UHF/VHF) given fixed antennas.

Thanks for joining us!
-Corey KB9JHU

@cgbsat It is so great to see you here Cees! Welcome to SatNOGS!

I am curious how did you calculate and add passes without antennas assigned to your station in dev? Did you have them assigned before (cause they seem missing now)

@surligas ^ could that be solved with the parameters passing to the scripts? (options even up to network)

Actually, the AGC may just be good enough for continuous transmissions such as NAYIF-1 and Funcube, but not good when telemetry comes in shorter bursts.

However, in this case it looks like an older version of satnogs-client is used, which does not have BPSK demodulator and uses FM demod instead, hence the loud noise.

Note that the AGC function in gqrx is already a gnuradio block written in C++. It just needs a python and GRC wrapper to be usable in satnogs :slight_smile:

Hi @cshields,

Thanks for your detailed reply. I guess my 2nd and 3rd questions can be considered wishlist items, as my current plan is to run two RPi3’s separately, one for VHF and one for UHF, either using RTL dongles or airspy’s.

Regards,
Cees

1 Like

Hi @pierros,

Thanks for the welcome! I’d been intending to check out SatNOGS, but only got around to it this summer holiday.

[quote]
I am curious how did you calculate and add passes without antennas assigned to your station in dev? Did you have them assigned before (cause they seem missing now)[/quote]
This probably is the antenna field resetting when switching the UHF station from operational to in operational. I had a UHF turnstile set when scheduling passes.

Regards,
Cees

Yeah this is a known bug. Should be fixed soon.[quote=“cgbsat, post:6, topic:1225”]
This probably is the antenna field resetting when switching the UHF station from operational to in operational. I had a UHF turnstile set when scheduling passes.
[/quote]

When you feel that the station is ready, we would gladly move it to the production network so that our obs people can schedule many observations on it. Let us know when you feel like it.

Hopefully soon. I’ll configure an RPi3 to work with the B200, which should work as I’m using an RPi2 with the B200 on my S-band station. I plan to transition to AirSpy’s or RTL-SDRs to free up the B200 for my S-band station again.

Has anyone had success running a 1st gen AirSpy with an RPi3? I saw the hardware settings use the 10Msps setting, which seems excessive…

Cees

No, unfortunately, for that very reason… Works great on a desktop though!

Has the 2.5Msps setting been tested?

I tried a rtlsdr at 2msps and there was a lot of clipping, hence we default that to 1msps. You can give it a try! Just edit the hw_settings.py and change to 2.5e6.

Now, all that said, I’m sure there is a lot of optimization that could be done in our gnuradio flows - given the right person to dive in and figure that out.

Pinging @surligas and @ka2upw for expressing interest :wink:

I’m running satnogs-client 0.3, installed through pip. Looking at the code it appears scheduler/tasks.py only has an if statement for CW type observations and defaults to FM otherwise. The github satnogs-client does check for CW, APT and BPSK; I’ll give that a try.

@cgbsat welcome on SatNOGS!

The latest gr-satnogs supports arbitrary SDR hardware parameters. You can change almost anything regarding the SDR device, except the sampling rate. So you can use the RX port of your B200 instead of the RX2.

However, you have to specify it using an environmental variable on the satnogs-client.

Thanks for the suggestion.

I now have both the VHF and UHF ground plane antennas mounted in a fixed location and am presently testing running an Airspy on VHF and the B200 on UHF from the same machine, each using different environment variables… fingers crossed to see if it works!

If it does work I’d be interested in joining the production network for a few days while I try to get the RPi3+RTL-SDRs configured.

While migrating to running satnogs on RPi3’s with RTL-SDRs, I’m getting errors when connecting to the socket on port 4533

2017-08-09 15:21:20,018 - apscheduler.executors.default - INFO - Running job "spawn_observer (trigger: date[2017-08-09 15:21:20 UTC], next run at: 2017-08-09 15:21:20 UTC)" (scheduled at 2017-08-09 15:21:20+00:00)
2017-08-09 15:21:20,045 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:4533
2017-08-09 15:21:20,046 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:4532
2017-08-09 15:21:20,047 - satnogsclient - ERROR - Cannot connect to socket 127.0.0.1:4533
2017-08-09 15:21:20,060 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:4533
2017-08-09 15:21:20,058 - satnogsclient - DEBUG - Sending message: F 437029985

2017-08-09 15:21:20,063 - satnogsclient - ERROR - Cannot connect to socket 127.0.0.1:4533
2017-08-09 15:21:20,065 - satnogsclient - DEBUG - Sending message: p

2017-08-09 15:21:20,066 - satnogsclient - DEBUG - Received message: RPRT 0

Exception in thread Thread-5:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/home/pi/gnuradio/satnogs-client/satnogsclient/observer/worker.py", line 118, in _communicate_tracking_info
    self.send_to_socket(p, sock)
  File "/home/pi/gnuradio/satnogs-client/satnogsclient/observer/worker.py", line 149, in send_to_socket
    position = sock.send("p\n").split('\n')
  File "/home/pi/gnuradio/satnogs-client/satnogsclient/observer/commsocket.py", line 75, in send
    self.s.send(message)
error: [Errno 32] Broken pipe

2017-08-09 15:21:20,169 - satnogsclient - DEBUG - Sending message: F 437029985

2017-08-09 15:21:20,170 - satnogsclient - DEBUG - Received message: RPRT 0

Later on this error though am not sure if it is related:
satnogs_fm_demod.py: error: no such option: --decoded-data-file-path

Any ideas what may be going wrong?

Note that I was able to run satnogs_fm_demod.py manually when also running ‘nc -l -p 4532’.

Finally, scheduling jobs through the network-dev website is tedious as there is the 15 min wait between scheduling and observing. Can test jobs be scheduled from the command line?

Hey!

If you update the gr-satnogs module to the latest version you will be ok!

As for the second question, there is the manual observation option from the satnogs-client gui you could use

Unfortunately the problem persisted. It appears whatever is listening on port 4532 is not started in time, as the decoders did start when I manually started a netcat listening to that port. As soon as I kill netcat I get the error about the commsocket.

Is there a command line option for this as well? I’m running it on a raspberry pi.

That would be port 5000 (there is a web interface :wink: )