Osmosdr input range for LimeSDR

Just checking a beginner’s question - I know my gnuradio / uhd / usrp1 takes in input range of -1 to 1 for sample amplitude.

What is the range for osmosdr sink using SoapySDR? Not obvious from browsing the sink itself in python.

  • import osmosdr
  • osmosdr_sink_0 = osmosdr.sink( args=“numchan=” + str(1) + " " + “device=soapy,lime=0” )
    gr-osmosdr v0.1.4-75-gae686c46 (0.1.5git) gnuradio 3.7.10
    built-in sink types: soapy redpitaya file

Thls stackoverflow discussion says the same -1 / 1 range for osmosdr.

Hi @cswiger

It is a convention in GNU Radio that floats and complex floats are within the range -1.0 … +1.0. If I recall correctly, the gr-osmosdr block only support complex float sample type, even though SoapySDR supports different formats.

Hmmm - the gps sim I’m using, if I throw a scopesink on the flow into the osmosdr sink, shows a range of about +/- 1024, and it works fine. I Tried a mult-by-const (0.0009) then I get nothing in the receiver (not a thorough test).

Verified the samples going down the osmosdr sink when gps sim is working range around +/- 1600:

1 Like

Pretty simple test shows Alexandru is right - so I don’t know how the gps thing is even working well :slight_smile: Here’s a .1 variable amplitude / variable freq signal into an osmocom sink, over the air to a source and fft displayed:

The signal is nicely behaved and responds as expected, but crank the amplitude up to 1.1 and heck breaks out:

So scratching head over the gps simulation example.