80Mhz bandwidth spectrogram on LimeSDR-mini


#1

Accelerated on the FPGA.


REQ: SBC that can handle SoapySDR Remote full b/w of limesdr-mini
#2

This is extremely cool, thanks for sharing and looking forward to trying this out!


#3

I have integrated the driver with SoapySDR-remote and added ARM support. Meaning that you can pair your Lime with Raspberry Pi 3 and monitor the 80MHz band from remote locations - datarate is 2.5MB/s.

Also, fixed some shameful bugs (like inverted spectrum) and added comparison against the floating point model. See the repo.

Have fun!


#4

gasparka i have not tried your method yet.
it would be great to see this all on fedora 64bit for pi3
fedora 64bit has native armv8 support
i read that the pi3 on 64bit O.S. with ArmV8 instructions really helps samples per second (especially over the built-in wifi)

one more thing
what is the thermal pad (thickness) you used on the limesdr-mini to bond it to the heatsink?
would it do any good to put little heatsink on the top of the limesdr mini (like the ones on a rpi3)?


#5

Hi,

The driver is ‘Dockerized’…so it should not matter whether you are running Fedora, Raspbian or Ubuntu…

Thickness of the thermal pad is ~2mm, small heatsinks probably wont cut it.


#6

Is it possible to make use of the much lager FPGA on the normal LimeSDR (40k vs 16k on the mini) for things like dual RX - this would mean 160MHz Bandwidth and from the amount of data still in the realm of USB2 and modern SBCs


#7

Probably yes. But note that both receivers use the same LO signal i.e. they have same center frequency. You will have to do external mixing to get unique bands…


#8

Hi Gasparka
I tried your spectrogram with my lime mini and it worked perfectly.

Finally, I could see a FFT natively in a lime FPGA. Thanks!!

I’m interested in understanding deeply your gateware.
Now, I have a question. I’m not a Altera expert.
I understand the FFT is performed in the IP “fft” in source/fft.
The top is called top.vhd

In which point, is the “top.vhd” introduced in lms7_trx_top.bdf?
How Can I know it?

thanks


#9

Hi nemo, good to hear that someone is using it.

This is where the ‘top’ is initialized:

So, it is inside the FT601 component on the block diagram.


#10

Oh!!! great!!
thanks, gasparka!!


#11

now that i got my lime mini working again i will be coming back to this and resting it out hopefully.
still have a few things i need to test to make sure its working as it should after i did a repair


#12

could this program be made to run at less bandwidth so we dont have to have a cooler and also could it be made so i can run it from my intel i7-4800mq laptop with built-in haswell and it also has a dedicated AMD FirePro MS100 GPU
would be nice to have versions of default cooling and then super cooling like your pics


#13

Currently it works with 80 or 40 MHz bandwidth. Should definitely work on your Intel CPU.
Supporting even lower bandwidths will require some work in FPGA, which i dont have time for atm. Maybe in the future, i made a GitHub issue to keep it in mind. Thanks.


#14

i didnt know it could work with 40 MHz bandwidth.
i got to give this a try in the near future.


#15

I am currently working on various enchantments, which i hope to complete this month.So i would suggest you to wait until then, it should become easier to use.


#16

Awesome cant wait to try it. Still need to rder some of that 2mm tape.


#17

Very cool. Does this support LimeNET Micro?


#18

Soon.


#19

Reached a milestone.

  1. Now using GQRX:
  2. Heat dissipation greatly reduced, can run safely for few minutes without heat sinks. Long-term use needs heat sink on the FPGA.
  3. Wrapper script to bootstrap the docker images, usage should be much easier now.

Better docs at https://github.com/gasparka/spectrogram.

It already works on ARM targets, but LimeNet-Micro support is work in progress.


#20

Very cool :sunglasses: